(57)【要約】【課題】ノード間において互いに誤差の少ない正確な時刻を共有可能な技術を提供する。【解決手段】通信システムを構成するマスタノード及びスレーブノードは、共通する通信路にバス接続され、互いにＰＷＭ通信可能に構成される。マスタノードは、水晶発振子から供給される基準クロック信号に基づいて動作し、周期的なＰＷＭ信号を出力する。一方、スレーブノード５０は、エッジ検出回路７５にてＰＷＭ信号の立下りエッジを検出し、クロック生成回路７２にて、このエッジ間隔に対応した周期の基準クロック信号ＲＣＫ２を生成する。スレーブノード５０のマイコン６０は、この基準クロック信号ＲＣＫ２に基づいて動作し刻時する。更に、スレーブノード５０のマイコン６０は、マスタノードからＰＷＭ通信により受信したデータＲｘＤに含まれる時刻情報に基づいて、自己が刻時する時刻を補正する。【選択図】図５
2015023345.tif 000002
【特許請求の範囲】
【請求項１】
周期的なパルス幅変調（ＰＷＭ）信号を通信路に出力する送信装置（１０）であって、送信データに対応したパルス幅変調を加えた前記ＰＷＭ信号を出力する送信装置から出力される前記ＰＷＭ信号を、前記通信路を介して受信し復調する受信ユニット（７０）と、
前記通信路から入力される前記ＰＷＭ信号の特定エッジを検出し、前記特定エッジの検出周期に対応した基準クロック信号を生成する生成ユニット（７２，７５）と、
前記受信ユニットが前記ＰＷＭ信号を復調して得た前記送信装置からの前記送信データに基づく処理を実行する処理ユニットであって、前記生成ユニットにより生成された前記基準クロック信号に基づき動作して刻時する一方、前記送信データに基づく処理の一つとして、前記送信データに含まれる時刻情報に基づき、自己が前記刻時する時刻を補正する処理を実行する処理ユニット（６０）と、
を備えることを特徴とする受信装置。
【請求項２】
前記時刻情報を含む前記送信データは、データ識別子を更に含み、
前記処理ユニットは、前記送信データに含まれる前記データ識別子及び前記時刻情報に基づき、前記データ識別子に対応する補正モードで、前記時刻を補正すること
を特徴とする請求項１記載の受信装置。
【請求項３】
前記時刻情報を含む前記送信データは、データ識別子を更に含み、
前記処理ユニットは、種類の異なる複数の時刻を刻時する一方、前記送信データに含まれる前記データ識別子及び前記時刻情報に基づき、前記複数の時刻の内、前記データ識別子に対応する前記時刻を補正すること
を特徴とする請求項１記載の受信装置。
【請求項４】
通信路を介して互いに接続されたマスタノード（１０）及びスレーブノード（５０）
を備え、
前記マスタノードは、
発振子（４０）と、
処理ユニット（２０）と、
パルス幅変調（ＰＷＭ）信号を前記通信路に出力する送信ユニットであって、前記処理ユニットから入力された送信データに対応したパルス幅変調を加えた前記ＰＷＭ信号を出力する送信ユニット（３０）と、
を備え、
前記処理ユニットが、前記発振子から入力される第一の基準クロック信号に基づき動作して刻時する一方、所定の送信条件が満足されると、自己が前記刻時する時刻に対応した時刻情報を格納した前記送信データを前記送信ユニットに入力し、
前記送信ユニットが、前記第一の基準クロック信号に基づく周期的な前記ＰＷＭ信号を生成して、前記ＰＷＭ信号を前記通信路に出力する
構成にされ、
前記スレーブノードは、
前記マスタノードからの前記ＰＷＭ信号を、前記通信路を介して受信し復調する受信ユニット（７０）と、
前記通信路から入力される前記ＰＷＭ信号の特定エッジを検出し、前記特定エッジの検出周期に対応した第二の基準クロック信号を生成する生成ユニット（７２，７５）と、
前記受信ユニットが前記ＰＷＭ信号を復調して得た前記マスタノードからの前記送信データに基づく処理を実行する処理ユニットであって、前記生成ユニットにより生成された前記第二の基準クロック信号に基づき動作して刻時する一方、前記送信データに基づく処理の一つとして、前記送信データに含まれる前記時刻情報に基づき、自己が前記刻時する時刻を補正する処理を実行する処理ユニット（６０）と、
を備えること
を特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス幅変調（ＰＷＭ）信号を用いた通信システム及び受信装置に関する。
【背景技術】
【０００２】
従来、ＰＷＭ信号を用いた通信（即ちＰＷＭ通信）により、ノード間でデータ通信を行う通信システムが知られている。また、車両用の通信システムとしては、複数のＥＣＵ（電子制御ユニット）を高精度に連携動作させるために、各ＥＣＵにおけるタイマを同期させる技術が知られている（例えば、特許文献１参照）。この技術によれば、マスタＥＣＵが自己のローカルタイマ値をメッセージフレームに格納して、当該フレームをスレーブＥＣＵに送信し、スレーブＥＣＵは、受信フレームに含まれるローカルタイマ値に基づき、自己のローカルタイマ値を更新する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−６４１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、高精度な時刻のカウント動作（刻時動作）が要求されるデバイスには、水晶発振子等の高精度発振子が設けられる。しかしながら、ノード間において互いに誤差の少ない時刻を共有するために、各ノードに高精度発振子を設けると、通信システムの構築コストが上昇する。
【０００５】
本発明は、全ノードに高精度発振子を設けなくとも、ノード間において互いに誤差の少ない正確な時刻を共有可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の受信装置は、送信装置からのＰＷＭ（パルス幅変調）信号を受信可能な受信装置であって、受信ユニットと、生成ユニットと、処理ユニットとを備える。送信装置は、周期的なＰＷＭ信号を通信路に出力する。具体的には、送信データに対応したパルス幅変調を加えたＰＷＭ信号を出力する。
【０００７】
受信ユニットは、この送信装置から出力されるＰＷＭ信号を、通信路を介して受信し復調する。処理ユニットは、受信ユニットがＰＷＭ信号を復調して得た送信装置からの送信データに基づく処理を実行する。
【０００８】
生成ユニットは、通信路から入力されるＰＷＭ信号の特定エッジを検出し、特定エッジの検出周期に対応した基準クロック信号を生成する。処理ユニットは、生成ユニットにより生成された基準クロック信号に基づき動作して刻時する一方、上記送信データに基づく処理の一つとして、送信データに含まれる時刻情報に基づき、自己が刻時する時刻を補正する処理を実行する。
【０００９】
本発明によれば、処理ユニットが、送信装置からのＰＷＭ信号に基づいて生成された基準クロック信号に基づき刻時する。送信装置からのＰＷＭ信号は、送信装置の時間軸に従う周期を有する。従って、この受信装置によれば、上記基準クロック信号に基づく刻時動作によって、上記ＰＷＭ信号の周期に対応する時間精度で、送信装置と同期した刻時動作を行うことができる。
【００１０】
但し、このような時間精度の刻時動作だけでは、長い時間が経過すると、受信装置が刻時する時刻の送信装置に対する誤差が広がる。そこで、本発明では、送信装置の時刻情報を、受信装置が受信し、この受信した時刻情報に基づき、時刻補正を行う。
【００１１】
本発明によれば、ＰＷＭ信号に基づいた刻時動作の補正（クロック誤差補正）に加えて、このような時刻補正を行うため、時間経過と共に徐々に大きくなる送信装置と受信装置との間における時刻の誤差を補正することができる。よって、本発明によれば、受信装置に高精度発振子を設けなくとも、一つの送信装置と一つ又は複数の受信装置と間で互いに誤差の少ない正確な時刻を共有することができ、例えば、高精度な同期動作を実現可能な通信システムを構成することができる。
【００１２】
付言すると、上述の技術的思想を用いて、通信システムは、次のように構成され得る。本発明の通信システムは、通信路を介して互いに接続されたマスタノード及びスレーブノードを備える。スレーブノードは、マスタノードからのＰＷＭ信号を、通信路を介して受信し復調する受信ユニットを備える。更に、スレーブノードは、通信路から入力されるＰＷＭ信号の特定エッジを検出し、特定エッジの検出周期に対応した基準クロック信号を生成する生成ユニットを備える。
【００１３】
このスレーブノードが備える処理ユニットは、生成ユニットにより生成された基準クロック信号に基づき動作して刻時し、受信ユニットがＰＷＭ信号を復調して得たマスタノードからの送信データに基づく処理を実行する。この処理ユニットは、送信データに基づく処理の一つとして、送信データに含まれる時刻情報に基づき、自己が刻時する時刻を補正する処理を実行する。
【００１４】
一方、マスタノードは、発振子と、処理ユニットと、ＰＷＭ信号を通信路に出力する送信ユニットとを備える。マスタノードの処理ユニットは、発振子から入力される基準クロック信号に基づき動作して刻時する一方、所定の送信条件が満足されると、自己が刻時する時刻に対応した時刻情報を格納した送信データを送信ユニットに入力する。
【００１５】
また、マスタノードの送信ユニットは、発振子からの上記基準クロック信号に基づいた周期的なＰＷＭ信号を生成して、ＰＷＭ信号を通信路に出力し、具体的には、マスタノードの処理ユニットから入力された送信データに対応したパルス幅変調を加えたＰＷＭ信号を出力する。
【００１６】
この通信システムによれば、マスタノードの発振子に対応した精度で生成されたクロック成分を含むＰＷＭ信号がスレーブノードに提供されて、スレーブノードでの刻時動作に用いられる。また、発振子に対応した時間精度を有するマスタノードの時刻に基づいて、スレーブノードにおける時刻が補正される。
【００１７】
従って、スレーブノードに高精度な発振子を設けなくても、高精度な刻時動作をマスタノード及びスレーブノードの夫々で実現することができ、マスタノードとスレーブノードとの間で互いに誤差の少ない正確な時刻を共有することができる。よって、この通信システムによれば、例えば、時間的に高精度な同期動作を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】通信システムの概略構成を表すブロック図である。
【図２】車載システムの概略構成を表すブロック図である。
【図３】レセッシブ／ドミナント信号を示す波形図である。
【図４】マスタノードの概略構成を表すブロック図である。
【図５】スレーブノードの概略構成を表すブロック図である。
【図６】ＰＷＭ信号の波形と共に検出エッジを示した図である。
【図７】マスタノードにおいて実行される時刻送信処理（左）及びスレーブノードにおいて実行される受信補正処理（右）を表すフローチャートである。
【図８】スレーブノードが刻時する時刻の誤差変化と、時刻データの送受信動作及び時刻の補正動作との対応関係を示す図である。
【図９】受信補正処理によって、スレーブノードの各タスクが有する種類の異なる複数の時刻を個別に補正する実施形態を説明した図である。
【発明を実施するための形態】
【００１９】
以下に本発明の実施例について、図面と共に説明する。
本実施例の通信システム１は、図１に示すように、一つのマスタノード１０及び複数のスレーブノード５０が、共通する通信路ＬＮにバス接続されたものである。
【００２０】
この通信システム１は、例えば、複数の制御装置の協働による車両制御を行う車載システム１００（図２参照）として構成される。マスタノード１０としては、周知のボデーＥＣＵ１１０を一例に挙げることができる。ボデーＥＣＵ１１０は、車両における各ドアのロック／アンロックや、各ドアに設けられたパワーウィンドウ装置１５０の開閉を統括制御する制御装置（電子制御ユニット）である。
【００２１】
一方、スレーブノード５０としては、ボデーＥＣＵ１１０からの命令に応じて窓の開閉を行うパワーウィンドウ装置１５０を一例に挙げることができる。図２に示す窓毎のパワーウィンドウ装置１５０は、ＰＷ制御装置１５１、及び、対応する窓を開閉するアクチュエータ１５３を備える。ＰＷ制御装置１５１は、通信路ＬＮを介して受信したボデーＥＣＵ１１０からの送信データに含まれる命令に応じてアクチュエータ１５３を制御する。
【００２２】
このように構成される本実施例の通信システム１は、マスタノード１０とスレーブノード５０との間の通信をＰＷＭ通信により実現する。マスタノード１０から通信路ＬＮに対しては、所定周期ＴのＰＷＭ（パルス幅変調）信号が出力される。通信路ＬＮを伝播するＰＷＭ信号は、図３に示すように、１ビットを、デューティ比の異なるレセッシブ（本実施形態では１に対応）信号又はドミナント（本実施形態では０に対応）信号で表す。
【００２３】
ＰＷＭ信号の周期Ｔは、１ビット時間に対応し、レセッシブ信号は、図３に示すように１ビット時間の先頭から１／３時間の信号レベルがロウレベルであり、残りの２／３時間の信号レベルがハイレベルである信号である。一方、ドミナント信号は、１ビット時間の先頭から２／３時間の信号レベルがロウレベルであり、残りの１／３時間の信号レベルがハイレベルである信号である。
【００２４】
本実施例の通信システム１は、レセッシブ信号とドミナント信号とが衝突すると、ドミナント信号が調停勝ちするように構成されている。即ち、レセッシブ信号がドミナント信号によって上書きされるように構成されている。
【００２５】
マスタノード１０は、データ送信時、送信データに対応したパルス幅変調を加えたＰＷＭ信号（送信データに対応したレセッシブ信号及びドミナント信号の組み合わせからなるＰＷＭ信号）を通信路ＬＮに出力し、それ以外の期間には、ＰＷＭ信号として周期Ｔのレセッシブ信号を継続的に出力する。マスタノード１０は、このようにレセッシブ信号を出力し続けることにより、クロックマスタとして機能し、バスクロック信号の再生に必要なクロック成分を含む信号を通信路ＬＮに供給する。
【００２６】
スレーブノード５０は、ＰＷＭ信号の立下りエッジを検出してバスクロック信号を再生する一方、マスタノード１０により通信路ＬＮに出力されたレセッシブ信号をドミナント信号で上書きすることにより、他のノードに対してデータ送信を行う。
【００２７】
このＰＷＭ通信に用いられるフレーム（送信データ）は、データ識別子（ＩＤ）を含むヘッダと、データ識別子によって指定されたデータが格納される可変長のレスポンスとからなる。レスポンスは、レスポンスのサイズを示すサイズ情報、及び、エラーの有無をチェックするためのＣＲＣ符号を含む。
【００２８】
詳述すると、マスタノード１０は、図４に示すように、処理ユニットとしてのマイコン（マイクロコンピュータ）２０と、送受信ユニットとしてのトランシーバ３０と、水晶発振子４０とを備える。
【００２９】
水晶発振子４０は、マイコン２０に対する基準クロック信号ＲＣＫ１を生成して入力するものである。トランシーバ３０は、マイコン２０から入力される送信データＴｘＤに対応した上記ＰＷＭ信号を生成して通信路ＬＮに出力する一方、通信路ＬＮから入力されたＰＷＭ信号を復調して受信データＲｘＤを取得しマイコン２０に入力する。
【００３０】
マイコン２０は、ＣＰＵ２１、ＲＯＭ２３及びＲＡＭ２５を中心に構成され、更には、クロック信号源（水晶発振子４０）から入力される基準クロック信号ＲＣＫ１を分周／逓倍して、内部又は周辺回路に供給する回路（図示せず）を備える。マイコン２０は、水晶発振子４０から入力される基準クロック信号ＲＣＫ１に基づき動作し、トランシーバ３０に供給するクロック信号ＣＫを発生させる。クロック信号ＣＫは、例えば基準クロック信号ＲＣＫ１を分周して生成される。
【００３１】
このマイコン２０は、トランシーバ３０に対するシリアル通信回路であるＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）２７及びカウンタ２９を更に備える。送信データＴｘＤ及び受信データＲｘＤは、ＵＡＲＴ２７を介してマイコン２０とトランシーバ３０との間で授受される。
【００３２】
この他、カウンタ２９は、基準クロック信号ＲＣＫ１又は基準クロック信号ＲＣＫ１を分周／逓倍して生成されたクロック信号に基づき動作し、基準クロック信号ＲＣＫ１に対応する周期で刻時動作（カウント動作）を行う。本明細書では、基準クロック信号又は基準クロック信号を分周／逓倍して生成されたクロック信号に基づいて動作するものを、単に「基準クロック信号に基づいて動作する」とも表現する。
【００３３】
マイコン２０が備えるＲＯＭ２３には、各種プログラムが記憶されており、ＣＰＵ２１は、ＲＯＭ２３に記憶されたプログラムに基づく処理を実行する。ＲＡＭ２５は、ＣＰＵ２１による処理実行時に作業用メモリとして使用される。ＣＰＵ２１は、ＲＯＭ２３に記憶された各種プログラムに従うタスクを実行し、各タスクにて生成された送信データＴｘＤを、トランシーバ３０に入力する。
【００３４】
一方、トランシーバ３０は、主回路３１と、アナログ処理回路３３とを備える。主回路３１は、マイコン２０から供給されるクロック信号ＣＫに基づいて動作し、送信信号Ｔｘとして、このクロック信号ＣＫに同期した周期ＴのＰＷＭ信号を生成し、これを、送信バッファ３３Ａを介して通信路ＬＮに出力する。マイコン２０から送信データＴｘＤが入力された場合、主回路３１は、送信信号Ｔｘとして、この送信データＴｘＤに対応したパルス幅変調を加えた上記ＰＷＭ信号を生成して、これを、送信バッファ３３Ａを介して通信路ＬＮに出力する。
【００３５】
この他、主回路３１は、通信路ＬＮから受信バッファ３３Ｂを介して入力される受信信号ＲｘとしてのＰＷＭ信号を復調して受信データＲｘＤを生成し、この受信データＲｘＤを、ＵＡＲＴ２７を介してマイコン２０のＣＰＵ２１に入力する。
【００３６】
アナログ処理回路３３は、送信バッファ３３Ａ及び受信バッファ３３Ｂを備える。送信バッファ３３Ａは、主回路３１においてＰＷＭ符号化された送信信号ＴｘであるＰＷＭ信号を通信路ＬＮに出力するものである。送信バッファ３３Ａは、バス調停が可能となるように、例えば、周知のオープンコレクタ回路を用いて構成される。
【００３７】
受信バッファ３３Ｂは、通信路ＬＮ上のＰＷＭ信号を取り込む回路であり、例えば、通信路ＬＮの信号レベルが、予め設定された閾値より大きければハイレベル、閾値より小さければロウレベルを出力する周知のコンパレータによって構成される。
【００３８】
一方、スレーブノード５０は、図５に示すように、処理ユニットとしてのマイコン６０と、送受信ユニットとしてのトランシーバ７０とを備える。スレーブノード５０は、水晶発振子４０を備えない点で、マスタノード１０とは異なる。
【００３９】
トランシーバ７０は、図５に示すように、主回路７１と、アナログ処理回路７３と、エッジ検出回路７５とを備える。アナログ処理回路７３は、マスタノード１０のアナログ処理回路３３と同様に構成され、主回路７１からの送信信号（ＰＷＭ信号）Ｔｘを通信路ＬＮに出力する送信バッファ７３Ａ、及び、通信路ＬＮ上のＰＷＭ信号を受信信号Ｒｘとして取り込む受信バッファ７３Ｂを備える。
【００４０】
一方、エッジ検出回路７５は、図６に示すように、受信バッファ７３Ｂを介して入力されるＰＷＭ信号（受信信号Ｒｘ）のビット境界である立下りエッジを検出し、その検出信号を主回路７１に入力するものである。
【００４１】
主回路７１は、マイコン６０からのクロック信号ＣＫの入力を受けずに、ＰＷＭ信号に含まれるクロック成分に基づいて動作し、マイコン６０からの送信データＴｘＤに対応するＰＷＭ信号を、送信バッファ７３Ａを介し通信路ＬＮに出力する一方、通信路ＬＮを介して受信したＰＷＭ信号を復調して受信データＲｘＤを生成し、この受信データＲｘＤをマイコン６０に入力する。
【００４２】
この主回路７１は、図５に示すようにクロック生成回路７２を備える。クロック生成回路７２は、エッジ検出回路７５からの入力信号に基づき、ＰＷＭ信号のクロック成分に同期したクロック信号を生成する。即ち、クロック生成回路７２は、ＰＷＭ信号の立下りエッジの検出周期に対応したバスクロック信号を生成する。主回路７１は、このバスクロック信号に従って上述した変調及び復調を行う。
【００４３】
付言すると、クロック生成回路７２は、立下りエッジの時間間隔を計測し、この時間間隔に対応した周期のバスクロック信号を生成する構成にされ得る。時間計測及びバスクロック信号の生成は、トランシーバ７０内の図示しない簡易発振回路（リングオシレータ回路等）を用いて実現することができる。
【００４４】
また、クロック生成回路７２は、このバスクロック信号をスレーブノード５０のマイコン６０に対する基準クロック信号ＲＣＫ２として、又は、エッジ検出回路７５からの入力信号に基づきバスクロック信号と同様に生成したマイコン６０向けの基準クロック信号ＲＣＫ２（例えば、バスクロック信号の整数倍の周波数を有する信号）を、マイコン６０に入力する。
【００４５】
スレーブノード５０のマイコン６０は、このトランシーバ７０から入力される基準クロック信号ＲＣＫ２に基づいて動作する。マイコン６０は、ＣＰＵ６１、ＲＯＭ６３及びＲＡＭ６５を中心に構成され、クロック信号源（クロック生成回路７２）から入力される基準クロック信号ＲＣＫ２を分周／逓倍して、内部又は周辺回路に供給する回路（図示せず）を備える。
【００４６】
マイコン６０は、更に、ＵＡＲＴ６７及びカウンタ６９を備える。マイコン６０は、マスタノード１０と同様、ＵＡＲＴ６７を介して、送信データＴｘＤをトランシーバ７０に入力し、受信データＲｘＤをトランシーバ７０から取得する。
【００４７】
この他、カウンタ６９は、ＰＷＭ信号のクロック成分から生成された上記基準クロック信号ＲＣＫ２に基づき動作し刻時動作を行うものである。この刻時動作によって、スレーブノード５０のカウンタ６９は、ＰＷＭ信号の周期Ｔに対応した時間精度で、マスタノード１０のカウンタ２９の刻時動作に同期した刻時動作を行う。
【００４８】
また、マイコン６０が備えるＲＯＭ６３には、各種プログラムが記憶されており、ＣＰＵ６１は、ＲＯＭ６３に記憶されたプログラムに基づく処理を実行する。ＲＡＭ６５は、ＣＰＵ６１による処理実行時に作業用メモリとして使用される。ＣＰＵ６１は、各種プログラムに従うタスクを実行し、各タスクでは、例えば、マスタノード１０からの受信データＲｘＤに基づいた処理を実行する。
【００４９】
例えば、ＰＷ制御装置１５１のＣＰＵ６１は、ボデーＥＣＵ１１０から窓の開放を命令するデータを受信すると、このデータに従ってアクチュエータ１５３を制御し、窓を開放する。例えば、ＰＷ制御装置１５１のＣＰＵ６１は、マスタノード１０から窓を開けるべき時刻を指定するデータを受信すると、カウンタ６９から特定される現在時刻が、指定された時刻に一致したことを条件に、アクチュエータ１５３を制御し窓を開放する。
【００５０】
ところで、このような時刻指定によって窓の開閉制御を行う車載システム１００では、各ＰＷ制御装置１５１が互いに同じ時刻を共有していないと、ボデーＥＣＵ１１０から各ＰＷ制御装置１５１に対して同一時刻に窓を開閉するように命令した場合でも、異なるタイミングで各窓が開閉されてしまい、車両乗員に不快感を及ぼす可能性がある。
【００５１】
本実施例の通信システム１では、このような同期動作の精度が低いことによる問題の発生を抑えるために、各スレーブノード５０が、ＰＷＭ信号のクロック成分に基づき、マスタノード１０とのクロック誤差を抑えて高精度に刻時動作を行う。更に、マスタノード１０から受信したデータに含まれるマスタノード１０の時刻情報に基づき、自己が刻時する時刻を補正する。
【００５２】
本実施例によれば、このクロック誤差補正及び時刻補正により、ノード１０，５０間で互いに誤差の少ない時刻を共有し、ノード１０，５０間で高精度な同期動作を実現できるようにする。これにより、例えば、異なるタイミングで各窓が開閉されてしまうのを抑え、車両乗員に不快感が生じないようにする。
【００５３】
ここで、時刻補正のために、マスタノード１０及びスレーブノード５０が実行する処理について、図７を用いて説明する。マスタノード１０のＣＰＵ２１は、図７左領域に示すフローチャートに従う時刻送信処理を繰り返し実行する。
【００５４】
時刻送信処理によれば、マスタノード１０のＣＰＵ２１は、時刻データの送信タイミングが到来するまで待機し（Ｓ１１０）、時刻データの送信タイミングが到来すると、当該時刻データとして、レスポンスに、カウンタ２９から特定される現在時刻を表す時刻情報（例えばカウンタ２９のカウント値）を格納した送信データであって、上記時刻情報に対応するデータ識別子を記述した送信データを生成する。そして、この送信データをトランシーバ３０に入力することにより、時刻情報を含む送信データ（時刻データ）を、ＰＷＭ信号として通信路ＬＮに出力する（Ｓ１２０）。
【００５５】
送信タイミングが到来したか否かは、例えば、時刻データの前回送信時からの経過時間に基づき判断することができる。経過時間が予め定められた時間に到達する度に、時刻データを送信（出力）するといった具合である。例えば、５０マイクロ秒程度の周期Ｔ（１ビット時間）に対し、１０ミリ秒程度の周期で時刻データを出力することができる。別例として、ＣＰＵ２１は、各種アプリケーションプログラムに基づくタスクからの要求に従って、時刻データを出力するように動作し得る。
【００５６】
マスタノード１０のＣＰＵ２１は、このような内容の時刻送信処理を繰り返し実行することにより、１ビット時間と比較して長い時間間隔で、カウンタ２９から特定される現在時刻を表す時刻情報を格納した送信データ（時刻データ）を通信路ＬＮに出力する。
【００５７】
一方、スレーブノード５０のＣＰＵ６１は、図７右領域に示すフローチャートに従う受信補正処理を繰り返し実行する。この受信補正処理によれば、ＣＰＵ６１は、通信路ＬＮ及びトランシーバ７０を介して、時刻データを受信するまで待機する（Ｓ２１０）。受信データが時刻データであるか否かは、データ識別子を参照することにより判断することができる。
【００５８】
そして、時刻データを受信したと判断すると（Ｓ２１０でＹｅｓ）、カウンタ６９から特定される現在時刻を、上記受信した時刻データが示すマスタノード１０の時刻に一致するように補正する（Ｓ２２０）。その後、受信補正処理を一旦終了する。
【００５９】
Ｓ２２０における補正動作は、例えば、カウンタ６９のカウント値と基準値との加算値として特定される現在時刻の当該基準値を、受信データの時刻情報が示すマスタノード１０の時刻に一致させる一方、カウンタ６９のカウント値をゼロにリセットする動作により実現することができる。
【００６０】
別例として、Ｓ２２０における補正動作は、現在時刻を表すカウンタ６９のカウント値そのものを補正する動作により実現することができる。別例として、Ｓ２２０における補正動作は、カウンタ６９をリセットせずに基準値を補正することによって、カウンタ６９のカウント値と基準値との加算値として特定される現在時刻を、マスタノード１０の時刻に一致させる動作により実現することができる。
【００６１】
時刻補正は、必要に応じ、マスタノード１０にて時刻データが生成されてから、この時刻データに基づく時刻補正がスレーブノード５０にて行われるまでのタイムラグを加味して行われても良い。
【００６２】
スレーブノード５０では、このようにしてマスタノード１０から受信した時刻データに基づき、自己のカウンタ６９により刻時される時刻の補正を行うことによって、図８に示すように、ＰＷＭ信号のクロック成分に基づいた刻時動作だけではノード１０，５０間における時刻の誤差が広がる欠点を解消する。即ち、ノード１０，５０間で誤差の少ない時刻を共有し、高精度な同期動作を実現できるようにする。
【００６３】
このように本実施例によれば、スレーブノード５０に高精度発振子（水晶発振子４０）を設けなくとも、マスタノード１０に高精度発振子を設ける程度で、ノード１０，５０間において互いに誤差の少ない正確な時刻を共有することができる。従って、例えばノード１０，５０間で高精度に時間同期可能な通信システム１を安価に構成することができる。
【００６４】
［他の実施例］
以上、本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採り得る。
【００６５】
例えば、上記実施例では、スレーブノード５０が刻時する一つの時刻に注目して、この時刻をマスタノード１０からの時刻データに基づき補正する例について説明したが、スレーブノード５０では、カウンタ６９のカウント値に基づき、基点の異なる複数の時刻（異なる時点を基準とした複数の時刻）が算出される環境が考えられる。例えば、図９に示すように、複数種類のタスクの夫々に応じた複数の時刻が刻時される環境が考えられる。
【００６６】
このような環境に対応して、マスタノード１０は、データ識別子に、補正対象の時刻を指定するＩＤを記述し、レスポンスに、補正対象の正しい時刻情報を格納した時刻データを送信する構成にされ得る。
【００６７】
一方、このような時刻データを受信するスレーブノード５０は、Ｓ２２０において、時刻データにおけるデータ識別子にて指定された補正モードで、時刻を補正する構成にされ得る。即ち、上記複数の時刻の内、データ識別子にて指定された時刻を、受信データに含まれる時刻情報に基づいて補正する構成にされ得る。
【００６８】
また、データ識別子は、時刻をゼロにリセットするように命令する識別子や、時刻をレスポンスに含まれる時刻情報が示す時刻に補正するように命令する識別子など、補正方法を指定する識別子として用いられ得る。この場合、スレーブノード５０は、Ｓ２２０において、データ識別子が表す命令に従う補正方法で、時刻を補正する構成にされ得る。
【００６９】
この他、マイコン２０，６０に代えては、プログラマブルロジックコントローラ（ＰＬＣ）を用いることも可能である。また、上述した技術的思想は、パワーウィンドウ装置１５０をスレーブノード５０とする車載システム１００に限定されず、様々なシステムに適用することができる。
【００７０】
例えば、車載システムとしては、複数の物体検知装置（レーダ装置やクリアランスソナー）に基づいて、車両周囲の状況を推定するシステムが知られている。このシステムにおいては、各物体検知装置における時刻の誤差が大きいと、各物体検知装置における物体の検知時刻に誤差が生じることから、車両周囲の状況を推定する際の推定精度が悪化する。従って、物体検知装置をスレーブノード５０とし、これらの検知結果に基づき車両周囲の状況を推定する推定装置をマスタノード１０とするシステムに、上述した技術的思想を適用すれば、上記状況の推定精度が向上する。
【００７１】
上記実施例は、ＰＷＭ信号のクロック成分を用いたクロック誤差補正、及び、時間データの送受信による時刻補正によって、ノード１０，５０間において互いに誤差の少ない正確な時刻を共有できる点で利点を有し、これによって、適切に同期動作を行うことができる点で優れている。本発明は、車両分野に限定されずに、このような特徴を活用可能な様々な分野に適用することができる。
【符号の説明】
【００７２】
１…通信システム、１０，５０…ノード、２０，６０…マイコン、２１，６１…ＣＰＵ、２３，６３…ＲＯＭ、２５，６５…ＲＡＭ、２７，６７…ＵＡＲＴ、２９，６９…カウンタ、３０，７０…トランシーバ、３１，７１…主回路、３３，７３…アナログ処理回路、３３Ａ，７３Ａ…送信バッファ、３３Ｂ，７３Ｂ…受信バッファ、４０…水晶発振子、７２…クロック生成回路、７５…エッジ検出回路、１００…車載システム、１１０…ボデーＥＣＵ、１５０…パワーウィンドウ装置、１５１…ＰＷ制御装置、１５３…アクチュエータ、ＬＮ…通信路。
【図１】
2015023345.tif 000003
【図２】
2015023345.tif 000004
【図３】
2015023345.tif 000005
【図４】
2015023345.tif 000006
【図５】
2015023345.tif 000007
【図６】
2015023345.tif 000008
【図７】
2015023345.tif 000009
【図８】
2015023345.tif 000010
【図９】
2015023345.tif 000011