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