<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                NCI(NFC Controller Interface)是NFC Forum于2012年制定的一個規范,其主要關注點為DH(Device Host,主機設備)如何控制并與NFCC(NFC Controller)交互。圖8-23所示為NFCC、NCI和DH三者之間的關系。 :-: ![](https://box.kancloud.cn/4dabf9728466a16a3bec469c0116b65b_1137x582.jpg) 圖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的模塊結構。 :-: ![](https://box.kancloud.cn/7a6676fb41d4fc9f54a5ffa672db1401_857x682.jpg) 圖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所示。 :-: ![](https://box.kancloud.cn/1a04456ea86b8d95a21f1c9fc219ceee_719x643.jpg) 圖8-25 NCI工作原理 圖8-25中: * 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。 NCI規范一共有140多頁,是NFC Forum眾多規范中比較復雜的一個。根據筆者的理解,NCI的一個很重要的作用就是統一Android中NFC HAL層的實現,即通過一套標準的方法來實現對NFCC的控制以及數據交互。不過,由于NCI規范推出的時間比較晚(該協議最終版的時間為2012年11月6日),所以占據最大市場份額的NXP公司在其Android平臺的NFC HAL層中還沒 有使用NCI。 >[info] 提示 8.4節將專門討論Android平臺中NFC HAL層的實現狀況。從Android 4.2的代碼來看,NXP公司使用了自己的一套NFC HAL層實現方式,而博通公司的NFC HAL層的實現參考了NCI規范。但實際上這兩家公司NFC HAL層的代碼處處透露著它們與特定芯片的緊密關系,這使不了解芯片細節的讀者很難真正看懂NFC HAL層的代碼。隨著NFC的重要性和普及程度日益加大,開發者已經在Linux Kernel 3.8[21]中增加了一個名為NFC的子系統,它使得以后的NFC HAL層只需通過netlink消息就可和位于Kernel空間的NFC驅動交互。因目前NFC HAL層這些被不同芯片所“綁架”的代碼就可從用戶空間移除,而那些和芯片相關的代碼就可通過NFC驅動的形式運行在Kernel之內。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看