UHF帯ICタグのメモリ仕様紹介

RFIDタグ

Vol.210 2022年11月号

UHF帯RFIDは多くの現場で活用されていますが、RFIDはリーダライタともう一つ、ICタグからなるシステムです。ICタグ側も複雑な機能をもった精密な部品です。今回はICタグのメモリの細かいところについてご紹介します。

UHF帯ICタグ

UHF帯のICタグは、規格としてはISO/IEC18000-63, EPC Global C1G2のものがほとんどです。ICタグは図1のようなICチップとアンテナなどからできています。キーとなるのはICチップです。

ICタグ ラベルの構成イメージ

そのICチップのメモリ構造は図2のようになっており、大きく4つにわかれています。4つのうち、Bank11「USER」は必須ではなく、USERメモリを持っていないICチップが多くありますが、それ以外の3つのメモリは必ずあります。次項からは、あまり知られていない細かい部分や、メーカー、ICチップ毎の細かい独自仕様など紹介していきます。

ICチップメモリ構造

PCブロック

EPCバンクの2ブロック目にあるのが「PC(Protocol Coontrol)ブロック」です。この2バイト(16bit)にはいくつかのシステム情報が含まれています。

メモリ長 合計16bit51118
項 目①Length②UMI③XPC④Toggle⑤RFU/AFI
表1 PCのメモリ構造

①Length

 Inventoryで取得できるICタグのEPCの長さを表します。例として、いくつか下記にあげます(以下の例、以外にも指定できます)。5ビットで表される値に16bitを掛け算したものが、そのICタグのEPC長さです。この長さはInventoryで取得できる長さであって、実際のEPCバンクのメモリ量はそれ以上ということになります。
“00000”:長さ0bit
“00100”:長さ64bit
“00110”:長さ96bit
“01000”:長さ128bit
“11111”:長さ496bit ※これが最長です
もちろんICチップのEPCバンクに搭載されているメモリ量を超えるような長さにはできません。最近は多くのICチップが最大128bitですので”01000”までになります。

②UMI

 USERメモリ有無を示します。
 0 : なし 1 :あり
※ICチップによって挙動が変わります

XPC

 XPCといわれる拡張PCの有無を示します。
 0:なし 1:あり

④Toggle

 EPCのデータのフォーマットがEPC Global準拠か、非EPC Global準拠かを示します。
 0:EPC Global
この後の⑤の8bitはRFUとしてすべて0
 1:非EPC Global
ISO等の方式を示し、その場合このあとの⑤の8bitはISO/IEC15962のAFIを設定します。
 なお、④ Toggleとその後の⑤RFU/AFIは多くの場合、エンコードされていない工場出荷状態ではすべて0の状態で出荷されています。
 また②と③は、ICチップの中で状態を示すインジケーターのbitであるため、書き込み時に0/1どちらで書いてもエラーになりませんが、値は書きこんだ通りにはならないことが多く、ここはICチップの仕様で挙動が異なります。
 実際のICタグをInventoryしてPCブロックをみてみましょう。例えば、NXP社のUcode8とUcode8mは以下のようになります。

チップ16進数2進数
Ucode8300000 1 1 0 0 0 0 00000000
Ucode8m340000 1 1 0 1 0 0 00000000

Ucode8mはEPCが最長96bitでUserメモリを持っているICチップです。ですので5bit目のUMIが1になります。初期状態で”3400”のUcode8mのICタグがあったとして、そのPCブロックに対してリーダライタを使って”2000”に書き換えを実行したとしましょう。このICタグをInventoryしてみると、PCは”2400“となったEPC長64ビットのデータが取得できます。EPCのLengthは書き換えできていますので96bitだったEPCが、64bitになっているのですが、UMIは書き換えできず、PCをみてみると”2400”となっているいるわけです。

