隨著人們生活水平的提高,公路上的私家車輛也增多了,但隨之帶來的問題就是交通事故發(fā)生率居高不下,嚴(yán)重危害著人們的生命安全。文中就如何預(yù)防交通事故發(fā)生,研究設(shè)計一種響應(yīng)迅速、高可靠性并且經(jīng)濟(jì)實用的汽車防擅報警設(shè)備。該設(shè)備在設(shè)計過程中的關(guān)鍵任務(wù)是利用置于汽車車頭左右兩端的雙路通道高速采集激光雷達(dá)回波信號并對其進(jìn)行實時存儲和處理,進(jìn)而快速測量自身交通工具與障礙物之間的距離及相對速度。
1 系統(tǒng)概述
對用于高速公路中的雷達(dá)系統(tǒng)而言,考慮到開車的速度比較快,對于一些突發(fā)事件無法立刻做出響應(yīng),因此就要求設(shè)計的防撞雷達(dá)探測距離盡量長些,可讓駕駛員提前做好安全準(zhǔn)備工作,因此這種高速公路防撞系統(tǒng)一般選用激光探測法。采用激光測距的汽車防撞系統(tǒng)結(jié)構(gòu)圖,如圖1所示。
2 硬件總體設(shè)計原理及框圖
對于激光雷達(dá)回波信號經(jīng)過光電器件轉(zhuǎn)換后形成的電信號,其信號頻率高,脈沖寬度相對比較窄,信號幅度低,背景噪音大,如果是選用低速的數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集的話,那么將會存在數(shù)據(jù)精度不高的不足,所以必須采用高采樣率、高分辨率的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)總體原理框圖如圖2所示。
該系統(tǒng)的主要信號流程:由激光傳感器獲得的2路激光雷達(dá)回波信號先通過緩沖放大等前端調(diào)理后,同時送到AD轉(zhuǎn)換電路進(jìn)行模數(shù)轉(zhuǎn)換,然后可以同時被中央邏輯控制模塊FPGA來采集,這樣相對于用DSP的分時采集來說,極大的提高了速度。FPGA一方面完成對A/D的采樣控制,另一方面與DSP的EMIF接口形成傳輸通道,完成了AD與DSP之間的數(shù)據(jù)傳輸任務(wù),避免了ADC直接與DSP通信,降低了對大量的數(shù)據(jù)傳輸?shù)膲毫Α?/p>
2.1 前端信號調(diào)理電路
2.1.1 前端放大電路
從傳感器中輸出的信號必須經(jīng)過調(diào)理才能夠有效地進(jìn)行數(shù)據(jù)采集,為了達(dá)到最高的測量精度,應(yīng)該使被測信號的電壓變化范圍放大至ADC最大量程附近,所以需要將傳感器出來的小信號通過前端放大電路線性放大成適合系統(tǒng)的的電信號。在本系統(tǒng)中主要選用了AD公司生產(chǎn)的AD8062低成本的運(yùn)放模塊來實現(xiàn)的,如圖3所示。
2.1.2 前端差分電路
為了消除偶次諧波分量,抑制共模噪聲源,起到系統(tǒng)抗干擾的效果,本系統(tǒng)的AD轉(zhuǎn)換電路采用差分輸入的形式,而信號經(jīng)過放大電路后得到的是單端信號,所以,必須要將前端的輸入單端信號轉(zhuǎn)化為差分信號。本設(shè)計選用了ADI公司生產(chǎn)的AD8620驅(qū)動芯片構(gòu)成差分驅(qū)動電路,其具體電路設(shè)計如圖4所示。
2.2 AD轉(zhuǎn)化電路
在數(shù)據(jù)采集系統(tǒng)中AD是比較重要的環(huán)節(jié),主要完成對激光回波信號的采集工作,而采樣時鐘信號可以由FPGA電路內(nèi)部的時鐘模塊來提供。ADI公司的AD9481,可以采用差分輸入,采樣率達(dá)到250 MSPS,并且采用250 M的PECL標(biāo)準(zhǔn)的時鐘信號,為此在設(shè)計中為產(chǎn)生該差分時鐘信號,考慮選用MC100LEL16的時鐘芯片。AD9481的數(shù)字輸出屬于并行接口,有16位的數(shù)據(jù)流,對于這么高速的數(shù)據(jù)與存儲會出現(xiàn)競爭冒險,使系統(tǒng)不穩(wěn)定,因此在設(shè)計時AD與FPGA的輸出端之間串接了一個100 Ω的電阻,可以消除出現(xiàn)在0~1之間的毛刺與高速數(shù)據(jù)線之間的干擾,具體的AD硬件原理如圖5所示。
2.3 數(shù)據(jù)處理部分硬件電路
本系統(tǒng)數(shù)據(jù)處理部分由FPGA和DSP兩個部分來完成。根據(jù)前一級AD電路的信號輸出時序進(jìn)行VHDL編程,來實現(xiàn)同時對兩路AD輸出的數(shù)字信號的采集,將數(shù)據(jù)輸入到FIFO模塊中,然后通過EMIF總線將數(shù)據(jù)快速傳輸?shù)紻SP里進(jìn)行相關(guān)算法的運(yùn)算。
2.3.1 FPGA電路
FPGA采用硬件編程實現(xiàn)復(fù)雜的邏輯功能,不僅能夠?qū)Σ杉降拇笈繑?shù)據(jù)流進(jìn)行預(yù)處理,而且作為整個控制系統(tǒng)的核心部分,提供系統(tǒng)所需的時鐘信號,保證數(shù)據(jù)的有序采集,而且作為數(shù)據(jù)傳輸?shù)募~帶,保證了AD與DSP進(jìn)行數(shù)據(jù)傳輸。結(jié)合采樣存儲傳輸?shù)裙δ蹻PGA的模塊主要分為4個部分:時鐘管理模塊、A/D控制模塊、FIFO緩存模塊、與DSP的EMIF接口模塊:
1)時鐘管理模塊,該部分主要是產(chǎn)生系統(tǒng)所需的各模塊的時鐘信號,本系統(tǒng)采用ISE軟件自帶的DCM模塊來實現(xiàn)。
2)A/D控制器:根據(jù)當(dāng)前選擇的采樣模式為A/D提供相應(yīng)的控制信號以使A/D正常工作;并通過AD電路的信號輸出時序?qū)D輸出的數(shù)字信號進(jìn)行采集。
3)FIFO緩存模塊:主要實現(xiàn)將高速采集到的數(shù)據(jù)緩存到FIFO中。當(dāng)緩存滿時,F(xiàn)IFO的滿標(biāo)志(full)向DSP申請中斷,DSP相應(yīng)中斷后采用DMA傳輸方式把采樣效據(jù)讀到內(nèi)存中進(jìn)行數(shù)據(jù)實時處理。
4)與DSP的EMIF接口模塊:DSP通過EMIF接口與FPGA內(nèi)部的RAM連接,實現(xiàn)了將FPGA中緩存的數(shù)據(jù)與DSP進(jìn)行高速傳輸?shù)淖饔谩?/p>
2.3.2 DSP與FPGA的接口設(shè)計
本系統(tǒng)在設(shè)計中DSP主要是通過C6713器件的外部存儲器接口EMIF與FPGA進(jìn)行數(shù)據(jù)通信。外部存儲器接口(EMIF)是TMS DSP器件上的一種接口。一般來說,EMIF可實現(xiàn)DSP與不同類型存儲器(SRAM、Flash RAM、DDR-RAM等)的連接。用EMIF與FPGA相連,從而使FPGA平臺充當(dāng)一個協(xié)同處理器、高速數(shù)據(jù)處理器或高速數(shù)據(jù)傳輸接口。
其EMIF的總線接口圖如圖6所示。
在完成對EMIF的DSP配置后,接下來就是實現(xiàn)EMIF接口的FPGA配置工作,保證FPGA中的數(shù)據(jù)正常的讀入到DSP中。在FPGA中配置EMIF接口的連接圖如圖7所示。
該模塊是DSP與FPGA進(jìn)行通信的接口模塊。通過該模塊,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是進(jìn)行讀操作還是寫操作。當(dāng)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 人機(jī)交互模塊
人機(jī)交互模塊分為按健電路和LCD顯示電路。限于篇幅,本文僅介紹LCD電路。
LCD顯示部分我們采用真空熒光顯示點(diǎn)陣式VFD屏,其優(yōu)點(diǎn)是能高亮度發(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模塊組成以及人機(jī)交互模塊組成。而FPGA設(shè)計則由FIFO模塊以及DCM模塊組成,軟件總體模塊框圖如圖9所示。
在整個系統(tǒng)中,DSP芯片負(fù)責(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中,而在運(yùn)行過程中,很多數(shù)據(jù)的處理也要在SDRAM中進(jìn)行;而DSP EMIF模塊主要用來連接FPGA,F(xiàn)LASH和SDRAM。
FPGA邏輯設(shè)計部分包括了AD邏輯設(shè)計,DCM邏輯設(shè)計以及FIFO模塊的邏輯設(shè)計。這塊功能設(shè)計的主要目的是利用FPGA的硬件邏輯模塊,同時進(jìn)行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)點(diǎn)。
最后人機(jī)交互程序主要是包括LCD模塊以及鍵盤模塊。其中LCD來對數(shù)據(jù)進(jìn)行顯示,而鍵盤模塊來對系統(tǒng)的各個參數(shù)進(jìn)行設(shè)定。
4 結(jié)束語
文中在對目前高速數(shù)據(jù)采集系統(tǒng)的發(fā)展?fàn)顩r、FPGA可編程控制器件和DSP數(shù)字信號處理系統(tǒng)的深入研究的基礎(chǔ)上,采用了高速ADC+FPGA+ DSP的設(shè)計方案,設(shè)計了一款高速數(shù)據(jù)采集系統(tǒng),能夠用于高速行駛的汽車防撞報警設(shè)備中,實時檢測目標(biāo)汽車與障礙物之間的距離,及時提醒駕駛員要提高警惕,注意安全駕駛。
評論
查看更多