NFC 介紹

NFC(Near Field Communication)是一種短距離的高頻無線通訊技術,允許電子裝置之間進行非接觸式點對點資料傳輸,在10 cm 內交換資料。

在NFC裡面,分為兩種角色:

  • NFC Reader:

NFC Reader通常是需要持續供電的電子裝置,它會主動發出訊號給NFC Tag。NFC Reader可以模擬成NFC Tag的角色。

日常生活中的NFC Reader包括:中高階智慧型手機、悠遊卡讀卡機。

  • NFC Tag:

NFC Tag通常是不需供電的電子裝置,它藉由NFC Reader發出的訊號,在NFC Tag的天線上產生感應電流,利用此電流做資料處理與回應。

日常生活中的NFC Tag包括:悠遊卡、debit感應金融卡。

 

NFC Tag又分成許多種類:

  • NFC Forum Type 1: 支援讀或讀寫,以及寫入保護。Memory介於96 bytes到2K bytes,傳輸速度為106 kbits/sec
  • NFC Forum Type 2: 支援讀或讀寫,以及寫入保護。Memory介於48 bytes到2K bytes,傳輸速度為106 kbit/sec
  • NFC Forum Type 3: 支援讀或讀寫,以及寫入保護。Memory上限為1M bytes,傳輸速度為212 kbit/sec
  • NFC Forum Type 4: 支援讀或讀寫,以及寫入保護。Memory上限為32K bytes,傳輸速度為106 kbit/sec
  • Mifare Classic: 這種NFC Tag不是NFC Forum制定的種類,但在日常生活中很常見。

 

Ameba提供的NFC相容於NFC Forum Type 2,行為可以參考NXP 203F NFC Tag。可使用的Memory為136 bytes,其中前16 bytes為NFC Tag Header,後面的120 bytes可以放資料。Ameba的NFC Tag是模擬出來的,所以有些需要複雜運算的地方可以在Ameba上處理,再更新到NFC Tag上。另外因為Ameba的NFC Tag是模擬出來的,所以需要供電給Ameba才會使NFC Tag生效。Ameba斷電的時候並無法使用NFC。

 

資料格式如下圖:

1

其中需要注意的地方為UID。為了識別不同的NFC裝置,每張NFC TAG都有自己的UID,長度為7 bytes,其中第一個byte用來識別製造商。

為了交換資料,其中的資料格式如下圖:

2

 

其中NDEF (NFC Data Exchange Format)為通用的NFC資料格式。舉例來說,當手機嘗試感應NFC Tag,可以讀到裡面的NDEF資料,並做適當的處理。

 

NXP 203F的資料格式可以參考這份文件:

http://www.nxp.com/documents/data_sheet/NTAG203F.pdf

一般的NFC Forum Type 2資料格式可以參考這份文件:

http://apps4android.org/nfc-specifications/NFCForum-TS-Type-2-Tag_1.1.pdf

NDEF的格式可以參考這份文件:

http://www.eet-china.com/ARTICLES/2006AUG/PDF/NFCForum-TS-NDEF.pdf