??? 摘 要: 采用MPEG-4壓縮算法、DSP技術(shù)和現(xiàn)代電子技術(shù),研制了汽車運(yùn)行狀況圖像監(jiān)測(cè)系統(tǒng)。在總體設(shè)計(jì)方案的基礎(chǔ)上,基于DSP芯片ADSP-BF533" title="ADSP-BF533">ADSP-BF533設(shè)計(jì)了系統(tǒng)硬件,并采用C語(yǔ)言與匯編語(yǔ)言進(jìn)行混合編程,開發(fā)了系統(tǒng)軟件。為提高系統(tǒng)可靠性和穩(wěn)定性,從軟、硬件兩方面采取了抗干擾措施。本文所研制的汽車運(yùn)行狀況圖像監(jiān)測(cè)系統(tǒng)具有對(duì)大量視頻圖像數(shù)據(jù)" title="圖像數(shù)據(jù)">圖像數(shù)據(jù)的存儲(chǔ)、壓縮和回放等功能,能夠?qū)崿F(xiàn)對(duì)汽車運(yùn)行狀況圖像實(shí)時(shí)記錄。
??? 關(guān)鍵詞: 汽車? 圖像監(jiān)測(cè)? MPEG-4? DSP技術(shù)
?
??? 目前交通事故責(zé)任的認(rèn)定令公安部門、交通部門、保險(xiǎn)公司、汽車生產(chǎn)廠商非常關(guān)注。目前,所有事故原因的調(diào)查、分析、統(tǒng)計(jì)工作都只能根據(jù)事故發(fā)生后現(xiàn)場(chǎng)的狀況來(lái)推斷,所以難免有不符合事實(shí)的情況。
??? 隨著數(shù)字技術(shù)的發(fā)展,圖像數(shù)據(jù)壓縮編碼" title="壓縮編碼">壓縮編碼技術(shù)及其標(biāo)準(zhǔn)的改進(jìn),以及芯片成本的不斷下降,使得嵌入式實(shí)時(shí)圖像監(jiān)測(cè)系統(tǒng)的研究受到了人們的重視。本文采用美國(guó)模擬器件公司最新推出的專用音視頻處理芯片ADSP-BF533和目前流行的MPEG-4視頻壓縮算法,通過(guò)IDE接口硬盤研制了汽車運(yùn)行狀況圖像智能監(jiān)測(cè)系統(tǒng)。該系統(tǒng)不但具有汽車運(yùn)行圖像采集功能,能為交通事故和盜車分析提供有力的證據(jù),而且結(jié)構(gòu)簡(jiǎn)單、成本低、可靠性高、可移植性強(qiáng)、擴(kuò)展靈活,不僅可以滿足汽車圖像的監(jiān)測(cè),而且還可以應(yīng)用到金融、交通、公安、監(jiān)獄、廣場(chǎng)、小區(qū)等圖像監(jiān)控場(chǎng)所,具有廣泛的應(yīng)用前景。
1 設(shè)計(jì)方案
??? 汽車運(yùn)行狀況圖像監(jiān)測(cè)系統(tǒng)的結(jié)構(gòu)圖如圖1所示。
?

