随着计算机技术的飞速发展,嵌入式图像系统广泛应用于办公设备、制造和流程设计、医疗、监控、卫生设备、交通运输、通信、金融银行系统和各种信息家电中。所谓嵌入式图像系统,指以图像应用为中心,以计算机技术为基础,软件、硬件可裁减,对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式图像系统对图像显示技术提出了各种严格要求,必须选择合适的显示器,设计出合理的显示控制方法。
系统硬件设计 本系统要构建一个嵌入式、高速、低功耗、低成本的图像显示硬件平台,要求能真彩显示静态或动态彩色图像。为达到真彩和无拖影的显示动态图像,同时兼顾低功耗的要求,采用SHARP(夏普)公司的LQ057Q3DC02彩色TFT-LCD作为显示器;为了能达到实时图像处理和显示,采用德州仪器(TI)公司高性能DSP TMS320C6711作为主处理器;DSP与TFT-LCD之间的数据接口以及TFT-LCD的驱动控制由CPLD ispMACH4064V和高速大容量FIFO AL422B完成。系统硬件框图如图1所示。
图1 系统硬件框图
1 TFT-LCD驱动控制硬件设计 由图1和图2可知,CPLD驱动控制TFT-LCD显示图像,要产生三个时钟信号:数据移位时钟(CLK)、行同步时钟(Hsync)和帧同步时钟(Vsync),并通过18位并行数据总线(R0~R5,G0~G5,B0~B5),与时钟信号同步写入待显示的图像数据(D0~D17)。
图2 LQ057Q3DC02内部结构图 CPLD驱动控制TFT-LCD的硬件电路如图3所示。
2 存储器设计 为了尽少占用CPU资源,使CPU有更多的时间进行图像采集和处理,在CPU输出图像到TFT-LCD显示器的过程中间要进行数据缓冲存储。CPU定期将数据高速输出到缓存,显示平台再根据TFT-LCD的驱动时序读出数据进行显示。CPU输出数据的速度大于显示平台的读取速度,对缓存来说是一个高速写入、慢速读出的过程。CPU以40ms为周期定期输出数据,而显示平台是连续不断的读出数据进行显示的,因此缓存的写入和读出过程是并发进行的。
图3 CPLD驱动控制TFT-LCD硬件电路图 本系统采用AVERLOGIC公司的基于DRAM的大容量FIFO AL422B作为高速缓冲存储器。AL422B工作电压3.3V,可承受5V信号电压,最高访问速度为50MHz,容量为384Kb,而系统要显示的图像每帧有225Kb,因此AL422B可以很好的满足高速、大容量和低成本的系统要求。AL422B没有空、半满和全满等状态标志,个弱点给系统硬件设计和控制带来一定难度。 AL422B是同步FIFO,有读时钟(RCK)和写时钟(WCK)两路时钟信号。AL422B采用DRAM为存储介质,需要定时刷新片内数据。芯片自动选择频率较高的时钟信号作为DRAM的刷新时钟,要求器件工作时至少要有一路时钟信号的频率不能低于1MHz。AL422B的功能框图如图4所示。
图4 AL422B功能框图
3 DSP接口设计 实时数字图像处理指的是在给定的时间间隔内对外部输入的数字图像完成指定的处理,从图像输入到处理完毕输出结果的时间延迟要小于图像数据的更新速率。若对一个每帧320×240×18位,25f/s的图像信号,其数据率为 5.5Mb/s,为达到实时性,处理器的处理速率就必须大于5.5Mb/s,即系统在40ms内完成对一帧图像的所有操作,包括图像采集、存储、传输、处理和显示等。图像采集速率由图像传感器例如CCD决定,而图像数据的存储、传输、处理和显示都是取决于CPU的性能。一般器件不能满足系统实时要求,因此本系统采用TI(美德州仪器)公司高性能通用DSPTMS320C6711作为系统的主CPU。 在本系统中,使用TMS320C6711的EMIF口的8位异步方式与CPLD一起定时刷新外部同步FIFOAL422B,接口电路如图5所示。
图5 TMS320C6711与FIFOAL422B接口电路 DSP6711为AL422B提供写复位信号(/WRST)和写使能信号(/WE)。CPLD根据DSP6711提供的外存使能信号(/CE)和写使能信号(/AWE),为AL422B提供写同步时钟(WCK)。DSP6711通过数据总线ED[5:0]将图像数据写入AL422B的内部存储单元。
4 CPLD设计 本系统使用ispMACH4064V(简称4064V)作为显示平台的主控逻辑器件。4064V是一款工作在3.3V的新一带CPLD芯片,I/O口兼容5V TTL电平,主要性能数如表1所示。 ispMACH4064V是实现TFT-LCD、FIFO和DSP的EMIF口三个器件逻辑功能时序的核心器件,为了实现各时序之间的严格同步,使用一个外部时钟参考源输入到ispMACH4064V,ispMACH4064V内部所有的信号都是以这个时钟为基准的。
系统总流程 TFT-LCD彩色数字图像显示平台的三个关键器件,分别是DSP、FIFO和CPLD。DSP通过EMIF口定期将图像数据写入FIFO;CPLD并行的不断读取FIFO内的图像数据,驱动TFT-LCD显示动态或静态彩色数字图像。DSP写FIFO的速度高达25MHz,TFT-LCD刷新时钟为6MHz,CPLD读FIFO的速度应大于3倍的TFT-LCD刷新时钟,取24MHz。各器件之间的时序必须严格匹配,才能正常显示图像。本系统使用Lattice公司的CPLD ispMACH4064V,产生TFT-LCD的驱动时序和FIFO的读时序,并配合DSP的EMIF口形成FIFO的写时序。系统时序设计是数字图像显示技术的关键点,也是最困难的部分。 系统上电后复位CPLD、FIFO和TFT-LCD,DSP定时向FIFO写入图像数据,CPLD并行的读FIFO,同 时驱动TFT-LCD逐像素显示图像,系统总流程如图6所示。
图6系统总流程图 本系统采用VHDL语言对CPLD要实现的功能进行行为描述,用Synthesis软件对VHDL源代码进行语法检查和逻辑综合后,在ispLEVER3.0环境下对ispMACH4064V进行功能仿真、时序仿真、引脚I/O设置和分配,最后将生成的JEDEC文件用下载
电缆写入CPLD,生成实际的数字逻辑。
基于图像处理系统的性能分析 图像处理完毕后,需要显示给进行观察和评价。人的视觉系统对色彩非常敏感,图像显示的色彩必须达到或超过人的分辨能力,才不致于丢失有用的图像信息。图像处理系统的图像显示必须达到真彩(18位色)显示。为达到嵌入式数字图像处理系统实时性要求,图像显示模块要尽少占用DSP资源,同时真彩显示意味着更大的数据吞吐量,这些都要求图像显示模块要有更快的处理速度。 本系统中,一帧图像共有320×240×3=225Kb,DSP采用8位异步模式以25Mb/s的速率向FIFOAL422B写入图像数据,写一帧图像需9ms。若DSP以40ms为间隔刷新AL422B的图像数据,就可以实现平滑动态显示真彩数字图像。这样的数据吞吐速度可以很好地满足实时性要求。 与市场同类产品的比较:国内外市场上控制彩色TFT-LCD一般采用ARM等带TFT-LCD接口的MCU,或直接使用专用IC,甚至使用工控机来实现,这些方案都难以满足嵌入式系统对成本和功耗的要求。国内市场上,有少数几家公司采用可编程器件+存储器的技术开发出实用产品,大部分采用SRAM作为图像数据存储器。由于要进行复杂的读写端口切换,这类产品一般采用高档可编程器件,同时降低图像显示品质,无法真彩显示,无法平滑地显示动态图像。而本课题实现了18位真彩显示,每秒25帧图像,动态图像可以平滑地显示,而且成本只有40元人民币,大大提高了产品的性价比。
结语 本文提出了一种基于DSP的彩色TFT-LCD数字图像显示解决方案,采用高性能DSP和基于DRAM的新型大容量FIFO存储器,用CPLD实现了驱动TFT-LCD以及与DSP数据接口的所有时序。与市场上同类产品相比,本系统大大提高了图像显示品质和显示速度,降低了系统的功耗和成本,在嵌入式图像系统中有广泛的应用前景。