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.

DS90UB953+DS90UB954 DS90UB953的I2C问题

Other Parts Discussed in Thread: ALP, DS90UB954-Q1, DS90UB953-Q1

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论坛贴子。此方面问题很多都是寄存器配置问题。

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

谢谢!

 

  • 您好,软件报I2C错的截屏可以看下吗?
    关于这类器件的寄存器配置,目前我们可以借助的就是通过datasheet中的寄存器描述和ALP software 来帮助配置。
  • 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, sts 2
    ERR:TI_I2C_Transmit() fail to send data, w_addr 0x30, r_addr 0xD, data 0x2, sts 2
    TI w_addr 0x60 Reg addr 0x00, data 0x60
    TI w_addr 0x60 Reg addr 0x4C, data 0x01
    TI w_addr 0x60 Reg addr 0x58, data 0x5E
    TI w_addr 0x60 Reg addr 0x5B, data 0x00
    TI w_addr 0x60 Reg addr 0x5C, data 0x30
    TI w_addr 0x60 Reg addr 0x5D, data 0x34
    TI w_addr 0x60 Reg addr 0x65, data 0x34
    TI w_addr 0x30 Reg addr 0x02, data 0x30
    TI w_addr 0x30 Reg addr 0x0E, data 0x30
    TI w_addr 0x30 Reg addr 0x0D, data 0x30
    TI w_addr 0x60 Reg addr 0x33, data 0x23
    TI w_addr 0x60 Reg addr 0x21, data 0x81
    TI w_addr 0x60 Reg addr 0x20, data 0x20
    --------------------------------end---------------------------
    以上所有WRITE 953的REG都会报STS 2 此信息为NACK。最后面有将所有的寄存器。重新读出
  • 好的,我这边帮您再确认下。
  • 您好,请先确认serializer这边是否lock,如果已经lock,说明Alias address 地址没有问题。 另外,请配置BCC_CONFIG的寄存器AUTO_ACK_ALL 和 I2C_PASS_THROUGH_ALL(bit 5和bit 7)看是否能解决您的问题。
  • 谢谢您。我这边先确认。如有疑问。再请教您
  • 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 VDDIO
    TI_WriteReg(TI953Q_WRITE_ID,0x02, 0x33);

    //Set GPIO1 and GPIO0 to outputs, where GPIO0 = FSYNC trigger and GPIO1 = IMX390 reset
    TI_WriteReg(TI953Q_WRITE_ID,0x0E,0xF0);
    //Set GPIO1 and GPIO0 to low - confirm snesor is power down mode
    TI_WriteReg(TI953Q_WRITE_ID,0x0D,0x00);//0x90
    Delay_DelayMs(1);
    //Bring GPIO1 high again to prepare sensor for initialization
    TI_WriteReg(TI953Q_WRITE_ID,0x0D,0x0F);

    能否帮忙 分析下。可以通过修改哪个寄存器能够解决
    Thanks & Best Regards!!
  • 您好,在读寄存器之前先配置寄存器0X4C. 再试试。
    UB954 = 0x60

    WriteI2C(UB954, 0x4C, 0x01) // Set up reads and writes from RX port 0

    Alias = ReadI2C(UB954, 0x5C) // Read the serial alias
  • Dear Kailyn Chen
    您好!
    直接按您上面的读取值为:
    <TI Read> w_addr:0x60 Reg addr:0x5c, data:0x0
    Thanks & Best Regards!!
  • Dear Kailyn Chen
    是否可以判断是硬件链路问题?
    Thanks & Best Regards!!
  • hi Kailyn Chen
    最近有看到一个这样的信息。
    DS90UB953-Q1、DS90UB954-Q1的DATASHEET和TI官网,
    DS90UB953/954 System Design & Operation :Basic Design Rules – Part 1
    关于MODE部分,是存在差异的。DS90UB953/954 System Design & Operation :Basic Design Rules – Part 1介绍MODE部分,他是会分STP和COAX。两种方式,MODE的硬件电阻是不一样的。这个是否应该按照。DS90UB953/954 System Design & Operation :Basic Design Rules – Part 1介绍MODE部分参考来配置?
  • 您好,不知您的问题解决了没有,不能判断是硬件的问题, 建议将DS90UB953+DS90UB954的寄存器配置附上,我这边帮您看下。
  • 非常感谢一直以来的解答!
    目前硬件上有发现一些链路问题,有重新去打样后拉板。需等打样板回来再进行调试。后续有问题再继续请教您!
  • 您好!Kailyn Chen !
    目前我们重新画了后拉DS90UB953的板,参考3EVM板LAYOUT
    DS90UB954 MODE Pin 上拉78.7k下拉97.6K.
    DS90UB953 MODE pin 上拉10K 下拉402R.
    IDX都是下拉 40.2K.
    目前采用的同轴线。
    配置如下:
    TI954 0x60//DES Device ID
    TI953 0x18//SER Alias ID

    TI954, 0x4C, 0x01
    TI954,0x58,0x58
    TI954,0x5B,0x30
    TI954, 0x5C, 0x18
    TI954,0x5D,0x34
    TI954,0x65,0x34
    TI954,0x6d,0x7C
    TI954, 0x33, 0x23
    TI954, 0x20, 0x00
    TI953,0x49, 0x24
    TI953,0x02, 0x32
    TI953,0x06, 0x21
    TI953,0x07, 0x28
    TI953,0x0E,0xF0
    TI953,0x0D,0x00
    Delay_DelayMs(1);
    TI953,0x0D,0x01
    请帮忙再看下配置是否有问题
    目前还是953寄存器写不进去。I2C报错
    Thanks & Best Regards!!
  • 请问问题解决了,遇到同样的问题

  • 你好,请问问题解决了吗?遇到同样的问题

  • 你好,问题解决了吗?我也遇到这样的问题