NFC技術由免接觸式射頻識別(RFID)演變而來,RFID的傳輸范圍可以達到幾米、甚至幾十米,隻能實現信息的讀取以及判定,而NFC技術則強調的是信息交互。近場通信是工作在13.56MHz頻率運行於20厘米距離內,其傳輸速度有106Kbit/秒、212Kbit/秒或者424Kbit/秒三種。
近場通信論壇定義瞭三種操作模式(PDF):
點 對點模式(P2P mode):支持兩個近場通信設備之間相互通訊,實現信息交換和文件共享。
讀卡器模式(Reader/writer mode):使近場能訊設備能從海報或者展覽信息電子標簽上讀取相關信息。
卡模式(Card emulation):近場通信設備能像智能卡一樣,允許用戶支付零售購物和交通費用。
NFC手機內置NFC芯片,組成RFID模塊的一部分,可以當作RFID無源標簽使用,用來支付費用;也可以當作RFID讀寫器用作數據交換與采集。
從應用模式上分NFC卡模擬、讀寫器、點對點三種模式。卡模擬模式通常又被稱為被讀模式,手機終端可以模擬成為一張普通的非接觸卡被POS機讀取,此模式下通常是繼承瞭現在廣泛使用的應用,例如銀行卡、門禁卡、公交卡等,以NFC手機作為載體並發揮手機在網絡、多媒體、人機交互方面的優勢,應用場景也與現有方式類似;讀寫器模式通常又被稱為主讀模式,手機終端可以讀取一張非接觸卡或者一個非接觸標簽中的內容,此模式下既可能繼承瞭現有的應用,例如將NFC手機當做POS機去讀取現有的銀行卡、公交卡,又可以是NFC最新定義的應用場景,例如利用NFC手機讀取NFC定義的標
簽中的標準數據,實現電子名片、電子海報、WIFI連接等功能;點對點模式是指兩個手機終端在近距離內通過觸碰直接傳遞數據,這是NFC定義的一種新模式,與藍牙、WIFI相比有近距離和配置簡單兩個特點,理論上可以通過簡單觸碰實現兩部手機間任何數據的交互,例如同步日程表、位置共享、名片交換等功能。
NFC原理
NFC架構及涉及的標準
手機終端的NFC功能由NFC Controller、NFC協議棧、SE、SE訪問API、SE訪問控制及AP訪問SE芯片構成,其主要功能如下:
1. NFC Controller:即NFC芯片,實現NFC卡模擬、讀寫器、點對點模式所定義的模擬、數字協議的處理;
2. NFC協議棧:配置NFC芯片工作模式並實現NFC Forum定義的各項標準;
3. SE:即安全芯片,所有涉及敏感數據、加密運算等業務(如銀行卡、公交卡)均需要單獨安全芯片處理;
4. SE訪問API:向客戶端開放訪問SE的接口,以實現餘額讀取、空中充值等功能;
5. SE訪問控制:對SE訪問進行控制和授權,保障SE安全;
6. AP訪問SE芯片:客戶端通過應用處理器訪問SE時的接口芯片,采用SE種類不同時該芯片也會有所不同,如SIM卡為SE時,此芯片即為Modem。 上述不同模塊是可以組合的,從而實現不同的NFC功能,大致可分為簡單NFC、具有SE的NFC兩種類型:
簡單NFC是指僅具有NFC Controller和NFC協議棧的NFC終端,由於不具備SE,這種終端僅能支持上篇博文中提到的NFC讀寫器和點對點功能,實現諸如名片交換、標簽讀取等與安全無關的NFC功能。由於構成簡單,且Android 2.3以上原生系統即已經實現這些功能,目前市場上多數的NFC終端都是這種簡單NFC。相比簡單NFC,具有SE的NFC終端均集成瞭單獨的安全芯片SE,除讀寫器、點對點模式外,可支持卡模擬模式引入的安全應用(如銀行卡、公交卡等),既可支持POS機上的非接觸刷卡,又可以支持客戶端對SE的訪問,實現SE中存儲的銀行卡、公交卡的餘額讀取、空中充值等功能。
毫無疑問,具有SE功能的NFC終端是目前用戶、運營商、銀行更為關註的,不同機構在推動NFC終端時,采取的SE方式也是不同,目前看SE主要有三種類型,即SIM卡、終端內置SE芯片和MicroSD卡,分別代表運營商、終端廠傢、銀行從自身在產業鏈中所處位置,及在推動NFC終端初期時很自然的反應。應該講從目前發展的情況看,運營商推動的以SIM卡為SE的NFC終端方案(即俗稱的SWP方案)發展最快最好,以運營商行業組織GSMA協會牽頭,世界上超過50傢運營商(包括中國移動、中國聯通及歐洲、美國、日韓主流運營商)宣佈支持該方案,目前全球銷售的終端近年會有持續的發展。後續將以目前最為主流的以SIM卡為SE的NFC終端方案(SWP方案)談一下NFC終端具體支持的協議。NFC-SWP終端指的是支持SWP-SIM卡的NFC終端,也即以SIM卡做為SE的NFC終端。NFC-SWP終端從架構上看分為NFC非接觸部分與SIM卡訪問接口兩部分:
NFC-SWP終端架構
(一)NFC非接觸部分
由圖1中NFC Controller、NFC協議棧及SIM卡組成,提供NFC卡模擬、讀寫器及點對點功能,其中SIM卡主要在卡模式下起到瞭一個安全模塊的作用,目前在讀寫器及點對點模式下尚未發揮作用。NFC終端不同模式下信息路由機制是不同的,在NFC終端工作在卡模擬模式時,外界POS機發送的信號會通過NFC Controller轉發到SIM卡中處理,而當NFC終端工作在讀寫器、點對點模式時,從外部卡片或手機讀取的信息將通過NFC Controller轉發到NFC協議棧解析,最終轉交給操作系統或客戶端應用程序處理。
NFC非接觸部分的技術標準及測試標準相對較為完善,主要由ISO、NFC Forum、ETSI等標準化組織完成,其中:
ISO主要負責NFC空中接口底層的模擬、數字協議,ISO定義的射頻協議已廣泛應用在公交、銀行、政府等行業
NFC Forum主要使命是定義新型的NFC設備,並保證其互通性,NFC Forum主要在ISO協議之上定義新型NFC設備之間數據交換所需的數據結構及鏈路層協議
ETSI主要負責制定NFC Controller與SE的接口規范,最初ETSI制定的接口規范僅限於SIM卡,但目前已作為一種通用的接口規范廣泛使用在其它形態的SE中。
NFC的標準相對是比較復雜的,且在不同NFC工作模式下遵循的標準是不盡相同的,以下是不同模式下應遵循的協議。
模式射頻協議中間協議(1)應用協議其它協議應用場景卡模擬模式ISO 14443無行業規定(2)ETSI 102.613(SWP)ETSI 102.622(HCI)兼容現有設備讀寫器模式ISO 14443無行業規定無兼容現有設備ISO 14443NFC Forum Tag Type 1-4NFC Forum NDEFNFC Forum RTDRTD外自定義應用協議(3)與NFC Forum設備互通點對點模式ISO 18092NFC Forum LLCPNFC Forum SNEPNFC Forum RTDRTD外自定義應用協議與NFC Forum設備互通註1:中間協議指NFC Forum設備間通信所需的鏈路層及數據格式協議註2:指由不同行業標準具體規定,不在NFC規范體系內,如PBOC、EMV等註3:NFC RTD規定瞭URI、聯系人等幾種常用的應用,這些應用已可被Android系統認知,不需要特殊的客戶端支持;同時,不同應用方也可自定義應用協議,如GPS位置共享,但這些自有的應用協議需要配套的私有客戶端軟件才能識別
從上表也可以看出,一部NFC終端不僅可以與符合NFC Forum協議的、全新的NFC Forum設備互通,也可以模擬成一個與普通非接觸IC卡相同的設備,被存量非接觸POS讀取,從而可以在用戶熟悉的現有非接觸環境中廣泛使用,減少用戶的進入門檻,這對一個新型設備初期的推廣是非常關鍵的。
(二)SIM卡訪問接口
由圖1中SE訪問API、SE訪問控制及Modem組成。手機與普通非接觸IC卡大型的不同體現在擁有網絡功能和人機交互兩部分,因此,NFC手機可以從事傳統非接觸IC所不能完成的豐富業務,如空中充值、餘額查詢。所有這些業務均需要一個技術前提即需要一個標準的SIM卡訪問接口,能夠使得應用客戶端訪問SIM卡並與SIM卡中的applet進行通信。具體講,需要在手機中支持三個標準:
1、 SIM Alliance Open Mobile API:為應用客戶端提供與SIM卡通信的通道
2、 Global Platform/GSMA:Secure Element Access Control:授權應用客戶端訪問SIM卡中對應的applet
3、 Modem:需完全支持3GPP 27.007標準,支持打開SIM卡邏輯通道,並能夠在邏輯通信上真正實現APDU的透傳。
目前,NFC-SWP終端中相關標準化進行的較好,也有不少NFC-SWP手機已經支持這些標準,但實事求是的講,由於缺乏上述三個標準對應的測試標準和測試工具,目前NFC手機對SIM卡訪問接口的支持差強人意。Modem在邏輯通道上對APDU透傳的支持特別需要引起重視,傳統上Modem傳遞的都是ETSI 102.221電信標準中規定的APDU,但在新的NFC手機架構下,Modem的邏輯通道上可能還會傳輸銀行、公交等行業的APDU,這些APDU的定義可能會與電信標準有一定的差別,也可能超出Modem提供商傳統的知識范圍。因此,從目前情況看,一方面需要手機特別是Modem提供商能夠充分理解NFC業務的特點,特別是邏輯通道上與傳統電信應用的差別,提高產品對邏輯通道上透傳APDU的支持,另一方面,也需要標準化組織、運營商及各廠傢一起完善測試標準及測試工具,從而促進並保證產品的成熟。
終端所產生的無線電頻率正弦波傳遞能量給標簽然後從標簽中讀取數據。NFC啟動後,持續產生信號中心頻率13.56MHz的正弦波。如果有標簽在該正弦波產生的磁場擾動范圍內,標簽由磁場擾動就會獲得能量,產生原正弦波反頻率或改變頻率屬性的波。手機探測到這種改變,以知道附近有標簽。RFID在很近的距離通信通常被稱為近配對系統。近配對系統的范圍通常是0到1厘米。這意味著標簽挨著讀取器或按在讀取器上。這麼近距離的好處是標簽的電池廠可以發出很大的能量。這能量足以支持標簽通信,而不需要內置電源。近配對也利於高度保密的場合。例如帶NFC功能的手機,帶一個能產生13.56MHz無線電頻率的集成電路,帶有編碼器,解碼器,天線,比較器,還有傳輸能量到標簽,並讀取反向散射中的調制信息的硬件。讀取器持續產生射頻信號,並觀察收到的射頻信號,讀取其中的信息。
支持NFC的設備可以在主動或被動模式下交換數據。在被動模式下,啟動NFC通信的設備,也稱為NFC發起設備(主設備),在整個通信過程中提供射頻場(RF-field),如圖2所示。它可以選擇106kbps、212kbps或424kbps其中一種傳輸速度,將數據發送到另一臺設備。另一臺設備稱為NFC目標設備(從設備),不必產生射頻場,而使用負載調制(load modulation)技術,即可以相同的速度將數據傳回發起設備。
該標準規定瞭一個13.56MHz的工作頻率,這是一個免許可國際通用頻帶,是美國ISM帶15/18頻帶之一。數據傳輸速率為106、212或424kbps,取決於通訊范圍,在20cm或大約8英寸時傳輸速率大型,實際通訊范圍隻有幾英寸或不大於10cm,該標準規定瞭多種工作模式。
在主動模式下,通訊雙方收發器加電後,任何一方可以采用“發送前偵聽”協議來發起一個半雙工發送。在一個以上NFC設備試圖訪問一個閱讀器時這個功能可以防止沖突,其中一個設備是發起者,而其它設備則是目標。
在被動模式下,像RFID標簽一樣,目標是一個被動設備。標簽從發起者傳輸的磁場獲得工作能量,然後通過調制磁場將數據傳送給發起者(後掃描調制,AM的一種)。
在使用上因為NFC的使用通常會遇到使用尖峰時期,會瞭避免不同的發起端或目標端同時溝通造成數據鏈路錯誤,所以NFC采用瞭一種機制listen before talk。此機制會讓當發起端設備要發出詢問信號前,先偵測外界磁場強度來判斷是否有其它的設備正在溝通中,這種機制的實現稱為RF Collision Avoidance (RFCA),其動作行為是在每次發起端發出詢問信號時會偵測外界磁場,當磁場強度超過門坎強度時(Hthreshold=0.1875A/m)則會停止詢問,直至外界強度降至門坎值以下。若是低於臨界值才會開始發出詢問指令,偵測的時間為TIDT+nTRFW,n為0~3的機率取樣:TRFW=512/fc(RF waiting time),TIDT>4096/fc(initial delay time)。當發起設備在TIDT+nTRFW內沒有偵測到超過門坎強度的磁場,則會先發射TIRFG的未調變RF field之後再發出詢問信號,其中TIRFG必須大於5ms。
由於NFC 106kbps為100% ASK調變,所以對整個High/Low信號的封包結構都有相當詳細的定義。其中幾個參數包括從100%下降到5% Am時間(t1)、5% Am持續時間(t2)、Am由5%上升至60%時間(t4)即overshoot 的范圍。而212/424kbps則是8%~30%的調變率。
RF測試
RF測試kit
1. Calibration coil:coil的功能在於驗證測試過程中,待測物所發射出的信號是否為正確的強度與調變。此Coil為一簡單的天線架構,當然EMCA也詳細的規定瞭所有的尺寸,由此coil所測出的值為0.32V (RMS)=1A/m(磁場強度)。
2. Field Generating Antenna:kit用於磁場的發射,圖中還包含瞭一組天線匹配線路。
3. Sense coil:sense coil用於量測待測物的磁場強度與調變。
4. Reference device:reference device用於測試DUT的標準件。
RF測試程序
1. 發起設備power測試:
此測項在測試由發起設備所供給的磁場強度是否供給目標物足夠的工作電源。
將信號由generating antenna調整發射,於右端的calibration coil量測到的強度為Hmax(7.5A/m),此時再將reference device配合power測試線路調整C2使線路共振點位於19MHz(此部份在規范中並無詳述為何調整至19MHz,在此推論若19MHz可達到3V輸出則當目標物為13.56MHz時其電壓一定會超高3V,此因該為取其下限值),放置於DUT位置,調整線路R2使的由C3所得到之電壓值為3V。此時Reference device已經完成,之後再將此卡用來量測發起設備,將此卡放至於發起設備所標註之超作范圍,在此超作范圍內任意位置所量測到的電壓值(C3)皆不可超過3V。至於Hmin測試則與max大致相同,不同處為將reference device共振頻率調至13.56MHz及所量測知電壓值皆須超過3V。
2. 目標物的load modulation 測試:
(1)被動模式
● 106kbps:此測試為驗證目標物可正確調變出波形,先將calibration coil放置於下側外緣,確定generating antenna所發射之波形與強度正確無誤,此時再將待測目標物放置於上側外緣,編輯一個ECMA340 所定義之SENS_REQ波型由generating antenna發射並在待測目標物會回送一個SENS_RES信號,如此即可透過二個sense coil量測到信號,此量測架構因考量回傳之負載調變信號微弱,所以利用兩個sense coil之間電壓差做計算,由於兼容系問題,所以在106kbps延續MiFARE使用副載波(subcarrier)的調變作被動目標物的回傳信號,所以量測點應於fc+fs與fc-fs(fc=13.56MHz,fs=fc/16)。
● 212/424kbps:高速的調變信號量測方式則與106kbps十分相似,隻是將量測擷取位置改為fc,因為此兩種傳輸速度下並無使用副載波調變
(2)主動模式
主動模式的測試與被動模式上並無太大的差異,由於是主動模式所以加測瞭目標物的RF field發射的時間,指令下達的時間……等。
3. 發起設備的load modulation 測試:此測試在於驗證發起設備的調變機制,可分為主動模式發射與被動模式接收兩種。
(1) 主動模式發射:將calibration coil放置於發起設備所定義的任意位置,而所量測的波型皆需符合ECMA340所定的規范。
(2) 被動模式接收:此為測試發起設備可以正確的接收被動目標物所回傳的信號。利用圖7-2的load modulation 測試線路所做成的reference device,先將對應C3電壓與距離的關系以圖8的架構校正好,之後即可將此卡與發起設備的待測物做量測,測試由reference device所發出的調變信號於待測物端的接收情況。在此隻能對部分的測試項目做討論而詳細的測試請參考ECMA。