WO2020179344A1 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
WO2020179344A1
WO2020179344A1 PCT/JP2020/004479 JP2020004479W WO2020179344A1 WO 2020179344 A1 WO2020179344 A1 WO 2020179344A1 JP 2020004479 W JP2020004479 W JP 2020004479W WO 2020179344 A1 WO2020179344 A1 WO 2020179344A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
applications
control device
shared data
vehicle control
Prior art date
Application number
PCT/JP2020/004479
Other languages
English (en)
French (fr)
Inventor
智 内藤
成沢 文雄
裕弘 小田
祐 石郷岡
勇気 田中
Original Assignee
日立オートモティブシステムズ株式会社
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 日立オートモティブシステムズ株式会社 filed Critical 日立オートモティブシステムズ株式会社
Priority to CN202080012081.0A priority Critical patent/CN113474220B/zh
Publication of WO2020179344A1 publication Critical patent/WO2020179344A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Definitions

  • the present invention relates to a vehicle control device.
  • ISO 26262 the international standard for automobiles, defines ASIL (Automotive Safety Integrity Level) as an index of functional safety.
  • ISO26262 allows applications having different ASILs to coexist in one microcomputer on the premise that interference-free (FFI: Freedom From Interference) is realized by partitioning by software. Therefore, a technique for preventing dependent failures between applications having different safety requirement levels is needed.
  • FFI Freedom From Interference
  • Patent Document 1 discloses a technique for exchanging data between software. This technique has an object to reduce the required memory capacity.
  • the microcomputer mounted on the in-vehicle ECU of this technology includes two cores, first software and second software executed by each core, and an ASIL area that is not accessed by the third software.
  • the first software and the second software are set to have a higher degree of safety than the third software.
  • the request part of the second core is a part of all the data provided from the first software to the second software at each predetermined timing, and is required by the second software at the timing. Request some data from the first core.
  • the writing unit of the first core writes the data requested by the requesting unit in the ASIL area and notifies the second core of the completion of writing. Then, the reading unit of the second core reads the data from the ASIL area.
  • Patent Document 1 discloses a technique for exchanging data between ASIL software. This technology suppresses memory consumption by exchanging only necessary data through an ASIL exclusive transfer area that cannot be accessed from QM (Quality Management) software.
  • QM Quality Management
  • the main purpose of the present invention is to solve the above problems and appropriately manage the latest shared data.
  • the vehicle control device records an application unit having a plurality of applications having different safety requirement levels regarding the functions of electrical and electronic components mounted on the vehicle, and shared data used in each of the plurality of applications.
  • a vehicle control device including a recording unit and a control unit that controls a task execution time of each of the plurality of applications.
  • the recording unit is accessible to an application having a high safety requirement level and is safe.
  • the database has a database inaccessible to an application having a low sex requirement level and a cache inaccessible to the application having a high security requirement level and accessible to the application having a low security requirement level.
  • the cache is configured so that the shared data can be shared, and the control unit properly uses the database and the cache according to the safety requirement level of the application.
  • the latest shared data can be properly managed.
  • 1 is a block diagram showing a vehicle control device according to a first embodiment.
  • 6 is a time chart showing a time-driven scheduling process according to the first embodiment.
  • 5 is a flowchart showing a read/write process according to the first embodiment.
  • 6 is a flowchart showing copy and write back processing according to the first embodiment.
  • 7 is a time chart showing a round robin scheduling process according to the second embodiment.
  • FIG. 1 is a block diagram showing a vehicle control device according to the first embodiment.
  • the vehicle control device 1 has a memory 100, a CPU (Central Processing Unit) 130, and a timer 140 as hardware.
  • the memory 100 stores software.
  • the memory 100 has, as software, an application unit 110, a time division middle unit 200, and an OS (Operating System) 120.
  • the application section 110 has a plurality of applications of different types.
  • the plurality of applications of different types may be the ASIL application 111 and the QM application 112.
  • the ASIL application 111 is a diagnostic application and the QM application 112 is a sensor fusion application.
  • the ASIL application 111 and the QM application 112 are configured to be capable of interprocess communication.
  • the application unit 110 may include a trajectory planning application 113 that is a QM application.
  • the time-division middle unit 200 includes a recording unit 210 and a control unit 220.
  • the recording unit 210 includes a general-purpose database 211 as an example of a “database” and a cache area 212 as an example of a “cache”.
  • the general database 211 is accessible to the ASIL application 111 and inaccessible to the QM application 112. Shared data used by each of the applications 111 and 112 is recorded in the general-purpose database 211.
  • the cache area 212 is inaccessible to the ASIL application 111 and accessible to the QM application 112. In the cache area 212, shared data used by each of the applications 111 and 112 is temporarily recorded.
  • the control unit 220 includes a main processing unit 221 that executes main processing, and a copy and write-back processing unit 222 that executes copy and write-back processing.
  • the control unit 220 sets the start timing of each application 111, 112 in the timer 140.
  • the timer 140 causes an interrupt of the task of each application 111, 112.
  • the main processing unit 221 starts each application 111, 112 at the interrupt time of each application 111, 112 generated by the timer 140.
  • the control unit 220 properly uses the general-purpose database 211 and the cache area 212 according to the types of the applications 111 and 112.
  • the types of the applications 111 and 112 are, for example, safety requirement levels of the applications 111 and 112.
  • the safety requirement level may be a standard relating to functional safety of electric and electronic components mounted on a vehicle.
  • the control unit 220 executes a copy process and a write-back process 222 to the general-purpose database 211 or the cache area 212 according to the security requirement level of each application 111, 112 to be executed.
  • the types of the applications 111 and 112 may be priorities of the applications 111 and 112.
  • the control unit 220 assigns a task to each of the applications 111 and 112, and executes the task assigned by the time-driven scheduling.
  • ISO26262 classifies task safety requirement levels into QM, ASIL-A, ASIL-B, ASIL-C, and ASIL-D in order of increasing risk.
  • the applications can be roughly classified into an ASIL application (diagnostic application) 111 that must ensure safety and a QM application (sensor fusion application) 112 that is not related to security guarantee.
  • the ASIL application 111 executes processing for detecting a failure of software and hardware.
  • the QM application 112 executes a process of acquiring external information from a peripheral device such as a sensor.
  • FIG. 2 is a time chart showing the time-driven scheduling process according to the first embodiment.
  • the time-division middleware 304 manages the start/stop of each application 111, 112 in the execution unit of the slot 301 assigned to the ASIL application 111 and the slot 302 assigned to the QM application 112.
  • the OS 303 in FIG. 2 is the time required to switch between the slots 301 and 302 and the time division middleware 304.
  • a dedicated API Application Programming Interface
  • a request 310 for acquisition of shared data required at the next execution timing is issued to the time division middleware 304.
  • the time-division middleware 304 executes a copy process of previously copying the shared data from the general-purpose database 211 to the cache area 212 just before the activation of the slot 302 assigned to the next QM application 112 (reference numeral S1 in FIG. 2).
  • the time-division middleware 304 controls the timing of copying shared data from the general-purpose database 211 to the cache area 212 based on the startup timing of each of the applications 111 and 112 that can be known by time-driven scheduling.
  • the QM application 112 executes the read process for accessing the shared data required for execution from the cache area 212.
  • the QM application 112 can refer to the latest shared data (reference S2 in FIG. 2).
  • the shared data copied from the general-purpose database 211 to the cache area 212 may be limited to the shared data required by the QM application 112. As a result, memory consumption can be suppressed.
  • the time-division middleware 304 executes write-back processing for storing the execution result of the QM application 112 in the general-purpose database 211.
  • the QM application 112 executes the write process of copying the shared data of the execution result to the cache area 212 (reference numeral S3 in FIG. 2), and in the process of the dedicated API, the write request 311 is issued by the time-sharing middleware 304. Published in.
  • the time-division middleware 304 executes a write-back process for storing shared data from the cache area 212 to the general-purpose database 211 immediately after the end of the slot 302 assigned to the QM application 112 (reference numeral S4 in FIG. 2).
  • the ASIL application 111 can always refer to the latest shared data.
  • the ASIL application 111 accesses the general-purpose database 211, the ASIL application 111 can refer to the latest shared data.
  • the ASIL application 111 stores the execution result of the ASIL application 111 in the general-purpose database 211.
  • the ASIL application 111 and the QM application 112 can always refer to the latest shared data.
  • the time division middleware 304 executes the reading and writing processing (S2 and S3 in FIG. 2) of the shared data of the general-purpose database 211 by the QM application 112.
  • FIG. 3 is a flowchart showing the read and write processing according to the first embodiment.
  • the time-sharing middleware 304 determines whether or not the previous slot has been normally executed (S401). When the determination result of S401 is false (S401: NO), the time-division middleware 304 executes the processing of the time protection violation (S402). When the determination result of S401 is true (S401: YES), the time-division middleware 304 calls the copy and write-back processing (S500). After that, the time-division middleware 304 executes the interrupt timing setting process of the next slot for the timer 140 (S403), and sets the task of the current slot to the execution state (S404).
  • FIG. 4 is a flowchart showing copy and write-back processing according to the first embodiment.
  • the upper half of FIG. 4 is the write-back process (S510, S4 in FIG. 2) immediately after the QM application 112.
  • the time division middleware 304 determines whether the immediately preceding slot is the QM application 112 (S511). When the determination result of S401 is true (S401: YES), the time-sharing middleware 304 executes write-back processing for storing shared data, which is the execution result of the QM application 112, from the cache area 212 to the general-purpose database 211 (S512). .. This makes it possible to keep the shared data of the general-purpose database 211 up to date.
  • the lower half of FIG. 4 is the copy process (S520. S1 in FIG. 2) immediately before the QM application 112.
  • the time division middleware 304 determines whether or not the immediately following slot is the QM application 112 (S521). When the determination result of S521 is true (S521: YES), the time-sharing middleware 304 executes copy processing for copying the shared data required for executing the QM application 112 from the general-purpose database 211 to the cache area 212 (S522). This enables the QM application 112 to refer to the latest shared data.
  • the vehicle control device 1 includes an application unit 110 having a plurality of applications 111 and 112 having different safety requirement levels regarding the functions of electrical and electronic components mounted on the vehicle, and the plurality of applications 111 and 112, respectively. It includes a recording unit 210 for recording the shared data used in the above, and a control unit 220 for controlling the task execution time of each of the plurality of applications 111 and 112.
  • the recording unit 210 has a general-purpose database 211 accessible by the ASIL application 111 having a high security requirement level and inaccessible by the QM application 112 having a low security requirement level, and inaccessible by the ASIL application 111 having a high security requirement level. And a cache area 212 accessible by the QM application 112 having a low security requirement level.
  • the general-purpose database 211 and the cache area 212 are configured to be able to share shared data.
  • the control unit 220 selectively uses the general-purpose database 211 and the cache area 212 according to the security requirement level of the applications 111 and 112.
  • the vehicle control device 1 can manage the shared data used in each of the ASIL application 111 and the QM application 112 in the latest state.
  • the control unit 220 executes a copy process of previously copying the shared data necessary for executing the QM application 112 from the general-purpose database 211 to the cache area 212.
  • the general-purpose database 211 can be updated without interprocess communication, and delays associated with access to the general-purpose database 211 can be suppressed. Therefore, it is possible to reduce the influence of the overhead generated in the inter-process communication and guarantee the execution time of the applications 111 and 112.
  • control unit 220 executes a write-back process of storing the execution result of the QM application having a low security requirement level in the general-purpose database 211 from the cache area 212. This allows the ASIL application 111 to refer to the latest shared data in the general-purpose database 211.
  • control unit 220 executes the ASIL application 111 having a high safety requirement level
  • the control unit 220 stores the execution result of the ASIL application 111 in the general-purpose database 211.
  • the ASIL application 111 and the QM application 112 can always refer to the latest shared data.
  • a vehicle control device according to the second embodiment will be described.
  • the vehicle control device executes the time-driven scheduling.
  • the vehicle control device executes the round robin scheduling.
  • the vehicle control device according to the second embodiment is different from the vehicle control device according to the first embodiment only in the scheduling configuration, and the other configurations are the same as those of the vehicle control device according to the first embodiment. .. Therefore, the differences from the first embodiment will be mainly described.
  • a time slot (execution time) is assigned to an executable task, and if the task processing is not completed within the time slot, the task is interrupted and the processing is passed to another task.
  • the method is applicable to network scheduling in an environment in which a plurality of terminals share one line, and is a method used also in software other than vehicle-mounted software.
  • FIG. 5 is a time chart showing a round robin scheduling process according to the second embodiment.
  • the control unit 220 activates the time division middleware 304 before and after the execution timing of the slot 302 assigned to the QM application.
  • the time division middleware 304 executes copy and write back processing using the general-purpose database 211 and the cache area 212.
  • the ASIL application 111 accesses the general database 211. Therefore, the time-division middleware 304 is not activated between the ASIL1 application 601 and the ASIL2 application 602.
  • control unit 220 allocates a predetermined execution time to each task, and if one task is not completed within the predetermined execution time, executes another task. As a result, even if a task is not completed, it is possible to switch to the execution of another task, and it is possible to improve the efficiency of task execution.
  • the present invention is not limited to the above-described embodiments, but includes various modifications.
  • Each of the above-described embodiments has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to those having all the described configurations. Further, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and further, it is possible to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add/delete/replace other configurations with respect to a part of the configurations of the respective embodiments.
  • Vehicle control device 110: Application unit, 111: ASIL application, 112: QM application, 210: Recording unit, 211: General-purpose database, 212: Cache area, 220: Control unit

