(57)【要約】【課題】  マルチマスタの通信システムにおいて、エラーフレームによって通信ノードがバスオフステートに入った場合における、通信のリアルタイム性の向上。【解決手段】  バス上に接続された複数の通信ノードのうち、バスオフすステートに入る前に転送を依頼する情報をフレームに添付して送信する制御回路を備えるノードと、転送を依頼する情報が添付されたフレームの転送を実行する機能を有した制御回路を備えるノードとを備える。【選択図】  図１
2007274123.tif 000002
【特許請求の範囲】
【請求項１】
マルチマスタの通信システムのバスに接続される通信ノードであって、送信フレームに送信がエラーとなった場合に他の通信ノードに前記送信フレームの送信を代行させるための転送情報を付加する制御回路を備えることを特徴とする通信ノード。
【請求項２】
前記通信ノードは、前記送信がエラーとなったとき、バスにフレームの送信を行わないバスオフステートに入ることを特徴とする請求項１記載の通信ノード。
【請求項３】
前記制御回路は、バスにフレームの送信を行わないバスオフステートに入る前に転送情報を付加することを特徴とする請求項１乃至２のいずれかに記載の通信ノード。
【請求項４】
前記送信フレームは、前記通信ノードの送信テンポラリバッファに保持されているフレームであることを特徴とする請求項１乃至３のいずれかに記載の通信ノード。
【請求項５】
前記制御回路は、前記他の通信ノードによって前記送信フレームの代行送信が正常終了したことを検出して前記送信テンポラリバッファの送信要求をクリアすることを特徴とする請求項４記載の通信ノード。
【請求項６】
マルチマスタの通信システムのバスに接続される通信ノードであって、送信がエラーとなった場合に他の通信ノードに前記送信フレームの送信を代行させるための転送情報を付加された送信フレームを受け取り、かつ、エラーを受信した際に前記送信フレームを前記バスに送信する制御回路を備えることを特徴とする通信ノード。
【請求項７】
前記送信フレームを一時的に保存する受信テンポラリバッファを備えることを特徴とする請求項６記載の通信ノード。
【請求項８】
前記制御回路は、前記受信テンポラリバッファに保持された前記送信フレームを送信する際に、前記送信フレームの転送情報をクリアして送信することを特徴とする請求項７に記載の通信ノード。
【請求項９】
前記制御回路は、前記受信テンポラリバッファに保持された前記送信フレームを送信する際に、前記フレームに対して転送要求のフラグを立て転送を実行することを特徴とする請求項７乃至８のいずれかに記載の通信ノード。
【請求項１０】
前記制御回路は、前記他の通信ノードによって前記送信フレームの代行送信が正常終了したことを検出して前記送信テンポラリバッファの送信要求をクリアすることを特徴とする請求項４記載の通信ノード。
【請求項１１】
マルチマスタの通信システムにおけるフレーム送信方法であって、
通信ノードがバスオフステート直前であることを確認した際に送信フレームに転送フレームである情報を付加するステップと、
前記転送フレームをバスに送信するステップと、を備えることを特徴とするフレーム送信方法。
【請求項１２】
前記バスがアイドル状態であるか否かを確認するステップを更に備えることを特徴とする請求項１０記載のフレーム送信方法。
【請求項１３】
前記転送フレームを送信した後、エラーフレームを受信した場合にバスオフステートに入るステップを更に備えることを特徴とする請求項１０又は１１に記載のフレーム送信方法。
【請求項１４】
前記バスオフステートに入った後、他の通信ノードによって前記通信ノードが正常に送信されたか否かを確認するステップを更に備えることを特徴とするフレーム送信方法。
【請求項１５】
マルチマスタの通信システムにおけるフレーム受信方法であって、
通信ノードがバスから受信したフレームに対してエラーフレームが受信されたか否かを確認するステップと、
前記エラーフレームの受信が確認されたとき前記受信したフレームが転送要求情報を付加された転送フレームであるか否かを確認するステップと、を備えることを特徴とするフレーム受信方法。
【請求項１６】
前記受信したフレーム内にエラーが含まれていないことを前記通信ノードが確認するステップを更に備えることを特徴とする請求項１４記載のフレーム受信方法。
【請求項１７】
前記受信したフレームが前記転送フレームであったとき、前記転送フレームを前記バスに送信するステップを更に備えることを特徴とする請求項１４又は１５記載のフレーム受信方法。
【請求項１８】
複数の通信ノードがバスに接続されたマルチマスタの通信システムであって、
送信フレームに送信がエラーとなりエラーフレームがバスに出力された場合に第２の通信ノードに前記送信フレームの送信を代行させるための転送情報を付加して前記バスに送信する第１の通信ノードと、
前記転送情報が付加された送信フレームを受け取ると共に前記送信フレームに対して前記エラーフレームがバスに出力されたとき前記送信フレームを前記第１の通信ノードに代わってバスに送信する前記第２の通信ノードと、を備えることを特徴とする通信システム。
【請求項１９】
前記第１の通信ノードは、前記転送情報を付加した送信フレームを前記バスに出力した後に前記エラーフレームを受信した場合、バスにフレームを出力しないバスオフステートに移行することを特徴とする請求項１７記載の通信システム。
【請求項２０】
前記第１の通信ノードは、前記第２の通信ノードによる前記送信フレームの送信が正常に終了した場合に前記バスオフステートから復帰することを特徴とする請求項１８記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び通信方法に関し、特に、マルチマスタの通信システム及び通信方法に関する。
【背景技術】
【０００２】
近年、複数の通信ノードがバスに接続され、バスが解放されているときには複数の通信ノードがデータをバス上に送信することができるマルチマスタの通信システムが注目されている。
【０００３】
このようなマルチマスタの通信システムでは、図７に示すように、不特定多数の通信ノード１Ａ、１Ｂ、１Ｃが共通のバスに接続されるため、通信ノードに対して共通のバス使用権の調停を行う調停回路を備えておらず、個々の通信ノードがバスの使用状況をモニタして送信の可否を判断している。バス使用権の調停回路を有していないマルチマスタの通信システムとしては、例えば、車内ＬＡＮ等に用いられているController Area Network（ＣＡＮ）等が存在する。
【０００４】
マルチマスタの通信システムにおける各通信ノードは図８に示すような構成をとる。内部バス１７に接続されたCPU１４、CPU１４が処理するデータの保存などに用いられるメインRAM１５、通信ノードの外部に設けられたセンサ３などからの情報を取得する外部I/F１６、CANバス２の通信を制御するCAN制御ブロック４である。
【０００５】
CAN制御ブロック４は、CANバス２のシリアルデータをパラレルデータに変換又はＣＡＮコントローラ１１からのパラレルデータをシリアルデータに変換するシフトレジスタ１３、送受信するデータを保持する送信バッファと受信バッファからなるメッセージバッファ１２、シフトレジスタ１３とメッセージバッファ１２との間のデータ授受を制御するCANコントローラ１１で構成される。
【０００６】
CANコントローラ１１は、図９に示すようにメッセージバッファからフレーム（ID、DLC、送信データ等から構成される）を受け取りシフトレジスタ１３に供給する送信テンポラリバッファ１１２と、受信データをメッセージバッファに受け渡す機能と、これらをコントロールする制御回路１１１とから構成される。
【０００７】
このようなＣＡＮに代表されるマルチマスタの通信システムではネットワークの通信を制御する共通の調停回路をもっていないため、個々のＣＡＮコントローラ１１が、フレームを送信するたびにバスの使用状態を確認するアービトレーションを行ってから通信を開始することが必要となる。アービトレーションは、フレームを送信しようとしている通信ノードがＣＡＮバス２上に送信ＩＤを出力し、通信ノードが出力した送信ＩＤとＣＡＮバス２上に現れた送信ＩＤとを比較し、一致したときに、バスの使用権を得たものとして、残りのフレーム（ＤＬＣ、送信データ）の送信を行い、一致しなかった場合には、他の通信ノードからの優先順位の高い送信ＩＤの出力があったものとして、送信を一端中止することによって行われる。
【０００８】
通信ノードからCANバス２へのデータ送信（フレーム送信）は図１０に示すようなフローに従って処理される。メッセージバッファ１２の中に送信要求のあるデータが存在する通信ノードは、送信テンポラリバッファ１１２にメッセージバッファ１２にあるデータ（送信ＩＤ、送信ＤＬＣ、送信データ、送信要求等）を読み出し送信準備が完了すると、バスの状態を確認するステップS51に移行する。ステップS51ではバスがビジー状態、すなわち他の通信ノードによって使用されている状態であればアイドル状態となるまでバスの状態確認を繰り返し、アイドル状態であることを検出するとステップS52へ移行する。ステップS52におけるフレームの送信は、フレームの優先順位を示す送信ID（上述のとおり、アービトレーションは送信ＩＤの比較によって行われる）、データの長さを示すData Length Code（DLC）、データ、送信データと受信データで一致がとれているかをチェックするCycle Redundancy Code（CRC）、フレームの終了を示すEnd Of Frame（EOF）の順に行われ、EOFが送信されることによってステップS53に移行する。ステップS53では、送信されたフレームの受信に失敗した通信ノードが送信するエラーフレームの受信の有無を確認し、エラーフレームが受信されなかった場合、ステップS54に移行しフレームを送信した通信ノードの送信フェーズを完了し、エラーフレームを受信した場合、当該フレームを送信した通信ノードは送信を一端中断してステップS55に移行する。ステップS55では、エラー検出回数を示すエラーカウンタ値を確認し、エラーカウンタ値が規定値に達していなければステップS51に移行し、送信に失敗したフレームの再送信が実行されるが、エラーカウンタ値が規定値に達した場合には、ステップS56に移行しバス上の通信に参加できない状態であるバスオフステートに入る。ステップS56では、バスオフステートにある通信ノードは、バスをモニタし、ある条件、例えば、バスがアイドルであることを規定回数確認することを満たす又は、所定時間経過の後、ステップS57に移行して通信に復帰した後、ステップS51に移行し送信に失敗したフレームの再送信が実行される。このようにして、送信に失敗したフレームの再送信が行われる。
【０００９】
次に、ＣＡＮバス２上のデータ受信（フレーム受信）は、図１１に示すようなフローによって処理される。ＣＡＮバス２上に自分以外の通信ノードから出力されたフレームが存在するとき通信ノードはフレームの受信を開始して、ステップＳ７１に移行する。ステップＳ７１では、受信したフレームにエラーがあるかどうかを検出し、エラーがある場合には、ステップＳ７２に移行してＣＡＮバス２上にエラーフレームを出力し、エラーがなかった場合には、ステップＳ７３に移行する。ステップＳ７３では、自分以外の通信ノードがエラーフレームをＣＡＮバス２上に出力し、それを受信したかどうかを検出し、エラーフレームを検出した場合には、受信したフレームを破棄するステップＳ７４に移行し、エラーフレームが検出されなかった場合には、フレームは正常に受信されたものとしてステップＳ７５に移行して受信を完了する。
【００１０】
【特許文献１】特開２０００−３６３７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ここで、バス上に大量に送信エラーを出力している、すなわちフレームの送信中に何度もエラーを発生させている通信ノードAが存在し、その通信ノードAがフレームを送信しようとしている場合について考える。
【００１２】
図１２のタイミングチャートに示すように、通信ノードAは、フレームの送信をID A、DLC、データ A、CRCの順に実行する。このとき通信ノードCにおいて、CRCエラーの検出によりフレームの受信に失敗した場合、通信ノードCはＣＡＮバス２上にエラーフレームを送信する。ＣＡＮバス２上に出力されたエラーフレームを受信することにより送信の失敗を検知した通信ノードAは、エラー検出回数をインクリメントし、エラー検出回数が規定値に達した場合には、能動的な通信の遮断状態であるバスオフステートに入ることによって、現時刻ではバス上にノイズなどの阻害要因がありうることを考慮して送信を諦め、所定時間経過の後、通信ノードＡが通信に復帰するまで再送信を保留することになる。これは、エラーを頻発する通信ノードをバスから一時切り離しバスの使用効率を向上させるために行われている。このため、リアルタイム性が要求されている通信システムにおいて、通信ノードＡから通信ノードＣへ送ろうとしていたフレームの再送信が遅れてしまい通信の遅延の問題が発生する。
【００１３】
また、ネットワーク上で距離やノイズの影響で通信ノードAと通信ノードC間のみで通信が成立しなかった場合（エラーとなってしまった場合）においても、ネットワーク上の他のノード（ここでは通信ノードB）ではメッセージバッファに保持するべき情報であるID、DLC、データの受信に成功しているにも関わらず、バス上の任意の単一ノード（ここでは通信ノードC）での受信の失敗により受信フレームを破棄するという問題が発生する。すなわち、通信ノードＡからのフレームが通信ノードＢ及びＣの両方で受け取るべきフレームであり、通信ノードＢでは正常に受信され、通信ノードＣではエラーとなった場合にも通信ノードＣのみならず、通信ノードＢで正常に受信したフレームをも破棄するという問題が発生する。
【課題を解決するための手段】
【００１４】
本発明による通信ノードは、マルチマスタの通信システムのバスに接続される通信ノードであって、送信フレームに送信がエラーとなった場合に他の通信ノードに前記送信フレームの送信を代行させるための転送情報を付加する制御回路を備えることを特徴とする。
【００１５】
このような構成によって、他の通信ノードに対して送信フレームが転送情報を付加した送信フレームであることを通知することが可能となる。
【００１６】
また、本発明による通信ノードは、マルチマスタの通信システムのバスに接続される通信ノードであって、送信がエラーとなった場合に他の通信ノードに前記送信フレームの送信を代行させるための転送情報を付加された送信フレームを受け取り、かつ、エラーを受信した際に前記送信フレームを前記バスに送信する制御回路を備えることを特徴とする。
【００１７】
このような構成によって、受信した送信フレームを送信ノードに代わって転送することが可能となる。
【００１８】
本発明によるフレーム送信方法は、マルチマスタの通信システムにおけるフレーム送信方法であって、通信ノードがバスオフステート直前であることを確認した際に送信フレームに転送フレームである情報を付加するステップと、前記転送フレームをバスに送信するステップと、を備えることを特徴とする。
【００１９】
このような方法によって、他の通信ノードに対して送信フレームが転送情報を付加した送信フレームであることを通知することが可能となる。
【００２０】
また、本発明によるフレーム受信方法は、マルチマスタの通信システムにおけるフレーム受信方法であって、通信ノードがバスから受信したフレームに対してエラーフレームが受信されたか否かを確認するステップと、前記エラーフレームの受信が確認されたとき前記受信したフレームが転送要求情報を付加された転送フレームであるか否かを確認するステップと、を備えることを特徴とする。
【００２１】
このような方法によって、受信した送信フレームを送信ノードに代わって転送することが可能となる。
【００２２】
また、本発明による通信システムは、複数の通信ノードがバスに接続されたマルチマスタの通信システムであって、送信フレームに送信がエラーとなりエラーフレームがバスに出力された場合に第２の通信ノードに前記送信フレームの送信を代行させるための転送情報を付加して前記バスに送信する第１の通信ノードと、前記転送情報が付加された送信フレームを受け取ると共に前記送信フレームに対して前記エラーフレームがバスに出力されたとき前記送信フレームを前記第１の通信ノードに代わってバスに送信する前記第２の通信ノードと、を備えることを特徴とする。
【００２３】
このような構成によって、特定の通信ノードからの送信フレームに転送情報を付加することができ、当該転送情報が付加された送信フレームを他の通信ノードによって転送することが可能となる。
【発明の効果】
【００２４】
上述のように、他の通信ノードに転送要求フレームであることを通知すること、受信したフレームが転送要求されているフレームである場合に転送することが可能となり、通信効率を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
本発明の通信システムは、バス上に接続された複数の通信ノード（通信モジュール又は通信回路とも呼ばれる）はのうち、転送を依頼するノードと、転送を実行する機能を有したノードとを配置することによって実現することができる。より具体的には、エラーとなったフレームに転送を依頼するフレームである情報を追加して送信する機能を備えた通信ノードと、受信したフレームが転送を依頼されているフレームである場合には、受信したフレームを転送する機能を備えた通信ノードとをバスに接続することによって実現することができる。なお、マルチマスタの通信システムでは、ＩＤを使ってアービトレーションを行っているため、転送を依頼する通信ノードは複数あっても良いが、転送を実行する通信ノードが複数有ると同じＩＤを有するフレームが複数の通信ノードから出力されてぶつかる可能性があるため、転送を実行する通信ノードは１つが好ましい。
【００２６】
本発明の一実施の形態であるCANコントローラの構成を、図１及び図２を用いて説明する。ここではフレームの中のDLCの使われていないビットに転送を依頼するフレームか否か、転送されたフレームか否かの情報を埋め込んだ例について説明する。
【００２７】
転送を依頼する送信側の通信ノードのＣＡＮコントローラ１１Ａは、図１に示すように、当該通信ノードがフレームを送信した際に、ＣＡＮバス２上のエラーフレームを受信することによってインクリメントされるエラーカウンタ１１１１とエラーカウンタ１１１１の値と比較される規定値を保持した規定値レジスタ１１１２とを備えた制御回路１１１Ａ、メッセージバッファからの送信ＩＤ，送信ＤＬＣ、送信データ、送信要求を保持する送信テンポラリバッファ１１３を備える。制御回路１１１Ａは、エラーカウンタ１１１１の値及び規定値レジスタの値とに基づいて、送信ＤＬＣを書き替えると共に、受信したフレームのＩＤと送信テンポラリバッファ１１３に保持された送信ＩＤとを比較し、一致した場合に送信テンポラリバッファ１１３の送信要求をクリアする機能を備える。
【００２８】
転送を依頼される受信側の通信ノードのＣＡＮコントローラ１１Ｂは、図２に示すように、当該通信ノードがフレームを受信した際に、シフトレジスタ１３からのフレーム（受信ＩＤ，ＤＬＣ、受信データ）を保持する受信テンポラリバッファ１１２、受信したフレームのＤＬＣをデコードするＤＬＣデコード回路１２１、受信テンポラリバッファのＤＬＣ及び転送要求を制御する制御回路１１１Ｂを備える。
【００２９】
すなわち、転送に関わる送信側の通信ノードのＣＡＮコントローラは、転送を依頼するか否かの情報をフレームに付加する機能を備えた制御回路を、転送に関わる受信側の通信ノードのＣＡＮコントローラは、受信したフレームが転送を依頼するフレームか否かをデコードするデコード回路、及び受信フレームを一時保存する受信テンポラリバッファを備えることによって転送を実現することが可能となる。
【００３０】
次に、送信側及び受信側の通信ノードの動作について、図３及び図４のフローチャートを参照しながら説明する。
【００３１】
送信側の通信ノードのＣＡＮコントローラ１１Ａ内の制御回路１１１Ａは、送信要求があるとき、すなわち、メッセージバッファに送信要求のあるデータが存在するとき、メッセージバッファから送信テンポラリバッファ１１３に当該データを取り込み、送信の準備を行い、ステップＳ６０に移行する。ステップＳ６０では、制御回路１１１ＡはＣＡＮバス２がアイドル状態となっているか否かをＣＡＮバス２上にデータが出力されているかによって判定し、アイドル状態でない場合にはバスの状態確認を繰り返し、アイドル状態を検出したらステップS6１へ移行する。ステップＳ６１では、制御回路１１１Ａにより、エラーカウンタ１１１１と設定値レジスタ１１１２の値とが比較されてバスオフステート直前か否かが判定され、バスオフステート直前であればステップS63に移行し、そうでなければステップＳ６２に移行する。ステップS63では、制御回路１１１Ａは、送信DLCのビットに、バス上の任意の通信ノードにフレームの転送を依頼する情報を埋め込み、当該フレームをＣＡＮバス２上に送信しステップS64に移行する。ステップＳ６２では、制御回路１１１Ａは、従来と同様に、送信フレームをＣＡＮバス２上に送信しステップＳ６４に移行する。ステップＳ６４では、制御回路１１１Ａは、バス上のデータを受信（RxD）し監視することによってステップＳ６２又は６３でＣＡＮバス２上に送信されたフレームに対してエラーフレームが送信されているか否かを検出し、エラーフレームが検出されない場合にはステップＳ６５に移行し、検出された場合にはステップＳ６６に移行する。ステップＳ６５に移行した場合は、制御回路１１１Ａは、フレームの送信が正常に終了したものとして送信を完了し、送信テンポラリバッファ１１３の送信要求をクリアする。ステップＳ６６では、制御回路１１１Ａは、エラー検出回数を示すエラーカウンタ１１１１の値を確認し、この値が規定値レジスタに設定された規定値に達していればバスオフステートであるステップS6７に移行し、続いてステップＳ６８に移行する。ステップＳ６８では、制御回路１１１Ａは、転送フレームが他の通信ノードによって正常に送信されたか否か、すなわち、転送フレームの送信に対しエラーフレームが検出されたか否をバス上のデータを受信することによって検出し、エラーフレームが検出されない場合には、正常に転送が行われたものとしてステップＳ６５に移行し、エラーフレームが検出された場合には、ステップＳ６９に移行する。ステップS６９では、制御回路１１１Ａは、通信復帰のための所定時間等が経過した後通信に復帰し、送信に失敗したフレームの再送信を行う。
【００３２】
受信側の通信ノードのＣＡＮコントローラ１１Ｂの制御回路１１１Ｂは、ステップＳ８１で、ＣＡＮバス２上にデータ（フレーム）が出力されたことに応答して受信を開始し、ＣＡＮバス２上のフレームを受信テンポラリバッファ１１２に取り込み、当該通信ノードで受け取ったフレームにエラーがあるかないか、例えばＣＲＣチェック等によって検出し、エラーがあった場合には、ステップＳ８２に移行し、エラーがなかった場合にはステップＳ８２に移行する。ステップＳ８２では、受信したフレームにエラーが検出されたため、制御回路１１１Ｂは、ＣＡＮバス２にエラーフレームを出力する。ステップＳ８３では、制御回路１１１Ｂは、他の通信ノードからＣＡＮバス２上にエラーフレームが送信されたか否かを検出し、エラーフレームが送信されているときにはステップＳ８４に移行し、エラーフレームが送信されていないときにはステップＳ８５に移行する。ステップＳ８４では、制御回路１１１Ｂは、受信テンポラリバッファ１１２に記憶されているフレームのＤＬＣをＤＬＣデコード回路１２１によって検出し、デコードの結果、受信したフレームが転送要求フレームであった場合にはステップＳ８６に移行し、受信したフレームが転送要求フレームで無い場合には、ステップＳ８７に移行する。ステップＳ８６では、制御回路１１１Ｂは、受信テンポラリバッファ１１２に転送要求フラグを立てると共に、受信テンポラリバッファ１１２に取り込まれたフレームのＤＬＣを転送要求フレームから通常フレームに書き替えてＣＡＮバス２に送信（転送）を行う。ステップＳ８７では、制御回路１１１Ｂは、受信テンポラリバッファに保持されたフレームを破棄して受信を完了する。
【００３３】
次に、本発明の転送を依頼する送信側のＣＡＮコントローラを備えた通信ノードＡと、転送を依頼される受信側のＣＡＮコントローラを備えた通信ノードＢとを備えた通信システム上でのフレームの授受について図１０に示すタイミングチャートを用いて説明する。
【００３４】
バス上にエラーとなるフレーム（データ）を多数回出力している通信ノードAが存在し、エラーフレームのカウント値が転送を依頼しなければならない値、例えばバスオフステート直前の値になっており通信ノードAが転送を依頼するフレーム、すなわちＤＬＣに転送を依頼することを示す値が書き込まれたフレームを送信し、同じＣＡＮバス２上に存在する通信ノードBが当該フレームを受信してＣＡＮバス２上に転送をする場合について考える。
【００３５】
通信ノードAは、ＣＡＮバス２へフレームをID A、DLC、データ A、CRCの順に送信する。ここで、通信ノードCがＣＡＮバス２のデータを受信した際CRCの受信の段階でエラーを検出すると、通信ノードＣはＣＡＮバス２にエラーフレームを送信する。
【００３６】
このエラーフレームを受信することにより通信ノードAは、バスオフステート直前からバスオフステートに移行し、ＣＡＮバス２の状態を確認する（送信は行わない）受動的な状態に移行する。通信ノードBは、自身では正常に受信されたフレームに関し、ＣＡＮバス２からエラーフレームを受信したことによりＣＡＮバス２上にフレームの受信に失敗した他の通信ノードが存在することを検知し、受信したフレームがＤＬＣに転送を依頼する除法が着込まれた転送フレームであるため、当該転送フレームの送信をID A、DLC、データ A、CRCの順に送信する。このとき、バスオフステートになっている通信ノードAでは転送を依頼したフレームの受信をＣＡＮバス２上のフレームと送信に失敗した送信テンポラリバッファに格納されたフレームとを比較し、転送フレームの送信がエラーフレームの送信無しに終了したことを検出する、すなわち、通信ノードＢからの転送フレームを通信ノードＣが正常に受信したことによりバスオフステートから復帰すると共に、送信テンポラリバッファに保持されていたフレームの送信要求をクリアし、当該フレームの再送信をキャンセルする。
【００３７】
以上説明したように、本発明によれば、通信のリアルタイム性が向上し、単一の通信ノードによるバスの占有を軽減することができると共にバスオフステートとなった通信ノードを早期に通信に復帰させることができるという効果を得ることができる。
【００３８】
なお、実施の形態では、ＣＡＮを例にして説明したが、これに限定されるものではなく、マルチマスタの通信システムであれば、適用可能であり、それ以外の通信システムでも、本発明の趣旨を逸脱しない範囲で、適用可能であることはいうまでもない。
【００３９】
また、フレームの中のDLCに転送を依頼するフレームか否か、転送されたフレームか否かの情報を埋め込んだ例について説明したが、ＤＬＣに限らず、フレームを受信した通信ノードが転送を依頼するフレームか否か、転送されたフレームか否かを判別することができる情報であれば、フレーム中のどこにあってもよい。
【００４０】
なお、ＣＡＮであれば、フレーム中のＤＬＣにプロトコルで利用が規定されていないビットが存在するため、ＤＬＣ内の当該ビットを利用することによって、プロトコルを変更することなく本願発明を実現することが可能である。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施例の送信側のＣＡＮコントローラを示すブロック図。
【図２】本発明の一実施例の受信側（転送側）のＣＡＮコントローラを示すブロック図。
【図３】図１の送信側の制御回路の動作フローチャート。
【図４】図２の受信側の制御回路の動作フローチャート。
【図５】本発明による送信、転送、受信のタイミングを示したタイミング図。
【図６】ＣＡＮを用いたマルチマスタの通信システム概要図。
【図７】従来の通信ノードのブロック図。
【図８】従来のＣＡＮコントローラのブロック図。
【図９】従来の送信側の制御回路の動作フローチャート。
【図１０】従来の受信側の制御回路の動作フローチャート。
【図１１】従来の送信、受信のタイミングを示したタイミング図。
【符号の説明】
【００４２】
１Ａ，１Ｂ，１Ｃ  通信ノード
１１，１１Ａ，１１Ｂ  ＣＡＮコントローラ
１１１，１１１Ａ，１１１Ｂ  制御回路
１１２  受信テンポラリバッファ
１１３  送信テンポラリバッファ
１１１１  エラーカウンタ
１１１２  規定値レジスタ
１２１  ＤＬＣデコード回路
【図１】
2007274123.tif 000003
【図２】
2007274123.tif 000004
【図３】
2007274123.tif 000005
【図４】
2007274123.tif 000006
【図５】
2007274123.tif 000007
【図６】
2007274123.tif 000008
【図７】
2007274123.tif 000009
【図８】
2007274123.tif 000010
【図９】
2007274123.tif 000011
【図１０】
2007274123.tif 000012
【図１１】
2007274123.tif 000013