DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2223|回复: 1
打印 上一主题 下一主题

[待整理] 利用CME-M5实现1080P高清字符叠加的设计要点分析

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-29 08:04:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
随着信息化技术的提高,人们对于视觉欣赏的要求越来越高。“视觉冲击力”成为人们评判显示性能的一个标准。视觉冲击力不仅要求画面尺寸超大,最主要的还要要求画面显示清晰,包括图片与文字。为了满足这种诉求,本文以京微雅格CME-M5(金山)为例,为您分析如何在HDMI高清信号中叠加字符,并且最终实现高清输出的过程。
           
          如下图所示,不难看出, 就是把一路HDMI高清信号通过HDMI转RGB芯片送到CME-M5后,与外部的字符芯片进行高清叠加后,再通过RGB转HDMI送出来。
           
       

         

          抛开其它的功能,从最最简单By-Pass开始验证, 就是说, 150MHz的24bit RGB进,不作任何处理,直接把150MHz的24 bit RGB送出,如果By-Pass都搞不定,其它功能再调试也是枉然。By-Pass的关键代码如下:
           
       

         

          以列灰阶的验证,是最容易看出问题的。简单补充一下,什么叫灰阶?
           
       

       

         

          灰阶代表了由最暗到最亮之间不同亮度的层次级别。这中间层级越多,所能够呈现的画面效果也就越细腻。以8bit panel为例,能表现2的8次方,等于256个亮度层次,我们就称之为256灰阶。
         
        对应于数字逻辑来说, 就是R/G/B从0~255渐变的过程,分成256等份,递增为1, 叫256灰阶;分成8等份,递增值为32,叫8灰阶。
        假设计是256级的黑白灰屏, R-G-B三色同时由FF变为00,即24根数据线同时电平翻转,这对FPGA芯片的供电、速度要求是最高的, 所以专用测试验证来看,灰阶基本上可以验证视频传输的质量是否稳定可靠, 其它的拿图片混过关的实际上都不算数的。
           
          那好吧, 我们就以256灰阶作为参考图例验证。
           
          按照一般CPLD EPM240的设计, 直通的效果是完美,不用怀疑,已经过广泛的使用。正常的效果如下,没亮线,没噪点。
           
       

         

          而在通过M5-ByPass的显示效果如下所示(几张示例图片),几种颜色的灰阶都出现亮线。
           
       

         

          根据以上可得, 像CPLD那种By-Pass的方式是行不通的。 引起灰阶亮线问题,一般有两个:
        (1)一个是驱动电流不足;
        (2)另一个是IO或时钟速度跟不上,数据没有对齐;
           
          先从第一个解决方案着手,在primace7.2下把默认的HS,VS输出4mA(default)改为8mA,对翻转速度比较快的PCLK改为16mA。而输入全部加拉弱上拉,改了以后仅对黄色灰阶有改善(看不出亮线),其它的并没有改进行。
           
       

         

          进行第二个方案,解决数据对齐的问题。 加入FastIO设置,效果也没有明显示的改善。
           
       

         

          最终考虑,还是用同步时钟把RGB-HS-VS打一拍同步进来试试看, 代码也非常简单,如下所示。
           
       

         

          出来的效果是让人满意的。之前的所有彩色灰阶,显示正常,如下所示。
           
       

         

          准备收工举杯庆祝的时候,发现最后一关仍然没过,那就是该死的256黑白灰阶,还剩下一条亮线了,按照一般应用,都是图片叠加文字,是能混过去的。因为到了这一步好像没什么可以调整了,设计太简单了,也曾想过,那就这样吧,M5的性能也就只能到这里。
           
       

         

          亮线的问题除了跟数据有关,也跟时钟有关,PCLK的电流设置到16mA,带来增加驱动能力的好处,同时也会增大电平翻转的过冲。如下图所示,绿色的方波是我们想要的最佳波形,红色波形却是实际的情况,拿张M5的电路,示波器测试一下即可验证。
           
       

         

          如果能把过冲收拾掉同时能保持16mA的电流,这个信号就是完美的。我们希望是这样,现在还剩下一个看似不重要的参数仍然可以调整,叫做Slew-Rate。看上去都是默认最快的Fastest(default),都已经最快,还是什么可调节呢,我们不是要求最快的吗?
           
       

        由于英文不太好,百度搜索了一下Slew-Rate的意思。
         
        slew rate 就是电压转换速率(Slew Rate),简写为SR,简称压摆率。其定义是在1微秒或者1纳秒等时间里电压升高的幅度,直观上讲就是方波电压由波谷升到波峰所需时间。
        如下图所示。
           
       

         

          也就是说slew-rate是能够影响PCLK方波输出的爬升的时间,slew-rate越快,翻转速度越快,过冲越大,反之爬升的时间越慢,过冲就越少。这跟运算放大器通过调节电容控制转换时间是一致的,slew-rate的调节跟调整电容器是类似的,有电容就有可能吃掉过冲干扰。
           
          分析完毕,在primace的软件设置如下。
           
       

         

          运行结果比想象中的要好,如下所示, 灰阶的亮线也是不见了,非常干净。可以收工,往下一步走了。
           
       

       

         

          对于应用来看, Fastest的Slew-Rate未必如其名,速度是最快的,它可以导致其它问题的产生,适当微调各类参数,有时也会有意想不到的好结果。 当然也证明了CME-M5的IO是有能力实现150MHz的高清视频传输。
           
          此文仅作抛砖引玉,实际问题还得实际分析,如果能对大家有一定借鉴,那将是莫大的荣幸。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 07:13 , 耗时 0.122437 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表