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