<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于A(yíng)valon總線(xiàn)的TFT LCD控制器設計

基于A(yíng)valon總線(xiàn)的TFT LCD控制器設計

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

FIFO模塊實(shí)現

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

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

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

FIFO設計采用了Quartus II自帶的fifo宏模塊,自動(dòng)生成所需要的模塊,供調用。

時(shí)序發(fā)生器設計模塊實(shí)現

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

47.gif

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

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

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

結語(yǔ)

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

LCD顯示屏相關(guān)文章:lcd顯示屏原理


lcd相關(guān)文章:lcd原理

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

關(guān)鍵詞: Avalon TFT LCD 總線(xiàn)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>