2012/05/03

FeliCa Plugでできそうなこと (FB転送)

「できそうなこと」という妙な表現になったが、それは試していないからだ。
FeliCa Plugのユーザーズマニュアルを読んで、FB転送というものでできそうなことを書いておこう。


FeliCa Plugでできる転送方法は、2種類ある。

  • FeliCa Through転送(FT転送)
  • FeliCa Buffering転送(FB転送)

今まで試したのは、FT転送。
これは、普通のFeliCa Liteにやるようなアクセスができる。
この「アクセスができる」は、リーダライタ側の話だ。

 

それに対して、FB転送はそうではない。
リーダライタ側は、Write Without Encryption→Read Without Encryptionの順でしかアクセスできないようになっている。

そのような制約の何がいいのかというと、これによって機器側の「FeliCaプロトコル時間制約」がほぼなくなるのだ。
私はお遊びでしかFeliCaのソフトを作っていないので気にしてなかったけれども、プロトコルに時間の制約が存在するのだ。
○○時間以内に応答を返さないといけないとか、そんなの。

FB転送すると、こうなるらしい。

  1. [RW側]Write Without Encryptionを送信
  2. [FP側]受信データをRAMに溜め、とりあえずRWに返信
  3. [FP側]FeliCa Plugはデータ受信をHostマイコンに通知
  4. [FP側]HostマイコンはSPIでRAMから受信データを吸い込む
  5. [FP側]HostマイコンはSPIでRAMへ送信データを書き込む
  6. [FP側]Hostマイコンは送信データ転送完了をFeliCa Plugへ通知
  7. [RW側]Read Without Encryptionを送信
  8. [FP側]RAMデータから送信データを作ってRWに返信

上記の3~6の間、FeliCa Plugはリーダライタに応答しないらしい。
しかし、どんなに時間が経っていたとしても、7で返信できるように見える。

Read w/o Enc時、IDmが一致していればRAMに入っているデータを指定したブロック数だけ転送してくれるようだ。
(RAM転送前は不定な値が取得される、とある。)

RAMがどのくらい保持しているかはまだ読み切れていないが、おそらくFeliCa Plugを眠らせるまで(SW=Hを維持している間)だろう。


こんな使い方ができるかもしれん。

 

伝言板(制限付き)

  • 書き込みたい人は、Write w/o Encで書き込める(ただし、1件しか書き込めない)
  • 読み込みたい人は、Read w/o Encで読み込める。
    次の人が書き込むまでは同じ内容が読み取れる。

制限ありすぎ・・・。

実装側の利点としては、Write w/o Enc後にRAMへデータを転送するとき以外はHostマイコンを眠らせておいてもよいということ。
FeliCa Plugがデータをバッファリングしてくれているので、Host側はRead w/o Encに関与しなくても済むのだ(たぶん)。

FeliCa Plugが起きているときの消費電流は、最大で1.0mA~1.2mAくらい。
あまり調べてないけど、ここまで小さくするのはマイコンでは無理そうな気がする。

 

FT転送で同じことをやろうとしたら、どうなるだろうか?
Write w/o EncでEEPROMみたいなものにデータを保存し、Read w/o Encでそのデータを返す。
搬送波検知まではHostマイコンもFeliCa Plugも寝ていられるので、実はそっちの方が消費電力が小さく済むような気がした(FeliCa Plugが寝ると、0.1uA~1.0uA)。

Write w/o Encする回数が極端に少なく、Read w/o Encする回数が非常に多いのであれば、つまりRF通信による読み込み時間が圧倒的に長いのであれば、上記のような使い方はできなくもないのかもしれない。

でも、mAとuAって単位が違うくらいだから、素直にFT転送を使った方がよさそうな気はする。


やはりここは、Write w/o EncとRead w/o Encの間に時間が空くようなシステムで使うべきなのだろうか。
いくつか考えてみたけど、データ交換する目的ならば、プロトコルを作ってしまってFT転送でやりとり、ということもできるはず。

Read w/o Encが来るまでの間はどんなに短時間でもHostマイコンを眠らせてできるだけ消費電力を抑えたい、というときに使えばいいのかな。

他の人の例が見たいものだ。

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。