余俊杰
摘 要:PlayStation家用電視游戲娛樂平臺,發(fā)展至今,已經經歷了幾代產品,不管是PS、PS one、PS2、PS3、還是PS4,它們標配的游戲控制器(游戲手柄)功能基本上沒有太大的改變,形狀基本也大同小異。文章內容介紹了PSX游戲控制器接口各引腳的功能、通信協(xié)議的格式及各種控制器與設備間的通信內容。
關鍵詞:PSX;游戲控制器;手柄;接口;協(xié)議
中圖分類號:TS952.83 文獻標識碼:A 文章編號:1006-8937(2015)12-0077-02
PlayStation家用電視游戲娛樂平臺,發(fā)展至今,已經經歷了幾代產品,不管是PS、PS one、PS2、PS3、還是PS4,它們標配的游戲控制器(游戲手柄)功能基本上沒有太大的改變,形狀基本也大同小異。模擬搖桿控制器除了14個功能鍵外,還有兩個的搖桿。
1 連接器的引腳排列及其功能
控制器無論是哪款,它們跟游戲機連接的接口都是一樣的。游戲控制器信號輸出的插口引腳排列如圖1所示。PSX游戲手柄控制器是一種使用同步串行總線和通信協(xié)議的智能設備。其引腳左邊起為{1}腳。
{1}為數據腳DATA,信號從控制器到設備(游戲主機)。
是一個8 bit的串行數據,在CLOCK下降沿同步傳送(輸入輸出信號在時鐘信號的由高到低時變化,所有信號的讀取在時鐘前沿到電平變化之前完成)。
②CMD指令腳,信號從設備到控制器。
和DATA相對應,同樣是一個8 bit的串行數據,在CLOCK下降沿同步傳送。
③+7.6 V震動電機驅動電源,接9 V也可以工作。
④GND電源地,或稱公共極。
⑤VCC電源正極,電壓范圍可以從3~5 V,原裝游戲控制器是3.3 V供電,高仿控制器大多數是5 V供電工作,一般使用3.3 V電壓即可。另外設備主板上有一個貼片的750 mA自恢復熔斷器,用于防止過載(750 mA含兩只手柄和存儲卡)。
⑥ATT請求信號,用于提供控制器觸發(fā)信號。在傳輸數據、命令期間處于低電平。
⑦CLOCK時鐘腳,信號從設備到控制器。用于保證數據同步傳輸。
⑧NC空腳,不連接。
ACK應答腳,信號從控制器到設備,在每個8 bits數據發(fā)送后,至少保持一個時鐘周期的低電平,并且ATT一直保持低電平。假如ACK信號約有60 us不出低電平,主機就會查詢另一個外設。
2 PSX控制器信號
2.1 控制器的時序
PSX游戲控制器通信的時序圖如圖2所示,所有的信號傳輸都以8位串行低位先出的方式進行。設備端在時鐘線CLK發(fā)出500 kHz的信號。數據線DATA的電平在時鐘線CLOCK的下降沿由發(fā)送端決定,數據的接收則在時鐘線CLOCK的上升沿由接收端接收讀取,以保證有足夠的時間讓DATA的信號穩(wěn)定。在被選中的控制器接收到每個CMD信號之后,控制器需要在最后一個時鐘周期拉低應答線ACK的電平進行應答。如果沒有應答,主機將認為沒有手柄接入。
2.2 通信協(xié)議的格式
當PSX主機想要讀取一個控制器的信息時,首先會拉低請求線ATT的電平并在命令線CMD發(fā)出一個開始命令0x01。
控制器會通過數據線DATA回復它的ID,ID有幾種,分別代表不同的控制器:
0x41表示數字模式的控制器;
0x23表示NegCon控制器專用模式;
0x73表示模擬控制器紅燈模式;
0x53表示模擬控制器綠燈模式;
0x12表示PSX鼠標。
在控制器發(fā)送ID字節(jié)的同時PSX主機通過命令線傳送命令0x42請求數據。隨后進入空閑,控制器DATA線送出0x5A,表示開始傳送數據。
時序圖如圖3所示,前三個字節(jié)的初始化控制器命令之后,緊接著發(fā)送所有數據字節(jié)。在實際上,數字控制器的初始化,只有兩個字節(jié),并在最后一個數據字節(jié)之后的ATT線是高電平,控制器無需作ACK應答。
2.3 協(xié)議的內容
各種控制器對外發(fā)送的字節(jié)數據見表1,控制器的按鍵都是以低電平觸發(fā)的。
3 結 語
游戲控制器是一款普通的游戲機手柄,加以開發(fā)利用可以使它在其他方面得以發(fā)光發(fā)亮,它將不僅僅只是一款游戲手柄。
參考文獻:
[1] 談笑天.變電站自動化系統(tǒng)遠動通信模式探討[J].中小企業(yè)管理與科技,2009,(25).