2012/06/13

NFC-DEPをちゃんと実装してみようと思うが、めんどうになる

なんとなくめんどうなので避けていたが、そろそろNFC-DEPをちゃんと実装してみよう。
独り言だと思って聞き流しておくれ。

まず、どれに向けて実装するか。
私の場合、使える主なプラットフォームはこれらだ。
  • Windows XP 32bit
  • Linux 64bit (xubuntu)
  • Windows XP + cygwin
  • BeagleBoard
  • CQ出版社の付録基板
NFC-DEPの手先(?)となるのは、うちではNFC R/Wしかいない。
  • PaSoRi RC-S370 (黒パソリ)
  • RC-S620/S
PaSoRiはUSBだが、特にドライバがなくても慣れればアクセスできる。
AndroidのUSB Host機能からも使えたし、もちろんWindowsやLinuxからもできた。試してないけど、LPC2388もできそうな感触だ。
RC-S620/Sはいろいろできていいのだけど、UARTだからなんとなくめんどくさく感じてしまう。
個人的には、SPIくらいが好きなのだが、次製品はI2Cになるらしい。よく知らんが、ArduinoとかってI2Cポートがあるのかいな(ソフトI2Cか?)。
きっとR/WがI2Cスレーブになるだろうから、ホスト側がマスタになればいいんだけど、ACKがしばらく返ってこないようなコマンドはどう動くんだろう? ACKビットをホールドしたままにするのかいな。
まあ、ここはそこまで悩まなくてもいいだろう。


NFC-DEPに関して、R/Wの動作はできているので、インターフェースに落とすだけだ。
だけなのだが、そこが決め切らんところなのだ。

今のところ、NFC-DEPを使うのはNFC-AかNFC-F。
ここで、大きく選択が分かれる。
  • 106kbps通信
  • 212kbps通信
  • 424kbps通信
また、通信の関係もある。
  • Active communication mode
  • Passive communication mode
Initiatorの無線にTargetが載っかるPassiveモードか、お互いが無線を出し合うActiveモードか。
決める主導権は、Initiatorにある。
TargetはInitiatorを待ち、お互いの求めるものが一致すればNFC-DEPを始められるし、一致しなければTargetが無視するだけである。
この部分、アプリに全部お任せして、ミドル部分はいわれた通りに動くだけ、というのもいいだろう。
しかし、ただでさえわかりにくいDEPの部分をユーザに開放してしまうと、うまくつながらないということになるのは想像に難くない。
ある程度、使い道を限定した方がやりやすくなるんじゃないだろうか?

そこまで考えて、はたと手が止まった。
私はNFCのデータ交換の現実について詳しくない、という事実に気付いたのだ。
どうしたもんかねぇ。

0 件のコメント:

コメントを投稿

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