<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA實(shí)現(xiàn)的計(jì)算機(jī)與HDTV顯示器測(cè)試信號(hào)發(fā)生器

          基于FPGA實(shí)現(xiàn)的計(jì)算機(jī)與HDTV顯示器測(cè)試信號(hào)發(fā)生器

          作者: 時(shí)間:2012-10-25 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:為產(chǎn)生滿(mǎn)足14種并兼容4種高清晰度電視()視頻標(biāo)準(zhǔn)的13種測(cè)試圖案信號(hào),研究開(kāi)發(fā)了與高清晰度電視信號(hào)發(fā)生器.采用現(xiàn)場(chǎng)可編程門(mén)陣列()完成測(cè)試圖案數(shù)據(jù)存儲(chǔ)、各種視頻標(biāo)準(zhǔn)時(shí)序產(chǎn)生及系統(tǒng)控制信號(hào)產(chǎn)生等核心功能.利用的現(xiàn)場(chǎng)可編程功能,采用多個(gè)EPROM存儲(chǔ)配置.采用頻率發(fā)生器技術(shù)為多種視頻標(biāo)準(zhǔn)提供時(shí)鐘信號(hào).實(shí)踐表明,以上方法可行,且成本降低,尺寸從15cm×21.5cm減小到11cm×14cm.

          本文引用地址:http://www.ex-cimer.com/article/189808.htm

          隨著高清晰度電視()顯示器與顯示器生產(chǎn)規(guī)模的日益擴(kuò)大,如何準(zhǔn)確有效地測(cè)試它們的性能質(zhì)量就顯得十分重要.筆者研制的信號(hào)發(fā)生器,已在國(guó)內(nèi)某企業(yè)的高清晰度電視顯示器生產(chǎn)中投入使用.

          該儀器使用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)產(chǎn)生地址和控制信號(hào)訪問(wèn)測(cè)試圖案數(shù)據(jù)存儲(chǔ)陣列.組成數(shù)據(jù)存儲(chǔ)陣列的14片芯片(8片74LS244芯片、3片74LS374芯片、3片EPROM)在電路板上占據(jù)了很大的空間,因此為了釋放電路板空間,節(jié)約成本及提高系統(tǒng)可靠性,筆者采用FPGA內(nèi)部實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的方案,研制了第二代HDTV信號(hào)發(fā)生器.

          在實(shí)踐中,用戶(hù)希望擴(kuò)展該儀器的功能,使之增加能夠產(chǎn)生各種滿(mǎn)足計(jì)算機(jī)顯示器視頻標(biāo)準(zhǔn)的測(cè)試信號(hào)的能力,即除了遵循HDTV標(biāo)準(zhǔn)中的3種必須的顯示格式(SMPTE274M-1080i60Hz,SMPTE293M-480P,SMPTE296M-720P)和1種中國(guó)高清晰度數(shù)字電視1080i50Hz的顯示標(biāo)準(zhǔn)格式[6]外,還必須遵循VGA、SVGA、XGA、SXGA和UXGA等14種計(jì)算機(jī)顯示器的顯示格式.這在技術(shù)上帶來(lái)了兩個(gè)問(wèn)題:一是如果仍采取以前的方案,使用1片F(xiàn)PGA完成全部18種視頻時(shí)序的產(chǎn)生、測(cè)試圖案數(shù)據(jù)存儲(chǔ)及控制信號(hào)產(chǎn)生,則該FPGA的規(guī)模會(huì)變得很大,這樣,FPGA要么價(jià)格十分昂貴,要么目前還找不到;二是以前為產(chǎn)生4種HDTV時(shí)序,只需向FPGA提供兩種時(shí)鐘(74.25MHz和27MHz),為此使用了兩個(gè)晶振.現(xiàn)在為產(chǎn)生新的14種時(shí)序,必須再提供14種不同頻率的時(shí)鐘(詳見(jiàn)下文),使用單個(gè)晶振分別產(chǎn)生的方案顯然已經(jīng)不合理了.為此,利用FPGA的現(xiàn)場(chǎng)可編程功能,在仍使用原FPGA的同時(shí),為其配備多個(gè)EPROM存儲(chǔ)FPGA配置,在切換圖像格式組時(shí),分別用不同EPROM對(duì)FPGA進(jìn)行配置,在不增加FPGA規(guī)模的情況下實(shí)現(xiàn)18種視頻格式的產(chǎn)生,并采用頻率合成器技術(shù)為FPGA提供各種時(shí)鐘信號(hào).實(shí)踐證明,以上措施是正確可行.

          1 系統(tǒng)的功能框圖及介紹

          圖1 系統(tǒng)結(jié)構(gòu)框圖

          圖1 是系統(tǒng)結(jié)構(gòu)框圖.FPGA的輸入有選擇信號(hào)、像素時(shí)鐘和配置信號(hào).選擇信號(hào)包括對(duì)圖像格式和測(cè)試圖案的選擇,它們來(lái)自系統(tǒng)的控制面板.各種像素時(shí)鐘來(lái)自頻率合成器模塊.頻率合成器模塊由FPGA輸出的像素時(shí)鐘選擇信號(hào)控制,為FPGA選擇適當(dāng)?shù)南袼貢r(shí)鐘頻率.EPROM模塊由4個(gè)EPROM(EPC1)組成,每個(gè)EPROM中放有一組視頻標(biāo)準(zhǔn)的配置信息,EPROM的選擇信號(hào)由控制面板產(chǎn)生.EPROM輸出的配置信號(hào)在系統(tǒng)上電或圖像格式組切換時(shí)完成對(duì)FPGA的配置.

          型號(hào)為FLEX10K50的FPGA芯片是本系統(tǒng)的核心部分.它根據(jù)輸入的控制信號(hào),輸出滿(mǎn)足格式要求的數(shù)字YCbCr信號(hào)、同步/消隱控制信號(hào)、行場(chǎng)同步信號(hào)以及像素時(shí)鐘的選擇信號(hào).THS8134的作用是把FPGA輸出的數(shù)字YCbCr信號(hào)轉(zhuǎn)換為模擬YPbPr信號(hào),再根據(jù)控制信號(hào)/SYNC、SYNC-T和/BLANK產(chǎn)生同步/消隱信號(hào)并把它疊加到模擬YPbPr信號(hào)上.THS8134的輸出,一組直接從YPbPr接口輸出,一組通過(guò)矩陣變換和同步切除,轉(zhuǎn)換為可供VGA接口輸出的RGB信號(hào).

          2 頻率合成模塊和各種VGA格式

          頻率合成模塊的功能是在FPGA的控制下,根據(jù)選擇信號(hào)產(chǎn)生相應(yīng)的像素時(shí)鐘信號(hào).選用MC12429作為時(shí)鐘產(chǎn)生芯片.MC12429是1個(gè)通用合成時(shí)鐘源,其內(nèi)部的壓控振蕩器(VCO)可在200~400MHz范圍內(nèi)操作.該芯片的差分PECL輸出根據(jù)不同的設(shè)置可以是VCO頻率的1、2、4或8分頻.輸出頻率可通過(guò)并行接口或串行接口來(lái)配置,筆者選用并行配置.并行接口根據(jù)MC12429的輸入腳M[8..0]、N[1...0]的值配置內(nèi)部計(jì)數(shù)器,產(chǎn)生所需要的時(shí)鐘.其輸出時(shí)鐘的計(jì)算式為:

          FOUT=(Fxtal/16)M/N

          式中:M的推薦取值范圍是200~400;N取00代表1,取01代表2,取10代表4,取11代表8;Fxtal在本系統(tǒng)中選用16MHz的晶體.MC10ELT21是一個(gè)差分PECL電平到TTL電平的轉(zhuǎn)換器,其特點(diǎn)是具有3.5ns的典型傳輸延遲,差分PECL輸入,SOIC封裝,24mATTL輸出,+5V供電.


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();