基于NIOSⅡ的液晶顯示器控制研究
隨著科學(xué)技術(shù)的發(fā)展和人民生活水平的提高。液晶顯示器|0">液晶顯示器(LCD)以其具有功耗低、體積小、重最輕、超薄等許多其他顯示器無(wú)法比擬的優(yōu)點(diǎn),近幾年來(lái)被廣泛用于智能儀器、儀表和低功耗電子產(chǎn)品中。本文介紹一種基于NIOSⅡ的LCD的控制方法。利用SoPC技術(shù),在NIOSⅡ系統(tǒng)中添加相應(yīng)的I/O端口實(shí)現(xiàn)對(duì)液晶顯示器的控制。
1 NIOSⅡ嵌入式軟核處理器
NIOSⅡ是Altera公司在NIOS的基礎(chǔ)上,于2004年發(fā)布的嵌入式軟核處理器。所謂軟核,是指用HDL文本形式提交給用戶,他經(jīng)過(guò)RTL級(jí)設(shè)計(jì)優(yōu)化和功能驗(yàn)證,但其中不含任何具體的物理信息。NIOSⅡ是采用流水線技術(shù)和哈佛結(jié)構(gòu)的通用RISC(Refined Instruction Set Computer,精簡(jiǎn)指令集計(jì)算機(jī))。一個(gè)NIOSⅡ處理器系統(tǒng)由NIOSⅡCPU和一系列的外設(shè)組成。NIOSⅡ系統(tǒng)包括NIOSⅡCPU、片內(nèi)外設(shè)、片內(nèi)存儲(chǔ)器和片外外設(shè),他們的接口都在Altera公司的芯片上實(shí)現(xiàn)。相當(dāng)于在單片機(jī)實(shí)現(xiàn)1臺(tái)計(jì)算機(jī)或1個(gè)微控制器。所有的NIOSⅡ處理器系統(tǒng)使用統(tǒng)一的指令集和編程方式。NIOSⅡ的處理器實(shí)例如圖1所示。
利用軟核處理器,能有效地彌補(bǔ)上述不足。在NIOSⅡ中還可以添加用戶自定義的指令。在開(kāi)發(fā)工具的完備性方面NIOSⅡ也具有很大的優(yōu)勢(shì)。Altera不僅提供強(qiáng)大的HAL系統(tǒng)庫(kù)支持,還提供嵌入式操作系統(tǒng)核TCP/IP協(xié)議棧的支持。
2 液晶屏控制器的選擇
SED1520系列是日本Seiko Epson公司出品的將行、列驅(qū)動(dòng)器和控制器集成在一起的控制器。在小規(guī)模圖形液晶顯示模塊上使用SED1520液晶顯示驅(qū)動(dòng)控制器,組成顯示驅(qū)動(dòng)和控制系統(tǒng)是低成本、低功耗、高集成的最佳選擇。
SED1520的基本特點(diǎn)有:快速8位MCU接口,可適配Intel8080系列或M6800系列時(shí)序;豐富的指令集;共80個(gè)驅(qū)動(dòng)器輸出;低功耗:外部時(shí)鐘2 kHz時(shí)為30μW;占空比可設(shè)置為1/16或1/32;低功耗CMOS工藝;可以級(jí)聯(lián)使用,以擴(kuò)展行、列驅(qū)動(dòng)力;電源范圍廣:LCD電壓VDD-VSS=-2.4~-7.0 V;SED1520系列共有6種型號(hào):SED1520FOA,SED1520FAA,SED1521FOA,SED1521FAA,SED1520D,SED1521D。其中SED1520FOA應(yīng)用最為廣泛,SED1520的指令集見(jiàn)表1。
3 LCD的硬件設(shè)計(jì)
一般來(lái)說(shuō),對(duì)于不太復(fù)雜的系統(tǒng),把外部設(shè)備看作普通PIO是比較簡(jiǎn)單的方法。首先在QUARTUSⅡ軟件中的SoPC BUILDER中添加1個(gè)8位的lcd_data[7..0],4個(gè)1位的lcd_cd,led_ce,lcd_rd,lcd_wr。再設(shè)置lcd_data的屬性為雙向三態(tài)“Tri_state”,其他4個(gè)信號(hào)的屬性設(shè)為“Output only”。lcd_data[7..0]為數(shù)據(jù)位,傳輸數(shù)據(jù);lcd_cd為命令、數(shù)據(jù)使能信號(hào),當(dāng)lcd_cd為高電平時(shí)數(shù)據(jù)線上傳輸命令,當(dāng)lcd_cd為低電平時(shí)數(shù)據(jù)線上傳輸數(shù)據(jù);lcd_ce為片選信號(hào),低電平有效;lcd_rd為讀使能,低電平有效;lcd_wr為寫(xiě)使能,低電平有效。NIOSⅡ和LCD模塊的接口電路如圖2所示。圖2中LCD硬件原理備注:讀狀態(tài)字的代碼中,D7對(duì)應(yīng)BUSY,D7=1為忙,D7=0為準(zhǔn)備好;D6對(duì)應(yīng)ADC,D6=1為反向方式,D6=0為正常方式;D5對(duì)應(yīng)當(dāng)前顯示狀態(tài),D5=1為關(guān)顯示,D5=0為開(kāi)顯示;D4對(duì)應(yīng)復(fù)位信號(hào),D4=1為執(zhí)行復(fù)位,D4=0為正常操作。
4 LCD的軟件設(shè)計(jì)
由于所有在LCD屏幕上顯示的數(shù)據(jù),不論是文本方式,還是圖形方式,都存放在外部的顯示存儲(chǔ)器中所以在軟件設(shè)計(jì)時(shí),NIOSⅡ處理器只要將指令直接送至LCD的外部顯示存儲(chǔ)區(qū),控制器就可以控制液晶屏顯示用戶所需要的數(shù)據(jù)及其顯示方式。下面以寫(xiě)單參數(shù)命令子程序和寫(xiě)數(shù)據(jù)子程序?yàn)槔?,介紹軟件設(shè)計(jì)過(guò)程:
其他的子程序如:SED1520讀狀態(tài)子程序等由于篇幅原因略去。
5 結(jié)語(yǔ)
本文闡述基于NIOSⅡ嵌入式處理器控制液晶顯示器的硬件設(shè)計(jì)方案和軟件設(shè)計(jì)方法。通過(guò)該設(shè)計(jì),充分體現(xiàn)出NIOSⅡ嵌入式處理器在設(shè)計(jì)中的靈活性,更好地節(jié)約了成本。