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