當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于FPGA的真彩VGA顯示的實(shí)現(xiàn)

Mif文件在FPGA中的應(yīng)用,主要是在RAM,ROM中,一般用來存儲字模、波形數(shù)據(jù)、信號采樣、數(shù)據(jù)序列等,可以看做是C語言中的數(shù)組,用來存儲數(shù)據(jù)。Bingo當(dāng)年也是郁悶的很啊,當(dāng)年做電子琴,在Quartus II Memory Initialzation File 也手動寫過曲譜的mif文件。眼睛都花了;曾經(jīng)做過波形發(fā)生器,有康芯的Guagle的支持,很方便;對于VGA字符圖片顯示,字模數(shù)據(jù)的龐大,Bingo最后通過C語言,根據(jù)mif格式,設(shè)計(jì)了軟件,今天定格。

一、講真彩顯示的理由:

畢竟這是電腦的液晶,為啥我們就不能做的想電腦一樣顯示彩色的圖片呢?只是單純的顯示線條,字符,感覺還是在玩LCD1602、LCD12864似地,不爽,不爽,灰常的不爽。那么大的VGA,不做點(diǎn)像樣的東西,還真的很不甘心。

視覺的沖擊,真彩的誘惑,內(nèi)心的萌動,如果你是個不愿意放棄的人,沒做到真彩顯示,我想,你應(yīng)該不會那么踏實(shí);如果你是一個對視覺有沖動的人,單調(diào)的VGA驅(qū)動,決不會甘心。Bingo當(dāng)年就是很不爽,為了那一刻,走一步,再走一步,潛行了很久,終于在某年某月某一天,視覺暫留于熒光屏,彩色的誘惑,阻隔了前面的世界,歷史從此定格。

本章將講述VGA真彩顯示的設(shè)計(jì),通過硬件設(shè)計(jì),軟件設(shè)計(jì),以及各種不同的方案來講解,同時通過對Bingo設(shè)計(jì)的真彩顯示的一個工程稍做分析;最后展望未來,繼續(xù)走下一步,視覺暫留的我們不能就此停下腳步,,風(fēng)雨兼程決不放棄,接下來要做的將會更多更多,其實(shí)這才是真正的開始。

二、真彩顯示的要求

1、數(shù)據(jù)的流通

要想在VGA上顯示一張彩色的圖片,就必須有充足的條件。簡單的說,那就必須要有圖片數(shù)據(jù)源、要能實(shí)現(xiàn)數(shù)據(jù)緩存,最后以標(biāo)準(zhǔn)的時序給VGA刷屏。整體流程如下圖所示:

(1)外部數(shù)據(jù)源,由CPU捕獲

(2)由CPU捕獲的數(shù)據(jù),緩存與SRAM或者SDRAM等顯存

(3)由CPU控制VGA狀態(tài),以固定的時序給VGA刷屏

關(guān)于標(biāo)準(zhǔn)時序給VGA刷屏也就是以上的(3),Bingo在前面兩張已經(jīng)講的非常清楚,掌握的朋友應(yīng)該可以應(yīng)用自如了。前文中VGA的驅(qū)動沒有數(shù)據(jù)源(暫且認(rèn)為Mif文件的數(shù)據(jù)屬于邏輯電路的描述),我們只是用FPAG邏輯描述的電路,給VGA固定坐標(biāo)顯示固定的內(nèi)容。因此,這一章的關(guān)鍵是將VGA刷屏的數(shù)據(jù)源,以及數(shù)據(jù)緩存處理,Bingo通過分析數(shù)據(jù)流通渠道來分析VGA真彩圖像顯示的技術(shù)。

2、色彩的識別

關(guān)于圖像的格式,有JPEG、BMP、PNG等多種格式;圖像的位數(shù),也有單色、4灰、256色、4096色、16位真彩色、24位真彩色、32位真彩色這幾種。

