亚洲美女爱爱-夜夜添夜夜添夜夜摸夜夜摸-97碰成人国产免费公开视频-国产午夜大片-www黄av-国产94在线 | 亚洲-亚洲午夜久久久精品一区二区三剧-精品视频亚洲-久久久久国色av∨免费看-黄色片一区二区-69福利视频-国产老头和老头xxxxx免费-99精品视频一区在线观看-日韩三级黄色毛片-亚洲激情图片区-黄色a一级-99re6在线-91九色视频-日本欧美久久久-成人国产精品免费观看

你的位置:首頁 > RF/微波 > 正文

如何在任何應用中快速添加 NFC 功能

發布時間:2018-06-07 責任編輯:wenwei

【導讀】為了滿足日益增長的近場通信 (NFC) 功能需求,開發人員需要快速構建優化的設計。傳統方法拖慢了開發進程,因為設計人員需應對各種挑戰,如射頻電路優化、NFC 協議管理、功耗、以及最小化設計封裝。
 
為了幫助開發人員克服這些困難,NXP 等公司推出了 IC 以及支持性軟硬件,提供了一種更簡單的方法為應用增加 NFC 功能。
 
本文將簡要探討 NFC 如何演變到超越基本收銀機 (POS) 應用范疇。接著,本文將介紹 NXP LPC8N04 NFC 解決方案,然后討論如何利用它構建高效 NFC 設計以支持各種應用。
 
為何選擇 NFC
 
NFC 已超出其原始的收銀機支付應用范圍,發展成為各種應用的重要特性。如今,開發人員利用智能手機和其他移動設備對 NFC 的普遍支持,簡化消費者產業、工業和其他領域的設備控制。
 
只需將智能手機靠近智能玩具、家用電器或者網絡設備,用戶就能輕松、安全地配置并控制目標系統。來自啟動器(稱為接近耦合器件,PCD)的智能手機射頻場啟動目標(稱為接近感應耦合卡,PICC)。
 
通過這種方法,任何兼容 ISO 14443 的 PCD 和 PICC 都能根據標準中規定的調制和編碼方案,利用數據調制射頻場,進行雙向通信。
 
NFC MCU
 
NXP LPC8N04 MCU 為 NFC 設計提供了一個高性價比解決方案。這種 4 x 4 mm 24 引腳 MCU 基于 Arm® Cortex®-M0+ 處理器核心,結合了全套 NFC/RFID 子系統和串行接口、GPIO、存儲器,包括 32 Kb 閃存、8 Kb SRAM 以及 4 Kb EEPROM。該產品本身功耗要求低,可以僅通過采集的射頻能量運作,因而非常適合用于物聯網 (IoT) 無電池連接系統,獨立式系統中的智能標簽,或者任何需要優化 NFC 解決方案的應用。
 
為了簡化開發,LPC8N04 集成了 Arm 嵌套向量中斷控制器 (NVIC) 和串行線調試 (SWD)。其中的 SWD 采用兩個觀察點比較器和四個斷點比較器,可為 JTAG 測試和調試提供雙向數據連接,并提供運行時系統內存訪問,無需在設備上增加額外軟件。此外,LPC8N04 固件為擦除閃存分區、復制數據到閃存、讀取出廠設置的唯一設備序列號等提供完整應用編程接口 (API)。
 
當然,本文主要討論的重點功能是其 NFC 子系統。該器件旨在支持不斷增長的具有 NFC 功能的應用,可通過 13.56 MHz 接近信號傳輸提供完整的 NFC 雙向通信能力。該器件兼容各種 NFC 規范,包括 NFC/RFID ISO 14443A、NFC Forum 2 型和 MIFARE Ultralight EV1 PICC 標準。
 
該子系統同時為硬件和軟件連接提供簡單的接口模型(圖 1)。對于硬件接口,子系統的 50 皮法 (pF) 內部電容兼容標準 NFC 天線,如 Molex 1462360021。因此,開發人員可以將現成的天線連接到 LPC8N04 的 LA-LB 引腳。并且,該設備可從射頻場恢復其時鐘,無需額外的時鐘元件。
 