Abstract

最新の共有データを適切に管理する。車両制御装置1は、車両に搭載される電気及び電子部品の機能に関する安全性要求レベルの異なる複数のアプリケーション111,112を有するアプリケーション部110と、複数のアプリケーション各々で使用する共有データを記録する記録部210と、複数のアプリケーション各々のタスク実行時間を制御する制御部220と、を備える。記録部は、ASILアプリケーション111がアクセス可能で且つQMアプリケーション112がアクセス不可能な汎用データベース211と、ASILアプリケーションがアクセス不可能で且つQMアプリケーションがアクセス可能なキャッシュ領域212とを有する。汎用データベースとキャッシュ領域とは、共有データを共有可能に構成されている。制御部は、アプリケーションの安全性要求レベルに応じて、汎用データベースとキャッシュ領域とを使い分ける。

Description

車両制御装置
 本発明は、車両制御装置に関する。
 自動車向けの国際標準規格ISO26262には、機能安全の指標としてASIL(Automotive Safety Integrity Level)が定められている。ISO26262では、ソフトウェアによるパーティショニングによって無干渉(FFI:Freedom From Interference)が実現されていることを前提として、ASILの異なるアプリケーションが1つのマイコンに混在することを許容している。そのため、異なる安全性要求レベルのアプリケーション間の従属故障を防止する技術が必要とされる。
 ここで、プロセス空間を分離することによって、アプリケーションのメモリを保護することが可能である。異なるプロセスに属するアプリケーション間でデータをやり取りする場合、データ授受用の一時領域を用いることが一般的である。
 特許文献1には、ソフトウェア間でデータを授受する技術が開示されている。この技術では、必要なメモリ容量を低減することを課題としている。この技術の車載ECUに搭載されたマイコンは、2つのコアと、各々のコアにより実行される第1ソフト及び第2ソフトと、第3ソフトによってアクセスされないASIL領域と、を備える。これら第1ソフト及び第2ソフトには、第3ソフトよりも高い安全度が設定されている。第2コアの要求部は、予め定められたタイミング毎に、第1ソフトから第2ソフトに提供される全てのデータのうちの一部であって、当該タイミングにて第2ソフトが必要とする一部のデータを第1コアに要求する。第1コアの書込部は、要求部によって要求されたデータをASIL領域に書き込み、書込完了を第2コアに通知する。そして、第2コアの読出部は、ASIL領域からデータを読み出している。
