NXPサポートチーム様
現在、UART 通信用の LPUART1 を搭載した SDK を使用して RT1170 を開発しています。Send BREAK の検出で問題が発生しており、ご指導をいただきたいと思います。
問題の説明:
LINブレーク検出(LBKDE)とLBKDIEを有効にすると:
PC からの Send BREAK 信号が MCU で正常に検出されます (LBKDIF フラグが設定されます)。
ただし、通常の UART データ通信は機能しません。
通常の UART モードで RX と TX が正常に動作しています。
スコープ測定により、Send BREAK 中に PC の TX ラインが予想される期間 (約 2100 ミリ秒) にわたって低いままであることが示されます。
質問:
RT1170 LPUART ではこの動作が想定されていますか?
通常の UART 通信を許可しながら、PC の BREAK 送信を検出する推奨方法はありますか?
RT1170 で正常な UART データ受信を維持しながら、PC からの Send BREAK を確実に検出する方法についてご指導いただければ幸いです。
ご協力ありがとうございます。
よろしくお願いいたします。
NXPサポートチーム様
前回のご説明と RT1170 リファレンス マニュアルへの参照をありがとうございます。
RM の説明に基づくと、 LBKDE = 1の場合、 LIN ブレーク検出回路が有効になり、受信データが RX FIFO に書き込まれないため、通常の UART 受信が意図的に無効になることがわかります。この動作は想定内のものであると認識しています。
ただし、可能な代替案や推奨される解決策に関して追加の質問をしたいと思います。
PC からのSend BREAK条件を検出します (USB-UART 経由)。
同時に、通常の UART データの送受信を継続します。
LIN プロトコル スタックは必要ありません。これは、同期または制御信号として BREAK が使用される一般的な UART 通信です。
LBKDE = 1の場合
LIN BREAKが正しく検出されます(LBKDIFが設定されます)。
RM で説明されているように、通常の UART RX データはブロックされます。
LBKDE = 0の場合
通常の UART RX は正常に動作します。
LBKDE を有効にせずに、通常の UART RX をアクティブに保ちながらSend BREAK を検出するために RT1170 でサポートまたは推奨される方法はありますか?
フレーミング エラー (FE) + RX FIFO フラッシュの使用は、非 LIN UART BREAK 検出に対する意図された回避策と考えられますか?
一般的な UART 通信で LBKDE を使用する場合、エラッタ、文書化されていない設定、またはハードウェアの制限はありますか?
このユースケースがサポートされていない場合は、 RT1170 LPUART がデザイン上、LIN BREAK 検出と通常の UART 受信を同時にサポートしていないことを確認してください。
このシナリオについてご確認いただくか、推奨されるベストプラクティスがあればお知らせください。
今後ともどうぞよろしくお願い申し上げます。
よろしくお願いいたします。
こんにちは@dskim2さん、
NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。
あなたが説明した現象は予想されたものです。RM からの以下の説明を参照してください。
さらに、弊社の同僚の 1 人が、お客様にとって役立つ可能性のある同様の機能を実装しました。
よろしくお願いします、
ギャビン