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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 采用NioslI的SOPC系統(tǒng)的LCD顯示驅(qū)動IP核方案設(shè)計

          采用NioslI的SOPC系統(tǒng)的LCD顯示驅(qū)動IP核方案設(shè)計

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

           3.1 任務(wù)邏輯

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

            任務(wù)邏輯是整個的核心部分。要實現(xiàn)對控制,就要按照CBG128064控制器的規(guī)范及時序要求進(jìn)行設(shè)計。在時序邏輯電路中,數(shù)據(jù)信號和控制信號的配合比較復(fù)雜,但又十分重要,使用有限狀態(tài)機(jī)可以較為容易地設(shè)計出復(fù)雜的數(shù)字電路。

            本文有限狀態(tài)機(jī)實現(xiàn)的核心邏輯。根據(jù)驅(qū)動控制器的讀寫命令及讀寫時序要求,本文設(shè)計了3個狀態(tài)機(jī),分別為讀寫控制狀態(tài)機(jī)、讀寫狀態(tài)機(jī)和讀寫時序狀態(tài)機(jī)。

            如圖2所示,讀寫控制狀態(tài)機(jī)用于當(dāng)發(fā)生讀寫請求時進(jìn)行忙狀態(tài)檢測及讀寫操作控制,并在每個狀態(tài)給出時序狀態(tài)機(jī)讀寫信號。

            

            如圖3所示,讀寫狀態(tài)機(jī)給出讀或者寫信號,并在讀寫控制狀態(tài)機(jī)的控制下,完成寫命令、寫數(shù)據(jù)和讀數(shù)據(jù)之間的狀態(tài)轉(zhuǎn)移。在每一個狀態(tài)下給出數(shù)據(jù)及控制信號,如片選、所寫數(shù)據(jù)/指令等。

            

            如圖4所示,讀寫時序狀態(tài)機(jī)用于控制讀或者寫外設(shè)的時刻,當(dāng)讀寫完成時給出讀寫完成信號。其中,讀寫信號由圖2中的讀寫操作給出。根據(jù)CBGl28064讀寫時序要求,當(dāng)R/W為高電平時,讀取顯示RAM中的數(shù)據(jù);當(dāng)R/W為低電平且在E的下降沿時,向顯示RAM中寫入數(shù)據(jù)。讀寫時序狀態(tài)機(jī)的讀寫信號由讀寫控制狀態(tài)機(jī)給定,其中,E為模塊使能信號。

            

          讀寫時序狀態(tài)機(jī)

           3.2 寄存器組

            寄存器組由一系列寄存器組成,為軟件提供了訪問硬件的通道。寄存器組中的寄存器是根據(jù)任務(wù)邏輯中需要實現(xiàn)的特定邏輯功能來設(shè)定的,任務(wù)邏輯中的數(shù)據(jù)通過這些寄存器傳輸。本設(shè)計中,寄存器組設(shè)定了8位頁地址寄存器、8位列地址寄存器,以及32位數(shù)據(jù)寄存器等。

            3.3 Ayalon總線接口

            顯示驅(qū)動的Avalon總線接口需要一個簡單的Slave端口。該端口使用較少的Avalon信號來處理簡單的寄存器讀/寫傳輸。該模塊是與Avalon總線接口的一個頂層模塊,主要功能是對任務(wù)邏輯模塊和寄存器模塊進(jìn)行例化和封裝,使其信號類型符合Avalon總線信號規(guī)范和外接模塊的信號規(guī)范。頂層接口定義如下:

            

          程序

            3.4 顯示驅(qū)動封裝及軟件設(shè)計

            直接在 Builder中添加設(shè)計好的顯示驅(qū)動 Core和Verilog HDL語言描述的文件,并根據(jù)Avalon總線傳輸規(guī)范設(shè)置好相關(guān)的信號線及傳輸參數(shù)。由于是在NiosII IDE環(huán)境下直接編寫用戶程序,可以不用編寫驅(qū)動程序。完成后,將顯示驅(qū)動 Core添加至工程,并編譯、下載到FPGA器件中。

            在NiosII IDE環(huán)境下,使用自己添加的模塊編寫程序,可直接調(diào)用甬?dāng)?shù)IOWR(BASE,OFFSET,DATA)和IORD(BASE,OFFSET)對內(nèi)部寄存器進(jìn)行讀寫。本文使用結(jié)構(gòu)體定義了一個指向模塊的結(jié)構(gòu)體指針,對寄存器進(jìn)行讀寫操作。

            

            CBGl28064本身不帶字庫,可以通過2種方式添加字庫:一種是把所需字庫做到硬件ROM中,增加了硬件資源成本,且缺乏靈活性;另一種是在軟件中定義字庫,通過寫數(shù)據(jù)寄存器進(jìn)行顯示。本設(shè)計第2種方式,在軟件中定義字庫,并編寫了簡單的顯示測試程序,在液晶屏上顯示“ZHONG GUO”字樣。測試結(jié)果表明,該設(shè)計是正確可行的。此外,利用字模軟件生成的圖形數(shù)據(jù),也可進(jìn)行圖形顯示。

            結(jié)語

            本文有限狀態(tài)機(jī)設(shè)計了CBGl28064液晶模塊驅(qū)動硬件邏輯,并將顯示驅(qū)動核進(jìn)行封裝構(gòu)成了一個模塊化的獨立元件,使其能夠在其他的工程中復(fù)用;在此基礎(chǔ)上,基于NiosII嵌入式處理器構(gòu)建了一個用戶定制的片上。經(jīng)過在Cyclone系列FPGA上測試,該驅(qū)動能夠在C-BGl28064液晶模塊上顯示字符、圖形。整個體現(xiàn)了嵌入式系統(tǒng)的靈活性和擴(kuò)展性。

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


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

          上一頁 1 2 下一頁

          評論


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