嵌入式機載視頻輸出接口設(shè)計
摘要:針對視頻接口接收視頻格式單一的問題,設(shè)計了一種多格式視頻輸入接口的視頻編碼模塊。由于采用CH7024視頻編碼芯片,所以在接口即可接收RGB565和RGB666格式的視頻信號。在Linux環(huán)境下,對芯片寄存器和視頻格式進行配置,編譯芯片驅(qū)動程序,通過超級終端下栽到芯片中,通過CH7024編碼芯片將不同格式的輸入信號統(tǒng)一轉(zhuǎn)換成CVBS視頻的信號輸出,這樣可減少電路的硬件設(shè)計,并通過對軟件的修改來接收不同視頻格式的信號。實驗結(jié)果表明,設(shè)計的模塊能夠適應(yīng)多種視頻格式的信號,且編碼后的CVBS視頻信號輸出距離遠(yuǎn),抗干擾性強。
關(guān)鍵詞:嵌入式Linux;視頻編碼;視頻輸出;驅(qū)動程序
0 引言
在無人機視頻采集系統(tǒng)中,對于視頻信號的要求比較高,采集到的模擬視頻信號在ARM9處理器中經(jīng)過A/D轉(zhuǎn)換,視頻壓縮編碼后通過無線傳輸?shù)降孛婊荆ㄟ^視頻編碼芯片將數(shù)字信號轉(zhuǎn)換為模擬信號,輸出到顯示設(shè)備上。由于目前數(shù)字視頻具有多種格式,然而,普通的視頻編碼模塊的輸入接口比較單一,不能很好地兼容多格式的視頻輸入信號,故輸出的模擬信號抗干擾性和傳輸距離都不是太好。
針對上述問題,本文提出了一種基于Freescale的MX27處理器,以Linux 2.6.19為內(nèi)核操作系統(tǒng)的多格式視頻輸入編碼模塊設(shè)計方案。硬件方面,以CH7024為主芯片進行電路板設(shè)計;軟件方面,在Linux環(huán)境下,根據(jù)芯片的特點,編寫相應(yīng)的驅(qū)動程序和寄存器配置。通過加載驅(qū)動程序,將不同格式的數(shù)字視頻信號轉(zhuǎn)換為CVBS復(fù)合視頻信號,相比其他的模擬視頻輸出信號,CVBS復(fù)合視頻信號將亮度、色度、同步和色彩脈沖信息整合到一根電纜內(nèi),具有傳輸距離遠(yuǎn),抗干擾能力強等優(yōu)點。
1 設(shè)計方案
1. 1 系統(tǒng)硬件結(jié)構(gòu)
硬件連接如圖1所示,將MX27中LCD控制器輸出的標(biāo)準(zhǔn)數(shù)字視頻信號(包括像素數(shù)據(jù)LD[17:0]、像素時鐘LSCLK,行同步信號LP/HSYNC、場同步信號pLM/VSYNC,數(shù)據(jù)使能信號ACD/OE)接入CH7024的數(shù)字輸入接口。此外,將MX27中I2C控制器的SPC,SPD線直接與CH7024相應(yīng)的信號線連接。
1.2 視頻輸出接口設(shè)計
由于以前的芯片輸入數(shù)據(jù)只有16位,接口兼容性不好,而選擇的CH7024有24位視頻數(shù)據(jù)信號線,可接收不同的數(shù)據(jù)格式,包括RGB和YC-rCb(如RGB565,RGB666,RGB888,像ITU656的YCrCb),可接收24b/18b/15b/12b/8b等多路復(fù)用數(shù)字輸入。為了能在系統(tǒng)運行出現(xiàn)故障時方便地進行復(fù)位,設(shè)計中添加了人工復(fù)位電路,這也是以前芯片所沒有的。應(yīng)用CH7024芯片設(shè)計的編碼器,具有很好的兼容性和通用性,所以選擇用CH7024主芯片進行設(shè)計。
CH7024視頻編碼芯片的輸入接口最多能接收到的視頻信號位數(shù)為24位,輸入格式為RGB888。這樣RGB每個通道用8 b來表示,但是對于RGB 666和RGB565等格式的視頻信號就涉及到每個通道用幾位來表示某個顏色的問題。對于RGB666來說,每個通道用6b來表示;對于RGB565來說,R和B每通道用5 b表示,G通道用6 b表示。對于RGB666和RGB565格式的視頻信號,在設(shè)計中芯片上的24位數(shù)據(jù)線分配情況如圖2所示。通過對相關(guān)寄存器的配置,實現(xiàn)對不同格式視頻信號的接收,使其具有較好的兼容性。該方案是以MX27處理器為平臺進行設(shè)計的,MX27輸出的視頻信號為18位數(shù)據(jù),這樣MX27處理器發(fā)出的RGB666和RGB565格式的視頻,都能通過該方案設(shè)計的編碼器進行編碼。
評論