特開2017-199294号公報
 このように特許文献1には、ASILソフトウェア間でデータを授受する技術が開示されている。この技術では、QM(Quality Management)ソフトウェアからアクセスできないASIL専用の授受領域を介して、必要なデータに絞ってやり取りすることによって、メモリ消費量を抑制している。
 時間駆動スケジューリングによってアプリケーションの実行時間を保証する環境においては、規定の時間内にアプリケーションが実行完了することが求められる。それに対して、プロセス空間を跨いでデータを授受する場合、プロセス間通信で発生するオーバーヘッドによって、ある程度の遅延が伴う。
 例えば、汎用データベースを用いてデータを一元管理するシステムにおいては、安全性要求レベルの異なるアプリケーションが1つのマイコンに混在することが想定される。そのため、安全性要求レベルの高いアプリケーションが属するプロセスに汎用データベースを配置することが望ましい。その場合、安全性要求レベルの低いアプリケーションは、プロセス間通信で汎用データベースにアクセスすることとなり、その際に発生するオーバーヘッドがアプリケーションの実行時間を保証する上での課題となる。例えば、特許文献1のアクセス方法では、データを要求するアプリケーションの数やデータのサイズに応じて処理負荷が増大し、タスクの実行時間を保証することが困難になる可能性がある。
 本発明は、上記のような課題を解決し、最新の共有データを適切に管理することを主な目的とする。
 本発明に係る車両制御装置は、車両に搭載される電気及び電子部品の機能に関する安全性要求レベルの異なる複数のアプリケーションを有するアプリケーション部と、前記複数のアプリケーション各々で使用する共有データが記録される記録部と、前記複数のアプリケーション各々のタスク実行時間を制御する制御部と、を備えた車両制御装置であって、前記記録部は、前記安全性要求レベルの高いアプリケーションがアクセス可能で且つ前記安全性要求レベルの低いアプリケーションがアクセス不可能なデータベースと、前記安全性要求レベルの高いアプリケーションがアクセス不可能で且つ前記安全性要求レベルの低いアプリケーションがアクセス可能なキャッシュと、を有し、前記データベースとキャッシュとは、前記共有データを共有可能に構成されており、前記制御部は、前記アプリケーションの安全性要求レベルに応じて、前記データベースと前記キャッシュとを使い分ける。
 本発明によれば、最新の共有データを適切に管理することができる。
