2011/04/10

[falp]1回の転送サイズは何バイトか?

さて、FALPで1回に転送できるデータサイズは何バイトだろうか?

ここで言うFALPは、0xbcコマンドだ。
FeliCaコマンドには拡張形式もあるが、使われているのを見たことはない。
仕様としてはあるけど、対応しているチップはあるのかな?

それはさておき、0xbcだ。
ツールで長めのデータを送信して確認した。
FeliCaコマンド0xa0の送信データ長が0xffまでだった。

RC-S620/S FeliCa cmd FALP cmd データ RC-S620/S

「FALP cmd」と「データ」で0xffというところ。
細かいフォーマットは気にしないでおくれ。
とにかく、この辺りが0xffで制限される。


では、実際にどのくらいのデータが入れられるのかを考えておこう。
FALPのプロトコル仕様が出ていないので、データから推測だ。

たぶん、OBEXのPUTからデータ部だろう。
0xffはデータ長の1byteも含んでいるので、シーケンス番号まで引いて246byte。
DEPに比べると、少ないような多いような。
まあ、そんなに比較しても仕方がないか。

もちろん、OBEXというものも含めて考えると、使えるパケットはもっと減る。
1回目はPUTコマンドのヘッダがあるので、減ってしまう。
vNote形式の場合、そのタグの分も考えなくてはならない。
私の場合、2パケット以上で送信するなら、1回目のパケットは82byteだけ自由に使える。
vNoteの終わりにもタグがあるので、2回目移行のパケットは26byte減る。
つまり、1パケットだけで送信するなら、自由に使えるのは56byteということになる。


このときのパケットをRC-S620/Sの層から見直してみた。

ああ・・・Extendedフレームが使われている。
実際にあるのか?とか書いていたが、ここで使われていたのだ。

これを使っても265byteまでしか送れないので、FALPとかになったらもういいんじゃないか?という気もする。

0 件のコメント:

コメントを投稿

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

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