(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154992
(43)【公開日】2024-10-31
(54)【発明の名称】電子制御装置及び電子制御方法
(51)【国際特許分類】
G06F 9/54 20060101AFI20241024BHJP
【FI】
G06F9/54 A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023069285
(22)【出願日】2023-04-20
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110000486
【氏名又は名称】弁理士法人とこしえ特許事務所
(72)【発明者】
【氏名】柳浦 佳典
(57)【要約】
【課題】通信用のデータを記憶するバッファの消費量を抑制できる電子制御装置を提供する。
【解決手段】
本実施形態に係る電子制御装置100は、複数のSW-C1~3と、RTE4と、メモリ5とを備え、メモリ5は、SW-C1の送信ポート11とSW-C2の受信ポート21との間で送受信される第1データを記憶するバッファと、SW-C2の送信ポート12とSW-C2の受信ポート22との間で送受信される第2データを記憶するバッファとを共用した共用バッファである。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のソフトウェアコンポーネント(SW-C)と、
前記複数のSW-Cを接続するランタイム環境(RTE)と、
前記RTE上に設けられるメモリとを備え、
前記複数のSW-Cは、
第1送信ポートを含む第1SW-C、第1受信ポートと第2送信ポートを含む第2SSW-C、及び、第2受信ポートを含む第3SW-Cを有し、
前記メモリは、
前記第1送信ポートと前記第2受信ポートとの間で送受信される第1データを記憶するバッファと、前記第2送信ポートと前記第2受信ポートとの間で送受信される第2データを記憶するバッファとを共用した共用バッファであり、
前記第1データと前記第2データのいずれか一方を記録する電子制御装置。
【請求項2】
請求項1記載の電子制御装置において、
前記第1送信ポートと前記第1受信ポートは、前記第1データの通信用のポートとしてグループ化され、
前記第2送信ポートと前記第2受信ポートは、前記第2データの通信用のポートとしてグループ化されている電子制御装置。
【請求項3】
請求項1又は2記載の電子制御装置において、
前記複数のSW-Cは、
3つ以上の前記SW-Cをデイジーチェーンで接続したSW-Cグループを複数有し、
前記メモリは、前記SW-Cグループ内で送受信されるデータを記憶する前記共用バッファとして、前記SW-Cグループ毎に設けられている電子制御装置。
【請求項4】
請求項1又は2記載の電子制御装置において、
前記RTEは、
前記第1送信ポートと前記第1受信ポートを選択して、前記第1データの通信を実行し、
前記第2送信ポートと前記第2受信ポートを選択して、前記第2データの通信を実行する電子制御装置。
【請求項5】
請求項1又は2記載の電子制御装置において、
前記メモリは、
前記第1データを前記共用バッファに記憶し、
前記共用バッファに記憶された前記第1データに、前記第2データを上書きして、前記共用バッファを更新する電子制御装置。
【請求項6】
請求項1又は2記載の電子制御装置において、
前記共用バッファの記録容量は、
前記第1データの最大容量及び前記第2データの最大容量うち大きい方のデータ容量以上、前記第1データの最大容量と前記第2データの最大容量とを合計したデータ容量未満である電子制御装置。
【請求項7】
電子制御装置により実行され、複数のソフトウェアコンポーネント(SW-C)の間でデータの送受信を行う電子制御方法であって、
前記電子制御装置は、
第1SW-Cに含まれる第1送信ポートと第2SW-Cに含まれる第1受信ポートとの間で送受信される第1データを記憶するバッファと、前記第2SW-Cに含まれる第2送信ポートと第3SW-Cに含まれる第2受信ポートとの間で送受信される第2データを記憶するバッファとを共用した共用バッファを備え、
前記第1送信ポートから前記第1データを出力し、
前記第1データが前記共用バッファに記録された後に、前記第1受信ポートから前記第1データを入力して、前記第1データの入力後に、前記第2送信ポートから前記第2データを出力し、
前記第2データが前記共用バッファに記録された後に、前記第2受信ポートから前記第2データを入力する電子制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子制御装置及び電子制御方法に関するものである。
【背景技術】
【0002】
例えば、特許文献1記載の車両用制御システムは、連携制御の実行を管理する連携制御実行管理部を有している。この連携制御実行管理部は、複数の連携制御の各々について、複数のドメイン制御部アプリケーションで個別に実行される個別制御と、その個別制御間のデータの入出力関係とに関する情報を記憶した記憶部を含んでいる。記憶部は、個別制御間のデータの入出力関係に関する情報が記憶されている。またRTEが、ドメイン制御部アプリケーション間の通信を提供している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら上記車両制御システムにおいて、複数のドメイン制御部アプリケーションが、互いにデータを送受信して複数の連携制御を行う場合には、RTEにより通信されるデータを保存するためのバッファを記録部に設ける。このとき、ドメイン制御部アプリケーションの互いに通信経路毎に、専用のバッファをそれぞれ設けた場合には、通信用データを記憶するバッファの消費量が大きくなるという問題がある。
【0005】
本発明が解決しようとする課題は、通信用のデータを記憶するバッファの消費量を抑制できる電子制御装置及び電子制御方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は、SW-Cの送信ポートとSW-Cの受信ポートとの間で送受信される第1データを記憶するバッファと、SW-Cの送信ポートとSW-Cの受信ポートとの間で送受信される第2データを記憶するバッファとを共用することによって、上記課題を解決する。
【発明の効果】
【0007】
本発明は、通信に使用されるバッファの消費量を抑制できる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本実施形態に係る電子制御装置のソフトウェア構造の概略図である。
【
図4】
図4は、比較例に係る電子制御装置のソフトウェア構造の概略図である。
【
図5】
図5は、変形例に係る電子制御装置のソフトウェア構造の概略図である。
【発明を実施するための形態】
【0009】
以下、本発明に係る電子制御装置及び電子制御方法の実施の形態を図面に基づいて説明する。
【0010】
図1は、本実施形態に係る電子制御装置100のソフトウェア構造の概略図である。電子制御装置100は、車両に搭載される電子制御ユニット(ECU)であり、車両の負荷を制御するコントローラである。車両には、数百程度の電子制御装置100が搭載されており、各電子制御装置100は、車両の駆動システムの制御や、ライト等の補器系統の制御等、車両の各機能を制御する。
【0011】
電子制御装置100は、
図1に示すように、Autosar(AUTomotive Open System Architecture)に準拠するソフトウエア構造を有している。電子制御装置100は、複数のソフトウェアコンポーネント(SW-C)1~3と、複数のSW-Cを接続するランタイム環境(RTE)4と、RTE4上に設けられるメモリ5を備えている。複数のSW-C1~3はアプリケーション層に設けられている。電子制御装置100のソフトウェア子構造は、アプリケーション層及びRTE4(RTE層)の他に、BSW層(Basic Software)を含む。BSW層は、
図1では図示を省略しているが、基本ソフトウェアモジュール等を含んでいる。
【0012】
SW-C1~3は、電子制御装置100が機能(制御処理)を実行される処理のプログラム(アプリケーション)である。SW-C1~3は、電子制御装置100に含まれるハードウェアにより実行され、他のアプリケーションとの間でデータの入手を行い、またデータ処理を行う。近年のアプリケーション複雑化に伴い、アプリケーション層に含まれるSW-C1~3の数は数百以上になっている。なお、
図1の例では、数百以上のSW-Cの中から3つSW-C1~3が図示されているが、電子制御装置100は、4個以上のSW-Cを有している。
【0013】
SW-C1は送信ポート11を含み、SW-C2は送信ポート11及び受信ポート21を含み、SW-C3は受信ポート22を含む。送信ポート11と受信ポート21がRTE上のメモリ5を介して接続されており、送信ポート12と受信ポート22がメモリ5を介して接続されている。またSW-C1~3はデイジーチェーンで接続されている。そして、送信ポート11及び受信ポート21は、SW-C1の送信ポート11とSW-C2の受信ポート21との間で送受信されるデータ(以下、第1データとも称す)用のSender/Receiverポートとしてグループ化されている。また、送信ポート12及び受信ポート22は、SW-C2の送信ポート12とSW-C3の受信ポート22との間で送受信されるデータ(以下、第2データとも称す)用のSender/Receiverポートとしてグループ化されている。なお、送信ポート11、12は本発明の「第1、第2送信ポート」に相当し、受信ポート21、22は本発明の「第1、第2受信ポート」に相当する。
【0014】
REC4は、SW-C1~3を接続する通信用のインタフェースレイヤーであり、複数のSW-C1~3間の通信とSW-C1~3とBSWとの通信を実現する。なお通信は、データ通信やAPI呼び出しである。AUTOSARでは、RTE4を通して、複数のSW-C1~3間の通信が行われ、SW-CとBSWとの間の通信もRTE4を通して行われる。REC4は、複数のSW-C1~3間の通信用のメモリ5を備えている。REC4は、SW-C1とSW-C2との間でデータを通信する場合には、送信ポート11と受信ポート21を選択し、SW-C2とSW-C3との間でデータを通信する場合には、送信ポート12と受信ポート22を選択する。メモリ5はRTE4上に設けられ、SW-C1~3間で送受信されるデータを記憶するバッファ(RAM)である。
【0015】
電子制御装置100に含まれるSW-C1~3の数が増えると、SW-C間の通信で送受信されるデータの容量や、通信回数が増える。REC4は、メモリ5に通信用バッファを確保してデータの送受信を実現しているが、通信されたデータ容量が増加すると、通信用バッファの消費量も多くなる。メモリ5は、第1データを記憶するバッファと、第2データを記憶するバッファとを共用した共用バッファである。言い換えると、メモリ5は、SW-C1とSW-C2との間で送受信されるデータを一時的に記憶(保持)する領域と、SW-C2とSW-C3との間で送受信されるデータを一時的に記憶する領域とが、同じ領域に割り当てられている。メモリ5の共用バッファは、第1データと第2データのいずれか一方を記憶でき、第1データと第2データを共に記憶しない。メモリ5の共用バッファの記憶容量は第1データの最大容量及び第2データの最大容量うち大きい方のデータ容量以上であり、第1データの最大容量と第2データの最大容量とを合計したデータ容量未満である。つまり、メモリ5は、一対のSW-C1~3の間で送受信されるデータの容量で大きい方を記憶できる容量を有している。
【0016】
次に、複数のSW-C1~3間におけるデータ送受信方法(電子制御方法)について説明する。電子制御装置100に含まれる複数のSW-CのうちSW-C1~3は、共用バッファを介してデイジーチェーンで接続されており、以下の条件(1)、(2)を満たすデータ通信を行う。
(1)SW-C1とSW-C2との間でデータを送受信し、SW-C2とSW-C3との間でデータを送受信すること
(2)メモリ5の共用バッファにおけるデータ更新(記憶)が、第1データ、第2データの順番で行われること
【0017】
条件(1、2)を満たす通信は、AUTOSARで規定された処理順序の下、1つのパイプライン処理でシリアルにデータ通信を行うようなケース(以下、ケースAとも称す)や、例えば、診断コマンド等、電子制御装置100の異常診断のために必要なデータを転送するようなケース(以下、ケースBとも称す)で行われる。
【0018】
ケースAの一例として、車両が停車中か否かを判定するための制御処理として、以下の制御フローが電子制御装置100で実行される。
ステップS1:SW-C1は車速データをSW-C2に出力する。
ステップS2:SW-C2は車速データから車速が0であるか0より大きいか判定処理を行い、判定結果を「0」と「1」で示した判定結果データをSW-C3に出力する。
ステップS3:SW-C3には、判定結果データが入力され、SW-C3は、判定結果「0」である場合には車両停車中と判定し、判定結果「1」である場合には車両停車中ではないと判定する。
【0019】
上記ケースAの一例では、ステップS1で車速データがメモリ5の共用バッファに記録される。SW-C2がステップS2の処理を実行すると、共用バッファに記録された車速データが受信ポート21から入力され、車速の判定処理後に、判定結果データが送信ポート12から出力され、共用バッファに記録される。つまり、共用バッファに記録された車速データは、SW-C2の処理後は不要になるため、メモリ5のうちデータ転送用のバッファを共用して判定結果データの転送用に使用する。これにより、データ転送用バッファの消費量を抑制できる。
【0020】
またケースBの診断コマンドは、USD(Unified Diagnostic Service)で規定されており、ECUの異常診断時には複数の診断コマンドは同時に実行されない。診断コマンドは、SW-C1からSW-C2に送信され、その後、SW-C2からSW-C3に送信されるため、診断コマンドの転送に使用されるバッファを共用できる。これにより、データ転送用バッファの消費量を抑制できる。
【0021】
電子制御装置100は、各種処理をタスクで実現しており、タスクにはRannable(Rannableインタフェース)が割り付けられている。Rannableは処理単位を示しており、処理順序、データ入出力のポート、送受信されるデータのデータサイズ等で示される。
図2は、Rannableの概念図(表)である。Rannable Aでは、「送信ポート11から2バイトのデータ(第1データ)を出力する」処理が実行される。Rannable Bでは、「受信ポート21からデータが入力し、送信ポート12から4バイトのデータ(第2データ)が出力する」処理が実行される。Rannable Cでは、「受信ポート22からデータが入力する」処理が実行される。
【0022】
図3はタスク(TASK)の概念図である。電子制御装置100は、Runnable間の実行プライオリティを同一にする為に、同一タスクへ実行を割り付けており、タスク内で定義づけた順に、Rannableを実行する。
図3の例では、TASK Dにて、Rannable A、Rannable B、Rannable Cの順番で実行される。
【0023】
具体的には、SW-C1はRannable Aを実行する。第1データがメモリ5の共用バッファに記録される。SW-C2は、第1データの記録をトリガーにして、Rannable Bを実行する。メモリ5の共用バッファには、第2データが記録される。つまり、共用バッファに記録されていた第1データに、第2データを上書きして、共用バッファを更新する。SW-C3は、第2データの記録をトリガーにして、Rannable Cを実行する。このように、デイジーチェーンで接続された複数のSW-C1~3の通信では、共用バッファのデータ更新順序が決められており、入出力データ(第1、第2データ)の転送用バッファが同一メモリで共用されている。さらに、互いに異なるポートで送受信されるデータは、サイズの異なるものでもよい。
【0024】
なお、SW-C1~3間でデータを送受信する際に、メモリ5でバッファを共有するために、メモリ共有化のコード(ユニオン)を用いてもよい。ユニオンは、Rannable A~Cを実行するためのプログラムに含まれており、メモリ5における、第1データと第2データの記憶領域を共有化するコードである。
【0025】
次に、比較例に係る電池制御装置のメモリ51、52と比較して、共用バッファの消費量について説明する。
図4は比較例に係る電子制御装置100のソフトウェア構造の概略図である。
図4に示すように、RTE4上のメモリ51、52は共用バッファではなく、メモリ51は第1データを記憶するバッファであり、SW-C1とSW-C2との間で送受信されるデータを記憶する領域として割り当てられている。メモリ52は第2データを記憶するバッファであり、SW-C2とSW-C3との間で送受信されるデータを記憶する領域として割り当てられている。メモリ51の記憶容量は第1データの最大容量であり、メモリ52の記憶容量は第2データの最大容量である。例えば第1データの最大容量が384byteである場合には、メモリ51には、少なくとも384byteを記憶容量とするバッファが使用される。また、例えば第2データの最大容量が512byteである場合には、メモリ52には、少なくとも512byteを記憶容量とするバッファが使用される。そして、複数のSW-C1~3間の通信において、データ記憶のために消費されるバッファの消費量は、メモリ51とメモリ52の合計記憶容量である864byteとなる。
【0026】
一方、本実施形態では、メモリ5は、第1データを記憶するバッファと、第2データを記憶するバッファとを共用した共用バッファであるため、最大容量が大きい方の第1データを記憶できる容量(512byte)を記憶容量とすればよい。つまり、本実施形態では比較例に比べて、384byte分の消費量を削減できる。なお、車載用のメモリの容量は数百Kbyteから数Mbyteのもとが使用されていることから、384byteの削減量はかなり有効なものである。
【0027】
上記のように本実施形態に係る電子制御装置100は、複数のSW-C1~3と、RTE4と、メモリ5とを備え、メモリ5は、SW-C1の送信ポート11とSW-C2の受信ポート21との間で送受信される第1データを記憶するバッファと、SW-C2の送信ポート12とSW-C2の受信ポート22との間で送受信される第2データを記憶するバッファとを共用した共用バッファであり、第1データと第2データのいずれか一方を記録する。これにより、通信に使用されるバッファの消費量を抑制できる。
【0028】
また本実施形態に係る電子制御方法は、複数のSW-C1~3の間でデータの送受信を行う方法であって、電子制御装置100は、第1データを記憶するバッファと第2データを記憶するバッファとを共用した共用バッファを備え、送信ポート11から第1データを出力し、第1データがメモリ5の共用バッファに記録された後に、受信ポート21から第1データを入力して、第1データの入力後に、送信ポート12から第2データを出力し、第2データがメモリ5の共用バッファに記録された後に、第2受信ポート22から第2データを入力する。これにより、通信に使用されるバッファの消費量を抑制できる。
【0029】
また本実施形態に係る電子制御装置100において、送信ポート11と受信ポート21は第1データ通信用のポートとしてグループ化され、送信ポート12と受信ポート22は第2データ通信用のポートとしてグループ化されている。これにより、通信に使用されるバッファの消費量を抑制できる。
【0030】
また本実施形態に係る電子制御装置100において、RTE4は、送信ポート11と受信ポート21を選択して、第1データの通信を実行し、送信ポート12と受信ポート22を選択して、第2データの通信を実行する。これにより、通信に使用されるバッファの消費量を抑制できる。
【0031】
また本実施形態に係る電子制御装置100において、メモリ5は、第1データを共用バッファに記憶し、共用バッファに記憶された第1データに、第2データを上書きして、共用バッファを更新する。これにより、通信に使用されるバッファの消費量を抑制できる。
【0032】
また本実施形態に係る電子制御装置100において、メモリ5の共用バッファの記録容量は、第1データの最大容量及び第2データの最大容量うち大きい方のデータ容量以上、第1データの最大容量と第2データの最大容量とを合計したデータ容量未満である。これにより、通信に使用されるバッファの消費量を抑制できる。
【0033】
なお、本実施形態の変形例に係る電子制御装置100は、デイジーチェーンで接続された複数のSW-C1~3を複数有してもよい。
図5は変形例に係る電子制御装置100のソフトウェア構造の概略図である。
図5に示すように、電子制御装置100は3個のSW-C1~3をデイジーチェーンで接続したSW-Cグループ31と、SW-Cグループ31と同様の構成をもつSW-Cグループ32を有している。SW-Cグループ31は、SW-Cグループ31のグループ内で送受信されるデータを記憶するメモリ5を備えている。SW-Cグループ32は、SW-Cグループ32のグループ内で送受信されるデータを記憶するメモリ5を備えている。メモリ5は、第1データを記憶するバッファと、SW-Cグループ32のグループ内で送受信されるデータを記憶するバッファとを共用した共用バッファであり、SW-Cグループ毎に設けられている。これにより、通信に使用されるバッファの消費量を抑制できる。
【0034】
なお、変形例を含めて本実施形態では、3個のSW-C1~3をデイジーチェーンで接続したが、4個以上のSW-C1~3をデイジーチェーンで接続してもよく。メモリ5は、4個以上のSW-C1~3内で送受信されるデータを記憶する共用バッファとしてもよい。
【符号の説明】
【0035】
1~3 ソフトウェアコンポーネント(SW-C)
4 ランタイム環境(RTE)
5 メモリ
11、12 送信ポート
21、22 受信ポート
31、32 SW-Cグループ
100 電子制御装置