多媒体协处理器SM501在嵌入式系统中的应用
引言
近年来,从手持消费电子到工业控制系统,嵌入式处理器的应用已经深入到人们工作和生活的方方面面,在某些应用领域,系统需要提供如1280×1024这类高分辨率的显示界面,而多数嵌入式处理器不能支持,或者在高分辨率下提供的显示效果不好。
通常,一个带有lcd显示器的arm系统如图1所示。

在该系统中,arm处理器将lcd显示器的数据存放于sdram中的lcd帧缓冲区中,由处理器中的lcd控制器提取lcd帧缓冲区中的数据并输送给lcd显示器。一个lcd控制器的时钟信号有3种:framesync(场同步)、linesync(行同步)和lcd_dclk(数据时钟)。在lcd_dclk的作用下,lcd控制器将lcd数据信号并行输出到lcd显示器。显然,一个lcd_dclk时钟只能输送一个像素点的数据,根据文献,tft
lcd的刷新频率一般在60赫兹,因此,一个具有m×n像素点的lcd显示器,在1s的时间中,要求lcd控制器传送像素点总数为(m×n×60),即lcd控制器的lcd_dclk的频率必须大于(m×n×60)赫兹,以便保证lcd显示器的正常显示。因此,嵌入式处理器芯片lcd控制器支持的最大分辨率与lcd_dclk时钟频率有关;然而lcd_dclk是从处理器系统的ahb总线时钟hclk通过分频计算得出的,所以,lcd控制器支持的最大分辨率与系统hclk有关,为确保嵌入式处理器系统处在良好的工作状态,一般不使用最大分辨率进行显示,以samsung公司的s3c2410为例,在tft
lcd模式下,典型的实际支持的最大分辨率为640×480。另外,受到arm处理器lcd帧缓冲区大小的影响,在达到最大分辨率时,lcd数据的位宽度降低,这使得显示效果变差。
如何才能使嵌入式处理器应用在高分辨率的场合呢?sm501图形加速芯片的出现很好地解决了这个问题。
1 sm501图形加速芯片简介
sm501是一款便携式多媒体协处理器芯片,专门为嵌入式工业提供补充功能,具有视频和2d能力,为了降低系统的成本,它支持多种输入/输出接口,包括模拟rgb、数字lcd屏接口,8位并行接口、usb、uart、irda、zoom
video、ac97或i2s、ssp、pwm和i2c,同时它还带有gpio,便于与外部器件连接。sm501的2d引擎包括一个前端色彩空间转换器,支持4:1和1:8的比例,视频引擎支持在每个像素点8位,16位或32位数据宽度时2个不同的视频输出(双显示屏),为每个视频输出提供三色硬件指针,lcd视频流水线支持一个黑点yuv色彩空间转换,比例为4:1和1:212,放大视频(zoom
video)接口包括mpeg解码或tv输入的外部电路接口。
sm501的系统框图如图2所示。

2 sm501的2d图形引擎
通过将优化的128位的2d图形引擎和一个与本地帧存储器连接的高带宽链接相结合,sm501提供面向工业的2d图形加速功能,2d图形引擎也包含一个命令翻译器(一个增强型的dma引擎),对于工作在150m赫兹的32位数据宽度的sdram,sm501的dma引擎读取2d操作数的带宽可达600mb/s,这么高的存储器带宽使得2d引擎在无须等待和流水线停止工作的情况下高速运行,当它在读取和翻译命令时,命令翻译器也可以有条件的转到存储器空间的另一个地址上,等待由其他模块发送过来的状态信息,2d图形引擎同时还包含一个色彩空间转换单元,该单元允许从许多的yuv模式直接翻译到rgb模式,2d图形引擎还带有一个双线性标量器,它可以支持4:1的压缩和1:216的拉伸,sm501支持存储器工作在uma和本地32位模式下。
3 sm501的lcd接口
sm501的lcd逻辑模块可以直接驱动一个18位或24位的tft lcd显示屏;同时也支持12位的cstn屏,通过一个颤抖引擎(dithering
engine)可以得到有效的18位显示效果。支持的最大屏的大小为1280×1024。通过硬件和软件可控制lcd显示屏上电顺序,sm501与一个24位tft
lcd显示屏的接口电路如图3所示。

由图3可知,该接口电路的设计与一个嵌入式处理器和tft lcd的接口电路的设计是相同的,因此,设计起来很方便。
4 具有sm501的嵌入式系统设计
一个具有sm501的嵌入式系统如图4所示,系统中arm处理器将lcd的数据放入sdram的帧缓冲区中,然后将显示工作交给sm501处理。通过2d图形引擎,sm501从sdram的帧缓冲区中读取数据,并将这些数据输送到lcd显示器,这样一来,lcd的数据没有经过arm处理器的lcd控制器。因此,lcd数据的传输不受arm处理器的hclk时钟的影响,达到了支持高分辨率的设计要求。
综上所述,sm501为arm处理器支持高分辨率显示提供了良好的解决方案。同时它还带有模拟rgb等丰富的在片资源,为arm系统功能的进一步扩展,提供了方便。

评论