FeliCaとFeliCa Liteの違い

nfc-FeliCaを使用してFeliCaデバイスへの書き込みができるのは分かったが、FeliCa Liteで失敗するのはなぜだろう。ということで調べてみた。 勉強不足な自分が悪いのだが、FeliCa LiteはFeliCaと互換性がありながら、その仕様は結構な差異があることが分かった。

ファイルシステム

FeliCaの「エリア」及びエリアとサービスの階層構造の概念はFeliCa Liteには無い。
FeliCa Liteでアクセスできるデータブロックも最初から固定で決められている。そのうち、ユーザに開放されているのはブロック番号00h〜0dhの「スクラッチパッド領域 : S_PAD」と呼ばれている領域のみ。
FeliCaの「サービス」はFeliCa Liteでは固定で決められており、FeliCaで言うところの

    • ランダムアクセス:リード/ライトアクセス(0009h)
    • ランダムアクセス:リードオンリーアクセス(000bh)

これらの二つだけである。
FeliCaのシステム及び分割の概念はFeliCa Liteには無いため、FeliCa Liteで使用するシステムコードは884bh固定となる。

コマンド

FeliCaコマンドのうち、FeliCa Liteは以下のコマンドしか実装されていない

    • Polling
    • Read Without Encryption
    • Write Without Encryption

ということで数日前の日記で「使用できるサービスコードを調べて」と書いたが、そもそも調べる術が無いので無意味である。


これだけ違うとやはりクラスの設計をやり直す必要あるだろう。簡単に済むはずだったクラス構成の見直しには時間がかかりそうだ。