當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Avalon總線的TFT LCD控制器設(shè)計

系統(tǒng)總體設(shè)計方案

Nios II處理器在SDRAM中開辟幀緩沖(Frame buffer),可以是單緩沖也可以是雙緩沖。以單緩沖為例。處理器將一幀圖像數(shù)據(jù)(640×480×2Bytes,RGB565,16bit)存入幀緩沖,然后將幀緩沖的首地址寫入到LCD控制器,并啟動LCD控制器。該控制器自動從傳來的首地址處開始讀取數(shù)據(jù),并按照TFT的格式輸出。圖中各模塊由AvalON Bus連接在一起。Avalon Bus是一種簡單的總線結(jié)構(gòu),Nios II處理器和各種外設(shè)都是通過Avalon Bus連接在一起。由圖1可以看出,作為Slaver的SDRAM Controller分別要受到Processor 和LCD Controller的控制,為了解決總線沖突,Avalon Bus自動在有沖突的接口上加入了Arbitrator這樣一個仲裁模塊,用于合理分配總線時間,用戶通過改變每個模塊的權(quán)值來改變對其分配總線時間的多少。在這個系統(tǒng)中,SDRAM Controller是影響整個系統(tǒng)性能的關(guān)鍵。以SDRAM時鐘頻率為100MHz計算,16bit的SDRAM其數(shù)據(jù)總帶寬為200MByte/s,640×480×2Bytes×60Hz的TFT LCD要占用36MByte/s左右的帶寬,這對于還要處理其他任務(wù)的處理器來說是很大的影響。

本系統(tǒng)的總體設(shè)計框圖如圖1所示。


          圖1 系統(tǒng)框圖

LCD控制器的FPGA實現(xiàn)

Avalon Bus Slaver從總線接口模塊實現(xiàn)

Avalon從總線接口負責(zé)處理器與LCD控制器的接口控制,LCD控制器在整個系統(tǒng)中作為從設(shè)備,NIOS II通過該接口對控制寄存器進行設(shè)置,控制LCD。

LCD從模塊有四個32bit的可讀寫寄存器,用于控制LCD控制器的工作和指示其工作狀態(tài)。

Avalon Bus DMA Master主設(shè)備接口模塊實現(xiàn)

Avalon Bus DMA MaSTer負責(zé)按照控制模塊的指令,讀取SDRAM中的數(shù)據(jù),并寫入到FIFO中,其核心部分是DMA地址累加器。當(dāng)條件滿足時,地址累加器開始在100MHz的時鐘下以4為單位開始累加用于生成讀取SDRAM的地址。讀完一幀的數(shù)據(jù)后,自動復(fù)位到首地址,繼續(xù)累加。

主設(shè)備接口采用帶延遲的主設(shè)備讀傳輸模式,在這種傳輸模式下,即使沒有接收到上一次的有效數(shù)據(jù),主設(shè)備也可以發(fā)起下一次讀命令。當(dāng)waitrequest信號無效(低電平)時,主設(shè)備可以連續(xù)的發(fā)起讀命令,當(dāng)waitrequest信號有效(高電平)時,主設(shè)備開始等待,直到其變?yōu)榈碗娖?。?dāng)readdatavalid信號有效(高電平)時,表示讀數(shù)據(jù)有效,此時主設(shè)備可以鎖存數(shù)據(jù)口上的有效數(shù)據(jù)。這里沒有使用flush信號,flush信號會清除前面一切未完成的讀命令。Avalon總線保證數(shù)據(jù)的輸出順序與主設(shè)備要求的順序一致(即與主設(shè)備地址輸出順序一致)。

readdatavalid信號可以作為FIFO的wrreq信號,這樣可以直接將讀出來的數(shù)據(jù)寫入到FIFO中。當(dāng)前地址等于尾地址時,則復(fù)位累加器,使之重新開始從首地址累加。地址累加器代碼模塊如圖3。

 

[!--empirenews.page--]

FIFO模塊實現(xiàn)

FIFO的作用是對DMA輸出的圖像數(shù)據(jù)進行緩存,以匹配時序控制模塊的輸出速度。FIFO大小暫定為4096×16bit,在實際設(shè)計時,再根據(jù)系統(tǒng)需要以及資源狀況做出適當(dāng)調(diào)整。原則是,在系統(tǒng)資源允許的情況下,將FIFO大小盡量設(shè)置大點。