実施例1に係る車両制御装置を示すブロック図。 実施例1に係る時間駆動スケジューリング処理を示すタイムチャート。 実施例1に係る読み出し及び書き込み処理を示すフローチャート。 実施例1に係るコピー及び書き戻し処理を示すフローチャート。 実施例2に係るラウンドロビンスケジューリング処理を示すタイムチャート。
 以下、添付図面を参照して幾つかの実施形態について説明する。本実施形態は、本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については、同一の参照符号が付されている。
 <車両制御装置>
 図1は、第1実施形態に係る車両制御装置を示すブロック図である。
 車両制御装置1は、ハードウェアとして、メモリ100と、CPU(Central Processing Unit)130と、タイマ140とを有する。メモリ100は、ソフトウェアを格納する。メモリ100は、ソフトウェアとして、アプリケーション部110と、時分割ミドル部200と、OS(Operating System)120とを有する。
 アプリケーション部110には、種別が異なる複数のアプリケーションを有する。種別が異なる複数のアプリケーションは、ASILアプリケーション111と、QMアプリケーション112とでよい。例えば、ASILアプリケーション111は、診断アプリケーションであり、QMアプリケーション112は、センサフュージョンアプリケーションである。ASILアプリケーション111と、QMアプリケーション112とは、プロセス間通信可能に構成されている。アプリケーション部110には、QMアプリケーションである軌道計画アプリケーション113が含まれてよい。
 時分割ミドル部200には、記録部210と、制御部220とが含まれる。記録部210には、「データベース」の一例としての汎用データベース211と、「キャッシュ」の一例としてのキャッシュ領域212とが含まれる。汎用データベース211は、ASILアプリケーション111がアクセス可能で且つQMアプリケーション112がアクセス不可能である。汎用データベース211には、各アプリケーション111,112各々で使用される共有データが記録される。キャッシュ領域212は、ASILアプリケーション111がアクセス不可能で且つQMアプリケーション112がアクセス可能である。キャッシュ領域212には、各アプリケーション111,112各々で使用される共有データが一時的に記録される。制御部220には、メイン処理を実行するメイン処理部221と、コピー及び書き戻し処理を実行するコピー及び書き戻し処理部222とが含まれる。制御部220は、タイマ140に各アプリケーション111,112の起動タイミングを設定する。制御部220が設定した各アプリケーション111,112の起動タイミングが到来した場合、タイマ140は、各アプリケーション111,112のタスクの割り込みを発生させる。メイン処理部221は、タイマ140が発生させた各アプリケーション111,112の割り込み時間に、各アプリケーション111,112を起動する。
 制御部220は、アプリケーション111,112の種別に応じて、汎用データベース211とキャッシュ領域212とを使い分ける。アプリケーション111,112の種別は、例えば、各アプリケーション111,112の安全性要求レベルである。安全性要求レベルは、自動車に搭載される電気及び電子部品の機能安全に関する基準であってよい。
  制御部220は、実行される各アプリケーション111,112の安全性要求レベルに応じて、汎用データベース211又はキャッシュ領域212へのコピー処理及び書き戻し処理222を実行する。尚、アプリケーション111,112の種別は、各アプリケーション111,112の優先順位でもよい。
 <アプリケーション>
 制御部220は、各アプリケーション111,112にタスクを割り当て、時間駆動スケジューリングで割り当てたタスクを実行する。ISO26262では、機能安全の視点から、危険事象が低い順に、QM、ASIL-A、ASIL-B、ASIL-C、及びASIL-Dに、タスクの安全性要求レベルを分類している。アプリケーションは、大きく分類すると、安全性を担保しなければならないASILアプリケーション(診断アプリケーション)111と、安全性保障に関係がないQMアプリケーション(センサフュージョンアプリケーション)112とがある。例えば、ASILアプリケーション111は、ソフトウェア及びハードウェアの故障を検知する処理を実行する。QMアプリケーション112は、センサなどの周辺装置から外部情報を取得する処理を実行する。
 <時間駆動スケジューリング>
 図2は、実施例1に係る時間駆動スケジューリング処理を示すタイムチャートである。
 時分割ミドルウェア304は、ASILアプリケーション111に割り当てられたスロット301と、QMアプリケーション112に割り当てられたスロット302との実行単位で、各アプリケーション111,112の起動・停止を管理する。図2中のOS303は、各スロット301,302と、時分割ミドルウェア304との切り替えに要する時間である。
 QMアプリケーション112が汎用データベース211にアクセスする際には、専用のAPI(Application Programming Interface)が使用される。この専用のAPIの処理では、次の実行タイミングで必要な共有データの取得要求310が時分割ミドルウェア304に発行される。時分割ミドルウェア304は、次のQMアプリケーション112に割り当てられたスロット302の起動直前で汎用データベース211からキャッシュ領域212に共有データを予めコピーするコピー処理を実行する(図2中の符号S1)。時分割ミドルウェア304は、時間駆動スケジューリングによって知り得る各アプリケーション111,112の起動タイミングに基づいて、汎用データベース211からキャッシュ領域212に共有データをコピーするタイミングを制御する。これにより、QMアプリケーション112は、キャッシュ領域212から実行に必要な共有データにアクセスする読み出し処理を実行する。これにより、QMアプリケーション112は、最新の共有データを参照することが可能になる(図2中の符号S2)。尚、汎用データベース211からキャッシュ領域212にコピーされる共有データは、QMアプリケーション112が必要な共有データに限定してよい。これにより、メモリ消費を抑えることができる。
 次に、時分割ミドルウェア304は、QMアプリケーション112の実行結果を汎用データベース211に格納する書き戻し処理を実行する。書き戻し処理では、QMアプリケーション112がキャッシュ領域212に実行結果の共有データをコピーする書き込み処理を実行し(図2中の符号S3)、専用のAPIの処理において、書き込み要求311が時分割ミドルウェア304に発行される。時分割ミドルウェア304は、QMアプリケーション112に割り当てられたスロット302の終了直後にキャッシュ領域212から汎用データベース211に共有データを格納する書き戻し処理を実行する(図2中の符号S4)。これにより、ASILアプリケーション111は、常に最新の共有データを参照可能となる。
 一方、ASILアプリケーション111が汎用データベース211にアクセスする際には、ASILアプリケーション111は、最新の共有データを参照することができる。ASILアプリケーション111は、ASILアプリケーション111の実行結果を汎用データベース211に格納する。これにより、ASILアプリケーション111及びQMアプリケーション112は、常に最新の共有データを参照可能となる。
 <時分割ミドルウェア>
 時分割ミドルウェア304は、QMアプリケーション112による汎用データベース211の共有データの読み出し及び書き込み処理(図2中のS2及びS3)を実行する。
 図3は、実施例1に係る読み出し及び書き込み処理を示すフローチャートである。
 時分割ミドルウェア304は、前のスロットが正常に実行完了しているか否かを判定する(S401)。S401の判定結果が偽の場合(S401:NO)、時分割ミドルウェア304は、時間保護違反の処理を実行する(S402)。S401の判定結果が真の場合(S401:YES)、時分割ミドルウェア304は、コピー及び書き戻し処理を呼び出す(S500)。その後、時分割ミドルウェア304は、タイマ140に対して次のスロットの割り込みタイミングの設定処理を実行し(S403)、現在のスロットのタスクを実行状態に設定する(S404)。
 図4は、実施例1に係るコピー及び書き戻し処理を示すフローチャートである。
 図4の上半分が、QMアプリケーション112の直後の書き戻し処理(S510。図2中のS4)である。時分割ミドルウェア304は、直前のスロットがQMアプリケーション112か否かを判定する(S511)。S401の判定結果が真の場合(S401:YES)、時分割ミドルウェア304は、キャッシュ領域212から汎用データベース211にQMアプリケーション112の実行結果である共有データを格納する書き戻し処理を実行する(S512)。これにより、汎用データベース211の共有データを最新の状態に保つことが可能である。
 図4の下半分が、QMアプリケーション112の直前のコピー処理(S520。図2中のS1)である。時分割ミドルウェア304は、直後のスロットがQMアプリケーション112か否かを判定する(S521)。S521の判定結果が真の場合(S521:YES)、時分割ミドルウェア304は、QMアプリケーション112の実行に必要な共有データを汎用データベース211からキャッシュ領域212にコピーするコピー処理を実行する(S522)。これにより、QMアプリケーション112は、最新の共有データを参照することが可能になる。
 この構成によれば、車両制御装置1は、車両に搭載される電気及び電子部品の機能に関する安全性要求レベルの異なる複数のアプリケーション111,112を有するアプリケーション部110と、複数のアプリケーション111,112各々で使用する共有データを記録する記録部210と、複数のアプリケーション111,112各々のタスク実行時間を制御する制御部220と、を備える。記録部210は、安全性要求レベルの高いASILアプリケーション111がアクセス可能で且つ安全性要求レベル低いQMアプリケーション112がアクセス不可能な汎用データベース211と、安全性要求レベルの高いASILアプリケーション111がアクセス不可能で且つ安全性要求レベル低いQMアプリケーション112がアクセス可能なキャッシュ領域212とを有する。汎用データベース211とキャッシュ領域212とは、共有データを共有可能に構成されている。制御部220は、アプリケーション111,112の安全性要求レベルに応じて、汎用データベース211とキャッシュ領域212とを使い分ける。
 これにより、車両制御装置1は、ASILアプリケーション111及びQMアプリケーション112各々で使用される共有データを最新な状態に管理することが可能となる。
 さらに、制御部220は、安全性要求レベルの低いQMアプリケーション112を実行する場合、QMアプリケーション112の実行に必要な共有データを汎用データベース211からキャッシュ領域212に予めコピーするコピー処理を実行する。これにより、時間駆動スケジューリングによってタスクを実行する環境において、プロセス間通信を行わずに汎用データベース211を更新することができ、汎用データベース211へのアクセスに伴う遅延を抑制することができる。したがって、プロセス間通信で発生するオーバーヘッドの影響を低減し、アプリケーション111,112の実行時間を保障することが可能となる。
 さらに、制御部220は、安全性要求レベルの低いQMアプリケーションの実行結果をキャッシュ領域212から汎用データベース211に格納する書き戻し処理を実行する。
  これにより、ASILアプリケーション111が汎用データベース211内の最新の共有データを参照することができる。
 さらに、制御部220は、安全性要求レベルの高いASILアプリケーション111を実行する場合、ASILアプリケーション111の実行結果を汎用データベース211に格納する。これにより、ASILアプリケーション111及びQMアプリケーション112は、常に最新の共有データを参照可能となる。
 実施例2に係る車両制御装置について説明する。実施例1は、車両制御装置が時間駆動スケジューリングを実行した。しかし、実施例2では、車両制御装置がラウンドロビンスケジューリングを実行する。第2実施形態に係る車両制御装置は、第1実施形態に係る車両制御装置とは、スケジューリングの構成が異なるだけであり、その他の構成は、第1実施形態に係る車両制御装置と同様である。したがって、第1実施形態との相違点を中心に述べる。
 ラウンドロビンスケジューリングでは、実行可能なタスクにタイムスロット(実行時間)を割り当て、タイムスロット内にタスクの処理が完了しなかった場合、当該タスクを中断して別のタスクに処理を渡す。例えば、複数の端末が一つの回線を共有する環境におけるネットワークのスケジューリングにも適用可能であり、車載向けソフトウェア以外でも利用される方式である。
 図5は、実施例2に係るラウンドロビンスケジューリング処理を示すタイムチャートである。
 ラウンドロビンスケジューリング処理では、制御部220は、QMアプリケーションに割り当てられたスロット302の実行タイミングの前後で時分割ミドルウェア304を起動する。これにより、時分割ミドルウェア304は、汎用データベース211とキャッシュ領域212とを利用したコピー及び書き戻し処理を実行する。なお、ASILアプリケーション111は、汎用データベース211にアクセスする。このため、ASIL1アプリケーション601と、ASIL2アプリケーション602との間では、時分割ミドルウェア304を起動しない。
 この構成によれば、制御部220は、各タスクに所定の実行時間を割り当てて、所定の実行時間内に一のタスクが完了しない場合、他のタスクを実行する。これにより、タスクが完了しない場合でも、別のタスクの実行に切り替えることができ、タスク実行の効率を高めることが可能となる。
 なお、本発明は上記した実施例に限定されるものではなく様々な変形例が含まれる。上記した各実施例は本発明を分かりやすく説明するために詳細に説明されたものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。さらに、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、さらに、ある実施例の構成に他の実施例の構成を加えることも可能である。さらに、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 1:車両制御装置、110:アプリケーション部、111:ASILアプリケーション、112:QMアプリケーション、210:記録部、211:汎用データベース、212:キャッシュ領域、220:制御部

