機(jī)載數(shù)字視頻記錄系統(tǒng)的軟、硬件設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:通過(guò)嵌入式計(jì)算機(jī)PC104對(duì)MPEG A/V編碼芯片SZ1510進(jìn)行配置和控制,可以縮短研制高性能航空機(jī)載環(huán)境下數(shù)字式彩色視頻記錄儀的開(kāi)發(fā)時(shí)間。文中詳細(xì)介紹了該機(jī)載數(shù)字視頻記錄系統(tǒng)的軟、硬件設(shè)計(jì)思想及注意事項(xiàng)。 關(guān)鍵詞:SZ1510;視頻記錄;PC104;新型飛機(jī) 機(jī)載視頻記錄系統(tǒng)在飛行員的日常訓(xùn)練中發(fā)揮著十分重要的作用。該系統(tǒng)可以實(shí)時(shí)記錄飛行器的飛行及訓(xùn)練過(guò)程中的各種信息,能夠直觀、真實(shí)的反映飛行員在空中的飛行和操作情況。通過(guò)地面回放設(shè)備的回放,飛行員可以準(zhǔn)確地把握自身的不足并及時(shí)改進(jìn),從而提高訓(xùn)練水平。但由于視頻信號(hào)數(shù)據(jù)量大,技術(shù)要求高,國(guó)產(chǎn)飛機(jī)大多沒(méi)有信息監(jiān)視和記錄系統(tǒng)。為了提高我軍戰(zhàn)機(jī)的作戰(zhàn)性能?研制一種信息監(jiān)視和記錄系統(tǒng)迫在眉睫。 隨著大規(guī)模集成電路的發(fā)展,采用數(shù)字圖像壓縮技術(shù)實(shí)現(xiàn)高壓縮比、高質(zhì)量的圖像數(shù)字壓縮記錄系統(tǒng)已成為可能。數(shù)字化的記錄方法可以將視頻數(shù)據(jù)經(jīng)過(guò)壓縮記錄在大容量的存儲(chǔ)器上,并能有效消除噪聲、增加記錄時(shí)間、加快拷貝和復(fù)制速度,快速回放和查找,同時(shí)還可以快速地通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行傳送?;谝陨显?,筆者為某新型飛機(jī)研制了高性能的適于航空機(jī)載環(huán)境的數(shù)字式彩色視頻記錄系統(tǒng)。本記錄系統(tǒng)的核心芯片選用以色列Zepax公司的SZ1510 MPEG-1編碼芯片。 1 工作原理 圖1所示是本記錄系統(tǒng)的結(jié)構(gòu)組成示意圖。整個(gè)系統(tǒng)由三大部分組成,即壓縮控制部分、存儲(chǔ)部分和電源部分三大模塊。其中壓縮部分由一路MPEG-1音視頻壓縮電路和控制單元PC-104組成,主要功能是實(shí)現(xiàn)對(duì)輸入音視頻信號(hào)的數(shù)字壓縮。存儲(chǔ)部分由大容量硬盤組成,用于完成對(duì)壓縮數(shù)據(jù)的長(zhǎng)時(shí)間記錄。電源部分負(fù)責(zé)對(duì)各模塊電路提供電源。
在系統(tǒng)啟動(dòng)時(shí),主控計(jì)算機(jī)首先對(duì)壓縮卡進(jìn)行初始化,當(dāng)設(shè)置好MPEG-1壓縮格式及數(shù)據(jù)速率后,壓縮卡開(kāi)始工作,并在主控計(jì)算機(jī)的控制下將壓縮后的圖像數(shù)據(jù)寫入硬盤。在工作過(guò)程中,主控計(jì)算機(jī)還將不斷監(jiān)視相關(guān)信號(hào),并在圖像中加入相應(yīng)的標(biāo)志,直到接收到關(guān)機(jī)信號(hào),系統(tǒng)自動(dòng)結(jié)束壓縮卡的工作,并關(guān)閉主機(jī)。 2 系統(tǒng)硬件設(shè)計(jì) 整個(gè)系統(tǒng)的核心是以色列Zepax公司的SZ1510 MPEG-1編碼芯片,它由PC104控制,另外,該系統(tǒng)還包括PCI橋芯片PLX9030以及視頻解碼芯片SAA7113等。 2.1 SZ1510芯片簡(jiǎn)介 Zepax公司的SZ1510IC內(nèi)部采用可編程的專業(yè)硬件體系結(jié)構(gòu),它可以高效使用存儲(chǔ)器,并能合理進(jìn)行資源分配。內(nèi)核采用TI公司的TMS320C54X高性能DSP來(lái)完成MPEG1音頻編碼、解碼以及CD格式的音/視頻流的組合,同時(shí)進(jìn)行一般的系統(tǒng)控制。 該芯片具有功能多、功耗小、溫度范圍寬等特點(diǎn),其組成電路如圖2所示。它主要由運(yùn)動(dòng)估計(jì)與補(bǔ)償單元、DCT與反DCT變換單元、可變長(zhǎng)編碼單元、控制單元、SDRAM接口單元、通用總線接口單元組成。內(nèi)部的壓縮處理完全采用流水線結(jié)構(gòu),開(kāi)機(jī)后只需簡(jiǎn)單的初始化即可獨(dú)立工作,同時(shí)自動(dòng)送出壓縮好的數(shù)據(jù)。外部電路的時(shí)鐘為27MHz,工作電壓為3.3V。 系統(tǒng)中的視頻壓縮有三種比特率可供選擇,其中恒定比特率需要填充冗余,最大比特率不需要填充冗余,而可變比特率的壓縮質(zhì)量比較恒定,但比特率可變。音頻壓縮部分支持3244.1及48kHz取樣率以及音頻PCM、實(shí)時(shí)MPEG12層音頻編碼等。 2.2 PC104計(jì)算機(jī)簡(jiǎn)介 考慮到控制單元的體積、可靠性和控制能力,可選用嵌入式計(jì)算機(jī)PC104作為主控單元。根據(jù)視頻壓縮的特點(diǎn),推薦選擇安普公司的AmproP5E/266產(chǎn)品,該產(chǎn)品溫度特性好、功能強(qiáng)大、可靠性高、軟硬件移植方便且易于調(diào)試。
3 軟件設(shè)計(jì) SZ1510共有128個(gè)寄存器,每個(gè)寄存器都有一個(gè)索引號(hào)。外界對(duì)這些寄存器的訪問(wèn)都是通過(guò)IOAR?I/O Adress Register和IODR(I/O Data Register)來(lái)完成的。訪問(wèn)時(shí)首先將這個(gè)寄存器的索引號(hào)寫入IOAR?然后將要寫的數(shù)據(jù)寫入IODR,這樣,SZ1510即可自動(dòng)把數(shù)據(jù)送到某個(gè)寄存器。 主機(jī)訪問(wèn)SZ1510是通過(guò)PLX9030進(jìn)行的。對(duì)PLX9030中寄存器的訪問(wèn)通常是按內(nèi)存方式進(jìn)行的,其方法是常規(guī)段加偏移方式。不過(guò),它的寄存器訪問(wèn)總線寬度有的是16bits(如0x4c),有的是32bits(如0x50),具體可參考有關(guān)文獻(xiàn)(5)。 3.1 硬件初始化 對(duì)系統(tǒng)硬件的初始化主要是初始化PLX9030和SZ1510。PLX9030的初始化比較簡(jiǎn)單,一是使能中斷,向寄存器0x4c中寫入0x0041,二是對(duì)PLX9030的Local bus進(jìn)行軟復(fù)位,即先將寄存器0x50的第30位置1,再將其置0。 SZ1510的初始化過(guò)程如下: (1)向中斷使能寄存器寫入0x40,以使能Ready中斷; (2)等待SZ1510的Ready中斷; (3)等到Ready中斷后,向SZ1510的0x1E寄存器寫入0x0A,設(shè)置它內(nèi)部的DSP時(shí)鐘為94.5MHz; (4)向0x013寄存器寫入0x55,對(duì)SZ1510進(jìn)行軟復(fù)位; (5) 向中斷使能寄存器0x0C寫入0x40?使能Ready中斷; (6) 等候RDY中斷; (7) 待Ready中斷后對(duì)SAA7113進(jìn)行初始化; (8) 對(duì)SZ1510進(jìn)行軟復(fù)位,即向0x0B寄存器寫入0x55,同時(shí)向0x0C寄存器寫入0x40; (9) 等待Ready中斷,等到后向SZ1510的內(nèi)部DSP裝載二進(jìn)制代碼; (10)進(jìn)行SZ1510內(nèi)部視頻壓縮核的二進(jìn)制代碼裝載。 3.2 SZ1510二進(jìn)制代碼的裝載 SZ1510 內(nèi)部有一段程序空間,可用來(lái)裝載二進(jìn)制代碼。這段空間以塊(Blank)為單位,每塊的大小是256字節(jié)。 用于視頻編碼核的二進(jìn)制代碼的裝載空間為0x000~0x004和0x00c等六個(gè)塊,共1.5k字節(jié)代碼。具體裝載的步驟如下: (1) 向0x2E寄存器寫0x01,表示外部的SDRAM是1M%26;#215;16bits; (2) 向0x0C寄存器寫0x03,使能FIFO Ready 和 End of Data中斷; (3) 向0x11寄存器寫0x1,設(shè)定工作模式為內(nèi)部?jī)?nèi)存寫模式; (4)向0x10寫0x20,設(shè)定SZ1510?下轉(zhuǎn)第10頁(yè)(上接第6頁(yè))輸出數(shù)據(jù)的FIFO大小為256字節(jié); (5)對(duì)每塊程序空間進(jìn)行二進(jìn)制代碼裝載,具體過(guò)程如下: ●向0x08寄存器寫0x04,發(fā)送開(kāi)始命令; ●等待Ready中斷,清除Ready中斷; ●向Data in寄存器0x01寫256個(gè)字節(jié); ●等待End of Data中斷,然后清除中斷; (6)查程序空間的代碼是否裝載完畢,如沒(méi)有,回到(5)繼續(xù)裝載。 3.3 SZ1510視頻數(shù)據(jù)的獲取 SZ1510內(nèi)部有一個(gè)256字節(jié)的FIFO。一旦該FIFO滿,即產(chǎn)生一個(gè)FIFO Ready中斷,以通知主機(jī)讀取FIFO中的數(shù)據(jù),然后通過(guò)256次讀Data out寄存器來(lái)完成數(shù)據(jù)傳輸。 4 注意事項(xiàng) SZ1510芯片的PLL PCB設(shè)計(jì)要求如下? (1)應(yīng)用設(shè)計(jì)EMI濾波裝置以減少VDDA的電源噪聲。 (2)LPF到SZ1510的整體電路管腳長(zhǎng)度應(yīng)當(dāng)小于0.5英寸。 (3)設(shè)計(jì)PCB時(shí),外部LPF應(yīng)盡量接近封裝腳。 (4)VDDA和VSSA端應(yīng)接0.1μF的旁路電容以減少噪音。