本發(fā)明屬于航空航天等邏輯門陣的開發(fā),特別是對于機(jī)載吊艙圖像視頻的顯示控制算法領(lǐng)域,具體涉及一種基于fpga實(shí)現(xiàn)外同步pal制式畫面顯示的控制方法。
背景技術(shù):
1、機(jī)載各設(shè)備的視頻圖像顯示對于各設(shè)備的協(xié)同工作及對操作人員的命令指示異常重要,機(jī)上操作人員根據(jù)視頻中顯示的背景字以及中心游標(biāo)塊的移動(dòng)來判斷下一條操作指令。
2、pal制式視頻的編碼控制分為內(nèi)同步(同步碼)和外同步(依賴行場同步信號(hào)hsync,vsync)兩種,其中內(nèi)同步方式只需提供編碼器芯片以時(shí)鐘和8bit像素?cái)?shù)據(jù)即可,然而在某些機(jī)載顯控場合下,由于該方式不參考機(jī)上視頻源的同步信號(hào),從而導(dǎo)致畫面抖動(dòng)漂浮嚴(yán)重,甚至無法辨認(rèn)出原本要控制顯示的畫面,因此pal制式的外同步顯控技術(shù)就顯得尤為重要。
3、傳統(tǒng)pal外同步控制方案一般由dsp作為主控,配置視頻解碼芯片saa7115和編碼器saa7121工作在外同步模式下,完成特定畫面的顯示控制;該方案控制過程復(fù)雜,靈活度欠佳,對軟件及硬件設(shè)計(jì)的配合提出諸多挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)思路
1、(一)要解決的技術(shù)問題
2、本發(fā)明要解決的技術(shù)問題是:提供一種基于fpga實(shí)現(xiàn)外同步pal制式畫面顯示的控制方法。
3、(二)技術(shù)方案
4、為了解決上述技術(shù)問題,本發(fā)明提供了一種基于fpga實(shí)現(xiàn)外同步pal制式畫面顯示的控制方法,該方法是一種基于圖像處理主控芯片fpga搭載行場分離芯片el1883、圖像編碼器芯片共同實(shí)現(xiàn)與外部輸入cvbs模擬源信號(hào)外同步的pal制式視頻顯示控制方法,fpga用于完成圖像編碼器芯片的配置、行場分離芯片的同步信號(hào)接收處理以及編碼算法的實(shí)現(xiàn),行場分離芯片el1883用于產(chǎn)生外同步信號(hào),圖像編碼器芯片采用saa7121實(shí)現(xiàn)編碼數(shù)據(jù)的dac轉(zhuǎn)換。
5、優(yōu)選地,el1883從外部輸入的模擬源信號(hào)cvbs分離出行同步控制信號(hào)h及場同步控制信號(hào)v傳給fpga,fpga將其作為參考進(jìn)行編碼算法的實(shí)現(xiàn),el1883芯片由5v單電源供電,輸入是模擬源信號(hào)cvbs,時(shí)序配置引腳rset用來配置pal或ntsc制式,rf引腳用來進(jìn)行模擬源信號(hào)cvbs的前置低通濾波;el11883輸出行同步信號(hào)hsync、場同步信號(hào)vsync以及復(fù)合視頻同步信號(hào)csync;其中信號(hào)csync用于與輸入的模擬源信號(hào)cvbs進(jìn)行相位周期比較,當(dāng)二者的相位差恒定、周期一致則說明el1883已成功分離fpga所需的外同步信號(hào)。
6、優(yōu)選地,fpga通過模擬i2c通訊時(shí)序,來完成對圖像編碼芯片saa7121內(nèi)部工作模式的寄存器配置,具體需要配置的寄存器包括:0x3a:配置圖像編碼芯片的主從模式,配置為13h主模式;0x5b:用于u分量增益控制,配置為6dh;0x5c:用于v分量增益控制,配置為9fh;0x5d:用于黑電平增益控制,配置為0x10;0x61:用于圖像編碼芯片輸出視頻制式,配置為06h,pal制式;0x63~0x66:實(shí)現(xiàn)副載波頻率選擇:配置為cbh、8ah、09h、2ah;0x6b:實(shí)現(xiàn)rcv端口配置,配置為00h,行場信號(hào)為輸出,輸入不檢測。
7、優(yōu)選地,el11883輸出行同步信號(hào)hsync、場同步信號(hào)vsync,即外同步信號(hào)hsync和vsync,用來確定外部輸入的模擬源信號(hào)cvbs當(dāng)前正在編碼的圖像的起點(diǎn)、間斷點(diǎn)以及終點(diǎn),el1883產(chǎn)生的行同步信號(hào)hsync的下降沿h_neg確定出編碼每一行的起始像素位置start_pixel,而hsync的下降沿h_neg與vsync的下降沿v_neg之間的時(shí)間間隔δt則確定了當(dāng)前正在編碼一幀圖像的偶場或奇場。
8、優(yōu)選地,所述編碼算法符合bt656協(xié)議,是fpga通過發(fā)出與圖像編碼協(xié)議一致的時(shí)序,使saa7121能夠完成可靠的接收,并實(shí)現(xiàn)預(yù)期的編碼效果,其中采用外同步hsync和vsync經(jīng)過fpga內(nèi)部邏輯處理產(chǎn)生的start_pixel和line_2nd及l(fā)ine_314th?3個(gè)變量來確定出編碼器的行起始點(diǎn)、場起始點(diǎn)、及其各自編碼終點(diǎn),同時(shí)由同步碼的方式打數(shù)來驅(qū)動(dòng)圖像編碼器芯片saa7121。
9、優(yōu)選地,fpga通過i2c總線依次給出saa7121中各寄存器的配置數(shù)據(jù)。
10、優(yōu)選地,fpga實(shí)現(xiàn)的編碼器,即狀態(tài)機(jī)需要編碼的狀態(tài)如下:
11、(1)idle狀態(tài):完成像素行列指針初始化,圖像所有像素的默認(rèn)值初始化,saa7121配置,el1883產(chǎn)生的hsync以及vsync的同步處理;
12、(2)work狀態(tài):檢測行編碼起始點(diǎn)start_pixel、編碼第2行標(biāo)志line_2nd,以及行指針遞增觸發(fā)條件;
13、(3)eav狀態(tài):結(jié)束同步碼狀態(tài),包括:
14、輸出偶場消隱后肩結(jié)束同步碼eav1=8’hb6;
15、輸出偶場數(shù)據(jù)結(jié)束同步碼eav2=8’h9d;
16、輸出偶場消隱前肩結(jié)束同步碼eav3=8’hb6;
17、輸出奇場消隱結(jié)束后肩同步碼eav4=8’hf1;
18、輸出奇場數(shù)據(jù)結(jié)束同步碼eav5=8’hda;
19、輸出奇場消隱結(jié)束前肩同步碼eav6=8’hf1;
20、(4)vblanking狀態(tài):行消隱狀態(tài),包括:
21、輸出行消隱區(qū)奇數(shù)像素位置填充碼blank_odd=8’h10;
22、輸出行消隱區(qū)偶數(shù)像素位置填充碼blank_even=8’h80;
23、(5)sav狀態(tài):開始同步碼狀態(tài),包括:
24、偶場消隱后肩開始同步碼sav1=8’hab;
25、偶場數(shù)據(jù)開始同步碼sav2=8’h80;
26、偶場消隱前肩開始同步碼sav3=8’hab;
27、奇場消隱后肩開始同步碼sav4=8’hec;
28、奇場數(shù)據(jù)開始同步碼sav5=8’hc7;
29、奇場消隱前肩開始同步碼sav6=8’hec;
30、(6)data狀態(tài):畫面數(shù)據(jù)編碼狀態(tài),包括:
31、色度分量cb編碼狀態(tài):even;
32、亮度分量y1編碼狀態(tài):y_data1;
33、色度分量cr編碼狀態(tài):odd;
34、亮度分量y2編碼狀態(tài):y_data2;
35、(7)end狀態(tài):畫面完成1幀2場的掃描結(jié)束狀態(tài),將跳回work狀態(tài),不斷循環(huán)刷新編碼畫面。
36、優(yōu)選地,當(dāng)fpga內(nèi)部pll產(chǎn)生的27m像素時(shí)鐘pclk已經(jīng)鎖定,并且此時(shí)已經(jīng)完成對saa7121的i2c配置時(shí)序,則拉高start_encoding標(biāo)志信號(hào),觸發(fā)狀態(tài)機(jī)工作,具體流程如下:
37、步驟1:狀態(tài)機(jī)處于idle狀態(tài),初始化像素指針pixels=0,行指針lines=0,編碼器數(shù)據(jù)狀態(tài)默認(rèn)處在消隱結(jié)束碼狀態(tài)eav,當(dāng)start_encoding=1,則跳到步驟2;
38、步驟2:狀態(tài)機(jī)處于work狀態(tài),當(dāng)檢測到start_pixel=1,將像素列指針pixels置為11’d1,與此同時(shí)打出第1個(gè)像素?cái)?shù)據(jù):8’hff,此外在pclk同一時(shí)鐘周期內(nèi)檢測第2行標(biāo)志line_2nd是否拉高,若未拉高說明此時(shí)外部模擬源信號(hào)輸入狀態(tài)異常或el1883解析異常,則此時(shí)行指針保持前一狀態(tài)不變,同時(shí)驅(qū)動(dòng)圖像編碼器芯片給出消隱黑電平數(shù)據(jù)8’h10,若此時(shí)line_2nd已經(jīng)拉高,則將行指針置為2;像素指針pixels在pclk的下降沿不斷累加1,eav狀態(tài)在(pixels<=4)時(shí),分別產(chǎn)生前導(dǎo)碼:8’hff、8’h00、8’h00、eavx,當(dāng)像素指針pixels>4時(shí),跳到步驟3;
39、步驟3:狀態(tài)機(jī)進(jìn)入行消隱區(qū),在像素指針滿足5<=pixels<=283時(shí),在像素指針pixels的值為奇數(shù)時(shí)產(chǎn)生填充碼8’h10,在像素指針pixels的值為偶數(shù)時(shí)產(chǎn)生填充碼8’h80,當(dāng)像素指針滿足pixels>=284時(shí),跳到步驟4;
40、步驟4:狀態(tài)機(jī)進(jìn)入sav狀態(tài),依據(jù)當(dāng)前所編碼的行數(shù),分別進(jìn)入偶場消隱開始sav1、偶場數(shù)據(jù)開始sav2、奇場消隱開始sav4、奇場數(shù)據(jù)開始sav5狀態(tài),采用步驟2的方法產(chǎn)生前導(dǎo)碼:8’hff、8’h00、8’h00、savx,當(dāng)像素指針pixels>288時(shí),跳轉(zhuǎn)到步驟5;
41、步驟5:狀態(tài)機(jī)進(jìn)入數(shù)據(jù)編碼data狀態(tài),根據(jù)ycbcr422的編碼格式,依次進(jìn)入:even狀態(tài)、y_data1狀態(tài)、odd狀態(tài)、y_data2狀態(tài),當(dāng)檢測到像素指針pixels>=1728,數(shù)據(jù)狀態(tài)轉(zhuǎn)移到eav,將行索引lines加1并將像素指針pixels置為1,并跳轉(zhuǎn)到步驟2;當(dāng)檢測到當(dāng)前編碼行數(shù)為625時(shí),此時(shí)已完成1幀圖像的編碼,將數(shù)據(jù)狀態(tài)datadone拉高,同樣跳轉(zhuǎn)到步驟2,去判斷下一周期行指針應(yīng)該保持還是置為2。
42、本發(fā)明還提供了一種用于實(shí)現(xiàn)所述方法的系統(tǒng)。
43、本發(fā)明還提供了一種所述方法在機(jī)載吊艙圖像視頻顯示控制中的應(yīng)用。
44、(三)有益效果
45、本發(fā)明中處理器采用ep4ce115f23i7?fpga,通過20m時(shí)鐘50分頻成400khz作為i2c接口的配置時(shí)鐘,同時(shí)通過例化fpga內(nèi)部pll產(chǎn)生27m時(shí)鐘實(shí)現(xiàn)bt656的編碼器協(xié)議,從而產(chǎn)生7121芯片的像素控制信息及同步消隱控制信號(hào),來實(shí)現(xiàn)吊艙顯示屏的中心游標(biāo)的快慢指示,方向指示,寬窄視場指示。
46、本發(fā)明采用fpga作為主控,搭載行場分離芯片el1883和編碼器芯片saa7121來實(shí)現(xiàn)機(jī)載視頻的外同步顯示控制;該方法只需配置saa7121很少一部分寄存器,通過fpga的pal外同步顯示控制算法,很靈活地升級顯控邏輯軟件來適配各種畫面場景,其硬件電路設(shè)計(jì)成本低廉,并且主控芯片及編碼器芯片均有國產(chǎn)對標(biāo)產(chǎn)品。