NFC
読み:エンエフスィー
外語:NFC: Near Field Communication
13.56MHz帯の電波を使った、
RFID
用の
近距離無線通信
の標準規格。
目次
概要
特徴
規格
用途
利点
技術
プロトコル
階層構造
LLC
NFCフォーラム仕様
モード
種類
NFCフォーラムタグ
Android仕様
API
カードエミュレーションモード
概要
NXPセミコンダクターズ社(旧フィリップスセミコンダクターズ社)とソニーにより、MIFAREとFeliCaそれぞれの上位互換の規格として共同開発された。
MIFARE・FeliCaと同じ13.56MHz帯の電波を用いて、最大10cmの距離で、最大424kbpsの速度で通信が可能となっている。
特徴
規格
規格は、NFCIP(NFC Interface Protocol)として規格化されている。
NFCIP-1
(ISO/IEC 18092、ECMA-340、ETSI TS 102 190)
ISO/IEC 14443 Type A
(
MIFARE
)
FeliCa
NFCIP-2
(ISO/IEC 21481、ECMA-352) NFCIP-1の上位互換の拡張
ISO/IEC 14443 Type B
ISO/IEC 15693
NFC RF Test Methods (ECMA-356)
NFC Protocol Test Methods (ECMA-362)
用途
NFCIP-2までで、次に対応する。大きく、RFID関連規格と、データ通信に分けられている。
NFC(Near Field Communication)
RFID関連規格
ISO/IEC 14443 Type A
(
MIFARE
) ‐
taspo
など
ISO/IEC 14443 Type B
‐
運転免許証
、
住基カード
など
FeliCa
‐
Suica
、
PASMO
など
ISO/IEC 15693
‐ RFID
データ通信
Bluetooth
Wi-Fi
Wireless USB
P2P
利点
MIFARE、FeliCaそれぞれと互換性があり、それらと通信(リード・ライト)することが可能。
また、NFCモジュール同士での通信も可能であり、単なるICカード以上に幅広い用途が想定されている。
例えば、
東芝
は「NFC搭載SDHCメモリーカード」を2015(平成27)年2月より発売した。スマートフォンなどで中身をプレビューするアプリも無料で公開されている。NFCで通信することで、中身を確認するためにデジカメやパソコンなどを使用する手間が省けることが利点とされている。
技術
プロトコル
NFCのプロセッサーは、チップセットやCPUなどHOSTに接続して使われる。そのために、それなりのプロトコルが用いられている。
各層で使われる通信プロトコルは次のとおりである。
データリンク層
HCI (Host Controller Interface) ‐ ETSI TS 102 622
HDLC
(High level Data Link Control) ‐ ISO/IEC 13239
LLC (Logical Link Control) ‐ ETSI TS 102 613
SWP (Single Wire Protocol) ‐ ETSI TS 102 612
物理層
I〓C
階層構造
製品によって異なるが、ある製品では、HOSTとNFCで次のようなプロトコルの階層構造を用いている。
ESTI準拠
デバイス固有
HCI (ETSI TS 102 622)
HDLC
LLC (ETSI TS 102 613)
SWP(ETSI TS 102 612)
I〓C
LLC
NFCのLLC(論理リンク制御層)は、ETSI TS 102 613準拠である。次のような構造のプロトコルである。
1バイト LLC Length
1バイト LLC Header
ペイロード
1ビット CB (Chaining bit)
7ビット pID (PIPE ID)
?バイト HCI
2バイト CRC
SHDLCプロトコルのみサポートするような場合は、LLC HeaderはSHDLCコントロールフィールドと等価である。
NFCフォーラム仕様
モード
NFCフォーラム仕様では、次の三種類のモードを定義している。
Card Emulation Mode (非接触ICカードとしての動作)
Peer-to-Peer Mode (NFCデバイス同士で直接通信するモード)
Reader/Writer Mode (NFCタグ(ICタグ)を読み取るためのモード)
SuicaなどはCard Emulation Modeで動作する。これを著している時点では1枚100円程度からとなるICタグはReader/Writer Modeで動作することになる。
種類
NFCフォーラムでは、国際標準規格ISO/IEC 14443で規定される各非接触ICカードを次のように分類している。
NFC-A ‐
ISO/IEC 14443 Type A
(
MIFARE
)
NFC-B ‐
ISO/IEC 14443 Type B
NFC-F ‐ JIS X 6319-4 (
FeliCa
)
NFCIP-2ではこのほかに
ISO/IEC 15693
があり、後述するAndroidなどで対応があるが、NFCフォーラム仕様では特に規定がない。
NFCフォーラムタグ
NFCのデバイスでは、Reader/Writer Modeで次の4種類のタグが読み書きできることが必須となっている。
Type 1 Tag ‐ TOPAZ(Broadcom)
Type 2 Tag ‐ MIFARE UL(NXP)
Type 3 Tag ‐ FeliCa(Sony)
Type 4 Tag ‐ ISO/IEC 14443-4 (代表例はDESFire(NXP))
MIFAREは、MIFARE ULはあるが
MIFARE Classic
が存在しない。
Android仕様
API
Android
でも、APIレベル9(Android 2.3)から対応が始まり、APIレベル10(Android 2.3.3)から実用化された。
Androidでは各NFC技術ごとに専用のclassが用意されている。
android.nfc (APIレベル9〜)
android.nfc.cardemulation (APIレベル19〜)
android.nfc.tech (APIレベル10〜)
ここで提供される以下のclassで、各々へのアクセスが提供される。
NfcA ‐ NFCフォーラムのNFC-A、
ISO/IEC 14443 Type A
NfcB ‐ NFCフォーラムのNFC-B、
ISO/IEC 14443 Type B
NfcF ‐ NFCフォーラムのNFC-F、JIS X 6319-4
NfcV ‐ NFCフォーラムでは未定義、
ISO/IEC 15693
ここで提供される以下のclassで、各々へのアクセスが提供される。
またAndroidでは、以下のclassが存在し、各技術へのアクセス性を高めている。各々、NfcAかNfcBのいずれかの技術が使われている。
IsoDep ‐ ISO-DEP(ISO/IEC 14443-4)
Ndef ‐ NDEFフォーマット(NFC Data Exchange Format)形式のタグ
NdefFormatable ‐ NDEFフォーマット(NFC Data Exchange Format)形式可能なタグ
MifareClassic ‐
MIFARE Classic
MifareUltralight ‐ MIFARE Ultralight
例えばNDEFフォーマットされたMIFARE Classicを例にすると、バイト単位でアクセスしたいならNfcAパッケージが利用できるが、単にNDEFフォーマットを読み書きしたいだけならNdefパッケージを使った方が楽、ということになる。
カードエミュレーションモード
Androidでは、APIレベル19(Android 4.4)から公式に対応した。
パッケージ名は android.nfc.cardemulation である。
再検索