全志平台CVBS效果调试
最近在调试一款面向中低端市场车载后座娱乐产品,在输出方面只有CVBS输出。在车载方面,CVBS输入输出使用得还是非常频繁的,目前还是用得比较多的,特别是在中低端市场。
笔者使用的是全志A10平台,做过A10的同志们都知道A10的CVBS效果输出是比较差的,相比mstar的芯片那不是差一点半点,当然A10也还是有很多优点的,不多说了,那怎么在这个芯片的基础上相对的把效果调试好一些呢?
首先还是从A10的datasheet着手,看了一下手册,只有一个TV Encoder的描述,上面只写了一个TV Encoder。笔者把TV Encoder的全部寄存器大概看了一遍,大概有十个寄存器跟效果比较相关,具体是TVE_00C\ TVE_00C TVE_020\ TVE_00C TVE_024\ TVE_10C TVE_118\ TVE_11C\ TVE_120\ TVE_128等。都是一下调黑白电平level,CB\CR gain,色饱和度的gain,还是就是Y/C的delay。
开始调,直接修改寄存器值。还是使用sunxi-reg.ko这个ko,加载后就可以操作任何寄存器,这个非常不错。调了上面这些可以的寄存器,真的很郁闷,按照手册上的地址、说明敲进去没有什么效果,这个真郁闷。手册上明明这么写得,怎么没起作用呢?
笔者暂时放下手册,潜心研究一下DE-TVE的代码,从代码上看有两个TVE存在。但是在全志释放出来的datasheet上描述只有一个。真的很抓狂,全志你想干嘛吗?你做得很好了,不释放出来就不释放出来,又没做好,效果那么差,还要对我们留一手,真的要批判一下。
言归正传,另外一个TVE的base地址是1c1b000。笔者CVBS使用的标准NTSC输出,按照这个基址修改00C、128两个寄存器就能达到更好一点的效果。当然,这个硬件要配套的改一下小电路,也就是外围电路的一些电阻电容。知道了这一点后,整个效果调试还是比较快的。事实证明啊,全志平台要提高得东西还有不少,给客户的手册详细点吧!不然做你们平台真的很累,还会误导人!
截一点调试后的代码共享一下:
case DISP_TV_MOD_NTSC: case DISP_TV_MOD_NTSC_SVIDEO: TVE_WUINT32(sel,TVE_004, 0x07030000); TVE_WUINT32(sel,TVE_014, 0x00760020); TVE_WUINT32(sel,TVE_01C, 0x0016020d); TVE_WUINT32(sel,TVE_114, 0x0016447e); TVE_WUINT32(sel,TVE_124, 0x000005a0); TVE_WUINT32(sel,TVE_130, 0x000e000c); TVE_WUINT32(sel,TVE_13C, 0x00000000); TVE_WUINT32(sel,TVE_00C, 0x00000122);//0x120-->0x122 TVE_WUINT32(sel,TVE_020, 0x00f0011a); TVE_WUINT32(sel,TVE_10C, 0x0000004f); TVE_WUINT32(sel,TVE_110, 0x00000000); TVE_WUINT32(sel,TVE_118, 0x0000a0a0); TVE_WUINT32(sel,TVE_11C, 0x001000f0); TVE_WUINT32(sel,TVE_128, 0x00000000);//0x2-->0x0 TVE_WUINT32(sel,TVE_12C, 0x00000101);// break;