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.

DS90UB971-Q1: GPIO data transfer to deserializer

Part Number: DS90UB971-Q1


Hello Expert 

The below statement was available in the serializer datasheet 

GPIO Support
"The DS90UB971-Q1 supports four pins, GPIO0 through GPIO3, which can be monitored, configured, and
controlled through I2C in registers 0x0D, 0x0E, and 0x53. These GPIOs are programmable for use in multiple
options. GPIO0 and GPIO1 can have additional diagnostics functionality when programmed to sense external
voltage levels."

Question: in my application i am using my serializer GPIOs for PMIC error, Imager errors, Imager reset and imager FSYNC 

When i utilizing the GPIOs for above purpose, How the communication between serializer and deserializer happens for to send the data of serializer GPIOs to deserializer  

My understating:

Deserializer request the GPIO data through the back channels I2C, and once the data requested from from deserializer , serializer will transfer the data in forward channel to deserializer 

If my above understanding is true, to send a error free not corrected data to host ( ECU--> deserializer to SOC), what safety mechanisms are suggested

Please let me know and if my understanding is not correct let me know the way this works and some supporting documents if i miss something

Thank you 
Sandeep P.

 

  • Hi Sandeep, 

    The GPIO functionality has flexibility in the implementation.

    For instance, the GPIO on the Serializers can be programmed to be forward or back channel GPIOs. Forward channel GPIOs are input on the DS90UB971 GPIO pin and output to a selected pin on the deserializer. Back channel GPIOs are input to the deserializer and assigned a pin as an output on the serializer. Through this mechanism, individual I2C commands are not required to determine the state of the GPIO pin as GPIO forwarding is already programmed to be transmitted across the FPD-Link BCC.  

    Alternatively, the GPIO status registers can be read on the serializer through I2C transactions to determine the GPIO state as mentioned in your post. 

    For safety related mechanisms, we recommended reaching out to your local TSR or FAE for more insight on this topic since we are unable to discuss specifics on the public forum.

    Best,

    Zoe

  • Hello Zoe

    To get some basic understanding on below statement 

    "The forward channel from serializer to deserializer carries high bandwidth video or sensor data, while the back channel is used to transfer lower bandwidth data like I2C, control, and GPO signals"

    In the back channel can the GPIO data, I2C transfer or communicate both sides from Ser to Dser / Dser to Ser

     

    in the sense either of Forward channel GPIOs or Backward channel GPIOs data Can be communicated to both sides (Ser to Dser and Dser to Ser) through the BCC ???

  • Hi Sandeep, 

    The back channel is considered to be communications from the deserializer to the serializer. The forward channel is considered to be the communication from the serializer to the deserializer. These channels comprise the BCC (bi-directional control channel). 

    When sending GPIO data as a forward channel GPIO, data is transmitted from the serializer to the deserializer. An SoC or some other indicator would be used in this case to determine the GPIO output on the deserializer. The data is not directly confirmed by the serializer but, GPIO status can be read on the serializer via I2C commands. 

    GPIO status registers are available on both the serializer and the deserializer. 

    Best,

    Zoe

  • Hello Zoe 

    My understanding about the GPIO data transfer 

    Possiblity_1

    -->   GPIO data can be transferred in pass through mode where GPIOs High or low can immediately transferred Deserializer depends upon sampling frequency  and can trigger an interrupt at Deserializer which can be read by SOC        

    Where can i find details of data transfer in datasheet ( in which part of D+ out we can find, in which format) ????

    Possiblity_2

    --> other way is that GPIO data can also be transferred as in register mode, The High/Low of GPIO can be stored in Serializer registers depends upon host request through back channel I2C the data transferred to Deserializer through the forward channel 

    Where can i find details of data transfer in datasheet ( in which part of D+ out we can find, in which format) ????

     if above two implementation are not possible in my Ser Des communication, i am planning in this way  

    --> GPIO data High/Low stored in register of serializer once host request through the back channel I2C of GPIO data, can I2C give the information about the GPIO status to the Host through the same back channel I2C ?????

    I want to know clearly weather the GPIO data can be transferred serializer to deserializer through back channel I2C ????? 

    If possible can you explain it please.

  • Hi Sandeep, 

    Would you be able to keep these questions regarding GPIO to one thread in the future? 

    GPIO data can be read through I2C commands. To read the GPIO data via I2C, the pins would not need to be configured as a forward channel or back channel GPIO pin.

    The primary benefit of the forward channel or back channel GPIOs is for a selected signal to have a remote source for its data. If this is not desired, this does not need to be used. 

    In short, all of the above configurations are possible use cases.

    When a GPIO pin is configured as a forward channel or back channel GPIO, the pin status can still be read via I2C. I2C communication between the serializer and deserializer is not impacted by these configurations. 

    GPIO Support is documented in section 6.3.6 of the datasheet. 

    Best,

    Zoe