JP6784581B2 - 自動車用電子制御装置及びdmaコントローラの異常検知方法 - Google Patents
自動車用電子制御装置及びdmaコントローラの異常検知方法 Download PDFInfo
- Publication number
- JP6784581B2 JP6784581B2 JP2016236980A JP2016236980A JP6784581B2 JP 6784581 B2 JP6784581 B2 JP 6784581B2 JP 2016236980 A JP2016236980 A JP 2016236980A JP 2016236980 A JP2016236980 A JP 2016236980A JP 6784581 B2 JP6784581 B2 JP 6784581B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- abnormality
- area
- data
- dma
- 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
Links
Landscapes
- Bus Control (AREA)
- Detection And Correction Of Errors (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Description
また、DMAコントローラによる転送を開始させるメモリ上の位置(転送開始位置)が正規の位置からずれる異常が発生した場合も、本来の転送領域外のデータを破壊(上書き)してしまうという問題が生じる。
また、本願発明に係るDMAコントローラの異常検知方法は、制御対象を制御するための処理を行うCPUと、メモリと、前記メモリの転送領域にデータを転送するDMAコントローラとを備える自動車用電子制御装置におけるDMA転送異常の検知方法であって、前記転送領域を、空き領域を挟んで複数分散させて設定するステップと、前記空き領域の大きさを、データ転送の異常の検知に遅れがあっても、転送先アドレスが前記空き領域内であるときに異常を検知できる大きさに設定するステップと、前記DMAコントローラによる転送先アドレスが前記転送領域外であるか否かを周期的に判定するステップと、前記転送先アドレスが前記転送領域外であるときに前記DMAコントローラによるデータ転送の異常を判定するステップと、を含む。
図1は、本発明を適用する自動車用電子制御装置の一態様を示す構成図である。
図1の自動車用電子制御装置100は、車載エンジンや自動変速機などの制御対象を制御するための処理を行うCPU(Central Processing Unit)200、処理プログラムなどを記憶するROM(Read Only Memory)300、データなどを一時的に記憶するRAM(Random Access Memory)400、外部のセンサなどから信号を入力し外部の制御対象などに信号を出力する入出力デバイス(I/Oデバイス)500、CPU200を介さずにメモリ又はメモリと入出力デバイス500との間で直接データを転送するダイレクトメモリアクセス(Direct Memory Access)を司るDMAコントローラ600と、これらを接続するバス700と、を備える。
DMA転送の異常によるデータ破壊(データの上書き)を抑止し、また、DMA転送の異常を検知するために、DMAコントローラ600によってデータが転送されるRAM400の転送領域(以下、DMA転送領域と称する)は図2に示すように構成されている。
更に、各DMAチャネルch.1,ch.2,ch.3,・・・の前後には、既知データが書き込まれる既知データ領域を設けてあり、この既知データ領域には、DMA転送の異常によって既知データ領域が上書きされたことをCPU200が判別できるように設定されたキーワードが既知データとしてCPU200によって書き込まれる。
図3のフローチャートは、自動車用電子制御装置100の電源投入時にCPU200によって実施される初期化処理を示す。
図4のフローチャートは、CPU200による定時処理(時間割り込み処理)によって一定時間毎に実施されるDMA異常検知処理の流れを示す。
なお、CPU200は、現時点の転送先アドレスが保持されるレジスタのデータを読み込んで、DMA転送領域内のアドレスに該当しているか否かを判別する。
CPU200は、ステップS23の異常時処理後に、ステップS24に進み、既知データ領域のキーワードを初期化する。
この場合、DMA転送異常の発生によってどの位置が転送開始位置になるかは不定であるため、DMAチャネルch.1,ch.2,ch.3,・・・の上書きを抑止することは難しいが、CPU200は、転送開始直後に異常を検知して異常時処理を実施でき、これにより、データ破壊を最小限に抑えることができる。
但し、図8に示す異常パターン3及び異常パターン4のように、実際の転送領域がずれて本来の転送領域と部分的に重複する異常が発生した場合、領域ずれが小さいと、転送先アドレスがDMA転送領域外である期間が短くなり、CPU200は異常を検知する機会を逃してしまう場合がある。
そして、キーワードが破壊されている場合、CPU200は、ステップS23及びステップS24に進み、DMA転送異常に対処する異常時処理及びキーワードの初期化を実施する。
従って、仮に、DMA転送領域の終わりから実際の転送が完了するまでの転送先アドレスがDMA転送領域外である間に診断タイミングが重ならずに、CPU200が転送先アドレスに基づき異常検知できない場合であっても、図10に示すように、キーワード破壊後の診断タイミングで、転送先アドレスがDMA転送領域内であるもののキーワードが上書きされていることに基づきDMA転送異常を検知できる。
従って、仮に、転送開始位置から本来のDMA転送領域の始まりまで転送先アドレスがDMA転送領域外である間に診断タイミングが重ならずに、CPU200が転送先アドレスに基づき異常検知できない場合であっても、図11に示すように、キーワード破壊後の診断タイミングで、転送先アドレスがDMA転送領域内であるもののキーワードが上書きされていることに基づきDMA転送異常を検知できる。
CPU200は、転送先アドレスがDMA転送領域内であることを検出しかつキーワード破壊を検出しなかった場合はDMA転送が正常であると判断し、ステップS23の異常時処理及びステップS24のキーワードの初期化処理を迂回して、本ルーチンを終了させる。
CPU200は、キーワードが破壊されているか否かの判別を省略し、転送先アドレスがDMA転送領域内であるか否かの判別を行う構成とすることができる。
また、CPU200は、キーワード破壊に基づきDMA転送異常を検知した後は、DMA異常検知処理の実行周期をより短く変更することができる。
また、空き領域を設定せずに、各DMAチャネルch.1,ch.2,ch.3,・・・が相互に隣接する構成とすることができる。
Claims (5)
- 制御対象を制御するための処理を行うCPUと、メモリと、前記メモリの転送領域にデータを転送するDMA(Direct Memory Access)コントローラとを備える自動車用電子制御装置であって、
前記DMAコントローラによる転送先アドレスが前記転送領域に含まれないときに、データ転送の異常を検知して異常時処理を実施する異常検知手段を含み、
前記転送領域は、空き領域を挟んで複数が分散して設定され、
前記空き領域は、前記データ転送の異常の検知に遅れがあっても、前記転送先アドレスが前記空き領域内であるときに異常を検知できるように、領域の大きさが設定される、
自動車用電子制御装置。 - 前記異常検知手段は、一定時間毎に前記転送先アドレスが前記転送領域に含まれるか否かを検出する、請求項1記載の自動車用電子制御装置。
- 前記転送領域の前後に既知データが書き込まれる既知データ領域をそれぞれ設け、
前記異常検知手段は、前記転送先アドレスが前記転送領域に含まれないときに、前記データ転送の異常を検知して異常時処理を実施するとともに、前記既知データ領域のデータが前記既知データでないときに、前記データ転送の異常を検知して異常時処理を実施する、請求項1又は請求項2記載の自動車用電子制御装置。 - 制御対象を制御するための処理を行うCPUと、メモリと、前記メモリの転送領域にデータを転送するDMA(Direct Memory Access)コントローラとを備える自動車用電子制御装置におけるDMAコントローラの異常検知方法であって、
前記転送領域を、空き領域を挟んで複数分散させて設定するステップと、
前記空き領域の大きさを、データ転送の異常の検知に遅れがあっても、転送先アドレスが前記空き領域内であるときに異常を検知できる大きさに設定するステップと、
前記DMAコントローラによる転送先アドレスが前記転送領域外であるか否かを周期的に判定するステップと、
前記転送先アドレスが前記転送領域外であるときに前記DMAコントローラによるデータ転送の異常を判定するステップと、
を含む、DMAコントローラの異常検知方法。 - 前記転送領域の前後にそれぞれ設けた既知データ領域に既知データを格納するステップと、
前記既知データ領域に格納されているデータが前記既知データであるか否かを周期的に判定するステップと、
前記既知データ領域に格納されているデータが前記既知データでないときに前記DMAコントローラによるデータ転送の異常を判定するステップと、
を更に含む、請求項4記載のDMAコントローラの異常検知方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016236980A JP6784581B2 (ja) | 2016-12-06 | 2016-12-06 | 自動車用電子制御装置及びdmaコントローラの異常検知方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016236980A JP6784581B2 (ja) | 2016-12-06 | 2016-12-06 | 自動車用電子制御装置及びdmaコントローラの異常検知方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018092486A JP2018092486A (ja) | 2018-06-14 |
| JP6784581B2 true JP6784581B2 (ja) | 2020-11-11 |
Family
ID=62563721
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016236980A Active JP6784581B2 (ja) | 2016-12-06 | 2016-12-06 | 自動車用電子制御装置及びdmaコントローラの異常検知方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6784581B2 (ja) |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5992929U (ja) * | 1982-12-09 | 1984-06-23 | 株式会社明電舎 | Dma装置のメモリ監視装置 |
| JPH07281912A (ja) * | 1994-04-07 | 1995-10-27 | Nippondenso Co Ltd | スタック異常検出装置 |
| JPH09167117A (ja) * | 1995-12-15 | 1997-06-24 | Hitachi Ltd | マイクロコンピュータおよびこれを用いたリアルタイムシステム |
| JP2000148658A (ja) * | 1998-11-12 | 2000-05-30 | Nec Corp | Dma転送方式 |
| JP2001297054A (ja) * | 2000-04-11 | 2001-10-26 | Sharp Corp | Dmaの転送逸脱防止方法及びdmaコントローラ |
| JP2005327175A (ja) * | 2004-05-17 | 2005-11-24 | Toshiba Corp | インサーキットエミュレータ装置およびスタックアクセス異常検知方法 |
| JP2008172896A (ja) * | 2007-01-10 | 2008-07-24 | Nsk Ltd | 車両用電動機の制御装置 |
| JP5392263B2 (ja) * | 2008-09-22 | 2014-01-22 | 富士通株式会社 | 情報処理装置及びそのメモリ保護方法 |
| JP5183648B2 (ja) * | 2010-01-14 | 2013-04-17 | 日立オートモティブシステムズ株式会社 | Dma転送によるメモリ上書きを検出する方法 |
| CN104040510B (zh) * | 2011-12-21 | 2017-05-17 | 英特尔公司 | 具备安全的直接存储器访问的计算设备及相应方法 |
| JP2014186453A (ja) * | 2013-03-22 | 2014-10-02 | Hitachi Automotive Systems Ltd | 自動車用制御装置 |
| JP2015187833A (ja) * | 2014-03-14 | 2015-10-29 | 株式会社リコー | 情報処理装置、情報処理方法およびプログラム |
-
2016
- 2016-12-06 JP JP2016236980A patent/JP6784581B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018092486A (ja) | 2018-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11609567B2 (en) | Apparatus and method for controlling vehicle based on redundant architecture | |
| JP6692763B2 (ja) | 制御装置および制御プログラム更新方法 | |
| JP2000357129A (ja) | メモリ検証を有する電子制御装置および方法 | |
| JP5487691B2 (ja) | 車両制御装置、車両制御プログラム | |
| JP6723941B2 (ja) | 制御装置および制御プログラム更新方法 | |
| JP6784581B2 (ja) | 自動車用電子制御装置及びdmaコントローラの異常検知方法 | |
| JP2018041402A (ja) | 電子制御装置 | |
| JP7411467B2 (ja) | 電子制御装置及びプログラム書き換え制御方法 | |
| US7191359B2 (en) | Fail-safe controller | |
| JP3923810B2 (ja) | 車両用電子制御装置 | |
| US20170154480A1 (en) | Information processing apparatus and large scale integrated circuit | |
| US9584880B2 (en) | Method for the efficient transmission of data | |
| KR20080037060A (ko) | 메모리 장치와 이 메모리 장치의 작동 방법 | |
| JP2017084163A (ja) | 電子制御装置 | |
| JP6524989B2 (ja) | 演算器の動作保証方法 | |
| JP2012174198A (ja) | 異常検出装置、および異常検出プログラム | |
| JP6466269B2 (ja) | 電子制御装置及びスタック領域の使用監視方法 | |
| JP6463445B1 (ja) | 車載制御装置 | |
| JP2015171853A (ja) | 自動車用電子制御装置 | |
| JP6183251B2 (ja) | 電子制御装置 | |
| US20090177890A1 (en) | Method and Device for Forming a Signature | |
| JP5268791B2 (ja) | 制御システム | |
| JP5942904B2 (ja) | 処理装置 | |
| JP4820679B2 (ja) | 車両用電子制御装置 | |
| JP6771272B2 (ja) | 車載電子制御装置及びスタック使用方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190304 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200227 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200324 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200521 |
|
| 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: 20201006 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201023 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6784581 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |