《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 一種基于FPGA的實時圖像轉(zhuǎn)換控制器設(shè)計

一種基于FPGA的實時圖像轉(zhuǎn)換控制器設(shè)計

2008-07-11
作者:張 旭,王 彬

??? 摘 要: 介紹了XGA標準,設(shè)計了一種基于FPGA的XGA標準圖像實時控制器,它將PAL制式的電視信號轉(zhuǎn)換成XGA格式的信號。重點討論了圖像數(shù)據(jù)的結(jié)構(gòu)轉(zhuǎn)換過程及控制器的內(nèi)部結(jié)構(gòu)。
??? 關(guān)鍵詞: XGA? FPGA? 雙端口" title="雙端口">雙端口RAM? 圖像轉(zhuǎn)換控制器

?

??? 可編程邏輯器件FPGA由于具有開發(fā)簡單、靜態(tài)可重復(fù)編程和動態(tài)在系統(tǒng)編程的特點,已經(jīng)成為當今應(yīng)用最廣泛的可編程專用集成電路(ASIC)。而XGA(eXtended Grophics Adapter)顯示器因其輸出信息量大、輸出形式多樣等特點已經(jīng)成為目前大多數(shù)設(shè)計的常用輸出設(shè)備,在FPGA的設(shè)計中可以使用很少的資源,就能產(chǎn)生XGA各種控制信號。
1 VGA原理和XGA標準
??? 計算機顯示器的顯示有許多標準,常見的有VGA、SVGA、XGA等。常見的彩色顯示器一般由陰極射線管(CRT)構(gòu)成,彩色是由R、G、B三基色組成,用逐行掃描的方式進行圖像顯示" title="圖像顯示">圖像顯示。陰極射線槍發(fā)出電子束打在涂有熒光粉的熒光屏上,產(chǎn)生R、G、B三基色,合成一個彩色像素。掃描時從屏幕的左上方開始,從左到右、從上到下進行掃描。每掃完一行,電子束回到屏幕的左邊第一行的起始位置。在這期間,CRT對電子束進行消隱,每行結(jié)束時,用行同步信號" title="同步信號">同步信號進行行同步;掃描完所有行,用場同步信號進行場同步,并使行掃描回到屏幕的左上方,同時進行場消隱,預(yù)備下一場的掃描。對于普通的VGA(Video Graphics Adapter(Array))顯示器,其引出線共有五種信號:三基色信號(R、G、B);行同步信號(HS);場同步信號(VS)。
??? 對于VGA顯示器的這五種信號的時序驅(qū)動要嚴格遵循“VGA工業(yè)標準”,本設(shè)計中采用1024×768@60Hz的XGA標準。圖1是XGA行掃描、場掃描的時序圖,表1、表2分別為行掃描、場掃描的時序要求。

???????????????

??????????????????
??? 設(shè)計XGA顯示控制主要注意兩個問題:一個是時序驅(qū)動,這是完成設(shè)計的關(guān)鍵,時序稍有偏差,顯示必然不正常,甚至會損壞彩色顯示器;另一個是XGA信號的電平驅(qū)動(XGA信號的驅(qū)動電平是模擬信號)。
2 控制器的設(shè)計
2.1 控制器原理
??? 本設(shè)計的數(shù)據(jù)源是PAL制式的電視信號,數(shù)據(jù)格式為YUV(4:2:2)格式。本設(shè)計以FPGA為平臺,將原始的電視信號數(shù)據(jù)轉(zhuǎn)換為RGB格式的視頻信號,并使圖像的分辨率由720×576提高到1024×768,達到XGA標準。設(shè)計可分為FIFO模塊、雙端口RAM控制模塊、圖像結(jié)構(gòu)轉(zhuǎn)換模塊和色空間轉(zhuǎn)換模塊。設(shè)計選取的雙端口RAM必須能存儲兩幀以上圖像,以保證完成緩沖。當雙端口RAM從一端寫滿一幀圖像數(shù)據(jù)后,在寫滿下一幀數(shù)據(jù)前,開始從另一端讀取第一幀數(shù)據(jù);第二幀寫滿后再讀取第二幀,直到第一幀的數(shù)據(jù)被第三幀數(shù)據(jù)完全覆蓋,不斷重復(fù)此過程。圖像結(jié)構(gòu)轉(zhuǎn)換模塊和色空間轉(zhuǎn)換模塊將PAL制式(分辨率720×576,場頻50Hz,隔行掃描)的電視信號轉(zhuǎn)換為XGA(分辨率1024×768,幀頻60Hz,逐行掃描)標準的視頻信號。
2.2 硬件實現(xiàn)
??? 本設(shè)計中FPGA采用了Actel公司的APA150芯片。該FPGA芯片具有150 000個系統(tǒng)門,邏輯單元為6144個,內(nèi)嵌36KB的雙端口SRAM的2個鎖相環(huán)PPL內(nèi)核,最大支持242個用戶I/O(I/O電壓有3.3V和2.5V兩種可供選擇),支持3.3V、32bit、50MHz的PCI總線,系統(tǒng)時鐘最高為32MHz。雙端口RAM采用賽普拉斯半導(dǎo)體公司(Cypress Semiconductor Corp.)的CYD18S72V雙端口RAM,該芯片容量為256K×72bit,其硬件框圖如圖2所示。

