本文主要介紹以 NXP LPC55S69 平台開發的 E-Lock 方案之軟體架構,將會從此應用方案的規格、硬體架構、外設介面逐步深入探討,其相關細節會在後續文章進行說明。
1. 硬體架構介紹 :
概觀 E-Lock 的組成架構大致可分為 : 主控處理單元、輸入單元、輸出單元,其架構如下圖:
① 處理單元:也就是主控處理器為 NXP LPC55S69 (Cortex-M33 150 MHz),負責系統運作及資料處理。
② 輸入單元:有作為密碼輸入的 Touch Key、卡片讀取的 NFC、指紋辨識的 Fingerprint Module、藍芽控制的 BLE 等元件,作為資料收集傳回處理單元進行分析及處理。
③ 輸出單元:有透過語音進行操作提示的 Voice IC、透過屏幕顯示操作提示的 Display、控制馬達進行解鎖操作的 Motor Control。
2. 方案功能規格說明 :
如下圖為本方案 E-Lock 控制板的功能框圖及照片,標示了各功能器件及對外接口。
方案規格說明 :
① NFC 讀卡片開鎖,支持 ISO/IEC14443 A & MIFARE Classic 規格卡片,儲存容量為 100 張卡片。
② 按鍵密碼開鎖,支持虛位密碼驗證 ( 6~12 位數字),儲存容量共 100 組,其中包含 10 組管理員密碼。
③ 語音播報提醒,可進行音量大小調整,開發者可自行設計並錄製語音。
④ 系統低電量提醒,及低功耗待機運作。
⑤ 支持 OLED 顯示,提供更佳的操作資訊反饋。
⑥ 支持 Proximity 近場偵測,當偵測到使用者時便提早喚醒系統。
⑦ 提供指紋辨識、人臉辨識、BLE 開鎖之功能擴充性。
⑧ NXP LPC55S69 MCU 具有更高級別的性能及資料安全保護。
3. 方案軟體系統框架說明 :
此 E-Lock 應用方案,軟體系統框架,大致上分成這三大區塊 :
① 使用者介面層 ( User Interface ) :
使用者和 E-Lock 之間操作、互動的介面管理系統。透由按鍵操作與聲音播報、顯示屏資訊反饋之運作處理。
② 應用層 ( Application Layer ) :
負責實現方案功能性運作,如 NFC 讀卡偵測、觸控按鍵偵測、語音播報控制、門鎖電機控制、資料存取管理、系統電源管理 .. 等。
③ 驅動層 ( Driver Layer ) :
主控 MCU 與周邊裝置之間通訊與控制,包含 UART、I2C、SPI、ADC、GPIO .. 等介面驅動。
二、軟體開發設計介紹
1. 開發環境需求
① 硬體設備需求 :
◎ E-Lock EVM Board
◎ Debug Probes ( SEGGER J-Link / NXP LPC-Link 2 )
◎ USB to UART dongle
② 軟體工具需求 :
◎ Keil ARM v5.31
◎ NXP MCUXpresso Config Tools
◎ Nuvoton NSP PlayList Editor Tool_V1.12.000 ( 語音 IC 燒入工具 )
◎ Hyperterminal – TeraTerm
2. 軟體發展過程
① 該系統由 NXP 官方提供的SDK_2.8.2_LPCXpresso55S69 軟體開發套件來進行延伸應用設計。
② 此軟體開發套件包含各樣式底層驅動範例,以利於快速完成各裝置驅動移植,並逐一完成 E-Lock 各項電子器件功能操作,達到整體功能實現。
③ 系統運作時所需求的資料存放,則採用 MCU 內部之 Flash,規劃一個獨立區域來進行存取之應用。
④ 電源功耗部分,為滿足更長的待機時間,系統待機時,關閉各裝置的運作,只保留能喚醒 Wake up 的偵測能力。
3. 軟體系統流程說明
① 如下,為 E-Lock 軟體系統運作流程圖。
② 系統開機會先進行主控處理器及各裝置器件的初始化配置,使各裝置可以各自運作。
③ 進行電池電量偵測,確認電量是否足夠,及低電量警報通知。
④ 進入 UI 操作系統管理,進行按鍵操作選單處理、密碼輸入辨識、NFC 讀卡功能處理、操作資料訊息反饋顯示或是語音播報及電機解鎖控制 .. 等功能運行管理。
⑤ 當無任何操作,閒置時。系統會進入睡眠待機模式,並事先配置好周邊裝置可進行喚醒 MCU 之動作行為,以利得到更好的續航力。
⑥ 可由 按鍵觸碰、NFC 卡片靠近、物體的靠近,來喚醒 MCU 進行事件的處理。
⑦ 系統將持續在 3 – 6 階段不斷運行。
三. 參考資料
1. AMS 官網 : https://ams.com/zh/ams-start
2. NXP 官網 : https://www.nxp.com
3. ON Semi 官網 : https://www.onsemi.com
4. Vishay 官網 : https://www.vishay.com
5. NXP LPC55S69 Doc ( Datasheet、User manual )
6. NXP PN5180 Datasheet