TI中文支持网
TI专业的中文技术问题咨询交流网站

DS90UB953+DS90UB954 DS90UB953的I2C问题

TI工程师您好!

现在我们有调试一款HOST->954—953->MIPI 2LANE SENSOR307  LVDS 同轴方式的项目。DS90UB954的IDX、MODE 10K对地 DS90UB953 IDX对地40.2K。目前软件寄存器配置

  TI954Q_WRITE_ID:0x60

  TI953Q_WRITE_ID:0x30

    //Set up Port0
     WriteReg(TI954Q_WRITE_ID, 0x4C, 0x01);
    //Set up Back Channel Config (0x58)
     WriteReg(TI954Q_WRITE_ID,0x58,0x5E);
    //Set up SER ID
     WriteReg(TI954Q_WRITE_ID,0x5B,0x30);
    //Set up SER Alias ID
     WriteReg(TI954Q_WRITE_ID,0x5C,0x30);
    //Set up Slave/Camera ID
     WriteReg(TI954Q_WRITE_ID,0x5D,0x34);
    //Set up Slave/Camera Alias ID
     WriteReg(TI954Q_WRITE_ID,0x65,0x34);
       //Set serializer CSI-2 data input from imager lane to 4 lane, 1.8V VDDIO
     WriteReg(TI953Q_WRITE_ID,0x02, 0x33);
    //Set GPIO1 and GPIO0 to outputs, where GPIO0 = FSYNC trigger and GPIO1 = IMX390 reset
     WriteReg(TI953Q_WRITE_ID,0x0E,0x30);
    //Set GPIO1 and GPIO0 to low – confirm snesor is power down mode
     WriteReg(TI953Q_WRITE_ID,0x0D,0x00);//0x90
     Delay_DelayMs(1);
    //Bring GPIO1 high again to prepare sensor for initialization
     WriteReg(TI953Q_WRITE_ID,0x0D,0x02);
       //enable CSI output and CSI continuous clock, 2lane
     WriteReg(TI954Q_WRITE_ID, 0x33, 0x23);
    //enable CSI replicate mode
     WriteReg(TI954Q_WRITE_ID, 0x21, 0x81);
    //enable RX 0 port forwarding to CSI ports
     WriteReg(TI954Q_WRITE_ID, 0x20, 0x20);

目前软件一直报953 I2C错误。

有看过很TI论坛贴子。此方面问题很多都是寄存器配置问题。

请帮忙审一下。哪个寄存器是否未配置或者配置错误

谢谢!

 

Kailyn Chen:

您好,软件报I2C错的截屏可以看下吗?
关于这类器件的寄存器配置,目前我们可以借助的就是通过datasheet中的寄存器描述和ALP software 来帮助配置。

user6385092:

回复 Kailyn Chen:

Dear Kailyn Chen
非常感谢您的回复。以下是I2C报错的信息
——————————–start—————————
ERR:TI_I2C_Transmit() fail to send data, w_addr 0x30, r_addr 0x2, data 0x33, sts 2
ERR:TI_I2C_Transmit() fail to send data, w_addr 0x30, r_addr 0xE, data 0x30, sts 2
ERR:TI_I2C_Transmit() fail to send data, w_addr 0x30, r_addr 0xD, data 0x0, sts2
ERR:TI_I2C_Transmit() fail to send data, w_addr 0x30, r_addr 0xD, data 0x2, sts2TI w_addr0x60Reg addr 0x00, data 0x60TI w_addr0x60Reg addr 0x4C, data 0x01TI w_addr0x60Reg addr 0x58, data 0x5ETI w_addr0x60Reg addr 0x5B, data 0x00TI w_addr0x60Reg addr 0x5C, data 0x30TI w_addr0x60Reg addr 0x5D, data 0x34TI w_addr0x60Reg addr 0x65, data 0x34TI w_addr0x30Reg addr 0x02, data 0x30TI w_addr0x30Reg addr 0x0E, data 0x30TI w_addr0x30Reg addr 0x0D, data 0x30TI w_addr0x60Reg addr 0x33, data 0x23TI w_addr0x60Reg addr 0x21, data 0x81TI w_addr0x60Reg addr 0x20, data 0x20
——————————–end—————————
以上所有WRITE 953的REG都会报STS 2 此信息为NACK。最后面有将所有的寄存器。重新读出

Kailyn Chen:

回复 user6385092:

好的,我这边帮您再确认下。

user6385092:

回复 Kailyn Chen:

非常感谢!

Kailyn Chen:

回复 user6385092:

您好,请先确认serializer这边是否lock,如果已经lock,说明Alias address 地址没有问题。 另外,请配置BCC_CONFIG的寄存器AUTO_ACK_ALL 和 I2C_PASS_THROUGH_ALL(bit 5和bit 7)看是否能解决您的问题。

user6385092:

回复 Kailyn Chen:

谢谢您。我这边先确认。如有疑问。再请教您

user6385092:

回复 Kailyn Chen:

Dear Kailyn Chen
上次I2C报错通过修改寄存器已解决。目前设置 953的寄存器read出来的值都跟设置不一样。说明DS90UB953寄存器写不进去。TI_WriteReg(TI953Q_WRITE_ID,0x49, 0x24);//CRC error BIST error reset//Set serializer CSI-2 data input from imager lane to 4 lane, 1.8V VDDIOTI_WriteReg(TI953Q_WRITE_ID,0x02, 0x33);//Set GPIO1 and GPIO0 to outputs, where GPIO0 = FSYNC trigger and GPIO1 = IMX390 resetTI_WriteReg(TI953Q_WRITE_ID,0x0E,0xF0);//Set GPIO1 and GPIO0 to low – confirm snesor is power down modeTI_WriteReg(TI953Q_WRITE_ID,0x0D,0x00);//0x90Delay_DelayMs(1);//Bring GPIO1 high again to prepare sensor for initializationTI_WriteReg(TI953Q_WRITE_ID,0x0D,0x0F);

能否帮忙 分析下。可以通过修改哪个寄存器能够解决
Thanks & Best Regards!!

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB953+DS90UB954 DS90UB953的I2C问题
分享到: 更多 (0)