ARM7實(shí)現指紋考勤系統硬件設計
刷卡采集選用的是MTP-125K4模塊,并選擇ASCII方式以及固定的9600bps輸出RS232數據,感應距離為30cm,其輸出數據端口直接連接CPU的串口1接收端即可。輸出的數據格式為頭碼(02)+10ASCII數據+Checksum校驗碼+結束碼(03),事實(shí)上我們只需存儲10位數據信息中的4位卡號。具體電路如圖3所示。

電源管理
電源管理部分采用了1150mAh的LI電,通過(guò)DC-DC升壓至5V,再通過(guò)LDO給系統所需要的3.3V和2.5V電壓。其中DC-DC是LT1308A芯片,LDO采用AMS1117-3.3V和AMS1117-2.5V,可以為系統提供穩定的電壓供給。
圖4是電源開(kāi)關(guān)控制部分電路,功能為實(shí)現USB和電池供電的切換。當未插入USB時(shí)采用電池供電,而連接時(shí)系統采用USB供電。S9為總電源開(kāi)關(guān)。具體的實(shí)現過(guò)程為:電池供電時(shí),開(kāi)關(guān)S9按下,TEST1點(diǎn)由高變低,Q0導通,NAND網(wǎng)絡(luò )為高,系統開(kāi)始供電,此時(shí)程序運轉并給與SHDN引腳高電平信號,促使Q6導通,此時(shí)即使按鍵抬起TEST1點(diǎn)仍為低電平,維持Q0的導通。當插上USB后,按鍵的按下使得Q4導通,Q0此時(shí)截至,系統由電池供電切換為USB供電,其它道理相同。關(guān)機時(shí)按鍵按下,Power_DET網(wǎng)絡(luò )檢測電平由高變低,給予SHDN低電平,Q6截至,按鍵抬起后無(wú)論是Q0還是Q4均截至,系統斷電。

系統軟件設計
軟件部分除了CPU的底層初始化部分采用ARM匯編,其余全部用C語(yǔ)言編寫(xiě)。
程序初始化后進(jìn)入低功耗模式,等待各種具體操作。當有指紋采集時(shí),就進(jìn)入指紋數據采集和處理模塊,處理結束后,又重新退回低功耗等待模式,等待其他操作。同理,當有讀卡數據或者時(shí)鐘設置響應時(shí),便進(jìn)入相應的操作模塊進(jìn)行處理。值得注意的是,系統有兩種關(guān)機方式。一種是通過(guò)手動(dòng)關(guān)機,另一種則通過(guò)系統定時(shí)器定時(shí)到后自動(dòng)關(guān)機。
圖像數據讀取
根據前面的分析,圖像數據的采集采用的是DMA方式的單步模式。初始化時(shí),除了設置單步模式外,還需要將DMA讀取的源地址設為鎖存器上的片選地址,目的地址則是存儲數據的緩存地址;數據的大小設置為一幀數據的大小,這里為480×640字節。
在讀取數據過(guò)程中,系統首先檢測幀同步信號,以確定一幀的開(kāi)始,然后等待傳感器發(fā)出的DMA請求(與非門(mén)輸出低電平)。當接收到請求后,便按DMA的方式傳輸數據,每接收一個(gè)字節,相應的用于指示剩余字節數的寄存器的值便會(huì )減一,直至減到零,表示數據接收完畢。
讀卡
考慮到刷卡的隨機性,決定采用中斷的方式來(lái)讀取數據。即通常情況下,系統是在低功耗下等待;當有刷卡時(shí),跳出低功耗并讀取數據。
整個(gè)讀取過(guò)程就是對串口通信的操作過(guò)程。當有數據進(jìn)來(lái)時(shí),串口模塊會(huì )產(chǎn)生一個(gè)中斷。因此在相應的中斷響應便可以讀取這一數據,直至數據完整讀取;所讀取的數據中有一個(gè)校驗和,可以幫助驗證數據的正確性。
結語(yǔ)
本本產(chǎn)品目前已經(jīng)研制出樣機,經(jīng)調試檢測各項指標合格,實(shí)現了上述各項功能,滿(mǎn)足了產(chǎn)品的設計指標。
評論