?
??? 系統(tǒng)主要由視頻圖像采集模塊、圖像壓縮編碼模塊、編碼數(shù)據(jù)存儲(chǔ)模塊、GPS模塊及電源電路組成。其中視頻圖像采集模塊使用CMOS攝像頭OV7648采集視頻數(shù)據(jù);圖像壓縮編碼模塊通過(guò)MPEG-4壓縮編碼庫(kù)將OV7648輸出的ITU-R656數(shù)字信號(hào)進(jìn)行壓縮編碼;編碼數(shù)據(jù)存儲(chǔ)模塊的功能將編碼數(shù)據(jù)通過(guò)FAT32文件系統(tǒng)" title="文件系統(tǒng)">文件系統(tǒng)存儲(chǔ)于硬盤;GPS模塊為系統(tǒng)提供實(shí)時(shí)時(shí)間、行車速度以及經(jīng)緯度等信息。由于視頻圖像數(shù)據(jù)量大,而ADSP-BF533內(nèi)部存儲(chǔ)器容量有限,所以外擴(kuò)了SDRAM作為視頻圖像數(shù)據(jù)的緩存器;該系統(tǒng)的程序全部存儲(chǔ)于外擴(kuò)的Flash上;整個(gè)系統(tǒng)的供電電源由汽車上的直流蓄電池供電,使用DC-DC電壓模塊獲得各部分電路所需的電壓。
??? 系統(tǒng)工作過(guò)程如下:ADSP-BF533通過(guò)DMA方式從PPI接口將攝像頭輸出的數(shù)字視頻信號(hào)直接存入SDRAM;當(dāng)采集完一幀數(shù)據(jù)后,DMA產(chǎn)生中斷,ADSP-BF533從SDRAM中讀入數(shù)據(jù)進(jìn)行MPEG-4視頻編碼,編碼后的數(shù)據(jù)存入SDRAM;每當(dāng)壓縮后的數(shù)據(jù)超過(guò)8KB時(shí)調(diào)用一次FAT32文件系統(tǒng),將數(shù)據(jù)存入硬盤。每當(dāng)檢測(cè)到汽車啟動(dòng)時(shí),將新建一個(gè)視頻文件,在檢測(cè)到停車時(shí),結(jié)束該文件。GPS模塊為系統(tǒng)提供實(shí)時(shí)時(shí)間、經(jīng)緯度和行車速度等信息,并通過(guò)LCD顯示出來(lái)。當(dāng)系統(tǒng)檢測(cè)到汽車連續(xù)行駛2個(gè)小時(shí)以上時(shí),將通過(guò)蜂鳴器報(bào)警,以提示司機(jī)疲勞駕駛,并在行車記錄中進(jìn)行記錄。
2 系統(tǒng)的硬件設(shè)計(jì)
2.1 ADSP-BF533最小系統(tǒng)
2.1.1 ADSP-BF533數(shù)字處理器芯片
??? Blackfin processor是美國(guó)模擬器件公司推出的一類新型的嵌入式處理器,專門應(yīng)用在數(shù)字圖像處理領(lǐng)域。其運(yùn)算速度快,具有多種外設(shè)接口,可以方便地進(jìn)行各種擴(kuò)展。本課題選用Blankfin processor系列中的ADSP-BF533,它擁有運(yùn)算速度高達(dá)600MHz的DSP內(nèi)核,采用了ADI公司和Intel公司聯(lián)合開發(fā)的MSA架構(gòu)技術(shù),內(nèi)含2個(gè)16位乘法器,2個(gè)40位累加器,2個(gè)40位算術(shù)邏輯單元(ALU),4個(gè)8位視頻ALU以及1個(gè)40位移位器,提供了專門的視頻處理硬件單元和視頻處理指令,并支持動(dòng)態(tài)電源管理,充分滿足了實(shí)時(shí)圖像處理的要求[3]。
2.1.2 存儲(chǔ)器電路
??? 因?yàn)橐曨l數(shù)據(jù)信息量很大,而ADSP-BF533內(nèi)部存儲(chǔ)器容量有限,所以系統(tǒng)外擴(kuò)SDRAM作為視頻數(shù)據(jù)的緩存器。SDRAM與ADSP-BF533的接口圖如圖2所示。
?

??? 系統(tǒng)SDRAM采用Hynix公司的HY57V561620,它是一款高速的同步動(dòng)態(tài)存儲(chǔ)器,組成結(jié)構(gòu)為4Banks×4M×16bit。
??? 系統(tǒng)程序存儲(chǔ)在Flash中。Flash選用ADI公司的AM29LV800BT。其容量為1MB,工作電壓為2.7V~3.6V,可以被配置為8位或者16位的數(shù)據(jù)寬度。
??? AM29LV800BT與ADSP-BF533接口圖如圖3所示。
?

2.2 視頻圖像采集
??? CMOS圖像傳感器芯片選用ADI公司推薦的OmniVision? OV6650。這款芯片的像素陣列是352×288;具有自動(dòng)曝光、自動(dòng)白平衡、自動(dòng)增益等功能;視頻信號(hào)輸出有RGB、YUV、YCrCb等多種模式;可以通過(guò)I2C總線進(jìn)行控制,被廣泛應(yīng)用于圖像采集領(lǐng)域。
??? CMOS圖像傳感器通過(guò)一個(gè)CAMERA INTERFACE 口與ADSP-BF533連接。CMOS傳感器與ADSP-BF533接口圖如圖4所示。
?

