PS無線リモコンのDATAをマイコンで受信してみました。 3時間ほどタイミングではまってしまいましたが、タイミングを調整したらリモコンの全データーが読めるようになりました。 CPUのポートをパタパタやって通信するクロック同期シリアル通信です。 リモコンのSWと2つのアナログジョイスチックが読めたので、色々と応用が利きそうです。 やはり、価格が4,000円ちょっとというのが魅力ですね。 Logicool LPGC-60000 実験回路図PDF
■私的メモ ・ACKは無視する、あまり意味が無い。 最終BYTE送信でACKがかえらないので扱いにくい。 ・9BYTE 1パケット。 いきなりREAD DATAでOK。 SET CONFIG省略。 READ DATA 01 42 00 00 00 00 00 00 00 ・READ DATAの間隔は、16ms以上あける。(重要) ・SEL下げて、初めのCLK下げるまで2usくらい待つ。(重要) ・1パケット9BYTE続けて送るとき(CMD)、各BYTEの間隔を40us以上あける。(重要) ・今回CLKは6us、ちなみにCLK1usでは動作が不安定。 ・CLK 立下りでCMD、立ち上がりでDATA ■ポートパタパタのソフト
;=============================== ; TXSPI ;===============================
TXSPI: MOV R7, TX_DATA MOV R6, #0 MOV SPI_CNT, #8
SETB S_CLK ;CLK 1
TS1: MOV A, R7 RRC A MOV R7, A MOV S_CMD, C ;CMD OUT CALL NOP32 ;NOP32個 CLR S_CLK ;CLK 0
CALL NOP32 CALL NOP32
SETB S_CLK ;CLK 1 CALL NOP32 MOV C, S_DAT ;DATA IN MOV A, R6 RRC A MOV R6, A
DJNZ SPI_CNT, TS1
MOV RX_DATA, R6 CALL WAITE32us ;重要 RET
|
|
|