JP2020091657A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2020091657A
JP2020091657A JP2018228472A JP2018228472A JP2020091657A JP 2020091657 A JP2020091657 A JP 2020091657A JP 2018228472 A JP2018228472 A JP 2018228472A JP 2018228472 A JP2018228472 A JP 2018228472A JP 2020091657 A JP2020091657 A JP 2020091657A
Authority
JP
Japan
Prior art keywords
data
time
processing unit
address
dma buffer
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.)
Granted
Application number
JP2018228472A
Other languages
English (en)
Other versions
JP7099289B2 (ja
Inventor
祐樹 丸山
Yuki Maruyama
祐樹 丸山
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2018228472A priority Critical patent/JP7099289B2/ja
Priority to DE102019216978.3A priority patent/DE102019216978A1/de
Publication of JP2020091657A publication Critical patent/JP2020091657A/ja
Application granted granted Critical
Publication of JP7099289B2 publication Critical patent/JP7099289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C15/00Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
    • G08C15/06Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path successively, i.e. using time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1331Delay elements, shift registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Communication Control (AREA)

Abstract

【課題】処理負荷が重くなることを抑制できる電子制御装置を提供することを目的とする。【解決手段】電子制御装置は、データを受信する通信部、通信部で受信したデータを用いて制御演算を行う処理部、通信部で受信したデータを、処理部を介することなく受信した順に格納するDMAバッファなどを備えている。処理部は、DMAバッファの末尾アドレスをiにコピーして、アドレスiが示す値がNULLか否かを判定することで、アドレスiが示すDMAバッファの領域にデータが格納されているか否かを判定する(S10、S11)。処理部は、アドレスiが示す値がNULLでないと判定した場合、アドレスiからDMAバッファの先頭方向に1回分の通信サイズのデータを取り込む(S14)。そして、処理部は、このデータを用いて制御演算を行う。このようにして、処理部は、DMAバッファに最後に格納された最新データを用いて制御演算を行う。【選択図】図2

Description

本開示は、電子制御装置に関する。
従来、通信部を備えた電子制御装置の一例として、特許文献1に開示されたECUがある。ECUのマイコンは、送信回路から送信されたセンサ信号を受信しセンサ値を取得する受信回路、センサ値に基づいて所定の演算周期で制御演算を行う演算処理部、演算タイマ、及び、タイマ補正演算部を有する。タイマ補正演算部は、センサ値とは別に付与された時間情報としての時差タイムスタンプを用い、送信周期と演算周期との周期ずれによる制御演算への影響を解消するように、演算周期を補正する。
特開2017−33069号公報
ところで、電子制御装置は、制御演算に用いるデータを受信するたびに割り込みを発生させるとともに、所定の演算周期でデータを用いた制御演算を実行することが考えられる。しかしながら、電子制御装置は、割り込みが発生するたびに他の処理をとめる必要がある。このため、電子制御装置は、データの受信タイミングが演算周期からずれた場合、制御演算の実行タイミングとは別に、データの受信タイミングで他の処理をとめるため、処理負荷が重くなるという課題がある。
本開示は、上記問題点に鑑みなされたものであり、処理負荷が重くなることを抑制できる電子制御装置を提供することを目的とする。
上記目的を達成するために本開示は、
データを受信する通信部(70)と、
通信部で受信したデータを用いて制御演算を行う処理部(20)と、
通信部で受信したデータを、処理部を介することなく受信した順に格納するバッファ(31)と、を備え、
処理部は、予め決められた実行タイミング毎に、バッファに格納された複数のデータのうち、最後に格納されたデータを用いて制御演算を行うことを特徴とする。
このように、本開示は、予め決められた実行タイミング毎に、バッファに最後に格納されたデータを用いて制御演算を行う。このため、本開示は、受信したデータのうち、最新のデータを用いて制御演算を行うことができる。また、本開示は、受信したデータをバッファに格納しておき、バッファに格納されたデータを用いて、制御演算を行うため、データを受信するために割り込みを発生させる必要がない。よって、本開示は、処理負荷が重くなることを抑制できる。
なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
第1実施形態における電子制御装置の概略構成を示すブロック図である。 第1実施形態における処理動作を示すフローチャートである。 第1実施形態におけるDMAバッファと制御用RAMの状態を示すイメージ図である。 第2実施形態における経過時間の算出処理を示すフローチャートである。 第2実施形態におけるデータの推定処理を示すフローチャートである。 第2実施形態における経過時間の算出処理を示すタイムチャートである。 第2実施形態におけるデータの推定処理を示すタイムチャートである。 第2実施形態におけるDMAバッファの状態を示すイメージ図である。 第3実施形態におけるタイムスタンプの妥当診断処理を示すフローチャートである。 第3実施形態におけるタイムスタンプの妥当診断処理を示すイメージ図である。 第3実施形態におけるDMAバッファの状態を示すイメージ図である。 第4実施形態における通信診断処理の前半部分を示すフローチャートである。 第4実施形態における通信診断処理の後半部分を示すフローチャートである。
以下において、図面を参照しながら、本開示を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。
(第1実施形態)
まず、図1、図3を用いて、電子制御装置100の構成に関して説明する。電子制御装置100は、例えば、車両に搭載され、車載機器を制御する車載制御装置に適用することができる。
電子制御装置100は、マイコン10を備えており、通信バス200を介して外部装置と通信可能に構成されている。外部装置は、通信バス200を介して、電子制御装置100にデータを送信するものである。また、外部装置は、時間とともに変動するデータを、通信バス200を介して電子制御装置100に送信する装置と言える。外部装置は、例えば、電子制御装置100の外部に設けられた各種物理量を測定するセンサや、センサから出力されたセンサ値を取得する他の制御装置などを採用できる。
なお、センサは、例えば、エンジンの気筒に吸入される吸気流量を計測する流量センサ、スロットルバルブの開度を計測するスロットル角度センサ、ステアリングの操舵角を計測する操舵角センサなどを採用できる。しかしながら、センサは、これらに限定されない。本実施形態では、外部装置の一例として、センサを採用する。また、電子制御装置100とセンサとが通信バス200で接続された構成は、車載システムと言える。よって、車載システムは、電子制御装置100、通信バス200、センサとを含むものである。
マイコン10は、処理部20、記憶部30、マイコンレジスタ40、DMAコントローラ50、フリーランタイマ60、通信部70などを備えている。また、マイコン10は、これらの装置が内部バスを介して電気的に接続されている。マイコン10は、ソフトウェアとハードウェアの少なくとも一方を用いて、各機能を実現している。
処理部20は、CPUなどを採用できる。処理部20は、記憶部30に記憶されたプログラムに従って、通信部70で受信したデータを用いて演算処理を行う。また、処理部20は、通信部70で受信したデータに加えて、記憶部30に記憶されたデータを用いて演算処理を行なってもよい。
詳述すると、処理部20は、予め決められた実行タイミング毎に、DMAバッファ31に格納された複数のデータのうち、最後に格納されたデータを用いて制御演算を行う。また、処理部20は、通信部70で受信してDMAバッファ31に格納され、さらに、DMAバッファ31から制御用RAM32に転送されたデータを用いて制御演算を行う。なお、制御用RAM32には、DMAバッファ31に格納された複数のデータのうち、最後に格納されたデータが転送される。最後に格納されたデータは、処理部20が制御演算を行う実行タイミング前に、DMAバッファ31に格納されたデータのうち最も新しいデータである。なお、以下においては、制御演算を行う実行タイミングを制御タイミングとも称する。
記憶部30は、ROMやRAMなどを含むメモリ装置などを採用できる。記憶部30は、少なくともDMAバッファ31と制御用RAM32とを含んでいる。DMAバッファ31は、特許請求の範囲におけるバッファに相当する。通信部70が受信したデータは、DMAコントローラ50によって、DMAバッファ31に格納される。DMAコントローラ50は、転送元アドレスや転送先アドレスなどが予め設定されており、通信部70が受信したデータを、DMAバッファ31の転送先アドレスへ転送する。このようにして、DMAバッファ31は、通信部70が受信したデータが、処理部20を介することなく格納される。
また、DMAバッファ31は、通信部70がデータを受信すると、先頭のアドレスから順にデータが格納される。よって、DMAバッファ31に格納されている複数のデータは、末尾側のアドレスのデータよりも、先頭側のアドレスのデータの方が、先に受信したデータとなる。さらに、DMAバッファ31に格納されている複数のデータは、最も末尾側のアドレスのデータが最も後に受信したデータ、すなわち最新のデータとなる。
なお、DMAバッファ31には、通信部70で受信した複数のデータが格納される。そして、DMAバッファ31は、処理部20が制御タイミングで制御演算を行う毎に、格納しているデータが消去される。DMAは、Direct Memory Accessの略称である。
図1、図3に示すように、一例として、通信部70が1回目の通信201で第1データ201dを受信し、2回目の通信202で第2データ202dを受信する例を図示している。DMAバッファ31は、1回目の通信201で受信した第1データ201dが先頭アドレスに格納され、2回目の通信202で受信した第2データ202dが先頭アドレスよりも末尾側のアドレスに格納される。よって、この場合、DMAバッファ31に格納されている最新のデータは、データ202dとなる。DMAバッファ31は、例えば、通信部70が受信した複数のデータが、空き領域や他のデータなどを挟むことなく連続して格納される。
なお、第1データ201dと第2データ202dは、同じセンサから送信されたデータである。つまり、第1データ201dと第2データ202dは、同じ物理量を示すものであるが、測定タイミングが異なる。
制御用RAM32は、処理部20が制御演算で用いるデータが格納されている。制御用RAM32に格納されているデータは、DMAバッファ31から転送されたデータである。さらに、RAM32に格納されているデータは、DMAバッファ31に格納されている複数のデータのうちの最新のデータである。図3の例では、第2データ202dが制御用RAM32に転送される。
なお、処理部20の処理動作、及び、DMAバッファ31から制御用RAM32へのデータの転送などに関しては、後程詳しく説明する。
マイコンレジスタ40は、通信部70で受信したデータなどが一時的に格納される。よって、通信部70で受信したデータは、DMAバッファ31及びマイコンレジスタ40に格納される。
フリーランタイマ60は、時間を計測するタイマである。フリーランタイマ60は、リセットをかけずにフリーランさせる循環式のタイマである。処理部20は、フリーランタイマ60で計測された時間を参照可能に構成されている。そして、処理部20は、フリーランタイマ60で計測された時間に基づいて、予め決められた制御タイミング毎に制御演算を実行する。なお、フリーランタイマは、フリーランニングタイマ、フリーランカウンタ、フリーランニングカウンタなどと言い換えることができる。
通信部70は、データを受信する装置である。通信部70は、通信バス200を介して、外部装置との間でデータ通信を行う。本実施形態の通信部70は、外部装置としてのセンサで測定されたセンサ値を示すデータを受信する。
また、通信部70は、1回分の通信サイズが予め決められている。言い換えると、通信部70は、1つのデータ201d、202dの通信サイズが予め決められている。また、通信部70は、各データ201d、202dを受信する際のデータ通信の時間が予め決められているとも言える。
なお、通信部70は、例えば、SENTに準拠した通信を行うものを採用できる。SENTに関しては、特開2017−33069号公報の記載を参照して適用することができる。
また、通信部70は、タイムスタンプ機能部80を備えている。タイムスタンプ機能部80は、特許請求の範囲におけるタイムスタンプに相当する。タイムスタンプ機能部80は、データの受信が完了した時点における、フリーランタイマ60で計測された時間(タイムスタンプ値)を、受信したデータに関連付けて保存する。
なお、本実施形態では、一例として、通信部70にタイムスタンプ機能部80が設けられた例を採用している。しかしながら、本開示は、これに限定されず、電子制御装置100がタイムスタンプ機能部80を備えていればよい。
ここで、図2、図3を用いて、電子制御装置100の処理動作に関して説明する。処理部20は、制御タイミング毎に、図2のフローチャートに示す処理を実行する。
ステップS10では、DMAバッファの末尾アドレスをiにコピーする。処理部20は、DMAバッファ31に格納されている最新データを、DMAバッファ31の末尾アドレスから先頭アドレス側に向かって探すために、まず、DMAバッファ31の末尾アドレスをアドレスiにコピーする。アドレスiは、最新データをDMAバッファ31の末尾アドレスから順番に探す際の、現在のアドレスと言える。
なお、最新データは、DMAバッファ31に対して、最後に格納されたデータである。このため、最新データを探す場合、処理部20は、末尾アドレスから先頭アドレス側に探すと効率的である。
ステップS11では、アドレスiが示す値はNULLか否かを判定する。つまり、処理部20は、DMAバッファ31における、アドレスiが示す領域にデータが格納されているか否かを判定する。処理部20は、アドレスiが示す領域にデータが格納されていない場合、アドレスiが示す値がNULLと判定してステップS12へ進む。また、処理部20は、アドレスiが示す領域にデータが格納されていた場合、アドレスiが示す値がNULLでないと判定してステップS14へ進む。
例えば、アドレスiに末尾アドレスがコピーされており、DMAバッファ31の末尾アドレスにデータが格納されていなかった場合、処理部20は、アドレスiが示す値がNULLと判定する。一方、アドレスiに末尾アドレスがコピーされており、DMAバッファ31の末尾アドレスにデータが格納されていた場合、処理部20は、アドレスiが示す値がNULLでないと判定する。
ステップS12では、アドレスiをDMAバッファの先頭方向に遷移する。処理部20は、アドレスiを、DMAバッファ31におけるアドレスの先頭方向に遷移する。つまり、処理部20は、アドレスiが示すDMAバッファ31のアドレスを、先頭方向に遷移させたDMAバッファ31のアドレスに変更する。
ステップS13では、アドレスiはDMAバッファの先頭か否かを判定する。処理部20は、アドレスiが、DMAバッファ31における先頭のアドレスであるか否かを判定する。そして、処理部20は、アドレスiがDMAバッファ31における先頭のアドレスであると判定した場合、DMAバッファ31に格納されたデータの検索が完了したとみなして、図2の処理を終了する。また、処理部20は、アドレスiがDMAバッファ31における先頭のアドレスであると判定しなかった場合、DMAバッファ31に格納されたデータの検索を継続する必要があるとみなして、ステップS11へ戻る。
ステップS14では、アドレスiからDMAバッファの先頭方向に1回分の通信サイズのデータを取り込む。処理部20は、アドレスiが示すDMAバッファ31のアドレスから先頭方向に1回分の通信サイズのデータを取り込む。つまり、処理部20は、通信部70で受信した1回分の通信サイズのデータを、DMAバッファ31における最後に格納されたデータ(最新データ)とみなしてDMAバッファ31から取り込む。
図3に示す例の場合、処理部20は、DMAバッファ31に格納されている第2データ202dを最新データとして探し出すことになる。そして、処理部20は、DMAバッファ31から第2データ202dを読出し、制御用RAM32に格納する。つまり、最新データである第2データ202dは、DMAバッファ31から制御用RAM32へと転送される。そして、処理部20は、制御用RAM32に転送された第2データ202dを用いて制御演算を行う。よって、最新データである第2データ202dは、制御演算で用いるデータに相当する。
なお、上記のように、第2データ202dは、DMAバッファ31から制御用RAM32に転送されたデータである。よって、処理部20は、DMAバッファ31に格納された第2データ202dを用いて制御演算を行うと言える。
このように、処理部20は、アドレスiをDMAバッファ31の末尾アドレスから先頭アドレスの方に順番に遷移させていき、DMAバッファ31における最後に格納されたデータを探し出す。よって、処理部20は、制御タイミング毎に、DMAバッファ31に格納されている最新データを得ることができる。このため、処理部20は、制御タイミング毎に、DMAバッファ31に格納されている最新データを用いて制御演算を行う。
また、処理部20は、通信部70で受信したデータをDMAバッファ31に格納しておき、DMAバッファ31に格納されたデータを用いて制御演算を行う。このため、処理部20は、データを受信するために割り込みを発生させる必要がない。よって、処理部20(電子制御装置100)は、処理負荷が重くなることを抑制できる。
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、第2〜第4実施形態に関して説明する。以下の実施形態は、処理部20での処理内容が第1記実施形態と異なる。上記実施形態及び第2〜第4実施形態は、夫々単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
(第2実施形態)
図4〜図8を用いて、第2実施形態に関して説明する。処理部20は、制御タイミング毎に、図4のフローチャートに示す処理を実行する。処理部20は、図4のフローチャートに示す処理を実行することで、最新データの受信から制御タイミングまでの経過時間cを算出する。ここでは、図6に示すように、タイミングT1、T3が制御タイミングであり、タイミングT2で最新データを受信したものとする。また、図8に示すように、タイミングT1で第1データ201dを受信してDMAバッファ31に格納され、タイミングT2で第2データ202dを受信してDMAバッファ31に格納されるものとする。
ステップS20では、最新データを取り込む。処理部20は、上記実施形態と同様に最新データを取り込む。
ステップS21では、保存してあるフリーランタイマ値eに最新データのタイムスタンプ値を加算しaに代入する。処理部20は、保存してあるフリーランタイマ値eに、最新データ(第2データ202d)を受信したタイミングT2のタイムスタンプ値を加算しaに代入する。保存してあるフリーランタイマ値eは、前回の制御タイミングT1時のフリーランタイマ値に相当する。よって、aは、最新データを受信した時点までのフリーランタイマ値に相当する。なお、aは、第1時間変数と称することもできる。また、後程説明するbは、第2時間変数と称することもできる。
ステップS22では、現在のフリーランタイマ値から保存してあるフリーランタイマ値eを減算しbに代入する。処理部20は、現在(タイミングT3)のフリーランタイマ値から、保存してあるフリーランタイマ値eを減算しbに代入する。
ステップS23では、経過時間c(=b−a)を算出する。処理部20は、b−aを演算することで、経過時間cを算出する。経過時間cは、タイミングT2からタイミングT3までの経過時間に相当する。
このように、処理部20は、制御タイミングの間隔を示すフリーランタイマ60で計測された時間から、制御演算で用いるデータ(最新データ)を受信した際にタイムスタンプ80で保存された時間を減算する。そして、処理部20は、制御演算で用いるデータを受信したタイミングT2から、制御タイミングT3までの経過時間cを算出する。なお、処理部20は、算出した経過時間cを処理タイミング毎に、記憶部30に記憶しておく。
ステップS24では、タイムスタンプの診断処理を行う。タイムスタンプの診断処理に関しては、第3実施形態で説明する。なお、第2実施形態の処理部20は、タイムスタンプの診断処理を行なわなくてもよい。
ステップS25では、処理部20は、DMAバッファ31を全消去する。また、ステップS26では、処理部20は、タイムスタンプをクリアする。よって、図8に示すように、DMAバッファ31は、第1データ201d、第2データ202dが消去される。また、図6に示すように、タイムスタンプ機能部21は、タイムスタンプ値がクリアされる。
ステップS27では、現在のフリーランタイマ値を保存しeに代入する。処理部20は、現在(タイミングT3)のフリーランタイマ値を記憶部30に保存してeに代入する。ここで保存されるフリーランタイマ値は、次回の制御タイミング時のステップS21などで用いられる保存してあるフリーランタイマ値eとなる。
ところで、センサで測定する値(物理量)は、最新データを送信(受信)した時点から、制御タイミングまでの間に変位する可能性がある。つまり、センサで測定する値は、経過時間cの間に変位する可能性がある。また、制御演算は、制御タイミングよりも前に測定されたセンサ値(最新データの値)よりも、制御タイミングでセンサによって測定されたセンサ値を用いる方が適切な制御を行うことができるので好ましい。言い換えると、制御演算の正確性を向上させるためには、センサが制御タイミングで測定した値を用いて制御演算することが好ましい。なお、このように、最新データは、制御タイミング前における最新のデータである。
しかしながら、通信部70は、通信によってセンサで測定された値を含むデータを受信するため、制御タイミングで測定された値を含むデータを、制御タイミングで受信するのは困難である。
そこで、処理部20は、制御タイミング毎に、図5のフローチャートに示す処理を実行する。つまり、処理部20は、制御タイミング毎に、上記のように経過時間cを算出した後に、図5のフローチャートに示す処理を実行する。また、処理部20は、センサが制御タイミングで測定した値を推定し、最新データにかえて、推定した値を含むデータである推定データDeを用いて制御演算を行うと言える。推定データDeが示す値は、推定した推定値に相当する。
なお、ここでは、図7を用いつつ、図5のフローチャートに示す処理に関して説明する。図7では、タイミングT31、T32が制御タイミングである。また、タイミングT21は、前回の制御タイミングT31における最新データD1を受信したタイミングである。一方、タイミングT22は、今回の制御タイミングT32における最新データD2を受信したタイミングである。
そして、T11は、最新データD1を受信してから制御タイミングT31までの経過時間である。一方、T12は、最新データD2を受信してから制御タイミングT32までの経過時間である。よって、経過時間T11、T12は、上記経過時間cに相当する。
また、図7では、データD2が示す物理量(値)が時間の経過とともに変化して、制御タイミングT32で推定データDeになると推定されることを表している。
ステップS30では、最新データと今回経過時間を取得する。処理部20は、上記のように検索した最新データD2と、上記のように算出した今回の経過時間T12を取得する。
ステップS31では、前回データと前回経過時間からの偏差をそれぞれ求める。前回データは、前回の制御タイミングT31における最新データD1である。前回経過時間は、最新データD1から制御タイミングT31までの経過時間である。
処理部20は、前回の最新データD1とステップS30で取得した最新データD2との差を求める。また、処理部20は、前回の制御タイミングT31と、前回の制御タイミングT31で算出した経過時間T11とから、前回の最新データD1の受信タイミングT21を求める。そして、処理部20は、前回の最新データD1を受信してから、今回の最新データD2を受信するまでの経過時間(T22−T21)を求める。これらから、処理部20は、データD1、D2が示す物理量の時間的変動の傾向(変位指数)を求める。
ステップS32では、経過時間を使って今時点でのデータを推定する。つまり、処理部20は、ステップS30で取得した最新データD2と経過時間T12と、ステップS31で求めた変位指数とを用いて、推定データDeを推定する。このように、処理部20は、受信した最新データD2の物理量における経過時間T12が経過した際の値を、経過時間T12を用いて推定する。
ステップS33では、制御演算を実施する。処理部20は、最新データD2にかえて、推定データを用いて制御演算を行う。ここでの最新データは、特許請求の範囲における制御演算で用いるデータに相当する。
電子制御装置100は、上記のように、DMA技術を用いるため、割り込みを用いる場合よりも処理部20の処理負荷を軽減できる。しかしながら、処理部20は、タイミングT21、T21が分からない。本実施形態は、これを解決するための上記のような処理を行ない、推定データDeを算出する。そして、処理部20は、推定データDeを用いて制御演算を行う。このため、電子制御装置100は、制御演算の正確性を向上させることができる。
(第3実施形態)
図9〜図11を用いて、第3実施形態に関して説明する。図10に示すように、本実施形態では、複数のパルスを受信することで、一つのデータを受信する通信部70を採用する。つまり、図10は、通信部70での通信に用いられるメッセージのフォーマット例と言える。通信部70は、同期情報、ステータス情報、データなどを含むメッセージを受信する。ここでは、通信部70が各データ201d、202dなどを受信するためのデータ通信の時間(推定時間)をyとする。
また、図11に示すように、本実施形態では、第1データ201d、第2データ202dに加えて、第3データ203d、第4データ204d、第5データ205d、第6データ206d、第7データ207dがDMAバッファ31に格納されている例を採用する。この例の場合、第7データ207dが最新データとなる。さらに、第6データ206dは、最新データよりも一つ古いデータとなる。そして、処理部20は、各データ201d〜207dに関連付けられているタイムスタンプ値の妥当性を判断する。
なお、第6データ206dと第7データ207dは、受信した連続する二つのデータに相当する。また、第6データ206dは、受信した連続する二つのデータのうちの先に受信した先行データに相当する。一方、第7データ207dは、受信した連続する二つのデータのうちの後に受信した後行データに相当する。
処理部20は、例えば制御タイミング毎に、図9のフローチャートに示す処理を実行する。
ステップS40では、最新データを取り込み、最新データのタイムスタンプ値をzに代入する。処理部20は、最新データとして第7データ207dを取り込み、第7データ207dに関連付けられたタイムスタンプ値をzに代入する。
ステップS41では、最新データのデータサイズをtick換算してデータ通信の時間を推定してyに代入する。つまり、処理部20は、第7データ207dのデータサイズをtick換算して、図10の時間yを推定する。
ステップS42では、DMAバッファから最新データから1つだけ古いデータを取り込み、そのタイムスタンプ値をxに代入する。処理部20は、1つだけ古いデータとして第6データ206dを取り込み、第6データ206dに関連付けられたタイムスタンプ値をxに代入する。
ステップS43では、x+yはzの近傍であるか否かを判定する。xは、第6データ206dの受信が完了した時点における、フリーランタイマ60で計測された時間に相当する。また、yは、第7データ207dを受信するのに要した時間に相当する。そして、zは、第7データ207dの受信が完了した時点における、フリーランタイマ60で計測された時間に相当する。このため、タイムスタンプ機能部80が正常であれば、x+yはzに近い値となる。
そこで、処理部20は、x+yがzの近傍であると判定した場合はタイムスタンプ機能部80が正常とみなしてステップS44へ進み、x+yがzの近傍であると判定しなかった場合はタイムスタンプ機能部80が異常とみなしてステップS45へ進む。
なお、タイムスタンプ機能部80が正常で、且つ、タイムスタンプ機能部80に誤差が生じない理想的な場合であれば、x+y=zとなる。よって、処理部20は、x+y=zであればステップS44へ進み、x+y=zでなければステップS45へ進んでもよい。
しかしながら、x+y=zであるか否かによって、タイムスタンプ機能部80が正常であるか否かを判定した場合、処理部20は、タイムスタンプ機能部80が正常であるにもかかわらず異常とみなす誤判定をする可能性があり、異常とみなす回数が多くなる。これに対して、処理部20は、x+yがzの近傍であるか否かによって、タイムスタンプ機能部80が正常であるか否かを判定することで、誤判定する可能性を低減でき、異常とみなす回数が多くなることを抑制できるので好ましい。このため、近傍とは、タイムスタンプ機能部80の誤差を見越して設定した値である。
ステップS44では、処理部20は、記憶部30などに、タイムスタンプ機能部80が正常であることを記録する。一方、ステップS44では、処理部20は、記憶部30などに、タイムスタンプ機能部80が異常であることを記録する。
言い換えると、処理部20は、先行データである第6データ206dを受信した際にタイムスタンプ機能部80で保存された時間xに、後行データである第7データ207dのデータサイズから換算した通信時間yを加算した比較時間x+yを算出する。また、処理部20は、比較時間x+yと、後行データである第7データ207dを受信した際にタイムスタンプ機能部80で保存された時間zとの時間差を算出する。そして、処理部20は、この時間差が妥当判断条件を満たしている場合にタイムスタンプ機能部80が妥当と判断し、時間差が妥当判断条件を満たしていない場合にタイムスタンプ機能部80が妥当でないと判断する。なお、妥当診断閾値は、0であってもいいし、二つの閾値で規定された範囲であってもよい。
以上のように、電子制御装置100は、タイムスタンプ機能部80の妥当性を診断することができる。
また、第3実施形態は、第2実施形態と組み合わせて実施することもできる。タイムスタンプ機能部80が妥当でない場合、推定データDeの値も適切でないことが考えられる。この場合、処理部20は、タイムスタンプ機能部80が妥当と判断した場合のみ推定データDeを用いて制御演算を行い、タイムスタンプ機能部80が妥当でないと判断した場合は最新データを用いて制御演算を行ってもよい。このようにすることで、処理部20は、タイムスタンプ機能部80が妥当である場合は制御演算の正確性を向上でき、タイムスタンプ機能部80が妥当でない場合は制御演算の正確性が低下することを抑制できる。
なお、電子制御装置100は、タイムスタンプ機能部80の妥当性診断の結果を記憶部30に記憶する。このため、ディーラや工場などでは、記憶部30の記憶内容を確認することで、タイムスタンプ機能部80の妥当性診断の結果を把握することができる。
(第4実施形態)
図12、図13を用いて、第4実施形態に関して説明する。なお、本実施形態では、上記実施形態の図11に示すように、第1データ201d〜第7データ207dがDMAバッファ31に格納されている例を採用する。そして、処理部20は、通信部70が各データ201d〜207dを受信する通信経路の異常診断を行う。通信経路は、通信部70、通信バス200などを含んでいる。
処理部20は、例えば制御タイミング毎に、図12のフローチャートに示す処理を実行する。
ステップS50では、データ個数jに0を代入する。処理部20は、DMAバッファ31に格納されているデータの個数のカウントを開始するために、データ個数jに0を代入する。
ステップS51では、DMAバッファの末尾アドレスをhにコピーする。処理部20は、DMAバッファ31に格納されているデータ個数を、DMAバッファ31の末尾アドレスから先頭アドレス側に向かって探すために、まず、DMAバッファ31の末尾アドレスをアドレスhにコピーする。アドレスhは、データ個数をDMAバッファ31の末尾アドレスから順番に探す際の、現在のアドレスと言える。
ステップS52では、アドレスhが示す値はNULLか否かを判定する。つまり、処理部20は、DMAバッファ31における、アドレスhが示す領域にデータが格納されているか否かを判定する。処理部20は、アドレスhが示す領域にデータが格納されていない場合、アドレスhが示す値がNULLと判定して、ステップS53へ進む。また、処理部20は、アドレスhが示す領域にデータが格納されていた場合、アドレスhが示す値がNULLでないと判定して、ステップS55へ進む。
例えば、アドレスhに末尾アドレスがコピーされており、DMAバッファ31の末尾アドレスにデータが格納されていなかった場合、処理部20は、アドレスhが示す値がNULLと判定する。一方、アドレスhに末尾アドレスがコピーされており、DMAバッファ31の末尾アドレスにデータが格納されていた場合、処理部20は、アドレスhが示す値がNULLでないと判定する。
ステップS53では、アドレスhをDMAバッファの先頭方向に遷移する。処理部20は、アドレスhを、DMAバッファ31におけるアドレスの先頭方向に遷移する。つまり、処理部20は、アドレスhが示すDMAバッファ31のアドレスを、先頭方向に遷移させたDMAバッファ31のアドレスに変更する。
ステップS54では、アドレスhはDMAバッファの先頭か否かを判定する。処理部20は、アドレスhが、DMAバッファ31における先頭のアドレスであるか否かを判定する。そして、処理部20は、アドレスhがDMAバッファ31における先頭のアドレスであると判定した場合、DMAバッファ31に格納されたデータの検索が完了したとみなして、図13のステップS56(N)へ進む。また、処理部20は、アドレスhがDMAバッファ31における先頭のアドレスであると判定しなかった場合、DMAバッファ31に格納されたデータの検索を継続する必要があるとみなして、ステップS52へ戻る。
ステップS55では、処理部20は、データ個数jをインクリメントする。処理部20は、制御タイミング間で受信したデータの個数によって、通信経路の異常診断を行うために、データ個数をカウントする。また、処理部20は、後程説明するデータ個数期待値Jeを学習するために、制御タイミング間のデータの受信個数を保存するとも言える。
なお、制御タイミング間は、単位時間に相当する。また、制御タイミング間とは、ある制御タイミングと、次回の制御タイミングとの間の期間である。
ステップS56では、データ個数jは予め保存しておいたデータ個数期待値Jeの近傍か否かを判定する。処理部20は、カウントしたデータ個数jと、予め記憶部30などに保存しておいたデータ個数期待値Jeとを比較する。そして、処理部20は、データ個数jがデータ個数期待値Jeの近傍であると判定した場合はステップS57へ進み、データ個数jがデータ個数期待値Jeの近傍であると判定しなかった場合はステップS62へ進む。
データ個数jは、異常診断を行うタイミングでDMAバッファ31に実際に格納されているデータの個数に相当する。一方、データ個数期待値Jeは、異常診断を行うタイミングで通信経路が正常の場合に、DMAバッファ31に格納されているデータの個数の期待値である。つまり、データ個数期待値Jeは、通信経路が正常であれば、制御タイミング間にDMAバッファ31に格納されると推測されるデータの個数と言える。
よって、処理部20は、データ個数jがデータ個数期待値Jeの近傍であるか否かを判定することで、データ個数jとデータ個数期待値Jeとの関係が、異常診断条件を満たしているか否かを判定すると言える。そして、処理部20は、データ個数jがデータ個数期待値Jeの近傍であると判定した場合は、異常診断条件を満たしているとみなして、通信経路が正常と判断する。また、処理部20は、データ個数jがデータ個数期待値Jeの近傍であると判定しなかった場合は、異常診断条件を満たしていないとみなして、通信経路が異常と判断する。ステップS56は、このように言い換えることができる。
本実施形態では、後程説明するが、データ個数期待値Jeとして学習処理で得られた値を採用している。このため、本実施形態では、異常診断条件を満たしていないとみなした場合に、ただちに通信経路が異常と判断することはしない。つまり、処理部20は、ステップS56でNO判定したとしても、学習処理が完了していなければ正確な診断ができないとみなして、異常と判断することを保留する。しかしながら、処理部20は、ステップS56でNO判定したことで、異常と判断してもよい。
上記のように本実施形態では、制御タイミング間にDMAバッファ31に保存されるデータの個数を学習処理で学習したデータ個数期待値Jeを採用している。データ個数期待値Jeは、記憶部30などに記憶しておくことができる。また、記憶部30には、データ個数期待値Jeの初期値として、制御タイミング間にDMAバッファ31に保存されるデータの個数の予測値を保存しておく。そして、処理部20は、最初の学習処理が行われる前は初期値を用いて判定する。
なお、処理部20は、データ個数jとデータ個数期待値Jeとが一致すると判定した場合にステップS57へ進み、一致すると判定しない場合にステップS62へ進むようにしてもよい。しかしながら、上記ステップS43と同様に、データ個数jがデータ個数期待値Jeの近傍であるか否かを判定することで、誤判定を抑制することができる。
ステップS57では、データ個数期待値Jeに現在のJeとjの平均値を代入する(学習処理)。処理部20は、現在のデータ個数期待値Jeとデータ個数jとの平均値を算出する。そして、処理部20は、算出した平均値を、次回以降に用いるデータ個数期待値Jeとして採用する。
ステップS58では、学習回数pをインクリメントする。処理部20は、ステップS57での処理を行なうと、学習回数pをインクリメントする。よって、学習回数pは、ステップS57での処理を行なった回数に相当する。
ステップS59では、学習回数pが規定値以上か否かを判定する(学習処理)。処理部20は、学習回数pが規定値以上か否かを判定し、学習回数pが規定値以上であると判定した場合はステップS60へ進み、学習回数pが規定値以上であると判定しなかった場合はステップS61へ進む。規定値は、2以上の自然数であれば採用できる。
ステップS60では、学習完了フラグLに「完」を代入する。処理部20は、学習処理が完了したとみなして、学習完了フラグLに「完」を代入する。つまり、処理部20は、例えば0から1に書き換えるなどして、学習完了フラグLを「未」から「完」に書き換える。
ステップS61では、正常を記録する。処理部20は、記憶部30などに、通信部70での通信状態が正常であることを記録する。
ステップS62では、学習完了フラグLは「未」か否かを判定する。処理部20は、学習完了フラグLが「未」であると判定しなかった場合はステップS63へ進み、学習完了フラグLが「未」であると判定した場合はステップS57へ進む。ステップS63では、異常を記録する。処理部20は、記憶部30などに、通信部70での通信状態が異常であることを記録する。
学習完了フラグLが「未」である場合、データ個数期待値Jeは、通信経路が正常な状態で、実際に制御データ間にDMAバッファ31に格納されるデータ個数と、乖離が生じている可能性がある。このため、処理部20は、データ個数jがデータ個数期待値Jeの近傍でなかったとしても、一概には通信経路が異常であるとは判断しづらい。よって、処理部20は、学習処理が完了していないデータ個数期待値Jeを用いて通信経路の異常診断を行った場合、正しい診断結果が得られず誤診断してしまう可能性がある。しかしながら、本実施形態では、学習処理が完了していない場合、データ個数jがデータ個数期待値Jeの近傍でなかったとしても、通信経路が異常であると判断しないため、誤診断を抑制できる。
10…マイコン、20…処理部、30…記憶部、31…DMAバッファ、32…制御用RAM、40…マイコンレジスタ、50…DMAコントローラ、60…フリーランタイマ、70…通信部、80…タイムスタンプ機能部、100…電子制御装置、200…通信バス

Claims (7)

  1. データを受信する通信部(70)と、
    前記通信部で受信した前記データを用いて制御演算を行う処理部(20)と、
    前記通信部で受信した前記データを、前記処理部を介することなく受信した順に格納するバッファ(31)と、を備え、
    前記処理部は、予め決められた実行タイミング毎に、前記バッファに格納された複数の前記データのうち、最後に格納された前記データを用いて前記制御演算を行う電子制御装置。
  2. 時間を計測するフリーランタイマ(60)と、
    前記データの受信が完了した時点における前記フリーランタイマの時間を、前記データに関連付けて保存するタイムスタンプ(80)と、を備え、
    前記処理部は、前記フリーランタイマで計測された時間に基づいて、予め決められた前記実行タイミング毎に前記制御演算を実行するものであり、前記実行タイミングの間隔を示す前記フリーランタイマで計測された時間から、前記制御演算で用いる前記データを受信した際に前記タイムスタンプで保存された時間を減算することで、前記制御演算で用いる前記データを受信したタイミングから、前記実行タイミングまでの経過時間を算出する請求項1に記載の電子制御装置。
  3. 前記通信部は、センサで測定された値を示す前記データを受信する請求項2に記載の電子制御装置。
  4. 前記処理部は、受信した前記制御演算で用いる前記データの値における前記経過時間が経過した際の値を、前記経過時間を用いて推定し、前記制御演算で用いる前記データにかえて、推定した推定値を用いて前記制御演算を行う請求項3に記載の電子制御装置。
  5. 時間を計測するフリーランタイマ(60)と、
    前記データの受信が完了した時点における前記フリーランタイマの時間を、前記データに関連付けて保存するタイムスタンプ(80)と、を備え、
    前記処理部は、受信した連続する二つの前記データのうちの先に受信した先行データを受信した際に前記タイムスタンプで保存された時間に、二つの前記データのうちの後に受信した後行データのデータサイズから換算した通信時間を加算した比較時間と、前記後行データを受信した際に前記タイムスタンプで保存された時間との時間差を算出し、前記時間差が妥当判断条件を満たしている場合に前記タイムスタンプが妥当と判断し、前記時間差が前記妥当判断条件を満たしていない場合に前記タイムスタンプが妥当でないと判断する請求項1乃至4のいずれか1項に記載の電子制御装置。
  6. 時間を計測するフリーランタイマ(60)を備え、
    前記処理部は、前記フリーランタイマで計測された時間に基づいて、予め決められた実行タイミング毎に前記制御演算を実行するものであり、
    前記処理部は、前記通信部が前記データを受信する通信経路の異常診断を行うものであり、前記異常診断を行うタイミングで前記通信経路が正常の場合に前記バッファに格納されている前記データの個数の期待値と、前記異常診断を行うタイミングで前記バッファに実際に格納されている前記データの個数との関係が、異常診断条件を満たしている場合に前記通信経路が正常と判断し、前記異常診断条件を満たしていない場合に前記通信経路が異常と判断する請求項1乃至5のいずれか1項に記載の電子制御装置。
  7. 前記処理部は、前記期待値を学習するために、単位時間当たりの前記データの受信個数を保存する請求項6に記載の電子制御装置。
JP2018228472A 2018-12-05 2018-12-05 電子制御装置 Active JP7099289B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018228472A JP7099289B2 (ja) 2018-12-05 2018-12-05 電子制御装置
DE102019216978.3A DE102019216978A1 (de) 2018-12-05 2019-11-05 Elektronische steuereinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018228472A JP7099289B2 (ja) 2018-12-05 2018-12-05 電子制御装置

Publications (2)

Publication Number Publication Date
JP2020091657A true JP2020091657A (ja) 2020-06-11
JP7099289B2 JP7099289B2 (ja) 2022-07-12

Family

ID=70776546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018228472A Active JP7099289B2 (ja) 2018-12-05 2018-12-05 電子制御装置

Country Status (2)

Country Link
JP (1) JP7099289B2 (ja)
DE (1) DE102019216978A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112826A (zh) * 2023-01-06 2023-05-12 上海拿森汽车电子有限公司 一种sent数据采集方法、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012163412A (ja) * 2011-02-04 2012-08-30 Nsk Ltd 回転部材用物理量測定装置
JP2013104338A (ja) * 2011-11-11 2013-05-30 Denso Corp 信号処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6458673B2 (ja) 2015-07-29 2019-01-30 株式会社デンソー 通信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012163412A (ja) * 2011-02-04 2012-08-30 Nsk Ltd 回転部材用物理量測定装置
JP2013104338A (ja) * 2011-11-11 2013-05-30 Denso Corp 信号処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112826A (zh) * 2023-01-06 2023-05-12 上海拿森汽车电子有限公司 一种sent数据采集方法、计算机设备和存储介质
CN116112826B (zh) * 2023-01-06 2024-03-26 上海拿森汽车电子有限公司 一种sent数据采集方法、计算机设备和存储介质

Also Published As

Publication number Publication date
DE102019216978A1 (de) 2020-06-10
JP7099289B2 (ja) 2022-07-12

Similar Documents

Publication Publication Date Title
US5748923A (en) Method for the cyclic transmission of data between at least two control devices with distributed operation
RU2320017C2 (ru) Способ распознавания манипуляций над датчиком
US9374214B2 (en) Communication apparatus, communication system, and communication method
JP4408921B2 (ja) 電子機器
JP2010141807A (ja) アナログ入力信号を有する電子制御装置
US8010257B2 (en) Electronic control units for controlling in-vehicle devices using time-dependent data and vehicle control system integrating such units for real-time distributed control
JP7099289B2 (ja) 電子制御装置
US9790870B2 (en) Method for processing a signal supplied by a bi-directional sensor and corresponding device
JP2006285977A (ja) 情報処理システム
US20170038790A1 (en) Microcomputer and method for correcting clock thereof
JP2006177913A (ja) 位置検出装置
JP7095491B2 (ja) パルス信号異常検出装置
JP6250886B2 (ja) エンジン制御装置
JP2009150894A (ja) 時間依存推移から測定値を求めるための方法および装置
JP2005084896A (ja) 車載電子制御装置
JPH11191021A (ja) 時刻制御装置
JP5585536B2 (ja) 車載電子制御装置および運転情報記憶システム
JP2007026028A (ja) マイクロコンピュータの異常検出装置
JP2014165804A (ja) 制御システム
CN111464772B (zh) 对录制视频设置时间戳的方法、装置及用于车辆的电子设备
JP2018135785A (ja) エンジン制御装置
KR20120120814A (ko) 차량 속도의 보정 방법
JP4259449B2 (ja) 信号処理装置
JP5268791B2 (ja) 制御システム
JPWO2008126218A1 (ja) 情報処理装置、時間計測方法、および時間計測プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220613

R151 Written notification of patent or utility model registration

Ref document number: 7099289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151