UART TX pullup

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

UART TX pullup

跳至解决方案
1,703 次查看
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 项奖励
回复
1 解答
1,521 次查看
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 项奖励
回复
6 回复数
1,696 次查看
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 项奖励
回复
1,677 次查看
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 项奖励
回复
1,669 次查看
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 项奖励
回复
1,657 次查看
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 项奖励
回复
1,522 次查看
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 项奖励
回复
1,665 次查看
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 项奖励
回复