CAN通信について質問です。

はじめまして、キキです。

投稿を見ていただきましてありがとうございます。

対象マイコン:RH850/F1KM

早速本題ですが、CAN通信の受信が最大4件しかできず困っております。

RCFDC0.CFDRFSTS0.UINT32を確認しましたところ、4件受信できております。

こちら4件以上受信することはできるのでしょうか。

4件受信した時点でRFFLLは”1”になっておりフルとなってしまっております。

どこの設定を変更すればバッファ数を変更できるのか教えていただきたいです。

Parents
  • RH850(RS-CANFD)の受信は、

    ・受信バッファ(全chで共通)

    ・受信FIFO(全chで共通)

    ・送受信FIFO(ch毎)

    の3種類のどれかで受信する事とかとなると思いますが、CFDRFSTS0を見ているということは、「受信FIFO」を使っているものと思います。

    RCFDC0.CFDRFCC0.RFDC = 7

    で、FIFO(0)の段数を128段に設定出来るかと思います。(現在の設定値は1でしょうか、1ですと4段の設定です。)

    なお、「受信バッファ」「受信FIFO」「送受信FIFO」の合計で、28kBの容量となっていますので、

    1バッファ64バイト(CAN-FDパケット向け)

    FIFO 128段

    FIFOを4本使用

    →合計32kBとなり、バッファメモリがパンク、となりますので、メモリの範囲内でFIFO段数を設定してください。

Reply
  • RH850(RS-CANFD)の受信は、

    ・受信バッファ(全chで共通)

    ・受信FIFO(全chで共通)

    ・送受信FIFO(ch毎)

    の3種類のどれかで受信する事とかとなると思いますが、CFDRFSTS0を見ているということは、「受信FIFO」を使っているものと思います。

    RCFDC0.CFDRFCC0.RFDC = 7

    で、FIFO(0)の段数を128段に設定出来るかと思います。(現在の設定値は1でしょうか、1ですと4段の設定です。)

    なお、「受信バッファ」「受信FIFO」「送受信FIFO」の合計で、28kBの容量となっていますので、

    1バッファ64バイト(CAN-FDパケット向け)

    FIFO 128段

    FIFOを4本使用

    →合計32kBとなり、バッファメモリがパンク、となりますので、メモリの範囲内でFIFO段数を設定してください。

Children
  • こんにちは tfさん

    ご返信ありがとうございます。

    RCFDC0.CFDRFCC0.RFDC のレジスタを変更すればよいのですね。

    無事変更することで意図通りにバッファにメッセージがたまるようになりました。

    ありがとうございます。

    今回はバッファメモリがパンクすることはありませんが、今後パンクするリスクも考慮して利用していきたいと思います。

    大変助かりました。

    ありがとうございます。