????????????????????????????
2.3 雙端口RAM控制模塊
2.3.1 雙端口RAM簡介

??? 雙端口RAM作為一種特殊類型的RAM,在一些高速數(shù)據(jù)采集與處理系統(tǒng)中得到了廣泛應(yīng)用。它具有兩個獨立的端口,各自均有一套相應(yīng)的數(shù)據(jù)總線、地址總線和控制總線,允許兩個端口獨立、異步地對存儲器中的任何存儲單元進行存取操作。當兩個端口同時對存儲器中的同一單元進行存取操作時,可以由其內(nèi)部仲裁邏輯決定優(yōu)先權(quán)。
2.3.2 雙端口RAM的控制
??? 當兩個端口對雙端口RAM存取時,一般存在四種情況:(1)兩個端口同時對不同地址單元讀寫數(shù)據(jù);(2)兩個端口同時對同一地址單元讀出數(shù)據(jù);(3)兩個端口同時對同一地址單元寫入數(shù)據(jù);(4)兩個端口同時讀寫同一地址單元,一個寫入數(shù)據(jù),另一個讀出數(shù)據(jù)。
??? 在(1)、(2)兩種情況下,兩個端口的存取不會出現(xiàn)錯誤,(3)、(4)種情況時會出現(xiàn)競爭現(xiàn)象。為避免因競爭而導(dǎo)致的通信錯誤,可采取“BUSY”功能輸出或通過特殊的軟件處理方法來解決。在本設(shè)計中,雙端口RAM僅用來作為數(shù)據(jù)緩沖,一個端口輸入,另一個端口輸出,只要避免出現(xiàn)第四種情況即可。在實現(xiàn)時,將雙端口RAM分成兩個工作區(qū),每個工作區(qū)可以存儲一幀的圖像數(shù)據(jù)。當輸入端口輸入的數(shù)據(jù)寫滿工作區(qū)1后,在寫滿工作區(qū)2前,通過程序控制輸出端口反復(fù)從工作區(qū)1中讀取數(shù)據(jù);當工作區(qū)2寫滿后,在輸入端口的數(shù)據(jù)重新寫入工作區(qū)1、工作區(qū)1寫滿前,通過程序控制輸出端口反復(fù)從工作區(qū)2中讀取數(shù)據(jù)。多次重復(fù)上述過程,可以實現(xiàn)對圖像數(shù)據(jù)的無差錯存取。
??? 在存儲時,要將電視信號的一個奇場和一個偶場的行像素數(shù)據(jù)交錯存儲,這樣就實現(xiàn)了由隔行到逐行掃描的結(jié)構(gòu)轉(zhuǎn)換。本設(shè)計中采用的雙端口RAM為256K×72bit的存儲器,而YUV數(shù)據(jù)格式為每個像素16bit數(shù)據(jù),每行720個有效像素,每行像素占用160個地址,因此每幀圖像占92 160個地址。
2.4 時序產(chǎn)生器模塊
??? 視頻定時產(chǎn)生器產(chǎn)生正確顯示圖像所必需的同步信號——行同步信號、場同步信號。利用FPGA內(nèi)部時鐘鎖相環(huán)倍頻后的65MHz的主時鐘,來產(chǎn)生符合XGA標準的視頻信號,其分辨率為1024×768、幀頻為60Hz。
????行同步過程的時間以像素節(jié)拍為單位進行測量,用一個計數(shù)器控制。計數(shù)器對輸出的像素進行計數(shù),復(fù)位后從0開始,此時圖像顯示處于有效狀態(tài);計到1024時,開始進入行消隱前肩狀態(tài);計數(shù)到1048時,進入行同步狀態(tài);計數(shù)到1148時,進入行消隱后肩狀態(tài);計數(shù)到1343后,在下個像素節(jié)拍到來時計時器清零,重新進入圖像顯示有效狀態(tài)。
??? 場同步過程的時間以行節(jié)拍為單位進行測量,也用一個計數(shù)器控制。計數(shù)器對輸出的行進行計數(shù),復(fù)位后從0開始,此時圖像顯示處于有效狀態(tài);計數(shù)到768時,開始進入場消隱前肩狀態(tài);計數(shù)到771時,進入場同步狀態(tài);計數(shù)到777時,進入場消隱后肩狀態(tài);計數(shù)到805后,在下個像素節(jié)拍到來時計時器清零,重新進入圖像顯示有效狀態(tài)。
2.5 FIFO模塊
??? FIFO1(先入先出)是深度為1024、寬度為16位的異步FIFO,寫時鐘為YUV信號的輸入時鐘PCLK,讀時鐘為時鐘發(fā)生器產(chǎn)生的主時鐘MCLK。當輸入的原始數(shù)據(jù)的行、場同步信號都有效時,該FIFO的寫使能有效;當寫地址計數(shù)器數(shù)到一半或計滿時,觸發(fā)讀使能信號,使讀使能信號在后面的360個讀時鐘周期內(nèi)一直有效。由于讀時鐘頻率大于寫時鐘頻率,所以不會產(chǎn)生數(shù)據(jù)寫滿溢出的現(xiàn)象。
??? FIFO2、FIFO的設(shè)計與FIFO1類似,為深度為1024寬度為16位的異步FIFO,寫時鐘為主時鐘。FIFO2、FIFO3在主時鐘的同步下交替按行接收從雙端口RAM中讀出的數(shù)據(jù),當快寫滿時停止從雙端口RAM中讀數(shù)據(jù),同時FIFO的寫使能信號無效,讀使能信號有效。當快讀空時,觸發(fā)寫使能信號,繼續(xù)讀取數(shù)據(jù)。
2.6 圖像結(jié)構(gòu)轉(zhuǎn)換模塊
??? 該模塊要完成分辨率的轉(zhuǎn)換,以及幀頻的轉(zhuǎn)換。
2.6.1 分辨率的轉(zhuǎn)換
??? 原始信號的分辨率為720×576,目標分辨率為1024×768。轉(zhuǎn)換的方案是:首先將原始信號做3:4的放大,使像素點數(shù)變?yōu)?60×768,再將每行的兩側(cè)各補充32個0,這樣既達到了1024×768的分辨率要求,算法也比較簡單。考慮到一般只注意圖像中間部分,對四周不是很關(guān)心,因此,在放大圖像四周補0的做法不會影響圖像的效果。
??? 水平方向插值" title="插值">插值采用三次樣條插值,垂直方向插值采用相鄰兩行內(nèi)插" title="內(nèi)插">內(nèi)插算法,內(nèi)插函數(shù)采用bisigmoidal[5]函數(shù):
??? ?

