2383704_ja-JP

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

2383704_ja-JP

2383704_ja-JP

S32K314 UART

最近、S32K314シリアルポートのデバッグ中に問題が発生しました。以前はGD32/STM32プラットフォームを使用しており、シリアルポートをリアルタイム印刷に使用する場合、アプリケーション層で印刷文字を処理し、割り込みを介して送信するために基盤となる書き込み関数を呼び出していました。

Joker_Y_2-1781951653320.png

Joker_Y_4-1781951712695.pngJoker_Y_5-1781951735385.png


このデータはデータレジスタに直接書き込まれ、すぐに送信されます。そのため、キューがありデータ転送が高速なので、アプリケーション層が大量のデータを受信しても慌てる必要はありません。しかし、S32K3 を使用すると、ネストされたレイヤーがあるため、非同期送信関数 `Lpuart_Uart_Ip_AsyncSend` が比較的遅いことがわかりました。相対的に言えば、同じバイト数のプリントデータの場合、S32K3 は GD32 よりもはるかに遅いです。AI は解決策を提供します。

Joker_Y_6-1781952019622.png


アプリケーション層では、書き込みごとの処理方式から、大きなバッファを使用して下位層に書き込む方式に変更されます。そして、下位層の書き込み関数と割り込みは、以下のように処理されます。

Joker_Y_7-1781952213976.png

Joker_Y_8-1781952251883.png

この方法は確かに速度を向上させますが、大量のRAMを必要とします。容量と効率の両面でより優れた方法はありますか?




Re: S32K314 UART

MCUレベルでのOSを使っていますか?それともベアメタルだけですか?

Re: S32K314 UART

使用されているオペレーティングシステム

Re: S32K314 UART

こんにちは@Joker_Y

可能であれば、レジスタを使用してLPUART送信を直接実装してみてください。

Re: S32K314 UART

具体的な手順の例を教えていただけますか?

Tags (1)
No ratings
Version history
Last update:
17 hours ago
Updated by: