文章编号:1005-3387(2006)05-0010-12
2006年第5期
基于FPGA的LCD显示控制器设计
韩建国 严 强
(北京化工大学,北京 100029)
摘 要:文章介绍了图形式LCD视频控制芯片的设计方案,详细分析了该控制芯片的系统设计和各模块的功能实现,讨论并分析了模拟电路部分的设计,使用VHDL硬件描述语言完成了芯片数字部分的设计工作。LCD显示控制模块应用于示波表系统,为基于DSP、FPGA、LCD显示器协同工作的系统提供了一个较好的解决方案。
关键词:LCD;FPGA;控制器;功能模块中图分类号:TH85 文献标识码:A
0 引言
LCD显示控制模块作为示波表系统数据处理的一个部分,外围控制器利用LCD显示控制模块来完成包括波形、参数、用户菜单等最终结果的显示。LCD液晶显示器具有体积小、低功耗、控制接口简单等优势,是一般便携式设备最理想的显示终端。本文从LCD液晶显示器的工作原理,液晶显示数据缓存区的设计及LCD显示控制器的设计来介绍该模块的设计与实现。
发出一个行频脉冲CL1,当发出240个CL1脉冲后发出帧开始信号FRM,标志整屏显示结束。以上过程不断重复,即可完成液晶显示器的动态显示。1 LCD显示器特征及驱动原理
根据显示区大小的要求,我们采用了MicrotipsTechnologyInc.公司MTG-F32240HFWNSEB-01型LCD液晶显示器。以下简要的对LCD液晶显示器的工作原理进行介绍。MTG-F32240X是FSTNPositive类、320×240像素、图形显示方式的液晶显示器件。它带有行列驱动电路以及EL背光电路
[1]
图2 LCD接口时序(数据、位移脉冲与行帧)
2 显示缓存区存储介质的选择
数据显示最简单的方式莫过于直接将做好处理
的数据投放到显示器上进行显示,但是,由于LCD液晶显示器的逐点扫描显示的工作方式使得按图形方式处理的显示数据近乎于海量数据,想利用这种简单操作完成功能的代价是单一的功能占用了大量的系统工作时间,将具有强大数据处理功能的DSP弱化成了显示控制器了,这无疑是不可行的。所以,在该类系统的设计中必须要引入数据缓冲设备
。
图1 LCD接口时序(行频脉冲和帧起始信号)
该类液晶显示器的接口时序主要反映在驱动信号CL1、CDL2、FRM和数据D0-D3之间如图1、图2所示的时序配合上。各驱动信号参考工作频率CL2为1.28MHz;CL1为16KHz;FRM为66Hz。其详细的驱动时序为发出80个段移位脉冲CL2后(即扫描一行结束)—10—
降低数据显示和数据处理的相关性,将主处理器从单一的操作中解放出来。关于显示缓存区存储介质
[2]
的选择主要存在两种方案可供选择。既通用SRAM芯片作为数据缓存,或FPGA内部双口BLOCKRAM实现。
在以往的设计中,通常采用的是第一种方案。因为LCD需要持续不断的数据供给,系统必须引入
两片单口RAM,然后在FPGA内部设计RAM控制器实现两片RAM的PING-PANG切换。这样的实现不仅消耗掉大量的可编程资源不说,两片RAM的定义也变得非常复杂,控制单元的一点点小的问题都可能导致整个系统工作的紊乱。
以系统选用的SPARTAN系列的XC2S50为例。
XCS50芯片内置4个双口块RAM单元,每个单元包
含4096bits存储单元和两套完全独立的寻址端口。如图3所示,各个端口可根据需要配置成读、写或读写端口,数据宽度可根据需要自行定义。由于两个端口完全独立,系统就可以利用它来完成数据的异步读写,最大程度的降低读写单元之间的相关性。
图3 双口RAM读写时序图
本设计享受到了FPGA内部双口BLOCKRAM
[3]
给系统设计带来的便利。一方面,异步的读写保证了显示数据在时间上的连续性,另一方面,通过将写端口数据宽度定义为16bits而将读端口数据宽度定义为4bits自动的完成了16bitsDSP数据总线到LCD显示器4bits之间数据格式的转换。在XC2S50内置4K×8bits的双口块RAM(DUELPORTBLOCKRAM)中,方案将其中2Kbytes存储单元作为显示数据缓存(另外2Kbytes作为通道数据缓存)。但是,显示像素点为320×240的LCD显示器显示一整屏数据需要91375Kbytes的数据2Kbytes的显示缓存并不能完全满足其要求。所以,系统设计时将显示数据分为5帧来处理,FPGA以中断方式向DSP提交送数申请,DSP响应申请后一次性传送1/5屏的显示数据。由于该实现方案对系统中每个模块功能和时序都能有清晰的定义,使得系统的设计变得简单而稳定。
要为LCD提供FRM、CL1以及CL2这三个基本控制信号。由于这三个信号都上标准的频率信号,系统只需由系统工作时钟分频得到相应的频率信号,然后调整三者之间的相位关系即可。对于显示数据的控制集中在对2Kbytes显示缓存的控制,系统需要根据驱动信号来确定显示缓存区读端口的地址。当数据全部用于显示之前,应当向DSP提交送数中断,告之DSP发送下一帧的数据。
如图4所示,COUNT1、COUNT2、COUNT3以系统提供的5MHz的工作时钟为基准四分频得到CL2,CL2经80分频得到CL1,CL1再经过240分频得到FRM。ADD-GENERATOR对CL2进行计数产生显示缓存DUEL-PORTRAM读端口的地址信号。同时,在地址大于E00H后改变帧计数值,将帧计数值送往BUS-ARBITOR单元并产生显示中断通知。DSP刷新显示缓存BUS-ARBITOR单元实际上是总线仲裁模块的一部分,它实现显示缓存写端口与DSP之间的接口电路。当DSP响应显示中断后DSP按前文所讲述的端口映射方式获取显示帧信息,然后将对应的显示数据连续写入F400H-—11—
3 LCD驱动器的FPGA实现
根据LCD驱动的时序要求,LCD驱动器首先需
F7FFH单元。BUS-ARBITOR单元对DSP地址进
行译码,当地址落入上述范围时,将显示缓存区的写端口打开,并产生数据写入所需要的所有控制信号。
图5 微分电路结构图
该部分逻辑实现的重点在于调整计数器译码输出
的脉冲宽度,同时需要调整各个驱动信号之间的相位关系,保证驱动信号的有效边沿到达LCD时不发生冲突。设计中的脉宽调整电路由微分电路来实现如图5所示。
对于相位关系的调整,由于整个设计均处于5MHz时钟域内,所有信号都与5MHz信号保持同步关系,设计中将微分电路的输出信号通过一级或两级移位积存器单元就可以给信号添加2215度或45度的相位延迟,从而保证了各信号有效沿(下降沿)
图4 LCD驱动结构图
[4]
到来时其他信号保持恒定。该模块实现后的仿真波形如图6所示。图6 LCD驱动时序验证图
该模块由VHDL语言实现在FOUNDATION4.1平台下实现到XC2S50-6。
其硬件实现结果如下:
最大周期:12.036ns (最高频率:83.034MHz)最大组合路径延迟:12.574ns资源占用:
NumberofSlices: 41outof 768 5%NumberofSlicesFlipFlops:35outof115362%TotalNumber4inputLUTs:56outof115362%NumberusedasLUTs:Numberusedasaroute-thru:
4610
与LCD显示器相对低速的显示数据要求的接口问题。获得了良好稳定的波形及参数显示效果,在工作的稳定性之外,另外引入资源占用率对该方案进行评析:
资源占用率:由于定时中断的引入,方案必然要打断DSP的数据处理流程,故而引入表征该部分对DSP工作时间的占用情况资源占用律Poc来衡量该部分功能实现对其他处理流程的影响。Poc由一次中断响应时间ti与两次中断的间隔时间tii的比例来获得:
Poc=titii
NumberofBlockRAM: 4outof 8 50%
=1024(tw+tr)
tii
4 结论及LCD显示方案评析
该显示方案成功的解决了DSP高速信号处理—12—
在DSP内部工作频率为80MHz时,DSP外部总
线写周期tw=56ns,读周期tr=42.6ns,中断间隔时
(下转第9页)间为32ms,Poc<5%。考虑到此
极性反接,起保护作用。
据采集、数据显示监测与参数设定部分采集到的供电系统状态,电压、电流、绝缘电阻和变压器温度与设定的报警阈值,传送到手术室数据显示监测部分。
CAN通信软件包括CAN初始化、报文的接收
和报文发送三部分。当控制器上电后,首先对CAN控制器SJA1000进行初始化设置,主要包括工作方式的设置、接受滤波方式的设置、接受屏蔽寄存器和接受代码寄存器的设置、波特率参数设置和中断允许寄存器的设置,SJA1000的初始化只能在复位模式下进行。手术室数据显示监测部分对报文的接收采取中断方式,以便系统的即时响应。在报文接收的过程中同时要对总线关闭、错误报警、接受溢出等情况进行处理。配电室数据采集、数据显示监测与参数设定部分对报文的发送,只需将待发送的数据组成一组报文送入SJA1000的发送缓存器中,启动发送即可。
图3 CAN总线向网络供电节电功能框图
5 结束语基于CAN总线的医院供电监测系统已在部分医院中得到了成功的应用。实践证明,由于采用了CAN总线技术,不仅系统结构简单、适应性和可扩展性强,而且CAN总线以其分时多主、非破坏性总线仲裁和自动检错重发的技术特点有效地提高了通信的可靠性,充分满足了医院供电系统的高可靠性要求,并且现场调试更加方便、缩短了开发周期。
参考文献:
[1] 徐利梅,童明俶.现场总线及其在楼宇自控系统中的
应用[J].智能建筑与城市信息,2003(7).
图4 CAN总线由网络供电节电功能框图
[2] 饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技
术[M].北京:北京航空航天大学出版社,2003.
[3] 王立峰,王晓平.基于CAN总线的客房通信控制器的
4 CAN总线通信软件
CAN总线在该系统中,主要任务是将配电室数(上接第12页)
设计[J].微计算机信息,2005(9).
操作并未增加DSP其他负担,这样的安排基本上是
合理的。同时,由于定时中断的存在为DSP提供了时间基准从而取代了DSP对内部定时器的需求。综上所述,本文提出的基于DSP、FPGA的LCD显示器协同工作的系统实现方案能较好的发挥各个主要器件的工作特性,高效稳定的完成复杂的工作,为设计软硬件结合的完备系统提供了一个较好的解决方案。
参考文献:
[1] MTG-F32240HFWNSEB-01LCDMODULESPENCI2
FICATIONMicrotipstechnologyInc,2002.
[2] JanickBergeron.Top-DownHardHardwareDesignU2
singVHDL.
[3] 李广军,王厚军.实用接口技术.北京:电子科技大学
出版社,1998.
[4] 韩建国,廖俊必,GuiyunTian.单片机原理及应用.北
京:高等教育出版社,2004.
—9—
因篇幅问题不能全部显示,请点此查看更多更全内容