(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】車載機器制御装置
(51)【国際特許分類】
G06F 9/54 20060101AFI20241008BHJP
G06F 9/445 20180101ALI20241008BHJP
【FI】
G06F9/54 F
G06F9/445 130
(21)【出願番号】P 2020032213
(22)【出願日】2020-02-27
【審査請求日】2022-08-23
(73)【特許権者】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】中矢 祐介
【審査官】坂東 博司
(56)【参考文献】
【文献】中国特許第102594685(CN,B)
【文献】米国特許第08126611(US,B2)
【文献】米国特許出願公開第2010/0114403(US,A1)
【文献】米国特許出願公開第2017/0028993(US,A1)
【文献】特開2013-171547(JP,A)
【文献】国際公開第2019/239778(WO,A1)
【文献】特開2006-031607(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/54
G06F 9/445
(57)【特許請求の範囲】
【請求項1】
車載機器を制御する制御部と記憶部とを備える車載機器制御装置であって、
前記制御部は、ソフトウェアの構成として、
前記車載機器についての諸機能を実現するためのアプリケーションが実装されたアプリケーション層と、
アプリケーションから受け取ったコマンドをハードウェア用のコマンドに変換するデバイスドライバ
ユニットを含むデバイスドライバ層であって、前記デバイスドライバユニットが、前記車載機器を機能させるペリフェラル機能ユニットのためのデバイスドライバと、車載ネットワークと接続するための通信ドライバとを含む前記デバイスドライバ層と、
前記アプリケーションとデータをやり取りする1または複数の第1通信パケットと、
前記ペリフェラル機能ユニットのための前記デバイスドライバとデータをやり取りする複数の第2通信パケットと
、前記車載ネットワークとデータをやり取りするための外部通信パケットが実装されたミドルウェア層と、
を有し、
前記記憶部は、前記制御部を動作させるためのプログラムが記憶されたコード領域と、データ領域とを備え、
前記記憶部のデータ領域には、それぞれの前記第1通信パケットと前記第2通信パケットとの接続関係を規定した書き換え可能な内部マッピングテーブル、及び、前記第1通信パケットまたは前記第2通信パケットと
前記外部通信パケットとの直接通信経路を規定した書き換え可能な外部マッピングテーブル、が格納され、
前記ミドルウェア層では、前記内部マッピングテーブル及び前記外部マッピングテーブルに基づいて通信経路が生成され、
前記アプリケーション層を介さずに、前記第1通信パケットまたは前記第2通信パケットと前記外部通信パケットとの通信経路が生成される、ことを特徴とする車載機器制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、車載機器制御装置に関する技術分野に属する。
【背景技術】
【0002】
近年では、国家的に自動運転システムの開発が進められており、車両に備えられたアクチュエータのほぼ全てが電子制御されるようになっている。これらアクチュエータの制御を行う制御装置は、AUTOSAR(AUTomotive Open System ARchitecture)の規格に準拠するソフトウェア構造を有することが多い。
【0003】
例えば特許文献1には、ランタイム環境を介して接続された複数のAUTOSARソフトウェア要素を有するAUTOSARソフトウェアシステムに関し、AUTOSARソフトウェア要素をバイパスする方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、AUTOSARのような階層的ソフトアーキテクチャにおいて、アプリケーションは、ペリフェラル毎のデバイスドライバが提供しているAPI(Application Programing Interface)を呼び出し、各I/Oとのやり取りを行う。
【0006】
ここで、例えば、あるECU(ここでは、第1ECUという)がI/Oを介して車載機器から取得された転送データを、車載ネットワーク上にある他のECU(ここでは、第2ECUという)転送する場面を想定する。従来技術では、第1ECUにおいて、I/Oから取得された転送データがアプリケーションに入力され、アプリケーションにおいて通信プロトコルに応じた転送データの変換処理等が実行され、アプリケーションからの指示に基づいて転送データが第2ECUに転送されることになる。
【0007】
そうすると、アプリケーションのプログラムに、第2ECUへのデータ転送プログラムを組み込む必要があり、例えば、特許文献1の技術のように、専用のアプリケーションを用意する必要がある。また、デバイスの接続先のポートが変わったり、デバイスのI/Oの信号形態ややりとりする情報の態様が変わった場合等に、アプリケーションのAPIの呼び出しに係るソースコードを変更する必要があり、ソフトウェアの開発工数が増加してしまう。
【0008】
ここに開示された技術は、斯かる点に鑑みてなされたものであり、その目的とするところは、ソフトウェアの開発工数を低減させることにある。
【課題を解決するための手段】
【0009】
前記課題を解決するために、ここに開示された技術では、車載機器を制御する制御部と記憶部とを備える車載機器制御装置を対象として、前記制御部は、ソフトウェアの構成として、前記車載機器についての諸機能を実現するためのアプリケーションが実装されたアプリケーション層と、アプリケーションから受け取ったコマンドをハードウェア用のコマンドに変換するデバイスドライバと、前記アプリケーションとデータをやり取りする1または複数の第1通信パケットと、前記デバイスドライバとデータをやり取りする複数の第2通信パケットとが実装されたミドルウェア層と、を有し、前記記憶部には、それぞれの前記第1通信パケットと前記第2通信パケットとの接続関係を規定した書き換え可能な内部マッピングテーブル、及び、前記第1通信パケットまたは前記第2通信パケットと前記ミドルウェア層に接続される通信ネットワークとの直接通信経路を規定した書き換え可能な外部マッピングテーブル、が格納され、前記ミドルウェア層では、前記内部マッピングテーブル及び前記外部マッピングテーブルに基づいて通信経路が生成される。
【0010】
本態様によると、車載機器制御装置で取得されたデータをミドルウェア層に接続される通信ネットワークの先に接続された車載機器で利用したい場合に、アプリケーションを介さずにデータをやり取りすることができるので、車載機器制御装置の処理速度を向上させることができる。さらに、車載機器で取得された取得データの行先変更のためにアプリケーションを用意したり、実行させる必要がない。これにより、ソフトウェアの開発工数を大幅に低減することができる。
【発明の効果】
【0011】
以上説明したように、ここに開示された技術によると、車載機器制御装置の処理速度を向上させることができる。また、ソフトウェア開発の工数を大幅に低減することができる。
【図面の簡単な説明】
【0012】
【
図2A】実施形態の車載機器制御装置の構成例を示す図である。
【
図2B】実施形態の車載機器制御装置の構成例を示す図である。
【
図3】比較例の車載機器制御装置の構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。
【0014】
(車両制御システム)
図1は車両制御システムの構成例を示す図である。
図1の車両制御システムは、車両1に搭載されており、車両1の所定のゾーン毎に配置された複数のゾーンECU40と、複数のゾーンECU40を統括する中央演算装置10とを備える。本実施形態の車両制御システムでは、車両1を6つのゾーンに分け、各ゾーンにゾーンECU40が設けられている例を示している。ゾーンECU40は、車載機器を接続することができるように構成されている。また、ゾーンECU40は、車内のネットワーク(以下、車載ネットワークCNWという)を介して伝送される情報を中継するネットワークハブ装置としての機能を有する。本実施形態では、車載ネットワークCNWは、CANプロトコルに準拠したリング状のネットワークであるものとする。なお、車載ネットワークCNWの通信方式は特に限定されず、車載ネットワークCNWがCAN通信プロトコル以外の通信プロトコル(例えば、イーサネット(登録商標)のプロトコル)に準拠したネットワークであってもよい。
【0015】
以下において、説明の便宜上、車両1の左前側の左フロントゾーンに配置されたゾーンECU40を第1ゾーンECU41といい、車両1の左後側の左リアゾーンに配置されたゾーンECU40を第2ゾーンECU42ということがある。また、第1ゾーンECU41と第2ゾーンECU42と間は、CANバスL2で接続されている。
【0016】
〈車載機器〉
車載機器20は、センサデバイス200及び信号受信デバイスを含む入力機器と、アクチュエータ300とを含む。
【0017】
《センサデバイス、信号受信デバイス》
センサデバイス200は、例えば、(1)車両1のボディ等に設けられかつ車外環境を撮影する複数のカメラ201、(2)車両1のボディ等に設けられかつ車外の物標等を検知する複数のレーダ202、(3)全地球測位システム(Global Positioning System:GPS)を利用して、車両1の位置(車両位置情報)を検出する位置センサ(図示省略)、(4)車速センサ、加速度センサ、ヨーレートセンサ等の車両の挙動を検出するセンサ類の出力から構成され車両1の状態を取得する車両状態センサ(図示省略)、(5)車内カメラ203等により構成され、車両1の乗員の状態を取得する乗員状態センサ、(6)運転者の運転操作を検出する運転操作センサ206、(7)キーレス装置を作動させるためのセンサ211(以下、キーレスセンサ211という)を含む。運転操作センサ206は、例えば、アクセル開度センサ、操舵角センサ、ブレーキ油圧センサなどを含む。キーレスセンサ211は、例えば、キーレスリモコン80からの開錠/施錠信号を受信する受信装置と、鍵を所持した運転者が近づいたり、ドアノブに触れたことを検知する人感センサが含まれる。また、センサデバイス200には、乗員による操作を検出するスイッチが含まれる。スイッチは、例えば、乗員が電動ドアを開閉するためのドア開閉スイッチ212、電動パワーウィンドウを動作させるためのスイッチ、ウォッシャーレベルスイッチ、フードスイッチ等を含む。
【0018】
信号受信デバイスは、例えば、外部のネットワークや、他車両からの信号を受信する受信装置が含まれる。
【0019】
《アクチュエータ》
アクチュエータ300は、駆動系のアクチュエータ、操舵系のアクチュエータ、制動系のアクチュエータなどを含む。駆動系のアクチュエータの例としては、エンジン、トランスミッション、モータが挙げられる。制動系のアクチュエータの例としては、ブレーキが挙げられる。操舵系のアクチュエータの例としては、ステアリングが挙げられる。また、アクチュエータ300は、例えば、サイドドアをロックするためのドアロック装置301、電動でドアを開閉させるドア開閉装置302、前照灯FLの点灯を制御する点灯制御装置310、エアバック装置311、音響装置312等を含む。
【0020】
〔車載機器制御装置〕
車載機器制御装置100は、1または複数のゾーンECU40に搭載される。すなわち、車載機器制御装置100は、すべてのゾーンECUに搭載されてもよいし、ゾーンECUの一部に搭載されてもよい。また、車載機器制御装置100が、(1)中央演算装置10に搭載されてもよいし、(2)ゾーンECU40の下位に接続された、各アクチュエータ専用に設けられた専用ECU(図示省略)に搭載されてもよい。専用ECUは、例えば、エンジンを駆動するためのエンジン駆動用ECUが例示される。中央演算装置10及び各ECUは、単一のIC(Integrated Circuit)により構成されてもよいし、複数のICにより構成されてもよい。
【0021】
図2A及び
図2Bは、車載機器制御装置100の構成例を示すブロック図である。車載機器制御装置100は、例えば、CPU150(プロセッサ)とメモリ160とにより構成される。本実施形態では、
図2Aの車載機器制御装置100は第1ゾーンECU41に搭載され、
図2Bの車載機器制御装置100は第2ゾーンECU42に搭載されているものとする。
図2A及び
図2Bにおいて、車載機器制御装置100のハードウェア及びソフトウェアの基本的な構成は同じであり、共通の構成について共通の符号を付している。また、
図2Aと
図2Bとで共通の構成について説明では、まとめて
図2と記載し、個別の説明を省略する場合がある。
【0022】
〈CPU〉
CPU150は、メモリ160からプログラム162を読み出して実行することにより各種の処理をおこなう。具体的には、例えば、センサデバイス200で検出された検出データを読み取ったり、諸機能を実現するために各種の演算処理を行ったり、アクチュエータ300を制御するための制御信号を生成して出力する。CPU150は、制御部の一例である。なお、CPU150の具体的な態様は、特に限定されない。例えば、マイクロコンピュータ(いわゆるマイコン)で実現されていてもよいし、SoC(System-on-Chip)で実現されてもよい。
【0023】
《ハードウェア》
CPU150は、ハードウェアの構成として、メモリ160に格納されたプログラムにしたがって各種の演算処理を実行する演算部と、ペリフェラル機能ユニット180とを備える。ここでいうペリフェラルとは、中央演算装置10及び/またはゾーンECU40と組み合わせて利用される車載機器20を指すものとする。
【0024】
ペリフェラル機能ユニット180は、ペリフェラル、すなわち、車載機器20を機能させるための1または複数のペリフェラル機能部181を備える。
図2に示すように、ペリフェラル機能部181には、例えば、アナログデジタルコンバータ181a(以下、ADC181aという)、デジタル入力部181b、デジタル出力部181c及びPWM制御部181dが含まれる。なお、ペリフェラル機能部181として、
図2の構成181a~181dの一部が搭載されてもよいし、他の構成が含まれていてもよい。なお、以下において、ADC181a、デジタル入力部181b、デジタル出力部181c及びPWM制御部181dの各ペリフェラル機能を特に区別しないで説明する場合、単にペリフェラル機能部181と記載する。
【0025】
ペリフェラル機能部181は、それぞれ、複数のチャネルを有する。各チャネルには、車載機器20の入出力部(例えば、I/O接続用のコネクタ)が接続できるように構成されている。
図2では、上記チャネルとして、ADC181aに入力用のチャネルCHa1,CHa2が、デジタル入力部181bに入力用のチャネルCHb1,CHb2が、デジタル出力部181cに出力用のチャネルCHc1,CHc2が、PWM制御部181dに出力用のチャネルCHc1,CHc2が、それぞれ設けられている例を示している。なお、チャネル数は、2つに限定されず、3つ以上であってもよい。また、単一のペリフェラル機能部181に、入力用及び出力用の両方のチャネルが設けられていてもよい。
【0026】
《ソフトウェア》
CPU150は、ソフトウェアの構成として、最上位のアプリケーション層120と、アプリケーション層の下位にあるミドルウェア層130と、ミドルウェア層130の下位にあるデバイスドライバ層140とを有する。CPU150は、いわゆるAUTOSARに準拠したソフトウェア構造を採用してもよい。この場合、アプリケーション層120は、AUTOSARのアプリケーション層に対応し、例えば、1または複数のSWC(Software Component)モジュールで構成される。また、ミドルウェア層130及びデバイスドライバ層140はBSW(Basic Software)に相当し、デバイスドライバ層140はMCAL(Microcontroller Abstraction Layer)に相当する。なお、ミドルウェア層130をComplex Driverとして実装してもよい。
【0027】
アプリケーション層120には、車載機器20に対する諸機能を実現するためのアプリケーション121が実装される。アプリケーション121には、周知構成のものが採用できる。アプリケーション121の具体例について、後ほど説明する。
【0028】
デバイスドライバ層140には、アプリケーション121から受け取ったコマンドをハードウェア用のコマンドに変換するデバイスドライバユニット141が実装される。
【0029】
デバイスドライバユニット141には、ペリフェラル機能ユニット180に含まれるペリフェラル機能部181毎のデバイスドライバが実装される。前述のとおり、
図2の例では、ペリフェラル機能部181として、ADC181a、デジタル入力部181b、デジタル出力部181c及びPWM制御部181dが含まれる。そこで、デバイスドライバユニット141には、ADC181aのためのデバイスドライバであるADCドライバ141aと、デジタル入力部181b及びデジタル出力部181cのためのデバイスドライバであるDIOドライバ141bと、及びPWM制御部181dのためのデバイスドライバであるPWMドライバ141dとが含まれる。すなわち、ADCドライバ141aはADC181aに接続され、DIOドライバ141bはデジタル入力部181b及びデジタル出力部181cに接続され、PWMドライバ141dはPWM制御部181dに接続される。
【0030】
また、デバイスドライバユニット141には、車載ネットワークCNWと接続するための通信ドライバ141eが含まれる。通信ドライバ141eは、車載ネットワークCNWの通信プロトコルに準拠したものとなる。例えば、車載ネットワークがCAN(Controller Area Network)プロトコルに準拠して構成されている場合、通信ドライバ141eとしてCANドライバを設ける。なお、本開示の技術が適用できる車載ネットワークの通信プロトコルは、CANに限定されず、例えば、イーサネット等の他の通信プロトコルであってもよい。
【0031】
デバイスドライバは、ハードウェア依存性のあるソフトウェアである。一般的に、デバイスドライバ層140には、ハードウェアに依存しないソフトウェア(例えば、オペレーティングシステム等)も実装されるが、本願発明との関連性が低いので、本実施形態では、図示及び説明を省略している。
【0032】
ミドルウェア層130は、アプリケーション121とデータをやり取りするための1または複数の第1通信パケット131と、デバイスドライバとデータをやり取りするための1または複数の第2通信パケット132と、車載ネットワークとデータをやり取りするための外部通信パケット133と含むマッピングモジュール134が実装される。
【0033】
図2の例では、第1通信パケット131として、IO_1,IO_2,…IO_X(Xは自然数)が実装されている。第2通信パケット132として、(1)ADCドライバ141aとデータをやり取りするためのADC_1,ADC_2,…ADC_L(Lは自然数)、(2)DIOドライバ141bとデータをやり取りするためのDI_1,DI_2,…DI_M(Mは自然数)及びDO_1,DO_2,…DO_N(Nは自然数)、(3)PWMドライバ141dとデータをやり取りするためのPWM_1,PWM_2,…PWN_Q(Qは自然数)が実装されている。外部通信パケット133として、SIG_A,SIG_Bが実装されている。
【0034】
ここで、外部通信パケット133は、車載ネットワークにデータを転送するために、車載ネットワークCNWに適合するようなパケット構成になっている。例えば、車載ネットワークCNWがCANの場合、通信パケットSIG_A,SIG_Bは、通信ドライバ141eを介して、他のゾーンECU40や中央演算装置10との間で、CAN通信プロトコルに準拠した通信ができるように構成されている。より具体的には、通信パケットSIG_A,SIG_Bには、例えば、CAN通信の「標準フォーマット」または「拡張フォーマット」のデータフレームを作成するために、センサデバイス200から取得したデータのサイズ調整処理や、形式変換等のデータ加工処理が施されて格納される。上記のサイズ調整処理やデータ加工処理は、例えば、コード領域161で定義されていてもよいし、データ領域165において、書き換え可能な形式等で保存されていてもよい。
【0035】
また、具体的に図示はしないが、
図2では、以下の接続関係がある。通信パケットADC_1はADC181aのチャネルCHa1に、通信パケットADC_2はADC181aのチャネルCHa2にそれぞれ接続される。通信パケットDI_1はデジタル入力部181bのチャネルCHb1に、通信パケットDI_2はデジタル入力部181bのチャネルCHb2にそれぞれ接続される。通信パケットDO_1はデジタル出力部181cのチャネルCHc1に、通信パケットDO_2はデジタル出力部181cのチャネルCHc2にそれぞれ接続される。通信パケットPWM_1はPWM制御部181dのチャネルCHd1に、通信パケットPWM_2はPWM制御部181dのチャネルCHd2にそれぞれ接続される。
【0036】
マッピングモジュール134は、メモリ160に格納された内部マッピングテーブル166aに基づいて、アプリケーション層120とデバイスドライバとの通信経路を生成する。また、外部マッピングテーブル166bに基づいて、第1通信パケット131または第2通信パケット132と、外部通信パケット133との通信経路を生成する。個別の通信経路の生成例については、後ほど説明する。
【0037】
なお、図示しないが、ミドルウェア層130において、アプリケーション層120とマッピングモジュール134との間に、ランタイム環境(RTE)が実装されていてもよい。ランタイム環境は、アプリケーション121とデバイスドライバ層140に実装されたソフトウェアとを抽象化して接続するように構成される。
【0038】
〈メモリ〉
メモリ160は、記憶領域として、CPU150を動作させるためのプログラム162が記憶されたコード領域161と、CPU150での処理結果及びマッピングテーブル166等のデータを記憶する書き換え可能なデータ領域165とを備える。
【0039】
《コード領域》
コード領域には、例えば、車載機器制御装置100の設計段階において、あらかじめ作成されたプログラム162がコンパイルされて実装されている。例えば、
図2Aのケースにおいて、第1ゾーンECU41のコード領域161には、第1ゾーンECU41のアプリケーション121を動作させるためのプログラム162が格納されている。例えば、
図2Bのケースにおいて、第2ゾーンECU42のコード領域161には、第2ゾーンECU42のアプリケーション121を動作させるためのプログラム162が格納されている。
【0040】
なお、本実施形態では、第1ゾーンECU41は、キーレスセンサ211及びドア開閉スイッチ212の出力は、使用しないものとする。したがって、第1ゾーンECU41のコード領域161には、キーレスセンサ211及びドア開閉スイッチ212に基づいたアクチュエータ300の制御に関する処理が含まれていないものとする。後述する
図3についても同様とする。一方で、第2ゾーンECU42は、第1ゾーンECU41での検出結果を用いて、左サイドドアの制御をするものとする。したがって、第2ゾーンECU42のコード領域161には、キーレスセンサ211の検出結果及びドア開閉スイッチ212の操作結果の入力データを取得するプログラム及びその入力データに基づいたドアロック装置301及びドア開閉装置302の制御プログラムが格納されている。
【0041】
《データ領域》
前述のとおり、データ領域165には、マッピングテーブル166が格納されている。マッピングテーブル166は、内部マッピングテーブル166aと、外部マッピングテーブル166bとを含む。なお、発明の理解が容易になるように、便宜上、内部マッピングテーブル166aと外部マッピングテーブル166bとを分けて規定しているが、データまたはデータ領域として、両マッピングテーブル166a,166bが明確に分離されている必要はない。例えば、内部マッピングテーブル166aと外部マッピングテーブル166bとがデータ領域165内で混在して配置または混合して配置されていても構わない。また、単一ユニットのデータ(例えば、単一のプログラムコード)に対して、内部マッピングテーブル166a及び外部マッピングテーブル166bの両方の情報が含まれていてもよい。
【0042】
内部マッピングテーブル166aは、第1通信パケット131と第2通信パケット132との接続関係を規定したテーブルである。より具体的には、例えば、複数の第1通信パケット131と複数の第2通信パケット132がある場合に、それぞれの接続対象となる通信パケットが規定されている。
図2Aのケースでは、通信パケットIO_1の接続対象が通信パケットADC_1であり、通信パケットIO_2の接続対象が通信パケットDI_2であることが規定されている。
図2Bのケースでは、通信パケットIO_3の接続対象が通信パケットDO_1であり、通信パケットIO_Xの接続対象が通信パケットPWM_1であることが規定されている。なお、第1通信パケット131または第2通信パケット132のいずれか一方が単一のパケットであってもよい。
【0043】
外部マッピングテーブル166bは、第1通信パケット131または第2通信パケット132と車載ネットワークCNWとの直接通信経路を規定したテーブルである。より具体的には、第1通信パケット131または第2通信パケット132と外部通信パケット133との通信経路が規定されている。
図2Aのケースでは、通信パケットIO_1の接続対象が通信パケットSIG_Aであり、通信パケットIO_2の接続対象が通信パケットSIG_Bであることが規定されている。
図2Bのケースでは、通信パケットIO_1の接続対象が通信パケットSIG_Aであり、通信パケットIO_2の接続対象が通信パケットSIG_Bであることが規定されている。
【0044】
〔車載機器制御装置の動作例〕
次に、
図2A及び
図2Bを用いて、車載機器制御装置100の動作の一例を説明する。前述のとおり、
図2Aの車載機器制御装置100は第1ゾーンECU41に搭載され、
図2Bの車載機器制御装置100は第2ゾーンECU42に搭載されているものとする。また、第1ゾーンECU41及び第2ゾーンECU42の各通信パケットSIG_A、SIG_Bは、第1ゾーンECU41と第2ゾーンECU42との間で車載ネットワークCNWを介して相手方のECUに搭載された対応する通信パケットSIG_A、SIG_Bと通信パケットを送受信できるように構成されている。通信パケットSIG_A、SIG_B同士の双方向通信(相互間のデータの送受信)については、周知技術が適用できる。具体的に、例えば、車載ネットワークをCAN通信とする場合、データの有無にかかわらず通信パケットを周期的に送信すること、または、所定のトリガに応じて通信パケットを送信することが行われる。上記の通信パケットSIG_A、SIG_Bは、その両方に対応することができ、そのようなパケット通信に対応した構成になっている。
【0045】
第1ゾーンECU41には、主に車両1の左フロントゾーンに配置されたセンサデバイス200及びアクチュエータ300が接続される。
図1では、第1ゾーンECU41に、車両左側を撮像するカメラ201、キーレスセンサ211及びドア開閉スイッチ212が接続された例を示している。
図2Aに示すように、キーレスセンサ211はADC181aのチャネルCHa1に接続され、ドア開閉スイッチ212はデジタル入力部181bのチャネルCHa2に接続されている。
図2Aでは、カメラ201の図示を省略している。
【0046】
第2ゾーンECU42には、主に車両1の左リアゾーンに配置されたセンサデバイス200及びアクチュエータ300が接続される。
図1では、第2ゾーンECU42に、車両左後方の障害物を検出するためのレーダ202、左サイドドアをロックするためのドアロック装置301、左サイドドアを自動で開閉させるためのドア開閉装置302及び音響装置312が接続された例を示している。
図2Bに示すように、ドアロック装置301はデジタル出力部181cのチャネルCHc1に接続され、ドア開閉装置302はPWM制御部181dのチャネルCHd1に接続されている。
図2Bでは、レーダ202及び音響装置312の図示を省略している。
【0047】
まず、
図2Aの第1ゾーンECU41において、キーレスセンサ211の読み出し処理について説明する。キーレスセンサ211からの検出信号がチャネルCHa1から受信されると、検出信号はADCドライバ141aを介して、通信パケットADC_1としてマッピングモジュール134に送信される。マッピングモジュール134では、まず、内部マッピングテーブル166aが適用され、通信パケットADC_1は通信パケットIO_1に送信される。次に、外部マッピングテーブル166bが適用され、通信パケットIO_1は通信パケットSIG_Aに送信される。前述のとおり、第1ゾーンECU41の通信パケットSIG_Aは、通信ドライバ141eを介して第2ゾーンECU42の通信パケットSIG_Aにデータを送信するように構成されている。
【0048】
次に、
図2Aの第1ゾーンECU41において、ドア開閉スイッチ212の読み出し処理について説明する。ドア開閉スイッチ212からの検出信号がチャネルCHb2から受信されると、検出信号は、DIOドライバ141bを介して、通信パケットDI_2としてマッピングモジュール134に送信される。マッピングモジュール134では、まず、内部マッピングテーブル166aが適用され、通信パケットDI_2は通信パケットIO_2に送信される。次に、外部マッピングテーブル166bが適用され、通信パケットIO_2は通信パケットSIG_Bに送信される。前述のとおり、第1ゾーンECU41の通信パケットSIG_Bは、通信ドライバ141eを介して第2ゾーンECU42の通信パケットSIG_Bにデータを送信するように構成されている。
【0049】
このようにして、キーレスセンサ211の検出信号及びドア開閉スイッチ212の検出信号は、第1ゾーンECU41のアプリケーション121を介することなく、第2ゾーンECU42に送信される。
【0050】
図2Bの第2ゾーンECU42において、第1ゾーンECU41からキーレスセンサ211の検出信号を受信すると、その受信信号は、通信ドライバ141eを介して通信パケットSIG_Aに格納される。マッピングモジュール134では、まず、外部マッピングテーブル166bが適用され、通信パケットSIG_Aは、通信パケットIO_1に送信される。通信パケットIO_1は、アプリケーション121によって読み出される。第2ゾーンECU42のアプリケーション121では、第1ゾーンECU41から受信したキーレスセンサ211の検出信号に基づいてドアロック装置301の施錠/開錠処理についての命令をパケット化し、マッピングモジュール134に通信パケットIO_3として送信する。マッピングモジュール134では、内部マッピングテーブル166aが適用される。前述のとおり、内部マッピングテーブル166aにおいて、通信パケットIO_3は、通信パケットDO_1に接続されている。これにより、アプリケーション121の命令に基づいてDIOドライバ141bが動作し、ドアロック装置301の施錠または開錠が実行される。
【0051】
同様にして、
図2Bの第2ゾーンECU42において、第1ゾーンECU41からドア開閉スイッチ212の検出信号を受信すると、その受信信号は、通信ドライバ141eを介して通信パケットSIG_Bに格納される。マッピングモジュール134では、まず、外部マッピングテーブル166bが適用され、通信パケットSIG_Bは、通信パケットIO_2に送信される。通信パケットIO_2は、アプリケーション121によって読み出される。第2ゾーンECU42のアプリケーション121では、第1ゾーンECU41から受信した開閉スイッチ212の検出信号に基づいて左サイドドアの開閉処理についての命令をパケット化し、マッピングモジュール134に通信パケットIO_4として送信する。マッピングモジュール134では、内部マッピングテーブル166aが適用される。前述のとおり、内部マッピングテーブル166aにおいて、通信パケットIO_4は、通信パケットPWM_1に接続されている。これにより、アプリケーション121の命令に基づいてPWMドライバ141dが動作し、ドア開閉装置302が駆動され、左サイドドアの開閉制御が実行される。なお、上記実施形態では、通信パケットSIG_Bが通信パケットIO_2に送信されてアプリケーション121によって読み出されるものとしたが、これに限定されない。例えば、マッピングモジュール134において、通信パケットSIG_Bをアプリケーション121を介さずに通信パケットPWM_1に送信し、通信パケットPWM_1からPWMドライバ141dに送信するようにしてもよい。このようなアプリケーション121を介さずに処理を行うような場合に、ゾーンECU40からアプリケーション層120をなくしてもよい。その場合に、第1通信パケット131をなくして、外部通信パケット133と第2通信パケット132とを接続するようなマッピングテーブルを用意し、そのマッピングテーブルに基づいてルーティングを実行するようにしてもよい。
【0052】
〔比較例〕
図3に
図2Aの構成との比較例を示す。なお、
図2Aと
図3で共通する構成については、下2桁の数字または下2桁及びその後ろの符号を共通にしている。例えば、車載機器制御装置500は、車載機器制御装置100に相当する。
【0053】
図3では、ミドルウェア層530として単一の通信パケットが実装されている。また、アプリケーション121がCAN通信を行うための通信ドライバ541eに直接接続されている。それ以外の構成は、
図2Aと共通である。
【0054】
具体的に、
図3のプログラム562では、コード領域561において、CPU550を動作させるため処理内容が実装される。プログラム562には、各処理内容を送信するミドルウェア層530での通信パケットについて、ペリフェラル機能部181での接続先チャネルがあわせて設定される。このような構成にすることにより、上記実施形態と同様の動作を実現することができる。
【0055】
一方で、
図3の構成では、チャネルCHa1からADC581aに入力されたキーレスセンサ211の検出信号は、ADCドライバ541a及び通信パケットADC_1を介してアプリケーション521に入力される。そして、アプリケーション521から通信ドライバ541eを介して、車載ネットワークCNWにキーレスセンサ211の検出信号が出力される。同様に、チャネルCHb2からデジタル入力部581bに入力されたドア開閉スイッチ212の検出信号は、DIOドライバ541b及び通信パケットDI_2を介してアプリケーション521に入力され、アプリケーション521から通信ドライバ541eを介して、車載ネットワークCNWにドア開閉スイッチ212の検出信号が出力される。
【0056】
以上のように、本実施形態の車載機器制御装置100において、CPU150は、ソフトウェアの構成として、アプリケーション層120と、ミドルウェア層130と、デバイスドライバユニット141とを有する。そして、ミドルウェア層130には、アプリケーションとデータをやり取りする第1通信パケット131と、デバイスドライバとデータをやり取りする第2通信パケット132とが実装されている。そして、メモリ160に、第1通信パケット131と第2通信パケット132との接続関係を規定した書き換え可能な内部マッピングテーブル166a、及び、第1通信パケット131または第2通信パケット132とミドルウェア層130に接続される車載ネットワークCNWとの直接通信経路を規定した書き換え可能な外部マッピングテーブル166bとを格納している。ミドルウェア層130では、内部マッピングテーブル166aと外部マッピングテーブル166bとに基づいて、アプリケーション121を介さずにミドルウェア層130において閉じられた形で各通信パケットと車載ネットワークCNWとの通信経路を生成するようにしている。
【0057】
これにより、例えば、第1ゾーンECU41に接続された車載機器20(例えば、センサデバイス200)で得られたデータを、車載ネットワークCNWで接続された他のゾーンECU40(例えば、第2ゾーンECU42)で利用したい場合に、第1ゾーンECU41において、アプリケーション121のプログラムコードでの手当なしに車載ネットワークCNWにデータを流すことができる。また、上記のように、ゾーンECU40で得られた取得データを、車載ネットワークCNWで接続された他のゾーンECU40で利用したい場合に、取得データの行先変更のためにアプリケーション121を用意したり、実行させる必要がない。これにより、ソフトウェアの設計工程及び検証工程を簡素化することができ、ソフトウェアの開発工数を大幅に低減することができる。また、アプリケーション121を介さずにゾーンECU40間でデータをやり取りすることができるので、車載機器制御装置100の処理速度を向上させることができる。
【0058】
ここに開示された技術は、前述の実施形態に限られるものではなく、請求の範囲の主旨を逸脱しない範囲で代用が可能である。また、前述の実施形態は単なる例示に過ぎず、本開示の範囲を限定的に解釈してはならない。本開示の範囲は請求の範囲によって定義され、請求の範囲の均等範囲に属する変形や変更は、全て本開示の範囲内のものである。
【0059】
例えば、上記実施形態では、外部マッピングテーブル166bにおいて、外部通信パケット133と第1通信パケット131との接続関係が規定されているものとしたが、これに限定されない。例えば、外部マッピングテーブル166bにおいて、外部通信パケット133の構成要素と、第2通信パケット132の構成要素との接続関係が規定されていてもよい。また、外部マッピングテーブル166bにおいて、外部通信パケット133の構成要素と第1通信パケット131の構成要素との接続関係、外部通信パケット133の構成要素と第2通信パケット132の構成要素との接続関係の両方が規定されていてもよい。
【産業上の利用可能性】
【0060】
ここに開示された技術は、車載機器制御装置を設計するのに有用である。
【符号の説明】
【0061】
100 車載機器制御装置
120 アプリケーション層
121 アプリケーション
130 ミドルウェア層
131 第1通信パケット
132 第2通信パケット
141a ADCドライバ(デバイスドライバ)
141b DIOドライバ(デバイスドライバ)
141d PWMドライバ(デバイスドライバ)
150 CPU(制御部)
160 メモリ(記憶部)
166a 内部マッピングテーブル
166b 外部マッピングテーブル