基于FPGA實現(xiàn)的計算機與HDTV顯示器測試信號發(fā)生器
摘要:為產生滿足14種計算機并兼容4種高清晰度電視(HDTV)視頻標準的13種測試圖案信號,研究開發(fā)了計算機與高清晰度電視顯示器測試信號發(fā)生器.采用現(xiàn)場可編程門陣列(FPGA)完成測試圖案數據存儲、各種視頻標準時序產生及系統(tǒng)控制信號產生等核心功能.利用FPGA的現(xiàn)場可編程功能,采用多個EPROM存儲FPGA配置.采用頻率發(fā)生器技術為多種視頻標準提供時鐘信號.實踐表明,以上方法可行,且成本降低,尺寸從15cm×21.5cm減小到11cm×14cm.
隨著高清晰度電視(HDTV)顯示器與計算機顯示器生產規(guī)模的日益擴大,如何準確有效地測試它們的性能質量就顯得十分重要.筆者研制的HDTV顯示器測試信號發(fā)生器,已在國內某企業(yè)的高清晰度電視顯示器生產中投入使用.
該儀器使用現(xiàn)場可編程門陣列(FPGA)產生地址和控制信號訪問測試圖案數據存儲陣列.組成數據存儲陣列的14片芯片(8片74LS244芯片、3片74LS374芯片、3片EPROM)在電路板上占據了很大的空間,因此為了釋放電路板空間,節(jié)約成本及提高系統(tǒng)可靠性,筆者采用FPGA內部實現(xiàn)數據存儲的方案,研制了第二代HDTV顯示器測試信號發(fā)生器.
在實踐中,用戶希望擴展該儀器的功能,使之增加能夠產生各種滿足計算機顯示器視頻標準的測試信號的能力,即除了遵循HDTV標準中的3種必須的顯示格式(SMPTE274M-1080i60Hz,SMPTE293M-480P,SMPTE296M-720P)和1種中國高清晰度數字電視1080i50Hz的顯示標準格式[6]外,還必須遵循VGA、SVGA、XGA、SXGA和UXGA等14種計算機顯示器的顯示格式.這在技術上帶來了兩個問題:一是如果仍采取以前的方案,使用1片F(xiàn)PGA完成全部18種視頻時序的產生、測試圖案數據存儲及控制信號產生,則該FPGA的規(guī)模會變得很大,這樣,FPGA要么價格十分昂貴,要么目前還找不到;二是以前為產生4種HDTV時序,只需向FPGA提供兩種時鐘(74.25MHz和27MHz),為此使用了兩個晶振.現(xiàn)在為產生新的14種時序,必須再提供14種不同頻率的時鐘(詳見下文),使用單個晶振分別產生的方案顯然已經不合理了.為此,利用FPGA的現(xiàn)場可編程功能,在仍使用原FPGA的同時,為其配備多個EPROM存儲FPGA配置,在切換圖像格式組時,分別用不同EPROM對FPGA進行配置,在不增加FPGA規(guī)模的情況下實現(xiàn)18種視頻格式的產生,并采用頻率合成器技術為FPGA提供各種時鐘信號.實踐證明,以上措施是正確可行.
1 系統(tǒng)的功能框圖及介紹
圖1 系統(tǒng)結構框圖
圖1 是系統(tǒng)結構框圖.FPGA的輸入有選擇信號、像素時鐘和配置信號.選擇信號包括對圖像格式和測試圖案的選擇,它們來自系統(tǒng)的控制面板.各種像素時鐘來自頻率合成器模塊.頻率合成器模塊由FPGA輸出的像素時鐘選擇信號控制,為FPGA選擇適當的像素時鐘頻率.EPROM模塊由4個EPROM(EPC1)組成,每個EPROM中放有一組視頻標準的配置信息,EPROM的選擇信號由控制面板產生.EPROM輸出的配置信號在系統(tǒng)上電或圖像格式組切換時完成對FPGA的配置.
型號為FLEX10K50的FPGA芯片是本系統(tǒng)的核心部分.它根據輸入的控制信號,輸出滿足格式要求的數字YCbCr信號、同步/消隱控制信號、行場同步信號以及像素時鐘的選擇信號.THS8134的作用是把FPGA輸出的數字YCbCr信號轉換為模擬YPbPr信號,再根據控制信號/SYNC、SYNC-T和/BLANK產生同步/消隱信號并把它疊加到模擬YPbPr信號上.THS8134的輸出,一組直接從YPbPr接口輸出,一組通過矩陣變換和同步切除,轉換為可供VGA接口輸出的RGB信號.
2 頻率合成模塊和各種VGA格式
頻率合成模塊的功能是在FPGA的控制下,根據選擇信號產生相應的像素時鐘信號.選用MC12429作為時鐘產生芯片.MC12429是1個通用合成時鐘源,其內部的壓控振蕩器(VCO)可在200~400MHz范圍內操作.該芯片的差分PECL輸出根據不同的設置可以是VCO頻率的1、2、4或8分頻.輸出頻率可通過并行接口或串行接口來配置,筆者選用并行配置.并行接口根據MC12429的輸入腳M[8..0]、N[1...0]的值配置內部計數器,產生所需要的時鐘.其輸出時鐘的計算式為:
FOUT=(Fxtal/16)M/N
式中:M的推薦取值范圍是200~400;N取00代表1,取01代表2,取10代表4,取11代表8;Fxtal在本系統(tǒng)中選用16MHz的晶體.MC10ELT21是一個差分PECL電平到TTL電平的轉換器,其特點是具有3.5ns的典型傳輸延遲,差分PECL輸入,SOIC封裝,24mATTL輸出,+5V供電.
需要說明的是,MC12429與MC10ELT21組成的頻率合成系統(tǒng)無法產生25.175MHz(VGA60Hz)的時鐘頻率,因而還需要外加一個25.175MHz的晶體振蕩器為VGA60顯示格式提供時鐘.此外,THS8134的最大輸入頻率是80MHz,所以對像素時鐘大于80MHz的顯示格式(XGA85Hz、SXGA60Hz和UXGA602Hz),采取FPGA片外分頻的方法,即讓時鐘合成模塊輸出像素時鐘的2分頻,從而使THS8134的輸入時鐘都小于80MHz.這樣做的代價是,系統(tǒng)水平方向以2個像素為單位進行處理.該模塊如圖2所示.表1給出了本儀器可以測試的格式及相關參數.
圖2 頻率產生框圖
表1 頻率合成模塊所能提供的像素時鐘及相關參數
3 FPGA程序設計
本儀器性能上的改進主要是通過對FPGA重新編程實現(xiàn)的.在設計過程中使用了MAX+PLUSⅡ軟件以及AHDL語言.
1)時鐘模塊
根據選擇信號輸出相應的像素時鐘選擇信號,并對輸入時鐘進行分頻.由于本儀器所需要的像素時鐘大多超過了FPGA可穩(wěn)定工作的范圍,所以必須對輸入的時鐘進行分頻.如果對時鐘進行N分頻,那么FPGA水平方向便以N個像素為單位進行處理,其代價是測試圖像的垂直條紋變粗(為以前的N倍),因此要適當選擇分頻倍數,使顯示效果達到芯片所允許的最佳狀態(tài).時鐘模塊還要輸出一路未分頻的時鐘信號,用于D/A變換.
2)像素計數模塊
該模塊是整個FPGA工作的基礎.根據當前格式下每行的像素數,對像素時鐘進行計數.計數器完成1行的計數后清零并產生完成1行的標志信號.
3)行計數模塊
計數器根據當前格式下每場/幀的行數,對像素計數模塊產生的標志信號進行計數,再根據像素計數器和行計數器的值,在相應的像素位置產生VGA輸出所需要的同步信號.完成1場/幀的計數后,計數器清零并產生完成一場/幀的標志信號.
4)行控制模塊
輸出行標志信號,使FPGA適應不同格式的圖像輸出,不同格式是指消隱與有效輸出之間比例關系的不同.該模塊利用行計數的結果對行進行分類,并將行類型碼傳給同步/消隱控制信號產生模塊.
5)同步/消隱控制信號產生模塊
根據像素計數器的計數和行控制模塊輸出的行標志信號,產生THS8134要用到的同步/消隱控制信號/SYNC、SYNC-T和/BLANK.
6)測試圖案產生模塊
該模塊根據像素計數器和行計數器的計數情況,按照格式選擇信號和測試圖案選擇信號,輸出相應的YCbCr數字電平值.模塊輸出的圖像數據分為黑白數字電平值以及彩色、灰度可變信號電平值.黑白信號的數字電平值比較簡單,只有黑、白、灰3種,且相對固定.而彩色信號包括白、黃、青、綠、品、紅、藍、黑8種電平,灰度可變信號的亮度電平值是在16~235之間變化.在該模塊的設計中,使用了鎖存器,目的是避免測試圖像在電平變化處出現(xiàn)毛刺.圖3是FPGA的程序框圖.表2是改進后系統(tǒng)的部分參數.
圖3 FPGA程序框圖
表2 改進后的系統(tǒng)
4 結語
通過采取增加EPROM對FPGA現(xiàn)場配置和設置頻率合成模塊產生十余種像素時鐘及對FPGA的重新編程,使儀器增加了對計算機顯示器進行測試的功能,大大擴展了儀器的應用范圍.本儀器在每種顯示格式下均可輸出13種測試圖案,分別為全白場、全黑場、條形圖、可變窗、五窗口、格形圖、線加窗、PLUGE、2τ脈沖、五階梯、棋盤格、五階梯加可變窗和彩條.





