UART TX pullup

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

UART TX pullup

Jump to solution
1,419 Views
Panasonic_Kevin_Yang
Contributor I

Hello,

 

I'm using s32k324, we have seen LIN TX pin always pullup, but don't know why.

 

So I created a fresh project in s32 ds, and I only configured PTA29 as LPUART TX, after pin initialization, it becomes high.

 

To test further, I also tried to configure it as GPIO Output, after the pin configuration, it is not pullup.

 

Please help to clarify the pull up behavior.

 

Test was performed by multi meter on MCU pin.

0 Kudos
Reply
1 Solution
1,237 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi Kevin,

yes, the pin pin level is retained during the Standby. If you need low level you will need to change to GPIO here. 

For the MSCR reconfig, this can be done as per user needs. The Apps feedback for this is..."the user can modify the MSCR during the runtime, just taking care of the correct initialization | configuration. The note in the RM is that we cannot recommend doing that because it is not the ideal application, but not for the internal capabilities."

BR, Petr

View solution in original post

0 Kudos
Reply
6 Replies
1,412 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

there can be several reasons for this.
- you enabled weak pull up on pin
- pin is connected to LIN transceiver which has typically internal weak pull up on its TXD pin as well
- you did LPUART init before. The transmitter output (TXD) idle state defaults to logic high.

For the GPIO output setting, the output level depends on configured init level, driven by respective GPDO register.

BR, Petr

0 Kudos
Reply
1,393 Views
Panasonic_Kevin_Yang
Contributor I

Hi Petr,

 

Below is the config and source code for testing purpose.

 

Pin Config:

Panasonic_Kevin_Yang_0-1752202181169.png

generated code :
Panasonic_Kevin_Yang_2-1752202334579.png

 

Main function:

Panasonic_Kevin_Yang_1-1752202292308.png

 

As you can see, PIN pullup is not enabled.

before Siul2_Port_Ip_Init() execution, the pin is 0V, it becomes 5V after it.

So, it is not LIN transceiver internal pullup.

NO LPUART driver init has been performed.

 

And Today, I also tested on NXP EVM S32K3X4EVB-T172 Evaluation Board for Automotive General Purpose | NXP Semiconductors

 

It has the same behavior.

 

Please help to check if it is NXP design to do so?  if so, how can I change its behavior?

 

0 Kudos
Reply
1,385 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi Kevin,

this behavior has been confirmed.
It appears that the internal logic maintains the "TXD" signal at a high level by default. Consequently, when the pin is selected via SIUL, it transitions to a high state.
Could this behavior lead to any issues?
Since a high level represents the idle state in UART/LIN protocols, it is unclear why there is an effort to modify this behavior.

BR, Petr

0 Kudos
Reply
1,373 Views
Panasonic_Kevin_Yang
Contributor I

Panasonic_Kevin_Yang_0-1752250055001.png

I tried to change pin configuration during runtime, it seems not possible.

And NXP document also mentioned it.

 

what could be the solution?   a MCU reset is needed to load different pin mux config data?

0 Kudos
Reply
1,238 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi Kevin,

yes, the pin pin level is retained during the Standby. If you need low level you will need to change to GPIO here. 

For the MSCR reconfig, this can be done as per user needs. The Apps feedback for this is..."the user can modify the MSCR during the runtime, just taking care of the correct initialization | configuration. The note in the RM is that we cannot recommend doing that because it is not the ideal application, but not for the internal capabilities."

BR, Petr

0 Kudos
Reply
1,381 Views
Panasonic_Kevin_Yang
Contributor I

it is still high in standby mode, our concern is power consumption.

what is the best practice to make it low when we standby mode, reconfigure it to gpio?

0 Kudos
Reply