新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于NIOS II嵌入式处理器实现LCD的控制

基于NIOS II嵌入式处理器实现LCD的控制

作者:时间:2011-11-07来源:网络收藏

随着半导体技术以及计算机软硬件技术的飞速发展,对于图像的显示的技术也呈现出越来越多的方式。本文介绍了一种 软核-LQ057Q3DC02的新方法。在设计中利用FPGA的Altera的SOPC Builder定制 软核及其与显示功能相关的“软” 硬件模块来协同显示的软硬件设计。利用SOPC技术,将 CPU和控制器放在同一片FPGA中,解决了通常情况下必须使用 控制专用芯片才能解决LCD显示的问题。

  1 LCD选型及主要特性

  本文所采用的LCD是SHARP公司的5.7英寸的LCD-LQ057Q3DC02。它能显示320×240×3点像素,输入信号有:18位色度信号(R,G,B各6位)的数据信号,4个时钟信号(CLK,Hsync,Vsync,Enable)以及水平显示模式,垂直显示模式的R/L、U/D和VGA/QVGA模式选择信号线。


  事实上,LCD-LQ057Q3DC02是一个逐行扫描设备,它总是从屏幕的左上方开始扫描,先水平扫描完一行(320像素点)到最右边,然后再回到最左边,换下一行,继续扫描。直到扫描到屏幕的最下方(共240行),这样就扫描完一帧图像,然后再回到最左边,开始下一帧的扫描。

  2 Avalon流模式LCD控制器设计

  文中实现的LCD 实时图像显示控制方式采用的是DMA数据传输方式。设计时,利用DMA控制器在流模式LCD控制器和SDRAM 之间建立一条DMA传送通道,让硬件来完成像素信息的自动读取,而NIOS II仅通过操作SDRAM 中相应的区块就能实现LCD 图像的更新。

  2.1 Avalon流模式控制器的组成

  设计Avalon流模式外设时需要遵循Avalon总线规范。在实际设计时,笔者设计的Avalon流模式LCD控制器的硬件结构如图1。该控制器由如下3部分构成:LCD接口控制器、FIFO存储器和Avalon Streaming Port接口。

本文引用地址:http://www.eepw.com.cn/article/150072.htm


  2.2 LCD显示控制流程

  对LCD-LQ057Q3DC02而言,要实现LCD的正常显示就必须对相应的控制信号正确配置,特别是行同步(LCD_Hsync)、场同步(LCD_Vsync)必须与从SDRAM 存储器中取出的图像数据同步,否则,图像将不能正常再现。实现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控制器来实现存储器(FIFO)到存储器(SDRAM)的DMA设置。下面给出LCD接口部分程序。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