”かふぇルネ“はルネサス製品に関してユーザ同士が自由に会話をするツールであり、回答者はルネサス社内外の方たちとなります。ルネサス製品やソリューションに関して正式な回答をご希望の場合は、ルネサス技術サポート問合せをご使用ください。

RH850/F1K CAN FDマージモード送信バッファの見積もり

教えてください

CAN FDの64Byteペイロードを考慮するために送信バッファをマージモードで使用します、マージ後、一つのチャンネルに対し、いくつ送信バッファーが使用できるか

知りたいので、ご教授ください。

私の理解ですと、6つの送信バッファをマージして一つのマージ送信バッファーを作りますが

そもそも基本の送信バッファーは一つのチャンネルに対して16個の送信バッファーが割り振られているので

マージ送信バッファーは一つのチャンネルに対して二つしか取れないで正しいでしょうか?

つまり、16バッファ/6送信バッファ=2バッファー余り4バッファと考えています。

よろしくお願いします。

  • フランさん

    こんにちはNAKAといいます。

    僕は、RH850F1KMを使いましたが、

    HWマニュアル「24.10.1.5 バッファの設定」に以下記載がありますよ!

    【記載内容】

    受信バッファとFIFO バッファで使用可能なRAM は最大28672 バイトです。
    次の条件を満たすように設定してください。

    受信バッファ数×(12+ペイロード格納サイズ)
    +受信FIFO バッファx の(段数×(12+ペイロード格納サイズ))の合計
    +送受信FIFO バッファk の(段数×(12+ペイロード格納サイズ))の合計
    ≦28672 バイト

    ちなみに僕は、CAN-FDの8chのうち、主用途に5ch、簡易モニタ用に1chを使用しましたので

    5ch×64段×(12+64ペイロード) 
    +
    1ch×48段×(12+64ペイロード) 
    =27968

    27968 < 28672 なので条件に合います。

    こんな感じで使いました。(^^)/

      RCFDC0.CFDCFCC0.UINT32 = 0x00C01070;   //CFITT(0x00b:送信インターバル 無関係?)    HWM_p2058 
                  //CFDC(110b:FIFO段数64メッセージ)    ※★上限あり 128段だと3chまで!!
                  //CFTML(00000b:送信バッファリンク 無関係?)
                  //CFIGCV(1/8格納時(無関係?)
                  //CMIF(1:1メッセージ受信毎)
                  //CFITR_? CFITSS_?
                  //CFM(00b:受信モード)
                  //CFPLS(111b:64byte FDに備えて)
                  //CFTXIE(0:送信割込み禁止)
                  //CFRXIE(1:受信割込み許可)
                  //CFE(1:送受信FIFOバッファをとりあえず停止 最後で有効にする)