2

CAN 2.0B 仕様には、正しく理解しているかどうかわからないことが 1 つあります。

第 8 章 - 障害の制限 - には、エラー カウンターの変更に関する次の規則があります。

ルール 2: RECEIVER が ERROR FLAG を送信した後、最初のビットとして「ドミナント」ビットを検出すると、RECEIVE ERROR COUNT が 8 ずつ増加します。

ルール 6: どのノードも、ACTIVE ERROR FLAG、PASSIVE ERROR FLAG、または OVERLOAD フラグを送信した後、最大 7 つの連続する「ドミナント」ビットを許容します。ACTIVE ERROR FLAG または OVERLOAD FLAG の場合は 14 番目の連続した「ドミナント」ビットを検出した後、または PASSIVE ERROR FLAG に続く 8 番目の連続した「ドミナント」ビットを検出した後、および追加の 8 つの連続した「ドミナント」ビットの各シーケンスの後は TRANSMIT ERROR COUNT を 8 ずつ増やし、すべての RECEIVER は RECEIVE ERROR COUNT を 8 ずつ増やします。

ルール 2 は、ノード A がエラー フレームを送信し、6 つのドミナント ビット (エラー フラグ) を送信した後、次のビットがドミナントであることを検出した場合、受信エラー カウンターを増やす必要があることを意味しますか? エラーフラグに6つ以上のドミナントビット(正確には6から12)があっても大丈夫だと思いました...また、ルール6は「どのノードも(...)の後に最大7つの連続した「ドミナント」ビットを許容します」と述べています

Rule6 は、8 つの連続するドミナント ビットのシーケンスについても述べています。しかし、この規則は正確には何のために適用されるのでしょうか? エラー フレームの最初の送信後に来るようなシーケンスのみですか?

例を見てみましょう。ノード A がエラー フレームを送信し、他のノードが独自のエラー フレームを送信し始めます。ノード A はエラー フラグの 6 ビットを送信し、7 番目のドミナント ビットを検出します (カウンタを増やす? - ルール 2)。次に、別の 6 つのドミナント ビットを取得し、14 番目のドミナント ビットの後、ノード A はエラー カウンタを再び増やします (ルール 6 の最初の部分)。

次に、別の 8 つのドミナント ビットがあります。ノード A は、エラー カウンタを再び増やします (ルール 6 の 2 番目の部分)。

私は正しいですか?私はこれらの規則にとても混乱しており、完全に理解する必要があります。誰かが私を助けてくれることを願っています:)

4

0 に答える 0