NIOSⅡ嵌入式處理器的特點及實現(xiàn)控制液晶顯示器
隨著科學技術(shù)的發(fā)展和人民生活水平的提高。液晶顯示器" target="_blank">液晶顯示器(LCD)以其具有功耗低、體積小、重最輕、超薄等許多其他顯示器無法比擬的優(yōu)點,近幾年來被廣泛用于智能儀器、儀表和低功耗電子產(chǎn)品中。本文介紹一種基于NIOSⅡ的LCD的控制方法。利用SoPC技術(shù),在NIOSⅡ系統(tǒng)中添加相應的I/O端口實現(xiàn)對液晶顯示器的控制。
NIOSⅡ嵌入式處理器以其設計靈活在嵌入式領域中得到廣泛應用。著重介紹嵌入式系統(tǒng)中的液晶顯示屏模塊。比較NIOSⅡ與ARM嵌入式處理器的特點,以SED1520為例,闡述一種基于NIOSⅡ的液晶顯示屏的軟硬件控制方法,給出硬件原理圖與部分軟件代碼。該方案能夠有效地實現(xiàn)LCD的顯示。對于嵌入式系統(tǒng)其他模塊的開發(fā)具有借鑒意義。
1 NIOSⅡ嵌入式軟核處理器
隨著微電子技術(shù)的發(fā)展 和半導體制造工藝的提高,工業(yè)生產(chǎn)、家用電器中的監(jiān)測控制、信號處理等集成電路設計已經(jīng)進入了片上系統(tǒng)(System On Chip)時代。在傳統(tǒng)的集成電路設計中,需要考慮大量的外圍電路 ,而且由于 PCB板中的IC芯片之間的連線延時,以及本身的體積和重量等因素的限制,整機系統(tǒng)的性能受到了很大的制約。FPGA可以把整個數(shù)字系統(tǒng)集成在一個芯片上,功能密度高、體積小、功耗低 、可靠性高,因此獲得了廣泛的應用。而且同 ASIC相比,F(xiàn)PGA成本低廉,設計靈活 ,成為了集成電路設計的發(fā)展趨勢。
但是對于復雜的系統(tǒng) ,比如有很多種狀態(tài)機,或者有很多外設的系統(tǒng),純粹用基于硬件的 FPGA來實現(xiàn)還是 比較困難的,因此通常是把一個微處理器嵌入到FPGA芯片中,用來控制各種狀態(tài)的切換、協(xié)調(diào)各個外設之間的同步以及實現(xiàn)對任務的調(diào)度。
Nios是 Altera公司推出的嵌入在其 FPGA內(nèi)部的軟核處理器,它的可配置程度很高,可以將外部存儲器(包括 ROM,RAM),液晶顯示屏,以太網(wǎng)控制器,CDR驅(qū)動器 ,USB接口甚至紅外適配器 等外部設備連接在一起 ,協(xié)調(diào)它們之間的多機協(xié)同和數(shù)據(jù)共享 ,必要的時候還可以在Nios核中加入實時操作系統(tǒng) ,來實現(xiàn)對多任務的調(diào)度。而且 Nios價格便宜 ,設計靈活 ,因此正在獲得越來越廣泛的使用,目前已經(jīng)在藍牙一以太網(wǎng)接入,遠程信號采集等方面得到了應用。
NIOSⅡ是Altera公司在NIOS的基礎上,于2004年發(fā)布的嵌入式軟核處理器。所謂軟核,是指用HDL文本形式提交給用戶,他經(jīng)過RTL級設計優(yōu)化和功能驗證,但其中不含任何具體的物理信息。NIOSⅡ是采用流水線技術(shù)和哈佛結(jié)構(gòu)的通用RISC(Refined Instruction Set Computer,精簡指令集計算機)。一個NIOSⅡ處理器系統(tǒng)由NIOSⅡCPU和一系列的外設組成。NIOSⅡ系統(tǒng)包括NIOSⅡCPU、片內(nèi)外設、片內(nèi)存儲器和片外外設,他們的接口都在Altera公司的芯片上實現(xiàn)。相當于在單片機實現(xiàn)1臺計算機或1個微控制器。所有的NIOSⅡ處理器系統(tǒng)使用統(tǒng)一的指令集和編程方式。NIOSⅡ的處理器實例如圖1所示。
ARM是常用的嵌入式處理器之一。在設計SoC時,常把ARM作為硬核植入到FPGA中。硬核具有成本低、速度快等優(yōu)點。但是將IP硬核直接植入FPGA的解決力案存在以下不足:由于硬核是預先植入的,設計者無法相據(jù)實際需要改變處理器的結(jié)構(gòu);無法根據(jù)實際設計需要在同一FPGA中集成多個處理器;無法根據(jù)需要裁減處理器硬件資源以降低FPGA成本等。
2 液晶屏控制器的選擇
SED1520系列是日本Seiko Epson公司出品的將行、列驅(qū)動器和控制器集成在一起的控制器。在小規(guī)模圖形液晶顯示模塊上使用SED1520液晶顯示驅(qū)動控制器,組成顯示驅(qū)動和控制系統(tǒng)是低成本、低功耗、高集成的最佳選擇。
SED1520的基本特點有:快速8位MCU接口,可適配Intel8080系列或M6800系列時序;豐富的指令集;共80個驅(qū)動器輸出;低功耗:外部時鐘2 kHz時為30μW;占空比可設置為1/16或1/32;低功耗CMOS工藝;可以級聯(lián)使用,以擴展行、列驅(qū)動力;電源范圍廣:LCD電壓VDD-VSS=-2.4~-7.0 V;SED1520系列共有6種型號:SED1520FOA,SED1520FAA,SED1521FOA,SED1521FAA,SED1520D,SED1521D。其中SED1520FOA應用最為廣泛,SED1520的指令集見表1。
3 LCD的硬件設計
一般來說,對于不太復雜的系統(tǒng),把外部設備看作普通PIO是比較簡單的方法。首先在QUARTUSⅡ軟件中的SoPC BUILDER中添加1個8位的lcd_data[70],4個1位的lcd_cd,led_ce,lcd_rd,lcd_wr。再設置lcd_data的屬性為雙向三態(tài)“Tri_state”,其他4個信號的屬性設為“Output only”。lcd_data[70]為數(shù)據(jù)位,傳輸數(shù)據(jù);lcd_cd為命令、數(shù)據(jù)使能信號,當lcd_cd為高電平時數(shù)據(jù)線上傳輸命令,當lcd_cd為低電平時數(shù)據(jù)線上傳輸數(shù)據(jù);lcd_ce為片選信號,低電平有效;lcd_rd為讀使能,低電平有效;lcd_wr為寫使能,低電平有效。NIOSⅡ和LCD模塊的接口電路如圖2所示。圖2中LCD硬件原理備注:讀狀態(tài)字的代碼中,D7對應BUSY,D7=1為忙,D7=0為準備好;D6對應ADC,D6=1為反向方式,D6=0為正常方式;D5對應當前顯示狀態(tài),D5=1為關(guān)顯示,D5=0為開顯示;D4對應復位信號,D4=1為執(zhí)行復位,D4=0為正常操作。
4 LCD的軟件設計
由于所有在LCD屏幕上顯示的數(shù)據(jù),不論是文本方式,還是圖形方式,都存放在外部的顯示存儲器中所以在軟件設計時,NIOSⅡ處理器只要將指令直接送至LCD的外部顯示存儲區(qū),控制器就可以控制液晶屏顯示用戶所需要的數(shù)據(jù)及其顯示方式。下面以寫單參數(shù)命令子程序和寫數(shù)據(jù)子程序為例,介紹軟件設計過程:
5 結(jié)語
本文闡述基于NIOSⅡ嵌入式處理器控制液晶顯示器的硬件設計方案和軟件設計方法。通過該設計,充分體現(xiàn)出NIOSⅡ嵌入式處理器在設計中的靈活性,更好地節(jié)約了成本。