目录
- 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 是两个字节的数据比特)。 本文章更多内容:1 - 2 - 下一页 |