JP2010041567A - シリアル通信ネットワークシステム - Google Patents

シリアル通信ネットワークシステム Download PDF

Info

Publication number
JP2010041567A
JP2010041567A JP2008204235A JP2008204235A JP2010041567A JP 2010041567 A JP2010041567 A JP 2010041567A JP 2008204235 A JP2008204235 A JP 2008204235A JP 2008204235 A JP2008204235 A JP 2008204235A JP 2010041567 A JP2010041567 A JP 2010041567A
Authority
JP
Japan
Prior art keywords
slave
node
baud rate
master
slave node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008204235A
Other languages
English (en)
Other versions
JP4905808B2 (ja
Inventor
Kenzo Kano
賢造 加納
Shinichi Senoo
伸一 妹尾
Keisuke Matsuda
啓資 松田
Tomohisa Kishigami
友久 岸上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2008204235A priority Critical patent/JP4905808B2/ja
Publication of JP2010041567A publication Critical patent/JP2010041567A/ja
Application granted granted Critical
Publication of JP4905808B2 publication Critical patent/JP4905808B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】 時間補正用基準波形を用いてボーレート補正を行なうシングルマスタ方式のシリアル通信において、スレーブ/スレーブ間通信時の同期精度も問題なく確保できるシリアル通信ネットワークシステムを提供する。
【解決手段】 スレーブノード10(S)は、スレーブ/スレーブ間通信を行なう際に、マスタノード10(M)だけでなく、通信相手となるスレーブノード10(S)からも時間補正用基準波形を取得し、それらマスタ時間補正用基準波形とスレーブ時間補正用基準波形との双方に基づいて自スレーブノード10(S)のボーレートを補正する。
【選択図】 図1

Description

この発明はシリアル通信ネットワークシステムに関する。
特開昭61−81235号公報 特開平7−42609号公報 特開平7−42609号公報
近年、自動車には多くの安全・快適機能が搭載され、こうした個々の機能の制御を司るECU(electronic control unit)を車載ネットワークで接続して連携動作させることが行なわれている。こうした車載ネットワークとして代表的なものにCAN(Controller Area Network)があり、パワートレイン系、シャーシ系、ボデー系及び情報系の標準型シリアル通信ネットワークとして広く採用されている。CANは比較的高伝送レートに対応できるマルチマスタ方式のシリアル通信プロトコルであり、非同期式(調歩同期型)であるが、エッジ検出による再同期処理やビットスタッフィングなど、高精度のノード間同期を実現している。また、ノイズマージンを高めるためにツイストペア線を用いた差動伝送方式を採用し、バスアービトレーションや、エラーカウンタを用いたバス状態遷移など、信頼性の高いマルチマスタ方式通信を実現するため、プロトコル上種々の工夫がなされている。
しかし、上記のようなCANの特徴は、ネットワークコストの高騰化を招きやすい側面も有しており、例えばボデー系に分類される車体装備の中でも、電動ドアミラーやパワーウィンドウなど、高速できめ細かい制御がそれほど求められない機器制御用のネットワークとしては過剰スペックになりやすい欠点がる。そこで、この欠点を補うべく、簡易型のシリアル通信ネットワークとしてLIN(Local Interconnect Network)が提唱され、実搭載が進んでいる。LINはCANと同様、非同期式(調歩同期型)であるが、シングルマスタ方式であり、これを受けて半二重式UART(Universal Asynchronous Receiver
Transmitter)によるノード構成やバスのシングルワイヤ化といった簡略なハードウェア構成に加え、マスタタスクをなすヘッダに同期フレームを組み込み、その時間補正用基準波形を参照してスレーブボーレートを補正する簡易型同期プロトコルを採用することにより、伝送レートは低いもののCANと比較して大幅なコスト削減が実現できる。
ところで、LINにおいては、従来は、マスタ/スレーブ間通信のみで機器制御を行なこと、つまり、スレーブノードからのデータはマスタノードにのみレスポンスとして返す形で全ての制御が構築されるケースも多かった。一例を挙げれば、センサの検出値を参照して対象機器を駆動制御したい場合、センサ制御スレーブノードからセンサ検出値をデータ(レスポンス)としてマスタノードに送り、マスタノードは該検出値を取得して、次のタスク(ヘッダ)で制御先となる対象機器を指定する形となる。例えば、シフトポジションに応じてカーナビの画面をバックモニタに切り替えるような単純な制御であれば、マスタノードは、シフトポジションセンサが「後退」かどうかに応じてモニタ切り替えの判断をすればよく、モニタ切替制御を行なうスレーブノードにシフトポジションセンサの情報を直接送る必要性はなかった。
他方、制御の形態によっては、データをマスタノードではなく、送信元とは別のスレーブノードに伝送したほうが有利な場合がある。例えば、障害物センサが検出する距離に応じてソナーの出力形態(例えば、鳴動間隔)を多段にないし連続的に変化させる制御を行なう場合、マスタ/スレーブ間通信のみで制御を行なおうとすると、センサ検出値に応じて鳴動間隔の異なるソナー動作を、それぞれ個別のタスクとして扱わなければならなくなり、非常に面倒である。しかし、ソナー制御スレーブノードがセンサ制御スレーブノードからセンサ検出値を直接取得し、自発的にソナー鳴動間隔を決定するように構成すれば、制御ははるかに簡略化される。この場合、センサ制御スレーブノードからソナー制御スレーブノードへのデータ(センサ検出値)転送、すなわちスレーブ/スレーブ間通信を行なうこととなる。
スレーブ/スレーブ間通信を行なう場合、LINプロトコルに整合する手順として、次のような方式が採用可能である。すなわち、同期フィールドとIDフィールドとを有したヘッダが通信バスに送出される。ヘッダは全てのスレーブノードに受信され、そこで各スレーブノードはROM等に格納されているスケジューリングテーブルを参照し、ヘッダに書き込まれているIDが自身を送信ノード又は受信ノードとして指定しているかどうかを確認する。送信ノード指定がなされている場合は、当該IDにて一義的に指定されるデータをレスポンスとして通信バスに送出する。一方、受信ノードとして指定されていた場合は、該データを含む送信ノードからのレスポンスを受信する。つまり、送信ノードからのレスポンスはマスタノードだけでなく、他の全てのスレーブノードにも同時送信されるから、ヘッダのIDにより自身が受信ノードであることを認識することで、マスタノードに向けたレスポンスをいわば傍受する形でデータ受信することが可能になるのである(なお、受信ノードを指定するIDを別途ヘッダに組み込み、データ伝送の都度、受信ノードを動的に決定する方式も可能である)。
前述のごとく、LINにおいては、データ送信を行なう毎にマスタノードからの時間補正用基準波形に合わせてスレーブノードがボーレートを補正し、同期をとるようにしている。特に、UARTを用いて車載ECU(ノード)間の通信を行なう場合、1データ単位(データ幅が8ビットであれば、調歩同期の場合スタートビットとストップビットとを含めた計10ビット)でしか同期できないので、ボーレートに対しては特に厳しい精度が要求されている(例えばISO9141では±1.0%)。
ここで、マスタ/スレーブ間通信のみが用いられる場合であれば、伝送クロックパルス幅を決めるマスタノードの発振精度(つまり、それを用いた時間補正用基準波形の安定性)が安定に確保されていれば、これを計測するスレーブノードは、スレーブ側の発振周波数が(例えば温特等により)変動しても、マスタノードの安定した伝送クロックに合わせてダウンコンバート比率をその都度調整することで問題なく同期精度を確保できる。従って、これを見越して、マスタノードについては水晶やセラミックなどの高精度の発振回路を採用しつつ、スレーブノードの発振回路はCR発振器などにより低廉に構成することも行なわれている。
しかし、スレーブ/スレーブ間通信を行なわれるようになると、送信スレーブノードからのレスポンスは、該送信スレーブノードの発振周波数を基準としてマスタノードに合わせたボーレートにより送信される。一方、これを受ける受信スレーブノードは、該受信スレーブノードの発振周波数を基準としてマスタノードに合わせたボーレートによりこれを受ける。このとき、送信スレーブノードの発振精度と受信スレーブノードの発振精度との間に無視できない差が存在していると、送信側と受信側とでボーレートに大きなずれが生じ、要求される同期精度を充足できなくなってしまう問題がある。特に、スレーブノードの発振回路を、前述のごとくCR発振器など安価ではあるが発振精度の低い回路で構成した場合、この問題はより深刻となる。
本発明の課題は、時間補正用基準波形を用いてボーレート補正を行なうシングルマスタ方式のシリアル通信において、スレーブ/スレーブ間通信時の同期精度も問題なく確保できるシリアル通信ネットワークシステムを提供することにある。
課題を解決するための手段及び発明の効果
上記の課題を解決するために、本発明のシリアル通信ネットワークシステムは、
調歩同期型シリアル通信により接続された1つのマスタノードと複数のスレーブノードとからなるシリアル通信ネットワークシステムであって、
マスタノードに設けられ、スレーブノードとマスタ/スレーブ間通信を行なう際に、マスタノードのボーレートを反映したマスタ時間補正用基準波形をシリアル通信バスに送出するマスタ時間補正用基準波形送出手段と、
各スレーブノードに設けられ、通信相手となる他のスレーブノードとスレーブ/スレーブ間通信を行なう際に、自スレーブノードのボーレートを反映したスレーブ時間補正用基準波形をシリアル通信バスに送出するスレーブ時間補正用基準波形送出手段と、
各スレーブノードに設けられ、マスタノードから取得したマスタ時間補正用基準波形と、他のスレーブノードから取得したスレーブ時間補正用基準波形との双方に基づき自スレーブノードのボーレートを補正するボーレート補正手段と、を備えたことを特徴とする。
上記の構成によると、スレーブノードは、スレーブ/スレーブ間通信を行なう際に、マスタノードだけでなく、通信相手となるスレーブノードからも時間補正用基準波形を取得し、それらマスタ時間補正用基準波形とスレーブ時間補正用基準波形との双方に基づいて自スレーブノードのボーレートを補正するようにしたから、従来は全く考慮されていなかったスレーブノード間のボーレート補正が可能となり、スレーブ/スレーブ間通信時の同期精度を問題なく確保できるようになる。
本発明は、シングルマスタ方式の調歩同期型シリアル通信ネットワークとして、車載通信ネットワーク等に特に広く普及しているLIN通信ネットワークに特に好適に採用可能である(この場合、シリアル通信バスはLIN通信バスとなる)。背景技術にて既に説明したLIN通信の利点をそのまま踏襲しつつ、従来のLIN通信では不可能だったスレーブ/スレーブ間通信時のボーレート補正を可能とし、ひいてはスレーブ/スレーブ間通信の利用を拡大し、車載機能等に係るネットワーク制御の多様化にも貢献できる。
マスタノードには、マスタ基準クロック信号を生成するマスタ発振回路と、該マスタ基準クロック信号をダウンコンバートしてマスタ伝送クロック信号を生成するマスタ伝送クロック信号生成回路とを設けることができる。そして、各スレーブノードには、マスタ基準クロック信号に対応する周波数のスレーブ基準クロック信号を生成するスレーブ発振回路と、該スレーブ基準クロック信号をダウンコンバートしてマスタ伝送クロック信号に対応する周波数のスレーブ伝送クロック信号を生成するスレーブ伝送クロック信号生成回路とが設けられる。マスタ基準クロック信号とスレーブ基準クロック信号は、それぞれマスタノード及びスレーブノードの主体をなすCPUの動作クロックを与えるものであり、車載通信では例えば1MHz〜100MHz(例えば24MHz)程度の範囲で設定される。他方、マスタ伝送クロック信号及びスレーブ伝送クロック信号は、上記の基準クロック信号を数百分の1から数千分の1の周波数にダウンコンバートすることにより生成され、ボーレートは、例えばLIN通信の場合は0.5kbps〜から最大でも20kbpsである。
そして、個々のスレーブノードに設けるボーレート補正手段は、具体的には次のような要件を有するものとして構成できる。
・マスタボーレート計測手段:マスタ時間補正用基準波形が示すマスタノードのボーレートを、(自スレーブノードの)スレーブ基準クロック信号を用いて計測する。具体的には、マスタ時間補正用基準波形のクロックパルス幅(隣接するパルスエッジ(一方が立ち上がりエッジ、他方が立ち下がりエッジ)間の時間間隔)を、スレーブ基準クロック信号によりタイマー計測する。該機構は、従来のLIN通信においても採用されていたものである。
・スレーブボーレート計測手段:スレーブ時間補正用基準波形が示す、通信相手となるスレーブノードのボーレートを、スレーブ基準クロック信号を用いて計測する。具体的には、通信相手から送られてくるスレーブ時間補正用基準波形のクロックパルス幅((逆数がボーレートに対応する)を、同様に、スレーブ基準クロック信号によりタイマー計測する。つまり、周知のマスタボーレート計測手段とほとんど同様の構成にてスレーブノードのボーレート計測を実施できる利点がある(当然、タイマー計測のためのハードウェア及びソフトウェアをマスタボーレート計測手段と共用化できる利点も生ずる)。
そして、自スレーブノードのボーレートは、マスタノードのボーレートの計測結果と、通信相手となるスレーブノードのボーレートの計測結果との双方を参照して補正することで、スレーブノード間のボーレート偏差を効果的に縮小できる。具体的には、マスタボーレート計測手段とスレーブボーレート計測手段は、それぞれマスタ時間補正用基準波形及びスレーブ時間補正用基準波形のクロックパルス幅を計測するものとでき、ボーレート補正手段は、マスタ時間補正用基準波形のクロックパルス幅とスレーブ時間補正用基準波形のクロックパルス幅との平均値に基づいて自スレーブノードのボーレートを補正することが可能である。なお、該平均値は、相加平均であっても、相乗平均であってもいずれでもよく、マスタとスレーブの各クロックパルス幅の計測値に適宜重みを付与して平均を演算してもよい。
なお、スレーブ基準クロック信号のダウンコンバート比率が大きいほど、マスタ伝送クロック信号及びスレーブ伝送クロック信号のパルス幅計測の量子化レベルは高くなる。また、スレーブ発振回路はマスタ発振回路よりも発振精度の低い(つまり、安価な)発振回路にて構成できる。例えば、マスタ発振回路を水晶発振回路ないしセラミック発振回路にて構成し、スレーブ発振回路をCR発振回路で構成することが可能である。
LIN通信では、データ伝送に際してのメッセージフレーム構造がプロトコルにより規定されており、本発明特有のスレーブ時間補正用基準波形も、該LINプロトコルに整合する範囲にてメッセージフレームに組み込む必要がある。背景技術でも述べたごとく、LIN通信はシングルマスタ方式であり、複数のスレーブノードの1つを送信スレーブノードとし、他の1以上を受信スレーブノードとして、送信スレーブノードから受信スレーブノードへデータ送信する際(すなわち、スレーブ/スレーブ間通信する際)も、通信自体は、マスタタスクであるヘッダの送信から必ず開始されるプロトコル上の取り決めがある。
具体的には、LIN通信においてマスタノードは、メッセージの開始を示すブレークフィールドと、マスタ時間補正用基準波形を組み込んだマスタ同期フィールドと、データ送信スレーブノードを特定するスレーブノード特定フィールド(IDフィールド)とが配列したヘッダを通信バスに送出するヘッダ送出手段を有する。各スレーブノードは、ヘッダを受信するヘッダ受信手段を有し、このヘッダを受けて、スレーブタスクとなるレスポンスをマスタノードへ返す。
既に説明したごとく、ヘッダは全てのスレーブノードにより受信され、各スレーブノードはスレーブノード特定フィールドにて自ノードが(データの)送信ノードとして指定されているかどうかを確認する。送信ノード指定がなされている場合は、データをレスポンスとして通信バスに送出する。このレスポンスは、本来マスタノードに向けられたものであるが、通信バス上に送出されたレスポンスの内容はどのスレーブノードからも見えるので、受信ノードとして事前に指定されたスレーブノードはこのレスポンスを傍受することができる。従って、スレーブ/スレーブ間のボーレート補正に用いるスレーブ時間補正用基準波形は、該レスポンスの先頭に配置することが最も妥当である。すなわち、スレーブノードに設けるレスポンス送出手段は、スレーブノード特定フィールドが示す送信スレーブノードとして自スレーブノードが指定されている場合に、スレーブ時間補正用基準波形を組み込んだスレーブ同期フィールドと、送信対象となるデータを組み込んだデータフィールドと、エラーチェックフィールドとが配列したレスポンスを通信バスに送出するものとして構成するとよい。逆にいえば、本発明の概念を適用したLIN通信では、レスポンスの先頭にスレーブ同期フィールドが新たに追加される点が大きな特徴の一つとなる。
各スレーブノードに設けられるスレーブ発振回路の発振精度の差異が大きい場合(例えば、スレーブ発振回路の仕様がノード間で異なる場合、あるいは同一仕様であってもロット間ばらつき等の影響を大きく受けている場合など)、スレーブ時間補正用基準波形を用いた各スレーブノードでのボーレート補正は、過去に受信したスレーブ時間補正用基準波形による計測結果も統計的に加味して補正を行なうようにすると、スレーブ/スレーブ間の同期精度も一層高めることができる。通信バス上では、通信イベントが発生するたびに絶えずどれかのスレーブノードからレスポンスが送出され、前述のごとく、該レスポンスひいてはそれに含まれるスレーブ時間補正用基準波形を、当該通信イベントに関与しているかいないかとは無関係に、どのスレーブノードにおいても傍受できる。従って、各スレーブノードは、自身が送信ノードないし受信ノードとして指定されていないイベントのレスポンスに対しても、含まれるスレーブ時間補正用基準波形を取得して伝送クロックパルス幅(逆数がボーレートである)の計測を行なうことが可能であり、その計測結果を自ノードの伝送クロックパルス幅の補正に使用することも可能である。しかし、この方式では、スレーブノード間の発振精度の差異が大きいと、自ノードの通信相手として関与しないスレーブノードまで、その発振精度の影響を不必要に大きく受けることになり、ボーレート補正によるスレーブ/スレーブ間同期精度を十分に向上できない場合もありえる。
そこで、各スレーブノードにおいてボーレート補正手段に、通信相手となるマスタノード及びスレーブノードのボーレート計測結果に係る実績値を、通信相手を特定する情報と対応付けた形で記憶するボーレート計測実績値記憶手段を設け、ボーレート計測実績値記憶手段に記憶されているボーレート計測実績値のうち、現在の通信相手に対応するものを選択的に読み出し、該ボーレート計測実績値に基づいて自スレーブノードのボーレートを補正するように構成することができる。現在の通信相手に対応するスレーブノードのボーレート計測実績値のみを選んで自ノードのボーレート補正に反映させるようにすれば、当然のことながら、自ノードの通信相手として関与しないスレーブノードの発振精度の影響を排除することができ、補正精度を高めることができる。
例えば、各スレーブノードにおいて、ボーレート補正手段は、自スレーブノードがマスタノードにより受信スレーブノードとして指定された場合に、ボーレート計測実績値記憶手段に記憶されている、それらマスタノード及び送信側となるスレーブノードに係る各ボーレート計測実績値に基づいて自スレーブノードのボーレートを補正するように構成できる。また、ボーレート計測実績値は、マスタボーレート及びスレーブボーレートの最新の計測値を用いて更新する。マスタボーレート及びスレーブボーレートの最新の計測値に過去の計測実績値を加味することで、計測誤差やばらつき、あるいは計測温度などの環境誤差の影響を軽減でき、ボーレート補正精度を向上できる。
一方、各スレーブノードにおいて、ボーレート補正手段は、自スレーブノードが送信スレーブノードとして指定された場合に、マスタノード及びスレーブノードのうち送信相手となる全てのノードに係る各ボーレート計測実績値をボーレート計測実績値記憶手段から読み出し、該ボーレート計測実績値に基づいて自スレーブノードのボーレートを補正するように構成することもできる。自ノードが送信スレーブノードとなる場合は、該ノードはスレーブ時間補正用基準波形の出力元となるので、当該通信イベントでの新たなボーレート測定結果を補正に使用する余地はない。しかし、通信相手が送信ノードとなったときの過去のボーレート測定結果が実績値として記憶されていれば、これを用いて自ノードが送信スレーブノードとなる場合にもボーレート補正が可能となり、補正精度の向上に寄与できる。
各スレーブノードにおいてボーレート補正手段は、通信相手となるマスタノード及びスレーブノードのボーレート計測結果に係る実績値を、通信相手を区別せずに記憶するボーレート計測実績値記憶手段を設け、ボーレート計測実績値記憶手段に記憶されている自スレーブノード以外の全てのノードのボーレート計測実績値を読み出し、該ボーレート計測実績値に基づいて自スレーブノードのボーレートを補正するように構成することもできる。この方式は、スレーブ発振回路の発振精度の差異が大きい場合は望ましくないが、スレーブ発振回路の仕様が統一され、かつロットばらつき等の影響も小さく発振精度が比較的そろっている場合は、比較的良好なボーレート補正効果を達成でき、かつ、ボーレート計測結果に係る実績値を、通信相手を区別せずに採用するので補正方式が単純化され、ソフトウェア開発工数の削減を図ることができる。
以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明のシリアル通信ネットワークシステムの全体構成を示すブロック図である。シリアル通信ネットワークシステム1は、1つのマスタノード10(M)と複数のスレーブノード10(S)とをLIN通信バス20により接続したものであり、ボデー系車載ネットワークを構成するものである。各ノード10は半二重式URATを組み込んだマイクロコントローラICからなり、それぞれトランシーバIC11を介して、シングルメタルワイヤからなるLIN通信バス20に接続されている。
図2は、各ノードをなすマイクロコントローラICの内部ブロック図である。該マイクロコントローラICは、CPU、RAM及びROMからなるマイクロプロセッサ101と、該マイクロプロセッサ101のペリフェラルの一部をなすURAT集積回路110とを主体に構成されている。LIN通信のプロトコル部分(後述のボーレート補正のためのプログラムを含む)はマイクロプロセッサ101のROMに格納されている。一方、URAT集積回路110はバス102にてマイクロプロセッサ101に接続され、受信レジスタ103、送信レジスタ104、発振回路105、分周回路106、受信回路107、送信回路108及びボーレート計測用のタイマカウンタ109を有するものである。
マイクロコントローラICの基本ブロック自体はマスタノードとスレーブノードとで差異はないが、発振回路については、マスタノード10(M)では水晶発振回路105Q(又は、セラミック発振回路105C)で構成されるのに対し、スレーブノード10(S)ではCR発振回路105CRで構成される違いがある。この発振回路105からの基準クロック信号(マスタノードの場合はマスタ基準クロック信号、スレーブノードの場合はスレーブ基準クロック信号;いずれも1MHz〜100MHz(例えば24MHz)の範囲に設定される)は、そのままマイクロプロセッサ101に動作クロック信号として入力される一方、分周回路106により、該マイクロプロセッサ101からの指示値に対応する周波数(0.5〜20kHz(例えば、10kHz(9600bps)))にダウンコンバートされ、シリアル通信の伝送クロック信号として受信回路107及び送信回路108に分配入力される。
LIN通信では、データ伝送に際してのメッセージフレーム構造がプロトコルにより規定されている。図3は、本発明にて採用されるメッセージフレーム構造を、従来例と対比して示す概念図である。メッセージフレームはヘッダHDとレスポンスRSPとからなり、ヘッダHDはマスタタスクとして、レスポンスRSPはスレーブタスクとしてそれぞれ動作する。
ヘッダHDは、メッセージの開始を示すブレークフィールドBFと、マスタ時間補正用基準波形を組み込んだマスタ同期フィールドSF(MS)と、データ送信スレーブノード10(S)を特定するスレーブノード特定フィールド(以下、IDフィールドともいう)IDFとをこの順序で配列したものである。一方、レスポンスRSPは、従来は、送信対象となるデータを組み込んだデータフィールドDFと、エラーチェックフィールド(具体的には、チェックサムを送信するチャックサムフィールド)CSFとからのみ構成されていたが、本発明の実施形態では、データフィールドDFの前、つまり、レスポンスRSFの先頭に、スレーブ時間補正用基準波形を送信するスレーブ同期フィールドSF(SS)が新たに追加される。
マスタノード10(M)によるヘッダHDの内容ならびにスレーブノード10(S)によるレスポンスRSPの内容は、マイコン101から送信レジスタ104に一旦格納され、送信回路108から送出される。これらは、受信ノードにて受信回路107により受信され、受信レジスタ103を経てマイコン101により内容が読み取られる。
データフィールドDFにより1回に伝送されるデータ幅は例えば8ビットであり、調歩同期のためのスタートビットとストップビットとが前後に付加されて、例えば計10ビットが1データ単位となる。ただし、データ幅は可変設定とすることも可能である。UARTを用いてノード間の通信を行なう場合、該1データ単位でしか同期できないので、ボーレートに対しては、例えばISO9141では±1.0%と、特に厳しい精度が要求されている。
マスタ同期フィールドSF(MS)では、スレーブノード10(S)とマスタ/スレーブ間通信を行なう際の、マスタノード10(M)のボーレートを反映したマスタ時間補正用基準波形が送出される(マスタ時間補正用基準波形送出手段)。また、スレーブ同期フィールドSF(SS)では、2つのスレーブノード10(S)同士でスレーブ/スレーブ間通信を行なう際に、自スレーブノード10(S)(送信スレーブノード)のボーレートを反映したスレーブ時間補正用基準波形をシリアル通信バスに送出する(スレーブ時間補正用基準波形送出手段)。そして、各スレーブノード10(S)では、それらマスタ時間補正用基準波形と、スレーブ時間補正用基準波形との双方に基づき自スレーブノード10(S)のボーレートを補正する(ボーレート補正手段)。
マスタ同期フィールドSF(MS)とスレーブ同期フィールドSF(SS)とにおいて、各時間補正用基準波形は、それぞれマスタ伝送クロック信号とスレーブ伝送クロック信号とにより、図9に示すごとく、それぞれ一定ビット数のクロックパルス波形として生成される。なお、図9ではクロックパルス幅の計測対象としてA〜Hの9ビットが定められており、最初のビットであるAはスタートビットに兼用され、また、最後のビットIの後には計測に用いないストップビットが続いている。なお、スタートビットAを除くB〜Hの8ビットのみを計測対象としてもよい。
クロックパルス幅の計測は、マスタ基準クロック信号ないしスレーブ基準クロック信号にてカウントアップするタイマカウンタ109(デュアルカウンタとして構成しておくとよい)により、図10のようにして行なわれる。波形上に連続するドミナントレベル区間とレセッシブレベル区間とがそれぞれ計測の対象となり、その区間開始位置を示すエッジをトリガとして第一タイマーが計数開始し、区間終了位置を示すエッジを受けて計数を終了する。該エッジは、マイコンに対する第一タイマーの計数値読み取りの指令信号と、第二タイマーの計数開始のトリガとに兼用され、次区間の計数を該第二タイマーにて同様に実施し、区間終了位置を示すエッジ位置にて計数終了する。該エッジは、再び第一タイマーのトリガとなり、同様の動作が繰り返される。第一タイマー及び第二タイマーは、それぞれ計数開始後の適当なタイミングで、他方のタイマーにリセット信号を送出するようにしておく。
LIN通信においては、通信イベントは必ずマスタノードから開始される。図7上に示すように、マスタノードMNはヘッダHDを通信バス20に送出する(ヘッダ送出手段)。通信バス20はシングルワイヤであり、該通信バス20上に送出されたヘッダHDは全てのスレーブノードSNから見える状態、つまり、受信可能な状態になっている。ヘッダHDを受信した各スレーブノード10Sは、(受信/送信ノードの別なく)マスタ同期フィールドSF(MS)のマスタ時間補正用基準波形を受信しつつ、波形中の各クロックパルス幅を計測し、例えばそれらの加算平均値を、マスタボーレートを反映した値として演算する(以下、「ボーレートを演算する」等ともいう)。
マスタ基準クロック信号とスレーブ基準クロック信号とは同一の目標発振周波数に設定されており、マスタ時間補正用基準波形のクロックパルス幅の計測値には、上記目標発振周波数の計数したときの基準計測値が定められている。しかし、スレーブ基準クロック信号に誤差変動があればクロックパルス幅の計測値が該基準計測値からずれるので、図2において通信に関与するスレーブノード10(S)のマイコン101は、そのずれが縮小されるように自ノードのクロックパルス幅を補正演算し、分周回路106に、その補正結果に対応する周波数指示値を出力する。これを受けて、分周回路106は指示された周波数にダウンコンバート比率を変更し、スレーブボーレートを補正する。補正演算の詳細については後述する。
次いで、IDフィールドIDFには識別子(ID)が記述されており、識別子の内容に応じて通信イベント、ひいては該通信イベントに関与するスレーブノードが一義的に特定される。具体的には、各スレーブノードSNのROM内には、図4に示すようなスケジューリングテーブルが格納されており、識別子の内容毎に送信スレーブノード(及び送信データ)と、受信スレーブノードとの特定情報が一義的に対応付けられた形で記憶されている。
各スレーブノード10(S)は上記スケジューリングテーブルを参照して、識別子(ID)が自ノードを送信スレーブノードとして指定するものであるかどうかを確認する。送信スレーブノードとして指定されている場合は、該識別子にて要求されるデータをレスポンスとして通信バスに送出する(レスポンス送出手段)。一方、ヘッダは、受信スレーブノード10(S)Rにも送信されており、ここでもスケジューリングテーブルを参照して自ノードを受信スレーブノードとなっていることを確認できる。送信スレーブノード10(S)Tからのレスポンスは、本来マスタノード10(M)に向けられたものであるが、通信バス上に送出されたレスポンスの内容はどのスレーブノード10(S)からも見えるので、受信スレーブノード10(S)Rはこのレスポンスを傍受する形でデータを受信することができる。このようにしてスレーブ/スレーブ間のデータ通信が成立する。
そして、本発明のシステムでは、送信スレーブノード10(S)Tが、自身のスレーブ基準クロック信号をダウンコンバートする形でスレーブ時間補正用基準波形を生成し、図7の下に示すように、スレーブ同期フィールドSF(SS)としてこれを先頭に付加した形でレスポンスRSPを送出する。受信スレーブノード10(S)Rは、データフィールドDFを受信するに先立って、このスレーブ同期フィールドSF(SS)を受信し、前述のマスタ時間補正用基準波形の場合と全く同様に、波形中の各クロックパルス幅を計測し、例えばそれらの加算平均値を送信スレーブノードのボーレートを反映したクロックパルス幅として演算する。他方、受信スレーブノード10(S)Rは、レスポンスRSPの受信前にヘッダHDも受信し、その時計測したマスタノードのボーレートと、レスポンス受信時に計測した送信スレーブノードのボーレートとの双方を参照して自ノードのボーレートを補正するようにしている。
すなわち、スレーブ/スレーブ間通信を行なう際に、マスタノード10(M)だけでなく、送信スレーブノード10(S)Tからも時間補正用基準波形を取得し、それらマスタ時間補正用基準波形とスレーブ時間補正用基準波形との双方に基づいて自スレーブノード10(S)のボーレートを補正するので、従来は全く考慮されていなかったスレーブノード10(S)間のボーレート補正が可能となり、スレーブ/スレーブ間通信時の同期精度を問題なく確保できるようになる。また、後述のごとく過去のボーレート計測の実績値を記憶しておき、その実績値を用いてボーレート補正する方式を採用すれば、現在の通信イベントで他ノードからスレーブ時間補正用基準波形を取得できない送信スレーブノード10(S)Tにおいてもボーレート補正が可能となる。
以下、スレーブノードにおけるボーレート補正方法についてさらに詳細に説明する。各スレーブノード(SN1,SN2‥)は、マスタノードからのヘッダを受信するたびにマスタ時間補正用基準波形のクロックパルス幅を計測し、図5に示すように、これをマスタノード(MN)のボーレート計測結果実績値として、RAM内の実績値メモリに記憶する(ボーレート計測実績値記憶手段)。また、受信スレーブノードとなる場合に、受信スレーブノードからのレスポンスに含まれるスレーブ時間補正用基準波形のクロックパルス幅を計測し、これをスレーブボーレートの計測結果実績値として、受信スレーブノードを特定する情報(SN2,SN3,‥)と対応付けて同様に実績値メモリに記憶する。
図5に示すように、実績値メモリには、時間補正用基準波形の送信元ノード毎に、クロックパルス幅の計測実績値が過去の一定回数分(図5では5回)だけ蓄積されている。図5の上にスレーブノードSN1の実績値メモリの内容を模式的に示しており、例えば、マスタノードMNからのボーレート(クロックパルス幅)計測実績値がそれぞれf m1,f m2,f m3,‥、スレーブノードSN2からのボーレート(クロックパルス幅)計測実績値がそれぞれf 21,f 22,f 23,‥、等としてシフトメモリ形態に記憶されている。そして、蓄積された計測実績値の送信元ノード別の平均値(f mn,f 2n,f 3n‥)が、各送信元ノードの現在のボーレートを反映した情報として計算され、実績値メモリに合わせて記憶されている。各送信元ノードから新たな時間補正用基準波形を受ければ、その送信元ノードの最新のボーレート計測実績値が計測され、記憶されている最も古い実績値を消去するとともに、該最新の計測実績値を反映した平均値が演算しなおされ、実績値メモリの記憶内容が更新される。
図8に、各スレーブノードのマイコン101(図2)におけるボーレート補正の処理流れの一例を示す。S1においては、マスタ同期フィールド(ヘッダ)を受けているかどうかを確認し、受けていればS2に進み、前述の方式によりマスタボーレート(クロックパルス幅)を計測して、図5の実績値メモリに記憶し、平均値の更新を行なう。一方、マスタ同期フィールドを受けていなければS2をスキップする。次に、S3ではIDフィールドを受けているかどうかを確認する。受けていればS4に進み、図4のスケジューリングテーブルを参照して、IDフィールド内の識別子(ID)が、自ノードを送信スレーブノードとして指定するものであるかどうかを確認する。自ノードが送信スレーブノードに指定されていればS5に進み、同様にスケジューリングテーブルを参照して、受信スレーブノードがどれであるかを特定し(複数のこともありえる)、S6に進む。
S6では図5の実績値メモリを参照し、特定された受信スレーブノードのボーレート(クロックパルス間隔)計測実績値の平均値を全て読み出す。例えば、自ノードがスレーブノードSN1であり、受信スレーブノードがSN2のみであった場合、自ノードに設定する伝送クロックパルス間隔を次のように算出する。すなわち、図5の実績値メモリには、S2で演算・更新されたマスタノードMNのクロックパルス間隔計測値の平均値がf mnとして、また、上記S6で読み出した受信スレーブノードSN2のクロックパルス間隔計測値の平均値がf 2nとして記憶されているので、これらを読み出し、自ノードに設定する伝送クロックパルス間隔fpを、
fp=(f mn+f 2n)/2
として演算する。他方、受信スレーブノードがSN2とSN3であった場合は、受信スレーブノードSN2,SN3のクロックパルス間隔計測値の平均値f 2n及びf 2nを読み出し、自ノードに設定する伝送クロックパルス間隔fpを、
fp=(f mn+f 2n+f 3n)/3
として演算する。いずれも、ボーレートνpは、
νp=1/fp
であり、この値が、分周回路106(図2)に設定周波数として出力され、自ノード(送信スレーブノード)のボーレート補正がなされる。
次に、S4で自ノードが送信スレーブノードとして指定されていなかった場合にはS5及びS6をスキップしてS7に進み、自ノードを受信スレーブノードとして指定するものであるかどうかを確認する。自ノードが受信スレーブノードに指定されていればS8に進み、スケジューリングテーブルを参照して、送信スレーブノードがどれであるかを特定し、S9に進む。
S9では図5の実績値メモリを参照し、特定された送信スレーブノードのボーレート(クロックパルス間隔)計測実績値の平均値を読み出す。例えば、自ノードがスレーブノードSN1であり、送信スレーブノードがSN5であった場合、自ノードに設定する伝送クロックパルス間隔fpを、
fp=(f mn+f 5n)/2
として演算する。ボーレートνpは、
νp=1/fp
であり、この値が、分周回路106(図2)に設定周波数として出力され、自ノード(受信スレーブノード)のボーレート補正がなされる。
S4ないしS7で、自ノードが送信スレーブノードにも受信スレーブノードにもいずれにも指定されていなかった場合には、S5、S6、S8、S9はスキップされ、ボーレート補正は実施されない。また、S1でヘッダが受信されていない場合は、S3でIDフィールドが受信されず、S10にジャンプする。このときは、送信スレーブノードからのレスポンスを受ける流れとなる。すなわち、S10では、すでに受信しているヘッダ(のIDフィールド)で、どのノードが受信スレーブノードであるかが特定できているので(S8)、その受信スレーブノードの特定情報をメモリ保持する。
続いてS11ではレスポンスの先頭にあるスレーブ同期フィールドを受信しているかどうかを判定する。受信していればS12に進み、メモリ保持されている受信スレーブノードの特定情報を読み出す。そして、スレーブ同期フィールド内のスレーブ時間補正用基準波形から前述の方式によりスレーブボーレート(クロックパルス幅)を計測し、S13にて、図5の実績値メモリの対応するスレーブボーレートのエリアに記憶し、平均値の更新を行なう。
以上の処理では、各スレーブノードにおいて、自ノードが受信スレーブノードとして指定された場合に、マスタノードと送信スレーブノードとのボーレート計測実績値のみを用いて自ノードのボーレートを補正するようにしていた。また、自ノードが送信スレーブノードとして指定された場合には、マスタノードと受信スレーブノードとのボーレート計測実績値のみを用いて自ノードのボーレートを補正するようにしていた。すなわち、現在の通信相手に対応するスレーブノードのボーレート計測実績値のみを選んで自ノードのボーレート補正を行なうことで、自ノードの通信相手として関与しないスレーブノードの発振精度の影響を排除することができ、補正精度を高めることができる。
しかし、スレーブノード間の発振精度のばらつきが比較的小さい場合は、図6に示すように、各スレーブノードにおいて、通信相手となるマスタノード及びスレーブノードのボーレート計測結果に係る実績値を、通信相手を区別せずに記憶するようにしておき(f1,f2,f3,‥)、これら自ノード以外の全てのノード(つまり、自ノード以外のスレーブノードとマスタノード)のボーレート計測実績値を読み出して、例えば、その平均値として自ノードの設定ボーレートを算出するようにしてもよい。
そこで、各スレーブノード10(S)においてボーレート補正手段に、通信相手となるマスタノード10(M)及びスレーブノード10(S)のボーレート計測結果に係る実績値を、通信相手を特定する情報と対応付けた形で記憶するボーレート計測実績値記憶手段を設け、ボーレート計測実績値記憶手段に記憶されているボーレート計測実績値のうち、現在の通信相手に対応するものを選択的に読み出し、該ボーレート計測実績値に基づいて自スレーブノード10(S)のボーレートを補正するように構成することができる。現在の通信相手に対応するスレーブノード10(S)のボーレート計測実績値のみを選んで自ノードのボーレート補正に反映させるようにすれば、当然のことながら、自ノードの通信相手として関与しないスレーブノード10(S)の発振精度の影響を排除することができ、補正精度を高めることができる。
例えば、各スレーブノード10(S)において、ボーレート補正手段は、自スレーブノード10(S)がマスタノード10(M)により受信スレーブノード10(S)として指定された場合に、当該受信時におけるマスタボーレートの最新の計測結果と、同じく送信側となるスレーブノード10(S)に係るスレーブボーレートの最新の計測結果とに、ボーレート計測実績値記憶手段に記憶されている、それらマスタノード10(M)及び送信側となるスレーブノード10(S)に係る各ボーレート計測実績値をそれぞれ加味した形で自スレーブノード10(S)のボーレートを補正するように構成できる。また、ボーレート計測実績値は、マスタボーレート及びスレーブボーレートの最新の計測値を用いて更新する。マスタボーレート及びスレーブボーレートの最新の計測値に過去の計測実績値を加味することで、計測誤差やばらつき、あるいは計測温度などの環境誤差の影響を軽減でき、ボーレート補正精度を向上できる。なお、自スレーブノード10(S)がマスタノード10(M)により受信スレーブノード10(S)として指定された場合において、ボーレート計測実績値を加味せず、マスタボーレート及びスレーブボーレートの最新の計測値のみに基づいてボーレート補正を行なうことも可能である。この場合は、ボーレート計測実績値記憶手段を省略することができる。
一方、各スレーブノード10(S)において、ボーレート補正手段は、自スレーブノード10(S)が送信スレーブノード10(S)として指定された場合に、マスタノード10(M)及びスレーブノード10(S)のうち送信相手となる全てのノードに係る各ボーレート計測実績値をボーレート計測実績値記憶手段から読み出し、該ボーレート計測実績値に基づいて自スレーブノード10(S)のボーレートを補正するように構成することもできる。自ノードが送信スレーブノード10(S)となる場合は、該ノードはスレーブ時間補正用基準波形の出力元となるので、当該通信イベントでの新たなボーレート測定結果を補正に使用する余地はない。しかし、通信相手が送信ノードとなったときの過去のボーレート測定結果が実績値として記憶されていれば、これを用いて自ノードが送信スレーブノード10(S)となる場合にもボーレート補正が可能となり、補正精度の向上に寄与できる。
各スレーブノード10(S)においてボーレート補正手段は、通信相手となるマスタノード10(M)及びスレーブノード10(S)のボーレート計測結果に係る実績値を、通信相手を区別せずに記憶するボーレート計測実績値記憶手段を設け、ボーレート計測実績値記憶手段に記憶されている自スレーブノード10(S)以外の全ノードのボーレート計測実績値を読み出し、該ボーレート計測実績値に基づいて自スレーブノード10(S)のボーレートを補正するように構成することもできる。この方式は、スレーブ発振回路105RCの発振精度の差異が大きい場合は望ましくないが、スレーブ発振回路105RCの仕様が統一され、かつロットばらつき等の影響も小さく発振精度が比較的そろっている場合は、比較的良好なボーレート補正効果を達成でき、かつ、ボーレート計測結果に係る実績値を、通信相手を区別せずに採用するので補正方式が単純化され、ソフトウェア開発工数の削減を図ることができる。
以下、本発明の効果を示すいくつかの実例について説明する。
図11においては、スレーブノード1を送信スレーブノードとし、スレーブノード2を受信スレーブノードとしてスレーブ/スレーブ間通信を行なう場合の、各ノード間のボーレート誤差発生状況の一例を示すものである。ボーレート誤差は、送信スレーブノード(すなわち、スレーブノード1)を基準とした相対値により示しており、送信スレーブノードよりもボーレートが大きい場合を「+」、同じく小さい場合を「−」で表している。マスタノードの相対誤差は−0.4%と比較的小さいが、スレーブノード2の相対誤差は−2.2%と大きい。スレーブノード1がヘッダをマスタノードから受けるとき、及びスレーブノード1がレスポンスをマスタノードに返すときはマスタ/スレーブ間通信となり、相対誤差は−0.4%と小さく、前述のISO9141の許容範囲(±1.0%:幅にして2.0%)にも収まっている。しかし、スレーブノード1のレスポンスをスレーブノード2でも受信する場合は、許容範囲を外れる+2.2%である。
そこで、既に説明したスレーブ時間補正用基準波形とマスタ時間補正用基準波形との双方を用いて、スレーブノード1のボーレートを、マスタノードとスレーブノード2との各ボーレートの平均値を目標として補正すると、スレーブノード1のボーレートの相対誤差換算で、マスタノードに対する値−0.4%とスレーブノード2に対する値−2.2%との平均値、すなわち、
{−0.4+(−2.2)}/2=−1.3%
分だけ(ボーレートが縮小する側に)補正されるので、図12に示すように、スレーブノード1から見たマスタノードの相対誤差は+0.9%、同じくスレーブノード2の相対誤差は−0.9%となり、いずれも許容範囲内に収めることができる。
次に、図13に示すように、マスタノードと5つのスレーブノードとからなるネットワークにて、スレーブノード3を送信スレーブノード、スレーブノード1,4が受信ノードとなる場合を考える(スレーブノード3を基準とした各ノードのボーレートの相対誤差を図中に表示している)。そして、スレーブノード3のボーレート補正を、受信ノードのボーレート計測値だけを選択的に用いて行なう場合(以下、受信ノード選択補正という)と、通信に関与しないノードも含めた全ノードのボーレート計測値を用いて行なう場合(以下、全ノード補正という)とで、その効果の比較を行なう。
受信ノード選択補正の場合は、スレーブノード3のボーレートは、マスタノード、スレーブノード1及びスレーブノード4の各ボーレートの平均値を目標として補正されるので、スレーブノード3のボーレートの相対誤差換算での補正量は、
{+0.4(マスタ)+2.2(スレーブ1)+0.6(スレーブ4)}/3=+1.0%(小数点第2桁を切り捨て表示)
となり、1.0%だけボーレートが拡大する側に補正される。他方、全ノード補正の場合は、同様に、
{+0.4(マスタ)+2.2(スレーブ1)+0.6(スレーブ2)+0.6(スレーブ4)+0.4(スレーブ5)}/5=+0.8%(小数点第2桁を切り捨て表示)
となり、0.8%だけボーレートが拡大する側に補正される。しかし、この補正量は、受信ノード選択補正の場合より明らかに小さい。
補正後の結果を図14に示す。スレーブノード3(送信)に対する相対誤差が最も大きいスレーブノード1での補正効果で比較すると、補正前は+2.2%であった相対誤差が、受信ノード選択補正では1.0%縮小されて+1.2%となり、全ノード補正では0.8%縮小されて+1.4%となる。いずれも、誤差は縮小されているが、受信ノード選択補正のほうがその効果が大きいことがわかる。なお、理解を容易にするために、スレーブノード3のみをボーレート補正した結果にて示したので、スレーブノード1については補正後の相対誤差は許容範囲外となっているが、スレーブノード1についてもボーレート補正を行なうことで相対誤差を許容範囲内に収めることができる。
次に、図15に示す同様のシステム構成で、従来のごとくマスタ時間補正用基準波形のみを用いてマスタ/スレーブ間のみのボーレート補正を行なった場合を比較例とし、スレーブ時間補正用基準波形も併用して、スレーブ/スレーブ間のボーレート補正も行なう場合を実施例として、その効果の差を対比して説明する。ここでもスレーブノード3が送信スレーブノードであり、受信スレーブノードはスレーブノード1のみとする。スレーブノード3はマスタノードに合わせてボーレートを補正し同期をとるが、このときの同期誤差が±0.1%存在していると考える。
まず比較例であるが、スレーブノード3はマスタノードに同期することで、図16に示すように、マスタノードとの相対誤差が縮小する向き、具体的には+0.2%ボーレートが補正される。すると、補正前は+2.2%あったスレーブノード1との相対誤差は+0.2%縮小し、補正後は+2.0%となり、許容範囲の辛くも収まる形となる。しかし、これはマスタノードに対する同期誤差を考慮しない場合であって、実際には同期誤差が負側に存在するとき、補正後の相対誤差も許容範囲外となってしまう懸念が生ずる。
そこで、実施例のごとく、スレーブノード3とスレーブノード1との同期も考慮すると、スレーブノード3のボーレートは、
{+0.2(マスタ)+2.2(スレーブ3)}/2=+1.2%
だけスレーブノードに近づく向きに補正されるので、図17に示すように、スレーブノード3から見たマスタノードの相対誤差は−1.0%、同じくスレーブノード1の相対誤差は+1.0%となり、仮に同期誤差が±0.1%存在しても、余裕をもって許容範囲内に収めることができることがわかる。
本発明のシリアル通信ネットワークシステムの全体構成例を示すブロック図。 図1の通信ネットワークを構成する各ノードのブロック図。 本発明を採用したLIN通信のメッセージフレーム構造を、従来の構造と対比してしめす模式図。 スケジューリングテーブルの模式図。 スレーブノードにおける実績値メモリの第一例を示す図。 同じく第二例を示す図。 図1のネットワークにおける通信手順の概略を示す説明図。 本発明に従うボーレート補正処理の一例を示すフローチャート。 時間補正用基準波形の模式図。 タイマカウンタによるボーレート計測の説明図。 ノード間のボーレート誤差発生状況の一例を示す図。 図11に本発明を適用したときの効果説明図。 本発明の効果検証に使用した第一のシステム構成をボーレート誤差とともに示す図。 図13のシステムにおける本発明の効果を、受信ノード選択補正を行なった場合と全ノード補正を行なった場合とで対比して示す説明図。 本発明の効果検証に使用した第二のシステム構成をボーレート誤差とともに示す図。 図13のシステムにおいて、マスタ/スレーブ間同期のみを考慮する比較例の作用説明図。 同じくスレーブ/スレーブ間同期も考慮した実施例の作用・効果説明図。
符号の説明
1 シリアル通信ネットワークシステム
10(M) マスタノード
10(S) スレーブノード
20 シリアル通信バス
101 マイコン(ボーレート補正手段)
105Q(105C) マスタ発振回路
105RC スレーブ発振回路
106 分周回路(マスタ伝送クロック信号生成回路、スレーブ伝送クロック信号生成回路)
109 タイマカウンタ(マスタボーレート計測手段、スレーブボーレート計測手段)
HD ヘッダ
BF ブレークフィールド
SF(MS) マスタ同期フィールド
IDF スレーブノード特定フィールド
RSP レスポンス
SF(SS) スレーブ同期フィールド
DF データフィールド
CSF エラーチェックフィールド

Claims (9)

  1. 調歩同期型シリアル通信により接続された1つのマスタノードと複数のスレーブノードとからなるシリアル通信ネットワークシステムであって、
    前記マスタノードに設けられ、前記スレーブノードとマスタ/スレーブ間通信を行なう際に、前記マスタノードのボーレートを反映したマスタ時間補正用基準波形をシリアル通信バスに送出するマスタ時間補正用基準波形送出手段と、
    各前記スレーブノードに設けられ、通信相手となる他のスレーブノードとスレーブ/スレーブ間通信を行なう際に、自スレーブノードのボーレートを反映したスレーブ時間補正用基準波形を前記シリアル通信バスに送出するスレーブ時間補正用基準波形送出手段と、
    各前記スレーブノードに設けられ、前記マスタノードから取得したマスタ時間補正用基準波形と、他のスレーブノードから取得した前記スレーブ時間補正用基準波形との双方に基づき自スレーブノードのボーレートを補正するボーレート補正手段と、
    を備えたことを特徴とするシリアル通信ネットワークシステム。
  2. 前記マスタノードには、マスタ基準クロック信号を生成するマスタ発振回路と、該マスタ基準クロック信号をダウンコンバートして前記マスタ伝送クロック信号を生成するマスタ伝送クロック信号生成回路とが設けられ、
    各前記スレーブノードには、前記マスタ基準クロック信号に対応する周波数のスレーブ基準クロック信号を生成するスレーブ発振回路と、該スレーブ基準クロック信号をダウンコンバートして前記マスタ伝送クロック信号に対応する周波数の前記スレーブ伝送クロック信号を生成するスレーブ伝送クロック信号生成回路とを備え、前記ボーレート補正手段は、前記マスタ時間補正用基準波形が示す前記マスタノードのボーレートを、前記スレーブ基準クロック信号を用いて計測するマスタボーレート計測手段と、前記スレーブ時間補正用基準波形が示す、通信相手となるスレーブノードのボーレートを、前記スレーブ基準クロック信号を用いて計測するスレーブボーレート計測手段とを備え、自スレーブノードのボーレートを前記マスタノードのボーレートの計測結果と、前記通信相手となるスレーブノードのボーレートの計測結果との双方を参照して補正する請求項1記載のシリアル通信ネットワークシステム。
  3. 前記マスタボーレート計測手段と前記スレーブボーレート計測手段は、それぞれ前記マスタ時間補正用基準波形及び前記スレーブ時間補正用基準波形のクロックパルス幅を計測するものであり、前記ボーレート補正手段は、前記マスタ時間補正用基準波形のクロックパルス幅と前記スレーブ時間補正用基準波形のクロックパルス幅との平均値に基づいて前記自スレーブノードのボーレートを補正するものである請求項2記載のシリアル通信ネットワークシステム。
  4. 前記シリアル通信バスはLIN通信バスである請求項2又は請求項3に記載のシリアル通信ネットワークシステム。
  5. 複数の前記スレーブノードの1つを送信スレーブノードとし、他の1以上を受信スレーブノードとして、前記送信スレーブノードから前記受信スレーブノードへデータ送信する際に、
    前記マスタノードは、メッセージの開始を示すブレークフィールドと、前記マスタ時間補正用基準波形を組み込んだマスタ同期フィールドと、前記データ送信スレーブノードを特定するスレーブノード特定フィールドとが配列したヘッダを前記通信バスに送出するヘッダ送出手段を有し、
    各前記スレーブノードは、前記ヘッダを受信するヘッダ受信手段と、前記スレーブノード特定フィールドが示す前記送信スレーブノードとして自スレーブノードが指定されている場合に、前記スレーブ時間補正用基準波形を組み込んだスレーブ同期フィールドと、送信対象となるデータを組み込んだデータフィールドと、エラーチェックフィールドとが配列したレスポンスを前記通信バスに送出するレスポンス送出手段とを備える請求項4記載のシリアル通信ネットワークシステム。
  6. 各前記スレーブノードにおいて、前記ボーレート補正手段は、通信相手となる前記マスタノード及び前記スレーブノードのボーレート計測結果に係る実績値を、前記通信相手を特定する情報と対応付けた形で記憶するボーレート計測実績値記憶手段を備え、前記ボーレート計測実績値記憶手段に記憶されているボーレート計測実績値のうち、現在の通信相手に対応するものを選択的に読み出し、該ボーレート計測実績値に基づいて前記自スレーブノードのボーレートを補正するものである請求項2ないし請求項5のいずれか1項に記載のシリアル通信ネットワークシステム。
  7. 各前記スレーブノードにおいて、前記ボーレート補正手段は、自スレーブノードが前記マスタノードにより受信スレーブノードとして指定された場合に、前記ボーレート計測実績値記憶手段に記憶されている、それらマスタノード及び送信側となるスレーブノードに係る各ボーレート計測実績値に基づいて前記自スレーブノードのボーレートを補正する請求項6記載のシリアル通信ネットワークシステム。
  8. 各前記スレーブノードにおいて、前記ボーレート補正手段は、自スレーブノードが送信スレーブノードとして指定された場合に、前記マスタノード及びスレーブノードのうち送信相手となる全てのノードに係る各ボーレート計測実績値を前記ボーレート計測実績値記憶手段から読み出し、該ボーレート計測実績値に基づいて前記自スレーブノードのボーレートを補正する請求項6記載のシリアル通信ネットワークシステム。
  9. 各前記スレーブノードにおいて、前記ボーレート補正手段は、通信相手となる前記マスタノード及び前記スレーブノードのボーレート計測結果に係る実績値を、前記通信相手を区別せずに記憶するボーレート計測実績値記憶手段と、前記ボーレート計測実績値記憶手段に記憶されている自スレーブノード以外の全てのノードのボーレート計測実績値を読み出し、該ボーレート計測実績値に基づいて前記自スレーブノードのボーレートを補正するものである請求項2ないし請求項5のいずれか1項に記載のシリアル通信ネットワークシステム。
JP2008204235A 2008-08-07 2008-08-07 シリアル通信ネットワークシステム Expired - Fee Related JP4905808B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008204235A JP4905808B2 (ja) 2008-08-07 2008-08-07 シリアル通信ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008204235A JP4905808B2 (ja) 2008-08-07 2008-08-07 シリアル通信ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2010041567A true JP2010041567A (ja) 2010-02-18
JP4905808B2 JP4905808B2 (ja) 2012-03-28

Family

ID=42013606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008204235A Expired - Fee Related JP4905808B2 (ja) 2008-08-07 2008-08-07 シリアル通信ネットワークシステム

Country Status (1)

Country Link
JP (1) JP4905808B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101135235B1 (ko) 2010-04-08 2012-04-12 성균관대학교산학협력단 네트워크 기반 시스템에서의 동적 클럭 드리프트 보상 방법 및 장치
JP2012080365A (ja) * 2010-10-01 2012-04-19 Fujitsu Ltd 伝送システム、スレーブ伝送装置及びクロック同期方法
JP2013026835A (ja) * 2011-07-21 2013-02-04 Denso Corp 通信装置
JP2013030930A (ja) * 2011-07-27 2013-02-07 Denso Corp 通信装置
CN111585681A (zh) * 2020-05-08 2020-08-25 海信容声(广东)冰箱有限公司 一种家电设备
KR20210132474A (ko) * 2020-04-27 2021-11-04 에스큐아이소프트(주) 통신 상태를 자가 진단하는 데이터 수집 및 처리용 엣지 디바이스

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111151A (ja) * 1996-10-09 1998-04-28 Yokogawa Electric Corp 測定シーケンス制御装置
JP2001027904A (ja) * 1999-05-11 2001-01-30 Fanuc Ltd 数値制御システム
JP2006157271A (ja) * 2004-11-26 2006-06-15 Yaskawa Electric Corp シリアル伝送装置の同期方法
JP2006352340A (ja) * 2005-06-14 2006-12-28 Yaskawa Electric Corp マスタ機器、スレーブ機器および通信システム
JP2007324679A (ja) * 2006-05-30 2007-12-13 Nec Electronics Corp シリアル通信用ボーレートジェネレータ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111151A (ja) * 1996-10-09 1998-04-28 Yokogawa Electric Corp 測定シーケンス制御装置
JP2001027904A (ja) * 1999-05-11 2001-01-30 Fanuc Ltd 数値制御システム
JP2006157271A (ja) * 2004-11-26 2006-06-15 Yaskawa Electric Corp シリアル伝送装置の同期方法
JP2006352340A (ja) * 2005-06-14 2006-12-28 Yaskawa Electric Corp マスタ機器、スレーブ機器および通信システム
JP2007324679A (ja) * 2006-05-30 2007-12-13 Nec Electronics Corp シリアル通信用ボーレートジェネレータ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101135235B1 (ko) 2010-04-08 2012-04-12 성균관대학교산학협력단 네트워크 기반 시스템에서의 동적 클럭 드리프트 보상 방법 및 장치
JP2012080365A (ja) * 2010-10-01 2012-04-19 Fujitsu Ltd 伝送システム、スレーブ伝送装置及びクロック同期方法
JP2013026835A (ja) * 2011-07-21 2013-02-04 Denso Corp 通信装置
JP2013030930A (ja) * 2011-07-27 2013-02-07 Denso Corp 通信装置
KR20210132474A (ko) * 2020-04-27 2021-11-04 에스큐아이소프트(주) 통신 상태를 자가 진단하는 데이터 수집 및 처리용 엣지 디바이스
KR102405889B1 (ko) * 2020-04-27 2022-06-08 에스큐아이소프트(주) 통신 상태를 자가 진단하는 데이터 수집 및 처리용 엣지 디바이스
CN111585681A (zh) * 2020-05-08 2020-08-25 海信容声(广东)冰箱有限公司 一种家电设备
CN111585681B (zh) * 2020-05-08 2023-04-14 海信容声(广东)冰箱有限公司 一种家电设备

Also Published As

Publication number Publication date
JP4905808B2 (ja) 2012-03-28

Similar Documents

Publication Publication Date Title
JP4905808B2 (ja) シリアル通信ネットワークシステム
US10146725B2 (en) Method and device for checking the correct functioning of a serial data transmission
US9209942B2 (en) Communication system and communication apparatus
JP4116073B2 (ja) 少なくとも2つの分散形制御装置間のデータの周期的伝送方法
US7620075B2 (en) Serial communication system with baud rate generator
US8448035B2 (en) Communication system adapting for car, communication apparatus adapting for car, and communication method adapting for car
US9262365B2 (en) Method and device for serial data transmission at a switchable data rate
RU2596582C2 (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
US9461937B2 (en) Method and device for a serial data transmission with additionally inserted data
JP2007060400A (ja) 通信タイミング制御方法および通信タイミング制御システム
JP2008290666A (ja) 電子制御装置
US6598107B1 (en) Method for communicating data on a serial bus
US8422613B2 (en) Clock-synchronous communication apparatus and communication system
JP2007166179A (ja) シリアル通信装置
JP5742693B2 (ja) 通信装置及びクロック同期式通信システム
JP6477438B2 (ja) 通信装置および通信システム
JP2958601B2 (ja) データ通信方式
KR100597436B1 (ko) 무선 1394 시스템의 사이클 타임 동기화 장치 및 그 방법
JP4192627B2 (ja) パケット送受信方法、及び装置
JP2668898B2 (ja) バス制御回路
JP7542307B2 (ja) スレーブノード、スレーブノードとマスターノードとの間の通信を同期する方法、およびスレーブノードの制御構成要素
Kammerer TTCAN
KR101041855B1 (ko) 망 상태 전문 전송제어장치 및 방법
JP2011077782A (ja) 多重通信装置および多重通信システム
JP2001168891A (ja) 車両多重伝送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4905808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees