<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于SOPC的通用TFT-LCD控制器IP核設(shè)計(jì)

          基于SOPC的通用TFT-LCD控制器IP核設(shè)計(jì)

          作者: 時(shí)間:2010-10-19 來源:網(wǎng)絡(luò) 收藏


          LCD的具體工作流程為刷新周期開始時(shí),主端口模塊根據(jù)幀緩存地址生成邏輯所產(chǎn)生的地址完成主端口的讀操作,實(shí)現(xiàn)幀緩存中數(shù)據(jù)的讀取,并將該數(shù)據(jù)輸送給輸出緩沖模塊。同時(shí),時(shí)序信號(hào)生成模塊依據(jù)LCD屏的時(shí)序規(guī)范生成行、場同步信號(hào),以及與像素?cái)?shù)據(jù)同步的相關(guān)顯示點(diǎn)的橫、縱坐標(biāo)。
          的LCD包含硬件光標(biāo)顯示模塊,所以在進(jìn)行最后屏幕顯示時(shí),像素輸出控制邏輯有兩部分的數(shù)據(jù)來源,一部分為從幀緩存中讀取的屏幕數(shù)據(jù);另一部分為硬件光標(biāo)的顯示數(shù)據(jù)。最后,像素輸出控制邏輯根據(jù)從端口模塊中各個(gè)系統(tǒng)寄存器內(nèi)的信息向LCD屏幕發(fā)送將要顯示的圖像數(shù)據(jù)。

          2 硬件光標(biāo)模塊
          硬件光標(biāo)模塊為LCD帶鼠標(biāo)光標(biāo)的顯示功能,為系統(tǒng)開發(fā)中添加鼠標(biāo)接口提供了方便。光標(biāo)顯示的實(shí)現(xiàn)方式有硬件方式和軟件方式,軟件方式比較復(fù)雜,且占用大量的CPU處理時(shí)間;硬件方式用硬件邏輯資源來實(shí)現(xiàn),處理速度快,不占用CPU時(shí)間。硬件方式的設(shè)計(jì)思路是為光標(biāo)的圖像數(shù)據(jù)設(shè)置單獨(dú)的存儲(chǔ)空間(RAM)用以保存,當(dāng)LCD屏幕需要對(duì)光標(biāo)進(jìn)行顯示時(shí),由硬件邏輯負(fù)責(zé)在輸出光標(biāo)和背景圖像之間做出選擇。而軟件部分只需簡單地修改光標(biāo)坐標(biāo)寄存器的值,就可以完成光標(biāo)在屏幕上的顯示操作。采用這種方法,大大提高了系統(tǒng)性能。硬件光標(biāo)RAM模塊是通過MegWizard Plug-In Manager編輯器生成的,最終生成的存儲(chǔ)光標(biāo)圖像數(shù)據(jù)的雙口RAM如圖3所示。



          3 LCD控制器組件設(shè)計(jì)
          將LCD控制器按總體設(shè)計(jì)要求編寫相應(yīng)的硬件描述語言代碼,其端口定義的程序主要有系統(tǒng)時(shí)鐘、LCD時(shí)鐘、Avalon從端口、Avalon主端口和LCD輸出的定義。程序的主要內(nèi)容有各種寄存器和連線的定義,行場參數(shù)的設(shè)定,行掃描狀態(tài)機(jī)、場掃描狀態(tài)機(jī)、Avalon主端口讀控制邏輯狀態(tài)機(jī)、幀緩存地址生成邏輯、LCD有效顯示數(shù)據(jù)信號(hào)生成邏輯、硬件光標(biāo)模塊和兩個(gè)例化模塊的調(diào)用等。最終生成的元件符號(hào)如圖4所示。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();