(57)【要約】【課題】タスクをネットワークに高精度に同期させて起動することができるタスク制御装置を提供することを課題とする。【解決手段】接続される各ノードに個別に通信時間枠がそれぞれ割り当てられるネットワーク２に接続される自ノードのタスクＴ１，・・・を制御するタスク制御装置３であって、ネットワーク２に接続するためのネットワーク接続手段１０と、割り当てられた通信時間枠をネットワーク２に同期させるための基準時間を取得する基準時間取得手段１０と、タスクＴ１，・・・を起動するための時間を計測するタイマ１１と、タイマ１１で計測した時間に基づいてタスクＴ１，・・・を起動するタスク起動手段１３と、ネットワーク２の基準時間を取得する毎に基準時間に基づいてタイマ１１の時間を補正する補正手段１２を備えることを特徴とする。【選択図】図１
2011234212.tif 000002
【特許請求の範囲】
【請求項１】
接続される各ノードに個別に通信時間枠がそれぞれ割り当てられ、通信帯域が制御されるネットワークに接続される自ノードのタスクを制御するタスク制御装置であって、
前記ネットワークに接続するためのネットワーク接続手段と、
前記割り当てられた通信時間枠を前記ネットワークに同期させるための基準時間を取得する基準時間取得手段と、
タスクを起動するための時間を計測するタイマと、
前記タイマで計測した時間に基づいてタスクを起動するタスク起動手段と、
前記基準時間取得手段で基準時間を取得する毎に、当該取得した基準時間に基づいて前記タイマの時間を補正する補正手段
を備えることを特徴とするタスク制御装置。
【請求項２】
前記補正手段は、前記基準時間取得手段で取得した基準時間と前記タイマで計測した時間との時間ずれ量を算出し、当該算出した時間ずれ量が閾値以上の場合に前記タイマの時間を補正することを特徴とする請求項１に記載するタスク制御装置。
【請求項３】
前記補正手段は、前記基準時間取得手段で取得した基準時間と前記タイマで計測した時間との時間ずれ量を算出し、当該算出した時間ずれ量が許容量を超える場合に前記タイマの時間を前記許容量だけ補正することを特徴とする請求項１又は請求項２に記載するタスク制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続される各ノードに個別に通信時間枠がそれぞれ割り当てられるネットワークに接続される自ノードのタスクを制御するタスク制御装置に関する。
【背景技術】
【０００２】
ＴＤＭＡ[Time Division Multiple Access]（時分割多元接続）方式のネットワークでは、接続される全てのノードでネットワーク時間を共有しており、各ノードに対して１サイクル内での通信時間枠（タイムスロット）がそれぞれ割り当てられている。したがって、このネットワークに各ノードから送信されるデータは、１サイクル内で何時送信されるかが決まっている。そのため、各ノードでは、タスクをネットワークに同期させて（タスクで必要なデータの送信時間（タイムスロット）に合わせて）起動することによって、通信遅延を最小にしてデータを処理できる。
【０００３】
そのために、各ノードでは、タスクをネットワークに同期させるための制御を行っている。例えば、特許文献１には、基地局から１データサイクルの一定周期のマスタ信号を送信し、各ユーザの受信局においてそれぞれマスタ信号を受信し、そのマスタ信号を基準として自局のデータを送信するためのタイムスロットを作成することが記載されている。このようなタイムスロットを用いてタスクを起動する方法の場合、タイムスロットに合わせてタスクを起動するために、マイクロコンピュータ内蔵の汎用タイマを利用する。また、全てのタスクの起動時間をサイクル数とネットワーク時間等で示すタスク起動テーブルを予め用意しておき、タスク起動テーブルにより次に起動するタスクを検索する方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２２４３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような汎用タイマを利用する方法の場合、マスタ信号に合わせてタイムスロットを修正したとしても、ネットワーク時間と汎用タイマが同期していないので、ネットワーク時間に対して汎用タイマが徐々にずれ、タスクをネットワークに同期させて起動することができない。また、タスク起動テーブルを用いる方法の場合、タスク起動テーブルを検索するため、実行時に処理負荷が大きくなるため、その分マイクロコンピュータの性能を高くする必要があり、実用的でない。
【０００６】
そこで、本発明は、タスクをネットワークに高精度に同期させて起動することができるタスク制御装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明に係るタスク制御装置は、接続される各ノードに個別に通信時間枠がそれぞれ割り当てられ、通信帯域が制御されるネットワークに接続される自ノードのタスクを制御するタスク制御装置であって、ネットワークに接続するためのネットワーク接続手段と、割り当てられた通信時間枠をネットワークに同期させるための基準時間を取得する基準時間取得手段と、タスクを起動するための時間を計測するタイマと、タイマで計測した時間に基づいてタスクを起動するタスク起動手段と、基準時間取得手段で基準時間を取得する毎に、当該取得した基準時間に基づいてタイマの時間を補正する補正手段を備えることを特徴とする。
【０００８】
タスク制御装置は、接続される各ノードに個別に通信時間枠がそれぞれ割り当てられるネットワークに接続されるノードに設けられる装置である。タスク制御装置は、ネットワーク接続手段によってネットワークに接続し、基準時間取得手段によってネットワークから基準時間を取得する。基準時間を取得する毎に、タスク制御装置では、補正手段によって基準時間に基づいてタスク起動用のタイマの時間を補正する。そして、タスク制御装置では、補正したタイマによってタスクを起動するための時間を計測し、タスク起動手段によってタイマで計測した時間に基づいてタスクを起動する。このように、タスク制御装置では、ネットワークの基準時間を取得する毎にその基準時間に基づいてタイマの時間を補正することにより、そのタイマによる計測時間によって起動したいタイムスロットにタスクの起動時間を高精度に合わせることができ、タスクをネットワークに高精度に同期させて起動することができる。これによって、タスクを実行する際に、ネットワークからのデータの通信遅延を最小に抑えることができる。また、ネットワークにおける通信切断等によってネットワークから基準時間を取得できなくなった場合（ネットワークと非同期となった場合）でも、直前まで基準時間に基づいてタイマの時間を補正していたので、ネットワーク時間に対するタスクの起動時間のずれは小さい。また、タスク起動テーブルの検索処理等を必要としないので、処理負荷も小さい。
【０００９】
本発明の上記タスク制御装置では、補正手段は、基準時間取得手段で取得した基準時間とタイマで計測した時間との時間ずれ量を算出し、当該算出した時間ずれ量が閾値以上の場合にタイマの時間を補正する構成としてもよい。
【００１０】
本発明の上記タスク制御装置では、補正手段は、基準時間取得手段で取得した基準時間とタイマで計測した時間との時間ずれ量を算出し、当該算出した時間ずれ量が許容量を超える場合にタイマの時間を許容量だけ補正する構成としてもよい。
【００１１】
このタスク制御装置では、基準時間とタイマで計測した時間との時間ずれ量が許容量を超える場合に許容量だけ補正することにより、タスクの起動周期が許容量を超えて大きく変動することがなく、起動周期の変動によるタスクの処理への影響を抑制できる。なお、基準時間を取得できず、ネットワークと非同期状態のときに、時間ずれ量が徐々に大きくなり、許容量を超える場合があるので、非同期状態から同期状態に復帰したときに上記のような処理が有用となる。
【発明の効果】
【００１２】
本発明によれば、ネットワークの基準時間を取得する毎にその基準時間に基づいてタイマの時間を補正することにより、タスクをネットワークに高精度に同期させて起動することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係る車載ネットワーク及びネットワークに接続されるＥＣＵの構成図である。
【図２】本実施の形態に係るネットワークと同期しているときの各タスクの起動時間を示す一例である。
【図３】本実施の形態に係るネットワークと同期から非同期になったときの各タスクの起動時間を示す一例である。
【図４】本実施の形態に係るネットワークと非同期から同期になったときのタスクの起動時間を示す一例である。
【図５】図１のＥＣＵにおける周期タイマの補正処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明に係るタスク制御装置の実施の形態を説明する。なお、各図において同一又は相当する要素については同一の符号を付し、重複する説明を省略する。
【００１５】
本実施の形態では、本発明に係るタスク制御装置を、車両に搭載され、少なくともＦｌｅｘＲａｙを有するネットワークに接続されるＥＣＵ[Electronic Control Unit]に適用する。本実施の形態に係るＦｌｅｘＲａｙに接続するＥＣＵは、各タスクをＦｌｅｘＲａｙに同期させて実行するためのタスク制御機能を有している。
【００１６】
図１を参照して、本実施の形態に係る車載ネットワーク１について説明する。図１は、車載ネットワーク及びネットワークに接続されるＥＣＵの構成図である。
【００１７】
車載ネットワーク１は、少なくともＦｌｅｘＲａｙ２を有している。ＦｌｅｘＲａｙ２には、ノードとしてＥＣＵ３Ａ，３Ｂ，・・・が接続されている。車載ネットワーク１は、ＦｌｅｘＲａｙ２の他にＣＡＮ[Controller Area Network]等も有するネットワークでもよい。なお、本実施の形態ではＦｌｅｘＲａｙ２が特許請求の範囲に記載するネットワークに相当し、ＥＣＵ３Ａ，３Ｂ，・・・が特許請求の範囲に記載するノードに相当する。
【００１８】
ＦｌｅｘＲａｙ２は、通信プロトコルがタイムトリガプロトコルであり、タイムトリガ方式でデータの送受信が行われる。ＦｌｅｘＲａｙ２では、接続される全てのノード（ＥＣＵ３Ａ，・・・）によってネットワークの状況を互いに監視しており、全てのノードが時計の時間を互いに合わせてネットワーク時間を共有している。そのために、ＦｌｅｘＲａｙ２では、ネットワーク時間におけるサイクル毎に基準時間（各サイクルの開始時間）を示す割り込み信号を発信している。また、ＦｌｅｘＲａｙ２では、ＴＤＭＡ[Time Division Multiple Access]（時分割多元接続）方式であり、ネットワークのタイムスケジュール（サイクル単位のタイムスロット）が設定されており、接続される各ノードに対してサイクル毎にデータを送信するためのタイムスロット（通信時間枠）がそれぞれ割り当てられ、通信帯域が制御される。ＦｌｅｘＲａｙ２に接続される各ノードでは、タイムスケジュールによって同じＦｌｅｘＲａｙ２に接続されている他のノードからデータが何時送信されるのか（データを何時受信できるのか）が判っている。このように、ＦｌｅｘＲａｙ２では、接続される全てのノードに対してタイムスロットが決まっており、全てのノードがそのタイムスロットを把握している。
【００１９】
ＦｌｅｘＲａｙ２からサイクル毎に基準時間の割り込み信号を発信し、その割り込み信号をノードで受信できる場合、ノードではＦｌｅｘＲａｙ２に同期して動作することができる。しかし、通信線が切断した場合あるいは基準時間を出力するノードが１個以下になって基準時間の割り込み信号を発信できない場合等により、ノードで基準時間の割り込み信号を受信できないときには、ノードではＦｌｅｘＲａｙ２に同期して動作することができない（非同期）。
【００２０】
図１〜図４を参照して、本実施の形態に係るＥＣＵ３（特に、タスク制御機能）について説明する。図２は、ネットワークと同期しているときの各タスクの起動時間を示す一例である。図３は、ネットワークと同期から非同期になったときの各タスクの起動時間を示す一例である。図４は、ネットワークと非同期から同期になったときのタスクの起動時間を示す一例である。
【００２１】
ＥＣＵ３では、各種アプリケーションを実施するために複数のタスクＴ１，Ｔ２，・・・（例えば、データ受信タスク、データ送信タスク、アクチュエータ制御タスク、センサ読み出しタスク）を実行する。これらの各タスクＴ１，Ｔ２，・・・は、一定周期毎にそれぞれ起動され、ネットワーク時間における起動時間がそれぞれ設定されている。特に、ＦｌｅｘＲａｙ２に接続される他のＥＣＵからのデータを用いるタスクの場合、必要なデータのタイムスロットに応じて起動時間が設定される。
【００２２】
図２に示す例の場合、２つのタスクＴＡ、タスクＴＢがあり、タスクＴＡが２ｍ秒周期で起動され、タスクＴＢが４ｍ秒周期で起動される。ＦｌｅｘＲａｙ２の１サイクルは、４ｍ秒である。タスクＴＡは、ＦｌｅｘＲａｙ２の１サイクルで２回起動され、ＦｌｅｘＲａｙ２と同期している場合にはサイクル毎の基準時間Ｂからネットワーク時間における１０００と３０００のときに起動される。タスクＴＢは、ＦｌｅｘＲａｙ２の１サイクルで１回起動され、ＦｌｅｘＲａｙ２と同期している場合にはサイクル毎の基準時間Ｂからネットワーク時間における２５００のときに起動される。
【００２３】
ＥＣＵ３は、これらの各タスクＴ１，Ｔ２，・・・の起動を制御するために、タスク制御機能を有している。タスク制御機能では、通信遅延を最小にしてデータを取得するために、ＦｌｅｘＲａｙ２からの基準時間の割り込み信号を受信できる場合（同期）、タスクＴ１，Ｔ２，・・・をＦｌｅｘＲａｙ２に同期させて（必要なデータのタイムスロットに合わせて）起動する。この際、タスク制御機能では、高精度に同期させるために、ＦｌｅｘＲａｙ２からの基準時間の割り込み信号を受信する毎に、基準時間に基づいて周期タイマの時間を補正する。さらに、タスク制御機能では、ＦｌｅｘＲａｙ２からの基準時間の割り込み信号を受信できない状態から受信できる状態になった場合（非同期から同期）、タスクＴ１，Ｔ２，・・・の起動周期の変動を抑制するために、周期タイマの１回当たりの補正量を許容量以下に抑える。
【００２４】
ＥＣＵ３は、ＣＰＵ[Central ProcessingUnit]や各種メモリ等を有するマイクロコンピュータによって構成される。ＥＣＵ３は、タイマ制御機能を実施するために、ＦｌｅｘＲａｙ用通信部１０、周期タイマ１１、周期タイマ補正部１２、タスク起動部１３を有している。なお、本実施の形態では、ＦｌｅｘＲａｙ用通信部１０が特許請求の範囲に記載するネットワーク接続手段及び基準時間取得手段に相当し、周期タイマ１１が特許請求の範囲に記載するタイマに相当し、周期タイマ補正部１２が特許請求の範囲に記載する補正手段に相当し、タスク起動部１３が特許請求の範囲に記載するタスク起動手段に相当する。
【００２５】
ＦｌｅｘＲａｙ用通信部１０は、ＦｌｅｘＲａｙ２からデータを受信し、その受信したデータをアナログからデジタルに変換して受信バッファ（図示せず）に格納する。また、ＦｌｅｘＲａｙ用通信部１０は、送信バッファ（図示せず）に格納されているデータを取り出し、デジタルからアナログに変換してＦｌｅｘＲａｙ２にデータを送信する。また、ＦｌｅｘＲａｙ用通信部１０は、ＦｌｅｘＲａｙ２からの基準時間の割り込み信号を受信し、サイクル毎の基準時間を取得する。ＦｌｅｘＲａｙ用通信部１０での受信処理及び送信処理は、ＦｌｅｘＲａｙ２のタイムスケジュールに従って予め決められた時刻に行われる。ＦｌｅｘＲａｙ用通信部１０は、例えば、バスドライバとコミュニケーションコントローラで構成される。バスドライバは、ＦｌｅｘＲａｙ２からデータを送受信し、アナログ−デジタルの変換を行う。コミュニケーションコントローラは、受信したデータの受信バッファへの格納や送信するデータの送信バッファからの取り出しを行う。また、コミュニケーションコントローラは、時計を持っており、取得した基準時間に基づいてＦｌｅｘＲａｙ２に接続される他のＥＣＵの時計と互いに時間を合わせる。コミュニケーションコントローラは、ＦｌｅｘＲａｙ２のタイムスケジュールを管理しており、ＦｌｅｘＲａｙ２における各データのタイムスロットを把握している。
【００２６】
周期タイマ１１は、マイクロコンピュータの基本クロックに基づいて時間をカウントし、各タスクＴ１，Ｔ２，・・・を起動するための時間（起動周期時間）を計測するタイマである。周期タイマ１１は、タスクＴ１，Ｔ２，・・・の起動周期毎に周期時間がそれぞれ設定される。周期タイマ１１では、計測時間（カウント値）が設定されている周期時間になると、計測時間を０に戻す。図２に示す例の場合、タスクＴＡは２ｍ秒周期なので、２ｍ秒の周期タイマが設定され、タスクＴＢは４ｍ秒周期なので、４ｍ秒の周期タイマが設定される。
【００２７】
周期タイマ補正部１２は、ＦｌｅｘＲａｙ２から基準時間の割り込み信号を受信する毎に、各周期タイマ１１について、周期タイマ１１の計測時間の誤差をそれぞれ算出する。各周期タイマ１１ではサイクルの基準時間のときの基準計測時間（基準カウンタ値）がそれぞれ決まっているので、実際の計測時間（カウンタ値）と基準計測時間（基準カウンタ値）との差が誤差となる。なお、ＦｌｅｘＲａｙ２から基準時間の割り込み信号を受信できず、ＦｌｅｘＲａｙ２と非同期となった場合、周期タイマ補正部１２は、実行されず、誤差を算出しない。
【００２８】
ＦｌｅｘＲａｙ２から基準時間の割り込み信号を連続的に受信でき、ＦｌｅｘＲａｙ２と同期している場合、誤差は許容量（Δｔ）よりも小さく、周期タイマ補正部１２では、各周期タイマ１１について、計測時間（カウンタ値）を基準計測時間（基準カウンタ値）にそれぞれリセットする。図２に示す例の場合、基準時間の割り込み信号Ｂを受信する毎に、２ｍ秒の周期タイマの計測時間が基準計測時間（１ｍ秒に相当するカウンタ値）にリセットされ、４ｍ秒の周期タイマの計測時間が基準計測時間（１．５ｍ秒に相当するカウンタ値）にリセットされる。なお、誤差が閾値以上か否かを判定し、誤差が閾値以上のときだけリセットするようにしてもよい。この閾値は、誤差が小さく、周期タイマ１１の時間を補正する必要がないことを判定するための閾値である。
【００２９】
図３に示すように、図２に示す例のＦｌｅｘＲａｙ２との同期状態から、ＦｌｅｘＲａｙ２から基準時間の割り込み信号を受信できずに、ＦｌｅｘＲａｙ２と非同期になった場合、各周期タイマ１１は、ＥＣＵ３の内蔵のマイクロコンピュータの基本クロックに基づいて時間を計測しているので、補正されないと、ＦｌｅｘＲａｙ２のネットワーク時間に対して徐々にずれてくる。しかし、同期中、各周期タイマ１１はサイクル毎に補正されていたので、そのずれる量は小さい。したがって、ＦｌｅｘＲａｙ２と同期中の１サイクルの時間Ａ（基準時間の割り込み信号の受信間隔）と非同期中の１サイクルの時間Ｂ（周期タイマ１１の計測時間に基づく時間）とは、ずれ量が徐々に大きくなるが、そのずれ量は小さい。そのため、タスクＴＡ，ＴＢの処理に、大きな影響を及ぼさない。
【００３０】
ＦｌｅｘＲａｙ２と非同期状態から、ＦｌｅｘＲａｙ２から基準時間の割り込み信号を受信でき、ＦｌｅｘＲａｙ２と同期するようになった場合、周期タイマ補正部１２では、各周期タイマ１１について、周期タイマ１１の計測時間の誤差が許容量（Δｔ）を超えている間、計測時間を基準計測時間にリセットせずに、計測時間を許容量（Δｔ）だけ補正する。各タスクＴ１，Ｔ２，・・・は一定周期毎に実行するので、タスク周期が一気に大きくなったりあるいは小さくなったりすると、そのタスクＴ１，Ｔ２，・・・の処理に影響を与える。そこで、タスクＴ１，Ｔ２，・・・の処理に影響を与えない程度（Δｔ）に、タスク周期を修正してゆく。許容量（Δｔ）は、実験等によって予め設定され、周期の異なる周期タイマ１１全て同じ値でもよいし、それぞれ異なる値でもよい。周期タイマ補正部１２では、各周期タイマ１１について、周期タイマ１１の計測時間の誤差が許容量（Δｔ）以下になると、計測時間を基準計測時間にリセットする。
【００３１】
図４に示す例の場合、タスクＴＣは、４ｍ秒周期で起動され、ＦｌｅｘＲａｙ２の１サイクルで１回起動され、ＦｌｅｘＲａｙ２と同期している場合にはサイクル毎の基準時間Ｂからネットワーク時間における１０００のときに起動される。しかし、図４の例では、非同期中に周期タイマ１１の計測時間の誤差が大きくなり、タスクＴＣはネットワーク時間における１０００から大きく遅れて起動されている。ＦｌｅｘＲａｙ２から基準時間の割り込み信号Ｂを受信できるようになったときに、仮に４ｍ秒の周期タイマ１１の計測時間を基準計測時間にリセットしたとすると、タスクＴＣはネットワーク時間における１０００のときに起動されることにより、非同期中の前回のタスクＴＣの起動時間と同期後のネットワーク時間における１０００のときの起動時間との時間差Ｄ１は４ｍ秒周期よりも非常に短い周期となる。このように起動周期が大きく変動すると、タスクＴＣの処理に影響を与えることになる。
【００３２】
そこで、同期後の最初のサイクルでは、４ｍ秒の周期タイマ１１の計測時間を、基準計測時間にリセットするのではなく、許容量（Δｔ）だけ補正し、非同期中の起動時間ｔ１よりもΔｔだけ早い時間ｔ２でタスクＴＣを起動する。同期後の２回目のサイクルでは、４ｍ秒の周期タイマ１１の計測時間を更に許容量（Δｔ）だけ補正し、非同期中の起動時間ｔ１よりも２×Δｔだけ早い時間ｔ３でタスクＴＣを起動する。このように、徐々に補正してゆき、タスクＴＣの起動時間をネットワーク時間における１０００に徐々に戻し、タスクＴＣの起動周期が大きく変動しないようにする。
【００３３】
タスク起動部１３は、タスクＴ１，Ｔ２，・・・毎に、そのタスクの起動周期に応じた周期タイマ１１を用いて、周期タイマ１１の計測時間が設定されている周期時間になるとタスクを起動する。図２に示す例の場合、タスクＴＡについては、２ｍ秒の周期タイマ１１を用いて、ＦｌｅｘＲａｙ２と同期している場合、ネットワーク時間の１０００に相当する時間で２ｍ秒の周期タイマ１１の計測時間が周期時間になってタスクＴＡを起動し、２ｍ秒の周期タイマ１１の計測時間が０にリセットされ、ネットワーク時間の３０００に相当する時間で２ｍ秒の周期タイマ１１の計測時間が周期時間になってタスクＴＡを起動する。また、タスクＴＢについては、４ｍ秒の周期タイマ１１を用いて、ＦｌｅｘＲａｙ２と同期している場合、ネットワーク時間の２５００に相当する時間で４ｍ秒の周期タイマ１１の計測時間が周期時間になってタスクＴＢを起動する。
【００３４】
ＥＣＵ３におけるタスク制御機能における動作について説明する。特に、周期タイマの補正処理については、図５のフローチャートに沿って説明する。図５は、図１のＥＣＵにおける周期タイマの補正処理の流れを示すフローチャートである。
【００３５】
ＥＣＵ３の各周期タイマ１１では、マイクロコンピュータの基本クロックに基づいて、時間をそれぞれ計測している。ＥＣＵ３のタスク起動部１３では、周期タイマ１１の計測時間が設定されている周期時間になると、該当するタスクＴを起動する。
【００３６】
ＦｌｅｘＲａｙ２では、通常、サイクルの基準時間毎に、基準時間の割り込み信号を発信する。ＥＣＵ３のＦｌｅｘＲａｙ通信部１０では、その基準時間の割り込み信号を受信する（Ｓ１）。割り込み信号を受信する毎に、ＥＣＵ３の周期タイマ補正部１２では、周期タイマ１１毎に、基準時間における周期タイマ１１の計測時間の誤差を算出する（Ｓ２）。そして、ＥＣＵ３の周期タイマ補正部１２では、周期タイマ１１毎に、誤差が許容量（Δｔ）を超えているか否かを判定する（Ｓ３）。
【００３７】
任意の周期タイマ１１についてＳ３にて誤差が許容量（Δｔ）以下と判定した場合、ＥＣＵ３の周期タイマ補正部１２では、その周期タイマ１１の計測時間を基準計測時間にリセット補正する（Ｓ４）。その補正された周期タイマ１１では、リセットされた基準計測時間から時間を計測する。この周期タイマ１１の計測時間が周期時間になると、ＥＣＵ３のタスク起動部１３では、該当するタスクＴを起動する。この起動されたタスクＴの起動時間は、ＦｌｅｘＲａｙ２のネットワーク時間に同期した時間となる。
【００３８】
任意の周期タイマ１１についてＳ３にて誤差が許容量（Δｔ）を超えていると判定した場合、ＥＣＵ３の周期タイマ補正部１２では、その周期タイマ１１の計測時間を許容量（Δｔ）だけ補正する（Ｓ５）。その補正された周期タイマ１１では、許容量（Δｔ）だけ補正された計測時間から時間を計測する。この周期タイマ１１の計測時間が周期時間になると、ＥＣＵ３のタスク起動部１３では、該当するタスクＴを起動する。この起動されたタスクＴの起動時間は、ＦｌｅｘＲａｙ２のネットワーク時間に同期した時間ではない。しかし、起動周期の揺らぎは小さく、ネットワーク時間にも徐々に同期するようになる。
【００３９】
このＥＣＵ３（特に、タスク制御機能）によれば、ＦｌｅｘＲａｙ２の基準時間の割り込み信号を受信する毎にその基準時間に基づいて周期タイマ１１の時間を補正することにより、この周期タイマ１１による計測時間によって起動すべきタイムスロットにタスクＴの起動時間を高精度に合わせることができ、タスクＴをＦｌｅｘＲａｙ２に高精度に同期させて起動することができる。
【００４０】
これによって、タスクＴを実行する際にＦｌｅｘＲａｙ２からのデータの通信遅延を最小に抑えることができる。また、ＦｌｅｘＲａｙ２における通信切断等によって基準時間の割り込み信号を受信できなくなった場合（非同期となった場合）でも、非同期になる直前まで基準時間に基づいて周期タイマ１１を補正していたので、タスクＴの起動時間のずれ量を小さくできる。また、タスク起動テーブルの検索処理等を必要としないので、ＣＰＵの処理負荷も小さい。
【００４１】
また、ＥＣＵ３によれば、周期タイマ１１の計測時間の誤差が許容量を超える場合に許容量だけ補正することにより、タスクの起動周期が許容量を超えて大きく変動することがなく、起動周期の変動によるタスクの処理への影響を抑制できる。
【００４２】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【００４３】
例えば、本実施の形態では車両に搭載されるネットワークに適用したが、他のネットワークにも適用可能である。また、本実施の形態ではＴＤＭＡ方式のネットワークとしてＦｌｅｘＲａｙに適用したが、ＴＤＭＡ方式の他のネットワークにも適用可能である。
【００４４】
また、本実施の形態では基準時間に基づく周期タイマの補正方法や誤差が許容量を超える場合の周期タイマの補正方法の一例を示したが、他の方法で補正してもよい。
【００４５】
また、本実施の形態では誤差が許容量を超える場合に周期タイマを許容量だけ補正する構成としたが、起動周期の変動によるタスクの処理への影響が小さい場合には、基準信号の割り込み信号を受信したときに、誤差が許容量を超えるか否かの判断を行わず、常に周期タイマをリセット補正してもよい。
【符号の説明】
【００４６】
１…車載ネットワーク、２…ＦｌｅｘＲａｙ、３，３Ａ，３Ｂ，３Ｃ…ＥＣＵ、１０…ＦｌｅｘＲａｙ用通信部、１１…周期タイマ、１２…周期タイマ補正部、１３…タスク起動部。
【図１】
2011234212.tif 000003
【図２】
2011234212.tif 000004
【図３】
2011234212.tif 000005
【図４】
2011234212.tif 000006
【図５】
2011234212.tif 000007