式中,a是調(diào)節(jié)曲線特性的常數(shù),?駐y是函數(shù)輸入變量。采用臨近兩點y(n+1)和y(n)進行插值的公式如下:
???

式中,K=h(Δy)。
??? 為了避免非線性插值系數(shù)給電路設(shè)計帶來的復(fù)雜性,將內(nèi)插系數(shù)存儲于查找表中,根據(jù)內(nèi)插點與臨近點的相對位置找到對應(yīng)系數(shù)。
??? 分辨率轉(zhuǎn)換部分的框圖如圖3所示。

????????????????????????
??? 在插值時,首先將第一行數(shù)據(jù)輸入FIFO2,第二行輸入FIFO3,兩個FIFO交替將數(shù)據(jù)輸入垂直插值器,垂直插值器按行輸出垂直插值后形成的行數(shù)據(jù),輸入到水平插值器。FIFO共輸入3行后,F(xiàn)IFO停止向垂直插值器一個節(jié)拍,垂直插值器將輸出4行像素數(shù)據(jù);水平插值器每讀取3個像素數(shù)據(jù)時停止一個節(jié)拍,從而根據(jù)不同插值系數(shù)和臨近點數(shù)據(jù)插出4個值,從而完成3:4的放大。在輸出放大后的行數(shù)據(jù)時,在行的左端和右端各添加32個零點,這樣就完成了分辨率的轉(zhuǎn)換。
2.6.2 幀頻的轉(zhuǎn)換
??? PAL制式每秒奇偶共50場,經(jīng)過雙端口RAM的存儲后整理為每秒25幀,要轉(zhuǎn)換為能夠滿足每秒60幀要求的視頻信號,最簡單的辦法就是復(fù)制幀。在本設(shè)計中,上一小節(jié)中轉(zhuǎn)換分辨率后的數(shù)據(jù)傳遞給色空間轉(zhuǎn)換模塊的同時,存入一個存儲器中,在下一幀數(shù)據(jù)處理完成前,將存儲器中的數(shù)據(jù)再次傳輸指定的次數(shù),從而完成幀頻的轉(zhuǎn)換。幀頻比為5:12,所以每5幀做一次頻率放大,第一幀、第三幀傳輸3次,其余各幀傳輸2次。
2.7 色空間轉(zhuǎn)換模塊
??? 該模塊接收到的信號是YUV(4:2:2)格式的信號,是16位數(shù)據(jù)線,而要將它轉(zhuǎn)換成的RGB信號是24根數(shù)據(jù)線,就需要先將每個像素點上丟失的色差信號補回來,即16根數(shù)據(jù)線加寬到24根。格式轉(zhuǎn)換過程如圖4所示。

