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