Claims (5)

  1.  車両に搭載される電気及び電子部品の機能に関する安全性要求レベルの異なる複数のアプリケーションを有するアプリケーション部と、
     前記複数のアプリケーション各々で使用する共有データを記録する記録部と、
     前記複数のアプリケーション各々のタスク実行時間を制御する制御部と、を備えた車両制御装置であって、
     前記記録部は、
      前記安全性要求レベルの高いアプリケーションがアクセス可能で且つ前記安全性要求レベルの低いアプリケーションがアクセス不可能なデータベースと、
      前記安全性要求レベルの高いアプリケーションがアクセス不可能で且つ前記安全性要求レベルの低いアプリケーションがアクセス可能なキャッシュと、を有し、
     前記データベースと前記キャッシュとは、前記共有データを共有可能に構成されており、
     前記制御部は、前記アプリケーションの安全性要求レベルに応じて、前記データベースと前記キャッシュを使い分ける車両制御装置。
  2.  前記制御部は、前記安全性要求レベルの低いアプリケーションを実行する場合、当該アプリケーションの実行に必要な共有データを前記データベースから前記キャッシュに予めコピーするコピー処理を実行する、前記1に記載の車両制御装置。
  3.  前記制御部は、前記安全性要求レベルの低いアプリケーションの実行結果を前記キャッシュから前記データベースに格納する書き戻し処理を実行する、請求項2に記載の車両制御装置。
  4.  前記制御部は、前記安全性要求レベルが高いアプリケーションを実行する場合、当該アプリケーションの実行結果を前記データベースに格納する、請求項3に記載の車両制御装置。
  5.  前記制御部は、各タスクに所定の実行時間を割り当てて、当該所定の実行時間内に一のタスクが完了しない場合、他のタスクを実行する、請求項4に記載の車両制御装置。