有一種方法是直接通過讀取存放于SD卡、U盤等移動數(shù)據(jù)的圖片,通過圖片解碼來得到圖像數(shù)據(jù),真彩顯示。FPGA并行數(shù)據(jù)輸出,經(jīng)過數(shù)模轉(zhuǎn)換(電阻網(wǎng)絡(luò)轉(zhuǎn)換或者視頻轉(zhuǎn)換芯片),得到16位以上的VGA數(shù)據(jù)。人眼不能分辨的極限,至少也需要16位真彩色。16位以上的數(shù)據(jù),24位、32位,人眼基本無法分辨清楚,因此,要求不是很高的情況下16位真彩色已經(jīng)足夠勝任。

前面講過的VGA驅(qū)動,最基本的分辨率有如下三種:

(1)VGA_640_480_60FPS_25MHz

(2)VGA_800_600_72FPS_50MHz

(3)VGA_1024_768_60FPS_65MHz

可見,至少25MHz的速度刷屏,需要我們在軟件中實(shí)現(xiàn)顯卡刷屏的功能;在最小圖片容量即(1)模式下的數(shù)據(jù)量是640*480*16 = 4915200Bits = 600KB,在(3)模式下的數(shù)據(jù)量是1024*768*16 = 1.5MB。如此大的圖片數(shù)據(jù),需要有如此容量的緩存區(qū)。

綜上,也就是說,要實(shí)現(xiàn)真彩圖像VGA顯示,第一需要16位以上的VGA驅(qū)動電路,第二需要足夠的容量來存放圖片。

三、各種方案的匯總

1. 靜態(tài)數(shù)據(jù)源

所謂靜態(tài)數(shù)據(jù)源,就是數(shù)據(jù)已經(jīng)保存在系統(tǒng)中,不能再改變的的數(shù)據(jù)源。為了顯示真彩圖像,我們可以將圖像數(shù)據(jù)存放于SDRAM,或者Flash,從而通過讀取IC上已經(jīng)存儲的圖像數(shù)據(jù),顯存于SRAM,利用前面Bingo設(shè)計(jì)的VGA可移植模塊驅(qū)動刷屏,實(shí)現(xiàn)真彩圖像的顯示?;镜募軜?gòu)就是:

FPGA + 靜態(tài)數(shù)據(jù)源 + SDRAM/SRAM + VGA

當(dāng)然此處數(shù)據(jù)存放于SDRAM,我們可以用Nios II 的C存放于數(shù)組,通過JTAG下載;FLASH中的數(shù)據(jù),我們可以用Nios II 中的 Flash Programmer來完成配置。關(guān)于SDRAM中存放圖像數(shù)據(jù)來實(shí)現(xiàn)真彩圖像時最基本最簡單的方法,Bingo將會在后文講解。

[!--empirenews.page--]

2. 動態(tài)數(shù)據(jù)源

所謂動態(tài)數(shù)據(jù)源,就是可以實(shí)時傳輸數(shù)據(jù)來改變顯示的數(shù)據(jù)源。這關(guān)系數(shù)據(jù)傳輸?shù)慕K端,以及數(shù)據(jù)傳輸?shù)耐ǖ?。基本的架?gòu)就是:

FPGA + 動態(tài)數(shù)據(jù)源 + SDRAM/SRAM + VGA

(1)前面章節(jié)中Bingo講過的UART/USB硬核的編寫,或者直接利用Quatus II 偏上系統(tǒng)的UART/USB軟核,來作為動態(tài)數(shù)據(jù)通道。在這里可以應(yīng)用,我們把PC當(dāng)做智能終端,通過電腦處理,輸出圖片數(shù)據(jù),更新SDRAM/SRAM內(nèi)容,實(shí)時刷屏,從而更新VGA內(nèi)容。當(dāng)然由于帶寬的限制,UART不可能達(dá)到實(shí)時顯示,而USB則可以達(dá)到實(shí)時傳輸,但較UART接口的定義要稍微復(fù)雜。

(2)當(dāng)然也不排除網(wǎng)絡(luò)傳輸來作為動態(tài)數(shù)據(jù)源通道,實(shí)現(xiàn)動態(tài)真彩圖片的顯示。只是目前而言,可能難度有點(diǎn)大,但這只是時間問題。

(3)在這就是將圖片數(shù)據(jù)存放于SD卡,通過驅(qū)動SD卡來緩存圖片數(shù)據(jù),然后刷屏顯示真彩圖像。

