作者:馬森 呂悅 李志平
摘要:在Nios II的開發(fā)過程中,硬件抽象層提供多種一般模式類設(shè)備,使得開發(fā)者可以高效的在系統(tǒng)中添加并使用這些設(shè)備。然而對(duì)不屬于一般模式類的新設(shè)備的使用將不能按照原有的設(shè)計(jì)方法進(jìn)行系統(tǒng)開發(fā)。為此,需要根據(jù)Nios II內(nèi)部總線規(guī)范提供一個(gè)設(shè)備驅(qū)動(dòng),并按照SOPC Builder要求集成到硬件抽象層中。通過設(shè)計(jì)并集成非字符型液晶顯示模塊得出結(jié)論:任何非一般模式類設(shè)備均可加載到Nios II系統(tǒng)中并能正常工作。
關(guān)鍵詞: 液晶顯示;Nios II;Avalon總線;設(shè)備集成
液晶顯示器按其功能可分為筆段式和點(diǎn)矩陣式液晶顯示器,后者又可以分為字符點(diǎn)陣式和圖形點(diǎn)陣式液晶顯示器。圖形點(diǎn)陣式液晶顯示器不僅可顯示數(shù)字、字符等內(nèi)容,還能顯示漢字和任意圖形。但此類液晶顯示屏屬于非一般模式類設(shè)備,在Nios II中不能直接開發(fā)使用。
對(duì)于一個(gè)全新的外部設(shè)備,Nios II有更好的解決方案快速的掌握它的控制方法。按照設(shè)備的電器要求,使用Nios II的已有的基本控制設(shè)備(例如通用輸入輸出端口PIO)掌握新設(shè)備的控制特性與方法。當(dāng)充分理解新設(shè)備的特性后就可以按照Nios II的硬件抽象層(HAL)的定義方法,編寫新設(shè)備的驅(qū)動(dòng)將其集成到Nios II中。這樣在今后的開發(fā)中在SOPC Builder中就可以像其他設(shè)備一樣增添這個(gè)新設(shè)備,Nios II軟核生成后會(huì)自動(dòng)加載此設(shè)備的設(shè)備驅(qū)動(dòng)。這樣提高了新設(shè)備的二次使用時(shí)的開發(fā)效率。
以下是液晶屏顯示模塊接口的設(shè)計(jì)與集成過程。
液晶顯示模塊的設(shè)計(jì)
液晶顯示簡介
GM12864A 是帶顯示存儲(chǔ)器的圖形液晶顯示器。它的內(nèi)部是由兩塊KS0108B作為列顯示控制器和一片KS0107B作為行顯示控制器組成。顯示屏上各像素點(diǎn)的顯示狀態(tài)與顯示存儲(chǔ)器的各位相互對(duì)應(yīng),顯示存儲(chǔ)器的數(shù)據(jù)直接作為圖形顯示的驅(qū)動(dòng)信號(hào)。顯示數(shù)據(jù)為“1”,相應(yīng)的像素點(diǎn)變亮。液晶屏結(jié)構(gòu)如圖1所示。
圖1 液晶屏GM12864A的結(jié)構(gòu)圖
PIO類的介紹
設(shè)計(jì)初始階段主要的目的在于充分了解新設(shè)備的特性與控制方法,為之后的設(shè)備集成打好基礎(chǔ)。因此采用通用的輸入輸出控制接口(PIO)直接對(duì)液晶屏的引腳進(jìn)行控制。
Nios II中PIO分為三大類:輸入(I)、輸出(O)和三態(tài)(Tri)。PIO通過Avalon總線與Nios II相連接。如圖2所示。
圖2 通用輸入輸出接口與Nios II的連接
接口的設(shè)計(jì)
在Quartus II中新建一個(gè)工程,芯片類型選擇Cyclone 1C6Q240C8。設(shè)置畫面如圖3所示。
圖3 芯片設(shè)置界面
工程創(chuàng)建完成后在SOPC Builder中定制Nios II處理器。液晶屏顯示器驅(qū)動(dòng)接口在設(shè)計(jì)初步作為普通的外部設(shè)備,用PIO進(jìn)行操作。所以為系統(tǒng)增添所需要的PIO接口。設(shè)計(jì)完成后如圖4所示。
圖4 定制的Nios II處理器結(jié)構(gòu)
定制結(jié)束后生成Nios II處理器模塊。生成后回到Quartus II中進(jìn)行系統(tǒng)頂層結(jié)構(gòu)的設(shè)計(jì)。通過SOPC Builder生成的Nios II模塊需要一個(gè)時(shí)鐘和一個(gè)復(fù)位輸入端,輸出與定制時(shí)所設(shè)計(jì)的一致。增添相應(yīng)的輸入輸出引腳。頂層結(jié)構(gòu)如圖5所示。