【RH850F1L】【RS-CAN】受信ルールの設定値について

はじめまして、rakkoと申します。

本件、受信ルールDLC設定ビットについての質問です。

RH850/F1Lユーザーズマニュアルハードウェア編(Rev.1.33 2016.04)を見ると以下の記載があります。

19.3.18 RSCAN0GAFLP0j — 受信ルールポインタ0 レジスタ(j = 0 ~ 15)

b31 b30 b29 b28
0 0 0 0:DLC チェックしない
0 0 0 1:1 データバイト
0 0 1 0:2 データバイト
0 0 1 1:3 データバイト
0 1 0 0:4 データバイト
0 1 0 1:5 データバイト
0 1 1 0:6 データバイト
0 1 1 1:7 データバイト
1 X X X:8 データバイト

ここで、8データバイトを意味する「1XXX」を設定したいです。

X:0,1どちらでも良いという認識でいます。(マニュアルに明確な記載なし)

しかし、"1000"以外の値を設定すると受信が出来なくなります。

この原因をご存じの方がおられましたらご教授お願い致します。

以上

Parents
  • ご回答頂いた方々、有難う御座います。

    内容を拝見しましたが私の理解が追いつきませんでした(笑)

    結論としましては、

    「クラシカルCANモードで8データバイトを送信する際、受信ルールは"1000"(8データバイト)とする」とします。

    受信ルールの"1001~1111"もクラシカルCANモードでは8データバイトで機能するはずですが、

    何故か8データバイトの送信データが受信出来ない根本的な解決には至りませんでした。

    (CANFDの仕様がクラシカルCANにも適用されている??)

Reply
  • ご回答頂いた方々、有難う御座います。

    内容を拝見しましたが私の理解が追いつきませんでした(笑)

    結論としましては、

    「クラシカルCANモードで8データバイトを送信する際、受信ルールは"1000"(8データバイト)とする」とします。

    受信ルールの"1001~1111"もクラシカルCANモードでは8データバイトで機能するはずですが、

    何故か8データバイトの送信データが受信出来ない根本的な解決には至りませんでした。

    (CANFDの仕様がクラシカルCANにも適用されている??)

Children
  • DLC=0b1111(=15)に設定して、送信した場合

    〇クラシカルCAN

    ・CANパケットに含まれるDLCフィールド(4bit)=0b1111

    ・CANパケットに含まれるデータフィールドのバイト数=8

    〇CAN-FD

    ・CANパケットに含まれるDLCフィールド(4bit)=0b1111

    ・CANパケットに含まれるデータフィールドのバイト数=***

    GAFLP0x.DLC=0b1111(=15)に設定して受信した場合、

    〇クラシカルCAN、及びCAN-FD

    ・CANパケットに含まれるDLCフィールド(4bit)=0b1111

    の場合に受信

    (CANパケットに含まれるデータバイト数を数えている訳ではない。クラシカルCANとCAN-FDで同じ動作。)

    という話です。(実チップの動作を見る限り、その様な動作である)