?
??? 因?yàn)锳DSP-BF533沒有I2C接口,所以將PF0和PF1與CMOS傳感器OV6650的SIO_C和SIO_D相聯(lián),通過(guò)軟件模擬了一個(gè)I2C接口。OV6650的輸出數(shù)據(jù)同步信號(hào)線PCLK連接在ADSP-BF533的PPI_CLK口。
2.3 IDE硬盤接口
???? IDE(Integrated Drive Electronics),也叫ATA(Advanced Technology Attachment),ATA接口最早是在1986年由康柏、西部數(shù)據(jù)等幾家公司共同開發(fā)的,在九十年代初開始應(yīng)用于臺(tái)式機(jī)系統(tǒng)。IDE接口硬盤的數(shù)據(jù)傳輸模式經(jīng)歷過(guò)三個(gè)不同的技術(shù)變化,由最初的PIO模式,到DMA模式,再到Ultra DMA模式。
2.4 GPS數(shù)據(jù)處理模塊" title="處理模塊">處理模塊
??? 本系統(tǒng)采用的GPS模塊GPS-G01是一款超低功耗的GPS接收板,備有連接有源天線的直角MCX接頭。內(nèi)置TIM-LC模塊,提供一路3V串口和一路RS232標(biāo)準(zhǔn)串口(3V串口兼容5V TTL輸入電平,兩路串口內(nèi)容一樣),支持3.15到5.25V范圍內(nèi)的工作電壓輸入,提供有源天線監(jiān)控、手動(dòng)工作模式選擇開關(guān)。
??? 為了能在處理GPS各種信息的同時(shí),保證圖像信息的正常處理,本系統(tǒng)通過(guò)一片AT89C2051篩選GPS傳來(lái)的數(shù)據(jù),將需要的日期、時(shí)間、經(jīng)緯度、速度等信息提取之后傳給DSP系統(tǒng),同時(shí)通過(guò)LCD顯示。
??? 因?yàn)锳T89C2051與BF533系統(tǒng)之間的通信和AT89C2051與GPS模塊之間的通信都需要使用串行口,所以在單片機(jī)中通過(guò)軟件模擬了一個(gè)串行口,用于與DSP系統(tǒng)的通信;而將單片機(jī)本身帶有的串行口用于接收GPS模塊傳來(lái)的數(shù)據(jù)。電路如圖5所示。
?

3 系統(tǒng)軟件設(shè)計(jì)
??? 根據(jù)設(shè)計(jì)要求及系統(tǒng)硬件模塊的劃分,本系統(tǒng)的軟件主要分為DSP系統(tǒng)軟件和GPS數(shù)據(jù)處理模塊軟件。
??? DSP系統(tǒng)軟件的主要任務(wù)是基于已開發(fā)的MPEG4編碼庫(kù)和FAT32文件系統(tǒng)實(shí)現(xiàn)圖像數(shù)據(jù)的采集、處理與存儲(chǔ),GPS信息的接收與存儲(chǔ),以及對(duì)司機(jī)疲勞駕駛的報(bào)警等。
??? GPS數(shù)據(jù)處理模塊軟件的主要任務(wù)是應(yīng)用GPS技術(shù)提取時(shí)間、位置、速度等參數(shù),并進(jìn)行格式轉(zhuǎn)換,將轉(zhuǎn)換后的參數(shù)通過(guò)LCD顯示,同時(shí)傳遞給DSP系統(tǒng)。
3.1 MPEG-4壓縮編碼模塊
??? MPEG-4代表了基于模型/對(duì)象的第二代壓縮編碼技術(shù),根據(jù)圖像的內(nèi)容將其分割成不同的視頻對(duì)象VO(Video Object),然后進(jìn)行編碼[5]。本課題研究并編寫了MPEG-4簡(jiǎn)單框架的壓縮編碼算法[6],其基本編碼結(jié)構(gòu)包括:形狀編碼、運(yùn)動(dòng)補(bǔ)償和紋理編碼;使用的主要技術(shù)是:運(yùn)動(dòng)估計(jì)補(bǔ)償、DCT變換和混合DPCM編碼[7]。
??? 該算法可以針對(duì)圖像寬度、圖像長(zhǎng)度、量化系數(shù)、編碼碼流和輸入數(shù)據(jù)格式等參數(shù)進(jìn)行設(shè)定和配置。
??? 根據(jù)課題的要求,MPEG-4壓縮編碼算法的輸入數(shù)據(jù)格式為:352×288像素的4:2:2的YUV數(shù)據(jù)。
??? 基于ADSP-BF533實(shí)現(xiàn)的MPEG-4簡(jiǎn)單框架框圖如圖6所示。

