CRCとアクノリッジメント

伝送信頼性

自動車環境でのシリアル通信の最大の課題のうちの1つは、送信に極めて高度な信頼性を保証する事である。 最も強力なエラー検出方法の1つのCRC(CRC: 巡回冗長検査:Cyclic Redundancy Check)方式が使用される。

CRCシーケンス

CRC方式ではCRCシーケンスが送信されるビットに基づき計算され(SOFからデータフィールドまでを含む)、生成多項式 G(x)がISO 11898-1で定義されている。 CRCシーケンスが送信されるビットに追加される。 全体的な多項式は送信されるビットの倍数になる。 全体的な多項式の受信機は非常に高い信頼性で伝送エラーが発生したかどうか検出出来る(例外:CRCシーケンス自体が障害で破損)、すなわち生成多項式による除算が剰余を返した場合。

アクノリッジメント

この除算の結果に基づき、各受信機は受諾フィルタリングから独立したアクノリッジメント(ACK)を導く。 受信機のアクノリッジメントはポジティブかネガティブのどちらかとなる。 ACKスロットのドミナントレベルはポジティブアクノリッジメントを表し、レセシブレベルはネガティブアクノリッジメントを表す。

ACKデリミタ

ACKデリミタはエラー追跡用に常にレセシブで送信される。 送信機はACKスロットとACKデリミタの両方でレセシブを送信し、送信機のメッセージ送信が正確に行われたかの確認には1つのポジティブなアクノリッジメントで十分である。 これがCANネットワークのアクノリッジメント方式がノードに中立なポジティブアクノリッジメントと呼ばれる理由である。

アクノリッジメントのインタラクティブなアニメーションを使用しCANネットワークでのアクノリッジメントを学ぶ事が出来る。 図は1台の送信機と2台のポジティブアクノリッジメントな受信機を前提としている。

ACKデリミタエラー

ノードに中立なポジティブアクノリッジメントでは、ネガティブアクノリッジメントなCANノードは上書きされる。 ネットワーク全体のデータ整合性を確保するためACKデリミタの後にエラーフラグを送信する。

ポジティブアクノリッジメントが1つも無い場合、レセシブなACKスロット(ネガティブアクノリッジメント)は受信機によって上書きされず、送信機はACKエラーを検出しエラーフラグを送信する事によりメッセージ送信の継続を終了する。 ACKエラーは送信機によって起こるエラーやバス上に受信機が無い事を示す。


最終更新日時: 2019年 05月 24日(Friday) 13:35