如何在任何應用中快速添加 NFC 功能
圖 1:NXP LPC8N04 MCU 的集成射頻子系統通過 LA-LB 引腳提供天線連接,以及一個訪問寄存器和 SRAM 的軟件接口。(圖片來源:NXP)
 
從功能上而言,NFC 讀/寫操作中用到的寄存器(CMDIN、DATAOUT、SR)和 SRAM 都映射到共享存儲器中,訪問權由集成仲裁單元進行管理。通信會話期間,外部 NFC/RFID 啟動器讀寫寄存器或 SRAM。反過來,在 LPC8N04 Arm Cortex-M0+ 核心上運行的固件會評估寄存器和 SRAM,解析信息,并使用相同的共享資源酌情回復。為了保護通信通道,開發人員可以使用 MIFARE 協議的密碼驗證方法,根據需要允許或阻止訪問。
 
當外部啟動器發射的射頻場處于 LPC8N04 范圍內時,整個通信序列啟動。射頻場可用于將 LPC8N04 從低功耗休眠模式喚醒,并如下方所述用作其唯一電源。
 
電源管理
 
功耗通常是這些應用的關鍵考慮事項。過去,開發人員為了將功耗最小化,不得不在功能和性能上折衷。借助 LPC8N04,開發人員能利用多種器件特性協調功耗和性能,以滿足要求。
 
在降低功耗的典型方法中,開發人員通常會修改系統時鐘頻率。通過 LPC8N04,開發人員能使用此方法顯著降低功耗(圖 2)。在最大時鐘頻率 8 MHz 下,LPC8N04 消耗約 900 微安 (µA) 電流。時鐘速率降低至 1 MHz 時,功耗將降至 200 µA 左右。除了調整系統時鐘速率外,開發人員還可使用多種不同的功耗模式,通過選擇性地關閉 LPC8N04 的某些部分來降低功耗。
 
如何在任何應用中快速添加 NFC 功能
圖 2:通過將系統時鐘從最大頻率 8 MHz(曲線 6)降低至 4 MHz (5)、2 MHz (4)、1 MHz (3)、500 kHz (2) 甚至 250 kHz (1),開發人員能顯著降低 LPC8N04 電流消耗。(圖片來源:NXP)
 
正如大多數復雜器件一樣,LPC8N04 針對存儲器和模擬外設、數字核心和外設、實時時鐘 (RTC) 和欠壓檢測器 (BOD) 等需要持續電源的電路,將子系統分配到不同的功率域(圖 3)。反過來,集成電源管理單元 (PMU) 可啟用或禁用為模擬和數字功率域供電的低壓差 (LDO) 穩壓器。
 
如何在任何應用中快速添加 NFC 功能
圖 3:在 NXP LPC8N04 MCU 的電源架構中,電源管理單元 (PMU) 支持多種低功率模式,可選擇性地啟用或禁用為模擬和數字功率域供電的低壓差 (LDO) 穩壓器。(圖片來源:NXP)
 
通過設置 LPC8N04 電源控制 (PCON) 寄存器的位數,開發人員可對 PMU 編程,以三種低功率模式控制這些域的供電:
 
● 休眠模式中,PMU 保持兩個域的供電——降低功耗的同時,允許快速恢復處理器功能和指令執行。
● 深度休眠模式中,PMU 只禁用模擬域——提供維持處理器狀態、外設寄存器和內部 SRAM 的最低功率模式,但需要增加開機時間,以訪問非易失性存儲器。
● 深度省電模式中,PMU 同時關閉模擬和數字域,將功耗降低至僅 3 µA,代價則是處理器狀態和指令執行恢復的延遲更長。
 
