您的位置:首页 > 其它

SE4750 二维软解码在德州仪器Omap3平台的调试

2016-04-16 09:43 127 查看
1、在调试完成SE4500的二维软解之后,调试SE4750 parallel接口,只需要修改两个参数,分别是:

//#define SE4500_SENSOR_WIDTH   752
//#define SE4500_SENSOR_HEIGHT  480
#define SE4500_SENSOR_WIDTH   1360
#define SE4500_SENSOR_HEIGHT  960


2、需要注意SE4750供电问题,SE4750 parallel接口最大供电峰值电流能达到580mA,必须提供大电流的LDO,翻遍选型手册,不是静态电流太大,就是压降太大,最后推荐使用德信科技的EUP7907A-33VIR1,标准最大输出600mA,只有300mV压降,刚好能满足需求,另外注意电源端的走线,必须满足大电流时压降非常非常小的要求,否则一旦大电流压降超过0.2V就没办法工作了。

3、注意SE4750和主MPU之间不需要额外增加电平转换芯片,另外,SE4500和SE4750无法做到兼容,除非中间增加level shifter,同时速率能达到150Mbps,才能满足需求,经过验证,选用TI的SN74AVC系列电平转换芯片就可以满足需求,之前选择用TXB01xx双向转换芯片,不能满足高速率传输不说,价格反而比SN74AVC系列的要贵很多。

4、虽然SN74AVC系列全部都是可控单向转换,但是根据手册,所有信号,除了I2C之外,包括cam_data和pclk、vsync、hsync全部都是从SE4500到MPU,所以电路只需要修改为DIR=0,让信号从B到A端即可,B端3.3V参考电平,接SE4500;A端1.8V参考电平,接主MPU。

5、如果要求SE4750和SE4500同时兼容,必须考虑I2C总线的电平转换,建议使用TXS0102系列电平转换芯片,芯片属于open drain IO设计,完全满足I2C之类的总线要求。

6、motorola的SDL在某些情况下不能正常加载,会导致SE4750显示的分辨率为752x480异常,Motorola工程师还在协助解决SDL配合SE4750时分辨率显示异常无法解码的问题?

①经过一段时间测试,发现如果按照motorola提供的参考驱动,在CAM_Init()中给扫描头上电,就会出现这这种情况,如果不运行扫描程序,不对扫描引擎配置,那么扫描引擎就会有20mA左右的漏电,这个明显会额外增加系统功耗,属于浪费,因为运行程序配置以后,扫描引擎会指定时间自动进入低功耗模式。

②如果修改为在CAM_Open中给SE4750上电,就会出现SDL识别的分辨率为752x480,而不是1280x960,会导致SDL无法解码。

③原因是打开解码程序,首先会调用CreateFile(L"SDL0:",***)打开SDL解码库,猜测SDL的行为应该是首先调用平台封装好的I2C获取scan engine的相关参数,判断是SE4750还是SE4500,此时并没有调用CAM_Open所以扫描头根本不可能上电,所以I2C肯定获取错误,SDL内部就默认为SE4500的分辨率752x480;

④问题找到以后,我们更换了上电方式,修改了驱动代码,不让在CAM_Open里面上电,而是改为单独上电,这样,如果运行程序,首先给SE4750上电,然后再调用CreateFile(L"SDL0:",***)打开扫描头,这样就都正常了。

更新日期2016.7

本文来自C.S.D.N,转载请标明来源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: