基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)(Altera)_第1頁
基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)(Altera)_第2頁
基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)(Altera)_第3頁
基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)(Altera)_第4頁
基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)(Altera)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、原 創(chuàng) 性 聲 明鄭重聲明:此篇題為基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)的論文,是作者在導師的指導下,于武漢大學攻讀碩士學位期間,進行研究工作所取得的成果。根據(jù)作者所知,論文中除了參考文獻列舉的地方外,不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。本聲明的一切法律結(jié)果由本文作者承擔。作者簽名:趙東方李雄于心亮程方敏導師簽名:黃啟俊常勝撰寫日期:二零零七年八月二十四日基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計與實現(xiàn)作者:趙東方李雄于心亮程方敏導師:黃啟俊常勝(武漢大學物理科學與技術(shù)學院電子科技系,武漢,430072摘 要:本設(shè)計針對MT9M111這款數(shù)字圖像傳感器,采用Altera公司Cyclone系

2、列的FPGA作為主控芯片,實現(xiàn)了對圖像傳感器輸出的ITU-R BT.656視頻數(shù)據(jù)的采集,色彩空間轉(zhuǎn)換,以及在DVI-I顯示器上顯示的全過程。通過本設(shè)計,圖像能夠以1280×960(60Hz和1280×1024(60Hz兩種顯示格式在DVI-I顯示器上顯示,并且具有圖像靜止功能。同時,在系統(tǒng)空閑時,可以將系統(tǒng)設(shè)置為待機狀態(tài),實現(xiàn)了低功耗。關(guān)鍵詞:ITU-R BT.656視頻數(shù)據(jù);FPGA;AS配置;SDRAM;D/A;TMDS;DVI-I The design and implementation of a digital video conversion interfac

3、ebased on FPGAAuthor: Zhao Dongfang Li Xiong Yu Xinliang Cheng FangminTutor: Huang Qijun Chang Sheng(Department of Electronic Technology, College of Physics and TechnologyWuhan University, Wuhan, 430072, P.R.ChinaAbstract: This design, which is aimed at the digital image sensor MT9M111, used Altera

4、Cyclone FPGA as the main control chip, and implemented the whole process of the collection of the ITU-RBT.656 video data from the image sensor, color space conversion, and the display on DVI-Imonitor. Through this design, the image can be displayed on DVI-I monitor in the mode of1280*960 (60Hz or 12

5、80*1024 (60Hz, image freezing is also supported. Moreover, thesystem can be set into standby state when the system is idled, for low power consumption. Keyword: ITU-R BT.656 Video Data; FPGA; AS Configuration; SDRAM; D/A; TMDS; DVI-I0.引言隨著計算機、多媒體和數(shù)據(jù)通信技術(shù)的高速發(fā)展,一方面使得數(shù)字視頻技術(shù)得到了極大的促進和推動,另一方面也使得不同數(shù)字顯示設(shè)備之間的

6、接口互聯(lián)問題日益突出,然而在當今市場上對于數(shù)字接口互聯(lián)問題的重視還不夠,在兩個不同數(shù)字接口之間進行轉(zhuǎn)換的設(shè)備還比較少見。本文從實際應(yīng)用的角度出發(fā),采用Altera公司推出的低成本、高密度的Cyclone系列FPGA作為主控芯片,設(shè)計了一款數(shù)字視頻接口轉(zhuǎn)換設(shè)備,該設(shè)備針對于MT9M111這款數(shù)字圖像傳感器產(chǎn)生的ITU-R BT.656格式數(shù)據(jù)進行采集、色彩空間變換、分辨率轉(zhuǎn)換等操作,完成了從ITU-R BT.656格式數(shù)據(jù)到DVI格式數(shù)據(jù)的轉(zhuǎn)換,使得MT9M111數(shù)字圖像傳感器的BT656數(shù)據(jù)格式圖像能夠以1280×960 (60Hz和1280×1024(60Hz兩種顯示格式

7、在DVI-I接口的顯示器上顯示,并且還具有圖像靜止功能,在系統(tǒng)空閑時的待機狀態(tài)實現(xiàn)了整機的低功耗,適用于使用移動設(shè)備的工業(yè)現(xiàn)場。采用FPGA可編程芯片,讓整個系統(tǒng)擁有了較大的靈活性,不僅可以輕松的實現(xiàn)數(shù)字接口的轉(zhuǎn)換功能,而且還可以很方便地利用芯片的可配置性來完成系統(tǒng)的在線升級維護,提升了系統(tǒng)的應(yīng)用價值。1.數(shù)據(jù)格式簡介1.1MT9M111芯片的ITU-R BT.656視頻數(shù)據(jù)格式1MT9M111芯片是美光科技公司推出的新型低噪音Digital Clarity片上系統(tǒng)(SOC130萬像素CMOS圖像傳感器,該圖像傳感器能輸出ITU-R BT.656、565RGB、555RGB和444RGB原始和

8、處理過的視頻數(shù)據(jù),與標準的ITU-R BT.656隔行掃描的數(shù)據(jù)格式不同,這款圖像傳感器輸出的數(shù)據(jù)格式是逐行掃描的數(shù)據(jù)格式,因此在設(shè)計時,視頻數(shù)據(jù)流的處理部分就可以不用區(qū)分奇偶場,降低了設(shè)計的復雜度。MT9M111圖像傳感器輸出的一幀完 整的視頻ITU-R BT.656圖像矩陣如右圖1所示的四部分組成,矩陣的大小是可配置的,其輸出的順序依次為從左到右,從上到下。圖1中左上角的灰色部分為像素數(shù)據(jù),其余白色部分均為消隱數(shù)據(jù)。按照串行數(shù)據(jù)流的表示方式,MT9M111圖像傳感器輸出的一幀數(shù)據(jù)也可以表示由圖2來表示,圖2中上半部分的數(shù)據(jù)為的一幀數(shù)據(jù),下半部分為的一行數(shù)據(jù)(timing codes、視頻數(shù)

9、據(jù)和消隱數(shù)據(jù)。圖1 MT9M111輸出的一幀圖像矩陣 圖2 MT9M111輸出的BT.656數(shù)據(jù)格式1.2DVI數(shù)據(jù)格式2DVI(Digital Visual Interface接口標準是DDWG(Digital Display Working Group組織推出的視頻通信接口標準。它以Silicon Image公司的PanalLink接口技術(shù)為基礎(chǔ),以TMDS(Transition Minimized Differential Signaling作為數(shù)據(jù)鏈路的基本電氣連接形式,為數(shù)字視頻數(shù)據(jù)的實時傳輸提供了一種高速的數(shù)據(jù)鏈路通道。DVI接口標準提供了兩條獨立的TMDS鏈路。每條鏈路的可用像素

10、帶寬如圖3所示: 圖3 DVI鏈路像素帶寬單鏈路的最大像素帶寬為165MPix/sec,能夠滿足的最高圖像顯示格式為1600×1200(60Hz。當圖像的顯示格式超過此值時,需要兩條鏈路同時傳輸視頻數(shù)據(jù)。由于兩條鏈路共用一條時鐘通道,因此數(shù)據(jù)傳輸帶寬由兩條鏈路平均承擔。單鏈路的通道連接結(jié)構(gòu)如圖4所示3: 圖4 單鏈路通道連接結(jié)構(gòu)在單鏈路結(jié)構(gòu)中,圖像處理終端由圖像控制器將R、G、B三組視頻數(shù)據(jù)(每組8bit以及時鐘和控制信號傳送給TMDS發(fā)送芯片,在TMDS發(fā)送芯片中包含三個編碼器,每個編碼器負責對一組視頻數(shù)據(jù)編碼。編碼后的碼元(10bit經(jīng)過并串轉(zhuǎn)換后,發(fā)送到TMDS鏈路上,并且最低

11、位先被發(fā)送。圖像接收終端中,TMDS接收芯片將接收到的視頻數(shù)據(jù)先進行串并轉(zhuǎn)換,然后由其中的三個解碼器分別對三個通道的視頻數(shù)據(jù)解碼。解碼后的視頻數(shù)據(jù)以及時鐘和控制信號共同送給顯示控制器來顯示。2.整體方案設(shè)計現(xiàn)實景物的采集與顯示過程如圖5所示。圖像傳感器MT9M111采集到現(xiàn)實景物后,將生成的ITU-R BT.656數(shù)據(jù)流由ITU數(shù)據(jù)輸出端口發(fā)送給視頻轉(zhuǎn)換接口。視頻轉(zhuǎn)換接口將ITU數(shù)據(jù)輸入端口送來的ITU-R BT.656數(shù)據(jù)流轉(zhuǎn)換成TMDS數(shù)據(jù)流發(fā)送,通過DVI-I端口發(fā)送給顯示終端顯示。本設(shè)計方案中,MT9M111輸出圖像的分辨率為1280×960。 圖5 系統(tǒng)采集與顯示過程在現(xiàn)實

12、景物的采集與顯示過程中,視頻轉(zhuǎn)換接口功能的實現(xiàn)通過以下步驟來完成:1對收到的ITU-R BT.ITU656數(shù)據(jù)流解交織圖像傳感器MT9M111輸出的ITU-R BT.656數(shù)據(jù)流中的視頻數(shù)據(jù)是以串行的方式傳輸?shù)?即每個像素的YCbCr值在同一個通道依次連續(xù)輸出,且前后兩個像素的YCbCr值有所交織,因此需要將交織在一起的串行YCbCr數(shù)據(jù)流拆解成獨立的并行的YCbCr數(shù)據(jù)流。這部分的功能由FPGA來實現(xiàn)。 2對解交織后的數(shù)據(jù)流進行色彩空間轉(zhuǎn)換DVI接口的TMDS鏈路上發(fā)送的是對像素的RGB值編碼后的碼元序列,而視頻轉(zhuǎn)換接口收到的是像素的YCbCr值,因此需要將每個像素的色彩值由YCbCr空間轉(zhuǎn)

13、換到RGB空間,實現(xiàn)色彩空間的轉(zhuǎn)換。由于色彩空間變換的公式是固定的,所以FPGA在完成這部分數(shù)值運算操作時,可以考慮采用Mega Core庫函數(shù)來完成。3將轉(zhuǎn)換后的每個像素的RGB值寫入存儲器中由于BT.656接口和DVI接口的視頻數(shù)據(jù)流工作的時鐘域是不同的,同時考慮到視頻轉(zhuǎn)換接口又要具有能夠?qū)Ψ直媛蔬M行調(diào)整的功能,因此在系統(tǒng)中需要有專門的存儲設(shè)備來實現(xiàn)這兩種不同接口之間數(shù)據(jù)流的時序銜接以及分辨率格式的轉(zhuǎn)換。同時考慮存儲容量大和價格低的要求,存儲器宜選用SDRAM來完成數(shù)據(jù)的存取,FPGA中可以利用狀態(tài)機來完成對SDRAM的讀寫操作。4從存儲器中讀出像素的RGB值,并將其轉(zhuǎn)換成TMDS碼元序列

14、設(shè)計中輸出圖像的顯示格式為1280×960(60Hz和1280×1024(60Hz,根據(jù)TMDS鏈路上可用的像素帶寬情況,需要的像素傳輸帶寬在100M(像素/秒左右,因此只用一條TMDS鏈路就可滿足要求。但是考慮到TMDS鏈路上傳輸?shù)氖蔷幋a后的串行碼元,根據(jù)TMDS鏈路的編碼規(guī)則,鏈路上傳輸?shù)拇a元速率將達到1G(碼元/秒左右,這樣高的速度對于FPGA的實現(xiàn)是比較困難的,所以需要采用專用的TMDS發(fā)送芯片來實現(xiàn)TMDS數(shù)據(jù)流的發(fā)送,即由FPGA將像素的RGB值從SDRAM中讀出,并按照VGA的時序標準發(fā)傳送給TMDS發(fā)送芯片,再由TMDS發(fā)送芯片完成對每個像素的RGB值的編碼

15、和并串轉(zhuǎn)換,然后將其發(fā)送到TMDS鏈路上,提供給DVI顯示器顯示。因此,這部分工作需要FPGA和TMDS發(fā)送芯片共同協(xié)作完成。5從存儲器中讀出像素的RGB值,并將其轉(zhuǎn)換成VGA模擬信號值由于DVI-I接口能對VGA模擬信號兼容,因此系統(tǒng)需要有能夠直接輸出VGA模擬信號的單元,而FPGA內(nèi)部沒有DA轉(zhuǎn)換單元,因此不能通過FPGA來直接產(chǎn)生模擬信號,還需要另外添加專門的圖像DA芯片來完成模擬信號的產(chǎn)生。系統(tǒng)工作時,FPGA將從SDRAM存儲器中讀出的RGB值送至圖像DA芯片進行數(shù)模轉(zhuǎn)換變成模擬信號值由DVI-I接口直接輸出,這樣通過DVI-I/VGA轉(zhuǎn)換接口系統(tǒng)也能將圖像在VGA顯示器上直接顯示。

16、3.硬件構(gòu)架設(shè)計根據(jù)整體方案的設(shè)計思路,系統(tǒng)的硬件構(gòu)架框圖如圖6所示。圖像傳感器輸出的ITU信號(包括YCbCr數(shù)據(jù)流、行場同步信號和像素時鐘經(jīng)ITU輸入接口送入FPGA主控芯片。FPGA主控芯片對ITU信號進行解交織和色彩空間轉(zhuǎn)換,再將轉(zhuǎn)換后的每個像素的RGB值寫入SDRAM存儲器。再由FPGA主控芯片按照輸出分辨率的要求從SDRAM存儲器中讀出像素的RGB值,并按照VGA 的時序標準,將像素的RGB值發(fā)送給TMDS發(fā)送芯片和D/A芯片,由TMDS發(fā)送芯片提供視頻數(shù)據(jù)的數(shù)字通道,由D/A芯片提供視頻數(shù)據(jù)的模擬通道,共同匯集到DVI-I輸出接口,傳送到數(shù)字顯示器或模擬顯示器上顯示。 圖6 硬件

17、構(gòu)架框圖輸出圖像的分辨率要求FPGA與TMDS發(fā)送芯片之間傳送數(shù)據(jù)的帶寬在100M(像素/秒以上,因此要求FPGA的速度足夠快。同時由于FPGA與外圍器件之間的互聯(lián)比較多,因此要求FPGA的引腳數(shù)足夠多。同時由于晶振提供的時鐘頻率為50MHz,滿足不了100M(像素/秒以上的傳輸速度,因此需要FPGA內(nèi)部帶有鎖相環(huán)。另外,為了實現(xiàn)系統(tǒng)脫機工作,要求FPGA支持配置芯片。最后,考慮到系統(tǒng)占用的面積和以后版本的升級,要求FPGA的內(nèi)部資源盡量豐富。為此,系統(tǒng)最終選用了Altera公司Cyclone系列的FPGA芯片,型號為EP1C6Q240C6。這種型號的FPGA的高速LVDS I/O腳的工作速度

18、可達到640Mbps,低速LVDS I/O腳的工作速度也能達到311Mbps;引腳數(shù)240個,其中可用引腳數(shù)185個;鎖相環(huán)2個;支持低成本串行配置器件;邏輯資源5980個;存儲資源92160比特4,完全滿足系統(tǒng)對FPGA的要求。系統(tǒng)選用的FPGA為Cyclone系列,與這種系列配套的配置芯片型號為EPCS1,因此配置芯片選用的是EPCS1SI8型號串行主動配置芯片。由AS下載接口將程序?qū)懭氲脚渲眯酒?在系統(tǒng)上電后,由FPGA主動要求配置芯片對其進行配置,使此視頻接口具有脫機工作的能力??紤]到視頻數(shù)據(jù)的存儲和顯示是同時進行的,而SDRAM存儲器是單端口器件,數(shù)據(jù)的寫入和讀出不能同時進行,故需

19、要兩塊SDRAM同時進行乒乓操作來完成數(shù)據(jù)的連續(xù)讀寫??紤]到此視頻轉(zhuǎn)換接口輸入圖像的分辨率為1280×960,其中每個像素值為24比特,因此要求SDRAM存儲器的容量要大于1228800×24比特。另外,由于輸出圖像的分辨率要求FPGA與TMDS發(fā)送芯片之間傳送數(shù)據(jù)的帶寬在100M(像素/秒以上,因此要求FPGA與SDRAM存儲器之間傳送數(shù)據(jù)的帶寬也要在100M(像素/秒以上。最后考慮到系統(tǒng)的擴展和升級,最終選用了Micron公司的型號為MT48LC2M32B2TG-6的SDRAM存儲器。這種型號的存儲器的容量為2Meg×32比特;工作速度可達到166MHz5,完

20、全滿足系統(tǒng)的要求。TMDS發(fā)送芯片選用的是Silicon Image公司的SiI164CT64型號。它支持的TMDS單鏈路上的像素帶寬范圍在25M(像素/秒至165M(像素/秒之間6,滿足FPGA與TMDS發(fā)送芯片之間傳送數(shù)據(jù)的帶寬在100M(像素/秒以上的要求。另外,它的外圍配置電路較少,通過將配置引腳與FPGA 相連,可以實現(xiàn)多種配置使其工作在不同的方式下,設(shè)計靈活性大。由于輸出圖像的分辨率要求FPGA與TMDS發(fā)送芯片之間傳送數(shù)據(jù)的帶寬在100M(像素/秒以上,這一數(shù)據(jù)流同時又要送入D/A芯片完成數(shù)模轉(zhuǎn)換,因此要求D/A芯片的轉(zhuǎn)換速率在100MHz以上。同時由于R、G、B的數(shù)據(jù)寬度都為8

21、位,因此需要選用專用的圖像D/A芯片,它需要具有R、G、B 三路數(shù)據(jù)通道,每路的寬度至少為8位。根據(jù)以上要求,系統(tǒng)最終選定CSEMIC公司的CSV7123型號的圖像D/A芯片。這種型號的圖像D/A采樣速率最大值為240MHz;具有R、G、B三路數(shù)據(jù)通道,每路的寬度為10位7。因此完全符合系統(tǒng)的要求。另外,它的外圍配置電路也很簡單,價格也不高??紤]到系統(tǒng)的通用性,系統(tǒng)電源部分輸入的電壓選為5V。由于上面的芯片工作電壓都為3.3V (其中D/A芯片也可以工作在5V,因此需要一塊5V轉(zhuǎn)3.3V的穩(wěn)壓芯片。另外Cyclone系列的FPGA 的核心電壓為1.5V,因此需要一塊3.3V轉(zhuǎn)1.5V的穩(wěn)壓芯片

22、。同時,考慮到各個芯片對功耗的要求, 5V轉(zhuǎn)3.3V的穩(wěn)壓芯片應(yīng)為各個芯片提供足夠的功率。因此最終選定的5V轉(zhuǎn)3.3V 的芯片為BCD Semiconductor公司的AZ1117D型號的穩(wěn)壓芯片,它的輸出電流可以達到1A8,能夠滿足各個芯片的功耗要求。3.3V轉(zhuǎn)1.5V的芯片選用Advanced Monolithic Systems公司的AMS1117-1.5型號的穩(wěn)壓芯片,它的輸出電流可以達到800mA9,能夠滿足FGPA內(nèi)核部分對功耗的要求。4.FPGA功能設(shè)計FPGA作為系統(tǒng)的主控芯片,是軟件設(shè)計的核心。根據(jù)整體方案的設(shè)計思路,FPGA主控芯片的工作過程為:首先接收由圖像傳感器送來的I

23、TU-R BT.656格式的視頻數(shù)據(jù)流,經(jīng)過解交織操作,將像素數(shù)據(jù)流中交織在一起的串行YCbCr值解成獨立的并行YCbCr值。然后對解交織的YCbCr值進行色彩空間轉(zhuǎn)換,轉(zhuǎn)換成對應(yīng)的RGB值。接著將此RGB值存入一塊SDRAM存儲器。與此同時,從另一塊SDRAM存儲器中讀出像素的RGB值,并發(fā)送給TMDS發(fā)送芯片和D/A芯片,經(jīng)過數(shù)字通道和模擬通道后,傳送到DVI顯示器或VGA顯示器上顯示。根據(jù)FPGA主控芯片的工作過程,設(shè)計的軟件功能框圖如圖7所示:MT9M111YCbCrRGB FIFOVGAD/AITUTMDS VGA DVI圖7 軟件功能框圖圖中FPGA內(nèi)部的工作時鐘有兩個,以圖中的虛

24、線為界,虛線左側(cè)部分使用的時鐘為圖像傳感器的54MHz像素時鐘;虛線右側(cè)使用的時鐘是經(jīng)過鎖相環(huán)將晶振的50MHz時鐘倍頻成108MHz以后的時鐘,其中108MHz的時鐘是由輸出圖像的分辨率所決定的。兩個時鐘域通過異步FIFO相連。整個系統(tǒng)共分成6個模塊:解交織模塊、YCbCr轉(zhuǎn)RGB模塊、異步FIFO模塊、乒乓操作模塊、SDRAM 控制器模塊和VGA發(fā)送模塊。4.1解交織模塊解交織模塊首先根據(jù)ITU場同步信號判斷出一幅完整圖像數(shù)據(jù)流的起始和結(jié)束位置,接著在ITU行同步信號有效期間對ITU-R BT.656格式的數(shù)據(jù)流解交織。解交織的示意圖如圖8所示: 圖8 解交織示意圖ITU-R BT.656

25、格式中YCbCr是4:2:2的格式,在解交織的過程中將每個Cb、Cr各復用了一次,使得YCbCr變?yōu)?:4:4的格式,從而使每個像素的YCbCr值獨立開來。圖9為解交織模塊的仿真波形: 圖9 解交織模塊仿真波形圖中白線上半部分為輸入的視頻數(shù)據(jù)流,下半部分為解交織后的數(shù)據(jù)流。從上面的小圖中可以 看到,ITU行同步信號有效期間的前四個像素數(shù)據(jù)為24、81、09、63,經(jīng)過解交織后變成并行的81、24、09和63、24、09,他們分別是兩個獨立像素的YCbCr值,說明像素的YCbCr值可以成功的從輸入的數(shù)據(jù)流中解出。圖中YCbCr_ok信號指示解出的數(shù)據(jù)流的有效范圍。 4.2YCbCr轉(zhuǎn)RGB模塊Y

26、CbCr轉(zhuǎn)RGB模塊的作用是,根據(jù)解交織模塊提供的數(shù)據(jù)有效信號(YCbCr_ok,將輸入的YCbCr 值轉(zhuǎn)換成對應(yīng)的RGB 值。轉(zhuǎn)換公式如(1式所示:R 10 1.402Y -179.456G 1-0.344-0.714Cb 135.424B 1 1.7720Cr 226.816=+(1 在FPGA 中,浮點運算很難實現(xiàn),因此需將(1式中的各個系數(shù)變換成整數(shù)后再進行運算,方法是先將各個系數(shù)放大1024倍,得出最后的R 、G 、B 結(jié)果后再除以1024,如(2式所示:R 102401436Y -183763G 10241024-352-731Cb 138674B 102418150Cr 2322

27、60=+i (2 模塊中調(diào)用Mega Core 的IP 核ALTMULT_ADD ,完成YCbCr 的乘加運算,得到的結(jié)果加上常數(shù)項后右移10位完成除法運算,得到最后的RGB 值。由于R 、G 、B 均為8位,取值范圍為0到255,而運算過程可能會生成負數(shù)和超過255的正數(shù),因此運算結(jié)果需將負數(shù)取為0,超過255的正數(shù)取為255。這樣做雖然會引入誤差,但是對于最終圖像的顯示效果并不會有太大的影響。 圖10為YCbCr 轉(zhuǎn)RGB 模塊的仿真波形: 圖10 YCbCr 轉(zhuǎn)RGB 模塊仿真波形圖中白線上半部分為YCbCr 值,下半部分為對應(yīng)的RGB 值。將小圖中上部的黃框中的YCbCr 值帶入(2式

28、,再經(jīng)過取值范圍的處理后,算得的結(jié)果與小圖中下部的黃框中的RGB 值完全吻合,說明轉(zhuǎn)換過程正確。圖中RGB_ok 信號指示轉(zhuǎn)換后的數(shù)據(jù)流的有效范圍。4.3 異步FIFO 模塊異步FIFO 模塊做為兩個異步時鐘域間的接口,它的作用是存儲像素時鐘域(54MHz 中的輸入圖像中的一行像素的RGB 值(共1280×3×8比特,供后級時鐘域(108MHz 中的SDRAM 控制器的讀取。數(shù)據(jù)的寫入過程是依靠像素時鐘和數(shù)據(jù)有效信號(RGB_ok 來完成的。當數(shù)據(jù)有效信號有效時,在像素時鐘的控制下數(shù)據(jù)被寫入FIFO 。由于像素時鐘為54MHz ,而數(shù)據(jù)流的速率為27MHz ,因此需要將像素

29、時鐘分頻。考慮到同步設(shè)計的要求,模塊中的每個觸發(fā)器由統(tǒng)一的時鐘控制,因此可以用54MHz的像素時鐘產(chǎn)生一個27MHz的寫使能信號,然后在54MHz的像素時鐘控制下,檢測27MHz的寫使能信號的高電平,當檢測到高電平以后,再改變FIFO的寫地址。數(shù)據(jù)的寫入可以不受寫使能信號的控制,因此同一個寫地址將被寫入兩遍。當FIFO寫滿,即FIFO已存放了1280個像素數(shù)據(jù)時,FIFO產(chǎn)生可讀信號,通知后級數(shù)據(jù)準備好。可讀信號一直有效到FIFO中的數(shù)據(jù)只剩下7個為止(因為SDRAM讀寫的突發(fā)長度為8,即一次要從FIFO中讀出8個數(shù)據(jù)。因此要在最后一次寫操作后將可讀信號設(shè)置成無效,使SDRAM控制器不再產(chǎn)生讀

30、FIFO信號以及寫SDRAM的命令。后級的SDRAM控制器根據(jù)可讀信號產(chǎn)生讀FIFO信號。在讀FIFO信號有效時,SDRAM控制器讀出FIFO的數(shù)據(jù)并將其寫入SDRAM。圖11為異步FIFO模塊的仿真波形: 圖11 異步FIFO模塊仿真波形圖中白線上半部分為寫時鐘域,下半部分為讀時鐘域。由圖可知,當FIFO存滿一行像素后,可讀信號有效。后級的SDRAM控制器收到此信號后,發(fā)出讀FIFO信號,將一行像素從FIFO中連續(xù)讀出,當FIFO中的數(shù)據(jù)只剩下7個時,可讀信號無效,通知SDRAM控制器此時讀出的像素為最后8個像素。SDRAM控制器讀出最后8個像素后得知可讀信號無效,于是將讀FIFO信號置成無

31、效,完成一次讀FIFO的操作。4.4乒乓操作模塊此模塊包含兩個多路選mux_wr和mux_rd,mux_wr用于選擇哪個SDRAM處于被寫入數(shù)據(jù)的狀態(tài),mux_rd用于選擇哪個SDRAM處于被讀出數(shù)據(jù)的狀態(tài)。模塊的主要任務(wù)是協(xié)調(diào)兩個SDRAM 的讀寫操作,在第一塊SDRAM被寫入數(shù)據(jù)的同時,第二塊SDRAM被讀出數(shù)據(jù)供VGA發(fā)送模塊發(fā)送。當?shù)谝粔KSDRAM存入完整的一幅圖像數(shù)據(jù)后,兩塊SDRAM交換讀寫操作,第一塊SDRAM 由被寫入數(shù)據(jù)轉(zhuǎn)變?yōu)楸蛔x出數(shù)據(jù),第二塊SDRAM由被讀出數(shù)據(jù)轉(zhuǎn)變?yōu)楸粚懭霐?shù)據(jù),當?shù)诙KSDRAM存入完整的一幅圖像數(shù)據(jù)后,再切換兩塊SDRAM的讀寫操作,如此循環(huán)。乒乓操作

32、模塊利用ITU場同步信號的上升沿來完成對對兩個SDRAM控制器的讀寫狀態(tài)的切換操作時,需要注意的是,切換操作對于圖像的存儲沒有影響,但對于圖像的顯示影響比較大,因此設(shè)計時需要對切換操作發(fā)生的時刻進行具體的考慮,比如當切換操作發(fā)生在VGA的場有效期當中的行消隱期時,一幅圖像只輸出了一部分,因此需要利用新圖像中的數(shù)據(jù)把上一幅沒有顯示完的圖像的剩余部分彌補上。由于連續(xù)兩幅圖像的差別很小,因此可以保證畫面的連貫性。4.5SDRAM控制器模塊SDRAM控制器模塊在系統(tǒng)上電時負責初始化SDRAM。待SDRAM初始化完畢后,控制器模塊再接收外圍模塊的指示信號,并根據(jù)指示信號向SDRAM發(fā)出相應(yīng)的讀寫操作命令

33、,保證數(shù)據(jù)的正確寫入和讀出,以及SDRAM的刷新。整個控制器模塊分成三個子模塊:master子模塊、sdr_ctrl 子模塊和sdr_sig子模塊。master子模塊在系統(tǒng)上電時,負責初始化SDRAM。在初始化完畢后,根據(jù)收到的指示信號安排各種操作的時序,控制整個SDRAM的工作,包括:地址的產(chǎn)生和清零操作,發(fā)出刷新請求信號,激活信號和讀寫控制信號,所有的對SDRAM的操作都是從該模塊開始的。sdr_ctrl子模塊負責SDRAM控制器的命令狀態(tài)轉(zhuǎn)移。它接收來自master子模塊的命令,受master 子模塊的控制,根據(jù)收到的命令進行狀態(tài)轉(zhuǎn)移,并向sdr_sig子模塊提供狀態(tài)信息。另外,該模塊產(chǎn)

34、生讀FIFO信號和地址遞增信號,分別用來讀FIFO和使SDRAM的地址遞增。該模塊中的寫狀態(tài)轉(zhuǎn)移時序如圖12所示。讀狀態(tài)的轉(zhuǎn)移時序和寫狀態(tài)的轉(zhuǎn)移時序基本相同,不同的是需將可讀信號換成取像素信號,tDAL狀態(tài)換成CL狀態(tài),寫狀態(tài)換成讀狀態(tài),并且數(shù)據(jù)從SDRAM的讀出要延遲三個時鐘周期(這是由于SDRAM工作在108MHz,按照數(shù)據(jù)手冊的說明,它的數(shù)據(jù)讀出的延遲為三個時鐘周期。sdr_sig子模塊模塊的功能是通過判斷sdr_ctrl子模塊的狀態(tài),向SDRAM發(fā)送相應(yīng)的命令和地址。 圖12 寫狀態(tài)轉(zhuǎn)移時序圖13為乒乓操作模塊及SDRAM控制器模塊的仿真波形: 圖13 乒乓操作模塊及SDRAM控制器模

35、塊仿真波形由于乒乓操作模塊及SDRAM控制器模塊兩者之間的操作聯(lián)系得較緊密,因此兩者的仿真波形放在一起說明。在圖13的仿真波形中可以看出兩個SDRAM控制器進行乒乓操作的效果。在第一幀數(shù)據(jù)中,sdr_WEn_a信號的變化很頻繁,說明SDRAM_A執(zhí)行的是寫數(shù)據(jù)的操作,而SDRAM_B 執(zhí)行的是讀操作(由于讀第一幀數(shù)據(jù)時,SDRAM_B先前并無寫入任何數(shù)據(jù),所以輸出是不定態(tài);而后,場同步信號上升沿的到來切換了讀寫操作。在第二幀數(shù)據(jù)時,SDRAM_A被讀出先前存儲的數(shù)據(jù),SDRAM_B開始被寫入數(shù)據(jù),因此sdr_WEn_b信號的變化很頻繁。4.6VGA發(fā)送模塊VGA發(fā)送模塊根據(jù)VGA行同步信號的時

36、序,向SDRAM控制器發(fā)出取像素信號,兩個SDRAM 中存放的像素值在乒乓操作模塊的控制下交替送給VGA發(fā)送模塊輸出。VGA發(fā)送模塊發(fā)送的RGB 數(shù)據(jù),一路送D/A芯片轉(zhuǎn)換為模擬信號輸出,另一路送TMDS發(fā)送芯片轉(zhuǎn)換為TMDS信號輸出。系統(tǒng)輸入圖像的分辨率是固定的1280×960,所以當輸出分辯率為1280×1024時,需要在輸出圖像的上下部分分別加上32條黑行。圖14為VGA發(fā)送模塊的仿真波形: 圖14 VGA發(fā)送模塊仿真波形上面的小圖顯示了VGA場同步信號有效期內(nèi)的VGA行同步信號的變化情況,下面的圖顯示了VGA場同步信號的變化情況。VGA行場同步信號需要符合與輸出分辨

37、率對應(yīng)的時序要求。4.7其他功能設(shè)計4.7.1圖像靜止功能的實現(xiàn)系統(tǒng)檢測按鍵中的圖像靜止位,當此位有效時,不響應(yīng)SDRAM的讀寫切換操作,即處于讀狀態(tài)的SDRAM仍處于讀狀態(tài),處于寫狀態(tài)的SDRAM仍處于寫狀態(tài)。只有當此位無效時,才繼續(xù)響應(yīng)SDRAM的讀寫切換操作。4.7.2系統(tǒng)待機功能的實現(xiàn)系統(tǒng)檢測按鍵中的待機位。當此位有效時,關(guān)閉SDRAM存儲器的時鐘,D/A芯片的時鐘及TMDS發(fā)送芯片的時鐘,關(guān)閉FIFO模塊及其前面的模塊所用的像素時鐘。同時將前后兩個時鐘域內(nèi)的重要計數(shù)器清零。這樣做的原因是:在進入低功耗模式后,由于存在不同的時鐘域,兩個時鐘域內(nèi)的信號停止工作的時間各有不同,這樣會破壞信

38、號之間的相關(guān)性,在電路恢復工作時可能會出現(xiàn)不確定的工作情況,導致電路無法正常工作。為此需要在進入低功耗狀態(tài)時,對一些關(guān)鍵的寄存器清零,保證電路退出低功耗狀態(tài)后就可恢復正常工作。4.7.3模式選擇功能的實現(xiàn)系統(tǒng)檢測按鍵中的模式選擇位。根據(jù)模式選擇位來決定輸出的模式。選擇功能在設(shè)計時是在VGA發(fā)送模塊中實現(xiàn)的,通過改變輸出圖像的有效行數(shù)來實現(xiàn)1280×960和1280×1024兩種分辨率間的選擇。5.PCB板介紹及圖像顯示效果5.1PCB板介紹 圖15 PCB板介紹PCB制板采用的是四層板,以解決芯片間互聯(lián)較多的問題。需要注意的是,TMDS發(fā)送芯片的差分信號輸出引腳與DVI-I接口之間的布線需要平行走線,這樣才能夠充分發(fā)揮TMDS差分信號抗干擾的能力。5.2圖像顯示效果 圖16 1280×960模式下的顯示效果圖16是輸出圖像分辨率為1280×960模式下的顯示效果,圖中顯示器檢測到的視頻圖像分辨率為1280×960。 圖17 1280×1024模式下的顯示效果圖17是輸出圖像分辨率為1280×1024模式下的顯示效果,圖中顯示器檢測到的視頻圖像分辨率為1280×1024。與上面的圖對比,可以看出圖像的上下部分加了黑行。 圖18 VG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論