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.

DS90UB964-Q1: Broadcast mode

Genius 4905 points
Part Number: DS90UB964-Q1

Hello,

According to the data sheet "8.5.3 Broadcast Write to Remote Devices", if we run the
"8.5.3.1 Code Example for Broadcast Write" on UB964, I2C address of all serializers
(Ex.DS90UB913) become 0x0C. So, there are many seializers that same I2C address (0x0C) on I2C bus.
In this case, we can use the broadcast write, if we write the data in 0xC of I2C address.
This is my understanding about broadcast mode at DS90UB964.

I have some questions about broadcast mode at DS90UB964.

1. Why can DS90UB964 write right data to all serializer?
Please let me know the mecanisumu of this.

2. Can DS90UB964 receive ACKs from all serializer?

3. Can DS90UB964 confirm that I2C communication did not work, if one of serializer does not work?

Regards,
Nao

  • Nao,

    1.  Broadcast is handled by setting Alias/ID pairs. Accesses to the Alias will get forwarded to each remote device. Suggest reviewing the following apps report:

    2.  Yes.

    3.  No.  ACK is an OR operator of responding cameras via I2C. If any device ACKs the access, an ACK will be generated.

    Regards,

    Davor

  • Hi, Davor-san

    I guess all serializes that connecting DS90UB963 are same Device ID and Alias ID, when we use Broadcast mode.

    Is my understanding correct?

    Regards,
    Nao
  • Hi Nao-san,

    Each serializer connecting to the DS90UB964 may or may not have the same Device ID.  The Device ID needs to match the actual serializer I2C address. Each serializer needs to have the same Alias ID if you want to broadcast a command to all serializers.

    Regards,

    Davor

  • Hi, Davor-san


    Sorry to bother you again.

    According to the data sheet "8.5.3 Broadcast Write to Remote Devices", if we run the

    "8.5.3.1 Code Example for Broadcast Write" on UB964, I2C address of all serializers

    (Ex.DS90UB913) become 0x0C. So, there are many seializers that same I2C address (0x0C) on I2C bus.

    In this case, we can use the broadcast write, if we write the data in 0xC of I2C address.

    My image is here.

    Why can the DS90UB964 write data to all serializers?

    I guess same address should not exist on the same I2C bus.
    Could you please explain about this mechanism of broadcast mode?

    Regards,

    Nao

  • Hi Nao,

    If you want to broadcast a command to all serializers, then you need to set SER_ALIAS_ID on all serializers to the same value. If you want to send unique commands to each serializer separately, then you set SER_ALIAS_ID on each serializer to a unique value.

    Regards,
    Davor
  • Hi, Davor-san

    Thank you very much for your kind response. Yes. I understand you are saying by that we discussed with you in this thread.

    In the broadcast mode, 4 serializers are same I2C address, if to set SER_ALIAS_ID on all serializers to the same value.
    As my understanding, same address should not exist on the same I2C bus. I guess it is in breach of I2C specification.

    So, I want to know the reason that why can DS90UB964 write right data to all serializers in broadcast mode?


    Regards,
    Nao

  • Hi, Davor-san

    Do you have any update for this?

    Regards,
    Nao
  • Hi, Davor-san

    Sorry for the rush but our customer is waiting for your answer.
    Do you have any update for this?

    Regards,
    Nao
  • Hi Nao,

    I'm sorry for the delay on this.  It looks like I accidentally muted this thread, so I never received an email notification about your additional question.

    If you reference Figure 4 of SNLA222, you will note that the deserializer encodes I2C commands from the I2C Host controller over an I2C bus (Bus A) and forwards it to the serializer(s) over the FPD-Link III interface(s) (bi-directional control channel(s)).  The serializer acts as the I2C master proxy of the host controller and forwards the command further over another I2C bust (Bus B) to the remote slave (a camera module).   Therefore, the remote camera and the serializer are physically not on the same I2C bus as the deserializer and the host controller.  There is FPD-Link III interface in between the serializer and deserializer ( and the two I2C buses) that enables the communication.

    Similarly, with 4 camera modules, 4 serializers, and a deserializer (DS90UB964), you can broadcast a single command from the host controller to all remote cameras by virtue of using the same Slave Aliases.  The 964 receives the command from the controller, it encodes it and sends 4 copies over 4 FPD-Link III interfaces (also 4 cables) to the remote serializers.  The serializers further forward the command to the remote cameras over 4 separate I2C buses.

    Regards,

    Davor

  • Hi, Davor-san

    Thank you for your reply.

    Regards,
    Nao