基于A(yíng)RM7的指紋考勤機設計
摘要: 以ARM7芯片為核心,設計了一款指紋考勤機。此產(chǎn)品兼具指紋考勤和刷卡考勤兩項基本功能。
關(guān)鍵詞: ARM7;DMA;考勤機;指紋采集;射頻卡
引言
生物識別技術(shù)依靠其鑒別的唯一性和可靠性,經(jīng)過(guò)近十年的發(fā)展,應用已經(jīng)越來(lái)越廣泛和成熟,目前指紋識別技術(shù)已趨向民用市場(chǎng)普及,指紋考勤機就是其主要的應用之一。筆者采用功能強大的S33C44B0X處理器設計了一款指紋考勤機,在功能、接口、價(jià)格等方面都有著(zhù)極大的優(yōu)勢。
所設計的考勤機具有指紋采集和刷卡采集兩大基本功能。指紋采集部分采用CMOS光學(xué)傳感器。刷卡采集相應的射頻模塊,它可以通過(guò)串口的方式與CPU通信??记跈C和上位機的通訊則采用通用的模擬USB接口,有效地達到了即保證低成本又方便用戶(hù)使用的目的。另外還加入了USB充電,實(shí)時(shí)時(shí)鐘顯示,語(yǔ)音提示等眾多人性化功能。系統的框圖如圖1所示。
圖1 系統功能框圖
系統硬件設計
本系統主CPU采用的是三星公司的S3C44B0X處理器,該處理器具有功能多、功耗低、運算速度快、價(jià)格低廉等優(yōu)點(diǎn)。
硬件設計主要包括指紋采集、刷卡采集、和電源管理三個(gè)部分。
存儲器采用外接的方式,分別接了64M的HY57V641620HG的SDRAM和16M的39VF1601的flash。語(yǔ)音提示模塊采用的是總長(cháng)為21S錄音時(shí)間的AP8921A芯片。
上位機通訊通過(guò)CH341芯片進(jìn)行異步串口轉USB1.1接口,用戶(hù)對外可以按照正常的USB接口使用,省去了麻煩的串口。系統采用了MAX1508芯片通過(guò)USB接口給鋰電充電,平時(shí)采用電池供電,插上USB接口后即可通過(guò)USB接口給系統供電,并給鋰電充電。
按鍵總共有三個(gè),一個(gè)是系統的開(kāi)關(guān)機按鍵,另外兩個(gè)分別是實(shí)時(shí)時(shí)鐘設的置按鍵和方向鍵。
指紋采集
指紋采集傳感器采用OV7620,并以I2C總線(xiàn)及DMA的數據傳輸方式實(shí)現與CPU的信息交互。圖2為指紋采集接口。
圖2 指紋采集接口
J1為采集頭的接口,主要有15個(gè)引腳,其中引腳8至引腳15為數據輸出接口,連接至鎖存器,最終接到數據總線(xiàn)上;引腳6、7為I2C總線(xiàn),用于對傳感器寄存器進(jìn)行初始化設置;引腳3到引腳5分別為傳感器的時(shí)鐘信號、行同步信號和幀同步信號。幀同步信號直接連接至CPU的通用I/O端口GPF3上,行同步信號和時(shí)鐘信號通過(guò)與非門(mén)接至CPU的外部DMA請求輸入nXDREQ1。
當nXDREQ1輸出由高電平變得低電平時(shí),傳感器便有數據輸出,并且數據能夠維持至下一個(gè)同樣的過(guò)程的到來(lái)。這正好符合44B0的外部DMA請求的單步模式的要求。于是自然就可以采用DMA的方式來(lái)讀取數據。最終的數據讀取是通過(guò)片選鎖存器來(lái)實(shí)現的。由于DMA的方式不干預CPU,因此也大大提高了讀取的速度。
刷卡采集
刷卡采集選用的是MTP-125K4模塊,并選擇ASCII方式以及固定的9600bps輸出RS232數據,感應距離為30cm,其輸出數據端口直接連接CPU的串口1接收端即可。輸出的數據格式為頭碼(02)+10ASCII數據+Checksum校驗碼+結束碼(03),事實(shí)上我們只需存儲10位數據信息中的4位卡號。具體電路如圖3所示。
圖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均截至,系統斷電。
圖4電源管理模塊
系統軟件設計
軟件部分除了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
評論