????????????????????????
??? 接下來要完成的是由YUV到RGB的色空間轉(zhuǎn)換,轉(zhuǎn)換公式如下[6]
??? ?

??? 由此可得式(4):
???   

??? 在計算時必須把它們都轉(zhuǎn)換成整數(shù),所以在程序中利用位移寄存器,讓它們左移11位,計算后即可得到RGB數(shù)據(jù)。
??? 采用FPGA技術(shù)設(shè)計的VGA圖像控制器,大大減少了電路板的尺寸,充分應(yīng)用了FPGA快速并行處理數(shù)據(jù)的特性(這是其他控制器所不可比擬的),在產(chǎn)生同步信號的同時送出像素數(shù)據(jù),同時增加了系統(tǒng)的可靠性和設(shè)計靈活性。解決了嵌入式系統(tǒng)實時圖像顯示的問題,節(jié)約了成本,擴展了應(yīng)用范圍。
參考文獻
[1] 李國剛,余俊,凌朝東.基于FPGA的VGA圖形控制器的實現(xiàn)方法.信息技術(shù),2006,(7).
[2] 方湘艷,韓威.基于FPGA技術(shù)的異步雙端口RAM設(shè)計與實現(xiàn).中國集成電路,2005,(1).
[3] 吳蓬勃,張啟民,王朝陽,等.基于FPGA的VGA圖像控制器設(shè)計.東北電力大學(xué)學(xué)報,2006,(8).
[4] 潘松,黃繼業(yè).EDA技術(shù)與VHDL.北京:清華大學(xué)出版社,2005.
[5] LEE J.Design of a scan format converter using the bisigmoidal interpolation[J].IEEE Trans Consumer Ilectronics,1998,44(3):1115-1120.
[6] Xilinx Inc.Colour space conversion.XAPP637[Z],2002.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美另类一区| 在线观看视频一区二区| 巨乳诱惑日韩免费av| 亚洲欧美在线一区| 亚洲愉拍自拍另类高清精品| 亚洲精品免费看| 亚洲观看高清完整版在线观看| 性做久久久久久| 亚洲欧美在线高清| 亚洲字幕在线观看| 亚洲性视频h| 亚洲色图制服丝袜| 亚洲午夜小视频| 99视频一区二区| 99re66热这里只有精品3直播| 91久久视频| 亚洲日本乱码在线观看| 亚洲三级色网| 亚洲精品久久久久| 亚洲精品日韩一| 野花国产精品入口| 一区二区三区精品视频| 一本色道久久综合亚洲精品不卡| 日韩亚洲一区在线播放| 99国产一区二区三精品乱码| 夜夜嗨av一区二区三区| 一区二区日韩精品| 亚洲欧美国产77777| 午夜精品美女自拍福到在线| 小黄鸭精品aⅴ导航网站入口| 欧美在线国产| 亚洲国产成人tv| 亚洲人人精品| 亚洲视频综合| 欧美亚洲在线| 久久人人爽人人爽| 欧美成人一区二区三区片免费| 欧美二区不卡| 欧美日韩精品国产| 国产精品视频第一区| 国产一区二区激情| 在线国产欧美| 亚洲乱码国产乱码精品精天堂| 中文国产亚洲喷潮| 性欧美videos另类喷潮| 亚洲国产美国国产综合一区二区| 亚洲精品久久久久久一区二区| 一区二区三区日韩欧美| 亚洲欧美日韩精品| 久久久久中文| 欧美精品黄色| 国产精品一区二区在线| 激情综合亚洲| 亚洲伦理在线免费看| 亚洲性感美女99在线| 亚洲成人在线视频播放| 亚洲国产黄色| 亚洲视频在线播放| 久久久久久高潮国产精品视| 欧美搞黄网站| 国产九九精品视频| 极品尤物久久久av免费看| 亚洲日本中文字幕区| 亚洲影院免费| 亚洲人线精品午夜| 先锋亚洲精品| 欧美黄色一区| 国产目拍亚洲精品99久久精品| 亚洲福利电影| 亚洲天天影视| 亚洲国产一区二区三区高清| 亚洲视频在线播放| 久久夜色精品国产噜噜av| 欧美少妇一区| 在线免费观看欧美| 亚洲欧美制服另类日韩| 亚洲精品一级| 久久久久久**毛片大全| 欧美日韩一区二区三区在线观看免| 国产综合18久久久久久| 在线亚洲一区观看| 亚洲精品久久嫩草网站秘色| 欧美一区二区三区免费视| 欧美精品在线视频| 另类尿喷潮videofree| 西瓜成人精品人成网站| 亚洲精选一区| 久久久99国产精品免费| 欧美午夜美女看片| 亚洲第一黄网| 欧美一区二区三区在线| 亚洲午夜视频在线| 欧美激情精品久久久久久久变态| 国产日韩精品一区| 一本高清dvd不卡在线观看| 亚洲第一狼人社区| 欧美在线黄色| 国产精品www网站| 亚洲黄色成人| 亚洲大片免费看| 欧美资源在线观看| 国产精品久久久久婷婷| 亚洲级视频在线观看免费1级| 欧美一区二区播放| 亚洲曰本av电影| 欧美日韩一区二区在线观看视频 | 久久综合久久久久88| 国产精品一区二区三区四区 | 99热在这里有精品免费| 另类亚洲自拍| 狠狠综合久久| 久久成人免费网| 久久精品九九| 国产美女精品在线| 亚洲欧美成人一区二区在线电影| 亚洲欧美成人一区二区在线电影 | 久久狠狠婷婷| 久久躁日日躁aaaaxxxx| 国产亚洲欧美日韩日本| 午夜欧美理论片| 欧美一区二区精品久久911| 国产精品黄视频| 亚洲一区二区三区成人在线视频精品| 亚洲一区二区三区四区五区黄| 欧美日韩精品欧美日韩精品一 | 亚洲视频综合在线| 亚洲自拍三区| 国产美女诱惑一区二区| 西西裸体人体做爰大胆久久久| 久久国产综合精品| 国产一区二区精品在线观看| 欧美一级淫片播放口| 久久躁日日躁aaaaxxxx| 亚洲成人在线网| 亚洲免费电影在线观看| 欧美激情精品久久久久久大尺度| 亚洲人永久免费| 亚洲少妇在线| 国产精品美女| 欧美一级片久久久久久久| 久久香蕉国产线看观看av| 在线欧美视频| 在线中文字幕日韩| 国产精品露脸自拍| 性欧美激情精品| 美女日韩在线中文字幕| 亚洲国产精品一区二区第一页 | 国产亚洲午夜高清国产拍精品| 欧美一区二区视频观看视频| 久久综合福利| 亚洲乱码国产乱码精品精天堂| 亚洲欧美视频| 含羞草久久爱69一区| 亚洲精品女人| 国产精品国产三级国产普通话三级| 午夜精品电影| 欧美成人自拍视频| 一区二区av在线| 久久国内精品视频| 亚洲国产精品成人一区二区| 正在播放欧美视频| 国产欧美日韩一区二区三区在线观看| 久久精品视频免费| 欧美日韩喷水| 欧美综合激情网| 欧美日本高清视频| 午夜亚洲激情| 欧美精品成人一区二区在线观看| 亚洲一级黄色片| 免费不卡在线观看av| 一本色道久久综合亚洲精品小说 | 亚洲国产天堂久久综合| 亚洲欧美日韩国产另类专区| 国产综合色一区二区三区| 日韩网站免费观看| 国产日韩欧美91| 日韩一级在线| 国产亚洲精品资源在线26u| 亚洲毛片一区| 国产亚洲va综合人人澡精品| 99视频热这里只有精品免费| 国产情人节一区| 一区二区高清在线| 狠狠狠色丁香婷婷综合久久五月 | 亚洲欧洲综合另类| 国产精品日韩欧美一区二区| 亚洲韩日在线| 国产精品一区视频网站| 亚洲理伦电影| 国产一区二区三区久久久久久久久 | 亚洲靠逼com| 久久久久九九九九| 一区二区三区不卡视频在线观看| 久久人人爽爽爽人久久久| 夜夜精品视频| 欧美a级大片| 欧美亚洲一区二区在线| 欧美日韩一区二区精品| 亚洲国产欧洲综合997久久| 国产精品日韩久久久|