UART TX pullup

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
1,420件の閲覧回数
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,238件の閲覧回数
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,413件の閲覧回数
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,394件の閲覧回数
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,386件の閲覧回数
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,374件の閲覧回数
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,239件の閲覧回数
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,382件の閲覧回数
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 件の賞賛
返信