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