建议大家使用非日产的游戏设备,谢谢!
Playstation 手柄针脚输出
PS手柄信号
PS手柄数据
用74XX逻辑电路仿真PS手柄
用微处理器仿真PS手柄
PS手柄针脚输出
面对插头
-------------------------------
PIN 1->| o o o | o o o | o o o |
\_____________________________/
针脚 # 作用
DATA
COMMAND
N/C (9 Volts unused)
GND
VCC
ATT
CLOCK
N/C
ACK
DATA
信号流向从手柄到主机。
此信号是一个8 bit的串行数据,同步传送于时钟下降沿(输入输出信号在时钟信号由高到低时变化,所有信号的读取在时
钟前沿到电平变化之前完成。)
COMMAND
信号流向从主机到手柄。
此信号和DATA相对,同样是一个8 bit的串行数据,同步传送于时钟下降沿。
VCC
电源电压从5V到3V原装的索尼手柄都可以工作。
主机主板上装有表面安装的750mA 保险丝 ,用于防止外设过载(750mA是包括左右手柄和记忆卡)。
ATT
ATT 用于提供手柄触发信号。
信号在通信期间处于低电平。又有人将此针脚叫做 Select, DTR 和 Command。
CLOCK
信号流向从主机到手柄。
用于保持数据同步。
ACK
从手柄到主机的应答信号。
此信号在每个8 bits数据发送之后的最后一个时钟周期变低,并且ATT 一直保低电平。如果ACK 信号不变低约60微秒PS主
机会试另一个外设。
PS手柄信号
所有通讯都是8 bit串行数据最低有效位先行。在PS 手柄总线的所有时码在时钟下降沿都是同步的。传送一个字节的情况
如下所示。
|BIT 0|BIT 1|BIT 2|BIT 3|BIT 4|BIT 5|BIT 6|BIT 7|
CLOCK -----___---___---___---___---___---___---___---___-----------
DATA -----000000111111222222333333444444555555666666777777--------
* * * * * * * *
CMND -----000000111111222222333333444444555555666666777777--------
ACK ----------------------------------------------------------__-
数据线的逻辑电平在时钟下降沿驱动下触发改变。数据的接收读取在时钟的前沿(在记号*处)到电平变化之前完成。 在
被选手柄接收每个COMMAND 信号之后,手柄需拉低ACK 电平在最后一个时钟。如果被选手柄没ACK 应答主机将假定没手柄
接入。
当PS主机想读一个手柄的数据时,将会拉低ATT 线电平并发出一个开始命令 (0x01)。手柄将会回复它的ID (0x41=数字,
0x23=NegCon, 0x73=模拟红灯, 0x53=模拟绿灯). 在手柄发送ID 字节的同时主机将传送0x42 请求数据。随后命令线将空
闲和手柄送出 0x5A 意思说:“数据来了”。
下面是一个数字手柄的时钟信号
ATT -______________________________________________________________
| Byte 1 | | Byte 2 | | Byte 3 |
CLOCK ---_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_-----
0xFF 0x41 0x5A
DATA -------------------------__________--__----__--__----__--__----
0x01 0x42
CMND -----_____________-----__--________--__------------------------
ACK --------------------__-------------------__-----------------__-
在手柄执行初始化命令之后将发送它所有的数据字节(数字手柄只有两个字节)。在最后字节发送之后使ATT 高电平,手
柄无需ACK应答。
数字手柄的数据传送如下所示(这里A0,A1,A2...B6,B7 是两个字节的数据比特)。
ATT _______________________________________-------
| Byte 4 | | Byte 5 |
CLOCK ---_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_--------
DATA ---D0D1D2D3D4D5D6D7----E0E1E2E3E4E5E6E7-------
CMND ----------------------------------------------
***
ACK --------------------__------------------------
注意: 没ACK.