(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018633
(43)【公開日】2024-02-08
(54)【発明の名称】車両制御システム
(51)【国際特許分類】
H04L 12/28 20060101AFI20240201BHJP
B60R 16/02 20060101ALI20240201BHJP
【FI】
H04L12/28 200Z
H04L12/28 100A
B60R16/02 660H
B60R16/02 660M
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022122075
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(71)【出願人】
【識別番号】000005348
【氏名又は名称】株式会社SUBARU
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】000006286
【氏名又は名称】三菱自動車工業株式会社
(71)【出願人】
【識別番号】000002082
【氏名又は名称】スズキ株式会社
(71)【出願人】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(71)【出願人】
【識別番号】000005463
【氏名又は名称】日野自動車株式会社
(71)【出願人】
【識別番号】000000170
【氏名又は名称】いすゞ自動車株式会社
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】藤江 紀彰
(72)【発明者】
【氏名】松本 孝
(72)【発明者】
【氏名】茂刈 武志
(72)【発明者】
【氏名】高橋 寿治
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA05
5K033BA06
5K033BA08
5K033DA01
5K033DB25
5K033EB04
(57)【要約】
【課題】スレーブノードの状態に応じてフェールセーフ処理を行う。
【解決手段】スレーブノード7は、電源電圧が第1閾値を下回らない場合に、電圧正常状態であることをマスタノード2に通知する。スレーブノード7は、電源電圧が第1閾値を下回るが第2閾値を下回らない場合に、電圧低下状態であることをマスタノード2に通知する。スレーブノード7は、電源電圧が第2閾値を下回る場合に、マスタノード2との通信が不能となる。マスタノード2は、スレーブノード7の状態の通知およびスレーブノード7との通信の可否とに基づいて、車載デバイス60を安全に制御するためのフェールセーフ処理を行うことをスレーブノード7に指示する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
車両に搭載された車載デバイスを制御する車両制御システムであって、
前記車載デバイスと前記車両に搭載された電源とに接続され、前記電源から供給される電源電圧に基づいて操作信号を生成し、前記操作信号を前記車載デバイスに出力するスレーブノードと、
通信ネットワークを経由して前記スレーブノードと通信を行うことで、前記スレーブノードを制御するマスタノードとを備え、
前記スレーブノードは、
該スレーブノードに供給される前記電源電圧が第1閾値を下回らない場合に、該スレーブノードが電圧正常状態であることを前記マスタノードに通知し、
該スレーブノードに供給される前記電源電圧が第1閾値を下回るが前記第1閾値よりも低い第2閾値を下回らない場合に、該スレーブノードが電圧低下状態であることを前記マスタノードに通知し、
該スレーブノードに供給される前記電源電圧が前記第2閾値を下回る場合に、前記マスタノードとの通信が不能となるように構成され、
前記マスタノードは、前記スレーブノードの状態の通知および前記スレーブノードとの通信の可否とに基づいて、前記車載デバイスを安全に制御するためのフェールセーフ処理を行うことを前記スレーブノードに指示する
車両制御システム。
【請求項2】
請求項1の車両制御システムにおいて、
前記スレーブノードは、
コンフィグを変更可能に構成され、
前記マスタノードから送信されたコンフィグデータにより、該スレーブノードのコンフィグが所定の機能を有するコンフィグに設定され、
該スレーブノードに供給される前記電源電圧が前記第2閾値を下回ると、該スレーブノードのコンフィグを未設定の状態にリセットする
車両制御システム。
【請求項3】
請求項2の車両制御システムにおいて、
前記スレーブノードは、該スレーブノードに供給される前記電源電圧が前記第2閾値を下回らない状態に復帰すると、該スレーブノードのコンフィグが未設定であることを前記マスタノードに通知し、
前記マスタノードは、前記スレーブノードのコンフィグが未設定であることが通知されると、前記コンフィグデータを前記スレーブノードに送信する
車両制御システム。
【請求項4】
請求項3の車両制御システムにおいて、
前記スレーブノードは、前記マスタノードから送信されたコンフィグデータにより該スレーブノードのコンフィグの設定が完了すると、該スレーブノードのコンフィグの設定が完了したことを前記マスタノードに通知する
車両制御システム。
【請求項5】
請求項1の車両制御システムにおいて、
前記マスタノードは、前記フェールセーフ処理を行うことを前記スレーブノードに指示する場合に、前記スレーブノードの故障の有無を診断するための故障診断処理、および、前記車両に搭載されたインジケータを点灯させるためのインジケータ点灯処理の少なくとも一方を行う
車両制御システム。
【請求項6】
請求項1~5のいずれか1つの車両制御システムにおいて、
前記スレーブノードは、前記車載デバイスに出力される操作信号の電圧値を検出し、前記操作信号の電圧値を示す電圧情報を前記マスタノードに送信し、
前記マスタノードは、前記スレーブノードから送信された電圧情報に示された電圧値が異常である場合に、前記フェールセーフ処理を行うことを前記スレーブノードに指示する
車両制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示する技術は、車両制御システムに関する。
【背景技術】
【0002】
車両に搭載された車載デバイスを制御する車両制御システムとして、マスタスレーブ方式を採用したものがある。例えば、特許文献1には、マスタスレーブ方式の車室照明システムが開示されている。この車室照明システムでは、複数のスレーブECUの各々は、車両に搭載されるマスタECUと多重通信を行い、マスタECUの指示に従って光源を制御する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような車両制御システムでは、スレーブノードの電圧低下時においても車載デバイスを安全に制御することができるように、スレーブノードの状態に応じてフェールセーフ処理を行うことが求められる。しかしながら、特許文献1では、スレーブノードの状態に応じてフェールセーフ処理を行うことについては、開示も示唆もない。
【0005】
ここに開示する技術は、かかる点に鑑みてなされたものであり、その目的とするところは、スレーブノードの状態に応じてフェールセーフ処理を行うことが可能な車両制御システムを提供することにある。
【課題を解決するための手段】
【0006】
ここに開示する技術は、車両に搭載された車載デバイスを制御する車両制御システムに関し、この車両制御システムは、
前記車載デバイスと前記車両に搭載された電源とに接続され、前記電源から供給される電源電圧に基づいて操作信号を生成し、前記操作信号を前記車載デバイスに出力するスレーブノードと、
通信ネットワークを経由して前記スレーブノードと通信を行うことで、前記スレーブノードを制御するマスタノードとを備え、
前記スレーブノードは、
該スレーブノードに供給される前記電源電圧が第1閾値を下回らない場合に、該スレーブノードが電圧正常状態であることを前記マスタノードに通知し、
該スレーブノードに供給される前記電源電圧が第1閾値を下回るが前記第1閾値よりも低い第2閾値を下回らない場合に、該スレーブノードが電圧低下状態であることを前記マスタノードに通知し、
該スレーブノードに供給される前記電源電圧が前記第2閾値を下回る場合に、前記マスタノードとの通信が不能となるように構成され、
前記マスタノードは、前記スレーブノードの状態の通知および前記スレーブノードとの通信の可否とに基づいて、前記車載デバイスを安全に制御するためのフェールセーフ処理を行うことを前記スレーブノードに指示する。
【0007】
前記の構成では、スレーブノードの状態の通知およびスレーブノードとの通信の可否とに基づいて、スレーブノードの状態を推定(認知)することができる。これにより、スレーブノードの状態に応じてフェールセーフ処理を行うことができる。
【0008】
なお、前記車両制御システムにおいて、
前記スレーブノードは、
コンフィグを変更可能に構成されてもよく、
前記マスタノードから送信されたコンフィグデータにより、該スレーブノードのコンフィグが所定の機能を有するコンフィグに設定されてもよく、
該スレーブノードに供給される前記電源電圧が前記第2閾値を下回ると、該スレーブノードのコンフィグを未設定の状態にリセットしてもよい。
【0009】
前記の構成では、マスタノードとスレーブノードとの通信が不能である場合に、スレーブノードのコンフィグを未設定の状態にすることで、スレーブノードから車載デバイスへの操作信号の出力を停止することができる。これにより、マスタノードとスレーブノードとの通信が不能である場合(スレーブノードにおいてフェールセーフ処理を行うことができない場合)に、車載デバイスを停止させることができる。
【0010】
また、前記車両制御システムにおいて、
前記スレーブノードは、該スレーブノードに供給される前記電源電圧が前記第2閾値を下回らない状態に復帰すると、該スレーブノードのコンフィグが未設定であることを前記マスタノードに通知してもよく、
前記マスタノードは、前記スレーブノードのコンフィグが未設定であることが通知されると、前記コンフィグデータを前記スレーブノードに送信してもよい。
【0011】
前記の構成では、スレーブノードに供給される電源電圧が前記第2閾値を下回らない状態に復帰すると、マスタノードから送信されたコンフィグデータにより、スレーブノードのコンフィグを、所定の機能を有するコンフィグに設定することができる。これにより、マスタノードとスレーブノードとの通信を可能にすることができる。
【0012】
また、前記車両制御システムにおいて、
前記スレーブノードは、前記マスタノードから送信されたコンフィグデータにより該スレーブノードのコンフィグの設定が完了すると、該スレーブノードのコンフィグの設定が完了したことを前記マスタノードに通知してもよい。
【0013】
前記の構成では、スレーブノードのコンフィグの設定が完了したことがマスタノードに通知されることで、マスタノードは、スレーブノードとの通信が可能となったことを確認することができる。これにより、マスタノードとスレーブノードとの通信を再開することができる。
【0014】
また、前記車両制御システムにおいて、
前記マスタノードは、前記フェールセーフ処理を行うことを前記スレーブノードに指示する場合に、前記スレーブノードの故障の有無を診断するための故障診断処理、および、前記車両に搭載されたインジケータを点灯させるためのインジケータ点灯処理の少なくとも一方を行ってもよい。
【0015】
前記の構成では、故障診断処理を行うことにより、スレーブノードが故障しているか否かを診断することができる。また、インジケータ点灯処理を行うことにより、スレーブノードに供給される電源電圧が低下していることを車両のユーザに通知することができる。
【0016】
また、車両制御システムにおいて、
前記スレーブノードは、前記車載デバイスに出力される操作信号の電圧値を検出し、前記操作信号の電圧値を示す電圧情報を前記マスタノードに送信してもよく、
前記マスタノードは、前記スレーブノードから送信された電圧情報に示された電圧値が異常である場合に、前記フェールセーフ処理を行うことを前記スレーブノードに指示してもよい。
【0017】
前記の構成では、車載デバイスに出力される操作信号の電圧値が異常である場合に、フェールセーフ処理をスレーブノードに行わせることができる。これにより、車載デバイスを安全に制御することができる。
【発明の効果】
【0018】
ここに開示する技術によれば、スレーブノードの状態に応じてフェールセーフ処理を行うことができる。
【図面の簡単な説明】
【0019】
【
図1】車両制御システムの構成例を示すブロック図である。
【
図2】マスタノードとスレーブノードの機能分配の一例を示す概念図である。
【
図3】マスタノードの構成例を示すブロック図である。
【
図4】スレーブノードの構成例を示すブロック図である。
【
図5】ドライバ群の構成例を示す回路ブロック図である。
【
図6】車両制御システムの要部の構成例を示すブロック図である。
【
図7】スレーブノードの状態の遷移を示す状態遷移図である。
【
図8】第1状態遷移処理について説明するためのフローチャートである。
【
図9】第2状態遷移処理について説明するためのフローチャートである。
【
図10】第3状態遷移処理について説明するためのフローチャートである。
【
図11】第4状態遷移処理について説明するためのフローチャートである。
【
図12】フェールセーフ処理の例について説明するための図である。
【
図13】実施形態の変形例2の車両制御システムの要部の構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して実施の形態を詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
【0021】
なお、本開示において、「システム」「ユニット」「モジュール」「ノード」という用語が示す構成の一部または全部は、特定用途向け集積回路(Application specific integrated circuit:ASIC)またはプログラマブルロジックアレイ(Programmable logic array:PLA)などの専用回路により実現され得る。また、上記の一部または全部は、コンピュータで読み取り可能な命令(例えばプログラム)を実行して、所定の処理ステップを実行することにより特定の機能を実行させるプロセッサ回路により実現され得る。
【0022】
また、以下の説明において、「車載デバイス」は、車両に搭載されたデバイスのことである。車載デバイスは、センサおよび操作対象となる部品(例えばモータやLEDなど)の少なくとも一方を有する。
【0023】
(実施形態)
図1は、実施形態の車両制御システムの構成の一例を示す。
図1に示すように、車両制御システム1は、車両CAに搭載されており、マスタノード2と複数のスレーブユニットとが車載の通信ネットワークを介して接続された構成となっている。
【0024】
図1の例では、複数のスレーブユニットとして、コンビスイッチユニット4、左右のサイドミラーユニット5、ステアリングスイッチユニット6、クラスタースイッチユニット31、オーバーヘッドコンソールユニット32、左右のシートヒータユニット33、および、左右のドアラッチユニット34が例示されている。各スレーブユニットには、それぞれに共通の構成を有するスレーブノード7(
図4参照)が搭載されている。なお、説明の便宜上、サイドミラーユニット5、ドアラッチユニット34、シートヒータユニット33は、それぞれ左右で共通の符号を付している。
【0025】
マスタノード2と複数のスレーブユニット(この例では、コンビスイッチユニット4、ステアリングスイッチユニット6、クラスタースイッチユニット31、右のサイドミラーユニット5、右のシートヒータユニット33、右のドアラッチユニット34)の各々に設けられたスレーブノード7は、通信回線B1でバス接続されている。また、マスタノード2と他の複数のスレーブユニット(この例では、オーバーヘッドコンソールユニット32、左のサイドミラーユニット5、左のシートヒータユニット33および左のドアラッチユニット34)の各々に設けられたスレーブノード7は、通信回線B2でバス接続されている。以下の説明では、通信回線B1,B2を総称して「通信回線B」と記載する。通信回線Bは、通信ネットワークを構成する。
【0026】
通信回線Bは、例えば、CXPI(Clock Extension Peripheral Interface)に準拠した通信回線である。CXPIはイベント型の通信プロトコルの一例である。なお、通信方式は、CXPIに限定されず、他の通信方式(有線方式、無線方式を問わない)であってもよい。また、通信ネットワークに使用される通信回線の本数は、特に限定されない。また、通信回線の途中に、通信中継用のHUB(図示省略)やECU(図示省略)などが設けられてもよい。
【0027】
〔マスタノードとスレーブノードの機能分配〕
図2は、車両CAの行動に対するマスタノード2とスレーブノード7の機能分配の一例を示す概念図である。
図2では、車両CAの動作工程を、「認知工程Iz」と「判断工程Pz」と「操作工程Oz」とに分け、それぞれの工程を細分化している。そして、マスタノード2に分配された機能20を破線で囲み、スレーブノード7に分配された機能30を実線で囲んでいる。
【0028】
以下では、認知工程Izと判断工程Pzと操作工程Ozの各々において実行される処理について、晴天から雨天への天気の変化(以下では単に「天気の変化」と記載)が起こった場合の例を交えて説明する。
【0029】
〔認知工程〕
認知工程Izでは、車載デバイスに搭載されたセンサの出力信号に基づいて、センサにより取得された情報を認知する。なお、本開示において、「センサ」という用語は、温度,電圧,電流などの各種の物理量の測定・検知をするセンサに加えて、各種の操作を受け付けるスイッチ、車内外を撮像するカメラ、車外の物標等を認識するレーダ、機械電気変換信号を出力するデバイスなどを含む概念で用いられる。センサは、車両の挙動情報、乗員の操作情報、乗員の状態情報、外部環境情報、アクチュエータを流れる電流の情報、アクチュエータに印加される電圧の情報、故障状態情報などを取得する。以下では、これらを総称して「検知情報」と記載する。
【0030】
認知工程Izは、スレーブノード7において実行される工程Iz2,Iz3と、マスタノード2において実行される工程Iz4,Iz5を含む。なお、以下では、車載デバイスがスレーブノード7内に実装されている例について説明するが、車載デバイスは、スレーブノード7の外部に設けられてもよい。
【0031】
まず、工程Iz1において、車載デバイスに搭載されたセンサにおいて何らかの検知情報が検知される。前述の「天気の変化」の例では、センサとしての雨滴センサおよび受光センサ(図示省略)において検知情報(例えば、雨滴の付着、受光量の変化など)が検知される。
【0032】
次の工程Iz2において、スレーブノード7は、後述するポートPを介してセンサの出力を受ける。上記のセンサの出力には、例えば、センサの検知信号、センサで検出される電流,電圧,温度などの物理量、機械電気変換信号などが含まれる。
【0033】
次の工程Iz3において、スレーブノード7は、センサ出力に対してシグナル化処理およびデータ化処理を行い、これらの処理により得られた信号を検知信号としてマスタノード2に送信する。スレーブノード7からマスタノード2に送信される検知信号は、CXPIに準拠した信号である。
【0034】
なお、シグナル化処理は、例えば、センサから出力された情報を「優位な情報」と「無意な情報」とに分け、有意な情報のみを取り出す処理である。シグナル化処理の例としては、チャタリングフィルタなどのフィルタリング処理が挙げられる。データ化処理は、例えば、離散化された情報を連続処理に適した情報に加工する処理である。データ化処理の例としては、後段の情報化処理においてPID制御などの連続処理を行う場合に、離散データに対して移動平均処理を行うことで連続信号を得るという処理が挙げられる。
【0035】
すなわち、スレーブノード7は、工程Iz2,Iz3において、入力情報(検知情報)の具体的内容についての認知および判断を行わずに、センサの出力を所定の信号形式に変換し、検知信号としてマスタノード2に送信する。
【0036】
次の工程Iz4において、マスタノード2は、スレーブノード7から送信された検知信号を受信する。次の工程Iz5(情報化処理)において、マスタノード2は、その検知信号の経時変化と後述する接続データとに基づいて、センサからスレーブノード7に入力された検知情報の具体的な内容を認知する。前述の「天気の変化」の例では、情報化処理により、例えば、「フロントガラスを透過する光度が所定値未満になって車外が暗くなっており、且つ、雨が降ってきた」という認知情報が得られる。なお、以下では、認知工程で認知された情報を「認知情報」と記載する。
【0037】
〔判断工程〕
判断工程Pzでは、認知工程Izにおいて認知された認知情報に基づいて車両CAの行動や対応を決定する。判断工程Pzの構成要素である工程Pz1~Pz4は、マスタノード2において実行される。
【0038】
具体的には、工程Pz1において、マスタノード2は、認知工程Izにおいて認知された認知情報に基づいて、車両CAの行動の目的を決定する。前述の「天気の変化」の例では、例えば「車外環境が暗くなりかつ雨が降ってきた場合に対応したふるまいをする」という目的が決定される。
【0039】
次の工程Pz2において、マスタノード2は、工程Pz1において決定された目的を達成するための行動計画を設定する。なお、このとき、代替手段を含めた行動計画が列挙される。例えば、行動計画をリスト化した行動リストが生成される。前述の「天気の変化」の例では、「車外環境が暗くかつ降雨時のふるまい」に対応した行動計画の中に、「ワイパを作動する」、「車両CAのオートライト機能をオンにする」、「車両CAの上限速度を制限する」といった行動計画が含まれる。
【0040】
次の工程Pz3において、マスタノード2は、行動計画において列挙された行動の中で実際に実行に移す行動を決定する。例えば、マスタノード2は、行動リストの中から実際に実行させる行動を選択する。前述の「天気の変化」の例では、例えば、「ワイパを作動する」および「車両のオートライト機能をオンにする」という行動が、実行対象の行動として選択される。
【0041】
次の工程Pz4において、マスタノード2は、工程Pz3において決定された行動を実現するための手段(対応手段)を選択する。前述の「天気の変化」の例では、例えば、「ワイパを作動する」および「車両のオートライト機能をオンにする」という行動に対して、ワイパユニット(図示省略)と、ヘッドライトユニット(図示省略)と、テールライトユニット(図示省略)とが選択される。
【0042】
〔操作工程〕
操作工程Ozは、マスタノード2において実行される工程Oz1,Oz2と、スレーブノード7において実行される工程Oz3~Oz5を含む。
【0043】
まず、工程Oz1において、マスタノード2は、判断工程Pzにおいて決定された行動や対応を実現するための操作対象およびその操作量を決定する。ここで、操作対象は、行動や対応を実現するために操作する対象物を広く含むものとし、例えば、照明デバイスとアクチュエータを含む。照明デバイスは、前照灯、インジケータ、ターンランプ等に用いられる各種LEDや電球などを含む。アクチュエータは、ワイパ、ミラー駆動用のモータといったボディ系デバイスと、エンジン、ブレーキなどに用いられる動力系デバイスとを含む。
【0044】
前述の「天気の変化」の例では、例えば、ワイパユニットの操作内容として、フロントガラス用のワイパをオンすることと、そのワイパの操作スピードおよび操作間隔とが決定される。また、ヘッドライトユニットおよびテールライトユニットの操作内容として、ヘッドライトおよびテールライトを点灯させることと、その照度とが決定される。
【0045】
次の工程Oz2において、マスタノード2は、(1)操作対象が接続されたポートP(以下では「操作ポートP」と記載)を接続データに基づいて特定し、(2)操作ポートPの出力内容を命令する命令コードを生成し、(3)その命令コードが含まれた操作命令信号を操作ポートPが設けられたスレーブノードに送信する処理を実行する。前述の「天気の変化」の例では、例えば、マスタノード2は、ワイパが接続された操作ポートPの出力内容を命令する命令コード(操作命令信号)をワイパユニット(図示省略)に送信し、ヘッドライトが接続された操作ポートPの出力内容を示す命令コードをヘッドライトユニット(図示省略)に送信し、テールライトが接続された操作ポートPの出力内容を示す命令コードをテールライトユニット(図示省略)に送信する。なお、マスタノード2からスレーブノード7に送信される操作命令信号は、CXPIに準拠した信号である。
【0046】
各スレーブノード7では、マスタノード2から送信された命令コードを受信し、その命令コードに基づく操作ポートPから命令コードに基づく操作信号を出力する。
【0047】
具体的には、スレーブノード7は、命令コードのプロトコル変換および/または指定されたレジスタの参照などを経て、命令コードに基づいて操作ポートPから出力する信号を生成する(工程Oz3)。そして、命令コードで指定された操作ポートPから車載デバイス(具体的には車載デバイスに含まれる操作対象となるデバイス)に対して操作信号を出力する(工程Oz4)。これにより、(1)ワイパユニットではワイパが駆動され、(2)ヘッドライトユニットではヘッドライトが点灯され、(3)テールライトユニットではテールライトが点灯される。
【0048】
次に、
図3および
図4を参照して、マスタノード2およびスレーブユニットの構成について詳細に説明する。
【0049】
〔マスタノード〕
図3は、マスタノード2の構成の一例を示す。
図3に示すように、マスタノード2は、通信モジュール21と、認知モジュール22と、判断モジュール23と、操作モジュール24と、メモリ25とを備える。
【0050】
マスタノード2は、例えば、1つまたは複数の電子制御ユニット(ECU)により構成される。電子制御ユニットは、単一のIC(Integrated Circuit)を用いて構成されてもよいし、複数のICを用いて構成されてもよい。また、IC内には、単一のコアまたはダイが設けられてもよいし、連携する複数のコアまたはダイが設けられてもよい。
【0051】
通信モジュール21は、通信回線Bを介して各スレーブノード7からの信号を受信したり、各スレーブノード7に信号を送信したりする機能を有する。
【0052】
メモリ25は、それぞれのスレーブノード7に対応するコンフィグデータ(以下では「マスタコンフィグデータ」と記載)が格納されている。
【0053】
マスタコンフィグデータは、それぞれのスレーブノード7に設定される初期コンフィグデータと、接続データとを含む。言い換えると、マスタノード2は、それぞれのスレーブノード7に設定されている初期コンフィグデータを保有している。接続データは、スレーブノード7の各ポートPと車載デバイスのデバイスポートとの接続関係を示すデータである。言い換えると、接続データは、スレーブノード7の各ポートPに、車載デバイスのどういった機能のデバイスポートが接続されているかを示すデータである。
【0054】
なお、メモリ25は、上記ECUを構成するICに内蔵された内部メモリであってもよく、上記ICに外付けされた外付けメモリであってもよい。また、メモリには、例えば、上記ICに搭載されたCPUを動作させるためのプログラムが記憶されてもよく、CPUでの処理結果などの情報が記憶されてもよい。
【0055】
認知モジュール22は、前述の認知工程Izのうちの工程Iz4,Iz5の認知処理を実行する。具体的には、認知モジュール22は、メモリに格納された接続データと、スレーブノードから受信される検出信号(例えば検出信号の経時変化)とに基づいて、車載デバイス(具体的には車載デバイスに含まれるセンサ)において取得された検知情報を認知する認知処理を実行する。なお、検出信号は、スレーブノード7のどのポートにおいてどのようなセンサ出力を入力したのかを示す。接続データは、スレーブノード7のどのポートにどの車載デバイスが接続されているのかを示す。
【0056】
この例では、認知モジュール22は、デコードモジュール221と、情報化モジュール222とを含む。デコードモジュール221は、スレーブノード7から受信した検知信号のデコード処理をする。情報化モジュール222は、前述の工程Iz5の情報化処理をする。
【0057】
判断モジュール23は、前述の判断工程Pz(具体的には工程Pz1~Pz4)の判断処理を実行する。具体的には、判断モジュール23は、認知モジュール22による認知処理において認知された認知情報に基づいて、車両CAの行動を決定する。
【0058】
この例では、判断モジュール23は、前述の工程Pz1を実行する目的決定モジュール231と、前述の工程Pz2を実行する行動計画モジュール232と、前述の工程Pz3を実行する行動決定モジュール233と、前述の工程Pz4を実行する対応決定モジュール234とを含む。
【0059】
操作モジュール24は、操作工程Ozのうちの工程Oz1,Oz2の処理を実行する。具体的には、操作モジュール24は、判断処理で決定された車両の行動に対応する車載デバイスを特定し、その特定された車載デバイス(具体的には車載デバイスに含まれる操作対象となるデバイス)の操作を命令する命令コードを生成して、その特定された車載デバイスが接続されたスレーブノード7に送信する。
【0060】
この例では、操作モジュール24は、前述の工程Oz1を実行する操作決定モジュール241と、前述の工程Oz2を実行する命令生成モジュール242とを含む。
【0061】
〔スレーブユニット〕
図4は、
図1に例示したスレーブユニットのうち、コンビスイッチユニットおよび右のサイドミラーユニット5(以下では「右サイドミラーユニット5」と記載)の構成例を示す。
【0062】
図4に示すように、コンビスイッチユニット4および右サイドミラーユニット5には、それぞれ、共通のスレーブノード7が設けられている。各スレーブノード7には、車載デバイスを接続するためのポートPが12個ずつ設けられている。
【0063】
この例において、コンビスイッチユニット4では、ポートP1~P4にワイパを操作するワイパスイッチ41、ポートP5~P9にライトを操作するライトスイッチ42、ポートP10,P11にターンライトを操作するターンスイッチ43がそれぞれ接続される。P12はリザーブ用のポートである。ワイパスイッチ41、ライトスイッチ42およびターンスイッチ43は、センサのみを含む車載デバイスの一例である。
【0064】
同様に、右サイドミラーユニット5では、ポートP1,P2にターンライト用のLED51(以下では「ターンLED51」と記載)、ポートP3~P6にインジケータ用のLED52、ポートP7~P12にミラー格納用のモータ53がそれぞれ接続される。ターンLED51、LED52、モータ53は、センサと操作対象となるデバイスとの両方を有する車載デバイスの一例である。
【0065】
〔スレーブノード〕
各スレーブノード7は、それぞれ、通信モジュール71と、レジスタ72と、セレクタ73と、ドライバ群74とを備える。
【0066】
通信モジュール71は、通信回線Bを介してマスタノード2の通信モジュール21と接続され、CXPIに準拠した双方向通信ができるように構成されている。通信モジュール71は、例えば、通信回線Bに接続される入出力回路、入出力回路から出力する信号を生成するエンコーダ、入出力回路から出力する信号を変換するデコーダなどを備える。なお、通信モジュール71の具体的な回路構成については、従前から知られている構成を適用できるので、ここではその詳細説明を省略する。
【0067】
ドライバ群74は、複数のポートPに1対1接続された複数のドライバユニット740(
図4では図示省略)を備える。例えば、スレーブノード7に12個のポートPが設けられている場合、ドライバ群74には、12個のドライバユニット740が設けられる。
【0068】
ドライバユニット740は、外部設定により入力ポートとして使用したり、出力ポートとして使用したりできるIO回路である。ドライバユニット740として、例えば、従来から知られている汎用入出力回路(GPIO : General Purpose Input/Output)を適用することができる。
【0069】
〔ドライバユニット〕
図5には、ドライバユニット740の構成例を示す。
図5に示すように、ドライバユニット740は、ポートPに接続された出力回路743と、出力レジスタ742の設定値に基づいて出力回路743を駆動するドライバ回路741とを備える。出力レジスタ742の設定値は、OUT端子から入力された設定信号により書き換えが可能になっている。
【0070】
ドライバユニット740は、ポートPへの入力を受ける入力回路745と、入力回路745に受けた入力を検出信号に変換するレシーバ回路746とを備える。レシーバ回路746は、ADコンバータ747と、比較器748とを備える。ADコンバータ747は、ポートPの属性がアナログ入力の場合に、ポートPの入力をアナログデジタル変換してAI端子から出力する。比較器748は、ポートPの属性がデジタル入力の場合に、ポートPの入力をデジタル信号としてDI端子から出力する。
【0071】
ドライバユニット740は、コンフィグ信号に基づいて、各構成要素の設定が変更できるようになっている。例えば、ドライバユニット740は、コンフィグ信号に基づいてレシーバ回路746のデジタルフィルタのフィルタ定数が変更できるようになっている。
【0072】
セレクタ73は、レジスタ72に記録された各ポートPの属性情報に基づいて、それぞれのドライバユニット740の端子(OUT端子、AI端子、DI端子)のうち、どの端子を有効にするのかを選択する機能を有する。
【0073】
AI端子が有効にされた場合、ポートPからアナログ入力信号が入力される。この場合、アナログ入力信号は、入力回路745およびADコンバータ747でデジタル信号に変換されてAI端子から出力され、セレクタ73を介してレジスタ72に書き込まれる。
【0074】
DI端子が有効にされた場合、ポートPからデジタル入力信号が入力される。この場合、デジタル入力信号は、入力回路745および比較器748を介してDI端子から出力され、セレクタ73を介してレジスタ72に書き込まれる。
【0075】
OUT端子が有効にされた場合、命令コードに基づく出力設定データが、ドライバ回路741の出力レジスタ742に反映される。ドライバ回路741は、出力回路743をドライブして、出力レジスタ742の出力設定データに基づく操作信号(デジタル信号、アナログ信号、または、PWM信号のいずれか)をポートPから出力させる。
【0076】
ここで、出力設定データは、例えば、マスタノード2から受信された命令コードに基づいて、セレクタ73内の論理回路(図示省略)を用いたり、レジスタ72の値を用いたりして生成される。言い換えると、命令コードに基づくポートPに接続されたドライバ回路741の出力レジスタ742に、命令コードに基づく出力設定がされる。そして、出力回路743は、その出力設定データに基づいて、ポートPを介して命令コードに基づく操作信号を出力する。命令コードは、例えば、操作対象が接続されたポートPの識別データと、その識別データに紐づけられた各ポートPの出力設定とを含むコードである。
【0077】
なお、セレクタの具体的な回路構成については、従来から知られている構成を用いることができるので、ここではその詳細説明を省略する。
【0078】
レジスタ72には、スレーブノード7毎に設定されたコンフィグデータ(以下では「スレーブコンフィグデータ」と記載)が格納される。コンフィグデータは、各ポートPの属性データを含む。
【0079】
スレーブコンフィグデータは、例えば、(1)各ポートPの属性データ、(2)属性が入力であるポートP(以下では単に「入力ポートP」と記載)のフィルタ定数、(3)入力ポートPへの入力信号に基づくWakeUp設定データ、(4)属性が出力であるポートP(以下では単に「出力ポートP」と記載)の出力設定データを含む。
【0080】
本開示では、スレーブコンフィグデータの初期設定情報のことを「初期コンフィグデータ」と記載する。初期コンフィグデータは、マスタノード2から所定のタイミング(例えば電源投入時)でスレーブノード7に送信するようにしてもよいし、予め各スレーブノード7に設定されていてもよい。
【0081】
〔車両制御システムの要部〕
次に、
図6を参照して、実施形態の車両制御システム1の要部について説明する。車両制御システム1は、車両に搭載された車載デバイス60を制御する。車両制御システム1は、スレーブノード7と、マスタノード2とを備える。
【0082】
スレーブノード7は、車載デバイス60と、車両に搭載された電源8とに接続される。例えば、車載デバイス60は、シートヒータである。電源8は、直流の電源電圧を供給する直流電源である。例えば、電源8は、車両に搭載されたバッテリである。なお、
図1および
図4では、電源8の図示を省略している。
【0083】
スレーブノード7は、電源8から供給される電源電圧に基づいて操作信号を生成し、操作信号を車載デバイス60(具体的には車載デバイス60に含まれる操作対象となるデバイス)に出力する。
【0084】
マスタノード2は、通信ネットワーク(この例では通信回線B)を経由してスレーブノードと通信を行うことで、スレーブノード7を制御する。
【0085】
〔スレーブノードの構成〕
図6に示すように、スレーブノード7は、スレーブIC75と、タイマ76と、電圧検出回路80とを有する。なお、
図4では、タイマ76および電圧検出回路80の図示を省略している。
【0086】
〈スレーブIC〉
スレーブIC75は、通信ネットワークを経由してマスタノード2と通信を行う。スレーブIC75は、スレーブノード7の各部を制御することでスレーブノード7の動作を制御する。この例では、スレーブIC75は、
図4に示した通信モジュール71と、レジスタ72と、セレクタ73と、ドライバ群74とを含む。スレーブIC75は、スレーブノード7に設けられるスレーブ制御部の一例である。
【0087】
スレーブIC75は、マスタノード2から送信された各種の指令に応答して動作する。また、スレーブIC75は、車載デバイス60(具体的には車載デバイス60に含まれるセンサ)から出力された情報およびスレーブノード7の各部において得られた情報を受ける。スレーブIC75は、各種の情報をマスタノード2に送信する。
【0088】
〈電圧検出回路〉
電圧検出回路80は、電源8からスレーブノード7に供給される電源電圧の電圧値を検出する。電圧検出回路80は、スレーブノード7に供給される電源電圧を検出する電圧検出部の一例である。
【0089】
〈タイマ〉
タイマ76は、時間を計測する。例えば、タイマ76は、水晶発振器などの一定の周波数で動作する発信器と、発信器からクロックをカウントするカウンタとを有する。タイマ76は、経過時間の計測などに利用される。
【0090】
〔スレーブノードの状態〕
次に、
図7を参照して、スレーブノード7の状態について説明する。スレーブノード7の状態には、「電圧正常状態」と「電圧低下状態」と「通信不能状態」とがある。
【0091】
〈電圧正常状態〉
電圧正常状態は、スレーブノード7に供給される電源電圧が正常である状態のことである。電圧正常状態において、スレーブノード7に供給される電源電圧VBは、第1閾値Vth1を下回らない。電圧正常状態では、スレーブノード7の動作が正常に行われ、マスタノード2とスレーブノード7との通信も正常に行われる。
【0092】
〈電圧低下状態〉
電圧低下状態は、スレーブノード7に供給される電源電圧が電圧正常状態よりも低下している状態のことである。電圧低下状態において、スレーブノード7に供給される電源電圧VBは、第1閾値Vth1を下回るが、第1閾値Vth1よりも低い第2閾値Vth2を下回らない。電圧低下状態では、スレーブノード7の動作が不安定となるが、マスタノード2とスレーブノード7との通信は可能である。
【0093】
〈通信不能状態〉
通信不能状態は、スレーブノード7に供給される電源電圧が電圧低下状態よりも低下していてマスタノード2とスレーブノード7との通信が不能となる状態のことである。通信不能状態において、スレーブノード7に供給される電源電圧VBは、第2閾値Vth2を下回る。
【0094】
〈状態の遷移〉
図7に示すように、スレーブノード7に供給される電源電圧VBが変化すると、スレーブノード7の状態が遷移し得る。例えば、スレーブノード7の状態が「電圧正常状態」である場合に、電源電圧VBが「第1閾値Vth1を下回るが第2閾値Vth2を下回らない状態」になると、スレーブノード7の状態が「電圧正常状態」から「電圧低下状態」に遷移する。
【0095】
〔スレーブノードのコンフィグ〕
スレーブノード7は、コンフィグを変更可能に構成される。具体的には、マスタノード2から送信されたコンフィグデータ(初期コンフィグデータ)により、スレーブノード7のコンフィグが所定の機能を有するコンフィグ(初期コンフィグ)に設定される。所定の機能の例としては、マスタノード2との通信を行うことができる機能、マスタノード2から送信された指令に応じた動作(例えば操作信号の生成)を行う機能、スレーブノード7の状態を確認することができる機能などが挙げられる。
【0096】
〔第1状態遷移処理〕
次に、
図8を参照して、車両制御システム1の第1状態遷移処理について説明する。第1状態遷移処理は、スレーブノード7に供給される電源電圧が「第1閾値を下回らない状態」から「第1閾値を下回るが第2閾値を下回らない状態」に変化した場合に行われる。
【0097】
まず、ステップS11において、スレーブノード7(詳しくはスレーブIC75)は、スレーブノード7に供給される電源電圧が「第1閾値を下回るが第2閾値を下回らない状態」になると、スレーブノード7が電圧低下状態であることを示す状態情報をマスタノード2に送信する。
【0098】
次に、ステップS12において、マスタノード2は、スレーブノード7から送信された状態情報を受信する。そして、マスタノード2は、ステップS12において受信された状態情報を参照し、スレーブノード7が電圧低下状態であることを確認する。
【0099】
次に、ステップS13において、マスタノード2は、スレーブノード7が「フェールセーフ処理を行うことが必要となるスレーブノード7」であるか否かを判定する。フェールセーフ処理を行うことが必要となるスレーブノード7である場合には、ステップS14の処理が行われ、そうでない場合には、処理を終了する。なお、フェールセーフ処理を行うことが必要となるスレーブノード7は、予め指定されている。マスタノード2は、どのスレーブノード7が「フェールセーフ処理を行うことが必要となるスレーブノード7」であるのかを記憶している。
【0100】
次に、ステップS14において、マスタノード2は、車載デバイス60を安全に制御するためのフェールセーフ処理を行うことを指示する指令(フェールセーフ指令)をスレーブノードに送信する。次に、ステップS15において、スレーブノード7は、マスタノード2から送信されたフェールセーフ指令を受信する。次に、ステップS16において、スレーブノード7は、フェールセーフ指令に応答してフェールセーフ処理を行う。フェールセーフ処理については、後で詳しく説明する。
【0101】
〔第2状態遷移処理〕
次に、
図9を参照して、車両制御システム1の第2状態遷移処理について説明する。第2状態遷移処理は、スレーブノード7に供給される電源電圧が「第1閾値を下回るが第2閾値を下回らない状態」から「第1閾値を下回らない状態」に変化した場合に行われる。
【0102】
まず、ステップS21において、スレーブノード7(詳しくはスレーブIC75)は、スレーブノード7に供給される電源電圧が「第1閾値を下回らない状態」になると、スレーブノード7が電圧正常状態であることを示す状態情報を、マスタノード2に通知する。
【0103】
次に、ステップS22において、マスタノード2は、スレーブノード7から送信された状態情報を受信する。そして、マスタノード2は、ステップS22において受信された状態情報を参照し、スレーブノード7が電圧正常状態であることを確認する。
【0104】
次に、ステップS23において、マスタノード2は、スレーブノード7が「フェールセーフ処理を実行中のスレーブノード7」であるか否かを判定する。フェールセーフ処理を実行中のスレーブノード7である場合には、ステップS24の処理が行われ、そうでない場合には、処理を終了する。なお、マスタノード2は、どのスレーブノード7が「フェールセーフ処理を実行中のスレーブノード7」であるのかを記憶している。
【0105】
次に、ステップS24において、マスタノード2は、フェールセーフ処理の終了を指示する指令(フェールセーフ解除指令)をスレーブノードに送信する。次に、ステップS25において、スレーブノード7は、マスタノード2から送信されたフェールセーフ解除指令を受信する。次に、ステップS26において、スレーブノード7は、フェールセーフ解除指令に応答してフェールセーフ処理を終了する。その後、スレーブノード7は、マスタノード2からの指令に応じた動作(例えば操作信号の生成)を行う。
【0106】
〔第3状態遷移処理〕
次に、
図10を参照して、車両制御システム1の第3状態遷移処理について説明する。第3状態遷移処理は、スレーブノード7に供給される電源電圧が「第1閾値を下回らない状態」または「第1閾値を下回るが第2閾値を下回らない状態」から「第2閾値を下回る状態」に変化した場合に行われる。
【0107】
まず、ステップS31において、スレーブノード7(詳しくはスレーブIC75)は、スレーブノード7に供給される電源電圧が「第2閾値を下回る状態」になると、スレーブノード7のコンフィグを未設定の状態にリセットする。これにより、スレーブノード7から車載デバイス60へ操作信号を出力することができない状態となる。また、スレーブノード7は、マスタノードとの通信が不能となる。
【0108】
次に、ステップS32において、マスタノード2は、スレーブノード7の状態を示す状態情報の送信を要求するするためのリクエストを、スレーブノード7に送信する。このリクエストの送信は、定期的に繰り返し行われている。
【0109】
スレーブノード7の状態が通信不能状態である場合、スレーブノード7は、マスタノード2から送信されたリクエストに応答することができず、状態情報をマスタノード2に送信することができない。なお、スレーブノード7の状態が電圧正常状態(または電圧低下状態)である場合、スレーブノード7は、マスタノード2から送信されたリクエストに応答して、スレーブノード7の状態が電圧正常状態(または電圧低下状態)であることを示す状態情報を、マスタノード2に送信する。
【0110】
次に、ステップS33において、マスタノード2は、ステップS32において送信されたリクエストに対してスレーブノード7が応答していないことを確認する。例えば、マスタノード2は、リクエストを送信した時点からの経過時間が予め定められた待ち時間に到達すると、スレーブノード7がリクエストに応答していないと判定する。そして、マスタノード2は、スレーブノード7の状態が通信不能状態であると推定(認知)する。
【0111】
なお、スレーブノード7の状態が通信不能状態である場合、スレーブノード7は、フェールセーフ指令に応答することができない。したがって、スレーブノード7の状態が通信不能状態である場合、マスタノード2は、フェールセーフ指令をスレーブノード7に送信しない。ただし、マスタノード2は、通信不能状態であると推定(認知)されたスレーブノード7に対して、リクエストの送信を定期的に継続する。
【0112】
〔第4状態遷移処理〕
次に、
図11を参照して、車両制御システム1の第4状態遷移処理について説明する。第4状態遷移処理は、スレーブノード7に供給される電源電圧が「第2閾値を下回る状態」から「第1閾値を下回らない状態」または「第1閾値を下回るが第2閾値を下回らない状態」に変化した場合に行われる。
【0113】
まず、ステップS41において、スレーブノード7(詳しくはスレーブIC75)は、スレーブノード7に供給される電源電圧が第2閾値を下回らない状態に復帰すると、スレーブノード7のコンフィグが未設定であることをマスタノード2に通知することができる状態となる。
【0114】
次に、ステップS42において、マスタノード2は、スレーブノード7の状態を示す状態情報の送信を要求するするためのリクエストを、スレーブノード7に送信する。このリクエストの送信は、定期的に繰り返し行われている。
【0115】
次に、ステップS43において、スレーブノード7は、マスタノード2から送信されたリクエストを受信する。そして、ステップS44において、スレーブノード7は、ステップS43において受信されたリクエストに応答して、スレーブノード7のコンフィグが未設定の状態であることを示す状態情報をマスタノード2に送信する。
【0116】
次に、ステップS45において、マスタノード2は、スレーブノード7から送信された状態情報を受信する。次に、ステップS46において、スレーブノード7は、ステップS45において受信された状態情報を参照し、スレーブノード7の状態が「スレーブノード7のコンフィグが未設定の状態」であることを確認する。そして、マスタノード2は、コンフィグデータ(初期コンフィグデータ)をスレーブノード7に送信する。
【0117】
次に、ステップS47において、スレーブノード7は、マスタノード2から送信されたコンフィグデータを受信する。次に、ステップS48において、スレーブノード7は、マスタノード2から送信されたコンフィグデータ(初期コンフィグデータ)を用いて、スレーブノード7のコンフィグを設定する。これにより、スレーブノード7のコンフィグは、所定の機能を有するコンフィグ(初期コンフィグ)に設定される。
【0118】
次に、ステップS49において、スレーブノード7は、スレーブノード7のコンフィグの設定が完了すると、スレーブノード7のコンフィグの設定が完了したことを示すコンフィグ完了情報をマスタノード2に送信する。
【0119】
次に、ステップS50において、マスタノード2は、スレーブノード7から送信されたコンフィグ完了情報を受信する。そして、ステップS51において、マスタノード2は、ステップS48において受信されたコンフィグ完了情報を参照し、スレーブノード7のコンフィグの設定が完了したことを確認する。
【0120】
なお、スレーブノード7からマスタノード2へのコンフィグ完了通知情報の送信後に、スレーブノード7に供給される電源電圧に応じて、第1状態遷移処理および第2状態遷移処理の一方が行われる。具体的には、スレーブノード7に供給される電源電圧が「第1閾値を下回るが第2閾値を下回らない状態」である場合に、第1状態遷移処理が行われ、スレーブノード7に供給される電源電圧が「第1閾値を下回らない状態」である場合に、第2状態遷移処理が行われる。
【0121】
〔フェールセーフ処理〕
フェールセーフ処理は、車載デバイスを安全に制御するための処理である。上述のとおり、スレーブノード7は、マスタノード2から送信されたフェールセーフ指令(フェールセーフ処理を行うことを指示する指令)に応答してフェールセーフ処理を行う。
【0122】
例えば、フェールセーフ指令には、マスタノード2により指定されたフェールセーフ処理の内容(フェールセーフ処理においてスレーブノード7がどのような動作を行うのか)を示すフェールセーフ情報が含まれる。スレーブノード7は、フェールセーフ情報に示された動作を行う。
【0123】
または、スレーブノード7は、それぞれが異なるフェールセーフ処理の内容を示す複数の処理パターンを記憶していてもよい。この場合、マスタノード2は、どのスレーブノード7にどのような処理パターンが記憶されているのかを記憶している。フェールセーフ指令には、マスタノード2により指定された処理パターン(スレーブノード7にどの処理パターンを行わせるのか)を示す処理パターン情報が含まれる。スレーブノード7は、処理パターン情報に示された処理パターンの動作を行う。
【0124】
なお、マスタノード2は、どのスレーブノード7が「フェールセーフ処理を行うことが必要となるスレーブノード7」であるのかを記憶している。さらに、マスタノード2は、フェールセーフ処理を行うことが必要となるスレーブノード7毎に、そのスレーブノード7において行われるべきフェールセーフ処理の内容を記憶している。
【0125】
また、マスタノード2は、どのスレーブノード7が「フェールセーフ処理を実行中のスレーブノード7」であるのかを記憶している。例えば、マスタノード2は、フェールセーフ指令をスレーブノード7に送信すると、そのスレーブノード7を「フェールセーフ処理を実行中のスレーブノード7」として記憶する。
【0126】
図12は、スレーブノード7において行われるフェールセーフ処理の一例を示す。
図12の例では、スレーブノード7が「通信不能状態」である場合の動作と、スレーブノード7が「通信不能状態」から「電圧正常状態」または「電圧低下状態」に復帰したがスレーブノード7のコンフィグが未設定の状態である場合の動作も、フェールセーフ処理の例に含まれている。
図12に示された用語の意味は、以下のとおりである。
【0127】
「電源供給方式」は、電源8からスレーブノード7への電源電圧の供給方式を示す。「Hot Start方式(常時給電)」は、電源8からスレーブノード7への電源電圧の供給が常時行われる方式を示す。「Cold Start方式(シーン別電源)」は、電源8からスレーブノード7への電源電圧の供給が停止することがある方式(例えばイグニッション電源)を示す。
【0128】
「電源」は、電源8からスレーブノード7への電源電圧の供給状態を示す。「喪失」および「OFF」は、電源8からスレーブノード7への電源電圧の供給が行われていない状態を示す。「通電」は、電源8からスレーブノード7への電源電圧の供給が行われている状態を示す。
【0129】
「初期コンフィグ」は、スレーブノード7において初期コンフィグの設定が完了しているか否かを示す。「未」は、スレーブノード7において初期コンフィグの設定が完了していない状態を示す。「完了」は、スレーブノード7において初期コンフィグの設定が完了している状態を示す。
【0130】
「通信バス」は、通信バス(通信ネットワーク)に対するスレーブノード7の状態を示す。「Sleep」は、スレーブノード7がスリープ状態(省電力状態)であることを示す。「Wakeup」は、スレーブノード7がスリープ状態ではないことを示す。
【0131】
「受信状態」は、マスタノード2からの通信に対するスレーブノード7の受信状態を示す。「未受領」は、スレーブノード7がマスタノード2からの指令を受信していない状態を示す。「通信エラー」は、未受領である状態の継続時間が予め定められたエラー時間を上回る状態を示す。「受領」は、スレーブノード7がマスタノード2からの指令を受信している状態を示す。
【0132】
「スレーブノード動作」は、上記の「電源供給方式」と「電源」と「初期コンフィグ」と「通信バス」と「受信状態」の組合せに対応するスレーブノード7の動作(フェールセーフ処理における動作)を示す。
【0133】
「all off」は、スレーブノード7から車載デバイス60への操作信号の出力を停止する(操作信号の信号レベルをオフ値であるゼロに維持する)ことを示す。「前回値保持」は、スレーブノード7から車載デバイス60への操作信号の信号レベルを前回値に保持することを示す。「マスタノード指示」は、マスタノード2から送信された指令に応じて動作することを示す。
【0134】
「フェールセーフ値」は、スレーブノード7から車載デバイス60への操作信号の信号レベルを予め定められたフェールセーフ値に維持することを示す。フェールセーフ値は、「オン値」と「オフ値(ゼロ)」と「前回値」のいずれか1つに設定される。なお、「操作信号の信号レベルをオン値に維持する」という状態は、「所定の信号レベルを有する操作信号の出力が継続される」という状態を示す。「操作信号の信号レベルをオフ値に維持する」という状態は、「操作信号の出力が停止される」という状態を示す。
【0135】
例えば、
図12に示された対応表の第5行目の例は、電源8からスレーブノード7への電源電圧の供給方式が「Hot Start方式(常時給電)」であり、電源8からスレーブノード7への電源電圧の供給状態が「喪失(電源電圧の供給が行われている状態)」であり、通信バスに対するスレーブノード7の状態が「Wakeup」であり、マスタノード2からの通信に対するスレーブノード7の受信状態が「通信エラー」である場合に、スレーブノード7が「車載デバイス60への操作信号の信号レベルをフェールセーフ値に維持する」という動作を行うことを示す。
【0136】
〔実施形態の効果〕
以上のように、実施形態の車両制御システム1では、スレーブノード7は、スレーブノード7に供給される電源電圧が第1閾値を下回らない場合に、スレーブノード7が電圧正常状態であることをマスタノード2に通知する。また、スレーブノード7は、スレーブノード7に供給される電源電圧が第1閾値を下回るが第2閾値を下回らない場合に、スレーブノード7が電圧低下状態であることをマスタノード2に通知する。また、スレーブノード7は、スレーブノード7に供給される電源電圧が第2閾値を下回る場合に、マスタノード2との通信が不能となる。マスタノード2は、スレーブノード7の状態の通知およびスレーブノード7との通信の可否とに基づいて、車載デバイス60を安全に制御するためのフェールセーフ処理を行うことをスレーブノード7に指示する。
【0137】
上記の構成では、スレーブノード7の状態の通知およびスレーブノード7との通信の可否とに基づいて、スレーブノード7の状態を推定(認知)することができる。これにより、スレーブノード7の状態に応じてフェールセーフ処理を行うことができる。
【0138】
また、実施形態の車両制御システム1では、スレーブノード7は、コンフィグを変更可能に構成される。マスタノード2から送信されたコンフィグデータにより、スレーブノード7のコンフィグは、所定の機能を有するコンフィグに設定される。また、スレーブノード7は、スレーブノード7に供給される電源電圧が第2閾値を下回ると、スレーブノード7のコンフィグを未設定の状態にリセットし、車載デバイス60への操作信号の出力を停止する。
【0139】
上記の構成では、マスタノード2とスレーブノード7との通信が不能である場合に、スレーブノード7のコンフィグを未設定の状態にすることで、スレーブノード7から車載デバイス60への操作信号の出力を停止することができる。これにより、マスタノード2とスレーブノード7との通信が不能である場合(スレーブノード7においてフェールセーフ処理を行うことができない場合)に、車載デバイス60を停止させることができる。
【0140】
また、実施形態の車両制御システム1では、スレーブノード7は、スレーブノード7に供給される電源電圧が第2閾値を下回らない状態に復帰すると、スレーブノード7のコンフィグが未設定であることをマスタノード2に通知する。マスタノード2は、スレーブノード7のコンフィグが未設定であることが通知されると、コンフィグデータをスレーブノード7に送信する。
【0141】
上記の構成では、スレーブノード7に供給される電源電圧が第2閾値を下回らない状態に復帰すると、マスタノード2から送信されたコンフィグデータにより、スレーブノード7のコンフィグを、所定の機能を有するコンフィグに設定することができる。これにより、マスタノード2とスレーブノード7との通信を可能にすることができる。
【0142】
また、実施形態の車両制御システム1では、スレーブノード7は、マスタノード2から送信されたコンフィグデータによりスレーブノード7のコンフィグの設定が完了すると、スレーブノード7のコンフィグの設定が完了したことをマスタノード2に通知する。
【0143】
上記の構成では、スレーブノード7のコンフィグの設定が完了したことがマスタノード2に通知されることで、マスタノード2は、スレーブノード7との通信が可能となったことを確認することができる。これにより、マスタノード2とスレーブノード7との通信を再開することができる。
【0144】
(実施形態の変形例1)
実施形態の変形例1の車両制御システム1は、実施形態の車両制御システム1の処理に加えて、故障診断処理およびインジケータ点灯処理を行う。
【0145】
実施形態の変形例1の車両制御システム1では、マスタノード2は、フェールセーフ処理を行うことをスレーブノード7に指示する場合に、故障診断処理およびインジケータ点灯処理の少なくとも一方を行う。故障診断処理は、スレーブノード7の故障の有無を診断するための処理である。インジケータ点灯処理は、車両に搭載されたインジケータ(図示省略)を点灯させるための処理である。
【0146】
〔実施形態の変形例1の効果〕
実施形態の変形例1の車両制御システム1では、故障診断処理を行うことにより、スレーブノード7が故障しているか否かを診断することができる。また、インジケータ点灯処理を行うことにより、スレーブノード7に供給される電源電圧が低下していることを車両のユーザに通知することができる。
【0147】
(実施形態の変形例2)
実施形態の変形例2の車両制御システム1は、実施形態の車両制御システム1の処理に加えて、操作信号の電圧値に基づく処理を行う。
【0148】
実施形態の変形例2の車両制御システム1では、スレーブノード7は、車載デバイス60に出力される操作信号の電圧値を検出し、操作信号の電圧値を示す電圧情報をマスタノード2に送信する。マスタノード2は、スレーブノード7から送信された電圧情報に示された電圧値が異常である場合に、フェールセーフ処理を行うことをスレーブノード7に指示する。
【0149】
図13に示すように、実施形態の変形例2では、スレーブノード7は、
図6に示したスレーブノード7の構成に加えて、出力電圧検出回路81を有する。
【0150】
出力電圧検出回路81は、スレーブIC75から車載デバイス60(具体的には車載デバイス60に含まれる操作対象となるデバイス)に出力される操作信号の電圧値を検出する。スレーブIC75は、出力電圧検出回路81により検出された電圧値を示す電圧情報をマスタノード2に送信する。出力電圧検出回路81は、車載デバイス60に出力される操作信号の電圧値を検出する出力電圧検出部の一例である。
【0151】
マスタノード2は、スレーブノード7から送信された電圧情報に示された電圧値(操作信号の電圧値)が予め定められた出力異常閾値を上回るか否かを判定する。マスタノード2は、電圧情報に示された電圧値が出力異常閾値を上回る場合に、電圧情報に示された電圧値が異常であると推定(認知)し、フェールセーフ処理を行うことを指示する指令(フェールセーフ指令)をスレーブノード7に送信する。
【0152】
〔実施形態の変形例2の効果〕
実施形態の変形例2の車両制御システム1では、車載デバイス60に出力される操作信号の電圧値が異常である場合に、フェールセーフ処理をスレーブノード7に行わせることができる。これにより、車載デバイス60を安全に制御することができる。
【0153】
なお、実施形態の変形例2の車両制御システム1において、マスタノード2は、スレーブノード7から送信された電圧情報に示された電圧値(操作信号の電圧値)が予め定められた正常範囲内であるか否かを判定してもよい。この場合、マスタノード2は、電圧情報に示された電圧値が正常範囲内ではない場合に、電圧情報に示された電圧値が異常であると推定(認知)し、フェールセーフ指令をスレーブノード7に送信してもよい。
【0154】
(その他の実施形態)
以上の説明において、マスタノード2は、スレーブノード7の状態の遷移の頻度に応じて、そのスレーブノード7にフェールセーフ処理を行うことを指示するか否かを決定してもよい。例えば、マスタノード2は、スレーブノード7毎に、そのスレーブノード7の状態遷移の回数をカウントし、その状態遷移の回数が予め定められた異常回数を上回るスレーブノード7に対してフェールセーフ処理(例えば車載デバイス60への操作信号の出力を停止するというフェールセーフ処理)を行うことを指示してもよい。
【0155】
また、以上の説明において、フェールセーフ処理を行うことが必要ではないスレーブノード7は、そのスレーブノード7が「電圧正常状態」または「電圧低下状態」であることを示す状態情報をマスタノード2に送信しないように構成されてもよい。このような設定は、スレーブノード7の初期コンフィグにより実現可能である。
【0156】
また、以上の説明では、スレーブノード7に供給される電源電圧を検出する電圧検出部として、電源電圧を直接的に検出する電圧検出回路80を例に挙げたが、これに限定されない。例えば、電圧検出部は、スレーブノード7に供給される電源電圧を間接的に検出してもよい。具体的には、電圧検出部は、スレーブノード7に供給される電源電圧と相関のある物理量に基づいて、スレーブノード7に供給される電源電圧を導出(推定)してもよい。なお、車載デバイス60に出力される操作信号の電圧値を検出する出力電圧検出部についても同様である。
【0157】
また、以上の実施形態を適宜組み合わせて実施してもよい。以上の実施形態は、本質的に好ましい例示であって、ここに開示する技術、その適用物、あるいはその用途の範囲を制限することを意図するものではない。
【産業上の利用可能性】
【0158】
以上説明したように、ここに開示する技術は、車両制御システムとして有用である。
【符号の説明】
【0159】
1 車両制御システム
2 マスタノード
7 スレーブノード
8 電源
60 車載デバイス
75 スレーブIC
80 電圧検出回路(電圧検出部)
81 出力電圧検出回路(出力電圧検出部)