摘 要:NIOSⅡ嵌入式處理器以其設(shè)計(jì)靈活在嵌入式領(lǐng)域中得到廣泛應(yīng)用。著重介紹嵌入式系統(tǒng)中的液晶顯示屏模塊。比較NIOSⅡ與ARM嵌入式處理器的特點(diǎn),以SED1520為例,闡述一種基于NIOSⅡ的液晶顯示屏的軟硬件控制方法,給出硬件原理圖與部分軟件代碼。該方案能夠有效地實(shí)現(xiàn)LCD的顯示。對(duì)于嵌入式系統(tǒng)其他模塊的開(kāi)發(fā)具有借鑒意義。
關(guān)鍵詞:NIOSⅡ;LCD嵌入式處理器;FPGA
中圖分類(lèi)號(hào):TP39
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004—373X(2008)04—024—02
隨著科學(xué)技術(shù)的發(fā)展和人民生活水平的提高,人們對(duì)嵌入式產(chǎn)品的需求也越來(lái)越高。液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其他顯示器無(wú)法比擬的優(yōu)點(diǎn),近幾年來(lái)被廣泛用于智能儀器、儀表和低功耗電子產(chǎn)品中。本文介紹一種基于NIOSⅡ的LCD的控制方法。利用SoPC技術(shù),在NIOSⅡ系統(tǒng)中添加相應(yīng)的Ⅰ/O端口實(shí)現(xiàn)對(duì)液晶顯示器的控制。
1 NIOSⅡ嵌入式軟核處理器
NIOSⅡ是Altera公司在NIOS的基礎(chǔ)上,于2004年發(fā)布的嵌入式軟核處理器。所謂軟核,是指用HDL文本形式提交給用戶(hù),他經(jīng)過(guò)RTL級(jí)設(shè)計(jì)優(yōu)化和功能驗(yàn)證,但其中不含任何具體的物理信息。NIOSⅡ是采用流水線技術(shù)和哈佛結(jié)構(gòu)的通用RISC(Refined Instruction Set Com—puter,精簡(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所示。
ARM是常用的嵌入式處理器之一。在設(shè)計(jì)SoC時(shí),常把ARM作為硬核植入到FPGA中。硬核具有成本低、速度快等優(yōu)點(diǎn)。但是將IP硬核直接植入FPGA的解決方案存在以下不足:由于硬核是預(yù)先植入的,設(shè)計(jì)者無(wú)法根據(jù)實(shí)際需要改變處理器的結(jié)構(gòu);無(wú)法根據(jù)實(shí)際設(shè)計(jì)需要在同一FPGA中集成多個(gè)處理器;無(wú)法根據(jù)需要裁減處理器硬件資源以降低FPGA成本等。
利用軟核處理器,能有效地彌補(bǔ)上述不足。在NIOSⅡ中還可以添加用戶(hù)自定義的指令。在開(kāi)發(fā)工具的完備性方面NIOSⅡ也具有很大的優(yōu)勢(shì)。Altera不僅提供強(qiáng)大的HAL系統(tǒng)庫(kù)支持,還提供嵌入式操作系統(tǒng)核TCP/IP協(xié)議棧的支持。
2 液晶屏控制器的選擇
SEDl520系列是日本Seiko Epson公司出品的將行、列驅(qū)動(dòng)器和控制器集成在一起的控制器。在小規(guī)模圖形液晶顯示模塊上使用SEDl520液晶顯示驅(qū)動(dòng)控制器,組成顯示驅(qū)動(dòng)和控制系統(tǒng)是低成本、低功耗、高集成的最佳選擇。
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,lcd_ee,lcd_rd,lcD_wr。再設(shè)置lcd_data的屬性為雙向三態(tài)“Tri_state”,其他4個(gè)信號(hào)的屬性設(shè)為“Out—put onl”。lccL_data[7.0]為數(shù)據(jù)位,傳輸數(shù)據(jù);Icd_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ù)位,134=0為正常操作。
4 LCD的軟件設(shè)計(jì)
由于所有在LCD屏幕上顯示的數(shù)據(jù),不論是文本方式,還是圖形方式,都存放在外部的顯示存儲(chǔ)器中所以在軟件設(shè)計(jì)時(shí),NIOSⅡ處理器只要將指令直接送至LCD的外部顯示存儲(chǔ)區(qū),控制器就可以控制液晶屏顯示用戶(hù)所需要的數(shù)據(jù)及其顯示方式。下面以寫(xiě)單參數(shù)命令子程序和寫(xiě)數(shù)據(jù)子程序?yàn)槔?,介紹軟件設(shè)計(jì)過(guò)程:
5 結(jié) 語(yǔ)
本文闡述基于NIOSⅡ嵌入式處理器控制液晶顯示器的硬件設(shè)計(jì)方案和軟件設(shè)計(jì)方法。通過(guò)該設(shè)計(jì),充分體現(xiàn)出NIOSⅡ嵌入式處理器在設(shè)計(jì)中的靈活性,更好地節(jié)約了成本。