基于DSP的車輛碰撞聲檢測裝置設(shè)計
0 引言
本文采用小波分析和模式識別方法分析車輛噪聲信號,設(shè)計了一種基于DSP的車輛碰撞聲檢測裝置,該裝置能有效檢測車輛碰撞事件,實現(xiàn)交通事故的自動識別。相對于已有交通事故檢測裝置具有識別率高、實時性強(qiáng)的優(yōu)點,而且價格較低。
1 硬件設(shè)計
我們設(shè)計的碰撞檢測裝置的原理框圖如圖1所示,首先采用聲音傳感器采集各種聲音信號,傳感器輸出的電信號經(jīng)放大電路放大后,傳入聲音采集芯片的模擬信號輸入端。聲音采集芯片將模擬信號進(jìn)行A/D轉(zhuǎn)換后,送到DSP模塊做進(jìn)一步處理。DSP模塊實時地處理所采集到的聲音信息,判斷是否有車輛碰撞事故發(fā)生。存儲器模塊和DSP模塊相連,用于儲存需要處理的數(shù)據(jù)和固化的代碼數(shù)據(jù),并為DSP模塊運(yùn)算時提供臨時存儲空間。報警模塊和通訊模塊與外部救援中心相通訊,一旦DSP模塊檢測到車輛發(fā)生碰撞事故,報警模塊就向外發(fā)送報警信息。下面分別介紹主要模塊功能。
1.1 聲音采集模塊
聲音采集模塊使用電容式聲音傳感器,采樣頻率為30Hz~18kHz,由于車輛噪聲信號的頻率一般不會超過10kHz,所以該聲音傳感器可很好的實現(xiàn)采樣。聲音傳感器將采集到的模擬信號送入放大電路放大后傳送到聲音采集芯片。
聲音采集芯片采用TLV320AIC23B(簡稱AIC23),它是TI公司的一款高性能立體聲音頻編解碼器芯片,具有48kHz帶寬,可以滿足包括噪聲信號在內(nèi)的聲音信號的采集要求。AIC23對采集到的模擬信號進(jìn)行雙聲道立體聲A/D轉(zhuǎn)換,可以在8kHz-96kHz的采樣率下提供16bit、20bit、24bit和32bit的采樣數(shù)據(jù)。本系統(tǒng)將外部聲信號以32kHz采樣頻率采集,每秒采集32000個聲音數(shù)據(jù),并將采集數(shù)據(jù)的長度設(shè)為16bit,這樣A/D轉(zhuǎn)換之后模擬信號變成了16位的數(shù)字信號。模擬信號轉(zhuǎn)化為數(shù)字信號之后,AIC23將數(shù)據(jù)傳輸給DSP模塊,供DSP模塊作下一步處理。
本系統(tǒng)將AIC23的MODE引腳設(shè)置為O,控制接口設(shè)置為I2C的工作方式,AIC23與DSP模塊的數(shù)據(jù)傳輸接口使用的是DSP模式。這樣DSP模塊就可以控制AIC23協(xié)同工作,并接收AIC23采集到的數(shù)據(jù)。
1.2 DSP模塊
DSP模塊是整個系統(tǒng)的核心,完成音頻信號的采集、控制、存儲、處理以及與外界通訊等功能。選用的是TI公司生產(chǎn)的DSP芯片TMS320V-C5509(簡稱VC5509),它是一款性價比極高的16位定點DSP,具有多個高性能運(yùn)算單元,系統(tǒng)時鐘為144MHz,指令運(yùn)算速度高達(dá)1OOMMACS,而且提供豐富的片上擴(kuò)展接口。
VC5509有兩個多通道緩沖串行口(McBSP),McBSP具有與標(biāo)準(zhǔn)串行接口相同的基本功能,并在標(biāo)準(zhǔn)串行接口的基礎(chǔ)之上對功能進(jìn)行了擴(kuò)展。本系統(tǒng)使用的語音采集芯片AIC23就通過McBSP和DSP相連接,其連接示意圖如圖2所示。其中CLKX為發(fā)送時鐘,CLKR為接收時鐘,它們都和AIC23的系統(tǒng)時鐘BCLK相連。FSX和FSR實現(xiàn)發(fā)送和接收的幀同步,對應(yīng)AIC23的LRCIN和LRCOUT引腳。數(shù)據(jù)發(fā)送引腳DX和數(shù)據(jù)接收引腳DR分別與AIC23的DIN和DOUT相連,完成串行數(shù)據(jù)發(fā)送和接收操作。
VC5509還包含6個可編程的DMA通路,DMA控制器可以無需CPU介入而在內(nèi)部存儲器、外部存儲器和芯片上外設(shè)之間傳輸數(shù)據(jù),當(dāng)操作完成之后,DMA控制器可向CPU發(fā)出中斷請求信號。該系統(tǒng)使用了一個DMA通道0,從數(shù)據(jù)采集模塊讀入數(shù)據(jù)并寫入外部存儲器的特定位置。當(dāng)數(shù)據(jù)采集滿了之后,DMA控制器將產(chǎn)生中斷,控制DSP執(zhí)行數(shù)據(jù)處理程序。DMA的使用減少了系統(tǒng)中斷次數(shù),明顯提高了系統(tǒng)的運(yùn)行速度。
對于聲音采集模塊采集到的聲音數(shù)據(jù),由DSP模塊運(yùn)行檢測軟件對其進(jìn)行分析,并判斷外部是否發(fā)生了碰撞。DSP模塊還引出一個IO口與報警和通訊模塊相通訊,報警和通訊模塊接收此引腳的信號來判斷是否發(fā)生碰撞以決定是否報警。
1.3 存儲器模塊
VC5509支持統(tǒng)一的編址空間,片上內(nèi)存的總?cè)萘繛?20kB,包括128k×16bit的RAM和32k×16bit的ROM,并可以根據(jù)用戶的需要擴(kuò)展到最大為8M×16bit的片外內(nèi)存空間。本系統(tǒng)選用的是HY57V64芯片,是一個有4個1M×16bit邏輯陣列的SDRAM芯片。該芯片接收并存儲DSP模塊傳輸過來的聲信號數(shù)據(jù),當(dāng)DSP模塊需要處理數(shù)據(jù)時也會從該芯片的特定位置讀出相應(yīng)的數(shù)據(jù)。
1.4 報警模塊
報警模塊配有GPS和GSM模塊,獲取位置和速度信息并與服務(wù)器進(jìn)行通訊。DSP模塊從報警模塊的GPS模塊獲得車輛的速度和加速度信息并加入聲信號信息進(jìn)行輔助計算。報警模塊從DSP模塊獲得實時的車輛碰撞信息,一旦檢測到碰撞信號,報警模塊即向服務(wù)器報警。
2 軟件和算法設(shè)計
我們設(shè)計的系統(tǒng)軟件是一個運(yùn)行于DSP之上的程序,控制系統(tǒng)各模塊工作,并完成算法計算。使用TI公司的CCS集成開發(fā)環(huán)境,用C語言和匯編語言進(jìn)行編程。
該軟件首先進(jìn)行初始化,對VC5509和AIC23的運(yùn)行參數(shù)進(jìn)行配置。對VC5509芯片的鎖相環(huán)配置時,將系統(tǒng)時鐘設(shè)置為144kHz。對McBSP進(jìn)行配置時,打開VC5509的McBSP0并啟動其進(jìn)行輸入輸出操作。配置DMA0通道,使其工作于兼容模式并在中斷時停止數(shù)據(jù)的傳輸。配置AIC23的工作模式為DSP模式并使用IIC方式傳輸數(shù)據(jù)。啟動AIC23對聲信號進(jìn)行32k采樣速率的采樣。
評論