基于CPLD的嵌入式真彩色液晶显示卡的设计
2023-01-16
来源:乌哈旅游
2012年第2期 工业仪表与自动化装置 ・55・ 基于CPLD的嵌入式真彩色液晶显示卡的设计 焦宾,吕霞付,李愿,郑思远 (重庆邮电大学自动化学院,重庆400065) 摘要:用可编程逻辑器件CPLD和两片SRAM设计了可用于播放24位真彩色图像的显卡,解决 了CPLD和SRAM显示动态图像读写切换困难的问题,使用该显卡可以驱动不同型号和分辨率的液 晶屏。一方面详细介绍了该显卡的硬件电路布局,另一方面详细阐述了显卡驱动逻辑设计。通过近 一年的测试和评估,系统运行稳定,各种技术指标均达到要求,证明设计方法是切实可行的。 关键词:USB2.0;CPLD;GPIF模式;液晶显示时序 中图分类号:TN873 .93 文献标志码:A 文章编号:1000—0682(2012)02—0055~04 The design of the embedded true color LCD display card based on CPLD JIAO Bin,Lt)Xiafu,LI Yuan,ZHENG Siyuan (School ofAutomation,Chongqing Univ.ofPosts and zec0mm“n cⅡ Dns,Chongqing 400065,China) Abstract:The card using for playing 24一bit true color image was designed by a CPLD and two SRAM in this paper,which solve the problem of read and write switching on CPLD and SRAM dynamic display.This graphics card can drive LCD screen of different models and resolution.On one side,it de— scribes the graphics hardware circuit layout.On the other side,it explains logic design of the graphics drivers.Through nearly one year testing and evaluation,this system is stable,and has reached the re— quirements of various functional indicators which show that the design method is feasible. Key word:USB2.0;CPLD;GPIF mode;LCD timing 0 引言 随着LCD的普及,生活中用到液晶屏的地方 越来越多。决定液晶屏的色彩显示效果的因素很 多,但最主要的两个因素是像素和面板最大色彩。 液晶屏像素的多少是厂家生产时就规定好了的, 无法改变,而最大色彩可以通过编程和电路连接 进行控制。 图1 电子绘图板系统中的液晶屏显示模块 2显示系统的硬件电路设计 在大多数情况下购买的液晶屏都没有自带驱动 电路板,CPLD和ARM等控制芯片只能用于向LCD 1 系统概述 该文所设计的液晶屏真彩色显示模块主要是应 用于电子绘图板系统,但也具有通用性,只要对硬件 电路和程序稍作修改便可应用于其他显示系统中。 系统显示部分选用的是台湾友达公司生产的800× 传输图像数据和提供必要的控制信号,而LCD的正 常显示还需要数字电压VDDIO、模拟电压AVDD、控 制TFT的开启电压VGH、关断电压VGL等。文中 将详细讨论用AAT1118和NCP5007搭建TFT— LCD的驱动电路和背光电路。 2.1 TFT—LCD的驱动电路设计 600的TFT~LCD显示屏,液晶驱动控制选用的是 Altera公司生产的EPM3512AQC208,PC机通信接 口选用的USB芯片为Cypress公司生产的 由于LCD内集成有数字电路和模拟电路,需要 Cy7c68013。图1为系统数据传输及显示部分框图。 收稿日期:2011—09—19 外部提供数字电压VDDIO和模拟电压AVDD。另 外,为了完成数据扫描,需要TFvr轮流开启/关闭。 当TFT开启时,数据通过源极驱动器加载到显示电 极,显示电极和公共电极间的电压差再作用于液晶 实现显示,因此需要控制TFT的开启电压VGH、关 作者简介:焦宾(1987),男,重庆人,硕士研究生,研究方向为智 能仪器仪表。 ・56・ 工业仪表与自动化装置 2012年第2期 闭电压VGL,以及加到公共电极上的电压VCOM。 图像显示,也可以满足MP4播放中的动态图像显示。 当用于静态图像显示时,只用一片SRAM配合CPLD 显示屏TFvr—LCD,根据其参数(开启电压VGH 为13 V、关闭电压VGL为一7 V、模拟电压AVDD为 』工 工作的方式即可实现图像显示。动态显示时存储器 11 V)选用台湾类比科技有限公司生产的AAT1118 作为液晶显示的驱动电路芯片。芯片内部集成有3 个DC—DC转换器,其中包括2个充电泵和1个升 压转换器。1个充电泵产生正电压,作为Tfvr的开 启电压VGH,另外一个充电泵产生负电压,作为 T盯的关闭电压VGL,电路连接如图2所示。 R3 R1 680 kQ 100 k.Q Rd 00 k.Q 图2 TFT—LCD驱动电路 2.2 TFT—LCD的背光电路设计 背光电路硬件连接如图3所示。 Vhat Vba GND GND GND 图3 TFT—LCD背光电路 LCD作为一种被动显示器件本身并不能发光,必 须要有背光模块提供光源。设计中的液晶屏需要提供 12 V的背光电源,NCP5(X)7是一款专用的LED背光驱 动芯片,驱动LED发出白光,芯片可以允许5个以内的 ELD串联,可以提供A104SN03 V1背光显示所需的功 率。在A104SN03 V1中一共有36个LED,通过改变R1 阻值的大小可以改变反馈电压,从而改变LED亮度。 3 24位真彩色显示控制模块实现 在系统中所设计的液晶屏显示系统,可以应用于 各种嵌入式系统中,不仅可以满足电子相框中的静态 中的数据需要高速更新,如果只使用一片存储器,在 存储器读写切换的过程中液晶屏将会发生黑屏现象, 为了克服这一缺点,采用了2片存储器交替工作。 3.1 CPLD+SRAM实现双口RAM功能 为了实现图像动态显示,在系统设计中使用了2 片SRAM配合CPLD工作的方式构建显卡。以800× 6O0的液晶屏为例,一帧图像需要1.3 M字节数据,一 般来说要实现动态显示需要每秒传输30帧图像数 据,即每秒钟需要传输40MByte的数据量。动态图像 数据的传输不仅依赖于CPLD读取存储器数据的速 度,还要依赖于外围电路写入图像数据的速度,如图 4所示,图像数据是通过USB数据线到达USB芯片 内部的FIFO(4KB的先进先出缓冲区),再由GPIF (通用可编程逻辑电路)从FIFO中取出,当GPIF从 FIFO中读取数据时会同时产生一个时钟信号,CPLD 接收到时钟信号就开始读取FIFO端口的数据,然后 将其送人SRAM中存储。单口的SRAM在读写切换 中,存储器处于写状态时写满一帧图像数据需要时间 较长,液晶屏会产生黑屏现象,不能满足动态图像显 示需求。双口RAM从理论上来说是一种很好的选 择,但其价格昂贵,不适合用于该系统。昕以设计了 用CPLD控制2片SRAM轮流读写的方式实现动态 图像显示,在CPLD程序中s_ram—flag为SRAM1和 SRAM2的读写交替标志位,当存储器中写满一帧新 的图像数据时,CPLD检测到地址计数器已经达到所 规定值便会将当前处于写状态的存储器切换到读状 态,处于读状态的切换到写状态。当s_ram_flag=~1 时SRAM1处于读状态时,SRAM2处于写状态。 SRAM2中写满一帧数据后S—raiYl—flag=~0,这时 SRAM2切换到读状态,SRAM1切换到写状态,如此交 替循环便可实现动态显示。 图4液晶屏显示原理框图 2片SRAM交替读写的CPLD程序实现: if S ram flag= 1 then ram1 We<= 1 : ram2 we<= 0 : ram1 adr< s read adr: 2012年第2期 ram2adr<=swriteadr: 一_—工业仪表与自动化装置 ・57・ 芯片cy7c68013的数据端口是16位的数据宽度,存 一ram2datar<=usbdata24一—_r; 储器和液晶屏接口是24位数据宽度,为了实现图像 ram2datag<=usbdata24g: ——_数据的无缝传输,可以利用CPLD很巧妙的完成,在 设计中第一次DCLOCK信号到达时将图像数据的R、 G锁存,第二次DCLOCK信号到达时将接收到的B 连同上次锁存的R、G一起输出,然后将高8位的图 ram2datab<=usbdata24b; 一——一ram1datar<=”ZZZZZZZZ”: 一_ramldatag<=’’ZZZZZZZZ”: ——ramldatab<=’’ZZZZZZZZ”: ——像数据R锁存,在第三次DCLOCK信号到达时再将 G、B连同锁存的R一起输出,如此循环即可实现24 lcddatar<=ram1data——一———r: leddatag<=ramldatag: —位真彩色的图像数据无缝传输。实现程序如下: when 1=>usbdata24r<=usbdatal: —一一—_leddatab<=ramldatab: _—__else ram1we<= 0 : 一usbdata24g<=usbdatah: —_~——when 2=>usbdata24b<=usbdatal; —一一——ram2we<= 1 : _usbdata24keep<=usbdatah; —一一—ram1adr<=swriteadr; 一_—s_writeadr<:swriteadr+ 1 : —_—ram2adr<=sreadadr: 一_when 3=>count2:=0: 一ram1datar<=usbdata24一——一———_一r; usbdata24r<:usbdata24keep: 一一—一一ramldatag<=usbdata24g; ramldatab<=usbdata24b; ———一一usbdata24g<=usbdatal; —_一——usbdata24b<=usbdatah: —一——ram2datar<=”ZZZZZZZZ”: 一s_writeadr<=swriteadr+ 1 : —_—ram2datag<=”ZZZZZZZZ”: 一—3.2液晶显示时序实现 ram2datab<=”ZZZZZZZZ”; 一—在系统中选用的液晶屏是台湾友达公司生产的 10.4”COLOR TFT—LCD,型号为A104SN03 V1。 lcddatar<=ram2data——一_—_一r; lcddatag<=ram2datag; 工作频率为25~45 MHz,在试验中选用了 cy7c68013的IFCLOCK提供的30 MHz时钟输出信 号作为DCLK的工作时钟频率。A104SN03 V1有两 种工作模式,分别是HV模式和DE模式,文中选择 了HV模式。其时序参数如图5所示。 leddatab<=ram2datab; ——一—end if; 真彩色的显示画面需要24位数据宽度表示一个 像素点。在设计中很多时候控制芯片的数据端口并 不是24位,有可能是8位或者16位。在系统中USB Horizontal(HV mode) Vs Hs Line Vertical(Hv mode) 图5液晶屏工作时序图 ・58・ 工业仪表与自动化装置 2012年第2期 以A104SN03 V1液晶屏所提供的参数为例,使 用cy7c68013提供的30 MHz的时钟频率作为驱动 时钟,在CPLD中用状态机(图5)的形式实现图4 4 结束语 LCD显示已经深入到日常生活中的各个方面, 该文所介绍的TFT—LCD显卡制作成本较低,操作 简单,已经在台湾友达公司的320×240、600×480、 800×600的液晶屏上测试。对于不同型号的液晶 所需的时序图。VS一1,VS_0,hs一1,hs.0,hs—count分 别为帧扫描有效时间,帧扫描无效时间,行扫描有效 时间,行扫描无效时间,行扫描计数。下面通过程序 对扫描时序进行描述(其中DCLOCK代表数据时钟 信号,Th代表一行扫描所需的完整时间,VS为帧扫 描控制线,hs为行扫描控制线): ease present——state is 屏只需修改CPLD程序中的一些参数即可驱动其显 示。在液晶显示驱动方面设计了液晶显示驱动程序 和驱动电路,驱动电路主要是用于向液晶屏提供 12 V的背光电源和18 V的差分电压。用CPLD和2 片SRAM配合工作的方式成功解决了双口RAM价 格昂贵的问题。设计的显卡经过试验验证,图像画 面清晰流畅。 参考文献: when VS1>这时VS处于高电平,帧扫描有效, 一但并不传输数据,持续一个Th后进入hs一1。 when vsO>这时VS处于低电平,帧扫描无效, 持续3个Th后进入VS一1。 when hs一1>这时hs处于高电平,行扫描有效, [1]徐光辉.CPLD/FPGA的开发与应用[M].北京:电子工 业出版社,2002. 当计数到达89个DCLOCK而且持续了27个有效 [2] 潘松,黄继业.EDA技术实用教程[M].北京:科学出 版社,2008. 的Th后开始传输数据。当一行的有效数据时问持 续结束后进入hs_0状态。 [3] 武安河,邰铭,于洪涛.Windows2000/XP WDM设备驱 动程序开发[M].北京:电子工业出版社,2003. [4] 张朋,陈明,陈亚萍,等.基于CPLD的液晶显示器控制 系统设计[J].弹箭与制导学报,2006(04):28—33. [5] 于雪磊,赵世平,蔡萌.基于USB和CPLD的高速数据 采集系统[J].仪表技术与传感器,2008(3):49—51. when hs_o>这时hs处于低电平,行扫描无效, 持续128个DCLOCK后进入hs—count状态。 when hs—count>在hs—count状态对行扫描进 行计数,当扫描的行数达到642行时,一帧数据扫描 结束,重新开始新的一帧数据扫描,进入vs_O状态。 图6为系统中CPLD液晶显示驱动扫描程序所 生成的状态机。 图6状态转移 (上接第54页) 结古{五 日卅、 业自动化水平的提高具有积极意义。 参考文献: 该文着重论述了自主研发的一种计算机控制与 自动化仪表综合实验平台。此平台采用了国产通用 工业自动化组态软件MCGS开发,具有强大的实验 [1] 居滋培.过程控制系统和应用[M].北京:机械工业出 版社,2005:1-5. [2] sⅢNsKEY F G・过程控制系统一应用、设计与整定 功能,包括实现单输入单输出一阶对象、二阶对象、 三阶对象的特性测试实验。此项目的研究,为组态 软件的应用提供了方便,同时增加了工控软件包的 控制功能,特别是在参数整定时,把现场调试移到实 验室来处理,节省了大量调试时间和经费开销,对工 伯噼・北 清华大学出版 [3]欣斯 (F.G.shin k。y).过程控制系统[M].北京: ,清华大学出版杜2004:212—218.