针对液晶显示控制板上存储器(SRAM)存储量小和频率低的情况,提出了基于DDR sdram作为显示存储器的LCD显示控制器的设计。使用了灵活性与可靠性高的现场可编程门阵列(FPGA)来实现各模块的逻辑功能,分析了实现LCD显示屏控制模块的方案。
【关键词】FPGA SDRAM 控制 时序 LCD
1 引言
LCD彩色液晶显示器技术经过长期的不断发展与普及,已被广泛应用于各类***形显示系统。一般显示芯片多采用SRAM(静态RAM)作为存储器,实际工作中最高频率为66MHz,而sdram的工作频率可达到166MHz以上,单片可以达到256Mbit以上的存储容量,其存储容量和速度价格都有很大优势。SDRAM存储器大多都是用专用芯片或CPU接口支持来完成其控制,当需要对SDRAM存储器进行特殊应用时,就需要靠设计控制电路来实现。
目前显示设备多采用专用显示控制芯片来完成显示方面的控制,如果采用专用的显示芯片来进行显示方面产品开发的话,很容易收到器材停产等因素的影响,很难找到合适的替代芯片。另外大部分专用显示芯片为商业级,其工作温度范围不能满足工业、专用领域(工作温度-40℃~85℃范围)的需求,因此对于时效性较长的产品来说,采用基于通用架构的平台来设计专用显示功能的控制是很有必要的。采用基于FPGA现场可编程门阵列与SDRAM存储器的液晶显示控制器能既能获得很好的显示性能与可靠性,又能够在系统灵活性、通用性、性价比、扩展性等方面有较好的优势。
2 液晶显示控制模块的基本原理
为了减轻主CPU处理器在显示上的占用过多的资源,液晶显示控制模块用来作为处理器与LCD显示屏之间的接口,该模块***地为显示屏提供显示所必需的显示数据与时序信号。如***1所示,本文介绍了由FPGA与SDRAM 构成的显示控制模块硬件构架,使用2片SDRAM作为显存。该硬件平台主要由显存控制模块、时序模块、***像处理模块构成。显存控制模块用于控制 SDRAM显存中的内容;时序模块用于产生与像素信号相对应的显示时序信息;***像处理模块主要功能是对从显存读取的像素数据,进行相应的查找表颜色转换,送至LCD显示屏进行显示。
3 液晶显示控制模块设计
3.1 SDRAM显存的显示控制模块设计
3.1.1 SDRAM基本原理与应用
显存控制模块采用2片128Mbit的SDRAM存储器组成,每片32位,组成64位的数据总线,物理上就是两条指令与数据通道。
SDRAM内部操作是一个复杂的状态机,具有多种工作模式。SDRAM器件的管脚分为以下几类:
(1)控制信号包括片选,时钟,时钟使能,行列地址选择,读写选择,数据有效。
(2)地址时分复用管脚,根据行列地址选择管脚,控制输入的地址为行地址或列地址。
(3)数据双向管脚。SDRAM的所有操作都同步于时钟。根据时钟上升沿时控制管脚和地址的输入。
SDRAM存储器在系统上电后需要进行初始化设置,具体流程见***2。
如***2所示,SDRAM需要在系统上电或复位后等待100us,时间到后执行至少一条空操作或者禁止操作指令,之后对所有存储单元执行Precharge预充电命令,完成该指令之后,SDRAM存储器进入Idle空闲状态。之后对所有的内存单元执行两条Auto Refres自动刷新命令,让SDRAM存储器内部的自动刷新功能运行,之后设置SDRAM的运行模式命令,完成对设置之后SDRAM进入Idle空闲状态,以上步骤完成了初始化操作,之后处理器就可以对SDRAM进行正常的读写操作了。
SDRAM存储器的基本读写指令操作需要使用到控制线与地址线,按规约好的时序来完成。首先由处理器发出存储单元激活命令Active,同时锁存相应的存储单元地址、RAS行地址,等待超过RAS行地址到CAS列地址的延迟时间,之后发出读或写命令。读操作模式下,经过CAS列地址选通的工作时间后,读取的数据将会出现在数据总线上,写操作模式下能够立即就写入。在读写操作完成之后,需执行SDRAM预充电命令,关闭已激活的存储页。预充电完成之后,等待相应的时间就能够进行下一次读写操作。SDRAM的读操作只有一种突发模式,长度可选为l、2、4、8、整页,而写操作具有突发和非突发两种模式,长度与读操作的一样。
3.1.2 SDRAM存储器的优化
显示系统采用两块32bit的SDRAM存储器组成了64bit的位宽,物理上具有两条指令与数据通道。在进行大量连续的数据读操作时,两条通道同时进行工作,效率是单片模式下的两倍。为了实现LCD的实时扫描,在设计中采用了乒乓操作的模式,在进行大量数据的写操作时,先写第一片SDRAM的一行,当即将写完该行数据时对第二片SDRAM进行写操作,将随后的数据写入第二片SDRAM内的相同行,这样操作能够节省SDRAM的Active激活和Precharge预充电时间,提高读写SDRAM的效率。
3.2 时序模块
时序模块即时序发生模块主要用于产生液晶屏所需要的D_CLK像素点时钟,H_SYNC行同步,V_SYNC场同步及数据使能信号。使用FPGA时序逻辑编程能够很方便地产生行场扫描时序信号,相对于专用电路更简洁、兼容性能更好,时序发生模块的架构***如***3所示。
3.3 ***像模块
3.3.1 显存地址发生与数据读取模块
地址发生模块提供显存地址给数据读取模块,地址表用来记录LCD显示屏上像素点的地址,当显示屏的扫描时钟位于屏幕某一像素时,向显存读取模块输出该像素的地址值,显存读取模块从该地址从显存中读取相应的像素数据。地址发生模块向显存数据读取模块提供地址的操作与显存读取模块的读操作是同步进行的, D_CLK像素点时钟作为同步时钟,时序发生模块的场同步消隐信号HB作为复位信号。时序发生模块的数据使能信号作为触发信号。
显存数据读取模块通过数据总线访问SDRAM显存,对FPGA内部的调色板模块提供数据交互的接口。数据读取模块的触发信号为LCD数据使能信号,颜色及色深可根据系统的要求进行相应的设置。显存读取状态机在时钟信号的触发下,依次将像素点信息输送至调色板模块。
3.3.2 调色板模块
调色板模块接收显存地址与数据读取模块送来的像素信息,经过颜色查找、视频信号综合后,输出RGB数字视频信号至液晶显示屏。
4 结束语
本文分析的基于FPGA与SDRAM的LCD液晶显示控制模块,具有较好的扩展性和可靠性,经过修改与升级固件,可用在很多不同型号的LCD液晶显示屏上,本分析可作为其他相类似***像显示模块的参考。
作者单位
1.中国人民海***驻武汉七一九所***事代表室 湖北省武汉市 430064
2.江苏自动化研究所 江苏省连云港市 222006
转载请注明出处学文网 » 使用FPGA与SDRAM实现液晶显示控制模块的浅析