Hi,
1mbit CANバスでflexCANを搭載したIMXRT1021を使用しています(最近の版でCANが追加された既存の製品)。
これはほとんどの場合うまく機能し、CANは問題なく送受信しています。
ただし、CANバスに物理的なイベント(大きなノイズスパイクやCANバスラインの短絡など)が発生すると、CANモジュールがスタックし、送受信できなくなる可能性があります。これが発生した場合、それは主にCAN_STATE_ERROR_PASSIVEですが、時にはCAN_STATE_ERROR_BUS_OFFこともあります。
これが発生すると、CAN バスのスコーピングはアイドル状態を示し、レジスタは次のようになります。
CANコールバックへのCANステータスは0x14be(kStatus_FLEXCAN_ErrorStatus)です
FLEXCAN_GetStatusFlags() は 0x40118 を与えます (ERROR_PASSIVE |RX_WRN |シンクロ)
CAN_PERIPHERAL->IFLAG1 = 0
CAN_PERIPHERAL->ESR2 0x6000 (この状態になる前と同じ)
CAN_PERIPHERAL->DBG1 = 0x2000032 (0x1000032、0x2000032、0x4000032などでカウント)
CAN_PERIPHERAL->DBG2 = 0x3e (発行前と同じ)
CANペリフェラルのDeInitおよびReInitではこの問題は解決せず、最も懸念されるのはプロセッサのソフトリセットでも解決しません。電源を入れ直すだけで、物事は回復します。
ソフトリセット後の状態は次のとおりです。
CANコールバックへのCANステータスは0x0
FLEXCAN_GetStatusFlags() は 0x0
CAN_PERIPHERAL->IFLAG1 = 0
CAN_PERIPHERAL->ESR2 0x6000
CAN_PERIPHERAL->DBG1 = 1000001
CAN_PERIPHERAL->DBG2 は 0、0xb700、0xa000、0x9000 を循環します
これは MAX33015EATB CAN トランシーバーを使用しており、バスはバスの物理両端で 120 Ω の分割 y 終端で終端されています。
さらに詳細が必要な場合はお問い合わせください。
これについて何か助けをいただければ幸いです。
よろしくお願い申し上げます。
Hi @PeteA ,
情報をありがとう!CAN_STATE_ERROR_PASSIVEまたはCAN_STATE_ERROR_BUS_OFFのイベントを処理するためにISRにCAN PHYリセットコードを配置したり、CAN txラインのピンマルチプレクサを変更してトグルを設定したりできます。
良い日をお過ごしください
菅
-------------------------------------------------------------------------------
手記:
- この記事があなたの疑問に答えたら、「正解をマーク」ボタンをクリックしてください。ありがとうございます!
- 最後の投稿から7週間スレッドをフォローしていますが、その後の返信は無視されます
新しいスレッドを開き、後で関連する質問がある場合は、閉じたスレッドを参照してください。
-------------------------------------------------------------------------------
残念ながらそうではありません。
ただし、CANトランシーバー(MAX33015EATB)には障害管理があり、エラー状態を検出するとエラー状態になる可能性があることを確認しました。
これが原因である可能性が非常に高いです(残念ながら、障害ピンが壊れていないため、チェックするスコープは困難ですが、テストを試みたところ、アサートされているように見えました)。
これは、CAN txラインを切り替えることでリセットできますが、これを行う方法を理解する必要があります
助けてくれてありがとう
Hi @PeteA ,
デバイスはしばらくするとエラーアクティブ状態に戻りますか?
良い日をお過ごしください
菅
-------------------------------------------------------------------------------
手記:
- この記事があなたの疑問に答えたら、「正解をマーク」ボタンをクリックしてください。ありがとうございます!
- 最後の投稿から7週間スレッドをフォローしていますが、その後の返信は無視されます
新しいスレッドを開き、後で関連する質問がある場合は、閉じたスレッドを参照してください。
-------------------------------------------------------------------------------