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