(57)【要約】【課題】送信すべきデータの抜けの発生を軽減し、受信側における処理負荷を軽減するようにした電子制御ユニットを提供する。【解決手段】センサ５から出力されたパルス信号を回転数算出部２１が計数してエンジン回転数を算出し、変化率・更新間隔算出部２２がそのエンジン回転数の変化率および更新間隔を算出する。送信周期変更部２３は、エンジン回転数の変化率に応じてＣＡＮバスに送信するデータの送信タイミングを可変し、変化率が小さいときは短い周期、変化率が大きいときは長い周期による定期送信にする。送信周期変更部２３は、また、変化率が大きくて更新間隔が短いとき、変化率が小さくて更新間隔が長いときはイベント送信にする。送信タイミングを変化率に応じて変化させることで、変化率の大きいときの送信データの抜けを低減でき、変化率の小さいときの同一データの送信も低減できる。【選択図】図３
2007228338.tif 000002
【特許請求の範囲】
【請求項１】
外部のセンサが接続されていて前記センサから受けたセンサ値をＣＡＮバスに送信する機能を有する電子制御ユニットにおいて、
前記センサから受けた前記センサ値の変化に基づいて、前記センサ値を前記ＣＡＮバスに送信する送信タイミングを変更する送信周期変更手段を備えていることを特徴とする電子制御ユニット。
【請求項２】
外部のセンサが接続されていて前記センサから受けたセンサ値をＣＡＮバスに送信する機能を有する電子制御ユニットにおいて、
前記センサから受けた前記センサ値を算出するセンサ値算出手段と、
前記センサ値算出手段によって算出された前回および今回の前記センサ値の変化を示す変化率と前記変化率が大きくて前記センサ値を更新したときの前回の更新からの更新間隔とを算出する変化率・更新間隔算出手段と、
前記変化率・更新間隔算出手段にて算出された前記変化率および前記更新間隔に基づいて前記センサ値を前記ＣＡＮバスに送信する送信タイミングを変更する送信周期変更手段と、
を備えていることを特徴とする電子制御ユニット。
【請求項３】
前記センサ値算出手段は、前記センサから単位時間内に受けたパルスの数を計数することによって前記センサ値を算出するようにしたことを特徴とする請求項１または２記載の電子制御ユニット。
【請求項４】
前記送信周期変更手段は、前記変化率が小さいときは前記送信タイミングを前記センサ値に応じた周期の定期送信に変更し、前記変化率が大きいときは前記送信タイミングを前記センサ値が受信されたときとするイベント送信に変更するようにしたことを特徴とする請求項２記載の電子制御ユニット。
【請求項５】
前記送信周期変更手段は、前記変化率が小さく前記更新間隔が所定値より十分長いとき前記送信タイミングを前記センサ値が受信されたときとするイベント送信に変更するようにしたことを特徴とする請求項２記載の電子制御ユニット。
【請求項６】
前記送信周期変更手段は、前記センサ値が急激に変化するかあまり変化しない場合を除いた所定の範囲内に前記変化率が入っているときは、前記送信タイミングを標準的な周期の定期送信に変更し、前記センサ値が急激に変化して前記変化率が前記所定の範囲を越えて大きくなった場合は、前記更新間隔が前記標準的な定期送信時の送信周期より短い周期に設定された所定の第１の周期より長いときに前記送信タイミングを前記標準的な定期送信よりも短くて前記第１の周期よりも長い周期の定期送信に変更し、前記更新間隔が前記第１の周期より短いときには前記送信タイミングを前記センサ値が受信されたときとするイベント送信に変更し、前記センサ値があまり変化しなくて前記変化率が前記所定の範囲より小さくなった場合は、前記更新間隔が前記標準的な定期送信時の送信周期より長い周期に設定された所定の第２の周期より短いときに前記送信タイミングを前記標準的な定期送信よりも長くて前記第２の周期よりも短い周期の定期送信に変更し、前記更新間隔が前記第２の周期より長いときには前記信タイミングを前記センサ値が受信されたときとするイベント送信に変更することを特徴とする請求項２記載の電子制御ユニット。
【請求項７】
外部のセンサが接続されていて前記センサから受けたセンサ値をＣＡＮバスに送信する機能を有する電子制御ユニットの送信方法において、
コンピュータが、
前記センサから受けた前記センサ値の変化率を算出するステップと、
算出された前記変化率に応じて、前記ＣＡＮバスに送信するセンサ値の送信タイミングを可変するステップと、
を実行することを特徴とする電子制御ユニットの送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子制御ユニットおよび電子制御ユニットの送信方法に関し、特に車両の各機器を外部のセンサ信号に基づいて制御するとともにそのセンサ信号を他の制御用途のためにＣＡＮバスに送信するようにした電子制御ユニットおよび電子制御ユニットの送信方法に関する。
【背景技術】
【０００２】
車両には、たとえばエンジン、トランスミッション、ステアリング、ブレーキ、エアコン、オーディオ、ナビゲーション装置など各部を制御するための多くの電子制御ユニット（ＥＣＵ：Electronic Control Unit）が搭載されており、関連する制御機能を持った電子制御ユニットは、車載ネットワークによって相互に通信できるように構成されていて、センサ信号を含むデータの共有化がはかられている。このような車載ネットワークの通信プロトコルには、一般に、ＣＡＮ（Controller Area Network）通信プロトコルが採用されている。
【０００３】
たとえばエンジン回転数を制御する電子制御ユニットでは、エンジンの回転数を検出するセンサからセンサ値の信号を受け、そのセンサ値に基づいてエンジン回転数を制御するようにしている。その電子制御ユニットは、また、そのエンジン回転数の制御に使用したエンジン回転数のセンサ値をＣＡＮデータにしてＣＡＮバスに送信している。これにより、ＣＡＮバスに接続された他の電子制御ユニットは、エンジンの回転数を検出するセンサを別個に設置することなくエンジン回転数のセンサ値のデータを利用することができるようになる。
【０００４】
ここで、センサからセンサ値の信号を受信している電子制御ユニットは、車両の走行状態に応じてセンサ値が変化すれば、そのタイミングで変化したセンサ値をリアルタイムに取り込んでエンジン回転数の制御に使用する。一方、ＣＡＮバスへ送信するデータについては、電子制御ユニットがあらかじめ決められた一定の送信周期にて、エンジン回転数のセンサ値をＣＡＮバスに送信するようにしている（たとえば、特許文献１参照。）。次に、この電子制御ユニットが行うＣＡＮバスへのデータ送信について説明する。
【０００５】
図７はセンサ値更新間隔と送信タイミングとの関係を示す図であって、（Ａ）はセンサ値更新間隔が送信周期より短い場合を示し、（Ｂ）はセンサ値更新間隔が送信周期より長い場合を示している。この図７において、受信されたセンサ値の更新タイミングを符号の逆黒三角で示し、センサ値の送信タイミングをｔ０，ｔ１，ｔ２，ｔ３，ｔ４で示している。
【０００６】
センサの出力を受けている電子制御ユニットは、受信したセンサ値を共有ＲＡＭ（Random Access Memory）に保持しておき、ＣＡＮバスへ送信するときには、送信周期ごとに、その共有ＲＡＭに保持されているセンサ値を読み出して送信している。エンジンの回転数を検出するセンサは、エンジンの回転数が変化しなければ、同じセンサ値を出力しているので、そのセンサ値を保持している共有ＲＡＭでのセンサ値も変化しない。エンジンの回転数が変化すれば、センサはエンジンの回転数の変化に応じたセンサ値を出力するので、共有ＲＡＭに保持されているセンサ値は、その変化したセンサ値によって更新される。
【０００７】
ここで、エンジンの回転数が上昇して共有ＲＡＭに保持されているセンサ値の更新間隔が短くなると、図７の（Ａ）に示すように、隣接する送信タイミングの間にセンサ値の更新が２回以上になることがある。その場合、送信タイミングで実際に送信されるＣＡＮデータは、最後に更新されたデータだけとなる。図７の（Ａ）に示す例では、送信タイミングｔ０−ｔ１，ｔ１−ｔ２，ｔ３−ｔ４の間でセンサ値の更新が２回あり、送信タイミングｔ２−ｔ３の間ではセンサ値の更新が３回ある場合を示しており、いずれも、各送信タイミングでは、最後に更新されたセンサ値が送信され、丸で囲ったタイミングで更新されたセンサ値は、送信データに反映されることはない。
【０００８】
逆に、エンジンの回転数が低下してセンサ値の更新間隔が送信周期より長くなると、それぞれの送信タイミングでは、前回送信したＣＡＮデータと同じデータを送信することになる。図７の（Ｂ）に示す例では、送信タイミングｔ０，ｔ２，ｔ４の後にセンサ値の更新がある場合を示している。この場合は、センサ値の更新があった時点以降の送信タイミングｔ１，ｔ２、ｔ３，ｔ４でその更新されたセンサ値がＣＡＮデータとして送信されるので、丸で囲った送信タイミングｔ２，ｔ４では、前回の送信タイミングｔ１，ｔ３と同じＣＡＮデータが送信されることになる。
【特許文献１】特開２００１−１４２７９４号公報（段落〔００６１〕など）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の電子制御ユニットでは、センサから受信してＣＡＮバスに送信されるセンサ値ごとに送信周期が設定され、その設定された一定の送信周期でセンサ値のＣＡＮデータを送信しているので、センサ値の更新間隔が送信周期よりも短くなれば送信すべきデータの抜けが発生し、センサ値の更新間隔が送信周期よりも長くなれば重複したデータの送信が発生することになる。しかしながら、単にデータの抜けを避けるために送信周期を短くすれば、受信側の電子制御ユニットの処理負荷が増加し、同じデータの送信を避けるために送信周期を長くすれば、受信側の電子制御ユニットの不必要な処理が増加することになるという問題点があった。
【００１０】
本発明はこのような点に鑑みてなされたものであり、送信すべきデータの抜けの発生を軽減し、受信側における処理負荷を軽減するようにした電子制御ユニットを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では上記問題点を解決するために、外部のセンサが接続されていて前記センサから受けたセンサ値をＣＡＮバスに送信する機能を有する電子制御ユニットにおいて、前記センサから受けた前記センサ値の変化に基づいて、前記センサ値を前記ＣＡＮバスに送信する送信タイミングを変更する送信周期変更手段を備えていることを特徴とする電子制御ユニットが提供される。
【００１２】
このような電子制御ユニットによれば、センサ値の変化に応じて、センサ値をＣＡＮバスに送信する送信タイミングを変更することができるので、変化率の高いセンサ値に対して速い周期で定期送信されることによりデータ抜けすることなく送信され、変化率の低いセンサ値に対しては遅い周期で定期送信されることにより同一データの送信を低減することができる。
【発明の効果】
【００１３】
本発明の電子制御ユニットは、送信周期変更手段を備えていることにより、センサ値の変化に応じてセンサ値をＣＡＮバスに送信する送信タイミングを変更することができるので、変化率の高いセンサ値は、速い周期で定期送信されることによりデータ抜けが低減し、変化率の低いセンサ値は、遅い周期で定期送信されることにより受信側の電子制御ユニット側でのデータ割り込み回数が減り、その処理負荷を低減することができるという利点がある。また、センサ値の変化率が高くて更新間隔が非常に短い場合、送信タイミングをセンサ値が更新されたときとするイベント送信とすることで、常に最新のデータを受信側の電子制御ユニットに反映させることが可能になり、センサ値の変化率が非常に低くて更新間隔が非常に長い場合、送信タイミングをセンサ値が更新されたときとするイベント送信とすることで、同様のデータ送信の回数が低減するとともに、受信側においても、同様のデータ参照の回数が低減されることから、送信側および受信側双方の電子制御ユニットの処理負荷を低減させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を、車両のエンジン回転数を制御する電子制御ユニットに適用した場合を例に図面を参照して詳細に説明する。
図１は車載ネットワークの例を示すシステム図である。
【００１５】
エンジン・パワートレイン系のネットワークには、たとえばエンジン回転数制御用の電子制御ユニット１、ブレーキ制御用の電子制御ユニット２、エアサスペンション制御用の電子制御ユニット３などがあり、それぞれＣＡＮバス４によって相互にバス接続されている。エンジン回転数制御用の電子制御ユニット１には、エンジン回転数を検出するセンサ５が接続されている。このセンサ５は、エンジン回転数に比例した数のパルス信号を出力する。もちろん、これら電子制御ユニット１，２，３には、図示はしないが、多くのセンサ、スイッチ、アクチュエータが接続されている。
【００１６】
電子制御ユニット１は、センサ５から常にエンジンの回転状態を表すパルス信号のセンサ値が入力されており、そのセンサ値に基づいてエンジン回転数を制御する機能を有している。この電子制御ユニット１は、また、同じエンジン回転数のセンサ値を必要とする他の電子制御ユニットのために、そのエンジン回転数のセンサ値をＣＡＮデータにしてＣＡＮバス４に送信している。送信されたセンサ値は、ブレーキ制御用の電子制御ユニット２およびエアサスペンション制御用の電子制御ユニット３が必要に応じて受信し、ブレーキ制御およびエアサスペンション制御に利用される。
【００１７】
図２は電子制御ユニットの構成例を示す図である。
電子制御ユニット１は、マイクロプロセッサ１１、ＣＡＮコントローラ１２およびＣＡＮトランシーバ１３を備えている。マイクロプロセッサ１１は、この電子制御ユニット１の全体の制御を司る中央演算装置（ＣＰＵ）１４と、制御用の各種プログラムなどを格納するＲＯＭ（Read-Only Memory）１５と、実行中のプログラムやデータなどが記憶されるＲＡＭ１６と、入出力インタフェース部（Ｉ／Ｏ）１７とを有し、これらはバス１８を介して相互に接続されている。この入出力インタフェース部１７には、エンジン回転数を検出するセンサ５が接続されている。ＣＡＮコントローラ１２は、送信フレームの優先順位による調停やエラーチェックというような標準的なＣＡＮプロトコル機能を実現する。ＣＡＮトランシーバ１３は、ＣＡＮバス４に接続されて、ＣＡＮコントローラ１２で生成されたＣＡＮデータをＣＡＮバス４に送信したり、ＣＡＮバス４上を流れるＣＡＮデータを受信したりする機能を実現する。
【００１８】
この電子制御ユニット１では、センサ５から受けたセンサ値を内部でエンジン回転数制御に使用するとともに、そのセンサ値をＣＡＮコントローラ１２およびＣＡＮトランシーバ１３を介してＣＡＮバス４に送信する機能を有している。次に、この電子制御ユニット１が有するセンサ値送信機能について説明する。
【００１９】
図３は電子制御ユニットのセンサ値送信機能を示すブロック図である。
電子制御ユニット１は、回転数算出部２１と、変化率・更新間隔算出部２２と、送信周期変更部２３とを備えている。
【００２０】
回転数算出部２１は、入出力インタフェース部１７によって受信されたセンサ５のパルス信号をもとにエンジン回転数を算出している。この回転数算出部２１では、たとえば、センサ５からのパルス信号を受信し、単位時間当たりに受信したパルス信号のパルス数を計数することによってエンジン回転数を求めている。ここで求められたエンジン回転数を表わすセンサ値は、この電子制御ユニット１でのエンジン回転数制御に使用され、さらに、ＣＡＮバス４への送信対象であるセンサ値となる。なお、この回転数算出部２１は、特許請求の範囲のセンサ値算出手段に対応する。
【００２１】
回転数算出部２１によって受信されたパルス信号は、一時的にＲＡＭ１６に記憶され、エンジン回転数として算出されたセンサ値は、ＲＡＭ１６の一部をなす共有ＲＡＭに記憶されている。ここで、変化率・更新間隔算出部２２は、回転数算出部２１がパルス信号を受信したときに、前回受信したパルス信号との受信間隔からセンサ値の変化率を算出する。また、変化率・更新間隔算出部２２は、ここで算出した変化率と前回算出した変化率とを比較し、変化率が大きいかどうかを判断し、変化率が大きい場合には、共有ＲＡＭに記憶されているセンサ値を今回算出のセンサ値に更新するとともに、前回の更新から今回の更新までの更新間隔を算出する。
【００２２】
送信周期変更部２３は、変化率・更新間隔算出部２２によって求められたセンサ値の変化率と更新間隔とに基づいて共有ＲＡＭに記憶されたセンサ値をＣＡＮバス４に送信する周期を変更する。この送信周期変更部２３で変更された送信周期に基づいて、ＣＡＮコントローラ１２は、共有ＲＡＭに記憶されたセンサ値を読み出し、ＣＡＮデータとして送信することになる。
【００２３】
以上の電子制御ユニット１の機能は、マイクロプロセッサ１１のＲＯＭ１５に格納されたプログラムによって実現される。次に、そのプログラムにより実行される処理であって、センサ５からのパルス信号の受信からＣＡＮバス４への送信までの処理について説明する。
【００２４】
図４は電子制御ユニットの処理例を示すフローチャート、図５はセンサ値の受信タイミングと送信タイミングとを説明する図である。
まず、回転数算出部２１は、センサ５から受信されたパルス信号を基にエンジン回転数が算出される（ステップＳ１）。センサ５からのパルス信号は、図５に示したように、エンジン回転数に応じて周期が変化する信号であり、たとえばパルスの立ち下がりエッジを受信タイミングとして受信し、ＲＡＭ１６に記憶される。エンジン回転数は、所定の単位時間内に受信したパルスの数を計数することにより算出され、センサ値としてＲＡＭ１６に記憶される。
【００２５】
変化率・更新間隔算出部２２は、センサ５からのパルス信号の受信のたびに、センサ値の変化率および更新間隔を算出する（ステップＳ２）。変化率は、図５に示したように、今回の受信タイミングと前回の受信タイミングとの差から受信間隔を求め、その受信間隔が前回求めた受信間隔と比較することによって求められる。また、図５に示したように、センサ値の変化率が大きかったときなどでは、そのセンサ値はＲＡＭ１６から共有ＲＡＭに転送されて記憶されていたセンサ値を更新するが、そのセンサ値の更新間隔は、センサ値の更新が発生したときに前回の更新からの時間間隔を算出することによって求められる。このようにして変化率と更新間隔が算出された後は、送信周期変更部２３による送信周期変更処理が行われる。
【００２６】
まず、送信周期変更部２３は、変化率・更新間隔算出部２２によって求められたセンサ値の変化率が所定の範囲以上であるかどうかを判断する（ステップＳ３）。この所定の範囲は、センサ値が急激に変化するかあまり変化しない場合を除いた中間の変化率が分布する範囲であり、適用する車両に応じてあらかじめ設定されるものである。
【００２７】
ここで、センサ値の変化率がその所定の範囲の上限以上でない場合、次に、センサ値の変化率が所定の範囲以下であるかどうかが判断される（ステップＳ４）。ここで、センサ値の変化率がその所定の範囲の下限以下でない場合、すなわち、センサ値の変化率があらかじめ設定された所定の範囲内にあるとき、送信周期が標準的な２４ミリ秒の定期送信に設定される（ステップＳ５）。
【００２８】
ステップＳ３の判断において、センサ値の変化率が所定の範囲の上限以上の場合、変化率・更新間隔算出部２２によって求められたセンサ値の更新間隔が２ミリ秒より短いかどうかが判断される（ステップＳ６）。ここで、センサ値の更新間隔が２ミリ秒より短くない場合、すなわち、エンジン回転数が低くてその変化が比較的大きい場合には、送信周期が８ミリ秒の定期送信に設定され（ステップＳ７）、更新間隔が２ミリ秒より短い場合、すなわち、エンジン回転数が高くてその変化が比較的大きい場合には、イベント送信に設定され、データのリアルタイム性を確保する（ステップＳ８）。図５では、エンジン回転数が低い場合、受信間隔を表わすパルス周期は長く、エンジン回転数が高い場合、パルス周期は短く表現し、エンジン回転数の変化が大きい場合、変化率大と表現している。
【００２９】
ステップＳ４の判断において、センサ値の変化率が所定の範囲以下の場合、変化率・更新間隔算出部２２によって求められたセンサ値の更新間隔が６０ミリ秒より長いかどうかが判断される（ステップＳ９）。ここで、センサ値の更新間隔が６０ミリ秒より長くない場合、すなわち、エンジン回転数が高くてその変化が比較的小さい場合には、送信周期が３２ミリ秒の定期送信に設定され（ステップＳ１０）、更新間隔が６０ミリ秒より長い場合、すなわち、エンジン回転数が低くてその変化が比較的小さい場合には、イベント送信に設定される（ステップＳ１１）。図５では、エンジン回転数の変化が小さい場合、変化率小と表現している。
【００３０】
以上の送信周期変更処理により、センサ値の送信周期は、基本的には、変化率・更新間隔算出部２２により算出されたセンサ値の変化率に応じて、８ミリ秒、２４ミリ秒、３２ミリ秒の３段階に設定され、その設定された送信周期にてセンサ値がＣＡＮバス４に定期送信されることになる。なお、図５には、中間の周期の定期送信は、省略してある。これにより、エンジンの回転数が高くても低くても、センサ値の変化率が所定の範囲内にあるときには、送信周期が中間の２４ミリ秒の定期送信で送信されることになる。特に、回転数が高い場合には、その送信周期の間に多数のセンサ値が発生し、実際に送信されるのはその送信周期内で最後に発生した最新のセンサ値のみとなるが、元々これらのセンサ値は変化率の小さいものであるので、実際に送信されるセンサ値以外のセンサ値が送信されなくても何ら問題はない。また、センサ値の変化率が所定の範囲を超えて大きい場合で更新間隔が長い場合には、送信周期が短い８ミリ秒の定期送信で送信され、センサ値の変化率が所定の範囲を下回って小さい場合で更新間隔が短い場合には、送信周期が長い３２ミリ秒の定期送信で送信される。
【００３１】
さらに、センサ値の変化率が所定の範囲を超えて大きい場合で更新間隔が短い場合には、送信周期が短い８ミリ秒でもデータ抜けが発生する虞があるので、そのときには、イベント送信で送信される。また、センサ値の変化率が所定の範囲を下回って小さい場合で更新間隔が長い場合には、送信周期が長い３２ミリ秒ではあまりにも同じデータ値が連続して送信されるので、そのときには、イベント送信で送信される。
【００３２】
図６はイベント送信を説明する図であって、（Ａ）はセンサ値更新間隔が非常に短い場合を示し、（Ｂ）はセンサ値更新間隔が非常に長い場合を示している。
センサ値の変化率が非常に大きく、しかも更新間隔が２ミリ秒より短くなった場合には、図６の（Ａ）に示すように、センサ値が更新されるたびに送信される。同様にして、センサ値の変化率が非常に小さく、しかも更新間隔が６０ミリ秒より長くなった場合には、図６の（Ｂ）に示すように、センサ値が更新されたときに送信される。
【図面の簡単な説明】
【００３３】
【図１】車載ネットワークの例を示すシステム図である。
【図２】電子制御ユニットの構成例を示す図である。
【図３】電子制御ユニットのセンサ値送信機能を示すブロック図である。
【図４】電子制御ユニットの処理例を示すフローチャートである。
【図５】センサ値の受信タイミングと送信タイミングとを説明する図である。
【図６】イベント送信を説明する図であって、（Ａ）はセンサ値更新間隔が非常に短い場合を示し、（Ｂ）はセンサ値更新間隔が非常に長い場合を示している。
【図７】センサ値更新間隔と送信タイミングとの関係を示す図であって、（Ａ）はセンサ値更新間隔が送信周期より短い場合を示し、（Ｂ）はセンサ値更新間隔が送信周期より長い場合を示している。
【符号の説明】
【００３４】
１，２，３  電子制御ユニット
４  ＣＡＮバス
５  センサ
１１  マイクロプロセッサ
１２  ＣＡＮコントローラ
１３  ＣＡＮトランシーバ
２１  回転数算出部
２２  変化率・更新間隔算出部
２３  送信周期変更部
【図１】
2007228338.tif 000003
【図２】
2007228338.tif 000004
【図３】
2007228338.tif 000005
【図４】
2007228338.tif 000006
【図５】
2007228338.tif 000007
【図６】
2007228338.tif 000008
【図７】
2007228338.tif 000009