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