国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于嵌入式Linux的TFT LCD IP及驅(qū)動(dòng)的設(shè)計(jì)

發(fā)布時(shí)間:2010-7-29 16:38    發(fā)布者:lavida
關(guān)鍵詞: LCD , linux , TFT , 驅(qū)動(dòng)
系統(tǒng)總體設(shè)計(jì)方案

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



圖1 系統(tǒng)框圖

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

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

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

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

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

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

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

主設(shè)備接口采用帶延遲的主設(shè)備讀傳輸模式,在這種傳輸模式下,即使沒(méi)有接收到上一次的有效數(shù)據(jù),主設(shè)備也可以發(fā)起下一次讀命令。當(dāng)waitrequest信號(hào)無(wú)效(低電平)時(shí),主設(shè)備可以連續(xù)的發(fā)起讀命令,當(dāng)waitrequest信號(hào)有效(高電平)時(shí),主設(shè)備開(kāi)始等待,直到其變?yōu)榈碗娖健.?dāng)readdatavalid信號(hào)有效(高電平)時(shí),表示讀數(shù)據(jù)有效,此時(shí)主設(shè)備可以鎖存數(shù)據(jù)口上的有效數(shù)據(jù)。這里沒(méi)有使用flush信號(hào),flush信號(hào)會(huì)清除前面一切未完成的讀命令。Avalon總線保證數(shù)據(jù)的輸出順序與主設(shè)備要求的順序一致(即與主設(shè)備地址輸出順序一致)。readdatavalid信號(hào)可以作為FIFO的wrreq信號(hào),這樣可以直接將讀出來(lái)的數(shù)據(jù)寫(xiě)入到FIFO中。當(dāng)前地址等于尾地址時(shí),則復(fù)位累加器,使之重新開(kāi)始從首地址累加。地址累加器代碼模塊如圖3。



圖2 LCD BSF圖



圖3 設(shè)備接口模塊BSF圖

FIFO模塊實(shí)現(xiàn)

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

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

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

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

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

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



圖4 水平時(shí)序圖



圖5 垂直時(shí)序圖

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

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

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


結(jié)語(yǔ)

本文設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的基于Avalon總線的TFT LCD控制器,能實(shí)現(xiàn)640×480,顏色深度為16bit的彩色圖形顯示,可應(yīng)用于各種TFT LCD,亦可改寫(xiě)為VGA控制器,有較大的靈活性。根據(jù)設(shè)計(jì)好的控制器編寫(xiě)了相應(yīng)的Linux下的Frame buffer驅(qū)動(dòng)程序。很好的實(shí)現(xiàn)了界面環(huán)境的開(kāi)發(fā),可以用于很多手持設(shè)備的電子產(chǎn)品。該設(shè)計(jì)最大的特點(diǎn)是有很強(qiáng)的可移植性,不論是控制器的設(shè)計(jì)還是Frame buffer驅(qū)動(dòng)程序的設(shè)計(jì)都很靈活。
本文地址:http://www.qingdxww.cn/thread-17786-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 基于CEC1712實(shí)現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓(xùn)教程
  • 5分鐘詳解定時(shí)器/計(jì)數(shù)器E和波形擴(kuò)展!
  • 了解一下Microchip強(qiáng)大的PIC18-Q24 MCU系列
  • 無(wú)線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程2
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产高清在线看免费视频观 | 岛国大片免费 | 日本高清中文字幕视频在线 | 欧美成人 一区二区三区 | 四虎图库| 国产一区二区三区播放 | 久久免费公开视频 | 特级毛片www | 婷婷导航| 精品免费国产一区二区三区 | 精品欧美日韩一区二区三区 | 亚洲香蕉影视在线播放 | 久久机热一这里只精品 | 69视频在线观看免费 | 玖玖精品在线视频 | 欧美草逼视频 | 国产日韩久久久精品影院首页 | 亚洲欧美日韩成人一区在线 | 欧美在线观看高清一二三区 | 日韩高清影视 | 久久久免费 | 久热中文在线 | 欧美a在线看 | 免费在线欧美 | 五月花综合网 | 蜜臀91精品国产高清在线观看 | 日韩手机在线观看 | 91蜜桃视频 | 中文字幕一区日韩在线视频 | tube8xxxx| 日韩黄色在线播放 | 九九热这里只有精品6 | 在线视频观看亚洲 | 在线不欧美 | 国产亚洲欧美在线视频 | 国产一区二 | 一本久久精品一区二区 | 在线观看色视频 | 国产精品亚洲片在线观看麻豆 | 色男人社区 | 国内外精品免费视频 |