(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018616
(43)【公開日】2024-02-08
(54)【発明の名称】車両制御システム
(51)【国際特許分類】
H04L 12/28 20060101AFI20240201BHJP
B60R 16/023 20060101ALN20240201BHJP
【FI】
H04L12/28 200Z
H04L12/28 100A
B60R16/023 P
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022122050
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】藤江 紀彰
(72)【発明者】
【氏名】廣▲瀬▼ 晋吾
(72)【発明者】
【氏名】森本 康治
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA05
5K033BA06
5K033CB03
5K033DA01
5K033EC01
(57)【要約】
【課題】車両の機能進化及び機能変化に対してフレキシブルかつ迅速に対応する。
【解決手段】車両制御システム1は、複数のスレーブノード7と、通信ネットワークBを介してそれぞれのスレーブノード7と通信を行うマスターノード2とを備える。複数のスレーブノード7は、それぞれ、車載デバイスに接続される複数のポートPを備える。そして、通常動作に先立って、マスターノード2は、初期コンフィグデータを通信ネットワークBを介してそれぞれのスレーブノード7に送信し、それぞれのスレーブノード7では、マスターノード2から受信した初期コンフィグデータに基づいてポートPの入出力設定を実行する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
車両制御システムであって、
それぞれが、車載デバイスに接続される複数の汎用入出力ポートを有する、複数のスレーブノードと、
コンフィグデータを有し、通信ネットワークを介してそれぞれの前記スレーブノードと通信を行うマスターノードとを備え、
前記コンフィグデータは、前記複数のスレーブノードのそれぞれの前記汎用入出力ポートに接続される車載デバイスとの接続関係を示す接続データ及びそれぞれの前記スレーブノードにおける前記各汎用入出力ポートの入出力設定を示す初期コンフィグデータを含み、
前記マスターノードは、前記初期コンフィグデータを前記通信ネットワークを介してそれぞれの前記スレーブノードに送信し、
それぞれの前記スレーブノードでは、前記マスターノードから受信した前記初期コンフィグデータに基づいて前記汎用入出力ポートの入出力設定を実行し、当該入出力設定で設定された入力ポートへの入力を検知信号として前記通信ネットワークを介して前記マスターノードに送信し、
前記マスターノードは、前記接続データ及び前記スレーブノードから受信した前記検知信号の経時変化に基づいて、前記入力ポートを介して取得された情報を認知するとともに、前記入出力設定で設定された出力ポートの出力内容を命令する操作命令信号を生成して、前記通信ネットワークを介して1または複数の前記スレーブノードに送信し、
前記操作命令信号を受信した1または複数の前記スレーブノードは、前記操作命令信号に基づく前記出力ポートから前記操作命令信号に基づく操作信号を出力する、車両制御システム。
【請求項2】
前記スレーブノードは、前記汎用入出力ポートの入出力設定の実行後に当該入出力設定の状態を示すアクノリッジを返すものとし、
前記マスターノードは、前記アクノリッジの内容に基づいて、前記スレーブノードの入出力設定に異常があると判断した場合、前記初期コンフィグデータを前記通信ネットワークを介して当該異常があると判断したスレーブノードに再送信し、
前記スレーブノードでは、前記マスターノードから受信した前記初期コンフィグデータに基づいて前記汎用入出力ポートの入出力設定を再設定する、請求項1に記載の車両制御システム。
【請求項3】
前記通信ネットワークにおいて、前記初期コンフィグデータ及び前記アクノリッジの通信は、前記検知信号及び前記操作命令信号の通信よりも優先される、請求項2に記載の車両制御システム。
【請求項4】
前記複数のスレーブノードの一部または全部は、互いに同一の構成である請求項1に記載の車両制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、車両制御システムに関する技術分野に属する。
【背景技術】
【0002】
特許文献1には、車載ネットワークを介してECU同士が接続され、それぞれのECUにセンサやアクチュエータ等の機器が接続されている車載ネットワークの構成例が示されている(特許文献1の
図1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、アプリケーション技術の進化に伴い、特に、車両のふるまいについての機能進化及び機能変化が加速している。
【0005】
従来の車両開発では、車両の機能進化及び機能変化に対して、それぞれの機能を実現する車載デバイスごとに個別に作り込みをし、完成後に後付けで車両に搭載する手法がとられてきた。例えば、ドアの開閉動作に関する追加機能を設ける場合、その新機能に関連する車載デバイスユニット(例えば、センサ、アクチュエータ及びそれらを制御するECU)について単体で作り込みをしてから、車両に搭載したり、既存の車載デバイスとの交換をしたりしていた。従来構成のように機能毎に区分けすることにより、進化した機能だけをアドオン的に車両に採用しやすく、開発を機能毎に委託しやすいメリットがある。車両の機能進化が緩やかな場合、この従来構成は大変効率が良い。
【0006】
しかしながら、車両の振る舞いの進化や、車両末端の機能進化が生じるスピードが速くなると、それに対応するための開発量が、どうしても増えてしまう。すなわち、従来の開発スタイルでは、急速な車両の機能進化及び機能変化にフレキシブルかつ迅速な対応ができないという課題がある。
【0007】
例えば、車両の振る舞いが少しだけ進化する場合であっても、センサ・アクチュエータ・ECUのすべてを刷新する必要がある。また、センサ・アクチュエータの機能進化、機能変化が有った場合、ECUも含めたすべてを刷新する必要がある。さらに、アクチュエータのサプライヤが変更された場合に、ECU内部の制御ソフトウェアも含めて、全てを刷新する必要がある。
【0008】
ここに開示された技術は、斯かる点に鑑みてなされたものであり、車両の機能進化及び機能変化に対してフレキシブルかつ迅速に対応ができる車両制御システムを提供することにある。
【課題を解決するための手段】
【0009】
前記課題を解決するために、ここに開示された技術では、車両制御システムを対象として、それぞれが、車載デバイスに接続される複数の汎用入出力ポートを有する、複数のスレーブノードと、コンフィグデータを有し、通信ネットワークを介してそれぞれの前記スレーブノードと通信を行うマスターノードとを備え、コンフィグデータは、前記複数のスレーブノードのそれぞれの前記汎用入出力ポートに接続される車載デバイスとの接続関係を示す接続データ及びそれぞれの前記スレーブノードにおける前記各汎用入出力ポートの入出力設定を示す初期コンフィグデータを含み、前記マスターノードは、前記初期コンフィグデータを前記通信ネットワークを介してそれぞれの前記スレーブノードに送信し、それぞれの前記スレーブノードでは、前記マスターノードから受信した前記初期コンフィグデータに基づいて前記汎用入出力ポートの入出力設定を実行し、当該入出力設定で設定された入力ポートへの入力を検知信号として前記通信ネットワークを介して前記マスターノードに送信し、前記マスターノードは、前記接続データ及び前記スレーブノードから受信した前記検知信号の経時変化に基づいて、前記入力ポートを介して取得された情報を認知するとともに、前記入出力設定で設定された出力ポートの出力内容を命令する操作命令信号を生成して、前記通信ネットワークを介して1または複数の前記スレーブノードに送信し、前記操作命令信号を受信した1または複数の前記スレーブノードは、前記操作命令信号に基づく前記出力ポートから前記操作命令信号に基づく操作信号を出力する、構成とした。
【0010】
このように、上記の態様では、マスターノードから初期コンフィグデータを通信ネットワークを介してそれぞれのスレーブノードに送信し、それぞれのスレーブノードにおいて、マスターノードから受信した初期コンフィグデータに基づいて汎用入出力ポートの入出力設定を実行するようにしている。この入出力設定は、入力ポートの設定と、出力ポートの設定を含む。
【0011】
これにより、車両のアプリケーションの機能変更について、スレーブノードの構成を変更することなく、すなわち、スレーブノードに影響を与えることなく実現できるようになる。具体的には、車両のアプリケーションの機能変更がある場合に、マスターノードからスレーブノードに送信する初期コンフィグデータの内容を変更することで対応ができるようになる。すなわち、スレーブノードのハードウェアを置き換える必要がなくなる。言い換えると、アプリケーションの機能進化をマスターノードのアプリケーションの変更により吸収することができるようになる。これにより、車両のアプリケーションの機能進化及び機能変化に対してフレキシブルかつ迅速に対応ができる。
【0012】
さらに、スレーブノードは、入力ポートへの入力を検知信号としてマスターノードに送信する機能、及び、マスターノードから受信する操作命令信号に基づく出力ポートから操作命令信号に基づく操作信号を出力する機能を実行するようにしている。このように、スレーブノードに割り当てる機能を非常にシンプルなものにしているので、スレーブノードに接続されるセンサや操作対象によらずに、汎用性の高い共通化されたスレーブノードを用いることができる。すなわち、複数のスレーブノードの一部または全部を互いに同一の構成とすることができる。これにより、車両のアプリケーションの機能進化や機能変化があったり、センサや操作対象を車種やグレードごとに異ならせるような場合においても、開発工数を大幅に削減することができるとともに、コストを大幅に削減することができる。
【発明の効果】
【0013】
以上説明したように、ここに開示された技術によると、アプリケーションの機能進化や機能変化をマスターノードで吸収することができるので、車両のアプリケーションの機能進化や機能変化に対してフレキシブルかつ迅速に対応ができる。
【図面の簡単な説明】
【0014】
【
図4】ドライバユニットの構成例を示す回路ブロック図
【
図8】車両制御システムの動作の一例を示すフローチャート
【
図9】車両制御システムの動作の一例を示すフローチャート
【
図10】車両制御システムの動作の一例を示すフローチャート
【
図11】
図10の動作で送受信されるコンフィグデータの一例を示す図
【発明を実施するための形態】
【0015】
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。図中同一または相当部分には同一の符号を付すものとし、繰り返しの説明を省略する場合がある。また、以下の実施形態では、本開示の内容に関連性の高い構成を中心に説明する。
【0016】
なお、以下の実施形態は、例示的なものであり、記載の有無や例示した数値等によって本開示の内容を限定する意図はまったくない。
【0017】
また、本開示において、「システム」、「ユニット」、「モジュール」、「ノード」という用語が示す構成に関し、その一部または全部は、特定用途向け集積回路(ASIC:Application specific integrated circuit)またはプログラマブルロジックアレイ(PLA : Programmable logic array)などの専用回路で実現され得る。同様に、「システム」、「ユニット」、「モジュール」、「ノード」は、コンピュータで読み取り可能な命令(例えば、プログラム)を実行して、所定の処理ステップを実行することにより特定の機能を実行させるプロセッサ回路で実現され得る。
【0018】
<車両制御システム>
図1は、実施形態の車両制御システムの構成の一例を示す。
【0019】
図1に示すように、車両制御システム1は、車両CAに搭載されており、マスターノード2と複数のスレーブユニットとが車載の通信ネットワークを介して接続された構成となっている。
【0020】
図1の例では、複数のスレーブユニットとして、コンビスイッチユニット4、左右のサイドミラーユニット5、ステアリングスイッチユニット6、クラスタースイッチユニット31、オーバーヘッドコンソールユニット32、左右のシートヒーターユニット33、及び、左右のドアラッチユニット34を例示している。各スレーブユニットには、それぞれに共通の構成を有するスレーブノード7(
図4参照)が搭載されている。なお、説明の便宜上、サイドミラーユニット5、ドアラッチユニット34、シートヒーターユニット33は、それぞれ左右で共通の符号を付して説明する。
【0021】
具体的に、マスターノード2と、複数のスレーブユニット(この例では、コンビスイッチユニット4、ステアリングスイッチユニット6、クラスタースイッチユニット31、右のサイドミラーユニット5、右のシートヒーターユニット33、右のドアラッチユニット34)とが、通信ネットワークB1によりバス接続されている。また、マスターノード2と、他の複数のスレーブユニット(この例では、オーバーヘッドコンソールユニット32、左のサイドミラーユニット5、左のシートヒーターユニット33及び左のドアラッチユニット34)とが、通信ネットワークB2によりバス接続されている。
【0022】
通信ネットワークB1,B2は、例えば、CXPI(Clock Extension Peripheral Interface)に準拠した通信回線である。なお、通信方式は、CXPIに限定されず、他の通信方式(有線方式、無線方式を問わない)を用いてもよい。また、通信ネットワークに使用される通信回線の本数は、特に限定されない。また、通信ネットワークBの途中に通信中継用のHUB(図示省略)やECU(図示省略)などを設けてもよい。
【0023】
図2は、マスタノード2の構成の一例を示すブロック図であり、
図3は、スレーブノード7の構成の一例を示すブロック図である。
【0024】
-マスターノード-
図2に例示するマスターノード2は、通信モジュール21と、認知モジュール22と、判断モジュール23と、操作モジュール24と、メモリ25とを備える。
【0025】
マスターノード2は、例えば、1つまたは複数の電子制御ユニット(ECU)により構成される。電子制御ユニットは、単一のIC(Integrated Circuit)を用いて構成されてもよいし、複数のICを用いて構成されてもよい。また、IC内には、単一のコアまたはダイが設けられてもよいし、連携する複数のコアまたはダイが設けられてもよい。
【0026】
〔通信モジュール〕
通信モジュール21は、通信ネットワークBを介して各スレーブノード7からの受信信号を受信したり、各スレーブノード7に送信信号を送信したりする機能を有する。
【0027】
〔メモリ〕
メモリ25は、それぞれのスレーブノード7に対応するコンフィグデータ(以下、「マスターコンフィグデータ」という)が格納されたマスターコンフィグ領域27(
図5参照)を備える。
【0028】
マスターコンフィグデータは、それぞれのスレーブノード7に設定される初期コンフィグデータと、接続データとを含む。言い換えると、マスターノード2は、それぞれのスレーブノード7に設定されている初期コンフィグデータを保有している。
【0029】
接続データは、スレーブノード7の各ポートPと車載デバイスのデバイスポートとの接続関係を示すデータである。言い換えると、接続データは、スレーブノード7の各ポートPに、車載デバイスのどういった機能のデバイスポートが接続されているかを示すデータである。
【0030】
図5には、マスターコンフィグデータのうち、コンビスイッチユニット4のマスターコンフィグデータMC(
図5上段:「第1のマスターコンフィグデータMC1」ともいう)、及び、サイドミラーユニット5のマスターコンフィグデータMC(
図5下段:「第2のマスターコンフィグデータMC2」ともいう)の一例を示す。
【0031】
第1のマスターコンフィグデータMC1は、(1)コンビスイッチユニット4の各ポートP1~P12と、ワイパスイッチ41、ライトスイッチ42及びターンスイッチ43の各デバイスポートとの間の接続関係を示す接続データと、(2)コンビスイッチユニット4の初期コンフィグデータSCとを含む。
【0032】
より具体的に、コンビスイッチユニット4のポートP1には、ワイパスイッチ41のON/OFF操作信号が出力されるデバイスポートが接続されているので、その接続関係が第1のマスターコンフィグデータMC1の接続データとして保存される。
【0033】
同様に、コンビスイッチユニット4のポートP2~P4には、ワイパスイッチ41の速度設定信号が出力されるデバイスポートが接続され、ポートP5には、ライトスイッチ42のライトOFF設定信号が出力されるデバイスポートが接続されているので、それぞれの接続関係が第1のマスターコンフィグデータMC1の接続データとして保存される。他のポートP5~P12、及び、右サイドミラーユニット5の各ポートP1~12についても同様である。
【0034】
なお、メモリ25は、上記ECUを構成するICに内蔵された内部メモリであってもよく、上記ICに外付けされた外付けメモリであってもよい。また、メモリには、例えば、上記ICに搭載されたCPUを動作させるためのプログラムが記憶されてもよく、CPUでの処理結果などの情報が記憶されてもよい。
【0035】
また、説明の便宜上、第1のマスターコンフィグデータMC1の初期コンフィグデータSCに「SC1」の符号を付し、第2のマスターコンフィグデータMC2の初期コンフィグデータSCに「SC2」の符号を付して区別して説明する場合がある。
【0036】
〔認知モジュール〕
認知モジュール22は、メモリ25に格納されたマスターコンフィグデータMCと、スレーブノード7から受信される検出信号の経時変化に基づいて、車載デバイスに搭載されたセンサで取得された情報を認知する認知処理を実行する。ここでは、認知処理において認知された情報を「認知情報」という。認知モジュール22は、スレーブノード7から受信した検知信号のデコード処理を行うデコードモジュール221と、デコードした検知信号の情報化処理を行い、検知情報の具体的な内容を認知する情報化モジュール222とを含む。検知信号については、後ほど具体的に説明する。
【0037】
なお、本開示において「センサ」との用語は、温度・電圧・電流等の各種の物理量の測定・検知をするセンサに加えて、各種の操作を受け付けるスイッチ、車内外を撮像するカメラ、車外の物標等を認識するレーダを含み、機械電気変換信号等を出力するものを広く含む概念で用いる。センサは、車両の挙動情報、乗員の操作情報、アクチュエータを流れる電流や印加される電圧の情報、車両の故障状態情報、乗員の状態情報及び/または外部環境情報等(以下、総称して「検知情報」という)を取得する。
【0038】
〔判断モジュール〕
判断モジュール23は、認知モジュール22で認知された認知情報に基づいて、車両CAの行動を決定する判断処理を実行する。判断モジュール23は、車両CAの行動の目的を決定する目的決定モジュール231と、決定された目的を達成するための行動計画を設定する行動計画モジュール232と、行動計画で列挙された行動の中で、実際に実行に移す行動を決定する行動決定モジュール233と、決定された行動を実現するための手段を選択する対応決定モジュール234とを備える。
【0039】
〔操作モジュール〕
操作モジュール24は、判断処理で決定された車両の行動に対応する操作デバイスを特定し、特定された操作デバイスの操作を命令する操作命令信号を生成して、操作デバイスが接続されたスレーブノードに送信する操作処理を実行する。操作モジュール24は、決定された行動を実現するための操作対象及びその操作量を決定する操作決定モジュール241と、操作命令信号を生成し、スレーブノードに送信する命令生成モジュール242とを備える。
【0040】
ここで、操作対象は、行動や対応を実現するために操作する対象物を広く含むものとし、例えば、照明デバイスとアクチュエータを含む。照明デバイスは、前照灯、インジケータ、ターンランプ等に用いられる各種LEDや電球等を含む。アクチュエータは、ワイパー、ミラー駆動用のモータといったボディ系デバイスと、エンジン、ブレーキ等に用いられる動力系デバイスとを含む。
【0041】
-スレーブユニット-
図3では、
図1に例示したスレーブユニットのうち、コンビスイッチユニット4及び右のサイドミラーユニット5(以下、「右サイドミラーユニット5」という)の構成例を示す。
【0042】
図3に示すように、コンビスイッチユニット4及び右サイドミラーユニット5には、それぞれ、共通のスレーブノード7が設けられている。各スレーブノード7には、車載デバイスを接続するための汎用入出力ポートP(以下、単に「ポートP」という)が12個ずつ設けられている。スレーブノード7は、例えば、IC(Integrated Circuit) で実現される。
【0043】
この例において、コンビスイッチユニット4では、ポートP1~P4にワイパ操作を受け付けるワイパスイッチ41が接続され、ポートP5~P9にライト操作を受け付けるライトスイッチ42が接続され、ポートP10,P11にターンランプの操作を受け付けるターンスイッチ43が接続される。P12はリザーブ用のポートPである。ワイパスイッチ41、ライトスイッチ42及びターンスイッチ43は、センサを含む車載デバイスの一例である。
【0044】
同様に、右サイドミラーユニット5では、ポートP1,P2にターンランプ用のLED51(以下、「ターンLED51」という)が接続され、ポートP3~P6にインジケータ用のLED52が接続され、ポートP7~P12にミラー格納用のモータ53が接続される。ここで、ターンLED51、LED52及びモータ53は、センサ及び操作対象を含む車載デバイスの一例である。言い換えると、ターンLED51、LED52及びモータ53は、センサの出力を受けてマスターノードに検知信号を出力する機能と、マスターノードから受信した操作命令信号に基づく操作信号を操作命令信号に基づくポートPから出力する機能を有するスレーブノードの一例である。
【0045】
〔スレーブノード〕
スレーブノード7は、それぞれ、通信モジュール71と、レジスタ72と、セレクタ73と、ドライバ群74とを備える。
【0046】
〔通信モジュール〕
通信モジュール71は、通信ネットワークBを介してマスターノード2の通信モジュール21と接続され、通信モジュール21との間でCXPIに準拠した双方向通信ができるように構成されている。通信モジュール71は、例えば、通信ネットワークBに接続される入出力回路、入出力回路に接続されたエンコーダ及びデコーダ等を備える。なお、通信モジュール71の具体的な回路構成については、従前から知られている構成を適用できるので、ここではその詳細説明を省略する。
【0047】
〔ドライバ群〕
ドライバ群74は、それぞれのポートPに1対1接続された複数のドライバユニット740を備える。例えば、スレーブノード7に12個のポートPが設けられている場合、ドライバ群74には、12個のドライバユニット740が設けられる。
【0048】
ドライバユニット740は、外部設定により、ポートPを入力ポートとして使用したり、ポートPを出力ポートとして使用したりできるIO回路である。ドライバユニット740として、例えば、従来から知られている汎用入出力回路(GPIO : General Purpose Input/Output)を適用することができる。
図7には、ドライバユニット740の構成例を示す。
【0049】
図7に例示するドライバユニット740は、ポートPに接続された出力回路743と、出力レジスタ742の出力設定データに基づいて出力回路743を駆動するドライバ回路741とを備える。出力レジスタ742の出力設定データは、OUT端子から入力された設定信号により書き換えが可能になっている。
【0050】
ドライバユニット740は、ポートPへの入力を受ける入力回路745と、入力回路745に受けた入力を検知信号に変換するレシーバ回路746とを備える。レシーバ回路746は、ADコンバータ747と比較器748とを備える。ADコンバータ747は、ポートPの属性がアナログ入力の場合に、ポートPの入力をアナログ-デジタル変換してAI端子から出力する。比較器748は、ポートPの属性がデジタル入力の場合に、ポートPの入力をデジタル信号としてDI端子から出力する。
【0051】
ドライバユニット740は、操作命令信号に基づくコンフィグ信号に基づいて、各構成要素の設定が変更できるようになっている。例えば、コンフィグ信号に基づいてレシーバ回路746のデジタルフィルタのフィルタ定数が変更できるようになっている。
【0052】
〔セレクタ〕
セレクタ73は、後述するスレーブコンフィグ領域77に設定された各ポートPの属性データに基づいて、それぞれのドライバユニット740の端子(OUT端子、AI端子、DI端子)のうち、どの端子を有効にするのかを選択する機能を有する。
【0053】
AI端子が有効にされた場合、ポートPからアナログ入力信号が入力される。この場合、アナログ入力信号は、入力回路745及びADコンバータ747でデジタル信号に変換されてAI端子から出力され、セレクタ73を介してレジスタ72の検知信号領域に書き込まれる。後述する
図6及び
図7では、検知信号と記載した列が検知信号領域に相当する。検知信号領域は、スレーブコンフィグ領域77に含まれてもよいし、含まれてなくてもよい。
【0054】
DI端子が有効にされた場合、ポートPからデジタル入力信号が入力される。この場合、デジタル入力信号は、入力回路745及び比較器748を介してDI端子から出力され、セレクタ73を介してレジスタ72の検知信号領域に書き込まれる。
【0055】
OUT端子が有効にされた場合、操作命令信号に基づく出力設定データが、ドライバ回路741の出力レジスタ742に反映される。ドライバ回路741は、出力回路743をドライブして、出力レジスタ742の出力設定データに基づく操作信号(デジタル信号、アナログ信号、または、PWM信号のいずれか)をポートPから出力させる。
【0056】
ここで、出力設定データは、例えば、マスターノード2から受信された操作命令信号に基づいて、セレクタ73内の論理回路(図示省略)を用いたり、レジスタ72の値を用いたりして生成される。言い換えると、操作命令信号に基づくポートPに接続されたドライバ回路741の出力レジスタ742に、操作命令信号に基づく出力設定がされる。そして、出力回路743は、その出力設定データに基づいて、ポートPを介して操作命令信号に基づく操作信号を出力する。操作命令信号は、例えば、操作対象が接続されたポートPの識別データと、その識別データに紐づけられた各ポートPの出力設定とを含む信号である。
【0057】
なお、セレクタの具体的な回路構成については、従来から知られている構成を用いることができるので、ここではその詳細説明を省略する。
【0058】
〔レジスタ〕
レジスタ72には、スレーブノード7毎に設定されたコンフィグデータ(以下、「スレーブコンフィグデータ」という)が格納されたスレーブコンフィグ領域77が設けられる。
【0059】
スレーブコンフィグデータは、例えば、(1)各ポートPの属性データ、(2)属性が入力であるポートP(以下、単に「入力ポートP」という)のフィルタ定数、(3)入力ポートPへの入力信号に基づくWakeUp設定データ、(4)属性が出力であるポートP(以下、単に「出力ポートP」という)の出力設定データ、を含む。本開示では、スレーブコンフィグデータの初期設定情報のことを「初期コンフィグデータ」と称する。初期コンフィグデータの設定フローについては、後ほど説明する。
【0060】
スレーブコンフィグ領域77には、上記スレーブコンフィグデータに加えて、前述の検知信号が格納される。なお、検知信号は、スレーブコンフィグ領域77以外の記憶領域に格納されてもよい。
【0061】
図6には、コンビスイッチユニット4に接続されたスレーブノード7のスレーブコンフィグ領域77の一例を示す。また、
図7には、右サイドミラーユニット5のスレーブノード7のスレーブコンフィグ領域77の一例を示す。以下の説明では、便宜上、
図6のスレーブコンフィグ領域77をコンビコンフィグ領域771と称し、
図7のスレーブコンフィグ領域77をサイドコンフィグ領域772と称して説明する場合がある。
【0062】
図6及び
図7において、各ポートPの属性データは、I/O属性の欄に記載されている。DIはポートPがデジタルインプットであることを示す。また、DOはポートPがデジタルアウトプット、AIはポートPがアナログインプット、AOはポートPがアナログアウトプット(図示省略)、PWMはポートPがPWM出力であることを示す。言い換えると、DI及びAIは、ポートPが入力ポートに設定されることを示し、DO,AO及びPWMは、ポートPを出力ポートに設定されることを示している。
【0063】
例えば、
図6に示すコンビコンフィグ領域771の初期コンフィグデータ(t=T11)において、ポートP1~P11は、デジタルインプットすなわち入力ポートである。また、ポートP1~P11のフィルタ定数は、それぞれ、Qs1~Qs11である。
【0064】
そうすると、コンビスイッチユニット4では、コンフィグ信号により、ポートP1に接続されるドライバユニット740のデジタルフィルタの値がQs1に設定される。ポートP2~P11についても同様である。
【0065】
また、コンビスイッチユニット4のセレクタ73は、それぞれのポートP1~P11に接続されるドライバユニット740のDI端子を有効にする。これにより、前述のとおり、ポートP1~P11からデジタル入力信号が、セレクタ73を介してレジスタ72の検知信号領域に書き込まれる。
【0066】
-車両制御システムの動作-
図8~
図10は、車両制御システムの動作の一例を示すフローチャートである。
【0067】
〔ステップS1〕
車両制御システム1において、マスターノード2及びスレーブノード7に電源が投入されると、ステップS1の初期コンフィグレーション処理が実行される。
図8の例では、初期コンフィグレーション処理(ステップS1)は、ステップS11~S13で構成される。
【0068】
ステップS11において、マスターノード2は、スレーブノード7に対して、そのスレーブノード7に応じた初期コンフィグデータを送信する。
図9の例では、まず、マスターノード2は、第1のマスターコンフィグデータMC1を参照し、コンビスイッチユニット4のスレーブノード7に対して、初期コンフィグデータSC1を送信する。
【0069】
ステップS12において、通信ネットワークBを介してマスターノード2から初期コンフィグデータSCを受信したスレーブノード7は、受信した初期コンフィグデータSCに基づいてポートPの入出力設定を実行する。
図9の例では、コンビスイッチユニット4のスレーブノード7は、初期コンフィグデータSC1を受信し、受信した初期コンフィグデータSC1をコンビコンフィグ領域771に格納する(
図6のt=T11参照)。そうすると、セレクタ73の作用により、コンビスイッチユニット4のドライバユニット740の各ポートの入出力設定が実行される。入出力設定には、例えば、ポートPの入出力属性の設定、入力ポートPのフィルタ定数の設定、前述のWakeUp設定等が含まれる。
【0070】
コンビスイッチユニット4のスレーブノード7は、ドライバユニット740の各ポートの入出力設定が完了すると、マスターノード2にアクノリッジを返信する。この際に、アクノリッジの返信とともに、マスターノード2からのリクエストを受けて、検知信号領域に格納された初期状態における検出データを返信するようにしてもよい。マスターノード2では、コンビスイッチユニット4から受信した検出データをメモリ25に格納する(
図11上段表の「S1(受信)」列参照)。
【0071】
次のステップS13において、マスターノード2は、スレーブノード7から返信されたアクノリッジに基づいて、初期コンフィグレーション処理が完了したかどうかを判定する。そして、初期コンフィグレーション処理が完了していなければ、フローはステップS11に戻り、ステップS11,S12の処理が繰り返される。
【0072】
例えば、
図9のように、コンビスイッチユニット4からのアクノリッジがOKの場合、次のスレーブノード7(例えば、右サイドミラーユニット5)の初期コンフィグレーション処理が実行される。例えば、右サイドミラーユニット5のスレーブノード7では、マスターノード2から受信した初期コンフィグデータSC2をサイドコンフィグ領域772に格納する(
図7のt=T11参照)。コンビスイッチユニット4の場合と同様に、セレクタ73の作用により、右サイドミラーユニット5のドライバユニット740の各ポートの入出力設定が実行される。また、右サイドミラーユニット5は、マスターノード2にアクノリッジRCを返信し、例えば、検知信号として初期状態における検出データを返信する。マスターノード2では、コンビスイッチユニット4から受信した検出データをメモリ25に格納する(
図11下段表の「S1(受信)」列参照)。
【0073】
そして、すべてのスレーブノード7に対する初期コンフィグレーション処理が完了すると、ステップS13においてYES判定となり、フローは次のステップS3に進む。
【0074】
一方で、例えば、前述の例で、コンビスイッチユニット4から受信されたアクノリッジがNGの場合には、マスターノード2は、コンビスイッチユニット4のスレーブノード7に対する初期コンフィグレーション処理を再実行する。すなわち、マスターノード2は、初期コンフィグデータをコンビスイッチユニット4のスレーブノード7に再送する。なお、初期コンフィグレーション処理の再実行回数については、特に限定されず、任意に設定することができる。
【0075】
なお、初期コンフィグレーション処理の実行の過程において、初期コンフィグレーション処理が完了すると、そのスレーブノード7は通常動作ができるようになる。すなわち、あるスレーブノード7において、他のスレーブノード7の初期コンフィグレーション処理の途中で、入力ポートPからの入力が変化し、検知信号領域の変化が検出される場合がある。このような場合には、他のスレーブノード7の初期コンフィグレーション処理の方が優先される。
【0076】
言い換えると、通信ネットワークBにおいて、マスターノード2からスレーブノード7に送信される初期コンフィグレーション及びスレーブノード7からマスターノード2に送信されるアクノリッジの通信は、マスターノード2とスレーブノード7の間の他の通信(例えば、検知信号及び操作命令信号の送受信)よりも優先される。
【0077】
なお、通信ネットワークB上のどの通信を優先するかについて、マスターノード2において任意に設定できるようにしてもよい。
【0078】
〔ステップS3〕
ステップS3では、通常動作が行われる。例えば、それぞれのスレーブノード7では、入力ポートPへの入力または入力の変化を検知信号としてマスターノードに送信する。マスターノード2では、検知信号を受信すると、前述の認知処理、判断処理、及び、操作処理を実行する。そして、マスターノード2は、操作処理において、入出力設定で出力設定された出力ポートPの出力内容を命令する操作命令信号を生成し、通信ネットワークBを介して操作対象となる1または複数のスレーブノードに送信する。操作命令信号を受信した1または複数のスレーブノードは、操作命令信号に基づく出力ポートPから操作命令信号に基づく操作信号を出力する。
【0079】
この例では、
図10に示すように、通常動作において、ターンスイッチ43がドライバーにより右ターン側に操作された場合の処理について説明する。
【0080】
〔ステップS31〕
ターンスイッチ43が右ターン側に操作されると、ターンスイッチ43のデジタルアウトプットポートDORからドライバ群74の入力ポートP10にON設定信号が入力される。例えば、入力ポートP10には、「0」から「1」に変化するデジタル信号が入力される。このデジタル信号の変化は、ドライバ群74及びセレクタ73を介して、コンビコンフィグ領域771の検知信号領域に書き込まれる(
図6のt=T12参照)。
【0081】
〔ステップS32〕
スレーブノード7では、検知信号領域の変化が検出されると、マスターノード2にイベント通知を送信する。イベント通知では、検知信号領域の変化内容が通知される。
【0082】
この例では、前述のターンスイッチ43の操作により検知信号領域の入力ポートP10の値が「0」から「1」に変化するので(
図6参照)、コンビスイッチユニット4は、検知信号領域の値の変化をマスターノード2に通知する。具体的に、例えば、コンビスイッチユニット4は、検知信号として入力ポートP10の変化が反映された検知信号領域全体の検出データD4をマスターノード2に送信する。このように、検知信号領域全体の検出データD4をマスターノード2に送信してもよいし、値の変化があった入力ポートPの検出データのみをマスターノード2に送信してもよい。
【0083】
〔ステップS33,S34〕
次のステップS33において、マスターノード2では、イベント通知の内容に応じた処理(「イベント処理」ともいう)を実行する。イベント処理では、前述の認知処理、判断処理及び操作処理が実行される。
【0084】
この例では、マスターノード2は、認知処理として、ステップS1で受信した検出データと、今回受信した検出データD4との差分データに基づく、情報化処理を実行する。具体的に、マスターノード2は、コンビスイッチユニット4のポートP10の変化と、接続データとに基づいて、ターンスイッチ43が右ターン側に操作されたことを認知する。
【0085】
次に、マスターノード2は、判断処理では、目的決定モジュール231、行動計画モジュール232、行動決定モジュール233及び対応決定モジュール234による判断処理を実行する。この例では、「車両CAの右ターンランプ(右サイドミラーユニット5の右ターンランプを含む)をオンにする」という行動が、車両CAの実行対象の行動として決定される。
【0086】
次に、マスターノード2は、操作処理として、右ターンランプが接続されたスレーブノード7を操作対象とし、操作内容として右ターンランプを点滅させることを決定する。そして、マスターノード2は、右ターンランプを点滅させることを命令する操作命令信号C5を生成して、右ターンランプが接続された1または複数のスレーブノード7(右サイドミラーユニット5を含む)に送信する(ステップS34)。具体的に、右サイドミラーユニット5に送信される操作命令信号は、例えば、出力ポートP2からオン操作信号(例えば、点滅操作信号)を出力させることを命令する信号である。
【0087】
〔ステップS35,S36〕
右サイドミラーユニット5のスレーブノード7は、操作命令信号を受信し(ステップS35)、操作命令信号C5に基づくポートから操作命令信号に基づく操作信号を出力する。具体的には、右サイドミラーユニット5のスレーブノード7は、操作命令信号C5に基づいて、ポートP2からオン制御を指示するデジタル形式の操作信号を出力する(ステップS36)。
【0088】
〔ステップS37,S38〕
ステップS37において、マスターノード2は、操作命令信号を送信したスレーブノード7に対して、操作命令信号C5に基づく出力設定がされているかどうかを確認するアクノリッジを要求する。そして、次のステップS38において、アクノリッジの要求を受けたスレーブノード7は、操作命令信号に基づく出力設定の状況を示すアクノリッジをマスターノード2に返信する。
【0089】
この例では、マスターノード2と右サイドミラーユニット5のスレーブノード7との間で、アクノリッジの送受信が行われる。
【0090】
上記のようにして、検知信号が変化するたびに、スレーブノード7からマスターノード2へのイベント通知があり、そのイベント通知に基づくイベント処理が実行され、イベント処理に基づく操作対象が操作される。
【0091】
〔ステップS4〕
図8に戻り、マスターノード2は、通常動作と並行して、所定の期間ごとに、それぞれのスレーブノード7のスレーブコンフィグ領域77の設定内容を確認するための定期リクエスト処理を実行する。
【0092】
具体的には、
図9に示すように、マスターノード2は、それぞれのスレーブノード7(例えば、コンビスイッチユニット4)に対して、スレーブコンフィグ領域77の設定内容を送信するように命令するリクエストを送信する。リクエストを受信したスレーブノードは、スレーブコンフィグ領域77の設定内容を含むアクノリッジRCを返信する。マスターノード2は、受信したアクノリッジRCを確認し、スレーブコンフィグ領域77の設定内容が問題なければ、次のスレーブノード7(例えば、右サイドミラーユニット5)に進む。このようにして、マスターノード2は、すべてのスレーブノード7のスレーブコンフィグ領域77が正常な状態に保たれているかを、定期的にチェックする。
【0093】
図8のステップS41に示すように、すべてのスレーブノード7のアクノリッジがOKの場合、処理は、ステップS3の通常動作に戻る。
【0094】
一方で、スレーブノード7の電源供給が一時的に不安定になったり、電源供給が停止するなどして、スレーブノード7の機能が停止する場合がある。このような場合、そのスレーブノード7では、設定内容などをいったんリセットして立ち上げなおす、いわゆる復帰動作が実行される(ステップS6)。
【0095】
例えば、レジスタ72が揮発性の記憶領域の場合には、スレーブコンフィグ領域77の設定内容もリセットされる、または、設定内容が意図しない値に書き換えられる場合がある。そうすると、
図8のステップS42に示すように、定期リクエスト処理において、復帰動作をしたスレーブノード7のアクノリッジがNGとなる。
【0096】
〔ステップS7〕
マスターノード2は、アクノリッジRCの内容に基づいて、スレーブノードの入出力設定に異常があると判断した場合、初期コンフィグレーション処理を再実行する。このときの初期コンフィグレーション処理(ステップS7)は、ステップS71~S73で構成され、前述のステップS11~S13と同様の処理である。
【0097】
具体的に、ステップS71において、マスターノード2は、異常があると判断したスレーブノード7に対して、そのスレーブノードに応じた初期コンフィグデータを再送信する。
【0098】
ステップS72において、通信ネットワークBを介してマスターノード2から初期コンフィグデータSCを受信したスレーブノード7は、受信した初期コンフィグデータSCに基づいてポートPの入出力設定を再実行する。各ポートPの入出力設定が完了すると、スレーブノード7は、マスターノード2にアクノリッジRCを返信する。
【0099】
次のステップS73において、マスターノード2は、スレーブノード7から返信されたアクノリッジRCに基づいて、初期コンフィグレーション処理が完了したかどうかを判定する。そして、初期コンフィグレーション処理が完了していなければ、フローはステップS71に戻り、ステップS71,S72の処理が繰り返される。
【0100】
そして、異常があると判断されたすべてのスレーブノード7に対する初期コンフィグレーション処理の再実行が完了すると、ステップS73においてYES判定となり、フローはステップS3に戻る。
【0101】
以上のように、本実施形態の車両制御システムは、複数のスレーブノード7と、通信ネットワークBを介してそれぞれのスレーブノード7と通信を行うマスターノード2とを備える構成とした。複数のスレーブノード7は、それぞれ、車載デバイスに接続される複数のポートP(汎用入出力ポートP)を備える。そして、通常動作に先立って、マスターノード2は、初期コンフィグデータを通信ネットワークBを介してそれぞれのスレーブノード7に送信し、それぞれのスレーブノード7では、マスターノード2から受信した初期コンフィグデータに基づいてポートPの入出力設定を実行する初期コンフィグレーション処理を実行するようにしている。
【0102】
このように、本開示では、初期コンフィグレーション処理を実行する構成とすることにより、車両CAの、アプリケーションの機能進化や機能変化をマスターノードで吸収することができるので、車両のアプリケーションの機能進化や機能変化に対してフレキシブルかつ迅速に対応ができる。
【0103】
具体的には、アプリケーションの機能進化や機能変化には、大別すると、(1)機能や振る舞いが進化・変化する場合、(2)末端のハードウェアが進化・変化する場合、(3)上記(1),(2)の両方が進化・変化する場合があり得る。
【0104】
上記(1)の機能進化・機能変化の例として、例えば、ポートPに接続されたセンサが、ON/OFFスイッチだったものが、ホール素子の非接触センサに変わるような場合が想定される。この場合、本実施形態では、マスターノード2からスレーブノード7に、そのセンサの接続されたポートPをDIからAIに変更するコンフィグデータを送信することで対応ができる。すなわち、機能進化・機能変化をマスターノードで吸収することができる。
【0105】
上記(2)の機能進化・機能変化の例として、例えば、スイッチのレイアウト位置が変更され、接続先のポートPが変わるような場合が想定される。この場合、本実施形態では、それぞれのポートPに何が繋がっているかという接続データを基に、マスターノード2からスレーブノード7にコンフィグデータを送信することで対応ができる。すなわち、機能進化・機能変化をマスターノードで吸収することができる。
【0106】
以上のように、車両CAのアプリケーションの機能変更がある場合に、初期コンフィグレーション処理で送信する初期コンフィグデータSCまたはその後に送信するコンフィグデータの内容を変更することで対応ができるようになる。そうすると、車両の機能進化・機能変化に対してスレーブノード7のハードウェアを置き換える必要がなくなる。これにより、車両CAのアプリケーションの機能進化及び機能変化に対してフレキシブルかつ迅速に対応ができる。
【0107】
さらに、スレーブノード7に割り当てる機能を、非常にシンプルなものにしているので、スレーブノード7に接続されるセンサや操作対象によらずに、共通化された汎用性の高いスレーブノード7を用いることができる。これにより、車両CAのアプリケーションの機能を進化や変化させたり、センサや操作対象を車種ごとに異ならせるような場合においても、開発工数を大幅に削減することができるとともに、コストを大幅に削減することができる。
【産業上の利用可能性】
【0108】
ここに開示された車両制御システムは、車両の機能進化及び機能変化に対してフレキシブルかつ迅速に対応できるので有用である。
【符号の説明】
【0109】
1 車両制御システム
2 マスターノード
7 スレーブノード
B 通信ネットワーク
C5 操作命令信号
MC コンフィグデータ
SC1 初期コンフィグデータ
P ポート(汎用入出力ポート)