TIDバンクの内容(manufacturer identification, model number)

 現在、普及しているICチップのTIDバンクの初めの8bitはEPCglobal Class IDである”E2(16進数)”です。それに続く12bitがメーカーのコードであり(使い方はメーカーによって異なります)、それに続く12ビットがICチップのモデルナンバーです。ですので、TIDバンクをみれば、どこのどんなチップなのかわかります。詳しくは各チップの仕様書を参照してください。簡単に例として、Impinj社のM730の場合を見てみましょう。

Bit数位置内容
800h~07hEPCglobal Class ID
“: E2(16進数)”
108hXTIDインジケータ:1
109hSecurithyインジケータ:0
10AhFileインジケータ:0
9 0Bh~13hMDID:””000000001”
1214h~1Fhモデルナンバー:”191(16進数)”
※08,09,0Ahの詳細な説明は割愛します

 上記をまとめるとM730のTIDの初めの32ビット(4バイト)は“E2801191”となります。M730を使用したICタグが工場出荷時にあらかじめEPCに書き込みされている初期値データのはじめの4バイトはこれになります。他のICチップも多く場合、出荷時のEPC初期値にモデルナンバーが含まれています。

規格の進化と各メーカーの独自な拡張

ICチップはEPCGlobalやISO/IEC規格で仕様がさだめられていますが、規格自体が進化を遂げており、従来はなかった機能が追加されていきますし、さらにメーカー各社はさまざま独自拡張を施しており、EPCバンクやTIDバンクにちょっと特殊な目新しい機能を持ったメモリ部分が用意されていることもあります。例えばTIDバンクのシリアル番号部分は通常30h~5Fhの48ビットであり、従来のmonza6PやNXP社のICチップなどは同じ場所にあり、Impinj社 M730の場合も同じ場所に存在します。ただM730の場合は、従来はなかった部分が、その後ろに追加されています。TIDの80h~8Fh部分がICタグのステータス状態のフラグを示すようになっており、セッションA/BやSLフラグ状態がわかるようになっています。 NXP社のICチップの多くには昔からEPCバンクの中に通常のIDを格納するのとは別な領域があり、そこに「PSF Flag」と呼ばれるbitがあります。これは0/1書き換えることができ、ごく簡易なEAS(万引き防止システム)に活用することができます。※EPCバンクをロックするとPSF Flagも書き換えできなくなるので活用には注意が必要です。

おわりに

 ICタグでよくいろんなご質問をいただくのですが、「このICタグのチップはなに?」というのもよくいただく質問です。ICタグによってはインレイにICタグ自体の型式が書いてあり、そこから調べることもできますが、いつも見えるわけではありません。本稿でご紹介したようにリーダライタでTIDを読み取ればどのICチップなのかを調べることができます。 日進月歩な半導体の世界ですので、バージョンが進むたびに新しい仕様、新しい命令が追加され、できることが増えていきます。当社も定期的に皆様に新しい技術をご紹介して、業務改善、DXのお役に立ちたいと考えております。

UHF帯RFIDゲートタイプ一括読取装置
運用に合わせて選べるUHF帯RFIDハンディリーダライタ
RFID持ち出し管理システム『MCHDS(モチダス)』

製造業DX推進カタログ

RFID/バーコード/画像処理で工場内の状況を可視化

RFID/バーコード/画像処理で、工場内でのモノと人の動きをリアルタイムでデータ化し、製造業DXを加速させる機器・システムを工程毎に紹介しております。是非ダウンロードしてご覧ください。

  • 画像処理で目視による検査判別を自動化
  • ICカードタッチパネル端末で実績登録
  • 制御PC不要で動作するRFIDリーダライタ
  • 誤投入防止と生産実績収集
  • UHFフォークで荷物とロケーション情報の登録を自動化 
  • トラック入退場管理   
  • RFID一括入荷検品
  • Android端末でモバイル検品
  • バーコードが無い荷物をOCRで検品&バーコードラベルを発行して個体管理 …他 掲載