PCT/JP2020/004479 2019-03-05 2020-02-06 車両制御装置 WO2020179344A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080012081.0A CN113474220B (zh) 2019-03-05 2020-02-06 车辆控制装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019039153A JP2022065218A (ja) 2019-03-05 2019-03-05 車両制御装置
JP2019-039153 2019-03-05

Publications (1)

Publication Number Publication Date
WO2020179344A1 true WO2020179344A1 (ja) 2020-09-10

Family

ID=72338289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004479 WO2020179344A1 (ja) 2019-03-05 2020-02-06 車両制御装置

Country Status (3)

Country Link
JP (1) JP2022065218A (ja)
CN (1) CN113474220B (ja)
WO (1) WO2020179344A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046959A (ja) * 2006-08-18 2008-02-28 Xanavi Informatics Corp カーナビゲーション装置、並びに、データベース管理方法およびプログラム
JP2008171389A (ja) * 2007-01-09 2008-07-24 Lenovo Singapore Pte Ltd ドメイン・ログオンの方法、およびコンピュータ

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5816572B2 (ja) * 2012-02-23 2015-11-18 日立オートモティブシステムズ株式会社 車両用制御装置
JP2015067107A (ja) * 2013-09-30 2015-04-13 日立オートモティブシステムズ株式会社 車両用制御装置
EP3357761B1 (en) * 2015-09-30 2022-10-05 Hitachi Astemo, Ltd. In-vehicle control device
JP2017097633A (ja) * 2015-11-25 2017-06-01 日立オートモティブシステムズ株式会社 車両制御装置
JP6555184B2 (ja) * 2016-04-28 2019-08-07 株式会社デンソー 車載制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046959A (ja) * 2006-08-18 2008-02-28 Xanavi Informatics Corp カーナビゲーション装置、並びに、データベース管理方法およびプログラム
JP2008171389A (ja) * 2007-01-09 2008-07-24 Lenovo Singapore Pte Ltd ドメイン・ログオンの方法、およびコンピュータ

