版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)的指紋識(shí)別系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)案例目錄TOC\o"1-3"\h\u18359基于單片機(jī)的指紋識(shí)別系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)案例 [6]。該芯片是ARM公司所推出的STMF103系列最高配的芯片,其最高頻率最高可達(dá)72MHZ。STM32F103ZET6芯片內(nèi)部包括64KB片內(nèi)SRAM存儲(chǔ)器、512KB片內(nèi)Flash存儲(chǔ)器;其內(nèi)部定時(shí)器包含1個(gè)24位系統(tǒng)節(jié)拍器定時(shí)器、2個(gè)16位基本定時(shí)器、2個(gè)16位高級(jí)定時(shí)器、2個(gè)加窗口的看門狗定時(shí)器、2個(gè)可產(chǎn)生PWM波控制電機(jī)控制器和和4個(gè)16位通用定時(shí)器。當(dāng)然STM32F103ZET6芯片擁有13個(gè)外部通信接口,包括3個(gè)SPI、2個(gè)I2C、1個(gè)CAN、5個(gè)UART、1個(gè)并行SDIO和一個(gè)USB2.0設(shè)備;當(dāng)然STM32F103系列最高配置的芯片也擁有這112個(gè)高速通用輸入輸出口,因此我們可以任意定義16接線口作為外部中斷輸出口;除了這些主要的配置外,該芯片還包括3個(gè)12位模數(shù)轉(zhuǎn)換器、2個(gè)12位數(shù)模轉(zhuǎn)換器、1個(gè)內(nèi)部溫度傳感器和8MHz的晶體振蕩器等。如下圖2-3所示的是STM32F103ZET6核心板的核心部分:圖2-3STM321003RCT6內(nèi)部電路圖除此之外,STM32F103ZET6芯片還支持串口和ST-Link的仿真和調(diào)試。因此在指紋識(shí)別過程中,能夠有效的接收來自AS608指紋傳感器的數(shù)據(jù)和信號(hào),通過其自身強(qiáng)大的系統(tǒng)處理對(duì)所傳輸?shù)闹讣y進(jìn)行篩選和分析能夠輕易的滿足設(shè)計(jì)者的種種需求,因此有著理想的應(yīng)用前景。2.3.3串口通信接口如圖2-4所示的是MAX3232芯片,該芯片的功能實(shí)現(xiàn)數(shù)據(jù)的電平互換,使上位機(jī)和下位機(jī)能夠正常的進(jìn)行數(shù)據(jù)傳輸。MAX3232芯片的9號(hào)腳和10號(hào)腳分別對(duì)應(yīng)數(shù)據(jù)的發(fā)送與接收;MAX3232芯片需要與3.3V的電源相接,而且在默認(rèn)情況下,該電路外接的都是0.1uF電容;而且max3232通常情況下能夠運(yùn)行在235kbps數(shù)據(jù)速率,即使在較差的環(huán)境下也能運(yùn)行在120kbps數(shù)據(jù)速率,如此一來就能夠大大的提高效率。圖2-4MAX3232內(nèi)部結(jié)構(gòu)圖本次通信設(shè)計(jì)主要利用USART2來進(jìn)行傳送,USART2的傳送最大頻率為36MHZ。2.3.43.2寸LCD顯示屏概述在設(shè)計(jì)過程中,需要采用一個(gè)3.2寸的LCD顯示屏來顯示錄指紋、刷指紋等操作的結(jié)果,以此來驗(yàn)證程序是否滿足所設(shè)計(jì)的要求進(jìn)行運(yùn)行。本次采用的是德飛萊系列的顯示屏。如下圖2-4所示為其3.2寸LCD顯示屏的內(nèi)部接口:該下圖2-4所示LCD的寫信號(hào)和讀信號(hào)的管腳是LCD_WR和LCD_RD;LCD的片選信號(hào)的管腳是LCD_CS;16位雙向數(shù)據(jù)線分別對(duì)應(yīng)DB0~DB15,我們需要按照順序連接MCU的D0~D15的接口才能正確顯示;硬復(fù)位LCD信號(hào)的管腳是LCD_RST;命令/數(shù)據(jù)標(biāo)志的管腳是LCD_RS,其中0代表命令,1代表數(shù)據(jù)。本次設(shè)計(jì)系統(tǒng)主要執(zhí)行的是對(duì)LCD顯示屏的寫操作,因此我們先設(shè)置RS為高電平,之后拉低片選選中顯示屏,接著將寫數(shù)據(jù)置WR為低電平,在WR上升為高電平時(shí),使顯示屏能夠顯示數(shù)據(jù)。圖2-4LCD顯示屏的內(nèi)部電路圖2.4無線通訊ESP8266芯片介紹本次設(shè)計(jì)的無線通訊模塊選擇的是ATK-ESP8266芯片,ESP8266芯片是現(xiàn)如今WIFI網(wǎng)絡(luò)解決方案的主要芯片,可以兼容3.3VARM系統(tǒng),其功能足夠?qū)⑽覀兯a(chǎn)生的數(shù)據(jù)傳送到我們的PC端口處,有效的滿足我們的性能需求。除此之外,ESP8266片上能力使其能夠通過GPIO使其可通過,實(shí)現(xiàn)了前中期的運(yùn)行最小地利用系統(tǒng)資源。由于ESP8226片內(nèi)高度集中,因此對(duì)于需求不大外部電路,因此可以有效的減少電路的損耗。ESP8266芯片一般支持市場(chǎng)上常見的串口轉(zhuǎn)AP、串口轉(zhuǎn)WIFISTA和WIFISTA+WIFIAP三類形式,因此我們可以任意設(shè)計(jì)一種串口轉(zhuǎn)換模式,以此將設(shè)備中的數(shù)據(jù)傳輸?shù)交ヂ?lián)網(wǎng)中。當(dāng)然ESP8266模塊還支持LVTTL串口,可以便攜的連接其他硬件。ESP8266模塊非常輕巧,約大拇指蓋這么大,攜帶起來非常方便,其電路模塊如下圖2-5所示:圖2-5ESP8266芯片的內(nèi)部電路圖如上圖2-5所示,ESP8266芯片是通過串口與主控制器進(jìn)行連接,在與連接過程中僅僅需要VCC、GND、TXD、RXD這四個(gè)管腳通過杜邦線進(jìn)行連接。VCC是ESP8266的電源接口,和主控制器一樣連接3.3V電源;GND是電源接地,我們僅需與主控制器即可;當(dāng)然TXD和RXD分別是無線通訊模塊的數(shù)據(jù)串口的發(fā)送腳和接收腳,在本次設(shè)計(jì)中和主控制器的串口3進(jìn)行相連;CH_PD管腳在芯片處于工作模式時(shí),其管腳為高電平,反之在處于低電平時(shí)供電會(huì)關(guān)掉;除此之外對(duì)于GPIO0管腳來說,通過外接了一個(gè)LED燈可以判斷ESP8266芯片是否處于工作狀態(tài)。當(dāng)然ESP8266的管腳還有很多,在這里就不在一一闡述了??偟膩碚f,WIFI模塊會(huì)通過USART3串口來和主控制器進(jìn)行數(shù)據(jù)的傳送,并在PC端來顯示數(shù)據(jù)的傳送。第三章指紋識(shí)別系統(tǒng)的軟件設(shè)計(jì)3.1STM32開發(fā)環(huán)境介紹本次軟件設(shè)計(jì)工具將使用Keil5,Keil5是Keil公司所推出的最新一代Keil系列的軟件。該軟件適用于各個(gè)層次的程序設(shè)計(jì)師,而且keil5軟件能夠適用于STM32系列的各類開發(fā)板,并且支持各類仿真器的下載與調(diào)試。并且能夠在電腦端進(jìn)行仿真運(yùn)行,有效的幫助程序設(shè)計(jì)師完成任務(wù)。3.2指紋識(shí)別系統(tǒng)軟件的開發(fā)3.2.1主程序的開發(fā)基于STM32所設(shè)計(jì)的主程序主要包括:指紋采集、指紋錄用、指紋對(duì)比、無線傳輸?shù)纫幌盗袑?duì)于指紋的處理,再結(jié)合過程中通過對(duì)程序的改寫使對(duì)于指紋識(shí)別系統(tǒng)的指紋識(shí)別成功率達(dá)到90%以上,讀卡速度達(dá)到波特率19200以上。其主函數(shù)的程序框圖如下圖3-1所示:圖3-1指紋識(shí)別的主控制設(shè)計(jì)流程當(dāng)系統(tǒng)開始通電后,首先是對(duì)于程序進(jìn)行初始化定義,在初始化完成后開始對(duì)指紋開始檢測(cè)和識(shí)別,對(duì)于刷指紋來說當(dāng)人的手指按在AS608指紋傳感器上面時(shí),會(huì)產(chǎn)生一個(gè)中斷信號(hào)給主控器發(fā)送一個(gè)取圖像的指令。當(dāng)開始錄入時(shí),顯示屏?xí)霈F(xiàn)“請(qǐng)按指紋”的字符,之后如果指紋正常的按下,則會(huì)出現(xiàn)“指紋正常請(qǐng)?jiān)诎匆淮沃讣y”,如果兩次按下的指紋不同,則會(huì)顯示“指紋錯(cuò)誤”的提示,反正如果兩次指紋識(shí)別結(jié)果相同,則會(huì)出現(xiàn)“對(duì)比成功是否錄入”的顯示,此時(shí)我們可以選擇是否錄入。如果我們錄入進(jìn)去的話就可以在下一次用相同指紋按在AS608指紋傳感器上面的話就會(huì)顯示“搜索成功”的字符,即就是主程序的過程,其主程序部分初始化函數(shù)如下:Delay_init();//延時(shí)函數(shù)初始化NVIC_Configuration();//設(shè)置NVIC中斷分組uart_init(115200);//串口初始化為115200usart2_init(usart2_baund);//初始化串口2UART4_init(115200);初始化串口3LED_Init();//LED端初始化LCD_Init();//液晶屏初始化KEY_Init();//按鍵初始化tp_dev.init();//初始化觸摸屏usmart_dev.init(72);//usmart初始化mem_init(SRAMIN);//初始化內(nèi)部?jī)?nèi)存池f_mount(0,fs[0]);//掛載SD卡f_mount(1,fs[1]);//掛載FLASH3.2.2指紋采集程序設(shè)計(jì)對(duì)于指紋采集這一塊,首先是對(duì)主控制器的初始化,在對(duì)于主控制器初始化完成后,通過SPI通信接口對(duì)AS608指紋傳感器發(fā)送信號(hào),其錄指紋和刷指紋的程序框圖如下:刷指紋流程如圖3-2所示:圖3-2刷指紋識(shí)別的設(shè)計(jì)流程錄指紋流程如圖3-3所示:圖3-3錄指紋的設(shè)計(jì)流程綜上對(duì)于錄指紋和刷指紋的流程圖,其大體都是先通過與指紋庫(kù)指紋進(jìn)行對(duì)比后在進(jìn)行下一步流程,即都是主控制器通過SPI通訊對(duì)傳感器寫數(shù)據(jù)的過程,在整個(gè)寫入程序的過程中都需要遵循SPI通訊協(xié)議。因?yàn)锳S608指紋傳感器默認(rèn)情況下是輸出高電平,所以我們將狀態(tài)引腳(PA6)配置為下拉輸入模式,因此需要定義GPIO接口。其GPIO初始化部分函數(shù)如下:voidPS_StaGPIO_Init(void){GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//初始化PA6輸入GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//設(shè)置時(shí)鐘速度頻率,最高可達(dá)50MHzGPIO_Init(GPIOA,&GPIO_InitStructure);}除了定義GPIO接口之外,還需要定義多個(gè)指令包括錄入指紋、生成特征、對(duì)比指紋、搜索指紋、合并特征等等,由于這些指令函數(shù)與定義GPIO接口的程序格式都相差無幾,在此就不在一一列舉。3.2.3串口通訊程序設(shè)計(jì)本次串口通訊程序設(shè)計(jì)采用usart2接口,當(dāng)有指紋按在AS608指紋傳感器時(shí),此時(shí)主控制器會(huì)通過usart2來接收數(shù)據(jù)。在處理完接收數(shù)據(jù)之后會(huì)出現(xiàn)中斷函數(shù),使定時(shí)器中斷從而能夠接收下一個(gè)數(shù)據(jù)。在發(fā)送數(shù)據(jù)時(shí),通過定義printf(char*fmt,...)函數(shù)能夠確定發(fā)送數(shù)據(jù)的長(zhǎng)度,并逐漸發(fā)送數(shù)據(jù)到LED屏幕中。其初始化部分串口程序如下:GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//選中PA2作為輸出接口GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA2GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;//選中PA3作為輸入接口GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化PA33.2.4無線通訊程序設(shè)計(jì)針對(duì)于無線通訊程序的設(shè)計(jì),我們通過ESP8266芯片將主控制器和網(wǎng)絡(luò)進(jìn)行連接,并利用AS608傳感器采集到的數(shù)據(jù)上傳至云平臺(tái)后能夠?qū)崿F(xiàn)無線通訊。該模塊的程序框圖如圖3-4所示。圖3-4無線通訊的設(shè)計(jì)流程針對(duì)于無線通訊模塊,首先是我們通過USB轉(zhuǎn)TTL設(shè)備來對(duì)ESP8266芯片進(jìn)行檢驗(yàn)來判斷芯片是否損壞,在USB轉(zhuǎn)接口中我們需要將ESP8266芯片的接線口與USB轉(zhuǎn)接口相連,即RX接TX,TX接RX,GND接GND,VCC接5V。其實(shí)物連接圖如圖3-5所示:圖3-5USB轉(zhuǎn)TTL與ESP8266芯片連線圖當(dāng)USB轉(zhuǎn)接口與ESP8266芯片連接完成后,需要通過對(duì)串口調(diào)試助手發(fā)送AT指令集對(duì)ESP8266芯片進(jìn)行檢驗(yàn)。需要注意的是,電腦和WIFI調(diào)試模塊需要在同一個(gè)局域網(wǎng)中,我們可以讓PC端和WIFI測(cè)試模塊都連接手機(jī)熱點(diǎn),按照AT指令對(duì)串口助手發(fā)送指令,在檢驗(yàn)過程中如果界面顯示“OK”的字樣則表示硬件沒有問題。除此之外,由于每個(gè)ESP8266芯片的網(wǎng)絡(luò)地址都不一樣,因此我們還需要通過串口助手來查詢芯片的網(wǎng)絡(luò)地址,在這一步的操作過程中我們依然需要AT指令集來查詢網(wǎng)絡(luò)地址,其操作過程如圖3-6所示:圖3-6串口調(diào)試助手頁(yè)面經(jīng)過指令集的查詢?cè)撔酒刂窞椤?92.168.4.1”,因此在下一步的網(wǎng)絡(luò)助手調(diào)試中我們僅僅需要連接此地址就可以實(shí)現(xiàn)WIFI無線通訊。除此之外,本次設(shè)計(jì)的程序是通過ATK-ESP8266芯片程序嫁接而來的,因此包括WIFISTA、WIFIAP和WIFISTA+WIFIAP三種模式,由于本次設(shè)計(jì)主要應(yīng)用的是WIFIAP模式,因此僅對(duì)WIFIAP模塊的程序進(jìn)行修改,來實(shí)現(xiàn)無線通訊,其無線參數(shù)如下所示:constu8*wifiap_ssid="ATK";//對(duì)外SSID號(hào)constu8*wifiap_password="12345678";//連接密碼由上兩段程序可知,我們可以通過改變參數(shù)的設(shè)計(jì)來實(shí)現(xiàn)對(duì)于其ID號(hào)和密碼的改動(dòng)。
第四章系統(tǒng)測(cè)試和結(jié)果分析4.1有線狀態(tài)下錄入指紋當(dāng)系統(tǒng)在有線的狀態(tài)下,其錄入指紋按照LCD顯示屏所顯示的屏幕進(jìn)行識(shí)別,在識(shí)別過程中,在顯示屏中會(huì)出現(xiàn)“2021畢業(yè)設(shè)計(jì)姓名:謝魯晉”等漢字,當(dāng)出現(xiàn)這些文字后,則有線狀態(tài)下的指紋識(shí)別過程就能夠開始識(shí)別,其狀態(tài)如下圖4-1所示:圖4-1有線狀態(tài)的指紋識(shí)別4.1.1刷指紋狀態(tài)當(dāng)開始進(jìn)入刷指紋時(shí),如果測(cè)試者的指紋在之前有過錄入的狀態(tài)化,那么在刷指紋時(shí),LCD顯示屏?xí)@示“Searchfingerprintsuccess”的字符,這樣就意味著刷入指紋成功。其結(jié)果如下圖4-2所示:圖4-2刷指紋成功狀態(tài)反之,如果在之前沒有錄入指紋,則會(huì)出現(xiàn)“Afingerprintiswrong”的字符,這樣的話就意味著刷指紋失敗,系統(tǒng)識(shí)別不到測(cè)試者的指紋。由此我們就可以利用這些來判斷錄入指紋的真假性。其結(jié)果如下圖4-3所示:圖4-3刷指紋失敗狀態(tài)4.1.2錄指紋狀態(tài)在指紋識(shí)別的過程中,我們需要錄入指紋的程序,以此能夠達(dá)到刷指紋時(shí)能夠判斷指紋是否正確,其大體步驟如下:當(dāng)測(cè)試者要進(jìn)行錄指紋時(shí),我們需要按下“add_fg”這一按鍵來開始指紋錄入的第一步,當(dāng)按下去后顯示屏就會(huì)顯示“Pleasetouchfinger!”的英文字母以此代表著需要將指紋按在AS608的指紋傳感器上,當(dāng)?shù)谝淮伟聪轮讣y時(shí),如果指紋正常沒有異常和損傷就會(huì)顯示“Fingerprintcorrect”的字符,這樣就代表著完成了錄入指紋的第一步,其實(shí)物圖如下圖4-4所示:圖4-4第一次錄入指紋成功與第二次錄入指紋開始在正常情況下錄下第一次的指紋后,顯示屏?xí)@示“Comparetwicefingerprint”代表著錄下第二次指紋,如果指紋正常沒有異常和損傷就會(huì)顯示“Twicefingerprintaresame”的字符,這代表著第二次指紋的錄入的成功,其實(shí)物如下圖4-5所示:圖4-5兩次指紋對(duì)比成功當(dāng)?shù)诙武浫氤晒?,?huì)顯示“InputIDandsavewithENTER!”的字符,如果我們想錄入指紋庫(kù)中就觸摸“Enter”的按鍵,反之就觸摸“DEL”按鍵。其實(shí)物如圖4-6所示圖4-6存入指紋狀態(tài)4.2無線狀態(tài)下在無線狀態(tài)下,我們需要電腦端連接ESP8266芯片所使用WIFI用戶,當(dāng)我們連接后STM32主控制器就會(huì)接收到指令,從而在LCD顯示屏中顯示“WIFI已經(jīng)與客戶端連接”,反之就會(huì)顯示“WIFI未與客戶端連接”,在電腦端處我們使用的網(wǎng)絡(luò)調(diào)試助手來進(jìn)行無線的通訊,本次我們使用的端口利用的是8080端口,因此在無線狀態(tài)時(shí)顯示圖如下圖4-7所示:圖4-7實(shí)物已于PC端相連以及PC端的連接狀態(tài)在無線指紋識(shí)別過程中,其刷指紋和錄入指紋的狀態(tài)和有線狀態(tài)下幾乎沒有太大的差別,只不過在指紋識(shí)別過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 甲型流感防控知識(shí)試題及答案解析
- 護(hù)理三基考試模擬題(附答案)
- 地毯設(shè)計(jì)師職業(yè)考核試卷及答案
- 瑜伽教練考試習(xí)題及答案
- ??松梨冢ㄖ袊?guó))招聘面試題及答案
- 2026字節(jié)跳動(dòng)秋招真題及答案
- 初級(jí)會(huì)計(jì)職稱考試試題及答案
- 中共南充市委對(duì)外聯(lián)絡(luò)辦公室下屬事業(yè)單位2025年度公開考調(diào)工作人員的考試備考題庫(kù)附答案
- 中國(guó)電建集團(tuán)西北勘測(cè)設(shè)計(jì)研究院有限公司2026屆秋季招聘55人備考題庫(kù)附答案
- 五險(xiǎn)一金待遇優(yōu)厚!濱州經(jīng)開區(qū)渤海實(shí)驗(yàn)學(xué)校擴(kuò)班高薪急聘小學(xué)語數(shù)英初中英語游泳教師!參考題庫(kù)附答案
- 2025年湖南邵陽(yáng)經(jīng)開貿(mào)易投資有限公司招聘12人參考試題附答案解析
- 第三方管理制度規(guī)范
- 城市感知體系研究報(bào)告2025
- 老年口腔健康促進(jìn)行動(dòng)實(shí)施辦法
- 2025算力行業(yè)剖析及融資租賃業(yè)務(wù)模式探索
- 赤峰市敖漢旗2025年網(wǎng)格員考試題庫(kù)及答案
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國(guó)水合肼行業(yè)市場(chǎng)深度分析及投資戰(zhàn)略數(shù)據(jù)分析研究報(bào)告
- 探空氣球課件
- 船舶除銹涂裝課件
- 雨課堂學(xué)堂在線學(xué)堂云人類行為與社會(huì)環(huán)境內(nèi)蒙古大學(xué)單元測(cè)試考核答案
- 天貓店主體變更申請(qǐng)書
評(píng)論
0/150
提交評(píng)論