FPGA和嵌入式处理器实现低成本智能显示模块
引言 LCD正在迅速成为汽车内的标准部件。随着LCD技术的发展,迫切需要采用更好的显示图形内容控制和产生方法。传统上,低成本汽车信息娱乐应用采用基于字符的LCD和真空荧光(VF)显示屏,而低成本彩色薄膜晶体管(TFT)技术很快成为最突出的选择方案,但在现有的低成本应用体系结构中采用彩色TFT有很大的难度。大部分低成本平台没有足够的处理带宽,特别是缺少带有LCD控制器的处理器来控制并驱动彩色TFT LCD。此外,大部分现有的体系结构并没有足够的动态和非易失存储器来存储LCD需要的图形内容。更复杂的设计问题是产生并管理图形内容或者图形用户界面(GUI)时低效的设计过程,而现在可以通过彩色TFT LCD来解决这些问题。一般而言,如果没有合适的设计资源,很难在硬件上实现LED背光驱动器、触摸面板控制以及TFT控制所需要的大量I/O,现在这些难题有了解决方法,即,名为Thomas II电路板(图1)的模块化扩展平台,它含有低成本Altera Cyclone III FPGA和Nios II嵌入式处理器。使用这一平台,汽车电子设计人员很容易在现有系统体系结构中加入彩色TFT,开发低成本智能显示模块。
图1 Thomas II演示平台 模块化扩展概念的内涵 模块化扩展设计概念基于Thomas II电路板。设计围绕低成本Cyclone III FPGA (EP3C10或者EP3C5)展开,这一器件采用了引脚数量较少的E144 QFP封装,在4层PCB上就能够轻松完成布板。在实际应用中,Thomas II设计(图2所示)可以用作单独的模块,具有完整的电源供电和支持外设,也可以集成到现有设计结构中。
图2 Thomas II设计结构图 Nios II嵌入式处理器是体系结构的核心,同时用于系统控制和图形生成。采用嵌入式处理器后,系统可以单独工作,也可以作为现有微控制器单元(MCU)的协处理器,因此,Thomas II设计可以实现低成本信息娱乐设计的模块化扩展功能。通过一个简单的UART,FPGA成为系统的图形显示控制器。它管理并控制所有的图形内容产生和处理任务,从而把这些任务从主机MCU中分担出来。任何串行或者并行通信接口,甚至是定制或者专用标准都很容易替代FPGA设计中的UART模块。例如,通常用于实现VF或者字符LCD的通信协议都可以重新用于控制基于Thomas II概念的TFT。最吸引人的特性是主机体系结构和系统设计能够基本保持不变,如图3所示。
图3 设计重用
一次硬件设计实现多款产品 不改动或者尽量少改动系统意味着同时节省了硬件和软件资源。借助Thomas II概念,设计人员可以针对多款产品使用相同的核心硬件。根据产品需求来更新或者改变GUI,而不需要修改或者更新核心系统软件。而且,还可以根据应用需求来调整LCD分辨率和底层图形FPGA中的LCD控制器设计很容易适应各种标准和定制LCD分辨率(请参考图4)。它还能够满足双视角、多视角和其他非标准LCD格式。FPGA中实现LCD控制器的内在优势是它可以定制或者适应LCD需要的数据和时序格式。
图4 应用在WQVGA和QVGA LCD上的Thomas II电路板 LCD控制器模块是多层LCD控制器,含有两个16位彩色图像层和一个alpha层。每一层由单独的DMA主机生成并进行控制。这样,可以有效地划分基于外部DRAM的帧缓冲。实质上,每个DMA主机在需要数据时读取帧缓冲。这使得LCD控制器模块能够读取外部存储器中存储的任意帧分辨率或者图像尺寸。每一层主机读取存储器后,LCD控制器模块把层组合(或者平滑)成一个组合帧,然后将其输出至LCD。LCD控制器模块组合了层之后,每一层都可以选择组合alpha层或者“透明层”。Alpha层支持实现透明的覆盖层,或者表面与下面层内容相混合。此外,每一层都可以完全打开或者关断,根据需要来激活或者去激活每一层。这一概念的一个例子是视频采集层上菜单所采用的覆盖图。
触摸面板控制器简化了和用户的交互 为实现和用户的交互,Thomas II设计还在FPGA中采用了触摸面板控制器。设计支持四线阻性触摸面板控制器,它可以控制任何标准四线触摸面板。Nios II嵌入式处理器采集来自触摸面板的用户事件数据并进行管理,根据GUI和系统总设计,相应地提取或者执行命令。为方便并加速GUI的产生,嵌入式处理器很容易集成到Altia的图形开发工具链中。利用Altia的图形开发工具,艺术家、交互式设计人员、工程师和编程人员可以迅速构建概念原型、模型和可实施代码,不存在误解图形总设计或者图形交互的风险。从概念到代码,这些工具大大缩短了总开发周期,同时保持了图形设计的艺术完整性。Altia还提供Adobe Photoshop插件,名为PhotoProto,设计人员利用它很容易将视频分量导出到Altia设计中,如图5所示。在Altia设计中,开发人员可以在图形设计中增加功能和行为。通过名为深屏(Deep Screen)的工具,在Altia设计中开发的原型或者概念生成Nios II嵌入式处理器连接库图形或者行为逻辑需要的所有一切。然后,Nios II处理器运行Altia模型,管理用户和模型之间的实际交互。
图5 Altia设计、PhotoProto和深屏工具
视频采集和图像处理 基于FPGA的设计中实现的另一功能是视频采集,如图2所示。视频输入模块符合ITU-R BT.656数字视频标准,完成以下操作:彩色空间转换(CSC)、剪辑、去隔行、缩放和RGB 565包封。在Nios II嵌入式处理器的控制下,每一操作顺序完成,并由寄存器对参数进行赋值。根据需要的输出格式,还可以选择对视频输入进行剪辑和调整(放大或者缩小)。采用寄存器后,可以针对各种显示分辨率和输入视频格式(例如,NTSC、PAL和SECAM等)对系统进行定制。来自模块的视频数据通过32位DMA传送至外部SDRAM帧缓冲。象素数据被封装成565格式,使两个象素能够通过DMA以一个字的形式进行传送。这显著提高了视频带宽,以及存储器访问效率。Thomas II设计使用Altera Quartus II设计软件支持的标准SDRAM存储控制器。SDRAM提供足够的视频带宽和存储器总带宽,是DDR的低成本替代方案(对于所需要的密度)。而且,采用SDRAM还减小了电路板布板的复杂度,从而降低了系统总成本。在功能上,DRAM为视频和图像帧缓冲提供共享存储空间,还为Nios II嵌入式处理器提供程序存储器。Avalon系统互联架构连接SDRAM控制器和Nios II处理器以及其他系统模块,为存储器访问和存储器管理提供仲裁。Cyclone III FPGA最引人注目的一个特性是未来可以移植到其他存储器拓扑和技术中。如果需要,很容易对设计进行修改,采用DDR或者DDR2存储控制器,或者扩展SDRAM接口,以适应32位SDRAM器件。FPGA灵活的I/O环以及SOPC Builder工具中各种存储控制器支持这一切的实现。Thomas II设计还支持视频和图像处理。缓冲后的源视频存储在SDRAM中,图像处理算法由Nios II处理器来完成。而Cyclone III FPGA的灵活性则体现在可以把算法作为软件、硬件,或者以软硬件混合的形式来执行,这也是该器件的优势所在。可以采用Altera的Nios II C语言至硬件(C2H)加速编译器来分析软件算法,将函数转换成硬件加速定制指令。然后,Nios II处理器执行定制指令,不需要反复迭代处理周期。设计人员可以充分发挥Cyclone III FPGA架构并行处理特性的优势,构建定制指令。内置数字信号处理(DSP)功能可用于完成各种图像处理算法,例如,鱼眼校正等。
结论 通过在低成本系统体系结构中采用彩色TFT,汽车电子设计人员能够为市场带来一系列在视觉和功能上都非常引人注目的实际应用。采用模块化扩展方法开发的Thomas II电路板基于引脚数较少的低成本FPGA,为这些应用的实现提供了平台。相应的设计软件和工具不但加速了开发过程,而且还保持了GUI设计的完整性。此外,一片FPGA集成了各种功能,不需要改变主机体系结构和系统设计。如果需要,可编程技术还可以将设计灵活地移植到密度更大的FPGA中。
|