基于MSPM0G3507的智能加密門(mén)鎖
1 前言
本文引用地址:http://dyxdggzs.com/article/202412/465713.htm在大學(xué)時(shí)期,我的宿舍使用傳統鑰匙開(kāi)門(mén),但我經(jīng)常因為匆忙或者粗心而忘記帶鑰匙,導致自己被鎖在門(mén)外。每次尋找備用鑰匙或者求助同學(xué),不僅浪費時(shí)間,還給生活帶來(lái)了諸多不便。雖然市面上有許多智能門(mén)鎖,但這些產(chǎn)品大多需要對原有門(mén)鎖結構進(jìn)行改造,而這種改動(dòng)在學(xué)校宿舍內是不被允許的,同時(shí)安裝也較為復雜,難以適應臨時(shí)性使用的場(chǎng)景。
為了徹底解決這個(gè)問(wèn)題,我萌生了自制智能門(mén)鎖的想法。這款智能門(mén)鎖無(wú)需改動(dòng)原有結構,安裝方便、操作簡(jiǎn)單,能夠在保留原有門(mén)鎖的基礎上,實(shí)現更安全、更便捷的開(kāi)鎖方式。不僅滿(mǎn)足了我的實(shí)際需求,也讓我在設計過(guò)程中積累了更多的專(zhuān)業(yè)知識和實(shí)踐經(jīng)驗。這次項目的開(kāi)發(fā),不僅是對自身問(wèn)題的解決,更是對智能化生活方式的一次有益探索。
2 智能加密門(mén)鎖硬件設計
2.1 硬件整體設計
系統框圖如圖1所示,整體設計包括以下幾個(gè)主要模塊:主控單元使用基于A(yíng)RM Cortex-M0核的MSPM0G3507微控制器,提供強大的運算能力;電源管理系統采用鋰電池,并通過(guò)電源管理芯片進(jìn)行管理,確保電源穩定并延長(cháng)電池使用壽命;用戶(hù)交互模塊由按鍵輸入和OLED 顯示屏組成,使用戶(hù)操作更加簡(jiǎn)便直觀(guān)。
圖1 系統框圖
另外,指紋識別模塊采用FP3883 模塊,具有高精度識別能力,提升系統安全性;舵機驅動(dòng)模塊負責接收微處理器的指令,精確控制門(mén)鎖開(kāi)關(guān),提高安全性。整個(gè)系統圍繞MSPM0G3507 微控制器設計,確保智能加密門(mén)鎖的高性能、可靠性及易用性。
2.2 總原理圖
總原理圖如圖2所示,整個(gè)系統主要由左側的電源模塊電路、中間的單片機最小系統模塊以及右側的外接輸入輸出設備三部分組成。
圖2 總原理圖
電源模塊電路包括鋰電池充放電電路和鋰電池升壓電路,負責為系統提供穩定的電源支持,確保設備能夠在低功耗和高效能之間切換。
中間部分是基于MSPM0G3507 的單片機最小系統模塊,它作為系統的核心控制單元,負責處理各類(lèi)信號并執行邏輯運算和控制任務(wù)。
右側部分為外接輸入輸出設備,主要包括用戶(hù)操作按鈕、交互顯示屏、指紋識別模組以及執行機構舵機等。這些設備分別負責輸入用戶(hù)指令、反饋工作狀態(tài)、采集生物信息以及實(shí)現動(dòng)作輸出。
2.3 微控制器
在本項目中,MSPM0G3507 被選作主控單元。這款微處理器基于A(yíng)RM? 32 位Cortex?-M0+ 內核,具有高性能與低功耗的優(yōu)勢,是本項目的理想選擇。MSPM0G3507 的運行頻率高達80MHz,內置128KB 閃存(帶糾錯碼ECC)和32KB SRAM,完全滿(mǎn)足指紋識別與舵機驅動(dòng)的性能需求。此外,該微處理器還配備了四個(gè)UART 接口、兩個(gè)I2C 接口和兩個(gè)SPI 接口,便于多種外設的靈活擴展。
其功能特色包括一個(gè)支持CAN-FD 和CAN 2.0 的CAN 接口、兩個(gè)同步采樣的12 位4MSPS ADC(總計支持多達17 個(gè)外部通道)以及一個(gè)12 位1MSPS DAC(集成輸出緩沖器)。芯片內置7 通道DMA 控制器和7 個(gè)計時(shí)器,支持多達22 個(gè)PWM 通道,進(jìn)一步提升了信號處理和控制的能力。內置的真隨機數發(fā)生器(TRNG)和支持128 位或256 位密鑰的AES 加密功能,增強了系統的安全性。為了實(shí)現超低功耗模式,MSPM0G3507在關(guān)斷狀態(tài)下的功耗僅為78nA,并具備I/O 喚醒能力。
此外,其兩個(gè)零漂移、零交叉斬波運算放大器以及一個(gè)通用放大器,為模擬信號處理提供了優(yōu)異的性能支持。綜合這些特性,MSPM0G3507 在性能、功能和功耗上都非常契合本項目的要求,具體電路設計如圖3所示。
圖3 單片機最小系統
2.4 電源管理
本項目的電源模塊采用高效芯片組合設計,兼顧功耗與穩定性。
LP7801用于鋰電池的充放電管理,待機功耗僅1μA,支持最大500 mA 輸出電流,具備線(xiàn)性充電、同步升壓輸出5.1 V(效率95%)及過(guò)流、短路、過(guò)溫保護功能,確保電池安全和壽命。
MT3608L作為升壓DC-DC芯片,集成80 mΩ低阻功率MOSFET,最大輸出電流2.5A,支持2.2 V-16 V寬輸入電壓范圍,具備可編程過(guò)流保護(0.5A 至2.5A)和最高20 V 輸出能力,滿(mǎn)足高電壓需求。
WL9005 作為低功耗LDO,待機功耗僅0.3 μA,支持最大500 mA 輸出電流,低壓差100 mV(@100 mA輸出,Vout=3.3 V),為系統提供穩定的低功耗電源。
以上芯片的協(xié)同設計實(shí)現了高效率、低功耗的電源管理,為系統提供穩定可靠的供電支持。具體電路設計如圖4 所示。
圖4 電源管理
2.5 用戶(hù)交互
交互模塊由按鍵輸入和OLED 顯示屏組成。用戶(hù)通過(guò)按鍵輸入進(jìn)行操作,OLED 顯示屏則返回用戶(hù)指令的執行結果以及系統狀態(tài)信息。這種設計使得整個(gè)系統的操作更為直觀(guān)方便。本項目使用的是FPM3883 指紋模塊,該模塊具有較高的精度和穩定性,識別速度快,能夠適應各種環(huán)境。另外,FPM3883 指紋模塊待機電流低至20ua,和MSPM0G3507 微處理器搭配使用,可保證整個(gè)系統的運行效率。本項目采用舵機進(jìn)行門(mén)鎖的開(kāi)關(guān)。舵機驅動(dòng)模塊則負責接收微處理器的指令,驅動(dòng)舵機旋轉,以打開(kāi)或關(guān)閉門(mén)鎖。具體電路圖如圖5。
圖5 用戶(hù)交互
3 智能加密門(mén)鎖固件設計
固件主要有以下功能:用戶(hù)與管理員模式管理密碼鎖支持兩種工作模式:用戶(hù)模式和管理員模式。用戶(hù)模式主要用于普通操作,而管理員模式用于高級設置和權限管理。
多種身份驗證管理方面支持用戶(hù)密碼與指紋管理,普通用戶(hù)可以通過(guò)設置或修改密碼及錄入指紋來(lái)進(jìn)行身份驗證。同時(shí)也支持管理員密碼與指紋管理:管理員可獨立設置專(zhuān)屬密碼和指紋,并對所有用戶(hù)的密碼和指紋信息進(jìn)行管理。
密碼和指紋的狀態(tài)控制方面支持密碼和指紋的凍結和解凍功能。凍結后,對應的密碼或指紋將暫時(shí)失效,無(wú)法用于解鎖。解凍后恢復正常使用。
數據安全性方面支持對密碼的加密,系統對用戶(hù)和管理員密碼進(jìn)行加密存儲,防止信息泄露。同時(shí)也支持指紋的加解密錄入的指紋信息通過(guò)加密算法處理,在需要時(shí)可解密以進(jìn)行身份驗證。
安全提醒功能方面支持低壓報警,當設備電池電量不足時(shí),會(huì )主動(dòng)觸發(fā)報警,提醒用戶(hù)及時(shí)充電以避免鎖具失效。
3.1 開(kāi)鎖流程
系統上電后,根據用戶(hù)身份和驗證方式執行不同操作的邏輯。流程包括普通用戶(hù)和管理員兩種角色,分別支持指紋和密碼驗證。對于普通用戶(hù),驗證成功后系統解鎖并進(jìn)入休眠模式;驗證失敗則直接進(jìn)入休眠。對于管理員,驗證成功后系統解鎖并進(jìn)入管理模式以執行相關(guān)操作;驗證失敗則保持當前狀態(tài)。整體設計保證了系統的安全性和操作的便利性。具體流程圖如圖6 所示。
圖6 開(kāi)鎖流程
3.2 管理流程
進(jìn)入管理員模式后,用戶(hù)可以選擇不同的管理功能,包括管理用戶(hù)密碼、管理管理員密碼、管理用戶(hù)指紋、管理管理員指紋以及解鎖密碼或指紋。每項操作需要通過(guò)密碼或指紋驗證身份,驗證通過(guò)后檢查操作是否超時(shí),未超時(shí)則執行相應的管理任務(wù),如設置或修改密碼、錄入或刪除指紋等;若超時(shí),則進(jìn)入休眠狀態(tài)并結束操作。具體流程圖如圖7 所示。
圖7 管理流程
3.3 指紋加解密流程
在加密流程中,系統通過(guò)硬件隨機數發(fā)生器(TRNG)生成用于加密的AES 密鑰和初始化向量(IV),確保加密過(guò)程的高安全性。隨后,對指紋明文數據進(jìn)行AES 加密,生成對應的加密密文。接著(zhù),系統再次利用TRNG 生成存儲位置相關(guān)的信息,以確保密文的安全存儲。最后,將生成的AES 加密信息和加密密文安全地寫(xiě)入FLASH中,以便后續訪(fǎng)問(wèn)和使用。具體流程圖如圖8 所示。
圖8 指紋加密流程
在解密流程中,系統首先接收用戶(hù)輸入的指紋信息作為比對數據的基礎。隨后,從FLASH存儲中讀取之前保存的AES 密鑰、初始化向量(IV) 和加密的正確信息密文。通過(guò)這些關(guān)鍵數據,系統使用AES 解密算法對存儲的密文進(jìn)行解密,得到原始的明文信息。解密完成后,系統將解密得到的明文與用戶(hù)輸入的指紋信息進(jìn)行對比,根據比對結果判斷其正確性,并返回相應的狀態(tài)值。具體流程圖如圖9 所示。
圖9 指紋解密流程
3.4 密碼加密流程
在加密流程中,系統需要獲取用戶(hù)輸入的密碼。然后,使用SHA256 算法對輸入的密碼進(jìn)行加密,得到一個(gè)固定長(cháng)度的哈希值。接下來(lái),將該哈希值存儲到閃存(flash)中以備后續驗證使用。當用戶(hù)再次輸入密碼時(shí),系統會(huì )對輸入的密碼進(jìn)行SHA256 加密,并與閃存中保存的哈希值進(jìn)行比對。如果計算得到的哈希值與存儲的哈希值一致,表示密碼驗證通過(guò);否則,說(shuō)明密碼錯誤。這個(gè)過(guò)程通過(guò)哈希加密確保了密碼的安全性,避免了在存儲過(guò)程中泄露明文密碼的風(fēng)險。具體流程圖如圖10所示。
圖10 密碼加密、密碼判斷流程
3.5 功耗管理
在功耗管理中,系統的休眠流程首先通過(guò)獲取當前模式的運行時(shí)間,計算出剩余時(shí)間。如果剩余時(shí)間為零,系統會(huì )進(jìn)入休眠狀態(tài)以節省能量。與此同時(shí),電池保護機制會(huì )實(shí)時(shí)監測電池電壓。當電池電壓高于3.7 V 時(shí),系統正常運行;當電壓降至3.7 V 以下時(shí),系統會(huì )觸發(fā)充電提醒,提示用戶(hù)進(jìn)行充電;若電壓進(jìn)一步下降至3.3 V 以下,系統則會(huì )自動(dòng)進(jìn)入休眠模式,以保護電池并延長(cháng)其使用壽命。具體流程圖如圖11 所示。
圖11 功耗管理流程
4 零部件設計與制造
4.1 主體裝置
基于MSPM0G3507 的智能加密門(mén)鎖系統的的主體裝置結構如圖12、圖13 所示。
圖12 主體圖
圖13 主體爆炸圖
4.2 開(kāi)鎖裝置
基于MSPM0G3507 的智能加密門(mén)鎖系統的的開(kāi)鎖結構如圖14、圖15 所示。
圖14 雙搖桿結構開(kāi)鎖示意圖
圖15 開(kāi)鎖裝置
5 作品展示
5.1 實(shí)物模型展示
基于MSPM0G3507 的智能加密門(mén)鎖系統的的實(shí)物圖、PCB 和渲染圖如圖16、圖17、圖18 所示。
圖16 實(shí)物展示
圖17 PCB圖
圖18 PCB渲染圖
5.2 功耗展示
根據測量,系統的待機平均電流為31.687 μA。以此計算,一天(24 小時(shí))的待機功耗約為0.76 mAh。待機功耗圖如圖19 所示。
圖19 待機功耗
系統開(kāi)鎖時(shí)的平均功耗為171.332 mA,假設一天開(kāi)門(mén)10 次,每次持續6.072 秒,則一天的開(kāi)門(mén)功耗可通過(guò)計算得出開(kāi)門(mén)功耗約為2.89 mAh。開(kāi)鎖功耗圖如圖20 所示。
圖20 開(kāi)鎖功耗
結合待機和開(kāi)鎖功耗計算,系統一天的總功耗為3.65 mAh。本項目采用了一塊額定容量為5000 mAh 的鋰電池,考慮到實(shí)際使用中的容量衰減,按照80% 的可用容量計算,可提供約4000 mAh的電量。由此可推算,系統在滿(mǎn)電狀態(tài)下的使用時(shí)間為1095 天。
即一次充滿(mǎn)電可以持續運行約3 年,具體使用時(shí)間可能會(huì )因實(shí)際使用頻率和環(huán)境條件有所變化。
(本文來(lái)源于《EEPW》202412)
評論