2012/05/12

[rcs620s]TgInitTarget

RC-S620/Sの簡易コマンドリファレンスが更新されて、Targetになるコマンドが公開された。

公開されたといっても、この手順はNFC-DEPとして使うためのものである。
なぜかというと、SetParametersコマンドにて自動的にATR_RESを返さない手順で書かれているからだ。
ATR_REQを受信したことを確認してからATR_RESを返しましょう、という説明になっていると思う。


では、ATR_REQ以外を受信したらどうなるか。
同じである。
ATR_REQを受信したらATR_REQがまるまるレスポンスとして返されるように、それ以外のコマンドを受信したとしたら、そのコマンドがまるまるレスポンスとして返ってくる。

 

しかし、1つ覚えておこう。
Pollingは、コマンド扱いではない、ということだ。
あれは脊髄反射的な応答をRWがするので、Hostまで返ってこない。

まあ、PollingのたびにHostへ確認が来ていたら、時間が間に合わないだろうがね。


ちなみにNXPのPN533では、TgInitAsTargetというコマンドがある。
私はこれを見ながら、NFC-DEPの実装をしていた。

主な違いは、historical byte。
何かの歴史的に残してあるパラメータらしいのだが、TgInitTargetにはこれがない。
そのため、パケットを作るときに妙な動きをしていたことがあった。
いろいろと試していって、RC-S620/SのTgInitAsTargetにはhistorical byteはない、と推測したのだった。

解析のいいところは、答え合わせして正解だったときに喜びを得ることができるというところだろうか。
まあ、答え合わせできないということの方が多いんだがね。


まあ、自分でやっていてなんだが、DEP目的以外でTargetになるのは控えた方がよいな。
李下に冠を正さず、といいますか。

やってみたらわかるけど、Targetを実装するのはかなりめんどうだ。
アトリエのどかさんも取り組まれているようだが、動かすところよりも動いてからの方で考え込まれているようだ。

 

ふはははは、悩め悩め(ひどい…)!

 

NFC QUESTの魔王は紳士的(というよりも業界人的?)なのだが、私は人が悪いので、ちゃかすくらいしかしない。

私もけっこうなおじさんなので、技術を若い人に追い抜かれるのは時間の問題だろう。
かといって、楽々と追い抜かせるのは気にくわない。

まあ、ここらへんはもうちょっと酔っぱらったら書くことにしようかね。