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.

DS90UH947 and DS90UH928 Configure GPIO7 as input on serializer

Other Parts Discussed in Thread: ALP

Hi team,

When using the DS90UH947 and DS90UH928 as a serializer and deserializer pair, I am trying to pass data from GPIO7_REG on the serializer to GPIO7_REG on the deserializer. Using the ALP software, under the registers tab, I am trying to understand how to configure the registers to achieve this setting.

Looking at the datasheet for the DS90UH947, I believe (bit 0) = 1 and (bit 1) = 1 at address 0x11.

Looking at the datasheet for the DS90UH928, I am a bit confused. Should (bit 0) = 1 and (bit 1) = 0 at address 0x21? I am not sure how to configure the deserializer so that the SERIALIZER uses GPIO7 as an input. Also, what should the setting be for bit 3 of address 0x21 if I want to achieve this configuration?

Thanks in advance,

Jared

  • Jared,

    This question belongs in the high speed interface forum, so I moved it there for you.
  • Hi Jared,

    You are correct on the 947 configuration setting 947 register 0x11[1:0] = 11.  This will set 947 GPIO_REG7 as an input.

    On the 928, to set the 928 GPIO_REG7 as an output, set 928 register 0x21[1:0] = 01.

    The 928 GPIO_REG7 output now will mirror dynamically as the input toggles from the 947 GPIO_REG7.input

    Using 928 register 0x21[3], this will force 928 GPIO_REG7 to a static HIGH or LOW locally.

    Note, even if you set 947 0x11[1:0] = 11 configured as an input, setting 0x21[3] on the 928 will override to output to a local static value.

    So when 0x21[3]=0; 928 GPIO_REG7 = static LOW.

    When 0x21[3]=1, 928 GPIO_REG7 = static HIGH.

  • Hi Darryl,

    Thanks for the information. I am still a bit confused though. 

    Configuring the 947 GPIO_REG7 as an input pin is straight-forward and makes sense.

    Configuring the 928 GPIO_REG7 as an output is unclear.

    From your response you said, "On the 928, to set the 928 GPIO_REG7 as an output, set 928 register 0x21[1:0] = 01." To clarify, I understand this to mean the Local GPIO Direction (Bit 1) = 0: Output (default) and GPIO Function Enable (Bit 0) = 1: Enable GPIO operation.

    Based on the the description of Local GPIO Output Value, if register 0x21[1:0] = 01, the condition has been met where "This value is output on the GPIO pin when the GPIO function is enabled (as we have done by setting Bit 0 = 1) AND the local GPIO direction is Output (which we have also done by setting Bit 1 = 0). Because this condition has been met, we have now forced the GPIO_REG7 pin to a static HIGH or LOW locally.

    Thus, I do not understand how "The 928 GPIO_REG7 output now will mirror dynamically as the input toggles from the 947 GPIO_REG7.input". It seems to me that the output of the 928 will always be forced locally HIGH or LOW and will not mirror the input of the 947.

    Please let me know what I am not understanding correctly.

    Thank you,

    Jared