基于NIOS II嵌入式處理器實(shí)現LCD的控制
隨著(zhù)半導體技術(shù)以及計算機軟硬件技術(shù)的飛速發(fā)展,對于圖像的顯示的控制技術(shù)也呈現出越來(lái)越多的方式。本文介紹了一種基于NIOS II軟核處理器實(shí)現對LCD-LQ057Q3DC02控制的新方法。在設計中利用FPGA的Altera的SOPC Builder定制NIOS II軟核處理器及其與顯示功能相關(guān)的“軟” 硬件模塊來(lái)協(xié)同實(shí)現顯示控制的軟硬件設計。利用SOPC技術(shù),將NIOS II CPU和LCD控制器放在同一片FPGA中,解決了通常情況下必須使用LCD 控制專(zhuān)用芯片才能解決LCD顯示的問(wèn)題。
1 LCD選型及主要特性
本文所采用的LCD是SHARP公司的5.7英寸的LCD-LQ057Q3DC02。它能顯示320×240×3點(diǎn)像素,輸入信號有:18位色度信號(R,G,B各6位)的數據信號,4個(gè)時(shí)鐘信號(CLK,Hsync,Vsync,Enable)以及實(shí)現水平顯示模式,垂直顯示模式的R/L、U/D和VGA/QVGA模式選擇信號線(xiàn)。
事實(shí)上,LCD-LQ057Q3DC02是一個(gè)逐行掃描設備,它總是從屏幕的左上方開(kāi)始掃描,先水平掃描完一行(320像素點(diǎn))到最右邊,然后再回到最左邊,換下一行,繼續掃描。直到掃描到屏幕的最下方(共240行),這樣就掃描完一幀圖像,然后再回到最左邊,開(kāi)始下一幀的掃描。
2 Avalon流模式LCD控制器設計
文中實(shí)現的LCD 實(shí)時(shí)圖像顯示控制方式采用的是DMA數據傳輸方式。設計時(shí),利用DMA控制器在流模式LCD控制器和SDRAM 之間建立一條DMA傳送通道,讓硬件來(lái)完成像素信息的自動(dòng)讀取,而NIOS II處理器僅通過(guò)操作SDRAM 中相應的區塊就能實(shí)現LCD 圖像的更新。
2.1 Avalon流模式控制器的組成
設計Avalon流模式外設時(shí)需要遵循Avalon總線(xiàn)規范。在實(shí)際設計時(shí),筆者設計的Avalon流模式LCD控制器的硬件結構如圖1。該控制器由如下3部分構成:LCD接口控制器、FIFO存儲器和Avalon Streaming Port接口。
2.2 LCD顯示控制流程
對LCD-LQ057Q3DC02而言,要實(shí)現LCD的正常顯示就必須對相應的控制信號正確配置,特別是行同步(LCD_Hsync)、場(chǎng)同步(LCD_Vsync)必須與從SDRAM 存儲器中取出的圖像數據同步,否則,圖像將不能正常再現。實(shí)現LCD控制的行同步、場(chǎng)同步的控制時(shí)序流程如圖2。
2.3 LCD控制器文件組成及部分代碼
與LCD控制器硬件相對應的是3個(gè)模塊文件,分別是:LCD_interface.vhd,LCD_pixel_fifo.v以及LCD_controller_stream.v。其中LCD_controller_stream.v是頂層模塊,其內部也包含了Avalon Streaming Port接口時(shí)序部分,LCD_pixel_fifo.v可通過(guò)QuartusII中的宏模塊直接生成。當生成了上述3個(gè)文件后,可選擇SOPC Builder中的System->Add Interface to User Logic命令打開(kāi)Interface to User Logic對話(huà)框,選擇總線(xiàn)類(lèi)型為Avalon Memory Slave,因為工作于流模式的LCD控制器可看成一個(gè)存儲器(FIFO類(lèi)型),可通過(guò)添加DMA控制器來(lái)實(shí)現存儲器(FIFO)到存儲器(SDRAM)的DMA設置。下面給出LCD接口部分程序。
評論