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.

DS90UH949-Q1: Can we use D-GPIO to implement I2C function

Part Number: DS90UH949-Q1

Hi 

Can we use D-GPIO to implement I2C function? 

Below is our idea 

  

  • Hello PYTsai,

    I2C is a bidirectional protocol which requires the slave to ACK in the reverse direction for example for writes. For reads the slave needs to send multiple bits back on the SDA line. 

    However GPIO must be configured as either forward direction or backwards direction for FPD-Link, not bidirectional. So this is unfortunately not possible. 

    Best Regards,

    Casey 

  • Hi Casey, PY

    I think the question is from my side , Jet-opto.  Many thanks for your reply. It seems not possible to take D-GPIO as I2C. So how about the default I2C? Can I use it to talk with far side components from near side SOC through the FPD-link forward and back channel except of configuration programing? My question is ,as the below block diagram, we have transmitted data initiated from SOC at near side or from components at far side and the initiation may reverse next time. How can I set the I2C as master initiated from SOC at near side and switching to slave initiated from MCU at far side next time? 

    Thanks

    Jack Hu

  • Hello Jack,

    The bidirectional control channel allows I2C transactions to pass either from serializer to deserializer or deserializer to serializer, or out to external remote slave devices on either side. Please see section 7.5.2 of the datasheet for information on I2C over the bidirectional control channel and info on how to handle cases where the master could be on either side. 

    Best Regards,

    Casey