利用EP1C6Q240C8處理器的LCD滾屏設(shè)計(jì)
摘要:NIOSII嵌入式處理器以其設(shè)計(jì)靈活在嵌入式領(lǐng)域中得到廣泛應(yīng)用。文章以T6963C控制的240×128 LCD液晶顯示屏模塊闡述了一種基于EP1C6Q240C8處理器的液晶顯示屏的滾屏顯示的軟硬件控制方法,并給出硬件原理圖與部分軟件代碼。本方案對(duì)于NIOSII系統(tǒng)其他模塊的開(kāi)發(fā)具有借鑒意義。
關(guān)鍵詞:液晶顯示器;NiosII;可編程片上系統(tǒng)
0 引言
Nios II系列軟核處理器是Altera的第二代FPGA嵌入式處理器,其性能超過(guò)200DMIPS,Altera的Stratix、Stratix GX、Stratix II和Cyclone系列FPGA全面支持Nios II處理器。Nios II系列包括3種產(chǎn)品:Nios II/f(快速)——最高的系統(tǒng)性能,中等FPGA使用量;NiosII/s(標(biāo)準(zhǔn))——高性能,低FPGA使用量;Nios II/e(經(jīng)濟(jì))——低性能,最低的FPGA使用量。這3種產(chǎn)品具有32位處理器的基本結(jié)構(gòu)單元——32位指令大小,32位數(shù)據(jù)和地址路徑,32位通用寄存器和32個(gè)外部中斷源;使用同樣的指令集架構(gòu)(ISA),100%二進(jìn)制代碼兼容,設(shè)計(jì)者可以根據(jù)系統(tǒng)需求的變化更改CPU,選擇滿足性能和成本的最佳方案,而不會(huì)影響已有的軟件投入。另外,Nios II系列支持60多個(gè)外設(shè)選項(xiàng),開(kāi)發(fā)者能夠選擇合適的外設(shè),獲得最合適的處理器、外設(shè)和接口組合,而不必支付根本不使用的硅片功能。本文采用CvcloneTM器件中的EP1C6Q24 0C8來(lái)實(shí)現(xiàn)雷達(dá)仿真電路顯示模塊的設(shè)計(jì)。
1 硬件設(shè)計(jì)
本系統(tǒng)的硬件設(shè)計(jì)結(jié)構(gòu)如圖1所示,主要包括以下部分:
1.1 EP1C6Q240C8及其配置芯片
本文系統(tǒng)中的處理器選用的是采用AItera公司提供的Cyclone系列的EP1C6Q240C8,該芯片采用240腳的PQFP封裝,提供185個(gè)IO接口。
該芯片擁有5980個(gè)LEs;可提供92160bit的ram;芯片內(nèi)部還自帶有2個(gè)鎖相環(huán),可以在高速運(yùn)行的時(shí)候保證系統(tǒng)時(shí)鐘信號(hào)的穩(wěn)定性。
在Nios II的硬件電路,通常使用Altera串行配置器件來(lái)存儲(chǔ)FPGA配置文件*.Sof。
Altera串行配置器件可提供在系統(tǒng)編程(ISP)和多次編程能力,能夠使FPGA和配置器件能夠以最低的價(jià)格實(shí)現(xiàn)完整的可編程芯片系統(tǒng)(SO PC)解決方案。標(biāo)準(zhǔn)型配置器件,包括EPC2、EPC1、EPC1441、EPC1213、EPC1064和EPC1064V。本文使用EPC2配置器件。使用時(shí),首先使用下載電纜將計(jì)算機(jī)生成的FPGA配置文件+.Sof使用programmer燒入EPC2配置器件中,然后由EPC2配置器件控制配置時(shí)序?qū)PGA進(jìn)行配置,一次燒寫(xiě)即可重復(fù)使用,編程完后可以脫離計(jì)算機(jī)工作。[!--empirenews.page--]
1.2 存儲(chǔ)模塊
存儲(chǔ)模塊包括兩部分:只讀存儲(chǔ)器和隨機(jī)存儲(chǔ)器。只讀存儲(chǔ)器用來(lái)存儲(chǔ)用戶程序和需要下載的文件。由于利用EP1C6Q240C8處理器的LCD滾屏設(shè)計(jì)是較為復(fù)雜的SOPC系統(tǒng),用戶程序和需要下載的文件較大,用EPCS來(lái)存儲(chǔ)是不現(xiàn)實(shí)的。根據(jù)設(shè)計(jì)的具體要求選擇存儲(chǔ)容量為4Mbit的FLASH作為只讀存儲(chǔ)器,并可使用flashprogrammer將*.elf和需要下載的文件燒入FLASH中,并在系統(tǒng)加電后實(shí)現(xiàn)調(diào)用。
隨機(jī)存儲(chǔ)器(RAM)主要是為了存放可執(zhí)行代碼和程序中用到的變量。由于所采用的處理器中的ram的存儲(chǔ)容量較小,根據(jù)本文中設(shè)計(jì)電路的要求,采用8M的外部sram。
1.3 顯示模塊
LCD顯示模塊是由控制器、行驅(qū)動(dòng)器、列驅(qū)動(dòng)器和液晶顯示屏等器件構(gòu)成的。其核心部件LCD控制器是SOPC,它一方面提供與微控制器(即NIOS處理器)的接口,一方面連接行/列驅(qū)動(dòng)器。通過(guò)對(duì)SOPC編程來(lái)實(shí)現(xiàn)對(duì)lcd的操作控制。本文采用的接口可編程芯片是T6963C來(lái)控制單色點(diǎn)陣圖形LCD。
T6963C是一種內(nèi)置控制器的圖形液晶顯示模塊,其面向顯示存儲(chǔ)器的引腳有8根數(shù)據(jù)線(D7~D0)、16根地址線(AD15~AD0)和4根控制線,最多能管理64kB大小的顯示存儲(chǔ)器。T6963C單屏可以達(dá)到640×128像素,雙屏可以達(dá)到640×256像素。
2 軟件開(kāi)發(fā)
基于NIOS II處理器的雷達(dá)仿真電路顯示模塊的軟件設(shè)計(jì)豐要是使用NIOS通過(guò)對(duì)LCD的控制器進(jìn)行編程以達(dá)到對(duì)LCD進(jìn)行顯示控制來(lái)實(shí)現(xiàn)的,其軟件實(shí)現(xiàn)方案主要包括以下幾部分:
2.1 T6963C初始化
顯示模塊軟件開(kāi)發(fā)首先要對(duì)控制LCD的T6963C的寄存器進(jìn)行初始化,設(shè)置LCD的特性。其初始化包括:
(1)設(shè)置文本和圖形緩沖區(qū)的起始地址和寬度、屏幕每行的字節(jié)數(shù)。其軟件設(shè)計(jì)主要依據(jù)表1指令來(lái)實(shí)現(xiàn),部分軟件代碼如下所示:
[!--empirenews.page--]
(2)設(shè)置系統(tǒng)的字符和圖形之間按“或”功能顯示,其軟件設(shè)計(jì)主要依據(jù)指令80H來(lái)實(shí)現(xiàn),部分軟件代碼如下所示。
2.2 LCD滾屏設(shè)計(jì)
定時(shí)間、定間隔地修改文本顯示區(qū)與圖形顯示區(qū)首地址將會(huì)產(chǎn)生顯示畫(huà)面滾動(dòng)顯示效果。軟件實(shí)現(xiàn)如下,
圖形顯示區(qū)首地址的調(diào)整方法同文本區(qū)的調(diào)整方法相同。
3 結(jié)論
本文闡述基于NIOS II嵌入式處理器控制LCD的硬件設(shè)計(jì)方案和軟件設(shè)計(jì)方法,充分體現(xiàn)了NIOS II嵌入式處理器在LCD設(shè)計(jì)中的靈活性。