2012/04/28

[felicaplug]MISOとMOSIは直結したらだめだったので、MOSIをHiZにした

FeliCa Plugのドキュメントを見ながらやっている。
まずはデータ受信だ。
SPICLKを出せばいいらしいので、やってみた。

image

あれ・・・DATAが0のままだ。
IRQは、最初のSPICLKでLOになると書いてあるので、この動きは正しい。
しかしDATAが0というのはおかしい。
一瞬、受信データがないのでは、と思ったが、IRQはデータ受信要求なので、ないことはないのだ。

ということは、データがうまく読めてないということか。。。

 

まさか、MOSIとMISOを接続しているから、MOSIの影響を受けているのでは。。。。
受信したいときはMOSIをハイインピーダンスにできればいいのだが、そんなことできるのか?

うーん、うーん・・・。


できるようだ。

PINSEL1を変更してMOSIだけをGPIOに戻し、PINMODE1でHiZにしてやるとよさそうだ。

image

いやあ、あせったあせった。

さて、Host側はSPICLKの立ち上がりで読めばいいらしい。
ロジアナ波形を目視しよう。

06 01 80 82

おお、それっぽい。
Read Without Encryptionで、ブロック数1,ブロックリストは8082。
ブロック番号0x82を読みにきているということか。
システムコードで0x12FCを返しているので、きっとFeliCa Liteだと思っているのだろう。
FeliCa Liteのブロック番号0x82はIDブロックで、IDd、DFCなどが入っている。
うん、データ的にも正しそうだ。

 

では、LPC2388がそういうデータと思ってくれているかUARTに掃き出させてみよう。

9F F0

・・・なんじゃこりゃ・・・・・。
UART処理を手抜きしているので、データは正しいのにUARTが失敗しているだけなのかもしれない、という可能性が捨てられない。
ああ、デバッガがほしい。。。

 

あ、受信バッファの初期化をしていなかった。
もう一度。

06 01 80 82

やれやれだぜ・・・。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。