付宗見 李 明
(1.鄭州鐵路職業(yè)技術學院,河南 鄭州 450052;2.河南機電高等??茖W校,河南 新鄉(xiāng) 453002)
NIOS II系統(tǒng)是Altera公司推出的第二代基于FPGA的32位RSIC嵌入式處理器,它具有的軟硬件可裁減、可擴充、可升級等特性使其得到了廣泛地應用。液晶顯示器件因其顯示內容豐富已成為嵌入式系統(tǒng)重要的輸出器件。Altera Quarter II開發(fā)軟件的SOPC Builder系統(tǒng)開發(fā)工具不僅可直接定制NIOS II軟核處理器,還可以添加其相關組件。其中就集成了專門的LCD16027控制IP核,可直接完成液晶的擴展,并提供HAL系統(tǒng)庫的軟件支持,使用十分方便。
本文以常用的液晶顯示屏LCD1602為例,重點介紹基于NIOS II軟核處理器系統(tǒng)的LCD1602液晶顯示屏的硬件電路設計和軟件編程方法。
LCD1602液晶顯示屏采用單+5V供電,具有價格低廉、外圍電路配置簡單等特點,應用十分廣泛。該液晶為黑白屏字符型液晶,可顯示標準ASCII碼字符,共兩行,每行顯示16個字符。其引腳接口如表1所示。
表1 LCD1602引腳功能表
續(xù)上表
與NIOS II系統(tǒng)的LCD顯示IP核引腳連接,主要有數(shù)據(jù)D0-D7,使能E,寄存器選擇RS,讀寫R/W,背光可通過PIO擴展來實現(xiàn)。圖1為LCD1602與FPGA的連接示意及外圍電路圖。
圖1 LCD1602與FPGA的連接示意及外圍電路圖
LCD1602的控制可以直接采用SOPC Builder提供的16207LCD控制IP核。該IP核基于Avalon總線接口,提供了16×2個ASCII字符顯示控制的軟硬件控制器。該驅動提供HAL系統(tǒng)庫支持,NIOS II程序可以直接通過ANSI C標準庫如printf()實現(xiàn)液晶顯示。
LCD控制IP核連接到LCD1602的引腳主要有:
◆EN——使能(輸出類型)
◆RS——寄存器選擇(輸出類型)
◆R/W——讀或寫控制(輸出類型)
◆DB0~7——數(shù)據(jù)總線(雙向口)
圖2為LCD控制器方框圖。LCD控制IP核與Avalon-MM從接口相連。該控制 IP核可以在SOPC Builder里定制。在SOPC Builder里這個LCD控制IP核叫Character LCD(16×2,Optrex16207)。
該IP核可直接添加使用,不需要任何設置。
表2 LCD控制IP核支持的VT100控制協(xié)議
圖2 LCD控制器方框圖
該LCD控制IP核驅動提供HAL系統(tǒng)庫支持,液晶屏可以作為一個標準輸出設備,使用ANSI C標準庫中的printf(),很容易地將需要顯示的字符寫到顯示屏上。
該IP核支持VT100部分協(xié)議,除顯示16×2字符外,還可以控制光標的位置。表2為LCD控制IP核支持的VT100控制協(xié)議。
需要注意的是,在實際編程中,上表的“ESC”等用‘’加該控制符對應的16進制數(shù)形式表示,如“ESC[K”表示為“33[K”。
該IP核與以下文件一起使用,這些文件提供了硬件接口,和HAL驅動程序。
◆altera_avalon_lcd_16207_regs.h-這個文件定義了核心的寄存器映射,符號常量來提供訪問底層硬件。
◆altera_avalon_lcd_16207.h,altera_avalon_lcd_16207.c-這些文件執(zhí)行LCD控制器的HAL系統(tǒng)庫設備驅動程序。
下面的代碼是LCD1602顯示的一個實例:
HAL的設備驅動程序使用戶不必直接訪問寄存器。
基于NIOS II軟核處理器系統(tǒng)的LCD液晶顯示組件可根據(jù)需要靈活定制,使用者可以不必了解液晶屏原理就可以用標準C語言函數(shù)來操作使用。采用NIOS II軟核處理器擴展LCD1602液晶的設計方案具有靈活、方便、高效和低成本的特點。
[1]曹勇,沈斌,熊偉.SOPC中NIOS II的LCD顯示驅動IP設計[J].單片機與嵌入式系統(tǒng)應用,2010,(6).
[2]張芝賢,王明賀等.LCD顯示模塊并行接口驅動程序設計[J].國外電子測量技術,2009,(10).
[3]江晉劍.基于SOPC實驗平臺的創(chuàng)新實驗方法研究[J].微型電腦應用,2009,(3).