在近場通訊 (NFC) 設計中,開發人員向來都面臨各種關于優化射頻性能、硬件設計和軟件方面的挑戰。 但現在,單片式 NFC 解決方案和全方位的軟件支持極大地改變了在家用電子設備、可穿戴設備和物聯網 (IoT) 設備設計中整合 NFC 功能的本質。
因此,開發人員可以加入諸多應用功能,卻幾乎不會影響設計封裝、功耗或項目計劃。
NFC 的雙向通信能力獨具特色,可提供簡單、本質上安全的低功耗近距離無線連接。 僅當兩個設備相互靠近時才能進行通信,因此不會出現消息攔截,并且最大程度減少了潛在的網絡攻擊途徑。 而且,在通信時僅一臺設備需要通電,因此平均功耗可維持在相當低的水平。
實際上,NFC 可以為各種智能家居和物聯網應用帶來巨大益處。 用戶只需將啟用 NFC 的智能手機靠近啟用 NFC 的產品,即可完成藍牙或 Wi-Fi 配對。 NFC 可以用作設備個性化的底層技術,并且可簡化智能手機任務,如配置設置、傳輸數據或注冊產品等。
嵌入式 NFC
NFC 是射頻識別 (RFID) 的子集,在 13.56 MHz 下工作,可執行與傳統 RFID 標簽和非接觸式智能卡相同的許多功能。 同時,NFC 還具有更大的靈活性,能在三種通信模式下工作:卡仿真、點對點和讀/寫。
在卡仿真模式下,NFC 設備用作非接觸式智能卡,可在各種現有應用中使用,包括票務、門禁系統、交通、收費站和非接觸式支付等。 點對點模式允許兩個啟用 NFC 的設備連接并交換信息。 例如,用戶可以使用啟用 NFC 的智能手機來設置其他設備的藍牙或 Wi-Fi 設置參數,或者在受信任網絡中調試其使用。 在讀/寫模式下,一臺 NFC 設備可以從另一臺 NFC 設備讀取數據。 例如,啟用 NFC 的智能手機可以讀取 URL 或其他數據,如零售商店促銷標牌上嵌入的銷售優惠券。
用作標簽的嵌入式 NFC 設備連接到產品內的主機處理器后,其工作類似于雙端口存儲器。 其中一個存儲器端口可通過 NFC 接口以無線方式訪問。 另一個端口可通過嵌入式系統的 I2C 接口訪問。 因此,諸如智能手機等外部數據源可以將數據傳遞到嵌入式系統。 反過來,主機處理器可以更新存儲在 NFC 設備中的數據,即使當產品斷電也可向啟用 NFC 的外部設備提供這些數據。
對于需要在嵌入式系統和外部系統(如啟用 NFC 的智能手機)之間傳輸數據的應用,開發人員可以使用這種方法。 事實上,利用 NFC 設備無線通訊鏈接功能及其在下載過程中用于臨時存儲的片載存儲器,開發人員可以用這種方法更新嵌入式系統的數據,甚至固件。
單片式 NFC 控制器
過去,設計人員希望在基于 MCU 的設計中添加 NFC 功能,但卻面臨硬件和軟件的兩大挑戰。 使用傳統 NFC 設備的硬件工程師需要確保設計滿足 NFC 設備和主機之間的關鍵時序、保持低功耗要求,并且要最大程度減少設計封裝和物料清單 (BOM)。 然而也許最大的影響在于軟件方面,工程師通常不得不編寫自己的代碼,以處理構成單一應用級別 NFC 操作的諸多低級事務。
高級 NFC 設備,如 NXP Semiconductor PN7150,旨在簡化物聯網設計或任何嵌入式系統中的 NFC 功能集成。 PN7150 結合了射頻前端以及低功耗 ARM? Cortex?-M0 內核、存儲器和 I/O 外設(圖 1)。
圖 1: NXP Semiconductors PN7150 NFC 控制器結合了全套射頻前端、ARM Cortex-M0 設備主機和集成固件。
通過確保嵌入式設備主機和射頻前端之間的最佳時序,該設備大大消除了傳統的硬件集成問題,同時支持更高的射頻輸出功率。 此外,集成的 I2C 接口與 NXP 的 NTAG I2C Plus 兼容,適用于傳感器、燈具和與智能家居網絡相關的其他設備。 同時,該器件有助于降低功耗要求: PN7150 可以自動轉換到低功耗模式,同時讓主機保持休眠,直到需要進行射頻通信為止。
除了簡化硬件設計,PN7150 在軟件方面也優勢顯著。 NXP 預裝了該器件的嵌入式數據和代碼存儲器,并且可擴展支持 NFC 控制器接口 (NCI)。 NFC 論壇管理 NCI 技術規范,定義了 NFC 控制器 (NFCC) 和運行高級操作系統(如 Android, Linux 或 Windows IoT)的設備主機 (DH) 之間的邏輯接口。
PN7150 的嵌入式 NCI 固件減少了某些主機交互,并且為 NFC 應用軟件開發人員提供更高的抽象層級,從而減輕了軟件開發負擔。 通過將低級代碼移動到固件中,PN7150 還減少了主機端的應用代碼基底面。
直接替代型解決方案
PN7150 具有集成的硬件和軟件,專用于直接替代型 NFC 解決方案,適用于在 Android、Linux 或 Windows 環境下工作的開發人員(圖 2)。 實際上,不熟悉 NFC 開發的開發人員可以利用 Arduino (NXP OM5578/PN7150ARDM)、BeagleBone Black (NXP OM5578/PN7150BBBM) 和 Raspbery Pi (NXP OM5578/PN7150RPIM) 的現有 PN7150 演示套件。 每種套件都包含一塊 PN7150 NFC 控制板、一個專用接口板和一個 NFC 樣卡。
圖 2: NXP PN7150 需要較少的其他元器件即可交付完整的 NFC 子系統,它可通過簡單硬件接口輕松集成主機 MCU,并通過 NCI 協議集成主機軟件。
設計人員需要較少的元器件即可為現有基于 MCU 的設計創建完整的 NFC 子系統。 實際上,在某些情況下,工程師可以通過在天線匹配電路中消除或組合一些無源元器件,進一步減少 BOM(圖 3)。
圖 3: 將 PN7150 用作 NFC 控制器 (NFCC),設計人員可以簡化天線匹配電路,從而進一步減少某些應用中的 BOM。
在典型的天線電路設計中,需要天線引線上的 RQ 阻尼電阻器來降低會對所產生信號的整形有不良影響的過高天線品質因數。 在采用標稱天線品質因數的設計中,設計人員可以將這些 RQ 阻尼電阻器從天線端移除。 在匹配電路中,當特定設計的天線引線具有非常低的最大峰峰電壓時,設計人員可以用單個電容器替換成對的并聯電容器(并消除到 EMC 濾波器的連接)。 在典型應用中,小型天線連接到 PN7150,天線上產生的峰峰電壓將相對較低。 因此,設計人員也可以移除去耦 Crx 電容器,并將 Rrx 電阻器直接連接到天線, 以簡化 Rx 路徑。
簡化的軟件
從軟件角度看,PN7150 提供了一個簡單的執行模型,可進一步加速產品開發(圖 4)。 設備主機架構結合了傳輸層驅動程序、NCI 驅動程序和包含讀/寫、點對點或卡仿真庫的 NFC 執行環境 (NFCEE) 中間件。 對于 NFC 操作,主機只需要通過 I2C 接口發送高級 NCI 操作到 PN7150。 反過來,PN7150 的固件可執行 NFC 協議中所需的詳細事務。
圖 4: NXP PN7150 的嵌入式 NCI 固件減少了設備主機 (DH) 上的軟件封裝,只需通過 I2C 硬件接口發送 NCI 指令,即可在 PN7150 NFC 控制器 (NFCC) 上執行詳細的 NFC 事務。
實際上,從開發人員的角度而言,得益于 NXP 提供的全方位軟件平臺,NFC 應用開發才得以在高級別進行。 對于啟用 NFC 的物聯網應用,常見操作包括交換 NFC 數據交換格式 (NDEF) 化數據。 NDEF 由 NFC 論壇管理,這是一種標準化的數據格式,可用于在任何兼容的 NFC 設備和另一臺 NFC 設備或標簽之間交換 URI 或純文本等信息。
NXP linux_libnfc-nci 庫提供了一個簡單的應用編程接口 (API),將低級事務抽象為更高級的面向應用程序的操作。 例如,開發人員可以通過簡單調用 WriteTag 例程來寫入標簽(列表 1)。 這個庫利用一系列低級例程將這種應用層請求分解為所需的系列步驟,以對數據進行驗證、格式化和傳輸(列表 1 中的 msgToPush)。
int WriteTag(nfc_tag_info_t TagInfo, unsigned char* msgToPush, unsigned int len)
{
int res = 0x00;
res = nfcTag_writeNdef(TagInfo.handle, msgToPush, len);
if(0x00 != res)
{
printf(“Write Tag Failed\n”);
res = 0xFF;
}
else
{
res = 0x00;
}
return res;
}
列表 1: NXP 提供 NCI 軟件,如 linux_libnfc-nci,這是與 PN7150 搭配使用的 Linux NFC 庫。 開發人員可以使用簡單調用來創建 NFC 應用,WriteTag 便是一個例子,它調用低級例程來處理 NFC 消息傳遞協議詳細信息。 (列表來源: NXP Semiconductors)
設備主機使用 NCI 控制消息與 NFC 控制器交互。 一個特別重要的 NCI 指令序列為 NFC 控制器提供了一種機制來查找其他卡、讀卡器或對等設備。 這種稱為 RF Discovery 的指令序列讓符合規范的 NFC 設備(如 PN7150)能在偵聽其他發射設備和發射(輪詢階段)之間交替,以查找遠程卡或標簽。
如同任何射頻技術一樣,傳輸需要比無線電接收更高的功率(圖 5)。 實際上,在輪詢階段,PN7150 功耗約為 30 mA,具體取決于天線特性。 在偵聽階段,PN7150 會等候外部生成的射頻載波,當啟用待機模式時,電流消耗會下降至 20 μA 左右。
圖 5: 由于在標準 NFC 論壇 RF Discovery 序列中 NFC 設備的輪詢階段較長,因此功率要求可能相對較高。
通常,輪詢階段會持續約 20 毫秒,而偵聽階段則為 300 毫秒到 500 毫秒。 對于 500 毫秒的偵聽階段,平均功耗則為:
(30 x 20 + 0.02 x 500) / 520 = 1.17 mA。
為降低 RF Discovery 的功率要求,NXP N7150 提供了一種稱為低功耗卡檢測器 (LPCD) 模式的專有機制。 在 LPCD 模式中,PN7150 會尋找當另一根天線接近時產生的磁耦合所導致的天線阻抗變化。 如果阻抗變化高于預定義的閾值,PN7150 會自動進入標準 NFC 論壇 RF Discovery 序列。 因此,這種“事件驅動”的方法可以顯著減少 RF Discovery 階段的時長,從而降低平均功耗(圖 6)。
圖 6: 通過使用特殊檢測模式,NXP PN7150 可以顯著降低 RF Discovery 回路的功耗,從而縮短耗費功率的輪詢階段。
結論
NFC 提供安全的低功耗連接,能顯著增強互聯的家用電子設備、可穿戴設備和其他物聯網設備的易用性。 只需將啟用 NFC 的智能手機靠近連接的產品,用戶就能調試產品、加載訪問信息并檢索產品中存儲的信息。 然而在過去,在基于 MCU 的系統中實施 NFC 為硬件和軟件集成都帶來了設計難題。 相比之下,如 NXP PN7150 等 NFC 集成設備,可為 NFC 設計提供近乎可直接替代的解決方案,簡化了啟用 NFC 的應用中的硬件和軟件開發。
責任編輯:ct
評論
查看更多