(57)【要約】【課題】複数のＥＣＵ間での演算タイミングの同期を設定していなくても、複数のＥＣＵ間において送受信されるデータあるいは演算結果が不正確となることを防止する制御システムの構造を提供することを目的とする。【解決手段】第一ＥＣＵにおいて送信タスクと第１、第２タスクを備え、送信タスクの出力周期を第１タスクにおける規定時間以上に設定する。【選択図】　　　　図１
2004030023.tif 000002
【特許請求の範囲】
【請求項１】
複数のＥＣＵ間でデータの送信を行う制御システム構造において、
第２のＥＣＵは第１のＥＣＵからのデータ送信を受けて演算を実行するものであり、
第１のＥＣＵは、送信タスクと、第１のタスクと第２のタスクとを備え、送信タスクの出力周期は第１のタスクにおける規定時間以上に長い時間周期に設定されているとともに、送信タスクは第１のタスクにおける規定時間経過後に出力されるように設定されていることを特徴とする制御システム構造。
【請求項２】
前記送信タスクの出力周期は、前記規定時間と同等に設定されていることを特徴とする請求項１に記載の制御システム構造。
【請求項３】
前記第１のタスクは、当該第１のタスク内における制御処理が完結終了するまで、前回以前の制御処理において完結終了した結果を記憶しておくことを特徴とする請求項１または請求項２に記載の制御システム構造。
【請求項４】
前記第１のタスクは、当該第１のタスク内における制御処理の途中で前記送信タスクを受けた場合には、前回以前の完結終了した制御処理結果を送信することを特徴とする請求項１ないし請求項３のいずれかに記載の制御システム構造。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、複数のＥＣＵ間で情報を送受信する際の情報の正確化をＥＣＵ間でシステム的な同期を取ることなく実現する構造に関する。
【０００２】
【従来の技術】
近年、複数のＥＣＵ間で相互に演算結果をやり取りして複数の制御機能を関連付けて制御することが多くなってきている。
【０００３】
この場合には図２に示す制御システム構造１００のように、複数のＥＣＵ１とＥＣＵ２とがＬＡＮ（ローカルエリアネットワーク）等で接続される。たとえば図２におけるＥＣＵ１はエンジン制御を行うＥＣＵであり、ＥＣＵ２はＡＴ（オートマティックトランスミッション）を制御するＥＣＵである。このようなＥＣＵ間の接続は、一方のＥＣＵから他方のＥＣＵへのデータ送信あるいは双方向のデータ送信のためであり、近年複数の制御機能間でデータを送受信しながら他の機能の制御状態あるいは作動状態と関連付けて制御を行う必要性が高くなったことからＬＡＮ等でＥＣＵ間を接続する例が増えてきている。
【０００４】
ＥＣＵ１には送信タスクＳ、タスクＡ、タスクＢが設けられており、これらのタスクＳ、Ａ，Ｂのタスクプライオリティは、送信タスクＳ、タスクＡ、タスクＢの順に設定されている。送信タスクＳはＥＣＵ１からＥＣＵ２へ情報を送信するタイミングを出力するものであり、一定の周期で出力される。タスクＡは所定の図示しないセンサ出力データ等に基づいて所定の制御処理を行うものである。このタスクＡにおける制御処理たとえば演算時間あるいは／およびデータ蓄積時間はデータ内容に左右されるので一定時間ではなく、可変時間となる。タスクＢはタスクＡの演算結果やデータを受けて演算を実施するものである。
【０００５】
また、ＥＣＵ２にはＥＣＵ１からの出力をＬＡＮを介して受けて演算をつかさどるタスクＣが配置されている。なお、このＥＣＵ１とＥＣＵ２とはＬＡＮを介して接続されている別体のＥＣＵであるため、演算周期は同期しておらず、ＥＣＵ１の送信タスクＳが出力を実行した際にＥＣＵ２が演算を実行するというＥＣＵ単位のプライオリティが存在するのみである。
【０００６】
【発明が解決しようとする課題】
上述の如くＥＣＵ１のタスクＡにおける演算時間は可変時間であったが、従来の送信タスクＳの出力タイミングはこのタスクＡにおける演算可変時間を鑑みて設定されておらず、図２に図示の如くタスクＡの演算途中で送信タスクＳが出力されてしまう場合がある。この場合、送信タスクＳの出力に基づいてＥＣＵ１からはＥＣＵ２へデータを送信しなければならない。そこでタスクＢからタスクＣに送信を行うために、タスクＡで演算途中であるため本来タスクＢではまだ演算が開始されないタイミングであっても何らかのデータを作成してタスクＣすなわちＥＣＵ２側にデータを送信することになる。この場合たとえば図２に示す如く、タスクＡにおける演算完了分のデータαと、タスクＡにおける演算未完量分のデータβ’相当分の前回のデータβを混在させてタスクＣに送信する方法がある。すなわち、ＥＣＵ１からＥＣＵ２へのデータ送信は、本来ＥＣＵ１におけるタスクＡにおいて演算期間量分のデータβ’まで演算が完了された後に成されなければならないはずであるが、タスクＡでの今回分の演算の完了を待たずに不完全なデータがタスクＢへ送られることになる。よって、タスクＢにおける演算結果も不完全になり、この不完全なデータを元にしている以上、タスクＣにおける演算結果も不正確になる可能性が高いという問題がある。
【０００７】
また、別体のＥＣＵ間においても、単体のＥＣＵでの如く全てのタスク毎にプライオリティを決めることも考えられる。たとえば図２に示す構成では、ＥＣＵ１とＥＣＵ２とに跨って、送信タスクＳ、タスクＡ，タスクＢ、タスクＣの順にプライオリティを設定することも考えられる。しかしながらこの方法は、２つのＥＣＵ間を接続するＬＡＮのデータ送信容量あるいは／およびデータ送信速度に制限されたり、前記ＬＡＮを通過するデータ量自身が多くなり、データ送信速度が遅くなることも考えられる。
【０００８】
本願は以上の点を鑑みて、複数のＥＣＵ間で演算結果やデータ等の情報を送受信する制御システム構造において、複数のＥＣＵ間での演算タイミングの同期を設定していなくても、複数のＥＣＵ間において送受信されるデータあるいは演算結果が不正確となることを防止する制御システムの構造を提供することを目的とする。
【０００９】
【上記課題を解決するための手段】
本願の請求項１にかかる発明では、複数のＥＣＵ間でデータの送信を行う制御システム構造において、
第２のＥＣＵは第１のＥＣＵからのデータ送信を受けて演算を実行するものであり、第１のＥＣＵは、送信タスクと、第１のタスクと第２のタスクとを備え、送信タスクの出力周期は第１のタスクにおける規定時間以上に長い時間周期に設定されているとともに、送信タスクは第１のタスクにおける規定時間経過後に出力されるように設定されている。
【００１０】
このように送信タスクの出力周期と送信タイミングとを設定することによって、ＥＣＵ１からＥＣＵ２への出力は必ずタスクＡによる演算が終了した時点で実行されることになり、不完全なデータがＥＣＵ１からＥＣＵ２に送信されることがなくなる。
【００１１】
また請求項２にかかる発明では、送信タスクの出力周期が、前記規定時間と同等に設定されている。
【００１２】
このように送信タスクの出力周期を定めれば、最も効率よくＥＣＵ１からＥＣＵ２への送信を実行することができる。
【００１３】
【発明の実施の形態】
図１に、本願発明にかかる制御システムの一例として、２つのＥＣＵが存在する場合の構造を示す。
【００１４】
ＥＣＵ１には送信タスクＳと、タスクＡと、タスクＢとが設けられている。送信タスクＳは、ＥＣＵ１からＥＣＵ２へデータを送信するタイミングを出力するものであり一定周期で出力を行うものである。この送信タスクＳの出力周期は、後述するタスクＡの規定時間Ｔｄ以上に長く設定される。本実施例では、規定時間Ｔｄの終端と送信タスクＳの出力とを同期して設定している。なお、この規定時間Ｔｄは演算内容等のシステムの要求によりあらかじめ定められる時間である。
【００１５】
タスクＡは、図示しないセンサ等の出力データ等に基づいて演算を実行したりあるいは／およびセンサ出力等の各種データを保存する。なお、この演算結果やデータは他のＥＣＵ（後述するＥＣＵ２）において演算に用いるように送信するデータである。前述の規定時間Ｔｃは、このタスクＡにおける入力タイミングＴ１から、演算終了して演算結果を出力するあるいは各種センサからのデータ取り込みを終了するタイミングＴ２までの時間を示している。演算時間Ｔｃは、演算量、データ量等の演算内容に応じて可変するものであり、この演算量あるいは／およびデータ量の可変原因は、たとえば車両制御においては走行路面等の走行環境の変化等の外的要因やドライバ操作等の人的要因によるものである。また、あらかじめシステム要求に対応して演算時間Ｔｃを予想することができるが、この予想自体もどのくらいの安全幅を持てば良いかにより大きく異なり、正確に行うことが難しい。なお、この予想の時間の最長を前述の規定時間Ｔｄとしてもよい。
【００１６】
また、タスクＢはタスクＡの演算結果を受けて演算を実行したり、データを保存したりするものである。これらのタスクはＥＣＵ１内において、各々の出力実行に際しプライオリティを有している。このプライオリティは、送信タスクＳ、タスクＡ、タスクＢの順に優先順位があらかじめ設定されている。
【００１７】
ＥＣＵ２はＥＣＵ１とＬＡＮを介して接続されている。このＥＣＵ２にはタスクＣが設けられており、このタスクＣはＥＣＵ１からの送信情報（送信タスクＳの入力）に基づいて演算を実施する。この際送信の遅延時間がＥＣＵ間に存在するので、所定の通信遅延時間経過後にタスクＣでの演算が開始される。
【００１８】
なお、ＥＣＵ１とＥＣＵ２とは別体のＥＣＵであるので、ＥＣＵ１の送信タスクＳが出力を行えば、ＥＣＵ１内のタスクＡ、タスクＢにおける演算状況に関わらずＥＣＵ２のタスクＣは演算を開始する。
【００１９】
規定時間Ｔｄが前述の最長の時間に規定されている場合には、ＥＣＵ１、ＥＣＵ２を備える制御システム構造では、送信タスクＳは必ずタスクＡにおいて演算が完了した後あるいは／およびデータ取得が完了した後に出力が成されるので、タスクＢではタスクＡにおける完全な演算結果あるいは／および完全データに基づいてタスクＣ用の演算あるいはデータ取得がなされ、ＥＣＵ２のタスクＣには完全なデータが送信される。よって、タスクＣにおける演算は正確なものとなる。
【００２０】
また、このような制御システム構造では、たとえＥＣＵ１とＥＣＵ２との間すなわち送信タスクＳ、タスクＡ，Ｂ，Ｃのデータ送受信あるいは／および演算の同期がシステム的に取られていなくても、結果的に同期されていることとなる。
【００２１】
また規定時間Ｔｄをシステム要求からあらかじめ決定される時間とすれば、送信タスクＳの送信タイミングを時間Ｔｃぐらいに設定した場合に比べてタスクＡで制御処理が終了してからタスクＣに送信される確率が極めて高くなり、タスクＣにおける演算正確性が向上しシステムの信頼性が向上する。
【００２２】
本願発明は上述の実施例に限定されることなく様様な形態を採用することができる。
【００２３】
たとえば、上述の実施例ではＥＣＵ１とＥＣＵ２との２つのＥＣＵ間の例を示したが、これに関わらず３つ以上のＥＣＵ間でも同等の構成を採用できる。
【００２４】
なお、本願発明は送信を必要とするデータのみに適用すればよく、他にＥＣＵ内あるいはＥＣＵ１内等に送信を必要としないタスクが存在する場合には、このタスクの規定時間を鑑みる必要はない。
【００２５】
また、上述の実施例では規定時間に送信タスクＳの出力周期を合わせたが、送信タスクＳの出力周期は規定時間より長く設定してもよい。
【００２６】
なお、規定時間Ｔｄがシステム要求により定めれている場合等において万一規定時間Ｔｄ内でタスクＡの制御処理が終了しなかった場合、従来の如く今回の制御処理で演算された部分と、今回演算されなかった分の前回制御処理における相当分とを混在させてタスクＣに送信するのではなく、前回以前の制御処理時の完結した結果値（ｎ１−＊）をタスクＣに送信するとともに、今回の制御処理は完結していない旨の情報をタスクＣに送信するようにしてもよい。すなわち、タスクＡでは、次回の制御処理が完結するまで、前回以前の少なくとも１つあるいは１つのみの完結した演算結果が記憶されるようにしておき、次回の制御処理の完結に伴って記憶を捨てていくようにしてもよい。また、タスクＣやタスクＡでの制御処理の開始あるいは制御処理の終了時に一括して送信、受信（書き込み・読み込み）を行うことにより制御処理結果の一貫性を持たせるようにしても良い。
【図面の簡単な説明】
【図１】本願発明の実施例を示す構成図である。
【図２】従来の制御システム構造の例を示す構成図である。
【符号の説明】
１、２・・・ＥＣＵ
Ｓ・・・送信タスク
Ａ、Ｂ、Ｃ・・・タスク
【図１】
2004030023.tif 000003
【図２】
2004030023.tif 000004