在所有這三種低功耗模式中,PMU 關閉處理器核心。因此,使用低功耗模式將增加返回到完全活動模式所需的喚醒時間。當然,低功耗模式越深,喚醒時間就越長。但實際上,喚醒時間對于大多數 NFC 應用而言都已經足夠快。最糟糕的情況下,從打開電源到上電復位以達到活動模式的總啟動時間僅 2.5 毫秒 (ms) 左右。
 
射頻能量收集
 
LPC8N04 相對快速的喚醒時間使開發人員有機會利用器件的能量收集能力從啟動器的射頻場收集能量。當 VNFC(從射頻場獲得的電壓)上升到閾值之上,該器件的電源架構中的電源選擇器自動將器件電源從電池模式切換到由采集能量供電(見圖 3)。開發人員可以僅通過此電源操作 LPC8N04,或者只使用射頻能量收集作為電池備份電源。盡管能源選擇器單元可自動選擇最佳電源,開發人員能根據應用要求強制選擇 VBAT 或 VNFC。
 
實際上,通過采集射頻能量為 LPC8N04 供電的功能取決于外部讀取器發射的射頻場強度、以及連接到 LPC8N04 的接收天線電路的能效。如前所述,開發人員僅需將適當的天線連接到 LPC8N04 的 LA-LB 引腳。但實際上,接收能量最大化的功能取決于經過設計優化的天線電路。
 
無論何種 RFID/NFC 設計,天線電感均會與射頻前端總輸入電容(天線、接收器和連接寄生電容)形成諧振電路。該組件的總電阻決定了品質因素,它與諧振電路的性能和場強度有關。例如,更高的連接電阻會降低品質因素,從而降低射頻發射器的有效傳輸范圍。
 
由于輸入電容及輸入電阻與輸入電壓(對于 LPC8N04 就是 VLA-LB)有關,設計適當的天線變得更加復雜。輸入電壓改變時,輸入電容的相關改變造成諧振頻率改變,同時輸入電阻的相關改變造成品質因素改變。天線設計專家通常采用最小輸入電壓設計以應對這些變化。
 
快速開發平臺
 
雖然概念很簡單,但對于利用具有 NFC 功能的智能手機普及性的應用,如果開發人員希望快速部署應用,從頭實現高效 NFC 設計會減緩其進度。通過在基于 NXP LPC8N04 的 OM40002 開發板上搭建,開發人員可以即刻開始開發 NFC 應用,無需創建自己的系統。LPC8N04 板和相關 NXP 軟件開發套件的組合提供了一種直接的 NFC 解決方案,以及用于構建自定義硬件設計和軟件應用的平臺。
 
OM40002 板包括兩部分,由可拆分的接口分隔(見圖 4 中凹口之間的垂直線)。主處理器 (MP) 部分包括位于板頂部的 LPC8N04(圖 4A,右)和底部的集成天線(圖 4B,右)。調試探頭 (DP) 部分包括 NXP Arm Cortex-M0 LPC11U35FHI33 MCU 和調試資源(圖 4A,左)。在 DP 部分的底部(圖 4B,左),5 x 7 LED 陣列和表面貼裝揚聲器為開發套件中所含的示例應用提供簡單的用戶界面機制。開發期間,工程師能將整塊開發板用作一個完整的系統。對于定制設計,開發人員能使用整塊開發板調試其應用軟件,并可在稍后拆下 MP 部分,用作獨立 NFC 子系統。
 
如何在任何應用中快速添加 NFC 功能
圖 4:NXP OM40002 板結合了調試探頭 (DP) 部分(A 和 B 左側)和主處理器 (MP) 部分,開發人員可以拆分 MP 部分,將此完整 NFC 子系統添加到自己的設計中。(圖片來源:NXP)
 
