您的位置:首页-> 游戏资讯-> 游戏知识-> 硬软知识-> 索尼PS手柄原理分析与制作 网站地图
本类固顶文章
·手机中的游戏机-诺基亚N-Gage试用
·GBA游戏官方网页大汇集
本类推荐文章
·索尼短记忆棒水货行货识别指南
·手机中的游戏机-诺基亚N-Gage试用
·显象管CRT电视性能评价及导购
·电脑游戏术语大观(相信对电子游戏玩家也有一定的帮助)
·EPSXE的配置调试及优化指南(完整版)

本类阅读排行

·PS游戏汉化(中文版)
·EPSXE的配置调试及优化指南(完整版)
·GBA游戏官方网页大汇集
·WSC游戏中英文目录对照表
·ePSXE的设置调试优化全攻略
·游戏汉化步骤
·关于S端子的相关知识
·显象管CRT电视性能评价及导购
·RGB和色差端子等的差别
·索尼PS手柄原理分析与制作
·AV,S-VIDEO还是分量?各线材效果简介
·常见电视游戏机结构、工作原理及故障检修
·游戏机手柄改PC手柄:设置经验篇
·大型电子游戏机的原理与维修经验
·PS1手柄改装PC的资料

索尼PS手柄原理分析与制作

作者:未知 来源:游戏机信息网 加入时间:2005-2-14

目录

  • Playstation 手柄针脚输出
  • PS手柄信号
  • PS手柄数据
  • 用74XX逻辑电路仿真PS手柄
  • 用微处理器仿真PS手柄

PS手柄针脚输出

        面对插头
        -------------------------------
 PIN 1->| o  o  o | o  o  o | o  o  o |
        \_____________________________/
    
针脚 # 作用
  1. DATA
  2. COMMAND
  3. N/C (9 Volts unused)
  4. GND
  5. VCC
  6. ATT
  7. CLOCK
  8. N/C
  9. 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.
    
[第1页][第2页][第3页][第4页]