This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位大神好:
我在使用DS90UB914+DS90UB913实现CPU和Camera Sesnor之间的单对差分(STP)线传输视频数据的功能。其连接结构如下图所示。我
我现在能通过驱动程序读写DS90UB914,能读DS90UB913和Camera Sesnor的寄存器。可是,当Camera Sensor驱动程序中向Camera Sensor写数据时,报以下NOACK错误:
[ 10.455268] set sensor gpio as PA-low-10bit [ 10.461612] @@@@@@@probe ok ------->jxh62 [ 10.515683] JXh62_read [ 10.519178] -----jxh62_detect: 424 ret = 0, v = 0xa0 [ 10.519186] JXh62_read [ 10.522673] -----jxh62_detect: 432 ret = 0, v = 0x62 [ 10.522684] jxh62 chip found @ 0x30 (i2c0) [ 10.541753] jxh62_init [ 10.544191] JXh62_write_array [ 10.548089] JXh62_write [ 10.550611] client addr = 0x30,buf[0]=0x12,buf[1]=0x00,ret=1 [ 10.556472] vals->reg_num:12, vals->value:0 [ 11.178615] i2c i2c-0: i2c_jz_irq 441, I2C transfer error, ABORT interrupt [ 11.185740] i2c i2c-0: --I2C txabrt: [ 11.189427] i2c i2c-0: --I2C TXABRT[3]=I2C_TXABRT_ABRT_XDATA_NOACK [ 11.195831] JXh62_write [ 11.198351] client addr = 0x30,buf[0]=0x0e,buf[1]=0x11,ret=-11 [ 11.204358] Failed to deinit the pipeline of (null).
我读取到的DS90UB914、DS90UB913和Camera Sensor(JXh62)的部分寄存器信息如下:
[ 43.846100] ds90ub914q reg value: [ 43.851168] sensor_read: addr=0x0 value = 0xc0 [ 43.856253] sensor_read: addr=0x3 value = 0xe9 [ 43.861316] sensor_read: addr=0x6 value = 0xb4 [ 43.866396] sensor_read: addr=0x7 value = 0xb2 [ 43.871498] sensor_read: addr=0x8 value = 0x60 [ 43.876582] sensor_read: addr=0x10 value = 0x60 [ 43.881334] ds90ub913q reg value: [ 43.885230] sensor_read: addr=0x0 value = 0xb0 [ 43.890478] sensor_read: addr=0x3 value = 0xc5 [ 43.895755] sensor_read: addr=0x8 value = 0x0 [ 43.900821] sensor_read: addr=0x10 value = 0x17 [ 43.906057] sensor_read: addr=0x6 value = 0xc0 [ 43.911205] sensor_read: addr=0x7 value = 0x0 [ 43.915792] jxh62_sinfo reg value: [ 43.920267] sensor_read: addr=0x0 value = 0x0 [ 43.925812] sensor_read: addr=0x1 value = 0xff [ 43.931440] sensor_read: addr=0xa value = 0xa0 [ 43.937085] sensor_read: addr=0xb value = 0x62 [ 43.942714] sensor_read: addr=0xc value = 0x40 [ 43.948444] sensor_read: addr=0xd value = 0x50 [ 43.954160] sensor_read: addr=0xe value = 0x10 [ 43.959806] sensor_read: addr=0x12 value = 0x0
请TI专家帮忙解答一下问题:
1、由于采用的是视频SOC官方调试好的驱动,在没有接FPD-LinkIII接口电路时,Camera Sensor的驱动程序能正常读写。我采用FPD-Link III接口时,用同样的Camera Sensor驱动程序,能正常读取到的DS90UB914、DS90UB913和Camera Sensor(JXh62)的寄存器,
为什么在写Camera Sensor时,会报I2C_TXABRT_ABRT_XDATA_NOACK错误?我采用的Pass through模式,需要设置DS90UB914Q的0x03 General configuration1寄存器Auto ACK位为1吗?
2、Pass throught 模式和Pass through ALL模式的主要区别是什么?我能否直接把DS90UB914Q设置为Pass throught ALL模式,让主CPU直接访问Camera Sensor?
非常感谢!