?
1 系統(tǒng)總體設(shè)計(jì)與工作原理
本系統(tǒng)的主要目標(biāo)之一是實(shí)現(xiàn)系統(tǒng)的小型化,為此采用硬件壓縮,核心芯片采用zepax公司的sz1510高性能壓縮編碼芯片。sz1510可工作于mjpeg、mpeg-1編碼以及vcd格式的視頻編碼等多種模式,mjpeg編碼圖像質(zhì)量很好,但碼率很高,需大容量的磁盤(pán)存儲(chǔ)器,由于磁盤(pán)存儲(chǔ)器對(duì)工作環(huán)境要求較高,在機(jī)載環(huán)境下若采用磁盤(pán)存儲(chǔ)器則必須增加相應(yīng)的減震、恒溫等防護(hù)設(shè)備,從而導(dǎo)致體積大大增加,而mpeg-1編碼壓縮比高,碼率相對(duì)較低,且圖像質(zhì)量滿足實(shí)際需要和系統(tǒng)設(shè)計(jì)要求,因此本系統(tǒng)選用mpeg-1編碼方案,同時(shí),通過(guò)采用大容量的半導(dǎo)體存儲(chǔ)器,大大減少了系統(tǒng)的體積,提高了系統(tǒng)的抗震性、可靠性,實(shí)現(xiàn)了系統(tǒng)的小型化。
系統(tǒng)的總體結(jié)構(gòu)如圖1所示,硬件電路主要包括視頻音頻解碼單元、壓縮編碼單元、譯碼邏輯及接口單元、控制單元、存儲(chǔ)單元5個(gè)部分。
?
系統(tǒng)上電后,som2386初始化音視頻編碼模塊,系統(tǒng)正常啟動(dòng)后,saa7113對(duì)輸入的復(fù)合視頻信號(hào)進(jìn)行解碼,生成ccir-601數(shù)字視頻流,ak4550采集輸入的模擬音頻信號(hào),生成pcm數(shù)字音頻流,分別送入壓縮編碼芯片sz1510,壓縮成mpeg-1系統(tǒng)流后,在som2386控制下以文件形式存儲(chǔ)到電子硬盤(pán)。
2 硬件設(shè)計(jì)
為提高系統(tǒng)的可維護(hù)性及降低維修成本,本系統(tǒng)硬件結(jié)構(gòu)采用模塊化的設(shè)計(jì)方法,系統(tǒng)分為3個(gè)模塊:
a)視頻音頻解碼及壓縮編碼模塊:包括saa7113、mk2703、ak4550、sz1510、sdram;
b)邏輯連接、轉(zhuǎn)換及接口模塊:包括epm7128、max232、rs232接口、ide接口、控制、狀態(tài)信號(hào)接口;
c)控制及存儲(chǔ)模塊:包括som2386和電子硬盤(pán)。
各模塊分別做成相對(duì)獨(dú)立的電路板,模塊間用接插件相連,若系統(tǒng)中某個(gè)模塊出現(xiàn)故障,只需更換該模塊,不必更換整個(gè)系統(tǒng),有利于節(jié)約時(shí)間和降低成本。
2.1 視頻音頻解碼及壓縮解碼部分設(shè)計(jì)
視頻解碼器采用philips公司的saa7113,是一種可編程視頻處理芯片,通過(guò)簡(jiǎn)單的i2c總線可對(duì)其實(shí)現(xiàn)編程控制,具有4路視頻輸入、抗混疊濾波、自動(dòng)鉗位和增益控制、多制式解碼以及亮度、對(duì)比度和飽和度控制等功能,為系統(tǒng)設(shè)計(jì)帶來(lái)極大的方便,它對(duì)輸入的pal制式復(fù)合視頻信號(hào)進(jìn)行采樣,解碼后生成8bit/象素的ccir-601數(shù)字視頻流(顏色空間為ycbcr,取樣為4:2:2),送到視頻壓縮芯片sz1510的數(shù)字視頻輸入接口,它的輸入時(shí)鐘由24.576mhz的有源晶振提供,為sz1510提供場(chǎng)同步信號(hào)vs和行同步信號(hào)hs,同時(shí),27mhz的像素時(shí)鐘分為兩路:一路直接輸出至sz1510,作為其內(nèi)部的數(shù)字視頻的采樣時(shí)鐘;另一路通過(guò)鎖相環(huán)時(shí)鐘芯片mk2703降為48khz時(shí)鐘amclm,作為音頻編解碼芯片ak4550的系統(tǒng)時(shí)鐘,以實(shí)現(xiàn)視頻和音頻的準(zhǔn)確同步,sz1510利用其gpio接口模擬的i2c總線對(duì)saa7113進(jìn)行初始化。
音頻解碼器采用ak4550,它對(duì)模擬音頻進(jìn)行高信噪比16bit數(shù)字采樣,生成pcm數(shù)字音頻流。
壓縮編碼由芯片sz1510和視頻幀緩存sdram(1m×16bit)組成,sz1510是一款高性能的mjpeg、mpeg-1編碼芯片,支持多種工作模式和比特率模式,內(nèi)部主要由視頻編碼核、tms320c54x高性能dsp核、接口電路、dma控制器和時(shí)鐘產(chǎn)生電路等組成,視頻編碼核的結(jié)構(gòu)如圖2所示。
?
sz1510對(duì)輸入其內(nèi)部的視頻流首先經(jīng)過(guò)視頻預(yù)處理、自動(dòng)裁減、 場(chǎng)景切換檢測(cè),轉(zhuǎn)換為cif格式的視頻幀,然后,經(jīng)過(guò)運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償,離散余弦變換/反離散余弦變換和可變長(zhǎng)編碼等處理,生成mpeg-1視頻基本流并存儲(chǔ)于sdram中,同時(shí),dsp核完成mpeg-1音頻編碼以及mpeg-1格式的音/視頻的組合,生成mpeg-1格式的系統(tǒng)流,然后經(jīng)過(guò)輸出端口大小為256b的fifo緩沖進(jìn)行數(shù)據(jù)的輸出,正常工作時(shí),當(dāng)fifo滿時(shí)就產(chǎn)生一個(gè)frdy(fifo讀)中斷通知主機(jī)讀取fifo中的數(shù)據(jù),主機(jī)通過(guò)z56次讀data_out寄存器完成數(shù)據(jù)的讀取,當(dāng)sz1510發(fā)出一個(gè)eod(數(shù)據(jù)結(jié)束)中斷時(shí),數(shù)據(jù)傳輸結(jié)束。
2.2 接口邏輯、控制及存儲(chǔ)部分設(shè)計(jì)
系統(tǒng)中的各種接口邏輯、地址譯碼等由epm7128實(shí)現(xiàn),其主要功能有sz1510配置寄存器的地址譯碼,控制、狀態(tài)信號(hào)寄存器的地址譯碼,產(chǎn)生硬件復(fù)位信號(hào),實(shí)現(xiàn)sz1510與控制模塊som2386的接口,其中,sz1510配置寄存器和控制、狀態(tài)信號(hào)寄存器是作為i/o端口與som2386相連的,控制、狀態(tài)信號(hào)主要用于向外部輸出自檢信號(hào)以及接收來(lái)自外部的記錄開(kāi)關(guān)控制信號(hào)等。
系統(tǒng)的控制由som2386完成,som2386是一款高性能、尺寸緊湊的嵌入式控制模塊,他板載嵌入式高性能16位處理器,rdc161,該處理器內(nèi)部為32位risc架構(gòu),并與80c186處理器兼容,其指令與其他x86微處理器兼容,模塊在單一閃存芯片上集成了系統(tǒng)bios和1.44mb閃存,支持標(biāo)準(zhǔn)ide接口和兩個(gè)串口。som2386與壓縮編碼芯片sz1510的host接口相連,通過(guò)host接口對(duì)sz1510進(jìn)行控制和配置。正常工作時(shí)把從host接口輸出的mpeg-1格式的系統(tǒng)流以文件形式送入存儲(chǔ)單元,系統(tǒng)的ide接口從som2386直接引出,為給dom(電子硬盤(pán))提供電源,ide接口的pin20與+5v電源相連,其余引腳信號(hào)定義與ide標(biāo)準(zhǔn)相同,som2386模塊的串口1通過(guò)驅(qū)動(dòng)芯片max232提供rs-232的調(diào)試接口。
存儲(chǔ)單元采用dom,它由控制單元和存儲(chǔ)單元組成,是用固態(tài)電子器件存儲(chǔ)芯片陣列而制成的硬盤(pán),其接口規(guī)范和定義以及使用方法上與普遍硬盤(pán)完成完全相同,其突出優(yōu)點(diǎn)是體積小、抗震性好、工作溫度范圍寬,并且只需單一的5v電源供電,適合于機(jī)載環(huán)境。
3 軟件設(shè)計(jì)
3.1 sz1510的寄存器配置和二進(jìn)制代碼下載
外部主機(jī)通過(guò)host接口與sz1510內(nèi)部的兩個(gè)寄存器ioar(i/o地址寄存器)、iodr(i/o數(shù)據(jù)寄存器)來(lái)實(shí)現(xiàn)sz1510的控制和配置。主機(jī)在配置sz1510內(nèi)部某一寄存器時(shí),首先把這個(gè)寄存器的地址寫(xiě)入ioar,然后把配置的數(shù)據(jù)寫(xiě)入iodr,這樣sz1510會(huì)自動(dòng)把配置的數(shù)據(jù)送到指定地址的寄存器,例如,初始化時(shí)主機(jī)寫(xiě)數(shù)據(jù)0x44到寄存器0x11,必須通過(guò)以下過(guò)程實(shí)現(xiàn):
a)寫(xiě)傳輸:haddr=0,data=0x11;
b)寫(xiě)傳輸: haddr=1,data=0x44;
sz1510內(nèi)部有一段程序存儲(chǔ)空間,用來(lái)裝載內(nèi)核的二進(jìn)制代碼,這段空間以塊為單位,每快的存儲(chǔ)空間大小為256b,dsp核的代碼存儲(chǔ)空間為0x280-0x2bf,視頻編碼核的代碼存儲(chǔ)空間為0x0000-0x0004和0x000c,二進(jìn)制代碼裝載的具體過(guò)程如下:
a)向0x2e寄存器寫(xiě)1x01,表明外部sdram為1m×16bit;
b)向0x0c寄存器寫(xiě)0x03,使能frdy和eod中斷;
c)向0x11寄存器寫(xiě)0x18,選擇內(nèi)部存儲(chǔ)器寫(xiě)模式;
d)向0x10寄存器寫(xiě)0x20,設(shè)定輸出fifo大小為256b;
e)對(duì)每塊存儲(chǔ)空間裝載二進(jìn)制代碼,具有如下:向0x08寄存器寫(xiě)0x04,發(fā)送開(kāi)始命令,等待frdy中斷,清除frdy中斷,向0x01寄存器(data_in)寫(xiě)256b,等待eod中斷,清除eod中斷。
3.2 i2c外設(shè)配置
saa7113的配置是由sz1510通過(guò)其i2c總線來(lái)實(shí)現(xiàn)。由于sz1510內(nèi)部存儲(chǔ)空間容量的限制,使得加載的sz1510內(nèi)核程序代碼會(huì)覆蓋i2c外設(shè)的配置程序代碼,因此,任何i2c外設(shè)的配置必須在sz11510內(nèi)核程序代碼的下載和配置前完成,主機(jī)通過(guò)使用sz1510內(nèi)部host端口寄存器0x42-0x4f(每個(gè)8bit寬)與sz1510中的i2c服務(wù)例程交互,并通過(guò)i2c總線配置任何一個(gè)連接到sz1510上的外部器件,所有的命令代碼都必須寫(xiě)入sz1510地址為0x08處的命令寄存器,sz1510通過(guò)地址為0x0d的寄存器寫(xiě)入代碼為0x80的中斷來(lái)通知主機(jī)。i2c寫(xiě)過(guò)程如下:
a)向0x08寄存器寫(xiě)“初始化i2c”命令代碼0xc2;
b)輸入數(shù)據(jù)至sz1510并向0x08寄存器寫(xiě)“i2c寫(xiě)”命令代碼0x0c;
c)數(shù)據(jù)輸入完成后,sz1510向0x0d寄存器寫(xiě)中斷命令代碼0x80,通知主機(jī)。
通過(guò)sz1510的i2c總線配置saa7113的時(shí)序流程如圖3所示。
?
3.3 系統(tǒng)的軟件調(diào)試及工作流程
通過(guò)從som2386模塊上串口1引出的rs-232接口可以很方便地對(duì)系統(tǒng)進(jìn)行軟件調(diào)試,由于cpu芯片rdc1610指令與其他x86微處理器兼容,且模塊bios中集成了虛擬顯示/鍵盤(pán)技術(shù),調(diào)試時(shí)在pc機(jī)上運(yùn)行虛擬顯示軟件pcvid3v0.exe,即可獲得和本地pc的dos環(huán)境完全相仿的效果,可直接運(yùn)行dos下的所有命令,調(diào)試是可以通過(guò)debug命令直接訪問(wèn)sz1510的寄存器和控制、狀態(tài)端口寄存器等。
系統(tǒng)的所有軟件程序做成一個(gè)批處理文件,存儲(chǔ)與控制模塊som2386上虛擬軟盤(pán)的一指定目錄中,系統(tǒng)上電后自動(dòng)運(yùn)行此目錄下的程序,控制系統(tǒng)的工作。系統(tǒng)上電后,整個(gè)系統(tǒng)的工作流程如圖4所示。
?
4 結(jié)束語(yǔ)
由于空中背景比較單一,設(shè)定系統(tǒng)工作于vbr模式,能降低碼率,并保持圖像質(zhì)量的穩(wěn)定,實(shí)驗(yàn)結(jié)果表明系統(tǒng)設(shè)計(jì)結(jié)構(gòu)可行,若采用2gb的電子硬盤(pán),記錄時(shí)間可達(dá)8h左右,隨著半導(dǎo)體存儲(chǔ)器容量的不斷增長(zhǎng),系統(tǒng)的記錄時(shí)間還將進(jìn)一步延長(zhǎng),同時(shí),將來(lái)還可以通過(guò)修改軟件,設(shè)定sz1510工作于mjpeg編碼模式,進(jìn)一步提高記錄視頻的圖像質(zhì)量,因此,系統(tǒng)具有較大的升級(jí)潛力,本結(jié)構(gòu)緊湊、體積小(尺寸僅為90mm×60mm×25mm)、重量輕、使用方便,已在某型飛機(jī)上投入使用,并且運(yùn)行穩(wěn)定可靠,取得較好的效果。
評(píng)論
查看更多