2013年5月23日木曜日

EPCの謎に迫る2


Gen2のUHFパッシブタグのEPCの値は通常は96bit(12byte)なんですが変更も可能です。
EPCメモリバンクの構造は次のようになってます。

 CRC(チェックサム)2byte | PC(Protocol Control) 2byte | EPCの値 12byte(通常は)

EPCの値の前にPCという値があって、じつはこのPCの先頭5bitが後に続くEPCの値の長さになっています。正確にはワード単位の長さです。5bitなので、2進数で(00000)~(11111)までで10進数でいうと0~31までです。1ワードは2byte(16bit)ですから、0byte(0bit)~62byte(496bit)まで指定できることになります。

実際PCの部分をリーダで読むと、大概 30 00(16進数)になっています。リーダのアプリケーションによってはタグ読取時に表示するEPCの値がPCの部分からの表示になっているものもあり、「はじめの3000って何ね~」と言う人もかなりいます。3000は2進数にすると(0011 0000 0000 0000)で先頭5bitは(00110)で10進数で6になり、6ワード=12byteということで96bitになっているわけです。

496bitというと結構な量ですが本当にそんなに長くできるんでしょうか。AlienのHiggs3の仕様をみてみると、「96-EPC Bits, extensible to 480 Bits」って書いてありますので、480bitまでは拡張できるようです。

ということで実験です。
Morphicリーダに付属のアプリケーションではPCの書き換えまではできないので今回はNECのマルチリーダライタを使います。ソフトウェアは当社のMANICA EXCEL TOOL(改造版)です。この改造版はNECマルチリーダライタを使って「セルへ入力」をすると、セルへ現在のEPCの値を入力した後、右隣にあるセルの値をPC含めてEPCバンクに書込みをします。


NECマルチリーダライタです。950MHzの古いタイプです。


MANICA EXCEL TOOLを起動して、NECマルチリーダライタに設定します。

書き込みたい値をセルに入れておきます。480bit(60byte)なので、レングスは30ワードになり、PCの部分は(1111 0000 0000 0000)で、EPCの値は適当に16進数で 11 22 33 44 55 66 77 88 99 00 (これを6回繰り返し。計60byte)にします。ということでセルには


といれておきます。このセルの左のセルにフォーカスがある状態で


Higgs3のタグをリーダに乗せると(ピコッ)


セルに現在のEPCの値が入りました。

で、書き換えできたんでしょうか。Morphicで読んでみると


はみ出してて見えません(笑

実はMorphicもMANICA EXCEL TOOLに接続できます(便利ですね!)。


設定を追加して


Morphic側のMANICA EXCEL TOOLを起動し、読み込んでみると(ピッ)


確かに書込みできています!
こんなに長い値が書込みできるなんて、なんて開発者泣かせの迷惑便利なんでしょうか!
ちなみに496bitも試してみると何と書けました(笑)。仕様は480bitまでとなってるのであんまりやらない方がいいかもしれません。

拡張できることはわかりました。では縮小はどうでしょうか?


1ワード(2byte, 16bit)にしてみます。


できました。
ここで疑問が。いっそのこと0ワードってできるんでしょうか?

やってみます。


できました(笑)。ステルスタグとでも呼びますか。どうやって戻すんだろう(笑)

0 件のコメント:

コメントを投稿