新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NioslI的SOPC系統(tǒng)的LCD顯示驅(qū)動(dòng)IP核設(shè)計(jì)

基于NioslI的SOPC系統(tǒng)的LCD顯示驅(qū)動(dòng)IP核設(shè)計(jì)

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

本文引用地址:http://butianyuan.cn/article/151605.htm

  3.2 寄存器組

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

  3.3 Ayalon總線接口

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

  

程序

  3.4 封裝及軟件

  直接在 Builder中添加好的 Core和Verilog HDL語言描述的文件,并根據(jù)Avalon總線傳輸規(guī)范設(shè)置好相關(guān)的信號線及傳輸參數(shù)。由于是在NiosII IDE環(huán)境下直接編寫用戶程序,可以不用編寫驅(qū)動(dòng)程序。完成后,將顯示驅(qū)動(dòng) 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)體定義了一個(gè)指向模塊的結(jié)構(gòu)體指針,對寄存器進(jìn)行讀寫操作。

  

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

  結(jié)語

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


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

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

關(guān)閉