基于TMS320VC5402的指紋識別系統(tǒng)
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):494
來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:楊志龍 張維新 寇建鋒
摘要:重點(diǎn)介紹以tms320vc5402為核心的指紋識別系統(tǒng)的硬件設(shè)計(jì),概括地說明軟件設(shè)計(jì)方法,最后給出其硬件調(diào)試方法。
關(guān)鍵詞:dsp 指紋識別 tms320vc5402指紋識別作為生物特征識別的一種,有其不可比擬的優(yōu)點(diǎn)。由于可以隨身攜帶這種特殊的“印章”,所以受到越來越多人的重視。本系統(tǒng)使用ti的tms320vc5402(以下簡稱5402)作為核心。dsp與單片機(jī)相比,多用于算法比較復(fù)雜,乘加運(yùn)算量比較大的場合。該芯片為一款定點(diǎn)的dsp,它具有高達(dá)100mips的運(yùn)算能力,同時具有優(yōu)化的cpu結(jié)構(gòu)和一系列的智能外設(shè)。下面著重討論基于該芯片的系統(tǒng)設(shè)計(jì)。
1 總體設(shè)計(jì)指紋系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
該系統(tǒng)是由指紋采集儀、fpga、sram和flash等硬件組成。rs232用于數(shù)據(jù)傳輸,pc機(jī)可以通過該接口得到指紋特征數(shù)據(jù);flash存儲指紋信息庫、lcd用的字符和dsp程序;fpga在dsp的控制下從取指器中取出圖放入sram中;小鍵盤用于用戶輸入id號碼,增強(qiáng)該系統(tǒng)的安全等級。
1.1 存儲空間的軟硬件設(shè)計(jì)
本系統(tǒng)要訪問的存儲器有三個:dsp內(nèi)部daram(16k字,用于存放常量和變量的數(shù)據(jù)空間)、sram和flash。因?yàn)?402有20根地址線可以用來對程序空間尋址,所以有1m字節(jié)的尋址空間,利用高地址線a19來區(qū)分flash和sram。其中sram是bootloader后程序運(yùn)行的空間,這樣就把flash放在高地址上去了。5402的數(shù)據(jù)尋址空間僅為64k,所以要進(jìn)行分頁擴(kuò)展。為了避免和daram的訪問沖突,不能使用64k一頁。因?yàn)?4k中低地址的16k實(shí)際上不能訪問,它優(yōu)先被64k中低地址的16k實(shí)現(xiàn)上不能訪問,它無被daram訪問,所以定為32k的一數(shù)據(jù)頁。分配一個i/o地址,而后通過i/o地址的譯碼對74ls273進(jìn)行使能控制,最后鎖存i/o的數(shù)據(jù)作數(shù)據(jù)頁。當(dāng)對數(shù)據(jù)空間進(jìn)行訪問時,應(yīng)分為以下幾步:
①解析該地址,進(jìn)行分割。前(低)15位為頁內(nèi)地址,后(高)6位為頁地址。
②判斷頁地址是否為0。如果為0,則說明訪問daram,直接使用訪問數(shù)據(jù)的指令;需要的16位地址就是前15位的地址、高位補(bǔ)零,并結(jié)束。
③把頁地址用portw命令送到寄存器(所分配的i/o空間地址)里,頁地址也就在sram的高地址線上了。
④再使用訪問數(shù)據(jù)的指令,需要的16位地址就是前15位的地址、高位補(bǔ)零。
對存儲器的管理,需要編寫一定量的程序。可以設(shè)置一個全局變量存儲頁地址。由于擴(kuò)展頁僅為32k,大于32k的數(shù)組是開辟不出來的,所以使用鏈表。需要注意的是釋放空間時,把相鄰的未使用的空間盡量連接成一大塊,同時需要一個接一個地把用過的堆棧拷貝到堆空間的尾部,使自己空間聚合成一個大塊。
圖2、圖3分別為外部程序擴(kuò)展和數(shù)據(jù)空間擴(kuò)展示意圖。
1.2 rs232通信接口軟硬件設(shè)計(jì)
該系統(tǒng)使用max3110e連接dsp與pc機(jī),通過軟件控制分頻比可獲得通用的300baud~230kbaud的波特率。max3110e內(nèi)部uart與rs232收發(fā)器能夠獨(dú)立工作。mcbsp的時鐘停止模式可以兼容spi主-從協(xié)議。所謂mcbsp的時鐘停止模式是指其時鐘會在每次數(shù)據(jù)傳輸結(jié)束時停止,并在下次數(shù)據(jù)傳輸開始時立即啟動或延半個周期再啟動。其接收器和發(fā)送器是同步的,即clkx和fsx分別與clkr和fsr相連;在傳輸過程中,clkx和fsx又分別用做spi的移位時鐘sck和從方使能ss,可以是輸出(主方),也可以輸入(從方)。其mcbsp初始化編程應(yīng)遵守以下幾個步驟:
①將spcr中的xrst、rrst置為0,處于復(fù)位狀態(tài)。
②mcbsp保持復(fù)位的狀態(tài)下,設(shè)置有關(guān)的寄存器為需要的值。由于spi協(xié)議要求mcbsp在移位輸出數(shù)據(jù)之前,fsx信號必須由dxr->xsr產(chǎn)生fsx,所以xcr寄存器中xdataly位必須設(shè)置為1。
③設(shè)置spcr->grst為1,采樣率發(fā)生器退出復(fù)位狀態(tài),開始工作。
④等待兩個時鐘周期,以確保mcbsp在初始化過程中內(nèi)部能夠正確地同步。
而后,配置max3110e的波特率和發(fā)送波形,發(fā)送數(shù)據(jù)時根據(jù)max3110e的數(shù)據(jù)手冊拼裝成一個16位的字進(jìn)行發(fā)送。接收通過dsp的int0中斷進(jìn)行處理。
1.3 總線控制和驅(qū)動
本系統(tǒng)中總線有兩種:數(shù)據(jù)總線和地址總線。數(shù)據(jù)總線進(jìn)行數(shù)據(jù)交換,地址總線進(jìn)行尋址。因?yàn)閐sp的數(shù)據(jù)總線是3.3v的高電平邏輯值,可能出現(xiàn)不能驅(qū)動外部5v的邏輯電平的情況;而且連接在動能力不足。因此,需要對總線,特別是數(shù)據(jù)總線進(jìn)行加強(qiáng)驅(qū)動能力的設(shè)計(jì)。其中數(shù)據(jù)總線使用sn74lvth16245來進(jìn)行驅(qū)動向驅(qū)動;地址總線是單向的,沒有方向的控制,也沒有使能的控制,使用sn74lvth16244單向驅(qū)動器就可以了。對于數(shù)據(jù)總線的控制,按照所邏輯合理使用了dsp_mstrb。dsp_iostrb、r/w就
來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:楊志龍 張維新 寇建鋒
摘要:重點(diǎn)介紹以tms320vc5402為核心的指紋識別系統(tǒng)的硬件設(shè)計(jì),概括地說明軟件設(shè)計(jì)方法,最后給出其硬件調(diào)試方法。
關(guān)鍵詞:dsp 指紋識別 tms320vc5402指紋識別作為生物特征識別的一種,有其不可比擬的優(yōu)點(diǎn)。由于可以隨身攜帶這種特殊的“印章”,所以受到越來越多人的重視。本系統(tǒng)使用ti的tms320vc5402(以下簡稱5402)作為核心。dsp與單片機(jī)相比,多用于算法比較復(fù)雜,乘加運(yùn)算量比較大的場合。該芯片為一款定點(diǎn)的dsp,它具有高達(dá)100mips的運(yùn)算能力,同時具有優(yōu)化的cpu結(jié)構(gòu)和一系列的智能外設(shè)。下面著重討論基于該芯片的系統(tǒng)設(shè)計(jì)。
1 總體設(shè)計(jì)指紋系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
該系統(tǒng)是由指紋采集儀、fpga、sram和flash等硬件組成。rs232用于數(shù)據(jù)傳輸,pc機(jī)可以通過該接口得到指紋特征數(shù)據(jù);flash存儲指紋信息庫、lcd用的字符和dsp程序;fpga在dsp的控制下從取指器中取出圖放入sram中;小鍵盤用于用戶輸入id號碼,增強(qiáng)該系統(tǒng)的安全等級。
1.1 存儲空間的軟硬件設(shè)計(jì)
本系統(tǒng)要訪問的存儲器有三個:dsp內(nèi)部daram(16k字,用于存放常量和變量的數(shù)據(jù)空間)、sram和flash。因?yàn)?402有20根地址線可以用來對程序空間尋址,所以有1m字節(jié)的尋址空間,利用高地址線a19來區(qū)分flash和sram。其中sram是bootloader后程序運(yùn)行的空間,這樣就把flash放在高地址上去了。5402的數(shù)據(jù)尋址空間僅為64k,所以要進(jìn)行分頁擴(kuò)展。為了避免和daram的訪問沖突,不能使用64k一頁。因?yàn)?4k中低地址的16k實(shí)際上不能訪問,它優(yōu)先被64k中低地址的16k實(shí)現(xiàn)上不能訪問,它無被daram訪問,所以定為32k的一數(shù)據(jù)頁。分配一個i/o地址,而后通過i/o地址的譯碼對74ls273進(jìn)行使能控制,最后鎖存i/o的數(shù)據(jù)作數(shù)據(jù)頁。當(dāng)對數(shù)據(jù)空間進(jìn)行訪問時,應(yīng)分為以下幾步:
①解析該地址,進(jìn)行分割。前(低)15位為頁內(nèi)地址,后(高)6位為頁地址。
②判斷頁地址是否為0。如果為0,則說明訪問daram,直接使用訪問數(shù)據(jù)的指令;需要的16位地址就是前15位的地址、高位補(bǔ)零,并結(jié)束。
③把頁地址用portw命令送到寄存器(所分配的i/o空間地址)里,頁地址也就在sram的高地址線上了。
④再使用訪問數(shù)據(jù)的指令,需要的16位地址就是前15位的地址、高位補(bǔ)零。
對存儲器的管理,需要編寫一定量的程序?梢栽O(shè)置一個全局變量存儲頁地址。由于擴(kuò)展頁僅為32k,大于32k的數(shù)組是開辟不出來的,所以使用鏈表。需要注意的是釋放空間時,把相鄰的未使用的空間盡量連接成一大塊,同時需要一個接一個地把用過的堆?截惖蕉芽臻g的尾部,使自己空間聚合成一個大塊。
圖2、圖3分別為外部程序擴(kuò)展和數(shù)據(jù)空間擴(kuò)展示意圖。
1.2 rs232通信接口軟硬件設(shè)計(jì)
該系統(tǒng)使用max3110e連接dsp與pc機(jī),通過軟件控制分頻比可獲得通用的300baud~230kbaud的波特率。max3110e內(nèi)部uart與rs232收發(fā)器能夠獨(dú)立工作。mcbsp的時鐘停止模式可以兼容spi主-從協(xié)議。所謂mcbsp的時鐘停止模式是指其時鐘會在每次數(shù)據(jù)傳輸結(jié)束時停止,并在下次數(shù)據(jù)傳輸開始時立即啟動或延半個周期再啟動。其接收器和發(fā)送器是同步的,即clkx和fsx分別與clkr和fsr相連;在傳輸過程中,clkx和fsx又分別用做spi的移位時鐘sck和從方使能ss,可以是輸出(主方),也可以輸入(從方)。其mcbsp初始化編程應(yīng)遵守以下幾個步驟:
①將spcr中的xrst、rrst置為0,處于復(fù)位狀態(tài)。
②mcbsp保持復(fù)位的狀態(tài)下,設(shè)置有關(guān)的寄存器為需要的值。由于spi協(xié)議要求mcbsp在移位輸出數(shù)據(jù)之前,fsx信號必須由dxr->xsr產(chǎn)生fsx,所以xcr寄存器中xdataly位必須設(shè)置為1。
③設(shè)置spcr->grst為1,采樣率發(fā)生器退出復(fù)位狀態(tài),開始工作。
④等待兩個時鐘周期,以確保mcbsp在初始化過程中內(nèi)部能夠正確地同步。
而后,配置max3110e的波特率和發(fā)送波形,發(fā)送數(shù)據(jù)時根據(jù)max3110e的數(shù)據(jù)手冊拼裝成一個16位的字進(jìn)行發(fā)送。接收通過dsp的int0中斷進(jìn)行處理。
1.3 總線控制和驅(qū)動
本系統(tǒng)中總線有兩種:數(shù)據(jù)總線和地址總線。數(shù)據(jù)總線進(jìn)行數(shù)據(jù)交換,地址總線進(jìn)行尋址。因?yàn)閐sp的數(shù)據(jù)總線是3.3v的高電平邏輯值,可能出現(xiàn)不能驅(qū)動外部5v的邏輯電平的情況;而且連接在動能力不足。因此,需要對總線,特別是數(shù)據(jù)總線進(jìn)行加強(qiáng)驅(qū)動能力的設(shè)計(jì)。其中數(shù)據(jù)總線使用sn74lvth16245來進(jìn)行驅(qū)動向驅(qū)動;地址總線是單向的,沒有方向的控制,也沒有使能的控制,使用sn74lvth16244單向驅(qū)動器就可以了。對于數(shù)據(jù)總線的控制,按照所邏輯合理使用了dsp_mstrb。dsp_iostrb、r/w就
熱門點(diǎn)擊
- DMF5001液晶顯示器與波形顯示技術(shù)
- 運(yùn)動控制芯片LM628及應(yīng)用
- 用Labwindows/CVI實(shí)現(xiàn)基于C/S
- 基于TMS320C5409的圖像壓縮系統(tǒng)
- 中心頻率為10.525GHz的DZ9861微
- 高精度4-3/4數(shù)字萬用表芯片TC8131、
- 真有效值A(chǔ)C/DC轉(zhuǎn)換器AD736及其在RM
- CAV414集成電路與電容性傳感器的應(yīng)用
- ST450 PI網(wǎng)絡(luò)晶體中間測試機(jī)的電控設(shè)計(jì)
- LM331壓頻變換器的原理及應(yīng)用
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究