基于DSP和FPGA的汽車防撞高速數(shù)據(jù)采集系統(tǒng)
在完成對EMIF的DSP配置后,接下來就是實現(xiàn)EMIF接口的FPGA配置工作,保證FPGA中的數(shù)據(jù)正常的讀入到DSP中。在FPGA中配置EMIF接口的連接圖如圖7所示。本文引用地址:http://www.ex-cimer.com/article/192881.htm
該模塊是DSP與FPGA進行通信的接口模塊。通過該模塊,DSP可以實現(xiàn)向FPGA傳輸控制信號,F(xiàn)PGA也可以通過該模塊將FIFO中的數(shù)據(jù)傳給DSP。CE、WE、RE、OE為DSP輸入的使能信號,CLK為FPGA提供內(nèi)部時鐘,CLKOUT2是EMIF的輸出時鐘,為DSP與FPGA通信提供時鐘頻率,DSP_Addr(19:0)為DSP的輸入地址,DSP_DataBus(31:0)為DSP的數(shù)據(jù)總線。FPGA根據(jù)讀使能信號OE與片選信號CE的輸入邏輯來判斷EMIF是進行讀操作還是寫操作。當DSP通過EMIF讀取數(shù)據(jù)時,F(xiàn)PGA中的數(shù)據(jù)從dpram_data(31:0)輸入,由DSP_DataBus(31:0)管腳傳送給DSP;若寫數(shù)據(jù),將DSP_DataBus(31:0)傳來的數(shù)據(jù)從dout(31:0)送入FPGA。
2.4 人機交互模塊
人機交互模塊分為按健電路和LCD顯示電路。限于篇幅,本文僅介紹LCD電路。
LCD顯示部分我們采用真空熒光顯示點陣式VFD屏,其優(yōu)點是能高亮度發(fā)光。由于我們選擇的屏是5 V供電,所以由DSP過來的3.3 V的信號線需要經(jīng)過74LVCA245轉(zhuǎn)化為5 V,再與VFD屏的控制器接口相連,LCD控制器接口如圖8所示。
3 軟件設(shè)計
本系統(tǒng)軟件主要由DSP和FPGA組成。其中DSP由系統(tǒng)初始化部分;系統(tǒng)功能模塊的EMIF模塊,F(xiàn)LASH模塊和SDRAM模塊組成以及人機交互模塊組成。而FPGA設(shè)計則由FIFO模塊以及DCM模塊組成,軟件總體模塊框圖如圖9所示。
在整個系統(tǒng)中,DSP芯片負責(zé)DSP系統(tǒng)初始化部分和系統(tǒng)功能模塊兩個部分。其中DSP系統(tǒng)初始化部分包括DSP引導(dǎo)程序,DSP芯片中各硬件寄存器的設(shè)置,以及EDMA,定時中斷等寄存器的設(shè)置。而系統(tǒng)功能模塊中,包括FLASH模塊和SDRAM模塊,由于本系統(tǒng)中DSP需要處理的數(shù)據(jù)容量比較大,自身的存儲容量不夠,所以一些數(shù)據(jù)需要存儲于FLASH中,而在運行過程中,很多數(shù)據(jù)的處理也要在SDRAM中進行;而DSP EMIF模塊主要用來連接FPGA,F(xiàn)LASH和SDRAM。
FPGA邏輯設(shè)計部分包括了AD邏輯設(shè)計,DCM邏輯設(shè)計以及FIFO模塊的邏輯設(shè)計。這塊功能設(shè)計的主要目的是利用FPGA的硬件邏輯模塊,同時進行2路高速AD數(shù)據(jù)的采集,并將數(shù)據(jù)放至由ISE軟件的IPcore生成的FIFO中,最后由FIFO再通過由與EMIF相對應(yīng)的邏輯接口將數(shù)據(jù)傳輸?shù)紻SP中。而整個邏輯設(shè)計過程中,其時鐘均由DCM模塊來產(chǎn)生,DCM模塊可以由ISE軟件的IPcore來生成,可以通過IP core生成系統(tǒng)需要的時鐘頻率,有延時少,抖動小等優(yōu)點。
最后人機交互程序主要是包括LCD模塊以及鍵盤模塊。其中LCD來對數(shù)據(jù)進行顯示,而鍵盤模塊來對系統(tǒng)的各個參數(shù)進行設(shè)定。
4 結(jié)束語
文中在對目前高速數(shù)據(jù)采集系統(tǒng)的發(fā)展狀況、FPGA可編程控制器件和DSP數(shù)字信號處理系統(tǒng)的深入研究的基礎(chǔ)上,采用了高速ADC+FPGA+ DSP的設(shè)計方案,設(shè)計了一款高速數(shù)據(jù)采集系統(tǒng),能夠用于高速行駛的汽車防撞報警設(shè)備中,實時檢測目標汽車與障礙物之間的距離,及時提醒駕駛員要提高警惕,注意安全駕駛。
評論