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.

TXE8124-Q1: TXE8124-Q1 GPIO Operation and Timing

Part Number: TXE8124-Q1
Other Parts Discussed in Thread: TXE8124

I would like to ask about the TXE8124.
When writing registers via SPI Intereface to set GPIO as output.

1. When is the timing at  the GPIO is actually set to output? Is it after CS becomes negate and SCLK passes tpv?

image.png

2. Does the following mean the written value can be output via SDO? (Is readback operation possible?)

image.png

3. In the case of the operation described in No. 2., when the value readback value is different from the written value, can the controller rewrite it?

  • Hi Ootaka-san,

    1. When is the timing at  the GPIO is actually set to output? Is it after CS becomes negate and SCLK passes tpv?

    image.png

    When the 24th rising clock edge occurs and after a tPV, the Px.x pin is set to the appropriate output voltage.

    2. Does the following mean the written value can be output via SDO? (Is readback operation possible?)

    image.png

    Step 6 shifts out the previous register setting on SDO while a byte is being driven onto SDI. 

    For example, if the output port register already reads 0xAA, and you want to change the byte to 0xFF. As you write 0xFF on SDI, you will read back 0xAA (the previous registers' contents). 

    3. In the case of the operation described in No. 2., when the value readback value is different from the written value, can the controller rewrite it?

    The readback value is the previous register value. The written value and the readback register value are only the same if they are the same to begin with. I.e. register reads 0xFF, you write 0xFF to SDI. 

    Regards,

    Tyler

  • Thank you for your reply, Tyler.

    Is it possible to write a value to the output port register in the case of the direction configuration register being set to “input”?
    And, Is it possible to change the direction configuration register to “output” after writing a value to the output port register?
    This is to prevent undesired values from being output due to incorrect operation.

  • Hi Ootaka-san, 

    Is it possible to write a value to the output port register in the case of the direction configuration register being set to “input”?
    And, Is it possible to change the direction configuration register to “output” after writing a value to the output port register?
    This is to prevent undesired values from being output due to incorrect operation.

    This will work and is a common practice for IO expanders.

    Writing to the output register first before writing to the direction register is okay while the Px.x pins are still inputs. This will set the correct logic on the outputs before applying it to the IO pins. 

    Regards,

    Tyler