JP7283988B2 - 車両用制御装置 - Google Patents

車両用制御装置 Download PDF

Info

Publication number
JP7283988B2
JP7283988B2 JP2019112607A JP2019112607A JP7283988B2 JP 7283988 B2 JP7283988 B2 JP 7283988B2 JP 2019112607 A JP2019112607 A JP 2019112607A JP 2019112607 A JP2019112607 A JP 2019112607A JP 7283988 B2 JP7283988 B2 JP 7283988B2
Authority
JP
Japan
Prior art keywords
instruction
command
unit
processing result
vehicle control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019112607A
Other languages
English (en)
Other versions
JP2020204935A (ja
Inventor
亮輔 安岡
拓郎 森
ハイロ ロペス
朋仁 蛯名
一 芹沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2019112607A priority Critical patent/JP7283988B2/ja
Priority to PCT/JP2020/022395 priority patent/WO2020255760A1/ja
Publication of JP2020204935A publication Critical patent/JP2020204935A/ja
Application granted granted Critical
Publication of JP7283988B2 publication Critical patent/JP7283988B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、車両用制御装置に関する。
車載向けアプリケーションの多様化や高性能化に伴い、車載ソフトウエアの開発コストは増加している。自動運転や先進運転支援システムは、センサデバイスから得た情報を即座に計算し、結果を出力するために車載にて制御を行う。この計算には画像処理、ベクトル解析、および並列演算などの、従来の組み込みハードウエアでは行わなかった処理が求められている。従来の車載ECUは、前述した高度な計算を行うにはCPUの計算能力やメモリ容量等の面において非力である。そのため、エンタープライズ向けハードウエアで用いられてきたマルチコアを有するECUや大容量メモリを有するECUなどの高性能ECUが台頭してきている。
車載ECU環境において、前述した高性能ECUが台頭する一方、従来から用いられてきた組み込み分野特有のさまざまなセンサデバイス、チップデバイスも車載向けアプリケーションでは求められる。これらのデバイスも高性能化、多様化が進んでいる。以上の背景を踏まえ、自動車では高性能ECUとセンサデバイスを有するECUとをネットワークで複数接続し、高度な処理を高性能なECUに統合して処理を行うことで演算性能を高める傾向がある。
特許文献1には、車両に搭載された車載機器を制御するために、第1の電子制御装置と第2の電子制御装置とが連携した処理を行う車両用制御システムであって、前記第1の電子制御装置と前記第2の電子制御装置とは、それぞれ、連携処理を行うための連携処理用アプリケーションプログラムを有するとともに、それら連携処理用アプリケーションプログラムを協調して実行させるためのベーシックソフトウエアとしての役割を果たす、所定の役割分担の下に協調して動作する第1OSプログラムと第2OSプログラムとをそれぞれ有しており、前記第2の電子制御装置が保有する第2OSプログラムは、分担する役割が異なる複数の中から選定されたものであり、前記第1の電子制御装置が保有する第1OSプログラムは、分担する役割を変更可能に構成され、それにより、分担する役割が異なる複数の中のいずれの第2OSプログラムとも協調した動作を行うことが可能であって、前記第1の電子制御装置は、前記第2の電子制御装置から、前記第2OSプログラムが分担する役割についての情報を取得する取得部(S100)と、前記取得部により取得した、前記第2OSプログラムが分担する役割を示す情報に基づき、当該第2OSプログラムと協調して動作することができるように、第1OSプログラムの分担する役割を決定する決定部と、を備える車両用制御システムが開示されている。
特開2017-128308号公報
特許文献1に記載されている発明では、センサが接続される装置の変更に伴うプログラムの修正が避けられない。
本発明の第1の態様による車両用制御装置は、ネットワークと通信するネットワークインタフェースを有し、ソフトウエアが動作する車両用制御装置であって、前記ソフトウエアから受信する命令に含まれる情報に基づき、前記命令の転送先である転送先デバイスを特定し、前記命令に少なくとも前記転送先デバイスの前記ネットワークにおける識別子であるネットワークアドレスを付して前記ネットワークインタフェースに出力するデータ仲介部を備え、前記命令を実行するデバイスの名称と転送先の前記ネットワークアドレスとの対応を示す仲介情報が格納される記憶領域をさらに備え、前記命令には、前記命令を実行するデバイスの名称が含まれ、前記データ仲介部は、前記記憶領域に格納される前記仲介情報を用いて前記ネットワークアドレスを特定し、前記車両用制御装置は、前記ネットワークを介さずにセンサと接続され、前記仲介情報は、転送の要否を示す転送フラグ、およびバッファ読込の要否を示す読込フラグを含む複数のレコードを有し、前記記憶領域は、処理結果が一時的に保存される命令用バッファを有し、前記データ仲介部は、前記命令に含まれる少なくとも前記命令を実行するデバイスの名称を用いて前記仲介情報の前記複数のレコードから1つの前記レコードを特定し、特定した前記レコードにおける前記転送フラグの値、および前記読込フラグの値に基づき、前記命令を前記ネットワークインタフェースに出力する第1の選択肢、前記命令を前記センサに出力する第2の選択肢、および前記命令用バッファから前記処理結果を読み出す第3の選択肢、からいずれか1つの選択肢を選択する
本発明によれば、プログラムを修正することなく特定のセンサに処理を実行させることができる。
車両用制御装置の動作概要図 車両用制御装置の構成図 命令および処理結果の模式図 仲介情報テーブルの一例を示す図 デバイステーブルの一例を示す図 車載デバイスの構成 データ仲介部が実行する命令処理を示すフローチャート 図7のS410の詳細を示すフローチャート 処理結果受信処理を示すフローチャート 図8のS411に示すセンサ処理の詳細を示すフローチャート 図8のS413に示すバッファアクセス処理の詳細を示すフローチャート 図11のS706に示すバッファポインタ書換処理の詳細を示すフローチャート 命令を車載デバイスのセンサが処理する場合のタイミングチャート 命令を車両用制御装置のセンサが処理する場合のタイミングチャート 命令を命令用バッファを用いて処理する場合のタイミングチャート
―実施の形態―
以下、図1~図15を参照して、車両用制御装置の実施の形態を説明する。
図1は、本発明に係る車両用制御装置101の動作概要図である。車両用制御装置101は、車両100に搭載される。車両100には、車両用制御装置101と1または複数の車載デバイス102が搭載される。車両用制御装置101および車載デバイス102は、通信ネットワーク103により接続される。車両用制御装置101は、車載デバイス102に命令104cを送信すると、車載デバイス102は受信した命令104cに従い処理を実行する。そして車載デバイス102は処理を実行した結果である処理結果105cを車両用制御装置101に送信する。
図2は、車両用制御装置101の構成図である。図2にはハードウエア構成と機能構成が混在している。車両用制御装置101は、ハードウエア構成として、メモリ203、記憶装置204、CPU205、ネットワークインタフェース206、およびセンサ207を備える。ただし図2では、「ネットワークインタフェース」を「ネットワークIF」と表記している。メモリ203は、CPU205が実行するプログラムおよびCPU205によって参照されるデータ等を格納するいわゆる主記憶装置である。
CPU205は、不図示のROMに格納されたプログラムをメモリ203に展開して実行することによって種々の機能を実現するプロセッサである。記憶装置204は、CPU205が実行するプログラムおよびCPU205によって参照されるデータ等を格納する、たとえばハードディスクドライブ等のいわゆる補助記憶装置である。ネットワークインタフェース206は、通信ネットワーク103に接続され、車載デバイス102と通信可能である。
車両用制御装置101は、その機能としてアプリケーション200、オペレーティングシステム201、およびハイパーバイザ202を備える。なお図2ではアプリケーション200、オペレーティングシステム201、およびハイパーバイザ202は全て1つのみ記載しているが、車両用制御装置101は複数のアプリケーション200およびオペレーティングシステム201を備えてもよい。アプリケーション200、オペレーティングシステム201、およびハイパーバイザ202は、CPU205により実現される。なお以下では、「アプリケーション」を「アプリ」、「オペレーティングシステム」を「OS」と呼ぶこともある。また、アプリ200およびOS201をまとめて「ソフトウエア」とも呼ぶ。
ハイパーバイザ202はOS201を管理し、OS201はアプリ200を管理する。換言すると、ハイパーバイザ202はOS201よりもハードウエア寄りの存在であり、動作やデータへのアクセスにおいて上位の処理権限を有する。
オペレーティングシステム201やアプリケーション200は、命令104aをハイパーバイザ202に出力する。ハイパーバイザ202は、受信した命令104aを後述するように命令104cまたは命令104eに書き換えてネットワークインタフェース206またはセンサ207に出力する。ハイパーバイザ202は、ネットワークインタフェース206またはセンサ207から処理結果105cまたは処理結果105eを受信すると、後述するように処理結果105aに書き換えてオペレーティングシステム201やアプリケーション200に出力する。
ハイパーバイザ202は、データ仲介部208と、公知の構成であるデバイスエミュレータ212とを備える。デバイスエミュレータ212の構成および動作は公知なので説明を省略する。データ仲介部208は、デバイス特定部214と、命令変換部215と、命令受信部216と、命令送信部217と、記憶領域209とを備える。記憶領域209には、仲介情報テーブル210および命令用バッファ211が格納される。記憶領域209は、メモリ203または記憶装置204により実現される。デバイスエミュレータ212、デバイス特定部214、命令変換部215、命令受信部216、および命令送信部217は、CPU205により実現される。図2の構成を一旦中断し、先に命令104および処理結果105の構成を説明する。
(命令と処理結果の構成)
図3を参照して命令104a、命令104b、命令104c、命令104e、処理結果105a、処理結果105b、処理結果105c、および処理結果105eの構成を説明する。ここでは処理結果105a、処理結果105b、処理結果105c、および処理結果105eについて特に説明しないが、処理結果105aの構成は命令104aと同様であり、処理結果105bの構成は命令104bと同様であり、処理結果105cの構成は命令104cと同様であり、処理結果105eの構成は命令104eと同様である。たとえば、ある命令104aに対応する処理結果105aは、データ1403の値のみが異なる。命令104bと処理結果105bの関係、および命令104cと処理結果105cの関係も同様である。
なお以下では、命令104a、命令104b、命令104c、命令104d、および命令104eをまとめて「命令104」とも呼ぶ。また、処理結果105a、処理結果105b、処理結果105c、処理結果105d、および処理結果105eをまとめて「処理結果105」とも呼ぶ。
図3(a)はアプリ200やOS201が出力する命令104aの構成を示す模式図、図3(b)はデータ仲介部208による処理過程の命令104bの構成を示す模式図、図3(c)はハイパーバイザ202が出力する命令104cの構成を示す模式図、図3(d)はハイパーバイザ202が出力する命令104eの構成を示す模式図である。命令104aは、メモリアドレス1400と、デバイス名1401と、制御名1402と、データ1403とから構成される。命令104bは、命令104aの構成にネットワークアドレス1404が追加されている。命令104cは、命令104bの構成にさらに、命令識別番号1405が追加されている。
命令識別番号1405は、命令送信部217から命令104cおよび命令104eを送信する際に命令を識別するためのIDである。この命令識別番号1405は、命令受信部216で処理結果105を受信した際にも処理結果105を識別することに利用できる。データ仲介部208は、命令104aを受信した際に、その命令104aを出力したプログラムを特定可能であり、そのプログラムの特定するための識別子が命令識別番号1405である。図2に戻って説明を続ける。
デバイス特定部214は、仲介情報テーブル210のデバイス名1200、エミュレートフラグ1201を元に命令104がエミュレートを必要とするかを判断する。またデバイス特定部214は、オペレーティングシステム201およびアプリケーション200から発行された命令104aを受け取る。デバイス特定部214は、命令104aをどのデバイスが処理するかを特定し、特定したデバイスの名称を命令変換部215に伝達する。命令変換部215は、デバイス特定部214が命令104aを処理するデバイスを特定すると、必要に応じて命令104をデバイステーブル210bを参照してネットワークアドレス1404を命令104aに付加する。
命令送信部217は、命令104bを受信すると命令104cを作成してネットワークIF206に出力する。命令送信部217は、命令104aを受信すると、命令104eを作成してセンサ207に出力するか、命令用バッファ211を参照して命令受信部216に必要な情報を出力する。命令104cを受信したネットワークIF206およびセンサ207は、後述するように処理結果105cおよび処理結果105eを命令受信部216に送信する。ただし命令用バッファ211に処理能力を付加し、命令送信部217が命令用バッファ211に命令104aを送信して、命令用バッファ211に処理結果105eを作成させ、さらに処理結果105eを命令受信部216に送信させてもよい。
命令送信部217だけでなく、デバイス特定部214および命令変換部215の動作も加えると、次のように言い換えることができる。すなわち、データ仲介部208は、命令104aに含まれるデバイス名1401を用いて仲介情報テーブル210aから1つのレコードを特定し、特定したレコードにおける転送フラグ1210の値、およびバッファ読込フラグ1207の値に基づき、命令104の処理を次の3つのいずれかに決定する。その3つの選択肢とは、命令104をネットワークインタフェース206に出力する第1の選択肢、命令を車両用制御装置101に備えられるセンサ207に出力する第2の選択肢、および命令用バッファ211から処理結果を読み出す第3の選択肢の3つである。
命令受信部216は、命令送信部217からハイパーバイザ202の外部に出力された命令104cが処理された結果である処理結果105cを受信する。記憶領域209に格納される命令用バッファ211は、オペレーティングシステム201やアプリケーション200から発行された命令104のうち、処理結果を一時的に保存することを可能とするバッファである。
(仲介情報テーブル210a)
図4は、仲介情報テーブル210aの一例を示す図である。仲介情報テーブル210aは、複数のレコードを含む。各レコードは、ID1208、デバイス名1200、エミュレートフラグ1201、エミュレートデバイス1202、アドレス変換フラグ1203、実メモリアドレス1204、変換アドレス1205、転送フラグ1210、転送情報ポインタ1211、バッファ書き込みフラグ1206、バッファ意読み込みフラグ1207、およびバッファポインタ1209から構成されている。
ID1208は、テーブル内のレコードを一意に特定する識別子である。デバイス名1200は、命令104aを実行するデバイスの識別子である。エミュレートフラグ1201は、命令104aがデバイスエミュレーションを必要とするか否かを表す符号である。エミュレートフラグ1201の値は、「1」はエミュレートが必要であることを示し、「0」はエミュレートが不要であることを示す。エミュレートフラグ1201の値が「1」の場合は、エミュレートデバイス1202にはエミュレートするデバイスの識別子を表す。
アドレス変換フラグ1203はメモリアドレス変換が必要か否かを示す。実メモリアドレス1204は、命令104aが利用するメモリのアドレスであり、メモリアドレス変換が必要であれば、変換アドレス1205にアドレス変換する。
転送フラグ1210は命令104aの転送を必要とするか否かを示し、「1」であれば転送情報ポインタ1211で指定されたポインタにアクセスする。転送情報ポインタ1211はデバイステーブル210bのID1300を指している。バッファ書込フラグ1206は、処理結果105cのデータ1403を命令用バッファ211に書き込みを行うか否かを示す。バッファ読み込みフラグ1207は、命令104aが命令用バッファ211からデータ1403を読み込むかを示している。バッファポインタ1209は命令用バッファ211から読み込みおよび書き込みを行うメモリアドレスを示している。
(デバイステーブル210b)
図5は、デバイステーブル210bの一例を示す図である。デバイステーブル210bは複数のレコードを含み、各レコードは、ID1300、デバイスアドレス1301、およびネットワークアドレス1302を含む。ID1300はデバイステーブル210bの識別子であり、仲介情報テーブル210aの転送情報ポインタ1211の値と対応する。デバイスアドレス1301は、転送先のデバイスの名称を示す。ネットワークアドレス1302は、デバイスアドレス1301で示されるデバイスそのもの、またはそのデバイスが格納されECUのネットワークアドレスである。なお本実施の形態では特に説明しないが、仲介情報テーブル210aおよびデバイステーブル210bに格納される情報は更新されることもある。
(車載デバイス102)
図6は、車載デバイス102の構成図である。車載デバイス300は、車両用制御装置101と同様にCPU303、記憶装置304、メモリ301、ネットワークインタフェース302、およびセンサ305を備える。ネットワークインタフェース302は、通信ネットワーク103に接続され、車両用制御装置101と通信する。メモリ301は、CPU303が実行するプログラムおよびCPU303によって参照されるデータ等を格納するいわゆる主記憶装置である。CPU303は、記憶装置304に格納されたプログラムをメモリ301に展開して実行することによって後述する命令仲介部306を含む種々の機能を実現するプロセッサである。
記憶装置304は、CPU303が実行するプログラムおよびCPU303によって参照されるデータ等を格納する、たとえばハードディスクドライブ等のいわゆる補助記憶装置である。車載デバイス300は命令仲介部306を有する。命令仲介部306は、車両用制御装置101から転送された命令104cの少なくともデータ1403を指令されたセンサ305に転送し処理結果105dを得る。そして命令仲介部306は、処理結果105dを用いて処理結果105cを作成して車両用制御装置101に転送する。
図7は、データ仲介部208が実行する命令処理を示すフローチャートである。アプリケーション200やオペレーティングシステム201から命令104が発行されると、図7に示す処理が開始される。
まず、ハイパーバイザ202は、OSが発行された命令104aをフックしてOSから命令104aを受信する(S401)。ハイパーバイザ202は、この命令104aをデータ仲介部208のデバイス特定部214に転送する(S402)。デバイス特定部214は、転送された命令104aのメモリアドレス1400およびデバイス名1401を読み取る。次にデバイス特定部214は、記憶領域209の仲介情報テーブル210を参照し、命令104aからメモリアドレス1400とデバイス名1401に該当するレコードを特定し(S403)、そのレコードのエミュレートフラグ1201を読み取る。
デバイス特定部214は、エミュレートフラグ1201が「1」の場合は(S404:YES)、その命令104aをハイパーバイザ202の既存機能であるデバイスエミュレータ212に転送する(S405)。デバイスエミュレータ212は命令104aを解釈して演算を行い、命令104aを出力するのでデバイス特定部214が受信する(S406)。
エミュレートフラグ1201が「0」の場合(S404:NO)、およびS406の次に、デバイス特定部214はその命令104aを命令変換部215に転送する(S407)。命令104aを受信した命令変換部215は、仲介情報テーブル210を参照し、命令104aからメモリアドレス1400とデバイス名1401に該当するレコードを特定する。命令変換部215は、該当するレコードの転送フラグ1210を確認し、フラグが「1」であれば(S408:YES)、ネットワーク転送処理(S410)を開始する。ネットワーク転送処理(S410)の詳細は図8を参照して詳述する。
命令変換部215は、転送フラグ1210が「0」であれば(S408:NO)、バッファ読込フラグ1207を確認し、フラグが「0」であれば(S409:YES)、車両100に搭載されるセンサ207に処理を実行させるセンサ処理(S411)を実行させる。命令変換部215は、バッファ読込フラグ1207が「1」であれば(S409:NO)、命令用バッファ211を用いるバッファ処理(S413)を実行させる。センサ処理(S411)の詳細は図10を参照して詳述する。バッファ処理(S413)の詳細は図11を参照して詳述する。S410、S411、およびS413のそれぞれの処理が完了すると図9に詳細を示すS414を実行する。
(ネットワーク転送処理)
図8は、図7のS410に示すネットワーク転送処理の詳細を示すフローチャートである。S501では命令変換部215は、特定した仲介情報テーブル210aのレコードにおける転送情報ポインタ1211を参照し、デバイステーブル210bのネットワークアドレス1302を読み取る。そして命令変換部215は、読み取ったネットワークアドレス1302をネットワークアドレス1404として命令104aに付加する。これにより命令104aが命令104bとなる。以上がS501の処理である。
さらに命令変換部215は、アドレス変換フラグ1203が「1」の場合は、変換アドレス1205を用いて命令104bに含まれるメモリアドレス1400の値を書き換えて、命令104bを命令送信部217に転送する(S502)。なおアドレス変換フラグ1203が「0」の場合は、命令変換部215はメモリアドレス1400の値を書き換えずに命令104bを命令送信部217に転送する。
命令104bを受け取った命令送信部217は、命令104bを区別するためのID1405を付加して命令104cを生成する。そして命令送信部217は、命令受信部216に付加したID1405を通知する(S513)。次に仲介情報テーブル210のバッファ読み込みフラグ1207を参照する。バッファ読込フラグ1207が0であれば、ネットワークインタフェース206に命令104cを転送する。ネットワークインタフェース206に転送された命令104は、ネットワークインタフェース206から指定された車載デバイス102に転送される(S503)。
車載デバイス102は、ネットワークインタフェース302で命令104cを受信すると、命令仲介部306を介して、命令104cによって指定されたセンサ305に命令104cを転送する(S504、S505)。ただし命令仲介部306は、センサ305が命令104cを解釈可能なように、命令104dに変換してから転送してもよい。命令104dとは、センサ305が解釈可能なように命令104cを適宜修正したものである。センサ305は命令を実行して(S506)、処理結果dを命令仲介部306に送信する。命令仲介部306は受信した実行結果を用いて処理結果cを生成して車両用制御装置101に送信する(S507、S508)。処理結果cは、命令104cのデータ1403のみを書き換えたものである。
車両用制御装置101がネットワークインタフェース206で処理結果105を受信すると、ネットワークインタフェース206は割り込みを発行する。ハイパーバイザ202は割り込みを検知するとその割り込みをフックし、命令受信部216に転送する。命令受信部216は、処理結果105cを受信すると(S512)、まず命令送信部217で付加したID1405を確認し、命令送信部217から通知されたIDであればそのID1405を取り除く。これにより処理結果cが処理結果bとなる。
次に命令受信部216は、仲介情報テーブル210のバッファ書込フラグ1206を参照する。このフラグが「1」であれば(S510:YES)、命令受信部216は処理結果105cをバッファポインタ1209が指定するアドレスに格納する。命令受信部216は、バッファ書込フラグ1206が「0」であれば(S510:NO)、処理結果105を命令変換部215に転送する。以上がネットワーク転送処理の説明である。図7に示したように、図8に示す処理が終了すると図9に示す処理が開始される。
(処理結果受信処理)
図9は、処理結果受信処理を示すフローチャートである。命令変換部215は、処理結果105bを受信すると(S801)、この処理結果105bは付加情報、すなわちネットワークアドレス1404を含むか否かを判断する。命令変換部215は、処理結果105bが付加情報であるネットワークアドレス1404を含むと判断する場合は(S802:YES)、処理結果105bからネットワークアドレス1404を除去して(S803)、S804に進む。命令変換部215は、処理結果105bが付加情報を含まないと判断する場合は(S802:NO)、S804に進む。
S804では、命令変換部215は仲介情報テーブル210を参照し、該当するレコードをデバイス名1200から特定する。そして命令変換部215は、該当する行の変換アドレス1205から実メモリアドレス1204にメモリのアドレスを変換する。そして命令変換部215は、処理結果105bからネットワークアドレス1404を取いた処理結果aをデバイス特定部214に転送する。以上がS804の処理である。
続くS805ではデバイス特定部214は、処理結果aを受信すると、デバイス名1401を参照して仲介情報テーブル210の該当するレコードを特定する。そしてデバイス特定部214は、特定したレコードにおけるエミュレートフラグ1201が「1」の場合は(S805:YES)、処理結果aをデバイスエミュレータ212に転送してデバイスエミュレーションを行う(S806)。その後、デバイスエミュレータ212から返却された処理結果aは、オペレーティングシステム201およびアプリケーション200に出力される(S807、S808)。デバイス特定部214は、特定したレコードにおけるエミュレートフラグ1201が「0」の場合は(S805:NO)、受信した処理結果aをそのままオペレーティングシステム201およびアプリケーション200に出力する(S808)。
(センサ処理)
図10は、図7のS411に示すセンサ処理の詳細を示すフローチャートである。ただし図10では、図8と同一の処理には同一のステップ番号を付して説明を省略する。
まず、命令変換部215が、命令104aを命令送信部217に転送する(S502a)。命令104aを受け取った命令送信部217は、命令104aを区別するためのID1405を付加して命令104eを生成する。そして命令送信部217は、命令受信部216に付加したID1405を通知する(S513a)。そして命令送信部217は、センサ207に命令104aを転送する(S603)。センサ207は、命令104eを受信したら実行し、処理結果105eを命令受信部216に転送する(S604)。これ以後の処理は図8と同様なので説明を省略する。
(バッファアクセス処理)
図11は、図8のS413に示すバッファアクセス処理の詳細を示すフローチャートである。ただし図11では、図7および図8と同一の処理には同一のステップ番号を付して説明を省略する。
図11の始めの2つの処理であるS502aおよびS513aは図10と同様なので説明を省略する。S703では命令送信部217は、仲介情報テーブル210のバッファポインタ1209に記載されたアドレスの命令用バッファ211にアクセスする。そして命令送信部217は、そのアドレスに格納されている値を命令104eのデータ1403に書き込んで、命令104eを処理結果104eとする(S704)。命令送信部217は、処理結果104eを命令受信部216に出力し、命令受信部216は命令送信部217から処理結果104eを受信する(S512a)。命令送信部217は、バッファポインタを書き換えて(S706)、図11に示す処理を終了する。ただしバッファポインタの書換処理は図12で詳述する。
(バッファポインタ書換処理)
図12は、図11のS706に示すバッファポインタ書換処理の詳細を示すフローチャートである。まず命令送信部217は、命令104eのデバイス名1401を参照して、仲介情報テーブル210aから命令104eの対象となるレコードを特定する(S901)。次に命令送信部217は、S901において特定したレコードからバッファポインタ1209の値を読み込む(S902)。そして命令送信部217は、読み込んだポインタ値をインクリメントする。メモリのアドレス番地の長さはシステムごとに固定された既知の値である。命令送信部217は、読み込んだポインタ値にメモリのアドレス番地の長さに相当する値、たとえば32ビットを足すことでポインタ値をインクリメントする。
次に命令送信部217は、インクリメントしたポインタ値のアドレスに、次の値が格納されているか否かを判断する。命令送信部217は、次の値が格納されていると判断する場合は(S904:YES)、バッファポインタ1209の値をS903でインクリメントした値に書き換える(S905)。命令送信部217は、次の値が格納されていないと判断する場合は(S904:NO)、バッファ読込フラグ1207の値を「0」に、バッファポインタ1209の値を「-」に書き換える(S906)。S905またはS906の処理を実行すると、命令送信部217は図12に示す処理を終了する。
(タイミングチャート)
図13は、命令104aを車載デバイス102のセンサ305が処理する場合のタイミングチャートである。図13ではOS202が出力する命令104aは、デバイス特定部214を経由して到達した命令変換部215においてネットワークアドレス1404が付加されて命令104bとなる。命令104bは、命令送信部217において命令識別番号1405が付加されて命令104cとなる。命令104cはネットワークアドレス1404で指定される車載デバイス102に送信され、命令仲介部306により命令104dに変換されてセンサ305で解釈される。
センサ305が出力する処理結果105dは命令仲介部306により処理結果105cに変換されて車両用制御装置101に送信される。車両用制御装置101の命令受信部216は、受信した処理結果105cから命令識別番号1405を削除して処理結果105bを作成し、作成した処理結果105bを命令変換部215に送信する。命令変換部215は、受信した処理結果105bからネットワークアドレス1404を削除して処理結果105aを作成し、作成した処理結果105aをデバイス特定部214を介してOS202に出力する。
図14は、命令104aを車両用制御装置101のセンサ207が処理する場合のタイミングチャートである。図14ではOS202が出力する命令104aは、デバイス特定部214および命令変換部215を経由して命令送信部217に到達する。命令送信部217は命令104aに命令識別番号1405を付加して命令104eを作成し、命令104eを同じ車両用制御装置101に備えられるセンサ207に出力する。センサ207は受信した命令104eを解釈して実行して処理結果105eを生成し、処理結果105eを命令受信部216に出力する。命令受信部216は、受信した処理結果105eから命令識別番号1405を削除して処理結果105aを作成し、命令変換部215およびデバイス特定部214を経由してOS202に出力する。
図15は、命令104aを命令用バッファ211を用いて処理する場合のタイミングチャートである。図15ではOS202が出力する命令104aは、デバイス特定部214および命令変換部215を経由して命令送信部217に到達する。命令送信部217は命令用バッファ211を参照してデータを取得し、命令受信部216に取得したデータおよび命令104aを提供する。命令送信部217は、受信する命令104aのデータ1403を別途受信したデータに書き換えることで処理結果105aを作成する。処理結果105aは、命令変換部215およびデバイス特定部214を経由してOS202に出力される。
上述した実施の形態によれば、次の作用効果が得られる。
(1)車両用制御装置101は、通信ネットワーク103と通信するネットワークインタフェース206を有する。車両用制御装置101では、アプリケーション200やオペレーティングシステム201などのソフトウエアが動作する。データ仲介部208は、ソフトウエアから受信する命令104aに含まれる情報に基づき、デバイス特定部214が命令の転送先である転送先デバイスを特定し、命令変換部215が命令104aに少なくとも転送先デバイスの通信ネットワーク103における識別子であるネットワークアドレス1404を付してネットワークインタフェース206に出力する。そのため、アプリケーション200およびオペレーティングシステム201を修正することなく、通信ネットワーク103を介して接続された車載デバイス102が備えるセンサ305に命令104aを処理させることができる。すなわちアプリケーション200およびオペレーティングシステム201からは、あたかも車両用制御装置101に該当するセンサ305が存在して、処理が行われた場合と同様の効果が得られる。
具体的には、車両用制御装置101が備えないセンサに依存した特定のソフトウエアでも、通信ネットワーク103に接続されたいずれかの車載デバイス102にそのセンサが接続されていれば、高性能ECUにソフトウエアを統合できる。つまり、特定の古いセンサに依存した古いアプリケーションでも同機能を持つ新しいセンサを利用した制御が可能である。換言すると、新しいセンサに依存した新しいアプリケーションでも古いセンサでも制御することができる。
(2)データ仲介部208は、オペレーティングシステム201よりも上位の処理権限を有するハイパーバイザ202に含まれる。アプリケーション200だけでなくオペレーティングシステム201にも手を加えることなく、簡便に過去の資産を利用できる。
(3)車両用制御装置101は、命令104aを実行するデバイスの名称と転送先の前記ネットワークアドレスとの対応を示す仲介情報テーブル210aおよびデバイステーブル210bが格納される記憶領域209をさらに備える。命令104aには、命令を実行するデバイスの名称であるデバイス名1401が含まれる。データ仲介部208は、記憶領域209に格納される仲介情報テーブル210aおよびデバイステーブル210bを用いてネットワークアドレス1404を特定する。そのため、転送先のネットワークアドレス1404を簡便に特定できる。
(4)車両用制御装置101は、通信ネットワーク103を介さずにセンサ207と接続される。仲介情報テーブル210aは、転送の要否を示す転送フラグ1210、およびバッファ読込の要否を示すバッファ読込フラグ1207を含む複数のレコードを有する。記憶領域209は、処理結果が一時的に保存される命令用バッファ211を有する。データ仲介部208は、命令104aに含まれるデバイス名1401を用いて仲介情報テーブル210aから1つのレコードを特定し、特定したレコードにおける転送フラグ1210の値、およびバッファ読込フラグ1207の値に基づき、命令104の処理を次の3つのいずれかに決定する。その3つの選択肢とは、命令104をネットワークインタフェース206に出力する第1の選択肢、命令を車両用制御装置101に備えられるセンサ207に出力する第2の選択肢、および命令用バッファ211から処理結果を読み出す第3の選択肢の3つである。そのためデータ仲介部208は、命令104aの処理に、通信ネットワーク103を介して接続された車載デバイス102が備えるセンサ305だけでなく、車両用制御装置101に搭載されるセンサ207やバッファの値も利用できる。
(5)データ仲介部208は、命令104aを出力したプログラムの識別子である命令識別番号1405を命令104bに付してネットワークインタフェース206に出力する。データ仲介部208は、ネットワークインタフェース206から受信する処理結果105cに含まれる命令識別番号1405に基づき、処理結果105cに含まれるデータ1403を送信するプログラムを決定する。そのため、処理結果105を命令104aを出力したプログラムに届けることができる。
(変形例1)
データ仲介部208は、ハイパーバイザ202の代わりにOS201に備えられてもよい。
(変形例2)
仲介情報テーブル210aとデバイステーブル210bとが一体に構成されてもよい。この場合には、両者をあわせたものを、たとえば「仲介情報」と呼ぶこともできる。
(変形例3)
上述した実施の形態では、デバイス特定部214は命令104aに含まれるデバイス名1401だけを参照して仲介情報テーブル210aのレコードを特定した。しかしデバイス特定部214は、デバイス名1401とメモリアドレス1400の組合せにより対象とするレコードを特定してもよい。
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
101…車両用制御装置
102…車載デバイス
103…通信ネットワーク
104、104a~104d…命令
105、105a~105d…処理結果
200…アプリケーション
201…オペレーティングシステム
202…ハイパーバイザ
206…ネットワークインタフェース
207…センサ
208…データ仲介部
209…記憶領域
210…仲介情報テーブル
211…命令用バッファ
214…デバイス特定部
215…命令変換部
216…命令受信部
217…命令送信部
305…センサ
306…命令仲介部
1200…デバイス名
1203…アドレス変換フラグ
1207…バッファ読込フラグ
1209…バッファポインタ
1210…転送フラグ
1401…デバイス名
1402…制御名
1403…データ
1404…ネットワークアドレス

Claims (3)

  1. ネットワークと通信するネットワークインタフェースを有し、ソフトウエアが動作する車両用制御装置であって、
    前記ソフトウエアから受信する命令に含まれる情報に基づき、前記命令の転送先である転送先デバイスを特定し、前記命令に少なくとも前記転送先デバイスの前記ネットワークにおける識別子であるネットワークアドレスを付して前記ネットワークインタフェースに出力するデータ仲介部を備え
    前記命令を実行するデバイスの名称と転送先の前記ネットワークアドレスとの対応を示す仲介情報が格納される記憶領域をさらに備え、
    前記命令には、前記命令を実行するデバイスの名称が含まれ、
    前記データ仲介部は、前記記憶領域に格納される前記仲介情報を用いて前記ネットワークアドレスを特定し、
    前記車両用制御装置は、前記ネットワークを介さずにセンサと接続され、
    前記仲介情報は、転送の要否を示す転送フラグ、およびバッファ読込の要否を示す読込フラグを含む複数のレコードを有し、
    前記記憶領域は、処理結果が一時的に保存される命令用バッファを有し、
    前記データ仲介部は、前記命令に含まれる少なくとも前記命令を実行するデバイスの名称を用いて前記仲介情報の前記複数のレコードから1つの前記レコードを特定し、特定した前記レコードにおける前記転送フラグの値、および前記読込フラグの値に基づき、前記命令を前記ネットワークインタフェースに出力する第1の選択肢、前記命令を前記センサに出力する第2の選択肢、および前記命令用バッファから前記処理結果を読み出す第3の選択肢、からいずれか1つの選択肢を選択する、車両用制御装置。
  2. 請求項1に記載の車両用制御装置において、
    前記データ仲介部は、オペレーティングシステムよりも上位の処理権限を有するハイパーバイザに含まれる車両用制御装置。
  3. 請求項1に記載の車両用制御装置において、
    前記データ仲介部は、前記命令を出力したプログラムの識別子である命令識別符号を前記命令に付して前記ネットワークインタフェースに出力し、前記ネットワークインタフェースから受信する処理結果に含まれる前記命令識別符号に基づき、前記処理結果に含まれるデータを送信するプログラムを決定する車両用制御装置。
JP2019112607A 2019-06-18 2019-06-18 車両用制御装置 Active JP7283988B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019112607A JP7283988B2 (ja) 2019-06-18 2019-06-18 車両用制御装置
PCT/JP2020/022395 WO2020255760A1 (ja) 2019-06-18 2020-06-05 車両用制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019112607A JP7283988B2 (ja) 2019-06-18 2019-06-18 車両用制御装置

Publications (2)

Publication Number Publication Date
JP2020204935A JP2020204935A (ja) 2020-12-24
JP7283988B2 true JP7283988B2 (ja) 2023-05-30

Family

ID=73836991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019112607A Active JP7283988B2 (ja) 2019-06-18 2019-06-18 車両用制御装置

Country Status (2)

Country Link
JP (1) JP7283988B2 (ja)
WO (1) WO2020255760A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023085001A (ja) * 2021-12-08 2023-06-20 株式会社オートネットワーク技術研究所 車載装置、プログラム及び情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309584A (ja) 2005-04-28 2006-11-09 Brother Ind Ltd 印刷システム、印刷装置、サーバ装置、印刷装置用プログラム及びサーバ装置用プログラム
JP2009060414A (ja) 2007-08-31 2009-03-19 Denso Corp 中継装置、及びプログラム
WO2017061262A1 (ja) 2015-10-05 2017-04-13 日立オートモティブシステムズ株式会社 車載用ゲートウェイ装置
JP2019029994A (ja) 2017-07-26 2019-02-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載中継装置、車載監視装置、車載制御ネットワークシステム、通信監視方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309584A (ja) 2005-04-28 2006-11-09 Brother Ind Ltd 印刷システム、印刷装置、サーバ装置、印刷装置用プログラム及びサーバ装置用プログラム
JP2009060414A (ja) 2007-08-31 2009-03-19 Denso Corp 中継装置、及びプログラム
WO2017061262A1 (ja) 2015-10-05 2017-04-13 日立オートモティブシステムズ株式会社 車載用ゲートウェイ装置
JP2019029994A (ja) 2017-07-26 2019-02-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載中継装置、車載監視装置、車載制御ネットワークシステム、通信監視方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
すべてわかるクラウド大全2015,日経BP社,2015年07月01日,p. 206-208,[ISBN]978-4-8222-7984-4

Also Published As

Publication number Publication date
JP2020204935A (ja) 2020-12-24
WO2020255760A1 (ja) 2020-12-24

Similar Documents

Publication Publication Date Title
US9424219B2 (en) Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge
US7702826B2 (en) Method and apparatus by utilizing platform support for direct memory access remapping by remote DMA (“RDMA”)-capable devices
TW201905714A (zh) 以輔助處理器記憶體進行儲存裝置的直接輸入輸出操作的計算系統操作方法、計算系統、車輛及電腦可讀媒體
KR20180039011A (ko) 자율 주행 차량을 작동하는 컴퓨팅 노드들 사이의 효율적 통신
KR100285956B1 (ko) 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법
CN111954871A (zh) 提供在车辆的控制设备可实施的应用的应用数据的方法,控制设备及其校准方法,分析处理装置
JP2010165022A (ja) プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体
KR102529761B1 (ko) PCIe 디바이스 및 그 동작 방법
CN113168464A (zh) 虚拟化计算环境中的安全存储器访问
US6105080A (en) Host adapter DMA controller with automated host reply capability
JP7283988B2 (ja) 車両用制御装置
WO2019058874A1 (ja) 仮想化システム、仮想化プログラム、及び、記憶媒体
CN114302040A (zh) 多应用共享单一摄像头的方法及相关产品
CN112330229B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
JPH0122940B2 (ja)
US20130117533A1 (en) Coprocessor having task sequence control
US11966335B2 (en) Hardware interconnect with memory coherence
CN111917623A (zh) 信息处理系统和平台
KR101980190B1 (ko) 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법
JP4594889B2 (ja) 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム
WO2022138218A1 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
CN115617448A (zh) 包括存储装置及计算装置的虚拟化装置及其操作方法
US8824317B2 (en) Parallel calculation system, and method and program thereof
CN115481066A (zh) 计算设备、总线矩阵及计算设备的操作方法
JP5104501B2 (ja) 仮想マシンシステム、ホスト計算機、仮想マシン構築方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230518

R150 Certificate of patent or registration of utility model

Ref document number: 7283988

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150