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