羸彩彩票

深圳市組創微電子有限公司
銷售部:158 1687 4032采購部:0755-8299 4126行政部:0755-8299 4126
咨詢電話
0755-8299 4141

IoT智慧生活

客戶成功故事與項目成功案例

電子密碼鎖單片機硬件設計


目前,在國外RSA電子加密鎖技術運用已經非常成熟,尤其在美國、德國等計算機技術發達國家,它的運用已經相當普遍,美國已經將這項技術運用到了公鑰加密標準和電子商業中。電子密碼鎖包括圖形鎖、密碼鎖、指紋鎖、人臉識別等,這些安全鎖使用不同的設鎖和解鎖的模式,大多運用電容、機器碼、熱感等開鎖原理,具有很高的安全性,對于網絡用戶的個人信息和財務等方面的安全提供了有力保障。但是,還是有少部分高智商的犯罪分子仍然無視他們的存在,究其主要原因還是因為這些加密技術在現有的破鎖技術下可強破性很高,如此的結果就使的他們無法達到對更高機密的保護要求。

當下,RSA電子密碼鎖開鎖解鎖模式和美國所運用的RSA密碼鎖解鎖開鎖模式基本相符,只是運用的主要硬件有所不同,電子密碼鎖所使用的STC89C52單片機內部使用匯編語言處理信息,對代碼的要求較低,提升了電子密碼鎖廣泛應用的可行性。而在本設計思路中運用了RSA密鑰加密技術,由于RSA加密技術在當下還屬于不可強破的加密技術,從而增加了密碼鎖的不可強破性,提高了電子密碼鎖的安保性能,操作簡單、性價比更高。

一、電子密碼鎖單片機系統設計

1.1單片機的內部引腳原件功能和外部實現

單片機是一種集成電路芯片,采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等,還包括顯示驅動電路、發送數據的功能,具有接收信息、處理信息和做出外部響應的功能,以此來模擬密碼鎖。其內部有四個八位并行I/O端口:記作P0、P1、P2和P3,每個端口都是準雙向口,包含一個鎖存器、一個輸出驅動器和一個輸入緩沖器。

P0口主要用于數碼管的顯示。P1口主要用于外部開鎖閉鎖和相對狀態的顯示,輸入輸出電路圖如圖1所示。P2端口的第1位(P2.1)接在繼電器的DIO端,在單片機內控制高低電平,為P3口控制中斷提供指令。P3口主要是控制器,端口的第0位連接藍牙的TX端,是單片機串口的接收端,P3端口的第1位連接藍牙的RX端,是單片機串口的發送端。按鍵S4在內部連接P3端口的第2位,為外部中斷0(低電位),按鍵S5在內部連接P3端口的第3位,為部中斷1(高電位)。

圖 1 P1口的輸入輸出電路圖

P1口作為通用I/O口,被設計為電子密碼鎖的外部鎖頭的旋轉控制,對P1的操作可以采用字節操作,也可以采用位操作。復位以后,口鎖存器為“1”,對于作為輸入的口線,相應位的口鎖存器不能寫入“0”,在圖1中P1.0~P1.3作為輸出線,分別接,鎖身、鎖柄、開鎖狀態指示燈和閉鎖狀態指示燈,P1.4~P1.7作為輸入線,接四個開關S0~S3。圖1子程序采用字節操作指令將開關狀態送到P1.0~P1.3顯示,S1,S2閉合P1.0和P1.2分別處于開鎖和開鎖指示狀態,S3,S4閉合P1.1和P1.3分別處于閉鎖和閉鎖指示狀態,如果狀態指示燈不能與鎖頭鎖柄同步進行指示狀態,說明電子加密鎖出現故障,需要維修。

1.2單片機的功能

1)連接:和連接轉換模塊一樣,藍牙模塊的RX連接單片機的TX,藍牙模塊的TX連接單片機的RX,此處說明單片機的RX和TX引腳分別為P3.0 RXD(串行輸入口)和P3.1 TXD(串行輸出口),之后可相互記錄彼此的IP地址。在藍牙模塊和單片機進行連接的時候,還要注意保持兩者的晶振相同,一般在12MHZ左右,晶振大小可在某平臺購買的時候在詳細數據參數中查詢。

2)傳送數據:數據傳送的匯編語言指令一共有28種,用到的助記符有如下8種:MOV、MOVC、XCH、XCHD、SWAP、PUSH、POP、MOVX,也可以使用C語言代碼中的UART_DMA_Enable傳送信息,電子加密鎖主要使用了UART_DMA_Enable調用dma(直接存儲器)的發送方式。傳送數據的類型可分為內部RAM的數據傳輸指令和片外RAM的數據傳輸指令,片內RAM的數據傳送指令可以分為立即型、直接型、寄存器型和寄存器間址型,立即型數據傳輸一般使用助記符MOV。而電子密碼鎖所使用的是片內RAM的立即數據型傳送指令。

51單片機的串口,是個全雙工的串口,發送數據的同時,還可以接收數據。當串行發送完畢后,將在標志位TI置1,同樣,當收到了數據后,也會在RI置1。無論RI或TI出現了1,只要串口中斷處于開放狀態,單片機都會進入串口中斷處理程序。在中斷程序中,要區分出來研究是發送引起的中斷,還是接收引起的中斷,然后分別進行處理。如果接收到1,則將P10置高電平,接收到0,P1.0置低電平。處于高電平時,開鎖狀態,輸入輸出電路如圖1所示,以此來完成開鎖請求。

