プロトコルの調停は、CAN

K

karthikkrv85

Guest
海の友人は、私はCANプロトコルに新しいです。私の理解あたりとして、ビット単位の調停は、優先度の高いメッセージにバスを獲得するために、識別子フィールドで何が起こっている。私の疑問が2以上の送信機を何が起こるか、です/識別子フィールドに同じIDが送信通信しようとします。バスが適切な送信機または再送信おかげに関して、karthikkrに中止されたすべての送信を検出するまで調停が継続するかどうか
 
あなたは状況を回避するために、高レベルのプロトコルを設計するであろう、すなわちメッセージIDは一意でなければなりません
 
[QUOTE = horace1; 1005346]あなたが状況を回避するために、高レベルのプロトコルを設計するであろう、すなわちメッセージIDはユニーク[/QUOTE]でなければなりませんウル返信いただきありがとうございます。実際に私は、どちらか一方が、同じメッセージIDを送信することがあり、複数の送信機があるかもしれないと思った。もちろん、そのような状況がある模様。 2トランスミッタは同じメッセージIDを送信した場合でも、単に好奇心のために、何が起こるのだろうか?
 
メッセージは同一であったとした場合に正確なクロックは、おそらくうまく動くと思います。別のメッセージを出力した場合、私はCANBUSエラー状態を期待するだろう。テストにdiffficultある、1はタイムクォンタム内で同じIDなどをtranmitするために2つのCANBUSユニットを同期しなければならないでしょう。システムはまたとないエラーcomditionと年と1日がクラッシュしてうまく動作状況の並べ替え。
 
おかげホレス....私ももう一つの疑問を持っている..これは、1つ以上のノードが同じメッセージを受け入れることができるという意味ですか? "は、ネットワーク内のすべてのノードは、データがそれらに作用するかどうかにかかわらず、メッセージにフィルタを適用することによって決定することができます"もしそうであれば、3つのノードが同じメッセージを受信し、すべての3が同じACKスロット内に認めるでしょうない検討?それは同じACKスロットになっている場合は1つのノードが受信に失敗した場合、そのメッセージは支配的な性質のために再送信されません。私は正しいのですか?そのメッセージをさらに処理するために、その障害の発生したノードに重要であるなら、それは問題を作成します。または認める劣性送信障害が発生したノードは、バスを監視し、データの不一致を検出し、エラー·フレームを作成するのでしょうか?これらすべての詳細が私に提案してください、任意のドキュメントに入っている場合(私はこの状況を解決するような状況かもしれない願っています)、私は勉強したいと思います。これらの質問にできるだけ答えはあまりにも事前に感謝している場合
 
はい、例えば、車両が支配的なレベルを送信するために期待されているを受け取り、メッセージを正しく受信するバス上のすべてのノード上のライトの特定の組み合わせを切り替えるためのメッセージに作用するすべてが、複数の照明制御ユニットがあるかもしれませんメッセージ内の謝辞スロット(送信機がここに劣性レベルを送信します)。トランスミッタはACKスロットでドミナントレベルを検出できない場合は、受信確認、エラーが通知されます。 を見てhttp://documentation.renesas.com/eng/products/mpumcu/apn/rej05b0804_m16cap.pdf
 
ホレス親愛なる...ウル例につき、外照明制御ユニットのないn個の、いずれかがACKスロットの間に劣性のビットを送信すると、どのように送信機には、その特定のノードで障害が発生した知っていることになる? Bcoz他のノードが成功したackは、支配的な性質のために、障害が発生したノードから送信される劣性ビットは、トランスミッタにも成功として表さを送るかもしれません。私は正しいのですか?私は、受信側がACKスロットの間にバスを監視してくれるかどうか知りたいと思った? bcoz文書の説明は、送信機のようなものは、送信中にバスを監視します。受信側はACKスロット中にはバスを監視しながら、しかしどこにも彼らは言及されません。とにかくuが与えられた文書は読みいいです。感謝
 
メッセージのACKは、単にメッセージが1つ以上のユニットで受信されたことを示しています。このような照明制御ユニットへのメッセージとしての状況では、より高いレベルのプロトコルはsucessで/失敗したことを示すメッセージを送り返すでしょう。
 
ホレス申し訳ありませんが、私は理解していけない。 "このような照明制御ユニットへのメッセージなどの状況では、より高いレベルのプロトコルはsucessで/失敗したことを示すメッセージを送り返すでしょう。" uはより高いレベルのプロトコルは、障害が発生したノードが再送信するための送信を要求するべきであるように設計されるべきである意味するのでしょうか?どの受信機は送信機に達していない送信したアクノリッジを知って来るのだろうか?それを監視したり、特定の失敗したフレームのために単に要求していますか?私は今、混乱しています
 
車を検討してください。ドライバは押したサイドライトを切り替えるためのボタンをクリックします。 1。関連付けられているコントロールユニットは2メッセージ "点灯スイッチ"を送信します。メッセージを受信するすべてのユニットはAcknowledgementスロットでドミナントレベルをお送りします - ので、トランスミッタは、それが何か3により受信されている知っているでしょう。照明制御ユニットは、照明のスイッチを入れると成功/失敗4を示すメッセージを送信しようとした場合のメッセージが表示されます。表示部には、メッセージとセットインジケータ(LED、LCDディスプレイ、?)そのランプが点灯していることを示すとドライバーはJ1939プロトコル[URL =のhttp://wwwを見て何が起こったかが分​​かるように、すべてのエラーを報告を受け取る.kvaser.com/en/about-can/higher-layer-protocols/36.html] kvaser.com - SAE J1939の紹介[/URL]
 
とても素敵な説明のおかげで...私は、そのプロトコルを通過します...どうもありがとう
 

Welcome to EDABoard.com

Sponsor

Back
Top