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.

DS90UB954-Q1: Auto Acknowledge and Broadcast feature

Part Number: DS90UB954-Q1
Other Parts Discussed in Thread: DS90UB953-Q1,

Hello !

We want to use the features “Auto Acknowledge” and “Broadcast”.

The data sheet mentions that there is a FIFO implemented for buffering the I²C write transfers from deserializer(DS90UB954-Q1) to serializer(DS90UB953-Q1) but it is not described in detail (function, size of FIFO, baudrate settings to avoid overflow).

With our current configuration (serializer I2C baud rate on camera = 400k, Deserializer I2C baud rate on ECU = 400k nominal) sometimes transfers seem to be corrupted.

If I lower either the speed on the ECU I2C  or increase the speed on the camera I2C everything is fine.

But I am not sure how to configure it in a safe way.

Thanks for the support.

  • Hi Pradeep,

    The Auto Acknowledge feature (configured in reg 0x58) allows the I2C transection to the 953 to ack without actually receiving ack.

    Broadcast mode (configured in reg 0x5C) allows multiple serializers to be configured at the same time.

    Did you change the high/low settings in reg 0x0B and reg 0x0C? Refer to Typical I2C timing table in the datasheet.

    Best,

    Jiashow

  • Hello Jiashow,
    We are using the broadcast and Auto Acknowledge feature. 
    We have modified the 0x0B and 0x0C registers accordingly to have 400K baud rate.
    Now the issue is that, when we communicate with 954 at 400K baud rate and also the I2C baud rate on 953 is configured to be 400K, we observe sometimes corrupt I2C transaction on the 953 side.
    If I reduce baud rate of communication with 954(for example 350 KHz) then all the I2C communication is working as expected.
    else if i increase the baud rate on 953 (for example to 450K) side by adapting the 0x0B and 0x0C registers then the I2C cimmunication is working as expected. 
    Now the question is why is this happening ?
    What is a safe baud rate to be used on 954 and 953 for broadcast and auto acknowledge.
    Referring to 954 and 953 datasheet, in the block diagrams there is FIFO buffer along with the I2C controller.
    How is this buffer working ?
    How big is the buffer ?
    Can we configure this ?
    Regards,
    Pradeep
  • Hi Pradeep,

    Did you also adjust the I2C timing in reg 0x7A and 0x7B in the 954? There's still room to lower the I2C high/low time. What happens when you lower the setting (from the "typical recommendation")? 

    Best,

    Jiashow

  • Hi Jiashow,

    I suppose you meant the registers 0x0A and 0x0B in 954, to adjust SCL HIGH Time and SCL LOW TIME. These registers are relevant only when 954 is remote slave and 953 is master. In my case 953 is the remote slave.

    Like I mentioned in the previous comment, if I lower the baud rate of communication with 954 or if I increase the baud rate on the remote I2C of 953 using  0x0B and 0x0C registers, then communication works fine.

    Problem appears only when both baud rates are same (400Khz)

    For this reason, I would like to understand how the FIFO buffer works ? and if we can configure this buffer ?

    Regards, Pradeep

  • Hi Pradeep,

    The FIFO is not configurable. I believe when you set the baud rate to 400kHz on the 953, it's actually lower. Could you measure this on the scope?

    Best,

    Jiashow

  • Hi Jiashow,

    We have measured the I2C baud rate using oscilloscope and it is 400 KHz.

    Regards,Pradeep

  • Hi Pradeep,

    Did you measure the I2C on the 953 output? Could you provide a scopeshot?

    Best,

    Jiashow

  • Hi Jiashow,

    Yes. We measured the I2C on the 953 output. But I don't have a screenshot.

    Regards,

    Pradeep

  • Hi Pradeep,

    The baud rate for the I2C to the 954 need to be equal or slower than the 953. It might be that the baud rate on the 954 is slightly higher than the 953, which is why you're seeing errors.

    Best,

    Jiashow

  • Hi Jiashow,

    If the baud rate is equal then we observe errors. 

    If the baud rate on 953 side is more than 954, then communication is ok.

    Now back to the original question of the post.

    If I want to have 400K baud rate for communication to 954, as you mentioned baud rate on 953 should be slightly more than 400K. 

    How to decide the baud rate on 953 ? Should it be 410K or 405K. Please let me know where these details are specified, I can refer to these details and decide accordingly.

    Thanks and regards,

    Pradeep 

  • Hi Pradeep,

    Could you try something just slightly above 400kHz. Around 401kHz? I believe as long it's greater it should work.

    Best,

    Jiashow

  • Hi Jiashow,

    Yes. I can try 401KHz, this is exactly I want to avoid. I am looking for some specification based on which we can decide to use 401KHz or 405KHz or whatever. 

    The point is that, what ever baud rate is used, there need to be a justification based on the datasheet why this baud rate used and this would ensure that the baud rate will work in all worst case scenarios(-40 deg to +80 deg temperature). 

    Can you please help me with this.

    Regards,

    Pradeep   

  • Hi Pradeep,

    Please give me a couple of days to discuss this with my team.

    Best,

    Jiashow

  • Hi Pradeep,

    I had a discussion with my team and we'd like you to check the I2C slave. If both ser and des are running at 400kHz, the data is corrupt, but you can still access 953 registers, this implies the I2C slave is the issue and not the FPD link since you can access 953 registers properly at 400kHz.

    Best,

    Jiashow

  • Hi Jiashow,

    I have checked the I2C slave connected to the Serializer, the slaves are working as expected for I2C baud rate upto 800KHz.

    Regards,

    Pradeep

  • Hi Pradeep,

    Could you provide an actual scope shot at the 953 I2C when you set the rate to 400KHz?

    Jiashow

  • Hi Jiashow,

    We have disabled this feature now. I am not able to provide actual scope shot now.

    Regards,

    Pradeep

  • Hi Pradeep,

    Is there any pending items?