Also Published As

Publication number Publication date
CN113474220A (zh) 2021-10-01
CN113474220B (zh) 2024-02-20
JP2022065218A (ja) 2022-04-27

Similar Documents

Publication Publication Date Title
US9329911B2 (en) Driver initialization for a process in user mode
JP5044387B2 (ja) 情報処理装置及びそのスタックポインタ更新方法
CN108351840B (zh) 车辆控制装置
CN105094084B (zh) 支持多核控制器上的相干数据访问的服务和系统
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
JPWO2017056725A1 (ja) 車載制御装置
WO2010097925A1 (ja) 情報処理装置
WO2015045507A1 (ja) 車両用制御装置
CN115629882A (zh) 多进程中的内存的管理方法
JP5533789B2 (ja) 車載電子制御装置
JPH1021094A (ja) リアルタイム制御方式
US10967813B2 (en) Vehicle control device
KR20050076702A (ko) 멀티프로세서 시스템에서의 데이터 전송 방법과, 그방법을 수행하는 멀티프로세서 및 프로세서
WO2020179344A1 (ja) 車両制御装置
JP2023508913A (ja) コンピューティングデバイスの動作方法及び動作装置
US10545885B2 (en) Information processing device, information processing method, and computer program product
JP2019049928A (ja) 電子制御装置及び電子制御装置の制御方法
JP7204443B2 (ja) 車両制御装置およびプログラム実行方法
US11269549B2 (en) Storage device and command processing method
KR20220085831A (ko) 능력 관리 방법 및 컴퓨터 장치
JP6995644B2 (ja) 電子制御装置
JP2017204083A (ja) メモリ保護システム
JP2017204286A (ja) 車両用制御装置
JP2015099517A (ja) 車両制御装置
CN117272412B (zh) 中断控制寄存器保护方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20767451

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20767451

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP