首页 > 编程知识 正文

全志a10 Android全志A10 android平台CVBS效果调试

时间:2023-05-05 07:35:30 阅读:253891 作者:3696

全志平台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,CBCR 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;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。