(57)【要約】【課題】リソースの浪費を防ぐことが可能な車載装置を提供する。【解決手段】  車両状態検知アプリケーション５２０から新たな車両状態の通知を受け取ると、車両状態制御部５１１は、新たな車両状態を車両状態ＲＡＭ５１２に設定し、車両状態更新通知をタスク周期制御部５１３とメッセージ周期制御部５１６に通知する。車両状態更新通知を受け取ったタスク周期制御部５１３は、新たな車両状態に対応するタスクの起動周期を特定し、スケジューラ部５１５に対してタスク周期変更要求を行なう。また、車両状態更新通知を受け取ったメッセージ周期制御部５１６は、新たな車両状態に対応するメッセージの送信周期を特定し、通信管理部５１８に対してメッセージ周期変更要求を行なう。【選択図】図３
2010262444.tif 000002
【特許請求の範囲】
【請求項１】
固有に定められた起動周期で起動される１または複数のタスクを有したＯＳが搭載されている車載装置であって、
自車両の状態を特定する特定手段と、
前記特定手段により特定された自車両の状態に応じて、前記タスクについての前記起動周期を変更する起動周期変更手段と、
を備えることを特徴とする車載装置。
【請求項２】
車内ＬＡＮに接続されており、１または複数のメッセージを、それぞれのメッセージ毎に定められている送信周期にて、前記車内ＬＡＮを介して他の装置に送信する車載装置であって、
自車両の状態を特定する特定手段と、
前記特定手段により特定された自車両の状態に応じて、前記メッセージについての前記送信周期を変更する送信周期変更手段と、
を備えることを特徴とする車載装置。
【請求項３】
請求項１または請求項２において、
前記自車両の状態とは、自車両の走行状態であること、
を特徴とする車載装置。
【請求項４】
請求項１または請求項２において、
前記自車両の状態とは、自車両を始動させるためのスイッチの操作状態であること、
を特徴とする車載装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の状態を特定することが可能な車載装置に関する。
【背景技術】
【０００２】
車載装置は、一般的にリアルタイム性を要求される。そして、このような車載装置にはリアルタイムＯＳが搭載されている場合があるが、このようなリアルタイムＯＳは、周期的に起動されるタスクを有している。また、車内ＬＡＮに接続されている車載装置は、車内ＬＡＮを介して定期的にメッセージを送信する場合がある。特許文献１には、データフレームを所定の定期送信タイミングで送信することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１８０２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなタスクやメッセージは、通常、車載装置や、車載装置を含む車載システムに対して要求される最大のパフォーマンスを実現可能となる頻度で起動、或いは送信されるよう、起動周期や送信周期が設定される。しかしながら、車両の状態によってはこのような最大のパフォーマンスの実現が不要となる場合もあり、このような場合にまで最大のパフォーマンスの実現が可能な頻度でタスクの起動やメッセージの送信が行われてしまうと、リソースを浪費してしまうことになる。
【０００５】
本願発明は上記課題に鑑みてなされたものであり、リソースの浪費を防ぐことが可能な車載装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑みてなされた請求項１に記載の車載装置は、固有に定められた起動周期で起動される１または複数のタスクを有したＯＳが搭載されており、自車両の状態を特定する特定手段と、特定手段により特定された自車両の状態に応じて、タスクについての起動周期を変更する起動周期変更手段とを備えることを特徴とする。
【０００７】
こうすることにより、最大のパフォーマンスの実現が不要となる場合には、タスクの起動周期を長くし、タスクが起動される頻度を低下させることができる。また、車両状態に応じたパフォーマンスを実現可能となるよう、タスクが起動される頻度を設定することができる。したがって、必要以上の頻度でタスクが起動されてしまうことを防ぐことができ、ＣＰＵ等のリソースが浪費されてしまうことを防ぐことができる。
【０００８】
また、請求項２に記載の車載装置は、車内ＬＡＮに接続されており、１または複数のメッセージを、それぞれのメッセージ毎に定められている送信周期にて、前記車内ＬＡＮを介して他の装置に送信し、自車両の状態を特定する特定手段と、特定手段により特定された自車両の状態に応じて、メッセージについての送信周期を変更する送信周期変更手段とを備えることを特徴とする。
【０００９】
こうすることにより、最大のパフォーマンスの実現が不要となる場合には、メッセージの送信周期を長くし、メッセージが送信される頻度を低下させることができる。また、車両状態に応じたパフォーマンスを実現可能となるよう、メッセージの送信頻度を設定することができる。したがって、必要以上の頻度でメッセージが送信されてしまうことを防ぐことができ、ＣＰＵや車内ＬＡＮ等のリソースが浪費されてしまうことを防ぐことができる。
【００１０】
尚、請求項３に記載されているように、自車両の状態とは、自車両の走行状態であっても良い。また、請求項４に記載されているように、自車両の状態とは、例えば、イグニッションスイッチ等といった、自車両を始動させるためのスイッチの操作状態であっても良い。
【００１１】
こうすることにより、最大のパフォーマンスの実現が不要となるかどうかを適切に判定することが可能となり、リソースの浪費を効果的に防ぐことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】車両に搭載されている複数のＥＣＵを示すブロック図である。
【図２】ＥＣＵの構成を示すブロック図である。
【図３】ＥＣＵの制御プログラムの構成を示すブロック図である。
【図４】車両状態−タスク周期対応テーブルを示す表である。
【図５】車両状態−メッセージ周期対応テーブルを示す表である。
【図６】車両状態更新通知処理を示すフローチャートである。
【図７】タスク周期制御部への車両状態更新通知処理を示すフローチャートである。
【図８】メッセージ周期制御部への車両状態更新通知処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００１４】
［構成の説明］
（１）ＥＣＵの構成について
車両には、通常、車内ＬＡＮを介して互いに接続された複数のＥＣＵが搭載されており、図１は、このような複数のＥＣＵを示すブロック図が記載されている。これらのＥＣＵは、車内ＬＡＮとしてのＣＡＮ４００により接続されている。尚、本実施形態における車両は、エンジンのみを動力源としている。
【００１５】
また、図２には、ＥＣＵ１００の構成を示すブロック図が記載されている。ＥＣＵ１００は、ＥＣＵ１００の全体を統括制御するマイコン１１０と、後述するＩＧ電源端子，ＡＣＣ電源端子，＋Ｂ電源端子から電力供給を受け、ＥＣＵ１００の各部位に電力を供給する電源回路１２０と、各種センサ・スイッチ１５０からの信号をマイコン１１０に出力すると共に、マイコン１１０からの指示に応じてアクチュエータ１６０に対して制御信号を出力する入出力回路１３０と、ＣＡＮ４００からの受信信号をマイコン１１０に対しＲＸ信号として出力すると共に、マイコン１１０からの送信信号（ＴＸ信号）をＣＡＮ４００に出力する通信トランシーバ１４０を有する。
【００１６】
また、マイコン１１０は、周知のＣＰＵ１１１，ＲＡＭ１１２と、後述する制御プログラムが記憶されているＲＯＭ１１３と、ＣＡＮ４００を介しての通信を行うための通信コントローラ１１４とを有している。
【００１７】
尚、上述したＩＧ電源端子とは、イグニッションスイッチがＯＮまたはＳＴＡＲＴの状態である場合にバッテリからの電力を供給する端子であり、ＡＣＣ電源端子とは、イグニッションスイッチがＳＴＡＲＴ、ＯＮ、またはＡＣＣである場合にバッテリからの電力を供給する端子であり、＋Ｂ電源端子とは、イグニッションスイッチの状態に関らず常時バッテリからの電力を供給する端子である。
【００１８】
また、ＥＣＵ２００やＥＣＵ３００も、ＥＣＵ１００と同様の構成を有している。
（２）制御プログラムの構成について
次に、ＥＣＵ１００を制御するためのプログラムである制御プログラムの構成について、図３に記載のブロック図を用いて説明する。
【００１９】
制御プログラム５００は、複数のタスクを制御するリアルタイムＯＳ５１０を有しており、このリアルタイムＯＳ５１０により制御される複数のタスクのうちの一部は、車両状態を検知する車両状態検知アプリケーション５２０として動作している。車両状態検知アプリケーション５２０は、車両状態更新通知ＡＰＩを実行し、リアルタイムＯＳ５１０に対して新たな車両状態を通知する。
【００２０】
尚、車両状態検知アプリケーション５２０は、例えば、ＣＡＮ４００を介して他のＥＣＵから自車両の速度と自車両のシフトレバーの位置を取得し、これらの情報に基づき車両の走行状態を特定し、車両の走行状態を車両の状態としても良い。また、車両状態検知アプリケーション５２０は、電源回路１２０を介してＩＧ電源端子，ＡＣＣ電源端子，＋Ｂ電源端子についての電力供給の状態を特定し、さらに、これらの端子からの電力供給の状態に基づきイグニッションスイッチの操作状態を特定し、イグニッションスイッチの操作状態を車両の状態としても良い。
【００２１】
また、リアルタイムＯＳ５１０は、車両状態検知アプリケーション５２０から新たな車両状態の通知を受け取ると、新たな車両状態を車両状態ＲＡＭ５１２に設定する車両状態制御部５１１と、車両状態制御部５１１から車両状態更新通知を受け取ると、各タスクについて、新たな車両状態に対応する起動周期を特定し、スケジューラ部５１５に対してタスク周期変更要求を行なうタスク周期制御部５１３と、各車両状態における各タスクの起動周期を示す車両状態−タスク周期対応テーブル５１４と、各タスクのスケジューリングを行うスケジューラ部５１５を有している。
【００２２】
また、制御プログラム５００は、複数の定期メッセージを、各メッセージに個別に設定されている送信周期によりＣＡＮ４００を介して送信する機能を有している。そして、リアルタイムＯＳ５１０は、車両状態制御部５１１から車両状態更新通知を受け取ると、各定期メッセージについて、新たな車両状態に対応する送信周期を特定し、通信管理部５１８に対してメッセージ周期変更要求を行なうメッセージ周期制御部５１６と、各車両状態における各定期メッセージの送信周期を示す車両状態−メッセージ周期対応テーブル５１７と、各定期メッセージの送信を行う通信管理部５１８とを有している。
【００２３】
（３）車両状態−タスク周期対応テーブルについて
次に、車両状態−タスク周期対応テーブル５１４について説明する。
（３−１）走行状態−タスク周期対応テーブルについて
図４の（ａ）には、車両状態を自車両の速度や進行方向に関しての状態である走行状態とした場合の車両状態−タスク周期対応テーブルである走行状態−タスク周期対応テーブルを示す表が記載されている。この表における列は、リアルタイムＯＳ５１０により制御されるタスクの名称を示す「タスク名」という項目と、自車両が時速５０ｋｍ／ｈ以上で走行している状態である「高速走行状態」という項目と、自車両が時速５０ｋｍ／ｈ未満で走行している状態である「低速走行状態」という項目と、自車両がバックしている状態である「バック状態」という項目と、自車両が停止している状態である「停止状態」という項目に、それぞれ対応付けられている。
【００２４】
そして、「タスク名」に対応する行を構成する各欄には、“Ａタスク”，“Ｂタスク”，“Ｃタスク”等、リアルタイムＯＳ５１０により制御されるタスクの名称が設定されており、各タスクに対応する列を構成する各欄には、対応する走行状態におけるタスクの起動周期が設定されている。
【００２５】
具体的には、“Ａタスク”に対応する列を構成する各欄については、「高速走行状態」に対応する欄には“１０ｍｓ”が設定されており、高速走行状態である場合には、Ａタスクは、１０ｍｓ周期で起動されることを示している。また、「低速走行状態」に対応する欄には“２０ｍｓ”が設定されており、低速走行状態である場合には、Ａタスクは、２０ｍｓ周期で起動されることを示している。また、「バック状態」に対応する欄には“２０ｍｓ”が設定されており、バック状態である場合には、Ａタスクは、２０ｍｓ周期で起動されることを示している。また、「停止状態」に対応する欄には“１００ｍｓ”が設定されており、停止状態である場合には、Ａタスクは、１００ｍｓ周期で起動されることを示している。また、“Ｂタスク”に対応する列を構成する各欄については、「高速走行状態」に対応する欄には“１００ｍｓ”が、「低速走行状態」に対応する欄には“１００ｍｓ”が、「バック状態」に対応する欄には“５０ｍｓ”が、「停止状態」に対応する欄には“１０ｍｓ”が、それぞれ設定されている。また、“Ｃタスク”に対応する列を構成する各欄については、「高速走行状態」に対応する欄には“１００ｍｓ”が、「低速走行状態」に対応する欄には“１００ｍｓ”が、「バック状態」に対応する欄には“１０ｍｓ”が、「停止状態」に対応する欄には“２０ｍｓ”が、それぞれ設定されている。
【００２６】
（３−２）イグニッションスイッチ状態−タスク周期対応テーブルについて
また、図４の（ｂ）には、車両状態を自車両のイグニッションスイッチの操作状態とした場合の車両状態−タスク周期対応テーブルであるイグニッションスイッチ状態−タスク周期対応テーブルを示す表が記載されている。この表における列は、リアルタイムＯＳ５１０により制御されるタスクの名称を示す「タスク名」という項目と、イグニッションスイッチが“ＯＮ”或いは“ＳＴＡＲＴ”となっている状態である「ＩＧオン状態」という項目と、イグニッションスイッチが“ＡＣＣ”となっている状態である「ＡＣＣ状態」という項目と、イグニッションスイッチが“ＬＯＣＫ”となっている状態である「ＬＯＣＫ状態」という項目に、それぞれ対応付けられている。
【００２７】
そして、「タスク名」に対応する行を構成する各欄には、“Ａタスク”，“Ｂタスク”，“Ｃタスク”等、リアルタイムＯＳ５１０により制御されるタスクの名称が設定されており、各タスクに対応する列を構成する各欄には、対応するイグニッションスイッチの状態における起動周期が設定されている。
【００２８】
具体的には、“Ａタスク”に対応する列を構成する各欄については、「ＩＧオン状態」に対応する欄には“１０ｍｓ”が設定されており、イグニッションスイッチが“ＯＮ”或いは“ＳＴＡＲＴ”となっている場合には、Ａタスクは、１０ｍｓ周期で起動されることを示している。また、「ＡＣＣ状態」に対応する欄には“２０ｍｓ”が設定されており、イグニッションスイッチが“ＡＣＣ”となっている場合には、Ａタスクは、２０ｍｓ周期で起動されることを示している。また、「ＬＯＣＫ状態」に対応する欄には“２０ｍｓ”が設定されており、イグニッションスイッチが“ＬＯＣＫ”となっている場合には、Ａタスクは、２０ｍｓ周期で起動されることを示している。また、“Ｂタスク”に対応する列を構成する各欄については、「ＩＧオン状態」に対応する欄には“１００ｍｓ”が、「ＡＣＣ状態」に対応する欄には“１５０ｍｓ”が、「ＬＯＣＫ状態」に対応する欄には“１００ｍｓ”が、それぞれ設定されている。また、“Ｃタスク”に対応する列を構成する各欄については、「ＩＧオン状態」に対応する欄には“１００ｍｓ”が、「ＡＣＣ状態」に対応する欄には“１００ｍｓ”が、「ＬＯＣＫ状態」に対応する欄には“０”が、それぞれ設定されている。
【００２９】
尚、“Ｃタスク”における「ＬＯＣＫ状態」に対応する欄には“０”が設定されているが、これは、イグニッションスイッチが“ＬＯＣＫ”となっている場合には、Ｃタスクは起動されないことを意味している。
【００３０】
（４）車両状態−メッセージ周期対応テーブルについて
次に、車両状態−メッセージ周期対応テーブル５１７について説明する。
（４−１）走行状態−メッセージ周期対応テーブルについて
図５の（ａ）には、車両状態を自車両の速度や進行方向に関しての状態である走行状態とした場合の車両状態−メッセージ周期対応テーブルである走行状態−メッセージ周期対応テーブルを示す表が記載されている。この表における列は、リアルタイムＯＳ５１０により制御されるメッセージの名称を示す「メッセージ名」という項目と、自車両が時速５０ｋｍ／ｈ以上で走行している状態である「高速走行状態」という項目と、自車両が時速５０ｋｍ／ｈ未満で走行している状態である「低速走行状態」という項目と、自車両がバックしている状態である「バック状態」という項目と、自車両が停止している状態である「停止状態」という項目に、それぞれ対応付けられている。
【００３１】
そして、「メッセージ名」に対応する行を構成する各欄には、“Ａメッセージ”，“Ｂメッセージ”，“Ｃメッセージ”等、ＥＣＵ１００から送信されるメッセージの名称が設定されており、各メッセージに対応する列を構成する各欄には、対応する走行状態におけるメッセージの送信周期が設定されている。
【００３２】
具体的には、“Ａメッセージ”に対応する列を構成する各欄については、「高速走行状態」に対応する欄には“１０ｍｓ”が設定されており、高速走行状態である場合には、Ａメッセージは、１０ｍｓ周期で送信されることを示している。また、「低速走行状態」に対応する欄には“２０ｍｓ”が設定されており、低速走行状態である場合には、Ａメッセージは、２０ｍｓ周期で送信されることを示している。また、「バック状態」に対応する欄には“２０ｍｓ”が設定されており、バック状態である場合には、Ａメッセージは、２０ｍｓ周期で送信されることを示している。また、「停止状態」に対応する欄には“１００ｍｓ”が設定されており、停止状態である場合には、Ａメッセージは、１００ｍｓ周期で送信されることを示している。また、“Ｂメッセージ”に対応する列を構成する各欄については、「高速走行状態」に対応する欄には“１００ｍｓ”が、「低速走行状態」に対応する欄には“１００ｍｓ”が、「バック状態」に対応する欄には“５０ｍｓ”が、「停止状態」に対応する欄には“１０ｍｓ”が、それぞれ設定されている。また、“Ｃメッセージ”に対応する列を構成する各欄については、「高速走行状態」に対応する欄には“１００ｍｓ”が、「低速走行状態」に対応する欄には“１００ｍｓ”が、「バック状態」に対応する欄には“１０ｍｓ”が、「停止状態」に対応する欄には“２０ｍｓ”が、それぞれ設定されている。
【００３３】
（４−２）イグニッションスイッチ状態−メッセージ周期対応テーブルについて
また、図５の（ｂ）には、車両状態を自車両のイグニッションスイッチの操作状態とした場合の車両状態−メッセージ周期対応テーブルであるイグニッションスイッチ状態−メッセージ周期対応テーブルを示す表が記載されている。この表における列は、リアルタイムＯＳ５１０により制御されるメッセージの名称を示す「メッセージ名」という項目と、イグニッションスイッチが“ＯＮ”或いは“ＳＴＡＲＴ”となっている状態である「ＩＧオン状態」という項目と、イグニッションスイッチが“ＡＣＣ”となっている状態である「ＡＣＣ状態」という項目と、イグニッションスイッチが“ＬＯＣＫ”となっている状態である「ＬＯＣＫ状態」という項目に、それぞれ対応付けられている。
【００３４】
そして、「メッセージ名」に対応する行を構成する各欄には、“Ａメッセージ”，“Ｂメッセージ”，“Ｃメッセージ”等、リアルタイムＯＳ５１０により制御されるメッセージの名称が設定されており、各メッセージに対応する列を構成する各欄には、対応する走行状態における送信周期が設定されている。
【００３５】
具体的には、“Ａメッセージ”に対応する列を構成する各欄については、「ＩＧオン状態」に対応する欄には“１０ｍｓ”が設定されており、イグニッションスイッチが“ＯＮ”或いは“ＳＴＡＲＴ”となっている場合には、Ａメッセージは、１０ｍｓ周期で送信されることを示している。また、「ＡＣＣ状態」に対応する欄には“２０ｍｓ”が設定されており、イグニッションスイッチが“ＡＣＣ”となっている場合には、Ａメッセージは、２０ｍｓ周期で送信されることを示している。また、「ＬＯＣＫ状態」に対応する欄には“２０ｍｓ”が設定されており、イグニッションスイッチが“ＬＯＣＫ”となっている場合には、Ａメッセージは、２０ｍｓ周期で送信されることを示している。また、“Ｂメッセージ”に対応する列を構成する各欄については、「ＩＧオン状態」に対応する欄には“１００ｍｓ”が、「ＡＣＣ状態」に対応する欄には“１５０ｍｓ”が、「ＬＯＣＫ状態」に対応する欄には“１００ｍｓ”が、それぞれ設定されている。また、“Ｃメッセージ”に対応する列を構成する各欄については、「ＩＧオン状態」に対応する欄には“１００ｍｓ”が、「ＡＣＣ状態」に対応する欄には“１００ｍｓ”が、「ＬＯＣＫ状態」に対応する欄には“０”が、それぞれ設定されている。
【００３６】
尚、“Ｃメッセージ”における「ＬＯＣＫ状態」に対応する欄には“０”が設定されているが、これは、イグニッションスイッチが“ＬＯＣＫ”となっている場合には、Ｃメッセージは送信されないことを意味している。
【００３７】
［動作の説明］
次に、ＥＣＵ１００にて実行される処理について説明する。
（１）車両状態更新通知処理について
まず、ＥＣＵ１００に搭載されている制御プログラム５００における車両状態検知アプリケーション５２０にて実行される処理である車両状態更新通知処理について、図６に記載のフローチャートを用いて説明する。本処理は、車両状態検知アプリケーション５２０からタスク周期制御部５１３及びメッセージ周期制御部５１６に対し、車両状態の変化を通知するための処理である。また、本処理は、リアルタイムＯＳ５１０における車両状態制御部５１１からＡＰＩ関数として提供される処理であり、車両状態検知アプリケーション５２０にて車両状態が検知される度に、車両状態検知アプリケーション５２０からコールされる処理である。
【００３８】
Ｓ６０５では、ＥＣＵ１００のマイコン１１０におけるＣＰＵ１１１は、車両状態ＲＡＭ５１２を参照し、新たに検知した車両状態と車両状態ＲＡＭ５１２に設定されている車両状態とを比較することにより、車両状態が変化したかどうかを判定する（Ｓ６１０）。そして、車両状態が変化した場合には（Ｓ６１０：Ｙｅｓ）、Ｓ６１５に処理を移行し、車両状態が変化していない場合には（Ｓ６１０：Ｎｏ）、本処理を終了する。
【００３９】
Ｓ６１５では、ＣＰＵ１１１は、新たに検知した車両状態を車両状態ＲＡＭ５１２に設定する。そして、タスク周期制御部への車両状態更新通知処理を実行し（Ｓ６２０）、さらに、メッセージ周期制御部への車両状態更新通知処理を実行する（Ｓ６２５）。そして、ＣＰＵ１１１は、本処理を終了する。
【００４０】
（２）タスク周期制御部への車両状態更新通知処理について
次に、タスク周期制御部５１３に対し車両状態の変化を通知するための処理であるタスク周期制御部への車両状態更新通知処理について、図７に記載のフローチャートを用いて説明する。本処理は、タスク周期制御部５１３の一部としての処理であり、車両状態更新通知処理にてサブルーチンとしてコールされる処理である。
【００４１】
Ｓ７０５では、ＥＣＵ１００のマイコン１１０におけるＣＰＵ１１１は、車両状態ＲＡＭ５１２を参照して現在の車両状態を特定すると共に車両状態−タスク周期対応テーブル５１４を参照し、現在の車両状態に対応する各タスクの起動周期を特定する（Ｓ７１０）。
【００４２】
続いてＳ７１５では、ＣＰＵ１１１は、タスク周期として“０”が設定されているタスクの有無を判定する。そして、“０”が設定されているタスクが無い場合（Ｓ７１５：Ｎｏ）、ＣＰＵ１１１はＳ７２０に処理を移行し、“０”が設定されているタスクが有る場合（Ｓ７１５：Ｙｅｓ）、ＣＰＵ１１１はＳ７２５に処理を移行する。
【００４３】
Ｓ７２０では、ＣＰＵ１１１は、スケジューラ部５１５に対し、各タスクの起動周期をＳ７１０にて新たに特定した起動周期とする要求を行い、本処理を終了する。
また、Ｓ７２５では、ＣＰＵ１１１は、スケジューラ部５１５に対し、“０”が設定されているタスクの動作を停止させる要求を行うと共に、さらに、“０”が設定されているタスクを除いた他のタスクの起動周期を、Ｓ７１０にて新たに特定した起動周期とする要求を行う。そして、本処理を終了する。
【００４４】
（３）メッセージ周期制御部への車両状態更新通知処理について
次に、メッセージ周期制御部５１６に対し車両状態の変化を通知するための処理であるメッセージ周期制御部への車両状態更新通知処理について、図８に記載のフローチャートを用いて説明する。本処理は、メッセージ周期制御部５１６の一部としての処理であり、車両状態更新通知処理にてサブルーチンとしてコールされる処理である。
【００４５】
Ｓ８０５では、ＥＣＵ１００のマイコン１１０におけるＣＰＵ１１１は、車両状態ＲＡＭ５１２を参照して現在の車両状態を特定すると共に車両状態−メッセージ周期対応テーブル５１７を参照し、現在の車両状態に対応する各メッセージの送信周期を特定する（Ｓ８１０）。
【００４６】
続いてＳ８１５では、ＣＰＵ１１１は、メッセージ周期として“０”が設定されているメッセージの有無を判定する。そして、“０”が設定されているメッセージが無い場合（Ｓ８１５：Ｎｏ）、ＣＰＵ１１１はＳ８２０に処理を移行し、“０”が設定されているメッセージが有る場合（Ｓ８１５：Ｙｅｓ）、ＣＰＵ１１１はＳ８２５に処理を移行する。
【００４７】
Ｓ８２０では、ＣＰＵ１１１は、通信管理部５１８に対し、各メッセージの送信周期をＳ８１０にて新たに特定した送信周期とする要求を行い、本処理を終了する。
また、Ｓ８２５では、ＣＰＵ１１１は、通信管理部５１８に対し、“０”が設定されているメッセージの動作を停止させる要求を行うと共に、さらに、“０”が設定されているメッセージを除いた他のメッセージの送信周期を、Ｓ８１０にて新たに特定した送信周期とする要求を行う。そして、本処理を終了する。
【００４８】
［効果］
本実施形態のＥＣＵ１００では、走行状態やイグニッションスイッチの操作状態といった車両状態に応じて、タスクの起動周期やメッセージの送信周期が設定される。このため、最大のパフォーマンスの実現が不要となる場合には、タスクの起動周期やメッセージの送信周期を長くし、タスクが起動される頻度やメッセージの送信頻度を低下させることができる。また、車両状態に応じたパフォーマンスを実現可能となるよう、タスクが起動される頻度やメッセージの送信頻度を設定することができる。したがって、必要以上の頻度でタスクが起動されてしまうことや、メッセージが送信されてしまうことを防ぐことができ、マイコン１１０やＣＡＮ４００等のリソースが浪費されてしまうことを防ぐことができる。
【００４９】
また、車両の状態として走行状態やイグニッションスイッチの操作状態を用いることにより、最大のパフォーマンスの実現が不要となるかどうかを適切に判定することが可能となり、リソースの浪費を効果的に防ぐことが可能となる。
【００５０】
［他の実施形態］
（１）本実施形態では、車両状態に応じて、リアルタイムＯＳ５１０における通信管理部５１８にて送信されるメッセージの送信周期が変更される。しかし、例えば、車両状態に応じて、リアルタイムＯＳ５１０により制御されるいずれかのタスクにより送信されるメッセージの送信周期を変更しても良い。このような構成を有する場合であっても、同様の効果を得ることができる。
【００５１】
（２）本実施形態では、自車両の走行状態とイグニッションスイッチの操作状態とを車両状態の例として挙げたが、この他にも、車両状態としては様々なものが考えられる。具体的には、例えば、エアコンの使用状態であっても良いし、ライトの点灯状態であっても良いし、自車両に乗車している人数や年齢等の状態であっても良い。また、仮に、ＥＣＵ１００がハイブリッド車両に搭載されている場合であれば、イグニッションスイッチの操作状態に替えて、スタータスイッチの操作状態を車両状態としても良い。車両状態としてこのような状態を用いた場合であっても、同様の効果を得ることができる。
【００５２】
（３）本実施形態におけるＥＣＵ１００に搭載されている制御プログラム５００はリアルタイムＯＳ５１０を有しており、このリアルタイムＯＳ５１０により制御されるタスクの起動周期を車両状態に応じて変更するという構成を有している。しかしながら、制御プログラム５００は、リアルタイム性を有していないＯＳを有し、このＯＳにより制御されるタスクの起動周期を車両状態に応じて変更するという構成を有していても良い。このような構成を有する場合であっても、同様の効果を得ることができる。
【００５３】
［特許請求の範囲との対応］
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
【００５４】
ＥＣＵ１００が車載装置に相当し、マイコン１１０が、特定手段，起動周期変更手段，送信周期変更手段にそれぞれ相当する。
【符号の説明】
【００５５】
１００…ＥＣＵ、１１０…マイコン、１１１…ＣＰＵ、１１２…ＲＡＭ、１１３…ＲＯＭ、１１４…通信コントローラ、１２０…電源回路、１３０…入出力回路、１４０…通信トランシーバ、１５０…各種センサ・スイッチ、１６０…アクチュエータ、２００…ＥＣＵ、３００…ＥＣＵ、４００…ＣＡＮ、５００…制御プログラム、５１０…リアルタイムＯＳ、５１１…車両状態制御部、５１２…車両状態ＲＡＭ、５１３…タスク周期制御部、５１４…車両状態−タスク周期対応テーブル、５１５…スケジューラ部、５１６…メッセージ周期制御部、５１７…車両状態−メッセージ周期対応テーブル、５１８…通信管理部、５２０…車両状態検知アプリケーション。
【図１】
2010262444.tif 000003
【図２】
2010262444.tif 000004
【図３】
2010262444.tif 000005
【図４】
2010262444.tif 000006
【図５】
2010262444.tif 000007
【図６】
2010262444.tif 000008
【図７】
2010262444.tif 000009
【図８】
2010262444.tif 000010