楊文豪, 倪文龍, 付 強, 孫 舟, 郭 奇, 錢宏文
(中國電子科技集團公司第58研究所, 江蘇 無錫 214035)
產(chǎn)品環(huán)境試驗是為保障和提高軍品環(huán)境適應(yīng)性的重要環(huán)節(jié),產(chǎn)品需要經(jīng)過諸如高低溫、振動、沖擊、老練、壓力等一系列標(biāo)準(zhǔn)化測試,才能夠保證使用過程中的可靠穩(wěn)定[1-2]。為了簡化研制試驗過程中的測試方法,提高測試效率,針對某圖像控制器研制了專用的測試模塊,該模塊能夠并行輸出4路電視廣播制式(Phasc Alteration Line, PAL)圖像,并實現(xiàn)多臺設(shè)備的同時測試。
某圖像控制器能夠?qū)?路PAL制式攝像頭采集的圖像數(shù)據(jù)實時拼接,實現(xiàn)廣角成像。輔助其完成各種環(huán)境測試的圖像源發(fā)生模塊通過RS-232接口與上位機通信響應(yīng)各種控制命令,控制核心采用SPARTAN-6 XC6SLX150型可編程門控陣列(Field-Programmable Gate Array, FPGA)器件,用于暫存圖像源的存儲器選用16 Meg×16×8 Banks型DDR3-SDRAM緩存芯片MT41J128M16,PAL制式轉(zhuǎn)換接口芯片選用低功耗、全集成、10位標(biāo)清/高清視頻編碼器ADV7393。通過SD卡預(yù)先存儲圖像源數(shù)據(jù),系統(tǒng)工作時,將圖像源在DDR3-SDRAM中的4個地址空間分區(qū)緩存,經(jīng)過ITU-RBT.656編碼輸出到ADV7393的數(shù)字輸入端口,最終以PAL制式輸出到待測產(chǎn)品的復(fù)合同步視頻廣播信號(CVBS)接口,測試模塊同時具有實時監(jiān)控產(chǎn)品的攝像頭供電電壓等功能。圖像源發(fā)生模塊的功能框圖如圖1所示。
圖1 圖像源發(fā)生模塊的功能框圖
PAL是一種720×576分辨率,25幀/s,隔行掃描的電視廣播制式[3]。ITU-RBT.656數(shù)據(jù)接口標(biāo)準(zhǔn)的數(shù)據(jù)格式為8位的YUV422 格式的復(fù)合視頻碼流,內(nèi)部包含場同步信號和行同步信號。采用ADV7393實現(xiàn)標(biāo)清格式下8位ITU-RBT.656編碼輸入,PAL制式數(shù)據(jù)輸出。ADV7393的標(biāo)清PAL輸出模式通過IIC總線配置實現(xiàn),配置內(nèi)容如表1所示。
表1 ADV7393寄存器配置
在ITU-RBT.656標(biāo)準(zhǔn)中,圖像數(shù)據(jù)包含場(Field)、行(Line)、起始(SAV)、結(jié)束(EAV)等標(biāo)識,一副圖像稱為一個場,場包含625行,分為垂直消隱頂場(First Vertical Blanking)、有效數(shù)據(jù)行(Active Video)和垂直消隱底場(Second Vertical Blanking)3部分。PAL制式為隔行掃描方式,有效數(shù)據(jù)區(qū)分為奇偶兩個部分:奇場存放有288行奇數(shù)行效數(shù)據(jù),偶場存放288行偶數(shù)行效數(shù)據(jù),其余行即垂直消隱信號[4]。一行有1 728個像素,由EAV、SAV、水平消隱(Horizontal Vertical Blanking)和有效數(shù)據(jù)(Active Video)4個部分組成,其中有效數(shù)據(jù)包含720列Y,720列Cb和Cr,按照Y-Cr-Cb-Y的形式編碼,消隱數(shù)據(jù)由80H/10H來填充。EAV和SAV的4個字節(jié)的格式規(guī)定(以16進制表示)為FF 00 00 XY,其中,前三個字節(jié)為固定為FF 00 00,而第4個字節(jié)(XY)是根據(jù)場、消隱信息而定,內(nèi)容如表2所示。
表2 XY含義
將YCrCb格式數(shù)據(jù)在FPGA中按照ITU-RBT.656格式編碼,流程如圖2所示。
圖2 ITU-RBT.656編碼流程圖
編碼開始后,圖像按照ITU-RBT.656標(biāo)準(zhǔn)進行填充顯示[5],其中:H_TOTAL_SIZE、 V_TOTAL_SIZE 分別為總幅高(1728)和總幅長(625);Pixsel為水平像素點;Line為行數(shù)。當(dāng)前顯示頂場或底場時,每行像素按照SAV、有效數(shù)據(jù)、EAV和輔助消隱數(shù)據(jù)順序填充,當(dāng)前顯示為消隱場時,有效數(shù)據(jù)填充消隱數(shù)據(jù)80H/10H[6]。
依托于MIG核,本設(shè)計由用戶接口實現(xiàn)DDR3-SDRAM緩存圖像的分區(qū)存儲與并行輸出控制[7]。系統(tǒng)上電完成后,F(xiàn)PGA完成配置以及ADV7393、SD卡、DDR3等模塊的初始化,即進入圖像源緩存輸出流程。4個圖像源分區(qū)緩存在DDR3-SDRAM后,采用突發(fā)的方式依次讀取每個圖像緩存區(qū)域中同一偏移地址數(shù)據(jù),每完成一次突發(fā)操作,區(qū)域地址跳轉(zhuǎn)到下一區(qū)域,當(dāng)4路圖像源地址讀取完畢后,偏移地址自增一個突發(fā)長度,進行下一輪的讀取[8-9]。與此同時,BT.656編碼模塊通過讀取FIFO中緩存的數(shù)據(jù)完成編碼并將數(shù)據(jù)通過ADV7393的數(shù)字接口輸出,即實現(xiàn)了4路PAL制式同步輸出。DDR3控制流程如圖3所示[10]。
圖3 DDR3緩存輸出控制流程
ADV7393的控制時鐘為27 MHz,要實現(xiàn)4路圖像的同步輸出,則DDR3對圖像源的讀取速率不得低于四路圖像源的總數(shù)率,即4×27 MHz×8 bit=108 MB/s。
FPGA需要為DDR3緩存提供雙邊沿時鐘sysclk,設(shè)置DDR3 的時鐘頻率為312.5 MHz,F(xiàn)PGA系統(tǒng)輸入時鐘為50 MHz,通過PLL_ADV產(chǎn)生25倍頻再8分頻得到312.5 MHz的上邊沿CLKOUT0和下邊沿CLKOUT1。對于物理接口為16位的DDR3緩存器,由于采用了128位用戶接口,用戶自定義時鐘user_clk定義為:
user_clk>= (16/128)×sysclk/2=0.125sysclk
據(jù)此,將分頻倍數(shù)設(shè)置為8,即用戶時鐘設(shè)置為625/8=78.125 MHz。為避免FPGA邏輯的復(fù)雜時序和綜合時的問題,用戶讀寫接口也設(shè)置為同源時鐘。
DDR3的用戶接口可設(shè)置突發(fā)長度為1~64個,為實現(xiàn)四路數(shù)據(jù)零等待持續(xù)輸出,在78.125 MHz的用戶時鐘下設(shè)置突發(fā)長度為3,考慮DDR3控制命令、突發(fā)讀取潛伏期等因素,狀態(tài)機占用30個時鐘完成一次3×128 Bit=48 Byte的突發(fā)數(shù)據(jù)傳輸,可得:48 Byte×78.125 MHz/30=125 MB/s>108 MB/s,即寫入速率大于圖像源的讀取速率。采用等時輪轉(zhuǎn)的方式依次讀取4個圖像的地址信息,將DDR3存儲空間的圖像地址按照基地址加偏移地址的方式訪問:
pic_addr<=pic_base_addr_x+pic_offset_addr
數(shù)據(jù)地址輪轉(zhuǎn)一周期后使偏移地址自增48(3個突發(fā)長度),圖像源數(shù)據(jù)讀取的同時將數(shù)據(jù)分別輸出到4組FIFO。圖像并行輸出邏輯框圖如圖4所示[11-12]。
圖4 圖像并行輸出邏輯框圖
由于標(biāo)準(zhǔn)PAL制式是隔行掃描的,需要按照先奇場后偶場的順序編碼輸出,因此需要對寄存在DDR3存儲器中的圖像源進行先奇后偶隔行抽取讀入緩存,才能實現(xiàn)正確顯示[13-14]。BT656標(biāo)準(zhǔn)下有效數(shù)據(jù)為1 440×576 Byte,發(fā)送一行數(shù)據(jù)需要1 440/48=30次傳輸,當(dāng)每發(fā)送完一行數(shù)據(jù)即完成30次讀取時需要地址增加1 440完成隔行跳轉(zhuǎn),當(dāng)一副圖像的所有奇數(shù)行讀取完畢,地址轉(zhuǎn)跳到偶數(shù)行起始地址開始隔行讀取,當(dāng)一副圖像讀取完成,地址跳轉(zhuǎn)到下一幅圖像的起始地址[15]。
通過chipscope抓取的DDR3-SDRAM切換操作時序圖如圖5所示,4路FIFO的寫使能與DDR用戶接口的讀使能c3_p0_rd_en同步,c3_p0_cmd_en置位設(shè)置好突發(fā)長度、地址等信息后,c3_p0_rd_en置高,DDR地址按4個圖像源存放順序依次跳轉(zhuǎn),每周期后地址增加一個突發(fā)讀取長度。將CVBS接口與PAL顯示器連接,第1路圖像如圖6所示。依次連接4路得出各路圖像可以獨立輸出。
圖5 DDR3-SDRAM切換操作時序圖
圖6 單路PAL顯示
本設(shè)計以SPARTAN-6 XC6SLX150為控制核心,結(jié)合ITU-RBT.656編碼與DDR3-SDRAM并行輸出的方式實現(xiàn)4路PAL制式圖像的同步顯示。目前該模塊已經(jīng)成功應(yīng)用于某圖像控制器的環(huán)境試驗驗證環(huán)節(jié),在此基礎(chǔ)上進行系統(tǒng)測試,簡化測試環(huán)境,提高了測試效率,通過對圖像輸出的CVBS接口擴展,可以產(chǎn)生多組4路PAL制式圖像輸出,進而實現(xiàn)對多臺產(chǎn)品的并行測試。