基于NiosⅡ的的液晶顯示屏設(shè)計(jì)
0 引言
本文引用地址:http://cafeforensic.com/article/236362.htmLCD液晶顯示滿足嵌入式系統(tǒng)日益提高的要求,特別在工業(yè)控制和消費(fèi)電子領(lǐng)域,具有穩(wěn)定可靠、成本低、功耗小、控制驅(qū)動方便、接口簡單易用、模塊化結(jié)構(gòu)緊湊、體積小和重量輕等優(yōu)點(diǎn)。Nios Ⅱ是一種可配置的16/32位RISC處理器,它結(jié)合豐富的外設(shè)專用指令和硬件加速單元可以低成本地提供極度靈活和功能強(qiáng)大的SOPC 系統(tǒng),開發(fā)者根據(jù)實(shí)際需要自行整合。Altera 公司所有主流FPGA 器件都支持Nios Ⅱ。將LCD驅(qū)動與Nios Ⅱ相結(jié)合可以得到一個擴(kuò)展性強(qiáng)、通用的IP核,從而解決不同型號液晶屏之間的驅(qū)動差異問題。
1 NiosⅡ軟核處理器和SOPC
設(shè)計(jì)NiosⅡ核用占用不到一半的FPGA 資源,可計(jì)算增加1 倍以上的信息。NiosⅡ嵌入式處理器性能超過200 DMIPS,32 位數(shù)據(jù)和地址、采用32 位指令、32 個外部中斷源和32位通用寄存器;Nios Ⅱ支持幾十個外設(shè)選項(xiàng),開發(fā)者能夠選擇合適的外設(shè),獲得最合適的處理器、外設(shè)和接口組合。
現(xiàn)在,在一片FPGA芯片上可以實(shí)現(xiàn)如MCU、DSP、PCI總線控制和各種控制算法等復(fù)雜的功能。FPGA芯片密度已達(dá)到百萬門級,由于FPGA芯片密度的提高和EDA開發(fā)工具的不斷更新,利用FPGA器件實(shí)現(xiàn)SOC已成為可能,這項(xiàng)技術(shù)稱為嵌入式SOPC技術(shù)。SOPC技術(shù)既具有基于ASIC 的系統(tǒng)級芯片設(shè)計(jì)的特征,又具有基于模板級設(shè)計(jì)的特征,具有了可重構(gòu)性、高效自動化的設(shè)計(jì)方法。Altera推出的Nios Ⅱ?yàn)樵O(shè)計(jì)者提供了FPGA優(yōu)化的嵌入式處理器,以及為SOPC設(shè)計(jì)了一套綜合解決方案。
Nios Ⅱ處理器具有完善的軟件開發(fā)套件,包括集成開發(fā)環(huán)境(IDE)、編譯器、MC調(diào)試器、TCP/IP協(xié)議棧和實(shí)時操作系統(tǒng)(RTOS)。設(shè)計(jì)者能夠用Altera Quartus Ⅱ開發(fā)軟件中的SOPC Builder系統(tǒng)開發(fā)工具創(chuàng)建用戶定制的CPU 和外設(shè)電路,獲得設(shè)計(jì)需要的處理器系統(tǒng)。
利用SOPC Builder開發(fā)工具創(chuàng)建專用的處理器系統(tǒng),需要進(jìn)行SOPC 的嵌入式處理器芯片內(nèi)部資源的選擇和軟件設(shè)計(jì)。SOPC Builder工具通過加載Nios Ⅱ軟核和外圍接口的定義來配置一個高集成度的SOPC 系統(tǒng)的嵌入式處理器芯片。
圖1 是一個液晶顯示的SOPC 系統(tǒng)的Nios Ⅱ處理器,主要端口包括復(fù)位信號、全局輸入時鐘和一些I/O端口。因Nios Ⅱ是在FPGA芯片內(nèi)實(shí)現(xiàn)的,那么它既可以通過FPGA的引腳連到外部設(shè)備,也可以直接連到FPGA芯片內(nèi)的其他電路上。FPGA 片內(nèi)未被使用的資源仍然同樣可以被配置成為其他的模塊使用,從而實(shí)現(xiàn)系統(tǒng)的SOC集成。
2 液晶屏控制器的選擇
這里使用的是一塊YM12864J的液晶顯示模塊,它已集成了SED1330作為液晶顯示屏的控制器,與同類產(chǎn)品相比其主要特點(diǎn)有:
(1)有較強(qiáng)功能的I/O控制器;
(2)指令簡單;
(3)8位并行I/O口;
(4)文本和圖形方式混合顯示。
YM12864J的I/O接口見表1.
3 FPGA 與LCD 的接口電路
本設(shè)計(jì)選擇的液晶顯示屏已經(jīng)和控制器集成在了一起,外圍電路就比較簡單,只有FPGA 芯片和液晶控制模塊的連接。這里有兩種方案可以考慮,第一種是把液晶顯示模塊當(dāng)作外部存儲器,利用Ext_Shared_Bus的數(shù)據(jù)和地址總線對其進(jìn)行控制;第二種是把LCD 接口當(dāng)作普通的外部設(shè)備GPIO進(jìn)行操作,通過對I/O口的操作來控制LCD 的數(shù)據(jù)以及讀、寫使能,片選。一般地,對于不太復(fù)雜的系統(tǒng),把外部設(shè)備看作是普通PIO是比較簡單的方法,所以在這里采用第二種方案,Nios 與LCD模塊的接口電路如圖2所示。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)硬件上電復(fù)位后,初始化函數(shù)會對硬件層進(jìn)行初始化配置,包括I/O口的方向配置。在對系統(tǒng)硬件層正確的初始化以后,可以通過Nios 將數(shù)據(jù)直接送至SED1330顯示緩沖區(qū),應(yīng)用層函數(shù)會對液晶的控制器發(fā)送控制命令和顯示數(shù)據(jù),然后液晶屏就會顯示用戶想要顯示的內(nèi)容,本設(shè)計(jì)應(yīng)用層設(shè)計(jì)了一些基本的顯示函數(shù),可以顯示字符,漢字和簡單的圖形,用戶只需調(diào)用一些顯示函數(shù)就可以顯示內(nèi)容,系統(tǒng)的軟件設(shè)計(jì)流程如圖3所示。
評論