MSPM0G1107: MSPM0 SPI PICO pin

Part Number: MSPM0G1107


Hi Team,

I wanted to ask if upon initialization the SPI PICO pin is idle Hi-Z or forced?

In my code, it seems to be Hi-Z until data is sent to the buffer for transmit.

I read similar posts on e2e, this one:

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1445621/mspm0l1105-rate-of-pico-is-slowly

is the same as what I see.

 

Further, in this e2e post, it seems like Luke Ledbetter has mentioned that the PICO pin is indeed Hi-Z when idle:

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1516431/mspm0g3519-discrepancy-between-mspm0-trm-registers-and-example-code

 

The confusion is that in the TRM SPI description, it is said that the PICO is forced idle low.

In my configuration, Hi-Z = 0 and I can get PICO to stay idle low whenever PIPD = 1, however if PIPD = 0 then the PICO pin will eventually drift high.

The reason why the PICO eventually goes high is because I have a 100k external pull-up on the pin (required by my SPI pheripheral device). In the first link above, it seems like someone tried this and didn't see the issue, but I am pretty sure they didn't have an external pull-up.

So is the PICO idle state Hi-Z ?

Thank you,

Viktor.

 

  • Test as below:

    Hardware connection: SPI controller PICO - 2.2k pullup resistor - 3.3V

    Using Logic Analyzer to monitor PICO and multi meter to test PICO current.

    SPI controller keep sending 0x00: Current 1.4mA ( = 3.3V / 2.2k)

    SPI controller keep sending 0xFF: Current 222uA ( ≈ 3.3V / 2.2k * 8.64%)

        Vrms of PICO is 3.015V means duty cycle is 8.64%

        Vrms calculated by logic analyzer and current test by multi meter may not equal, but they are at same level.

    SPI stop sending, current = 3.2uA

    SPI stop sending, without pullup, PICO = 0V but noise Vpp = 200mV

    SPI keep sending 0x00, without pullup, PICO = 0V but noise Vpp = 100mV

    --------------------------------

    So is the PICO idle state Hi-Z ?

    Above test, we can know that when send 0x0, PICO is force to logic 0.

    When stop send, current is only 3.2uA, this means PICO is Hi-Z in idle state.

    Test code:

    SPI_PICO_StatusTest_G3507.zip

  • Ok, so it is in HI-Z during idle state.

    Thank you.

    Best Regards,

    Viktor.