?
3.2 FAT32文件系統(tǒng)模塊
??? 本系統(tǒng)在硬盤中所存儲(chǔ)的數(shù)據(jù)要求能夠直接被PC機(jī)讀取,所以在硬盤上要建立FAT32文件系統(tǒng)。該文件系統(tǒng)分為四個(gè)模塊:(1)FAT32文件系統(tǒng)參數(shù)的讀取模塊;(2)FAT32文件系統(tǒng)的地址轉(zhuǎn)換模塊;(3)FAT32文件系統(tǒng)的FAT表搜索模塊;(4)FAT32文件系統(tǒng)的文件目錄搜索模塊。各模塊都提供了一些接口函數(shù),可以被其他程序調(diào)用。
??? 在數(shù)據(jù)存儲(chǔ)子程序中通過(guò)調(diào)用以上幾個(gè)模塊的函數(shù)來(lái)實(shí)現(xiàn)壓縮數(shù)據(jù)的大容量存儲(chǔ)。系統(tǒng)采用邏輯尋址方式對(duì)扇區(qū)進(jìn)行尋址,若操作成功則返回0,否則操作失敗返回錯(cuò)誤信息。
??? 硬盤的數(shù)據(jù)寄存器是一個(gè)16位PIO數(shù)據(jù)傳輸器,用于對(duì)扇區(qū)的讀、寫操作;錯(cuò)誤寄存器記錄操作方式下的錯(cuò)誤原因;狀態(tài)寄存器反映硬盤驅(qū)動(dòng)器執(zhí)行命令后的狀態(tài);命令寄存器接收處理機(jī)輸出的HDC命令。在編程時(shí)必須將這些硬盤寄存器的地址進(jìn)行映射。
3.3 DSP系統(tǒng)軟件
??? 系統(tǒng)上電以后首先自檢,然后初始化。初始化程序包括對(duì)OV7648、PLL、SDRAM和EBIU的設(shè)置,對(duì)DMA0_PPI中斷的設(shè)置以及對(duì)硬盤的初始化。
??? 啟動(dòng)圖像采集與編碼程序后,ADSP-BF533通過(guò)DMA方式將攝像頭輸出的數(shù)據(jù)讀入SDRAM中。當(dāng)采集完一幀數(shù)據(jù)后,DMA將產(chǎn)生中斷,在中斷服務(wù)程序中先屏蔽本中斷,置中斷標(biāo)志位,然后重新配置DMA_PPI中斷,啟動(dòng)下一幀的采集,最后退出中斷。
??? 當(dāng)主程序檢測(cè)到中斷標(biāo)志位有效時(shí),調(diào)用MPEG-4編碼庫(kù)對(duì)剛才的一幀數(shù)據(jù)進(jìn)行壓縮編碼,壓縮完成后將數(shù)據(jù)存入SDRAM中。周而復(fù)始。當(dāng)程序查詢到已編碼的數(shù)據(jù)大于8KB時(shí),調(diào)用FAT32文件系統(tǒng)向硬盤存儲(chǔ)當(dāng)前視頻數(shù)據(jù)。
??? 因?yàn)樵紙D像數(shù)據(jù)的采集是通過(guò)DMA方式進(jìn)行的,無(wú)需內(nèi)核的干預(yù),所以當(dāng)前幀圖像數(shù)據(jù)的采集與上一幀數(shù)據(jù)的壓縮是同時(shí)進(jìn)行的。
????主程序在處理視頻數(shù)據(jù)的同時(shí),通過(guò)定時(shí)器中斷每秒從GPS數(shù)據(jù)處理模塊提取一次信息(包括時(shí)間、速度、經(jīng)緯度等)用于行車數(shù)據(jù)記錄。當(dāng)系統(tǒng)檢測(cè)到連續(xù)行車時(shí)間超過(guò)兩小時(shí)以上時(shí),會(huì)通過(guò)蜂鳴器對(duì)司機(jī)進(jìn)行報(bào)警,并在系統(tǒng)中記錄該疲勞駕駛的信息,以備有關(guān)部門檢查。
????當(dāng)系統(tǒng)檢測(cè)到停車時(shí)會(huì)將結(jié)束標(biāo)志位置1;若程序檢測(cè)到結(jié)束標(biāo)志位為1則寫一次文件結(jié)束,并退出程序。程序流程圖如圖7所示。
?

