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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何設(shè)計基于Avalon總線的可配置LCD控制器IP核?

          如何設(shè)計基于Avalon總線的可配置LCD控制器IP核?

          作者: 時間:2018-08-02 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201808/384965.htm

          2.4 LCD 時序產(chǎn)生模塊

          通過讀取配置寄存器獲得像素時鐘,行周期,幀周期,同步頭寬度以及時鐘分頻系數(shù)等信息后,LCD 時序產(chǎn)生模塊產(chǎn)生LCD 顯示需要的行同步信號、幀同步信號以及復(fù)合消隱信號。圖7 描述了LCD 接口時序發(fā)生模塊的接口信號

          3. LCD 控制器IP 核的仿真調(diào)試與安裝

          3.1 LCD 控制器IP 核的仿真調(diào)試

          本IP 核使用Verilog HDL 來編寫,首先在Modelsim6.1 下先進(jìn)行RTL 級的功能仿真,當(dāng)所有功能都滿足要求時,就可以使用綜合工具綜合后加入延時信息進(jìn)行進(jìn)行時序仿真。如果時序仿真也滿足電路的設(shè)計要求,就可以當(dāng)做一個NiosII 系統(tǒng)自定義的組件加到Nios II 系統(tǒng)中去。

          3.2 LCD 控制器IP 核的安裝

          Avalon 流模式的 LCD 控制器需要安裝到 SOPC Builder 中,以便將其加入到NiosII 系統(tǒng)中。

          這里的LCD 控制器是一個典型的流模式自定義外設(shè)。啟動DMA 傳輸后,DMA 控制器將批量數(shù)據(jù)送往LCD 控制器,因此也可將LCD 控制器看成 FIFO 類型的存儲器外設(shè)。選擇Avalon Components->Legacy Components->Interface to User Logic,加入LCD 控制器的IP 核。

          3.3 實際測試效果圖

          實際測試是在Altera的DE2開發(fā)板上進(jìn)行的。使用的LCD屏是夏普公司的800*600型號為LQ080V3DG01的TFT LCD屏,實際的顯示效果圖如圖9所示

          4. 總結(jié)

          本文討論了基于Avalon 總線流傳輸?shù)呐渲肔CD 顯示控制器IP 核的設(shè)計,根據(jù)自頂向下的設(shè)計思想,將IP 核進(jìn)行層次功能劃分設(shè)計,并對IP 核的仿真驗證,最后加入到Nios II系統(tǒng)中。該IP 核經(jīng)測試效果良好。由于本IP 核是可配置的,具有很好的移植性,可以方便的應(yīng)用以Nios II 為核心的各種需要圖形顯示的嵌入式系統(tǒng)中。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Avalon總線 LCD控制器 IP核

          評論


          相關(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); })();