該開發板預裝示例應用,在 LPC11U35FHI33 MCU 上作為固件來運行。利用該開發板的 LED 陣列和揚聲器并并運行一個 NXP 提供的免費 Android 應用,此應用展示了 LPC8N04 和支持 NFC 功能的智能手機之間如何進行雙向 NFC 數據交換格式 (NDEF) 消息傳輸。NDEF 用于大多數具有 NFC 功能的智能手機和其他移動設備,是一種輕量級格式,單一消息內可包含任意數據。通過示例 Android 應用,開發人員能更清晰地了解可在智能手機和 OM40002 板之間以 NDEF 交換的數據類型和大小。
 
NDEF 處理
 
除了能直接演示功能,示例應用為開發人員提供了使用 LPC8N04 處理 NDEF 信息的關鍵設計模式。NXP 軟件開發套件中包含低層服務例程,用于處理寄存器層級的事務,而示例應用則用于展示高層操作。開發套件中包含主例程,用于向開發人員展示如何在主處理循環之前初始化 LPC8N04 硬件和相關軟件結構(列表 1)。
 
int main(void)
 
{
 
                int temp;
 
                uint16_t decPosition, digit, prevDigit, index, textSize;
 
                uint32_t tempSpeed;
 
                bool initDispStarted = false;
 
                PMU_DPD_WAKEUPREASON_T wakeupReason;
 
    Init();
 
    wakeupReason = Chip_PMU_PowerMode_GetDPDWakeupReason();
 
    if(wakeupReason == PMU_DPD_WAKEUPREASON_RTC) {
 
                /* Blink LED for second */
 
                LPC_GPIO->DATA[0xFFF] = 0xE60U;
 
                Chip_TIMER_SetMatch(LPC_TIMER32_0, 2, 1000*100 + Chip_TIMER_ReadCount(LPC_TIMER32_0));
 
                Chip_TIMER_ResetOnMatchDisable(LPC_TIMER32_0, 2);
 
                Chip_TIMER_StopOnMatchDisable(LPC_TIMER32_0, 2);
 
                Chip_TIMER_MatchEnableInt(LPC_TIMER32_0, 2);
 
                __WFI();
 
    }
 
    else {
 
    ...
 
      /* Wait for a command.Send responses based on these commands.*/
 
      while (hostTicks < hostTimeout) {
 
    ...
 
        if ((sTargetWritten) && takeMemSemaphore())  {
 
          sTargetWritten = false;
 
          if (NDEFT2T_GetMessage(sNdefInstance, sData, sizeof(sData))) {
 
            char * data;
 
            uint8_t *binData;
 
            int length;
 
            NDEFT2T_PARSE_RECORD_INFO_T recordInfo;
 
            while (NDEFT2T_GetNextRecord(sNdefInstance, &recordInfo)) {
 
              if ((recordInfo.type == NDEFT2T_RECORD_TYPE_TEXT) && (strncmp((char *)recordInfo.pString, "en", 2) == 0)) {
 
                data = NDEFT2T_GetRecordPayload(sNdefInstance, &length);
 
                strncpy(g_displayText, data, (size_t)length);
 
                g_displayText[length] = 0;
 
                g_displayTextLen = (uint8_t)length;
 
                eepromWriteTag(EE_DISP_TEXT, (uint8_t *)g_displayText, (uint16_t)(((uint16_t)length+4) & 0xFFFC));
 
                startLEDDisplay(true);
 
              }
 
              else if((recordInfo.type == NDEFT2T_RECORD_TYPE_MIME) && (strncmp((char *)recordInfo.pString, "application/octet-stream", 24) == 0)) {
 
                binData = NDEFT2T_GetRecordPayload(sNdefInstance, &length);
 
                if(binData[0] == 0x53) {
 
                  extractMusic(&binData[1]);
 
                  eepromWriteTag(EE_MUSIC_TONE, (uint8_t *)&binData[1], (uint16_t)(((uint16_t)length+2) & 0xFFFC));
 
                  if(musicInProgress) {
 
                    stopMusic();
 
                    startMusic();
 
                  }
 
                }
 
                else if(binData[0] == 0x51) {
 
                  Chip_TIMER_MatchDisableInt(LPC_TIMER32_0, 0);
 
                  desiredSpeed = (uint8_t)(binData[1] + 5U);
 
                  if((desiredSpeed < 5) || (desiredSpeed > 30)) {
 
                    desiredSpeed = 20;
 
                  }
 
                  Chip_TIMER_SetMatch(LPC_TIMER32_0, 0, 1000*LED_REFRESH_RATE_MS + Chip_TIMER_ReadCount(LPC_TIMER32_0));
 
                  Chip_TIMER_MatchEnableInt(LPC_TIMER32_0, 0);
 
                  eepromWriteTag(EE_SCROLL_SPEED, (uint8_t *)&binData[1], (uint16_t)(((uint16_t)length+3) & 0xFFFC));
 
                }
 
              }
 
            }
 
          }
 
          releaseMemSemaphore();
 
    ...
 
列表 1:NXP LPC8N04 開發軟件套件提供了全套資源庫和示例應用軟件,該軟件對關鍵 NFC 操作(如本代碼片段所示,讀取 NDEF 信息)的基本設計模式進行演示。(代碼來源:NXP)
 
首次調用時,主例程首先測試其是否是由于表示喚醒計數器已過期的特定 RTC 事件 (wakeupReason == PMU_DPD_WAKEUPREASON_RTC) 而啟動。如果不是,例程進入主循環,測試讀取器的各種指令并執行相關操作以進行響應。如果沒有 NFC 活動(例如,智能手機不再處于范圍內),則例程最終會超時。
 
盡管概念簡單,示例應用和底層服務例程全方位介紹了使用 LPC8N04 的 NDEF 的信息處理。如列表 1 所示,示例應用的主循環闡明了處理 NDEF 信息的操作順序。
 
正常操作中,LPC8N04 共享存儲器中如果出現新的 NDEF 信息,則會調用中斷,且中斷將設置一個標記 (sTargetWritten)。在這一基于信號量的架構中,在加載信息 (NDEFT2T_GetMessage) 到其緩沖區之前,主例程一直等待,直到能聲明信號量 (takeMemSemaphore())。例程會審查 NDEF 信息 (NDEFT2T_GetNextRecord),提取有效載荷并解析結果。
 
在本應用中,如果有效載荷為文本字符串,例程將數據寫入到 EEPROM (eepromWriteTag) 中并開啟 LED 顯示 (startLEDDisplay)。如果有效載荷為 MIME 類型“application/octet-stream”,例程會檢查 binData[0] 的值,以查看是否數據為音樂 (binData[0] == 0x53) 或滾動速度調整 (binData[0] == 0x51)。如果是后者,則將新的滾動速度保存到 EEPROM 中。如果是前者,例程會提取音樂數據 (extractMusic),將數據寫入到 EEPROM,并且如果用戶正在運行音樂播發器,還要重啟音樂播發器 (startMusic)。
 
該軟件套件提供了該應用和服務例程的全部源代碼。例如,開發人員能查看 NDEFT2T_GetMessage() 和 NDEFT2T_GetNextRecord() 函數中的源代碼,以了解讀取和處理 NDEF 信息的詳情。許多情況下,開發人員可能無需修改就能直接使用服務例程,從而專注于應用的具體細節和 main() 例程。
 
總結
 
近場通信應用正不斷擴展到收銀機系統以外越來越多的領域。但對于開發人員而言,要在優化射頻性能的同時最小化功耗,其中涉及的一系列挑戰即使對于最有經驗的工程師來說也十分棘手。
 
通過集成全套 NFC 子系統,NXP LPC8N04 MCU 消除了 NFC 設計的大部分復雜性。對于尋求快速解決方案的開發人員來說,NXP 基于 LPC8N04 的開發板和軟件提供了一個完整的即用型示例應用和一個開發平臺,從而輕松構建自己的定制 NFC 解決方案。
 
 
推薦閱讀:
 
新型智能芯片:在電池沒電時仍可繼續工作!
通過能量收集延長 IoT 傳感器節點的電池續航時間
Analog Devices 實現了工業自動化轉型
快速實現精度達10厘米的實時定位系統
電源開關的阻容吸收器設計
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索

關閉

?

關閉

主站蜘蛛池模板: 久久久午夜精品理论片中文字幕 | 午夜福利yw在线观看2020 | 四川话毛片少妇免费看 | av伦理在线 | 国产成人亚洲精品无码青app | 乱淫67194 | 国产成人92精品午夜福利 | 国产又黄又潮娇喘视频在线观看 | 日本高清视频www夜色资源 | 伊人亚洲天堂 | 成人性午夜免费视频网站 | 欧美人牲交免费观看 | 国产国产久热这里只有精品 | 东京热无码一区二区三区分类视频 | 亚洲国产精品无码久久秋霞 | 久久精品第九区免费观看 | 欧美毛片在线 | 国产精品一区二区6 | 超高清日韩aⅴ大片美女图片 | 免费女人18a级毛片视频 | 老司机午夜福利试看体验区 | 亚洲色图.com | 亚欧乱色熟女一区二区三区 | a毛片免费全部播放 | 超碰97在线资源 | 又污又爽又黄的免费网站 | 国内精品91少妇在线播放 | 久久er99热精品一区二区 | 免费毛片a线观看 | 欧美又大又硬又粗bbbbb | 亚洲精品综合在线影院 | 欧美又粗又大又硬又长又爽视频 | 国产毛片毛片毛片 | 在线免费三级 | 国产乱人伦精品一区二区在线观看 | 忘忧草日本在线www 亚洲欧美成人久久综合中文网 | 制服丝袜另类专区制服 | 国产口语对白老妇 | 亚洲 综合 清纯 丝袜 自拍 | 日韩精品一卡二卡二卡四卡乱码 | wwwav小四郎com| 91精品系列 | 拔萝卜视频在线观看高清版 | 国产熟女出轨做受的叫床声 | h片免费在线观看 | 国产91九色 | 色女综合 | 国产在线看片免费观看 | 久草在线观看福利 | 亚洲丁香婷婷 | 久久精品www人人爽人人 | 人人妻人人澡人人爽人人dvd | www国产精品内射老师 | 少妇无码av无码专区在线观看 | 亚洲美免无码中文字幕在线 | 成年人国产精品 | 欧美在线www | 久久国产精品首页 | 亚洲天堂手机版 | 国内自产少妇自拍区免费 | 91性高潮久久久久久久 | 草逼网站 | 国产大学生呻吟对白精彩在线 | 韩国三级hd中文字幕 | 国产老太睡小伙子视频 | 青青草国产精品免费观看 | www.激情网| 国产情侣作爱视频免费观看 | 99久久精品一区二区成人 | 9l国产精品久久久久尤物 | 亚洲一区成人在线 | 乱人伦中文字幕成人网站在线 | 亚洲已满18点击进入在线看片 | 久激情内射婷内射蜜桃人妖 | 婷婷亚洲视频 | 亚洲三级伦理 | 黄色欧美视频 | 国产一区二区三区视频播放 | 精品视频无码一区二区三区 | 黄色av网站免费 | 成人性生交大片免费看小说 | 成人在线污| www.毛片 | 99精品免费视频 | 国产日韩欧美综合 | 东北女人啪啪ⅹxx对白 | 日本免费一区二区三区四区五六区 | 国产51自产区 | 免费无遮挡无码h肉动漫在线观看 | 老司机精品视频一区二区 | 大片视频免费观看视频 | 天天鲁在视频在线观看 | 女人被弄到高潮的免费视频 | 91精品国产高清一区二区三区 | 在线观看免费av片 | 色综合色狠狠天天综合色 | 在线高清免费不卡全码 | 精品丝袜在线 | 日韩乱码人妻无码中文视频 |