汽車運行狀況圖像監(jiān)測系統(tǒng)的設(shè)計
眾所周知,飛機上的“黑匣子”可以記錄飛機的飛行情況,一旦飛機失事,找到“黑匣子”就能知道飛機失事的原因。汽車上也可以用類似的裝置來記錄汽車的運行狀況,這正是本文要研究的內(nèi)容,即記錄汽車的圖像狀況,不僅可以記錄汽車運行過程中行駛前方或汽車周圍的視頻圖像,而且也可記錄汽車靜止時前方或周圍的視頻圖像。一旦有交通事故或者人為損壞汽車等情況,利用該系統(tǒng)記錄的汽車狀況視頻圖像,可對事故發(fā)生時的情況進行分析,就可以準(zhǔn)確地認(rèn)定交通事故發(fā)生的原因,也可對損壞汽車的行為加以鑒定。這對于交通事故責(zé)任的認(rèn)定、事故原因的分析、調(diào)查和統(tǒng)計等工作以及減少汽車盜竊和汽車破壞事件的發(fā)生都具有重要的意義。
系統(tǒng)總體設(shè)計方案
汽車運行狀況圖像監(jiān)測系統(tǒng)硬件主要是基于ADSP-BF533芯片進行設(shè)計的,設(shè)計中分成CPLD電路、圖像采集電路、IDE接口電路、SDRAM電路、FLASH電路、電源電路和復(fù)位電路等部分。系統(tǒng)整體框圖如圖1所示。
圖1 系統(tǒng)整體框圖
1 ADSP-BF533介紹
ADSP-BF533是ADI Blackfin系列最近推出的一款功能強大的DSP,能處理用于互聯(lián)網(wǎng)的大量圖像、聲音、文本和數(shù)據(jù)流,適用于電信和各種互聯(lián)網(wǎng)設(shè)備。ADSP-BF533內(nèi)核包括2個16位乘法器,2個40位累加器,2個40位算術(shù)邏輯單元(ALU),4個8位視頻ALU以及1個40位移位器。
2 MPEG-4壓縮算法
MPEG-4標(biāo)準(zhǔn)采用了面向?qū)ο蟮囊曨l編碼技術(shù)。根據(jù)面向?qū)ο蟮木幋a要求,MPEG-4引入了視頻對象(VO)的概念。視頻對象是可視場景中景物的抽象描述,從用戶的角度,它代表畫面中任何有意義的物理實體,如人、物體甚至可能是背景。MPEG-4是一個使你由被動變?yōu)橹鲃樱ú辉僦皇怯^看,允許你加入其中,即有交互性)的動態(tài)圖像標(biāo)準(zhǔn)。
硬件系統(tǒng)設(shè)計
1 存儲器電路設(shè)計
系統(tǒng)存儲器包括數(shù)據(jù)存儲器和指令存儲器,其存儲器電路由SDRAM與ADSP-BF533接口電路、Flash與ADSP-BF533接口電路組成。
本系統(tǒng)SDRAM采用Hynix公司的HY57V561620。SDRAM與ADSP-BF533的接口如圖2所示。
圖2 SDRAM與ADSP-BF533的接口電路
HY57V561620是一款高速的同步動態(tài)存儲器。由于其所有的尋址、刷新等操作都由集成在芯片內(nèi)部的控制系統(tǒng)完成,因而使用非常簡單。HY57V561620的存儲空間為32Mb,對于普通的視頻應(yīng)用綽綽有余,并且它加快了存取速度,因此可以在多媒體系統(tǒng)、視頻采集與編輯系統(tǒng)等方面廣泛應(yīng)用。
本系統(tǒng)使用2片AM29LV800BT,其BYTE#為8位或16位選擇模式引腳,系統(tǒng)使用16位數(shù)據(jù)模式,所以此引腳接高電平;復(fù)位引腳RESET#與CPLD相連。
AM29LV800BT與ADSP-BF533接口圖如圖3所示。
圖3 AM29LV800BT與ADSP-BF533接口電路
AM29LV800BT為1Mb,工作電壓為2.7~3.6V,可以被配置為8位或者16位的數(shù)據(jù)寬度。它共有19個扇區(qū),可以以8位(字節(jié)模式)或16位(字模式)數(shù)據(jù)寬度的方式工作。由于AM29LV800BT內(nèi)部具有升壓電路,因此只需一個3.0V的電源即可完成在系統(tǒng)的編程與擦除操作。通過對其內(nèi)部的命令寄存器寫入符合JEDEC標(biāo)準(zhǔn)的命令序列,可對Flash進行編程(燒寫)、整片擦除、按扇區(qū)擦除以及其它操作。
2 IDE接口電路設(shè)計
因為ADSP-BF533的數(shù)據(jù)總線是3.3V的高電平邏輯值,可能出現(xiàn)不能驅(qū)動外部SV的邏輯電平的情況,而且連接在數(shù)據(jù)總線的器件較多,也有可能使數(shù)據(jù)總線上的驅(qū)動能力不足。因此,需要對總線,特別是數(shù)據(jù)總線進行加強驅(qū)動能力的設(shè)計,這里數(shù)據(jù)總線使用SN74LVTH16245來進行雙向驅(qū)動。SN74LVTH 16245A的功能與74HC245類似,也是通過輸出使能(OE)和數(shù)據(jù)傳輸方向(DIR)引腳來完成總線隔離與數(shù)據(jù)傳輸方向控制功能,不同的是,SN74LVTH 16245A支持16位雙向傳輸,而74HC245支持8位。
IDE接口是一種任務(wù)寄存器結(jié)構(gòu)的接口,主機通過訪問端口寄存器來讀寫硬盤。IDE寄存器可分為兩組:控制寄存器組和命令寄存器組。在IDE與ADSP-BF533的接口電路中,片選信號TER0、TER1和74HC245的OE連接到CPLD,由CPLD進行邏輯控制。IDE與ADSP-BF533接口圖如圖4所示。
圖4 IDE與ADSP-BF533接口電路
3 圖像采集電路
系統(tǒng)外接攝像頭,視頻圖像是通過攝像頭的CMOS傳感器采集獲得的,本系統(tǒng)選用CMOS圖像傳感器芯片OV7648,它與ADSP-BF533的接口電路如圖5所示。
圖5 OV7648與ADSP-BF533的接口電路
OV7648芯片通過CAMERA INTERFACE口與ADSP-BF533連接。其中復(fù)位引腳RESET與CPLD的OV7648RSET相連;SIO_C、SIO_D是OV7648的I2C總線;XCLK外接一個24.567MHz的晶振,作為OV7648芯片的驅(qū)動時鐘。
軟件系統(tǒng)設(shè)計
系統(tǒng)上電以后首先進行自檢,然后進行初始化,初始化程序包括對OV7648的設(shè)置、PLL、SDRAM和EBIU的設(shè)置、DMA0_PPI中斷的設(shè)置以及對硬盤的初始化,然后進行視頻圖像的采集。
ADSP-BF533采用DMA方式將攝像頭輸出的數(shù)據(jù)通過PPI口讀入,并直接送入SDRAM中。當(dāng)采集完一幀數(shù)據(jù)后,DMA將產(chǎn)生中斷,在中斷服務(wù)程序中先屏蔽本中斷,調(diào)用MPEG-4編碼庫對剛才的一幀數(shù)據(jù)進行壓縮編碼,壓縮完成后將數(shù)據(jù)存入SDRAM中,計數(shù)器加1,然后重新配置DMA0_ PPI中斷采集下一幀數(shù)據(jù)。在主程序中檢測標(biāo)志位為1時,就表示己壓縮完500幀數(shù)據(jù),ADSP-BF533調(diào)用FAT32文件系統(tǒng)子程序,再通過ADSP-BF533的DMA方式將壓縮后的數(shù)據(jù)存入硬盤。ADSP-BF533重新開始計數(shù)進行視頻采集壓縮。
程序開始首先對PLL、EBIU、SDRAM、CPLD和OV7648進行初始化配置,然后啟動OV 7648進行視頻圖像數(shù)據(jù)的采集,通過初始化對DMA0_ PPI中斷的設(shè)置,將ADSP-BF533的PPI接口上從OV7648傳送過來的視頻流中的視頻圖像存儲到外部存儲器SDRAM中。系統(tǒng)軟件設(shè)計主流程圖如圖6所示。
圖6 系統(tǒng)主程序流程圖
結(jié)束語
經(jīng)過實驗證明,本文研制的汽車運行狀況圖像監(jiān)測系統(tǒng)具有如下優(yōu)點:成本適中、結(jié)構(gòu)簡單、工作可靠、性能穩(wěn)定,維修方便;汽車運行狀況圖像監(jiān)測系統(tǒng)可以存儲、壓縮、回放記錄的視頻圖像,滿足使用要求。