FIFO由DMA控制器寫入數(shù)據(jù),寫入時鐘為100MHz;由LCD控制器的時序發(fā)生模塊讀出數(shù)據(jù),讀出時鐘為PCLK,即LCD的像素點掃描頻率,通常取25MHz。在獨立的寫時鐘和讀時鐘作用下,F(xiàn)IFO可以提供rdusedw[11:0]信號,用于指示FIFO中已經(jīng)使用掉的容量。系統(tǒng)可以設(shè)置一個上限和一個下限,當(dāng)FIFO中的數(shù)據(jù)量高于上限或低于下限時,控制器暫停DMA傳輸或啟動DMA傳輸,用以保證系統(tǒng)性能。

在本例應(yīng)用中,將wrclk接系統(tǒng)時鐘(100MHz),wrreq接master_readdatavalid,data接writedata,即可完成DMA的數(shù)據(jù)寫入操作;將rdclk接12.5MHz(因為TFT的時鐘為25MHz,數(shù)據(jù)寬度為16bit,而FIFO的寬度為32bit,所以用一半的時鐘12.5MHz去讀取FIFO,然后依次輸出32bit的高16bit和低16bit),rdreq由時序發(fā)生模塊控制,即可在每個rdclk的上升沿讀出一個數(shù)據(jù)到q。aclr接~reset_n,可以完成復(fù)位操作。當(dāng)然,所有信號都受controller_GoBit的控制。

FIFO設(shè)計采用了Quartus II自帶的fifo宏模塊,自動生成所需要的模塊,供調(diào)用。

LCD 時序發(fā)生器設(shè)計模塊實現(xiàn)

時序發(fā)生器用于產(chǎn)生TFT所需的時序,將圖像數(shù)據(jù)按特定的時序輸出。每種控制器的設(shè)計關(guān)鍵就是時序設(shè)計,本文專門針對三菱公司的AA084VC05液晶屏,圖4,圖5是其時序圖。

 

LCD時序發(fā)生器以DCLK為時鐘基準,該DCLK即上面所說的PCLK,也就是像點時鐘,每個像素點的數(shù)據(jù)以該時鐘驅(qū)動進入LCD。圖4為AA084VC05的水平掃描時序,其中,DATA為18位數(shù)據(jù)信號(本設(shè)計中只用其中的16位),DENA為數(shù)據(jù)有效信號,高電平使能,其有效寬度THA為640個DCLK;HD為水平同步信號,低電平有效,其有效寬度TWHL為96個DCLK。一行640個象素掃描完畢之后,控制器將驅(qū)動HD有效,在HD有效之前插入THFP(Horizontal Front Porch)為16個DCLK,有效之后插入THBP(Horizontal Back Porch)為144個DCLK,然后再開始下一行的掃描。如此一來,行掃描信號的頻率FH典型值為31.5KHz。而讀FIFO信號要提前DENA信號一個時鐘節(jié)拍到來,提前一個時鐘節(jié)拍結(jié)束,因為該FIFO有一個時鐘節(jié)拍的延遲。

AA084VC05的垂直掃描時序與水平掃描時序類似,該時序以HD為時鐘基準,其中,VD為垂直同步信號(幀同步)。每掃描完一幀(480行),控制器將驅(qū)動VD有效(低電平),有效寬度TWVL為2個HD。同樣,在VD有效之前插入TVFP(Vertical Front Porch)為10個HD,有效之后插入TVBP(Vertical Back Porch)為35個HD,如此一來,垂直掃描信號頻率FV的典型值為60Hz。

時序發(fā)生器采用狀態(tài)機實現(xiàn)。由于該控制器的參數(shù)比較大,為了便于觀察仿真結(jié)果,本文對這些參數(shù)做了一些處理(成倍減少)。

結(jié)語

本文設(shè)計實現(xiàn)了一個簡單的基于Avalon總線的TFT LCD控制器,能實現(xiàn)640×480,顏色深度為16bit的彩色圖形顯示,可應(yīng)用于各種TFT LCD,亦可改寫為VGA控制器,有較大的靈活性。根據(jù)設(shè)計好的控制器編寫了相應(yīng)的Linux下的FrAME buffer驅(qū)動程序。很好的實現(xiàn)了界面環(huán)境的開發(fā),可以用于很多手持設(shè)備的電子產(chǎn)品。該設(shè)計最大的特點是有很強的可移植性,不論是控制器的設(shè)計還是Frame buffer驅(qū)動程序的設(shè)計都很靈活。
 

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(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)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(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 手機 衛(wèi)星通信

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

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

北京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ù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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