3.4 GPS數(shù)據(jù)處理模塊軟件
????GPS接收機(jī)每秒自動(dòng)向單片機(jī)發(fā)送一幀數(shù)據(jù),數(shù)據(jù)內(nèi)容包括經(jīng)緯度、時(shí)間、速度和定位狀態(tài)等。本系統(tǒng)所使用的GPS接收機(jī)符合NEMA-0183數(shù)據(jù)通信協(xié)議(也為ASCII碼數(shù)據(jù)通信協(xié)議)。NMEA-0183數(shù)據(jù)通信協(xié)議是美國(guó)國(guó)家海洋電子協(xié)會(huì)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式。它是在過(guò)去海用電子設(shè)備的標(biāo)準(zhǔn)格式0180和0182的基礎(chǔ)上,增加了GPS接收機(jī)輸出的內(nèi)容而完成的。目前廣泛采用的是Ver 2.00版本。現(xiàn)在除少數(shù)GPS接收機(jī)外,幾乎所有的接收機(jī)均采用了這一格式。NEMA-0183數(shù)據(jù)通信協(xié)議消息格式共有11種(其中7種輸出消息,4種輸入消息),每種消息以“$”開頭,以
????不同格式輸出不同的數(shù)據(jù)信息,常用格式有:
??? $GPRMC??GPS定位數(shù)據(jù)(經(jīng)度,緯度,速度,方向,時(shí)間等)
??? $GPGSV??GPS衛(wèi)星狀態(tài)
??? $GPXTE??偏航距和操縱方向
??? $GPGGA??GPS定位數(shù)據(jù)(經(jīng)度,緯度,時(shí)間,定位狀態(tài)等)
??? 用戶可以根據(jù)自己的需要,通過(guò)向GPS接收機(jī)發(fā)送控制命令來(lái)控制GPS的輸出,以接收到自己需要格式的數(shù)據(jù)。本系統(tǒng)采用的是$GPRMC格式的數(shù)據(jù)。
??? 初始化完畢后,系統(tǒng)提取GPS模塊輸出的數(shù)據(jù),從中篩選出$GPRMC字段的數(shù)據(jù),將這些數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制數(shù)后,再通過(guò)串行口傳送給DSP系統(tǒng),同時(shí)將這些數(shù)據(jù)通過(guò)LCD顯示出來(lái)。
??? 本文以ADSP-BF533為核心,使用MPEG-4視頻壓縮算法將壓縮后的數(shù)據(jù)存入硬盤,實(shí)現(xiàn)圖像實(shí)時(shí)監(jiān)測(cè)。所研究的監(jiān)測(cè)系統(tǒng)不僅體積小、壓縮率高、存儲(chǔ)容量大、實(shí)時(shí)性強(qiáng),而且價(jià)格適中、可擴(kuò)展性高。通過(guò)較小的軟、硬件改動(dòng)就可應(yīng)用到汽車運(yùn)行狀況監(jiān)測(cè)、十字路口監(jiān)測(cè)、超市監(jiān)測(cè)、智能樓宇和小區(qū)監(jiān)測(cè)等領(lǐng)域,具有較強(qiáng)的實(shí)用價(jià)值和可推廣性。
參考文獻(xiàn)
[1] 蘇濤,藺麗華,盧光躍,等.DSP實(shí)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2002.
[2] 張雄偉,曹鐵勇.DSP芯片的原理與開發(fā)應(yīng)用[M].北京:電子工業(yè)出版社,2000.
[3] 陳峰.Blackfin系列DSP原理與系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.
[4] 羅志強(qiáng),王耀南.Blackfin533的DMA技術(shù)及其在圖像處理中的應(yīng)用[J].國(guó)外電子元器件,2005,(2):32-35.
[5] 劉俊輝,馮馳,林洪彬.基于MPEG4的數(shù)字硬盤錄像系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].應(yīng)用科技,2004,(8):14-16.
[6] BAUER S,KNEIP J,MLASKO T.The MPEG-4 multimedia coding standard:algorithms,architectures and applications[J].Journal of VLSI signal processing,1999,(23):14-15.
[7] ATUL PURI,ARAVIND R,A.Motion-Compensated video?coding with adaptive perceptual quantization[J].IEEE Transaction on circuits and systems for video technology,1991,1(4):351-362.
