NFC

読み:エンエフスィー
外語:NFC: Near Field Communication 英語
品詞:商品名

13.56MHz帯の電波を使った、RFID用の近距離無線通信の標準規格。

目次

NXPセミコンダクターズ社(旧フィリップスセミコンダクターズ社)とソニーにより、MIFAREとFeliCaそれぞれの上位互換の規格として共同開発された。

MIFARE・FeliCaと同じ13.56MHz帯の電波を用いて、最大10cmの距離で、最大424kbpsの速度で通信が可能となっている。

規格

規格は、NFCIP(NFC Interface Protocol)として規格化されている。

用途

NFCIP-2までで、次に対応する。大きく、RFID関連規格と、データ通信に分けられている。

利点

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
  • 物理層

階層構造

製品によって異なるが、ある製品では、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フォーラム仕様では、次の三種類のモードを定義している。

  • 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カードを次のように分類している。

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が存在しない。

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で、各々へのアクセスが提供される。

ここで提供される以下の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 である。

関連するリンク
http://www.nfc-world.com/
用語の所属
近距離無線通信
関連する用語
RFID

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club