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

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

??? 系統(tǒng)SDRAM采用Hynix公司的HY57V561620,它是一款高速的同步動態(tài)存儲器,組成結(jié)構(gòu)為4Banks×4M×16bit。
??? 系統(tǒng)程序存儲在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;具有自動曝光、自動白平衡、自動增益等功能;視頻信號輸出有RGB、YUV、YCrCb等多種模式;可以通過I2C總線進行控制,被廣泛應(yīng)用于圖像采集領(lǐng)域。
??? CMOS圖像傳感器通過一個CAMERA INTERFACE 口與ADSP-BF533連接。CMOS傳感器與ADSP-BF533接口圖如圖4所示。
?

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

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

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

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