Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7025966B2 - 車両制御装置 - Google Patents
[go: Go Back, main page]

JP7025966B2 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
JP7025966B2
JP7025966B2 JP2018052353A JP2018052353A JP7025966B2 JP 7025966 B2 JP7025966 B2 JP 7025966B2 JP 2018052353 A JP2018052353 A JP 2018052353A JP 2018052353 A JP2018052353 A JP 2018052353A JP 7025966 B2 JP7025966 B2 JP 7025966B2
Authority
JP
Japan
Prior art keywords
jitter
execution
unit
adjusted
execution timing
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
JP2018052353A
Other languages
English (en)
Other versions
JP2019164616A (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.)
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 JP2018052353A priority Critical patent/JP7025966B2/ja
Priority to EP19772291.1A priority patent/EP3770758B1/en
Priority to PCT/JP2019/008758 priority patent/WO2019181490A1/ja
Priority to US16/967,171 priority patent/US11799598B2/en
Priority to CN201980011426.8A priority patent/CN111837103B/zh
Publication of JP2019164616A publication Critical patent/JP2019164616A/ja
Application granted granted Critical
Publication of JP7025966B2 publication Critical patent/JP7025966B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/205Arrangements for detecting or preventing errors in the information received using signal quality detector jitter monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R29/00Arrangements for measuring or indicating electric quantities not covered by groups G01R19/00 - G01R27/00
    • G01R29/26Measuring noise figure; Measuring signal-to-noise ratio
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31708Analysis of signal quality
    • G01R31/31709Jitter measurements; Jitter generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Nonlinear Science (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、車両制御装置およびその制御方法に関する。
車両制御システムは、電子化された車両制御機器を操作するECU、すなわち電子制御装置(Electronic Control Unit)と、複数のECU間の通信を可能にする車載LAN(Local Area Network)とから構成される。車両制御システムは、環境負荷の低減や安全要求に伴い、システムの高機能化、機能の分散化、複雑化が進んでいる。その結果、ECUのソフトウェアアーキテクチャの標準化、安全装置の電子制御化とその安全性確保の仕組みの重要性が増大している。
車両制御機器における安全装置の電子制御化に伴い、機能安全の仕組みが車両制御システムに導入されつつある。機能安全とは、電気・電子システムに不具合が生じたときに、システムが安全側に遷移することで安全を確保する考えである。例えば、自動車向け機能安全規格ISO26262では、規格独自の安全度水準であるASIL(Automotive Safety Integrity Level)が設けられている。最上位レベルASIL_Dに準拠するには、車両制御装置の安全に関わる機能の構成が、主機能、安全装置、監視装置と明確に分離していることを第三者に対して証明できることが求められている。
一般的な車両制御装置に機能安全規格ISO26262を適用すると、車両制御システムではさまざまなASILのソフトウェアが混在すると予測される。そのため、既存のソフトウェアが機能安全規格に準拠するには、ソフトウェア間の干渉を防止する仕組みや、その仕組みに関わる処理の高速化、軽量化、信頼性向上等の技術が必要となる。
システムを構成するソフトウェア間の相互作用を防止する仕組みとして、時間保護機能、メモリ保護機能、データ保護機能が知られている。例えば、安全度水準の低いQM(Quality Management)のソフトウェアが暴走した場合でも、ASIL_ Dのソフトウェアといった安全度水準の高いソフトウェアの動作を阻害するのを抑制し、システムに影響を及ぼすことを防ぐ仕組みである。
特許文献1では、専用のパーティショニングを設けて実行タイミングを保障することにより、異なる安全度の処理が影響することを防いでいる。
特許第5136695号
さまざまなサプライヤとOEM(Original Equipment Manufacturer)のソフトウェアが混在するシステムにおいて、サプライヤは、限られた情報内でソフトウェアを設計する必要がある。しかしながら、OEM製のソフトウェアや他社製のソフトウェアからの意図しない高優先度処理により、サプライヤの担当する制御処理の実行タイミングの間隔にずれ(ジッタ)が発生し、制御が不安定化する可能性がある。特許文献1では、時分割スケジューリング等を用いて会社ごとにタスクを実行する時間帯を決めている。しかし、特許文献1の方法では、タイムスロットが小さいために設計が複雑化する上に、オーバーヘッドが大きくなる。
本発明は、上記課題に鑑みてなされたもので、その目的は、簡易な構成で安全性と信頼性とを向上させることのできるようにした車両制御装置およびその制御方法を提供することにある。本発明のさらなる目的は、所定の処理に設定されたジッタの許容値を利用することにより、ジッタによる影響を抑制できるようにした車両制御装置およびその制御方法を提供することにある。
上記課題を解決するべく、本発明に従う車両制御装置は、車両を制御する車両制御装置であって、所定の処理の実行を管理する実行管理部と、所定の処理の実行状態の履歴を記録する実行状態記録部と、所定の処理の実行に関する設定情報であって、ジッタの許容値であるジッタ許容値を含む設定情報を管理する設定情報管理部と、を備え、実行管理部は、所定の処理のうちジッタの発生した調整対象の処理の処理の実行タイミングを調整対象の処理のジッタ許容値に基づいて調整する。
本発明によれば、ジッタの発生した調整対象の処理の実行タイミングを、調整対象の処理のジッタ許容値に基づいて調整することができる。
車両制御装置としてのECUの機能構成図である。 ECUのハードウェア構成およびソフトウェア構成図である。 タイマ管理テーブルの例を示す図である。 処理情報管理テーブルの例を示す図である。 ログ記録テーブルの例を示す図である。 オフセット調整テーブルの例を示す図である。 キュー管理テーブルの例を示す図である。 割込み受付部の動作フローの例を示す図である。 CPUリソース管理部の動作フローの例を示す図である。 キュー操作部の動作フローの例を示す図である。 ソフトウェア制御部の動作フローの例を示す図である タイマ管理部の動作フローの例を示す図である オフセット調整部の動作フローの例を示す図である。 ジッタ評価部の動作フローの例を示す図である オフセット決定部の動作フローの例を示す図である タスク実行部の動作フローの例を示す図である
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態に係る車両制御装置およびその制御方法では、高優先度のタスクまたは割込み処理により実行タイミングがずれてしまったタスクの実行タイミングを、ジッタ許容値を利用して調整する。これにより、本実施形態では、車両制御装置のOS(オペレーティングシステム)が管理する処理(タスク)の実行タイミングのずれを簡易な制御構成で軽減することができる。
本実施形態に係る車両制御装置は、複数の所定の処理(タスク処理と割込み処理を含む)の実行タイミングや実行順番、実行状態を管理するソフトウェア制御部と、前記処理の実行状態(実行タイミング、実行時間、実行状態など)の履歴を記録する実行状態記録部と、前記処理に関わる設定情報(実行周期、最短/最大実行間隔、実行時間、デッドラインなど)を記憶した設定情報記憶部とを備える。設定情報管理部は、前記処理が期待された設定情報とのずれ(以下、ジッタ)、例えば実行間隔とのずれ、実行時間とのずれ、の許容程度をあらわすジッタ許容度を管理することもできる。そして、ソフトウェア制御部は、ジッタ許容度を参照し、所定の周期から外れたタイミングで実行された処理を次の起動タイミングにおいてジッタ許容度に応じて調整する。
周期的に実行されるジッタであるか、それとも一時的に実行されたジッタであるかを判別し、ジッタの種類に応じて前記処理の実行タイミングを一時的または恒久的に変化させることもできる。
ジッタと実行タイミングに応じて、同じ実行周期内で他の処理と実行タイミングを入れ替えることもできる。
図1~図16を用いて実施例を説明する。図1は、「車両制御装置」の例としてのECU1の機能構成を示す説明図である。本実施例では、インバータを制御するECU1を例に挙げて説明するが、インバータ以外の制御対象を制御するECUにも適用することができる。
ECU1は、インバータなどの制御対象装置CTを制御する電子制御装置である。ECU1は、それぞれ後述するように、実行部P1、割込み受付部P2、実行管理部P3、設定情報管理部P4、実行状態記録部P5、ジッタ判別部P6といった機能を備える。
実行部P1は、タスク処理または割込み処理を実行する機能である。以下、タスク処理を「タスク」と、割込み処理を「割込み」と、それぞれ略記する場合がある。「所定の処理」は、タスク処理と割込み処理の両方を含む。実行部P1は、実行管理部P3で管理されている実行タイミングに従って、実行キューに格納されたタスクを優先度の高い順番に実行する。さらに、実行部P1は、割込み受付部P2が割込みを受け付けると、タスクの実行を一時中断し、受け付けられた割込み処理を実行する。割込み処理の終了後に中断されたタスクの実行が再開される。
実行管理部P3は、タスク処理や割込み処理の実行を管理する機能である。詳しくは、実行管理部P3は、タスク処理および割込み処理の、実行タイミングと実行順番と実行状態とを管理することができる。
実行管理部P3は、実行タイミング調整部P31と、実行タイミング入替部P32とを備える。実行タイミング調整部P32は、ジッタ判定部P6の判定結果に基づいて、調整対象のタスク処理の実行タイミングをジッタ許容値に基づいて調整する機能である。実行タイミング入替部P32は、調整対象のタスク処理に発生したジッタと実行タイミングとに応じて、調整対象のタスク処理の実行タイミングを他のタスク処理の実行タイミングと入れ替える。すなわち、実行キューの中での順番を変更する。
設定情報管理部P4は、タスク処理および割込み処理の実行に関する設定情報を管理する機能である。設定情報には、ジッタの許容値(以下、ジッタ許容値とも呼ぶ)が含まれている。さらに設定情報には、例えば、優先度、実行周期、最大実行間隔、キュー優先度、キュー順序などの情報を含めることもできる。
実行状態記録部P5は、タスク処理や割込み処理の実行状態の履歴を記録する機能である。実行状態記録部P5は、例えば、実行時間、終了時間、実行間隔、平均実行間隔などの情報を記録する。
ジッタ判別部P6は、調整対象の処理に発生したジッタが、周期的に発生する周期的ジッタであるか、一時的に発生する一時的ジッタであるかを判定する機能である。
実行管理部P3の実行タイミング調整部P31は、ジッタ判定部の判定結果に基づいて、調整対象の処理の実行タイミングをジッタ許容値に基づいて調整する。実行タイミング調整部P31は、ジッタ判定部P6が調整対象の処理に発生したジッタが周期的ジッタであると判定すると、調整対象の処理の実行タイミングを周期的ジッタに対応させることにより調整する。
さらに、実行管理部P3の実行タイミング入替部P32は、調整対象の処理に発生したジッタと調整対象の処理の実行タイミングとに応じて、調整対象のタスク処理の次回の実行タイミングを前記所定の処理のうちの他の処理の実行タイミングと入れ替える。
図2は、ECU1のハードウェア構成およびソフトウェア構成の概略を示す。インバータ制御装置のECU1として説明するが、これに限らず、他の制御対象用のECUにも適用することができる。
ECU1は、例えばプログラム記憶部2、演算部3、データ記憶部4、割込みコントローラ5、内部バス6を備える。
演算部3は、プログラム記憶部2に格納されているコンピュータプログラムを実行するプロセッサコア(CPU : Central Processing Unit)である。
プログラム記憶部2は、コンピュータプログラムを格納する記憶装置である。プログラム記憶部2は、例えば割込み受付部201、CPUリソース管理部202、キュー操作部203、ソフトウェア制御部204、 タイマ管理部205、オフセット調整部206、ジッタ評価部207、オフセット決定部208、タスク実行部209を格納する。
割込み受付部201は、図外のECUからの割込み処理を受け付けるコンピュータプログラムである。割込み受付部201は、図1の割込み受付部P2に対応する。CPUリソース管理部202は、演算部(CPU)3の演算資源を管理するコンピュータプログラムである。キュー操作部203は、キューに格納されるタスクの順番などを操作するコンピュータプログラムである。キュー操作部203は、図1の実行タイミング入替部P32に対応する。
ソフトウェア制御部204は、タスク処理や割込み処理の実行を管理するコンピュータプログラムである。ソフトウェア制御部204は、図1の実行管理部P3に対応する。タイマ管理部205は、タイマ情報を管理するコンピュータプログラムである。
オフセット調整部206は、タスク処理の実行タイミングをずらす時間(オフセット)を調整するコンピュータプログラムである。オフセット調整部206は、図1の実行タイミング調整部P31に対応する。
ジッタ評価部207は、発生したジッタが周期的なジッタであるのか、それとも一時的なジッタであるのかを判別するコンピュータプログラムである。ジッタ評価部207は、図1のジッタ判別部P6に対応する。
オフセット決定部208は、オフセット調整部206により使用されるコンピュータプログラムであり、オフセットを決定する。オフセット決定部208は、オフセット調整部206と共に、図1の実行タイミング調整部P31に対応する。タスク実行部209は、キューから取り出されたタスクを実行するコンピュータプログラムである。タスク実行部209は、図1の実行部P1に対応する。
演算部3が、プログラム記憶部2に格納されたコンピュータプログラムを読み込んで実行することにより、本発明に係るECUの機能が実現される。
データ記憶部4は、例えば、図3で後述するタイマ管理テーブル401、図4で後述する処理情報管理テーブル402、図5で後述するログ記録テーブル403、図6で後述するオフセット調整テーブル404、図7で後述するキュー管理テーブル405を格納する記憶装置である。
割込みコントローラ5は、ハードウェアタイマからノンマスカブル信号を受け取ると、演算部の実行中の処理を中断させ、マスク不可の割込み(ノンマスカブル割込み)を発生させる。
本実施例に係るECU1は、図2に示す構成に限定されない。例えば、データを保存するための不揮発性メモリ(バックアップRAM)、複数の演算部3により共有される共有メモリ、図示せぬセンサなどを備えてもよい。
図3は、タイマ管理テーブル401の例を示す。時刻情報を管理するタイマ管理テーブル401は、例えば名称フィールド4011と、値フィールド4012とを備える。名称フィールド4011は、タイマ管理テーブル401で管理する対象の名称である。名称フィールド4011には、例えば、タイマカウンタ、最大タイマカウンタ(タイマカウンタの最大値)が設定されるが、タイマ管理テーブル401で管理する対象の種類や数および管理方法は上述の例に限らない。設定値フィールド4012は、タイマ管理テーブル401の管理対象の値を表す。
図4は、タスク処理や割込み処理の実行に関する情報を管理する処理情報管理テーブル402の例を示す。処理情報管理テーブル402は、図1の「設定情報管理部P4」に対応する。処理情報管理テーブル402は、例えば名称フィールド4021と、優先度フィールド4022と、実行周期フィールド4023と、最大実行間隔フィールド4024と、ジッタ許容値フィールド4025と、キュー優先度フィールド4026と、キュー順4027とを備える。
名称フィールド4021は、処理情報管理テーブル402が管理する処理(タスク処理の識別情報、および割込み処理の識別情報)の名称である。本実施例では、割込み処理やタスク処理を管理対象とするが、管理対象の種類や数および管理方法は図4に示す例に限らない。
優先度フィールド4022は、名称フィールド4021で管理される処理の優先度を格納する。本実施例では16段階の優先度を採用しており、最高の優先度には「1」を、最低の優先度には「16」を設定する。優先度は16段階よりも低い段階数で管理してもよいし、16段階よりも多い段階数で管理してもよい。実行周期フィールド4023は、名称フィールド4021で管理される処理の実行周期を格納する。本実施例では1~10ms周期処理と割込みである。最大実行間隔フィールド4024は、前述した名称フィールド4021で管理される処理が実行されてから次に実行されるまでの間隔の最大値を格納する。本実施例では最大実行間隔のみであるがこれに限らない。例えば、最小の実行間隔が定義されても構わない。ジッタ許容値4025フィールドとは、前述した実行周期フィールド4023等で期待された設定情報とのずれ(以下、ジッタ)、本実施例では
実行間隔とのずれの許容度を表すがこれに限らない、例えば、実行時間、最小実行間隔とのずれの許容度でもよい。キュー優先度フィールド4026とは、前述した演算部3のキューに詰まれる際の優先度をあらわす。キュー順フィールド4027とは、演算部3が処理する処理を格納するキューの順番からなる。本実施例では、順番は1から処理数までとし、同じタイミングでキューが詰まれる場合、値が小さい方を先にキューにセットすることとするが、これに限らない。
図5は、「実行状態記録部」の例であるログ記録テーブル403を示す。ログ記録テーブル403は、図1の実行状態記録部P5に対応する。本実施例では、ログ記録テーブル403は、記録対象の分だけ用意される。
ログ記録テーブル403は、例えばIDフィールド4031と、実行時間フィールド4032と、終了時間フィールド4033と、実行間隔フィールド4034と、平均実行間隔4035とを備える。
IDフィールド4031は、ログ記録テーブル403が記録した値を識別するための識別子である。実行時間フィールド4032は、記録対象の処理が実行されたタイミングを記録した値である。終了時間フィールド4033は、記録対象の処理が終了したタイミングを記録した値である。実行間隔フィールド4034は、記録対象の処理の前回の実行タイミングからの経過時間をあらわす。平均実行間隔フィールド4035は、記録対象の処理の平均実行間隔である。平均実行間隔の値には、全処理の平均を採用してもよいし、あるいは、一定時間内の実行間隔の平均値を採用してもよい。
図6は、オフセットを調整するオフセット調整テーブル404の例を示す。オフセット調整テーブル404は、例えば名称フィールド4041と、実行状態フィールド4042と、オフセット4043と、実行タイミング調整値フィールド4044と、オフセットフラグ4045と、入れ替えフラグフィールド4046とを備える。
名称フィールド4041には、タスク処理を識別する情報が格納される。実行状態フィールド4042には、タスク処理の実行状態を識別するフラグが設定される。実行状態フィールド4042には例えば、未実行の場合は「0」が、待機中の場合は「1」が、実行済みの場合は「2」がフラグ値として設定される。オフセットフラグ、入替フラグについては後述する。
図7は、演算資源(CPU)の使用順序を管理するキュー管理テーブル405の例を示す。キュー管理テーブル405は、演算部3が実行する処理のキューを管理するテーブルである。本実施例では、新たなタスク処理はテーブル405の上部に追加され、演算部3はテーブル405の最下部からタスク処理を実行する。
以上がECU1のデータ記憶部4に格納されるテーブルの例である。テーブルの格納先はデータ記憶部4に限らない。図示せぬ他の記憶装置に記憶させてもよい。
次に、ECU1の演算部3で実行されるコンピュータプログラムの動作フローについて説明する。
図8は、割込み受付部201の動作フローである。以下、図8の動作フローは、割込み受付部201が割込みを受け付けると開始する。
割込み受付部201は、演算部3のリソースを確認し、リソースに空きがあるか判定する(S2010)。割込み受付部201は、演算部3のリソースに空きがあれば(S2010:YES)、ステップS2014へ進む。割込み受付部201は、リソースに空きがなければ(S2010:NO)、ステップS2011へ進む。
割込み受付部201は、リソースに空きがない場合(S2010:NO)、演算部3が現在実行中の処理内容を退避させる(S2011)。退避させる対象としては、例えば、プログラムカウンタやスタックである。
割込み受付部201は、受け付けた割込み処理を実行し(S2012)、ステップS2013へ進む。割込み受付部201は、割込み処理の終了後に、ステップS2011で退避させた処理内容を復帰させて(S2013)、図8に示す処理を終了する。
一方、割込み受付部201は、割込みを受け付けたときに、リソースに空きがある場合(S2010:YES)、割込み処理を実行する(S2014)。割込み処理の終了後に、図8に示す処理は終了する。
図9は、CPUリソース管理部202の動作フローである。CPUリソース管理部202は、演算部3のリソースに空きがあるか判定する(S2020)。CPUリソース管理部202は、リソースに空きがある場合(S2020:YES)、ステップS2021へ進み、空きがない場合(S2020:NO)、ステップS2025へ進む。
CPUリソース管理部202は、図10で後述するキュー操作部203を呼び出した後(S2021)、ステップS2022へ進む。
CPUリソース管理部202は、演算部3が受け付けた処理の開始時間(図中「Start」)をログ記録テーブル403の実行時間フィールド4032に記録し(S2022)、ステップS2023に進む。
CPUリソース管理部202は、受け付けた処理をキューから取り出して実行し(S2023)、ステップS2024に進む。
CPUリソース管理部202は、演算部3が受け付けた処理の終了時間(図中「End」)をログ記録テーブル403の終了時間フィールド4033に記録し(S2024)、ステップS2025に進む。
CPUリソース管理部202は、終了条件が満たされていれば(S2025:YES)、図9に示す処理を終了する。CPUリソース管理部202は、終了条件が満たされていない場合(S2025:NO)、ステップS2020へ戻る。
図10は、キュー操作部203の動作フローである。図10に示す動作フローは、図9で述べたステップS2021により呼び出されて実行される。
キュー操作部203は、キュー管理テーブル405に格納されたキューについて、実行タイミングが本来の実行間隔を超えているか(実行タイミング>実行間隔)、判定する(S2030)。すなわち、キュー操作部203は、処理情報管理テーブル402とログ記録テーブル403の実行時間フィールド4032とを参照し、実行タイミングが実行間隔を超過しているか確認する(S2030)。
キュー操作部203は、実行タイミングが実行間隔を超えていると判定すると(S2030:YES)、オフセット調整テーブル404の入替フラグ4046を操作して、ステップS2031に進む。キュー操作部203は、実行タイミングが実行間隔を超えていない場合(S2030:NO)、図10に示す処理を終了する。
キュー操作部203は、処理情報管理テーブル402のキュー優先度フィールド4026を確認し、キュー管理テーブル405で管理されているキュー(タスク処理)のうち、キュー操作が必要なタスク処理の優先度(キュー優先度)より低い優先度のタスク処理が有るか判定する(S2031)。
キュー操作部203は、キュー操作の必要なタスク処理よりも優先度の低いタスク処理がキューに格納されている場合(S2031:YES)、キュー操作が必要なタスク処理のキューとそのタスク処理よりも優先度が低いタスク処理のキューとの順番を入れ替えて(S2032)、図10に示す処理を終了する。なお、キュー操作部203は、キュー操作の必要なタスク処理よりも低い優先度を持つタスク処理が存在しない場合(S2031:NO)、図10に示す処理を終了する。
図11は、ソフトウェア制御部204の動作フローである。ソフトウェア制御部204は、データ記憶部4に格納されたテーブルを初期化し(S2040)、図12で後述するタイマ管理部205を呼び出す(S2041)。
ソフトウェア制御部204は、図13で後述するオフセット調整部206を呼び出し(S2042)、さらに図16で後述するタスク実行部9を呼び出した後(S2043)、ステップS2014に進む。
そして、ソフトウェア制御部204は、終了条件が満たされているか判定する(S2044)。ソフトウェア制御部204は、終了条件が満たされていれば(S2044:YES)、図11に示す処理を終了する。ソフトウェア制御部204は、終了条件が満たされていなければ(S2044:NO)、ステップS2042へ戻る。
図12は、タイマ管理部205の動作フローである。タイマ管理部205は、タイマ管理テーブル401からタイマカウンタおよび最大タイマカウンタを取得する。タイマ管理部205は、タイマカウンタの値と最大タイマカウンタと比較し、タイマカウンタが最大タイマカウンタを超えているか判定する(S2050)。
タイマ管理部205は、タイマカウンタの値が最大タイマカウンタを超えている場合(S2050:YES)、タイマ管理テーブル401のタイマカウンタの値に”0”を代入し(S2051)、図12に示す処理を終了する。
タイマ管理部205は、タイマカウンタの値が最大タイマカウンタを超えていない場合(S2050:NO)、タイマ管理テーブル401のタイマカウンタの値を一つインクリメントし(S2052)、図12に示す処理を終了する。
図13は、オフセット調整部206の動作フローである。オフセット調整部206は、図14で後述するジッタ評価部207(S2060)と、図15で後述するオフセット決定部208(S2061)とを実行した後、図13に示す処理を終了する。
図14は、ジッタ評価部207の動作フローである。ジッタ評価部207は、処理ログ記録管理テーブル403に記録された値から平均実行間隔を算出する(S2070)。平均実行間隔は、実行間隔の平均値として算出することができるが、これにかぎらない。例えば、単位時間内の平均値、あるいは直前の複数回分の平均値を平均実行間隔として用いてもよい。
ジッタ評価部207は、ステップS2070で算出された平均実行間隔と処理情報管理テーブル402のジッタ許容値4025とを比較することにより、オフセット調整の対象であるタスク処理に生じた評価対象ジッタが周期的なジッタであるか否かを判定する(S2071)。
ジッタ評価部207は、平均実行間隔の値がジッタ許容値内である場合、評価対象ジッタは周期的ジッタであると判定し(S2071:YES)、オフセット調整テーブル404のオフセットフラグ4045に”オフセット固定”を示す値を設定し(S2072)、図14に示す本処理を終了する。
ジッタ評価部207は、平均実行間隔が処理情報管理テーブル402のジッタ許容値4025から外れている場合(S2071:NO)、評価対象ジッタは一時的ジッタ(単発的なジッタ)であると判定する(S2073:YES)。ジッタ評価部207は、オフセット調整テーブル404のオフセットフラグ4045に”暫定”を示す値を設定し(S2074)、図14に示す処理を終了する。
ジッタ評価部207は、評価対象ジッタが周期的ジッタまたは一時的ジッタのいずれにも該当しないと判定すると(S2071:NO、S2073:NO)、オフセット調整テーブル404のオフセットフラグ4045をクリアし(S2075)、図14に示す処理を終了する。
図15は、オフセット決定部208の動作フローである。オフセット決定部208は、オフセット調整テーブル404のオフセットフラグ4045を確認し、オフセットフラグ4045に”0”以外の値が設定されているか判定する(S2080)。オフセットフラグ4045に”0”以外の値が設定されていない場合(S2080:NO)、すなわちオフセットフラグ4045が設定されていない場合、オフセット決定部208は、図15に示す処理を終了する。
オフセット決定部208は、オフセットフラグ4045に”0”以外の値が設定されている場合(S2080:YES)、算出したオフセットとジッタ許容値とを比較し、ジッタ許容値がオフセットよりも大きいか判定する(S2081)。
オフセット決定部208は、ジッタ許容値がオフセットよりも大きい場合(S2081:YES)、オフセット調整テーブル404のオフセットフィールド4043にジッタ許容値を設定する(S2082)。
そして、オフセット決定部208は、オフセット調整テーブル404のオフセットフラグ4045を参照し、オフセットフラグに”暫定”が設定されている場合、オフセットフラグ4045をクリアし(S2083)、図15に示す処理を終了する。
一方、オフセット決定部208は、ジッタ許容値がオフセットを超えていない場合(S2081:NO)、図14のステップS2070で算出されたオフセットをオフセット調整テーブル404のオフセットフィールド4043に設定して(S2084)、ステップS2082へ進む。
図16は、タスク実行部209の動作フローである。タスク実行部209は、対象のタスク処理について、タイマ管理テーブル401と処理情報管理テーブル402とオフセット調整テーブル404とを参照し、タイマカウンタからオフセットを引いた値を対象タスク処理の実行周期で割った結果を算出する。
タスク実行部209は、対象タスク処理についての前記演算結果が”0”となる場合(S2090:YES)、対象タスク処理をキュー管理テーブル405にセットする(S2091)。これに対し、対象タスク処理についての前記演算結果が”0”にならない場合(S2090:NO)、ステップS2092へ進む。
タスク実行部209は、全タスク処理に対して、前述したステップS2090,S2091を実施したか判定し(S2092)、未実施のタスク処理が残っている場合(S2092:NO)、ステップS2090へ戻る。タスク実行部209は、全てのタスク処理についてS2090,S2091を実施した場合(S2092:YES)、図16に示す処理を終了する。
以上詳述したように、本実施例によれば、ジッタの発生した調整対象のタスク処理の実行タイミングを、調整対象のタスク処理のジッタ許容値に基づいて調整することができ、簡易な構成で安全性と信頼性とを向上させることができる。
すなわち本実施例によれば、意図しない高優先度処理が発生しても、その処理が周期的なのかそれとも一時的な割込みなのかを判別し、その判別結果にモードついて実行タイミングの調整または実行順番の入替を実施する。これにより、本実施例では、意図せぬ高優先度処理が発生した場合でも、制御を安定化できる。
この結果、本実施例によれば、サプライヤの作成したソフトウェアとOEMのソフトウェアとが連携して動作する車両制御装置のような情報処理システムにおいて、割込み処理などの高優先度処理が発生した場合でも、安定した制御を実現することができ、信頼性を向上することができる。
なお、以上の説明はあくまでも一例であり、発明を解釈する際、上記実施の形態の記載事項と特許請求の範囲の記載事項の対応関係に何ら限定も拘束もされない。
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれる。さらに特許請求の範囲に記載された構成は、特許請求の範囲で明示している組合せ以外にも組み合わせることができる。
1:車両制御装置、2:プログラム記憶部、3:演算部、4:データ記憶部、5:割込みコントローラ、201:割込み受付部、202:CPUリソース管理部、203:キュー操作部、204:ソフトウェア制御部、205:タイマ管理部、206:オフセット調整部、207:ジッタ評価部、208:オフセット決定部、209:タスク実行部

Claims (7)

  1. 車両を制御する車両制御装置であって、
    所定の処理の実行を管理する実行管理部と、
    前記所定の処理の実行状態の履歴を記録する実行状態記録部と、
    前記所定の処理の実行に関する設定情報であって、ジッタの許容値であるジッタ許容値を含む前記設定情報を管理する設定情報管理部と、
    を備え、
    前記実行管理部は、前記所定の処理のうちジッタの発生した調整対象の処理の実行タイミングを前記調整対象の処理のジッタ許容値に基づいて調整するものであり、
    前記調整対象の処理に発生したジッタが、周期的に発生する周期的ジッタであるか、一時的に発生する一時的ジッタであるかを判定するジッタ判定部をさらに備え、
    前記実行管理部は、前記ジッタ判定部の判定結果に基づいて、前記調整対象の処理の実行タイミングを前記ジッタ許容値に基づいて調整する
    両制御装置。
  2. 前記実行管理部は、前記ジッタ判定部が前記調整対象の処理に発生したジッタが前記周期的ジッタであると判定すると、前記調整対象の処理の実行タイミングを前記周期的ジッタに対応させることにより調整する、
    請求項に記載の車両制御装置。
  3. 前記実行管理部は、前記ジッタ判定部が前記調整対象の処理に発生したジッタが前記一時的ジッタであると判定すると、前記調整対象の処理の実行タイミングを前記一時的ジッタに対応させることにより一時的に調整する、
    請求項に記載の車両制御装置。
  4. 前記実行管理部は、前記調整対象の処理に発生したジッタと前記調整対象の処理の実行タイミングとに応じて、前記調整対象の処理の次回の実行タイミングを前記所定の処理のうちの他の処理の実行タイミングと入替る、
    請求項1に記載の車両制御装置。
  5. 前記実行管理部は、前記所定の処理の中から、前記調整対象の処理に設定される優先度よりも低い優先度を持つ処理を前記他の処理として選択する、
    請求項に記載の車両制御装置。
  6. 前記調整対象の処理に発生したジッタが、周期的に発生する周期的ジッタであるか、一時的に発生する一時的ジッタであるかを判定するジッタ判定部をさらに備え、
    前記実行管理部は、
    前記ジッタ判定部の判定結果に基づいて、前記調整対象の処理の実行タイミングを前記ジッタ許容値に基づいて調整する実行タイミング調整部と、
    前記調整対象の処理に発生したジッタと前記調整対象の処理の実行タイミングとに応じて、前記調整対象の処理の実行タイミングを前記所定の処理のうちの他の処理の実行タイミングと入替る実行タイミング入替部とを備える、
    請求項1に記載の車両制御装置。
  7. 前記所定の処理には、タスク処理と割込み処理とが含まれる、
    請求項1に記載の車両制御装置。
JP2018052353A 2018-03-20 2018-03-20 車両制御装置 Active JP7025966B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018052353A JP7025966B2 (ja) 2018-03-20 2018-03-20 車両制御装置
EP19772291.1A EP3770758B1 (en) 2018-03-20 2019-03-06 Vehicle control apparatus and control method therefor
PCT/JP2019/008758 WO2019181490A1 (ja) 2018-03-20 2019-03-06 車両制御装置およびその制御方法
US16/967,171 US11799598B2 (en) 2018-03-20 2019-03-06 Vehicle control device and control method thereof
CN201980011426.8A CN111837103B (zh) 2018-03-20 2019-03-06 车辆控制装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018052353A JP7025966B2 (ja) 2018-03-20 2018-03-20 車両制御装置

Publications (2)

Publication Number Publication Date
JP2019164616A JP2019164616A (ja) 2019-09-26
JP7025966B2 true JP7025966B2 (ja) 2022-02-25

Family

ID=67986489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018052353A Active JP7025966B2 (ja) 2018-03-20 2018-03-20 車両制御装置

Country Status (5)

Country Link
US (1) US11799598B2 (ja)
EP (1) EP3770758B1 (ja)
JP (1) JP7025966B2 (ja)
CN (1) CN111837103B (ja)
WO (1) WO2019181490A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255296A1 (en) 2003-06-10 2004-12-16 Schmidt Darren R. Time-bounded program execution
JP2006235907A (ja) 2005-02-24 2006-09-07 Renesas Technology Corp 情報処理装置およびオペレーティングシステム
JP2007328441A (ja) 2006-06-06 2007-12-20 Fujitsu Ltd プロセススケジューリング装置,プロセススケジューリングプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1344834A (en) 1970-06-30 1974-01-23 Ici Ltd Mould treatmetn
US5640563A (en) 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
JP3575862B2 (ja) * 1995-03-16 2004-10-13 株式会社東芝 ストリームスケジューリング方法及び装置
US6078998A (en) 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
DE10048808A1 (de) * 2000-09-29 2002-04-18 Bosch Gmbh Robert Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen
KR20040009799A (ko) * 2002-07-25 2004-01-31 삼성전자주식회사 지터 궤환을 이용한 틸트 보정 방법 및 그 장치
JP4386852B2 (ja) * 2005-03-17 2009-12-16 日本無線株式会社 信号処理装置
CN101600044A (zh) * 2008-06-03 2009-12-09 宝利微电子系统控股公司 基于缩放因子的图像清晰度增强方法及装置
JP5101403B2 (ja) * 2008-06-19 2012-12-19 株式会社日立産機システム 情報処理装置およびその周期タスク実行方法
JP4876138B2 (ja) * 2009-03-24 2012-02-15 株式会社日立産機システム 制御用計算機および制御システム
EP2672341B1 (en) 2011-01-31 2015-09-09 Toyota Jidosha Kabushiki Kaisha Safety control device and safety control method
US20140309789A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Vehicle Location-Based Home Automation Triggers
US9082239B2 (en) * 2012-03-14 2015-07-14 Flextronics Ap, Llc Intelligent vehicle for assisting vehicle occupants
JP2014068087A (ja) * 2012-09-25 2014-04-17 Nec Corp バッファ制御装置、バッファ制御装置による制御方法、メディア通信装置、並びにコンピュータ・プログラム
US9195506B2 (en) 2012-12-21 2015-11-24 International Business Machines Corporation Processor provisioning by a middleware processing system for a plurality of logical processor partitions
JP6029553B2 (ja) * 2013-08-22 2016-11-24 日立オートモティブシステムズ株式会社 車両制御装置
US9088399B1 (en) * 2014-02-03 2015-07-21 Xilinx, Inc. Circuit and method for testing jitter tolerance
KR101794568B1 (ko) * 2016-03-29 2017-12-01 현대오트론 주식회사 오토사 운영체제의 태스크 분배 방법 및 그 장치
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255296A1 (en) 2003-06-10 2004-12-16 Schmidt Darren R. Time-bounded program execution
JP2006235907A (ja) 2005-02-24 2006-09-07 Renesas Technology Corp 情報処理装置およびオペレーティングシステム
JP2007328441A (ja) 2006-06-06 2007-12-20 Fujitsu Ltd プロセススケジューリング装置,プロセススケジューリングプログラム

Also Published As

Publication number Publication date
CN111837103B (zh) 2024-06-18
WO2019181490A1 (ja) 2019-09-26
EP3770758A4 (en) 2021-12-08
EP3770758A1 (en) 2021-01-27
CN111837103A (zh) 2020-10-27
EP3770758B1 (en) 2025-08-27
US11799598B2 (en) 2023-10-24
JP2019164616A (ja) 2019-09-26
US20210036814A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
EP1538497B1 (en) Distributed real time operating system
US6687257B1 (en) Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing
CN114327843B (zh) 任务调度方法及装置
US8959515B2 (en) Task scheduling policy for limited memory systems
Spuri et al. Robust aperiodic scheduling under dynamic priority systems
EP2388699B1 (en) Information processing device and information processing method
US6633942B1 (en) Distributed real-time operating system providing integrated interrupt management
US8387052B2 (en) Adaptive partitioning for operating system
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
US6473780B1 (en) Scheduling of direct memory access
EP1088265A2 (en) Method for dynamic loaning in rate monotonic real-time systems
US9361156B2 (en) Adaptive partitioning for operating system
CN112579271A (zh) 用于非实时操作系统的实时任务调度方法、模块、终端和存储介质
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
JP2005056067A (ja) Dma転送制御装置
CN115309519A (zh) 基于时间触发机制的确定性任务调度编排方法、系统和存储介质
CN118484275A (zh) 任务调度的方法、众核设备、计算机可读介质
CN114706663A (zh) 一种计算资源调度方法、介质及计算设备
JP7025966B2 (ja) 車両制御装置
US20050160425A1 (en) Limitation of the response time of a software process
JP2000056989A (ja) タスク設計方法
JP7263746B2 (ja) 情報処理装置
WO2007049543A1 (ja) 演算装置
CN117667356A (zh) 作业的调度方法、装置、存储介质和处理器
CN121900964A (zh) 一种资源调度方法、终端设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211109

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: 20220201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220214

R150 Certificate of patent or registration of utility model

Ref document number: 7025966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250