应用笔记 4473

16位分辨率仿真改善视频显示中的LED亮度控制

By: Walter Chen

摘要 : 视频显示系统使用MAX6975 PWM LED驱动器时,需要更高分辨率的PWM方案为8位或10位视频信号提供gamma (视觉效应)校正、LED参数匹配和环境光调整。这篇应用笔记讨论了如何利用14位PWM分辨率的MAX6975仿真16位PWM分辨率,以支持视频应用。

类似文章发表在2010年5月的Power Systems Design Europe杂志。

引言

为了得到更好的功效和色彩一致性,LED亮度通常通过调节LED驱动器的PWM周期占空比控制。一个PWM周期可以划分成2的“控制位”次方(2CONTROL BITS)个时钟周期。消费类电子应用中,控制位分辨率通常是8位。8位PWM分辨率可对应提供256个不同的亮度电平,相应的PWM周期由256个时钟周期组成。如消费类电子产品中,典型的时钟频率是32kHz,则PWM周期为256/32kHz或8ms。因此,PWM刷新率大约是125Hz,由此得到的PWM分辨率和刷新率足以支持亮度调整,并可消除人眼能够觉察的闪烁。

为LED驱动器提供16位分辨率

对于要求同时达到16位PWM分辨率和2kHz刷新率的应用,设计将面临诸多挑战。16位分辨率要求一个PWM周期包含216 = 65,536个时钟周期。2kHz的PWM刷新率要求时钟频率为2000 × 65,536 = 131.072MHz。通过CMOS接口以这个速度发送数据,即使在合理的传输距离上,也会造成数据通信的不可靠。而实际应用中,LED驱动器的输出端口不可能提供如此高的开/关速度支持LED的加载和相关的连接。没有精确的开/关时序,也无法实现16位分辨率的优势。

作为一个折衷方案,利用一组PWM周期分辨率低于16位的信号仿真16位PWM周期。通过这种方式在每个PWM周期内减少一定数量的时钟,可以采用低时钟频率达到所要求的2kHz PWM速率。一旦PWM刷新率高于几百赫兹,人眼将无法区分其变化/闪烁,从而保持16位分辨率的视觉效果。

以摄像机为例,摄像机工作在(或接近于) 1/2000的快门速度。摄像机将以较低的分辨率抓拍帧画面,但这仍然比在抓拍黑屏时的低刷新率要好得多。虽然快门速度可以非常高,但摄像机仍然可以每秒抓拍60帧,多帧图像的平均效果非常接近16位分辨率的图像。

16位分辨率可以分为不同的MSB/LSB (最高/最低有效位)比值进行仿真,由此可以得到几个分辨率为MSB的PWM周期:2的“最高有效位”次方(2MSB)。周期数等于LSB的分辨率:2的LSB次方(2LSB)。还可以按照其它不同的分配形式得到PWM的仿真组,比较简单的方法是由LSB决定每组中的最后一个时钟周期的开/关状态;MSB决定其余的时钟周期。简而言之,所有组的由MSB决定的时钟周期开/关次数是相同的。

测试示例

利用2/2分割仿真4位分辨率,举例说明上述方案。图1显示了由4位分辨率实现的16点PWM波形模板。

图1. 传统的4位和16点PWM波形图
图1. 传统的4位和16点PWM波形图

2/2分割仿真产生4组4点PWM周期。2个LSB用来选择哪一组的最后一个时钟周期应该处于导通状态;2个MSB用来决定其余3个时钟周期的开/关模板。图2显示了当2个MSB为0时,2个LSB在仿真PWM波形中的效果。

图2. 2/2分割4位仿真的LSB效果
图2. 2/2分割4位仿真的LSB效果

图3显示了当2个LSB为0时,2个MSB在仿真PWM波形中的效果。

图3. 2/2分割4位仿真的MSB效果
图3. 2/2分割4位仿真的MSB效果

这个方法可以配合MAX6975 LED驱动器的内置LVDS接口,仿真16位分辨率,采用14/2分割实现。16位视频帧将以4个14位视频帧显示,四个视频帧在每个时钟周期具有不同的开/关时间。以16位PWM码作为输入,通过简单的编码产生14位PWM码。编码器将14位MSB作为14位基础码,加上其它由2个LSB模板产生的位。图4显示了仿真编码器,第一个14位PWM码与MSB相同;第二个码是增加了这两个LSB的MSB;第三个码加上了前两个码的“或”操作;第四个码加上了“与”操作。

图4. 14/2分割的16位仿真编码器架构
图4. 14/2分割的16位仿真编码器架构

这种仿真方案存在两个小的缺点。

首先,在最高亮度区是会损失一些PWM码。如图2所示,当MSB和LSB合成时,有些仿真PWM码处于完全导通,而MAX6975的原始设计无法支持这种完全导通操作。但是,人们通常注意不到这些代码的丢失,因为接近全亮状态的代码并不常见。即使用到这些代码,人的视觉对于高亮度背景下的轻微变化并不敏感。

另外,如需保持60帧/秒的刷新率,向MAX6975发送数据的速率需要提高4倍甚至更快。MAX6975的数据接口速度仍然足以支持多芯片串联链路,但须适当减少链路上的芯片数。时钟频率为32MHz时,同一链路能够挂接的MAX6975芯片数为:32,000,000/(14 × 24 × 60) = 1,587片,图像刷新速率为60帧/秒。如果四个仿真帧需要发送给每个视频帧,芯片数将减少到396片。 一个32 × 32或最高56 × 56象素的视频阵列仍然可以在一条串行链路上通过单个数据接口驱动所有芯片。

最后,与通用仿真方案相比,仍然存在一些小的差异值得注意。每个PWM帧通常作为子帧重复32次,用于控制MAX6975的全局亮度。因此,MAX6975的14/2、16位分辨率仿真也需要把4个PWM仿真帧的每一帧重复32次。

结论

本文介绍了一种尚未公开,但已经被多数LED视频显示厂商采纳的高分辨率仿真方案,并以MAX6975芯片为例给出了实施方案。