3)接收信息:接收信息,代碼使用程序存儲器ROM取數據指令,這種指令只有兩條,完成從程序存儲器ROM中讀入數據,傳送至累加器。這兩條指令常用于查表操作,故又被稱之為查找指令,內部主要依賴于P3.6/WR(外部數據存儲器寫選通)和P3.7/RD(外部數據存儲器讀選通)。串口接收程序基于串口中斷,單片機串口每次接收到一字節數據產生一次中斷,然后再讀取寄存器就可以得到串口所接收的數據。然而在實際應用當中,基本上不會有單字節接收的情況。一般都是基于一定串口通信協議的多字節通信。在422或者485通信中,還可能是一個主機(一般是計算機)帶多個從機(相應的有單片機的板卡)。這就要求單片機能夠在連續接收到的串口數據序列中識別出符合自己板卡對應的通信協議,來進行控制操作,不符合則不進行任何操作。簡而來說就是,單片機要在一串數據中找到符合一定規律的幾個字節的數據,來達到匹配效果。

二、藍牙模塊原理和功能

2.1藍牙模塊的功能和作用

藍牙模塊是指集成藍牙功能的芯片基本電路集合,用于無線網絡通訊,大致可分為三大類型:數據傳輸模塊、遠程控制模塊和數據采集模塊。一般模塊具有半成品的屬性,是在芯片的基礎上進行加工,使后續應用更為方便。電子密碼鎖使用的是半成品藍牙模塊。電子密碼鎖藍牙模塊相當于開鎖裝置,是用來存儲RSA加密源碼和解秘源碼的模塊,同時具有與單片機進行藍牙方式連接、發送信息和接收信息的功能。

1)連接:使用的是HC-05型號的藍牙模塊,通過USB-TTL轉接器,在與單片機進行連接之前連接到電腦上,通過串口調試助手調試。進入命令調試模式,輸入AT指令,設置模塊的參數。設置藍牙的名稱,用指令AT+name=”xxx”\r\n設置藍牙模塊名字為xxx,方便后續查找。設置自動連接模式的串口波特率為9600,為了與藍牙模塊波特率進行匹配,用指令AT+uart=9600,0,0\r\n,設置波特率為9600,停止位1位,無校驗位。若藍牙模塊為手機時,可直接使用手機藍牙功能進行藍牙連接,在藍牙模塊的Java代碼內進行波特率設置。

2)發送信息:配對完成后,設備之間已經記錄了雙方的IP地址,通過點擊listView設備,觸發HandleMessage線程傳輸數據,數據流以字節流的形式進行傳播。

3)接收數據:通過觸發handerler.sendMessage自動接收數據流,以字節的方式接收之后再進行字符形式的轉換,達到獲取數據的目的。

2.2硬件功能流程

開始使用電子密碼鎖時,首先對藍牙模塊和單片機進行初始化,主要是執行重啟操作即可,第二步在藍牙模塊上只需要按請求鍵請求請求重新生成密碼密鑰,可在,單片機接收并信息處理信息,做出生成密碼和保存密碼的指令,單片機顯示屏會提示密碼設置完成,第三步,利用藍牙模塊發出解鎖請求信息,在液晶顯示屏上顯示開鎖成功,開鎖狀態指示燈點亮,鎖頭旋轉,達到解鎖的目的。解鎖開鎖的過程省去了手動輸入密碼是過程,在內部使用函數直接調用接收信息端口。

結語

電子加密鎖選擇51單片機,是因為它的指令簡單,外圍電路簡單,硬件設計方便,I/O口操作簡單,無方向寄存器,可用資源豐富,一般設計就可以滿足電子密碼鎖的需要,而且易學易懂,方便后期電子密碼鎖的維修工作。而藍牙模塊,價格便宜、容易購買,資料豐富容易獲得,程序編寫簡單,低功率,便于在停電的情況下使用小功率電池長期供電使用,而且使用藍牙通信,不受互聯網的限制,即便在沒有無線網的情況下也可以正常使用。所以基于51單片機模塊設計的電子密碼鎖將以其操作簡單、安全系數高和價格低廉等特點,被大眾所接受并得到廣泛的應用。

以上就是我們深圳市組創微電子有限公司為您介紹的電子密碼鎖開發示例。如果您有電子密碼鎖控制板方案開發需求,可以放心交給我們。我們代理多種單片機、語音芯片、雙模藍牙IC、wifi芯片。品牌有松翰單片機、應廣單片機、杰理藍牙、安凱藍牙、全志、瑞昱(realtek)。我們的技術服務范圍有:PCB設計、單片機開發、藍牙方案、軟硬件定制開發、APP開發、小程序開發、微信公眾號開發等。還可以承接智能電子產品方案設計、生活電器開發、美容儀器研發、物聯網平臺應用、智能家居控制系統、TWS耳機、藍牙耳機音箱開發、兒童益智玩具方案開發、電子教育產品方案設計等。