【正文】
后再送TMS320VC5402 匯編器進(jìn)行匯編。上位機(jī)則使用 VC++來編寫控制接收界面和以后要進(jìn)行指紋識(shí)別的框架。一般的功能的代碼兩種語言都可以使用;但對于運(yùn)算量較大的預(yù)處理算法,必須用匯編來完成。 本設(shè)計(jì)中有三大軟件系統(tǒng),即為 DSP、 USB 和上位機(jī)的程序。主從 USB 接口 SIE 是 USB 主機(jī)方式和 USB 設(shè)備方式的一體式 SIE,用于完成物理的 USB 數(shù)據(jù)接收和發(fā)送,自動(dòng)處理位跟蹤和同步、 NRZI 編碼和解碼、位填充、并行數(shù)據(jù)與串行數(shù)據(jù)之間的轉(zhuǎn)換、 CRC 數(shù)據(jù)校驗(yàn)、事務(wù)握手、出錯(cuò)重試、 USB 總線狀態(tài)檢測等。 I N T 1R S T I2W R 3R D 4T X D5R X D6NC7A08V39U D +10U D 11G N D12XI13XO14D015D116D217D318D419D520D621D722G N D23A C T 24R S T25R S T 26C S 27V C C28C H 3 75U6C H 3 75C 241 04C 232 20 uF+ VY31 2MC 203 0p FC 213 0p FD0D1D2D3D4D5D6D7U C SC 221 03U S B I N TRDWRR 191kR 123 .3R 133 .3+ 5VR 115 .1L14 7u H+C 251 00 uFR 151kR 161k32184U 10 AL M 3 93+ 5VR 141 0kU P S11223344U S BP1R 172 0kU S B A 0+ V+ V+ VL E D 4Y E L L O W+ VD51 N 4 00 7D41 N 4 00 7L E D 2L E DL E D 3L E DUSB 圖 34 USB 電路設(shè)計(jì) CH375 芯片內(nèi)部集成了 PLL 倍頻器、主從 USB 接口 SIE、數(shù)據(jù)緩沖區(qū)、被動(dòng)并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。在內(nèi)置固件模式下, CH375 自動(dòng)處理 默認(rèn)端點(diǎn) 0 的所有事務(wù),本地端 DSP 只要負(fù)責(zé)數(shù)據(jù)交換,所以 DSP 程序非常簡潔。在計(jì)算機(jī)系統(tǒng)中, CH375 的配套軟件提供了簡潔易用的操作接口,與本地端的 DSP 通訊就如同讀寫文件。 CH375 是一個(gè) USB 總線的通用接口芯片,支持 USBHOST 主機(jī)方式和USBDEVICE/SLAVE 設(shè)備方式。通用 的本地 8 位數(shù)據(jù)總線:讀選通、寫選通、片選輸入、中斷輸出。 CH375 內(nèi)置固件模式下屏蔽了相關(guān)的 USB協(xié)議,自動(dòng)完成標(biāo)準(zhǔn)的 USB 枚舉配置過程,完全不需要本地端控制器作任何處理,簡化了 DSP 的固件編程。 USB 既是一種總線規(guī)范,又是一種傳輸協(xié)議。 其應(yīng)用范圍不斷擴(kuò)大, USB 以其即插即用、總線供電 、傳輸速度快、支持熱拔插等便捷特點(diǎn)應(yīng)用越來越廣 。 USB 通訊特 點(diǎn) USB 是 PC 體系中的一套全新的工業(yè)標(biāo)準(zhǔn), USB 全稱為 Universal Serial Bus(通用串行總線 ),是 1994 年 11 月由 IBM、 Intel、 Compaq、 DEC、 Microsoft、 NEC 和 NorthTele共同推出的 PC 外設(shè)接口標(biāo)準(zhǔn),由于其具有使用方便及成本低廉等優(yōu)點(diǎn),迅速得到業(yè)界的強(qiáng)力 支持,目前己經(jīng)成為主流的總線標(biāo)準(zhǔn)。無論是串口還是并口都是點(diǎn)對點(diǎn)的連接,一個(gè)接口僅支持一個(gè)設(shè)各。GCLK(2)2VCCINT3I/O4I/O5I/O(1)6GND7I/O8I/O9I/O10I/O11I / O12V C C I O13( 3 ) I / O ( T D I )14I / O15I / O16I / O17I / O18G N D19I / O20I / O21I / O22( 3 ) I / O ( T M S )23I / O24I / O25V C C I O26I / O27I / O28I / O29I / O30I / O31G N D32I/O33I/O34I/O35I/O36I/O37VCCIO38I/O(1)39I/O40I/O41GND42VCCINT43I/O44I/O45I/O (1)46GND47I/O48I/O49I/O50I/O51I/O52VCCIO53I / O54I / O55I / O56I / O57I / O58G N D59I / O60I / O61I / O ( T C K ) ( 3)62I / O63I / O64I / O65V C C I O66I / O67I / O68I / O69I / O70I / O ( T D O ) ( 3)71G N D72I / O73I / O74I/O75I/O76I/O77VCCIO78I/O(1)79I/O80I/O81GND82INPUT/GCLK(1)83INPUT/OE184M A X 7 1 2 8U4M A X 7 12 8SD1C T M SC T D O+ V+ V+ V+ 5V+ V+ V+ 5V+ V12345678910J3C O N 10+ 5V+ 5VC T M SC T D IC T C KC T D ODSPSISM S T R BI O S T R BR / WD0D2D3D4D5D6D7A0A1A2A3 A4 A5 A6 A7 A8 A9 A10A11A12A13A14A15A16A17A18A19WRRDSCSUCSF C SRAMCESDIRF P S A 0USBA0S O EC A 1 5C A 1 6C A 1 7SMRI N T 0I N T 1I N T 2SINTF P S I N TUSBINTREADYC T C KC T D I12345R P 21 0kC T C KC T D OC T M SC T D ISA1SA0SA2V C C1NC2G N D3O U T4Y55 0M H z+ 5VR 2730XFB I OL E D 5R E DR 281k+ VUPS 圖 33 CPLD 電路設(shè)計(jì) 數(shù)據(jù)通訊單元 USB 在早期的計(jì)算機(jī)系統(tǒng)上,常用串口或并口連接外圍設(shè)備。為此,需將 DSP 的讀寫控制信號(hào)在 CPLD 中進(jìn)行適當(dāng)?shù)倪壿嫿M合后,用于控制外部器件。當(dāng)讀外部芯片時(shí),此信號(hào)線代表的是讀信號(hào),輸出為高電平;當(dāng)寫外部芯片時(shí),此信號(hào)代表的是寫信號(hào),輸出為低電平。 R/W:讀寫信號(hào),用于控制數(shù)據(jù)傳輸方向,在默認(rèn)狀態(tài)下為高電平,作為讀信號(hào)來使用。 MSTRB:外部存儲(chǔ)器選通信號(hào),用于訪問外部程序或數(shù)據(jù)存儲(chǔ)器,在默認(rèn)狀態(tài)下為高電平,只有 在訪問外部存儲(chǔ)器時(shí)才為低電平。一旦程序加載完成,系統(tǒng)就不再需要程序存儲(chǔ)器了,因此上電后,利用軟件編程使 XF 輸出為低電平,釋放 FLASH 所占用的空間,由 SRAM 占用數(shù)據(jù)空間。從時(shí)空的角度而言,這兩者是分時(shí)占據(jù)數(shù)據(jù)空間的,所以在分時(shí)訪問不同存儲(chǔ)器芯片時(shí)需要分別為它們安排相應(yīng)的選通信號(hào),該選通信號(hào)由 DSP 的數(shù)據(jù)空間選擇信 號(hào) DS和通用 I/O口信號(hào) XF 來實(shí)現(xiàn)。共分配了兩個(gè) I/O 地址空間給 FPS200,其索引寄存器端口地址為 0x8000,而其數(shù)據(jù)寄存器端口地址為 0x8001。 DSP 程序空間也是統(tǒng)一編址的,當(dāng) DSP 檢測到所尋址的空間不在內(nèi)部時(shí),會(huì)自動(dòng)到外部程序空間去尋址。 PS:程序空間選擇信號(hào)。默認(rèn)情況下為高電平,只有尋址外部的數(shù)據(jù)空間時(shí)才為低電平。默認(rèn)情況下為高電平,只有尋址外部的 I/O 空間時(shí)才為低電平。 DSP 尋址空間模塊設(shè)計(jì) TMS320VC5402 有 3 個(gè)片選管腳用于分配外部器件映射到那個(gè)存儲(chǔ)空間中。 QUARTUS II 具有 EDIF、 VHDL、 Verilog HDL,以及其它的網(wǎng)表接口,便于為工作在工業(yè)標(biāo)準(zhǔn) PC 機(jī)和工作站上的各種 EDA 工具提供附加的設(shè)計(jì)輸入和仿真支持。為了能構(gòu)成復(fù)雜的邏輯函數(shù),每個(gè)宏單元可使用共享擴(kuò)展乘 積項(xiàng)和高速并聯(lián)擴(kuò)展乘積項(xiàng),向每個(gè)宏單元提供多達(dá) 32 個(gè)乘積項(xiàng)。 ( 2) MAX7000 有 32~ 256 個(gè)宏單元。用戶可編程的MAX7000 結(jié)構(gòu)可容納各種各樣,獨(dú)立的組合邏輯和時(shí)序邏輯函數(shù)。 CPLD 的選型 相對于其它從事可編程器件研發(fā)的廠家來說, ALTERA 公司所開發(fā)的 CPLD 產(chǎn)品占有較大的市場范圍,其 MAX7000 系列器件更是同性能產(chǎn)品中的佼佼者。 全局邏輯控制單元 CPLD 系統(tǒng)中大多數(shù)外圍器件與 DSP 的握手 信號(hào)都是通過可編程邏輯器件來完成的,按其所實(shí)現(xiàn)的功能可分為如下兩個(gè)模塊: ( 1) DSP 尋址空間模塊: VC5402 可尋址的數(shù)據(jù)空間為 64K,系統(tǒng)中由 SRAM 和FLASH 分時(shí)占用這一空間,該模塊根據(jù) DSP 輸出的控制信號(hào)和數(shù)據(jù)空間選擇信號(hào)分時(shí)尋址這兩個(gè)存儲(chǔ)體。 之后檢查起始地址的內(nèi)容是否為關(guān)鍵字。 本設(shè)計(jì) 采用 8 位并行存儲(chǔ)器引導(dǎo)模式。引導(dǎo)程序選擇 ( BRS )字確定引導(dǎo)模式。 DSP 的引導(dǎo) 順序 如下: 通過驅(qū)動(dòng) I/O 選通信號(hào) ( /IS )為低電平,引導(dǎo)程序讀取地址為 0FFFH 的 I/O 端口。若 MC/MP=1,則從外部程序存儲(chǔ)器的 FF80H 開始執(zhí)行,該位置有一個(gè)分支指令,用來啟動(dòng)引導(dǎo)模式。 DROM=1,則部分片內(nèi) ROM 安排到數(shù)據(jù)空間; DROM=0,則部分片內(nèi) ROM 不安排到數(shù)據(jù)空間。 0080H3FFFH 定義為片內(nèi) DRAM; OVLY=0, 0000H3FFFH 全部定義為片外程序空間。 ( 2) OVLY 位決定 0000H3FFFH 程序存儲(chǔ)空間的片內(nèi)、片外分配控制。 ( 1) CPU 工作方式控制位 MP/MC 決定 4000H—FFFFH 程序存儲(chǔ)空間的片內(nèi)、片外空間分配。通過工作方式寄存器 PMST 寄存器中的狀態(tài)位: MP/MC 位、 OVLY 位、 DROM位來決定 “使能 ”和 “禁止 ”程序和數(shù)據(jù)空間中的這些片內(nèi)存儲(chǔ)器。其獨(dú)立的