(4)此外,如果你玩過攝像頭或者你想玩攝像頭,我們也可以將攝像頭作為外部數(shù)據(jù)源,來采集圖像,傳輸至SDRAM/SRAM,提供給VGA刷屏,更是不錯的方案。此方案關(guān)鍵在于攝像頭的驅(qū)動,以及數(shù)據(jù)的處理,當(dāng)硬件滿足要求的情況下。實(shí)時顯示,不在話下,因此受到了很多人的青睞。以下就是通過攝像頭采集數(shù)據(jù),實(shí)時顯示的軟件設(shè)計(jì)流程圖:

這個方案實(shí)際應(yīng)用中已經(jīng)很多,Bingo在未來某一天會詳細(xì)講解視頻圖像采集、識別、處理的,敬請稍候……

[!--empirenews.page--]

三、網(wǎng)上NB鏈接

VGA數(shù)碼相框DIY-特權(quán)‘s Blog——永遠(yuǎn)忠于年輕時的夢想!

http://blog.ednchina.com/ilove314/33563/category.aspx

申酷!cpld+sdram方案 控制800480 7寸屏的相關(guān)資料,stm32底層函數(shù)驅(qū)動

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4355445&bbs_id=3020

曾經(jīng)深受很多人打擊的的 cpld+sdram tft控制器成功了

http://bbs.21ic.com/images/default/qq.gif

祝賀CPLD+SRAM完美現(xiàn)實(shí)TFT屏驅(qū)動!視頻見證效果

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4269377&bbs_page_no=1&bbs_id=1029

終于看到了希望——基于美女的VGA系統(tǒng)構(gòu)架 - CrazyBingo - 博客園.mht

http://www.cnblogs.com/crazybingo/archive/2010/12/01/1892610.html

終于看到了希望——基于美女的VGA系統(tǒng)構(gòu)架 - CrazyBingo - Ouravr論壇

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4437397&bbs_page_no=1&search_mode=3&search_text=hanbin08041813&bbs_id=9999

四、Bingo的設(shè)計(jì)

1. 硬件設(shè)計(jì)

(1)16Bits RGB通道:真彩數(shù)據(jù)VGA接口。第十四章講過VGA接口設(shè)計(jì),要得到真彩數(shù)據(jù),可以用電阻網(wǎng)絡(luò)模擬,或者視頻轉(zhuǎn)換芯片來得到多路數(shù)字通道,此處Bingo采用了視頻轉(zhuǎn)換芯片ADV7120KST50,原理圖如下:

(2)SDRAM:Nios II 內(nèi)存存儲芯片,Bingo此處采用了HY57V641620 SDRAM,硬件原理圖如下:

[!--empirenews.page--]

(3)SRAM:VGA刷屏數(shù)據(jù)顯存IC,此處采用了ISSI的IS61LV51216AL-10TI 作為高速顯存芯片。

2. 軟件設(shè)計(jì)

如上圖所示,Bingo設(shè)計(jì)的真彩圖像顯示的工程的RTL圖。

這應(yīng)該算是真彩顯示的最簡單的設(shè)計(jì)吧,將圖像數(shù)據(jù)隨Nios II配置JTAG下載SDRAM,再讀取專一值SRAM,刷屏實(shí)現(xiàn)真彩圖像的VGA顯示。本工程的軟件架構(gòu)如下,主要用了以下這幾個模塊:

 

3. 注意問題

關(guān)于CPU傳輸數(shù)據(jù)給Sram_Ctrl模塊,Bingo采用了模擬6800總線協(xié)議,來對數(shù)據(jù)進(jìn)行交換處理。當(dāng)然若有更好的方案,您可以自行設(shè)計(jì)協(xié)議,Verilog相當(dāng)?shù)撵`活。

關(guān)于時鐘的處理,由于設(shè)計(jì)中設(shè)計(jì)到了大量數(shù)據(jù)的傳輸,時序上需要嚴(yán)謹(jǐn),因此要嚴(yán)格處理好CPU與Verilog的跨時鐘、VGA刷屏?xí)r鐘、復(fù)位信號等的協(xié)調(diào),以及穩(wěn)態(tài)亞穩(wěn)態(tài),甚至?xí)r序約束。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