天天看點

NCI原理

NCI(NFC Controller Interface)是NFC Forum于2012年制定的一個規範,其主要關注點為DH(Device Host,主機裝置)如何控制并與NFCC(NFC Controller)互動。圖8-23所示為NFCC、NCI和DH三者之間的關系。

NCI原理

圖8-23 NFCC、NCI和DH三者之間的關系在圖8-23中,NFCC和DH通過實體連線相連,實體連線對應為Transport Layer(傳輸層)。目前,NFCC和DH在傳輸層這一塊支援SPI、I2C、UART和USB等。在圖右邊的DH中,所有和NFC相關的應用程式都可被視為DH-NFCEE(EE是Execution

Environment的縮寫)。圖左邊有一個NFCEE子產品,該子產品也可運作着一些和NFC相關的程式或系統(以圖8-21為例,它的SmartMX Secure Element就是此處所說的EE)。NFCEE子產品可直接內建在NFCC中,也可作為單獨的晶片子產品通過實體連線與NFCC相連。NCI負責處理DH和NFCC之間的互動。NCI包含多個子產品,詳情見下文。圖8-24所示為NCI的子產品結構。

:-: 

NCI原理

圖8-24 NCI子產品結構

  • NCI Core子產品負責DH和NFCC之間互動的基本功能,包括控制消息(Control Message)和資料消息(Data Message)的傳遞、DH初始化、重置和配置NFCC等。
  • Transport Mapping用于在NFC Core和傳輸層之間轉換資料格式,例如将NCI Core使用的控制消息和資料消息轉換成對應傳輸層使用的資料格式。
  • NCI Module包含多個功能子產品,例如RF Discovery子產品用于搜尋周圍的其他NFC Device、RF Interface用于和對端的NFC Device互動。

使用NCI的NFC Device中,DH和NCI的工作原理如圖8-25所示。

:-: 

NCI原理

圖8-25 NCI工作原理

  • DH通過NCI規範定義的Control Message來控制NFCC。目前規範定義的Control Message包括Commands(請求指令,包括初始化NFCC、重置NFCC、設定NFCC配置參數等)、Responses(回複)和Notifications(通知)。這些Message都封裝在NCI Control Packages中。其中,Commands隻能由DH發送給NFCC。
  • DH通過RF Interface和對端NFC裝置(圖中的Remote NFC Endpoint)互動,也可通過NFCEE Interface和本裝置的NFCEE互動。互動資料包括Control Message和Data Message。