(57)【要約】【課題】優先度が異なる複数の送信要求に対し、構成の複雑化やコスト高を招くことがなく、ソフトウェアのオーバヘッドの発生を回避しつつ、送信データを適切に送信させる。【解決手段】電子制御装置１は、送信データを格納するＦＩＦＯメモリ１０と、ＦＩＦＯメモリに格納されている送信データの送信処理を行うデータ処理部６，７と、ＦＩＦＯメモリに格納されている送信データを格納可能なバッファ１２と、を備える。データ処理部は、低優先の送信データがＦＩＦＯメモリに格納されている状態で高優先の送信データの送信要求が発生すると、ＦＩＦＯメモリに格納されている低優先の送信データをバッファに退避させ、高優先の送信データの送信処理を完了後に、バッファに退避させておいた低優先の送信データをＦＩＦＯメモリに復帰させる。【選択図】図１
2020068454.tif 000002
【特許請求の範囲】
【請求項１】
送信データを格納するＦＩＦＯメモリ（１０）と、
前記ＦＩＦＯメモリに格納されている送信データの送信処理を行うデータ処理部（６，７）と、
前記ＦＩＦＯメモリに格納されている送信データを格納可能なバッファ（１２）と、を備え、
前記データ処理部は、低優先の送信データが前記ＦＩＦＯメモリに格納されている状態で高優先の送信データの送信要求が発生すると、前記ＦＩＦＯメモリに格納されている低優先の送信データを前記バッファに退避させ、高優先の送信データの送信処理を完了後に、前記バッファに退避させておいた低優先の送信データを前記ＦＩＦＯメモリに復帰させる電子制御装置。
【請求項２】
前記データ処理部は、低優先の送信データを前記バッファに退避させている状態で新たな高優先の送信データの送信要求が発生すると、その新たな高優先の送信データの送信処理を完了後に、前記バッファに退避させておいた低優先の送信データを前記ＦＩＦＯメモリに復帰させる請求項１に記載した電子制御装置。
【請求項３】
前記データ処理部は、低優先の送信データを前記バッファに退避させている状態で新たな低優先の送信データの送信要求が発生すると、その新たな低優先の送信データを前記ＦＩＦＯメモリに格納するよりも先に、前記バッファに退避させておいた低優先の送信データを前記ＦＩＦＯメモリに復帰させる請求項１又は２に記載した電子制御装置。
【請求項４】
前記データ処理部は、低優先の送信データの送信処理を非同期処理で行い、高優先の送信データの送信処理を同期処理で行う請求項１から３の何れか一項に記載した電子制御装置。
【請求項５】
前記データ処理部は、ＣＰＵ（６）及びＤＭＡ（７）のうち少なくとも何れかにより構成される請求項１から４の何れか一項に記載した電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
従来より、通信バスを介して外部装置との間でデータ通信を行う電子制御装置が供されている。この種の電子制御装置に設けられているマイクロコンピュータ（以下、マイコンと称する）は、優先度が異なる複数の送信要求を処理する場合がある。例えば特許文献１には、優先度が異なる複数の送信要求に対し、同一の先入れ先出しメモリ（以下、ＦＩＦＯ（First In First Out）メモリと称する）を使用し、その優先度に応じて送信データを送信させる構成が開示されている。具体的には、先行する低優先の送信データの送信要求よりも高優先の送信データの送信要求が発生すると、送信処理を待機中の低優先の送信データを廃棄し、高優先の送信データの送信処理を優先して行い、高優先の送信データの送信処理を完了後に低優先の送信データの送信処理を行う。又、特許文献２には、優先度が異なる複数のＦＩＦＯメモリを用意し、送信データを送信要求の優先度に応じたＦＩＦＯメモリに格納し、高優先のＦＩＦＯメモリに格納された送信データから順番に送信データを送信させる構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−３３４７０５号公報
【特許文献２】特開２００６−２７３２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の構成では、送信処理を待機中の低優先の送信データを廃棄するので、その廃棄した低優先の送信データをＲＡＭからＦＩＦＯメモリに再度転送させる必要があり、ソフトウェアのオーバヘッドが発生する問題がある。又、特許文献２の構成では、優先度が異なる複数のＦＩＦＯメモリを必要とするので、構成の複雑化やコスト高を招く問題がある。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、優先度が異なる複数の送信要求に対し、構成の複雑化やコスト高を招くことがなく、ソフトウェアのオーバヘッドの発生を回避しつつ、送信データを適切に送信させることができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、データ処理部（６，７）は、ＦＩＦＯメモリ（１０）に格納されている送信データの送信処理を行い、送信データを送信させる。バッファ（１２）は、ＦＩＦＯメモリに格納されている送信データを格納可能である。データ処理部は、低優先の送信データがＦＩＦＯメモリに格納されている状態で高優先の送信データの送信要求が発生すると、ＦＩＦＯメモリに格納されている低優先の送信データをバッファに退避させ、高優先の送信データの送信処理を完了後に、バッファに退避させておいた低優先の送信データをＦＩＦＯメモリに復帰させる。
【０００７】
低優先の送信データがＦＩＦＯメモリに格納されている状態で高優先の送信データの送信要求が発生すると、ＦＩＦＯメモリに格納されている低優先の送信データをバッファに退避させることで、低優先の送信データ廃棄することなく、高優先の送信データの送信処理を優先して行うようにした。そして、高優先の送信データの送信処理を完了後に、バッファに退避させておいた低優先の送信データをＦＩＦＯメモリに復帰させることで、低優先の送信データの送信処理を行うようにした。
【０００８】
優先度が異なる複数のＦＩＦＯメモリを必要とせず、構成の複雑化やコスト高を回避することができる。又、低優先の送信データを廃棄せず、低優先の送信データをＲＡＭからＦＩＦＯメモリに再度転送させる必要もなく、ソフトウェアのオーバヘッドの発生を回避することができる。これにより、優先度が異なる複数の送信要求に対し、構成の複雑化やコスト高を招くことがなく、ソフトウェアのオーバヘッドの発生を回避しつつ、送信データを適切に送信させることができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態を示す機能ブロック図
【図２】フローチャート
【図３】送信データが転送される態様を示す図（その１）
【図４】送信データが転送される態様を示す図（その２）
【図５】送信データが転送される態様を示す図（その３）
【図６】送信データが転送される態様を示す図（その４）
【発明を実施するための形態】
【００１０】
以下、本発明を、例えば自動車のエンジンを制御する電子制御装置に適用した一実施形態について図面を参照して説明する。電子制御装置は、例えばエンジン冷却水の温度を示すセンサ信号を水温センサから入力し、吸入空気の温度を示すセンサ信号を吸気温センサから入力し、アクセルの開度を示すセンサ信号をアクセル開度センサから入力し、スロットルバルブの開度を示すセンサ信号をスロットル開度センサから入力し、エンジンの回転数及び回転角を示すセンサ信号をエンジン回転角センサから入力することで、エンジンの動作状態を制御する。
【００１１】
図１に示すように、電子制御装置１は、マイコン２と、データ送受信部３とを有し、通信バス４を介して外部装置５ａ，５ｂとの間でデータ通信を行い、外部装置５ａ，５ｂと連携して動作する。外部装置５ａ，５ｂは、他の電子制御装置やＡＳＩＣ（Application Specific Integrated Circuit）等であり、任意の個数である。マイコン２は、ＣＰＵ（Central Processing Unit）６（データ処理部）と、ＤＭＡ（Direct Memory Access）７（データ処理部）と、ＲＡＭ（Random Access Memory）８と、通信制御部９とを有する。通信制御部９は、ＦＩＦＯメモリ１０と、送信用キュー１１、バッファ１２とを有する。
【００１２】
ＣＰＵ６及びＤＭＡ７は、それぞれＲＡＭ８、ＦＩＦＯメモリ１０、送信用キュー１１、バッファ１２にアクセスすることが可能である。ＲＡＭ８には優先度が異なる複数の送信データが格納され、優先度が相対的に低い低優先の送信データと、優先度が相対的に高い高優先の送信データとが格納される。低優先の送信データは、緊急性が相対的に低く、所定周期で定期的に送信されれば良い性質のデータであり、例えばセンサにより取得されたセンサ値を通知するためのデータである。高優先の送信データは、緊急性が相対的に高く、送信要求の発生後に速やかに送信される必要がある性質のデータであり、例えば動作異常や動作停止命令を通知するためのデータである。
【００１３】
ＣＰＵ６及びＤＭＡ７は、送信データの送信要求が発生すると、ＲＡＭ８に格納されている送信データをＦＩＦＯメモリ１０に転送させる。ＣＰＵ６及びＤＭＡ７は、低優先の送信データの送信要求が発生した場合であれば、送信要求が発生したタイミングに拘らず、自己が保持する転送タイミングに追従し、低優先の送信データをＲＡＭ８からＦＩＦＯメモリ１０に転送させる。即ち、ＣＰＵ６及びＤＭＡ７は、低優先の送信データを非同期通信によりＲＡＭ８からＦＩＦＯメモリ１０に転送させる。一方、ＣＰＵ６及びＤＭＡ７は、高優先の送信データの送信要求が発生した場合であれば、自己が保持する転送タイミングに拘らず、送信要求が発生したタイミングに追従し、高優先の送信データをＲＡＭ８からＦＩＦＯメモリ１０に転送させる。即ち、ＣＰＵ６及びＤＭＡ７は、高優先の送信データを同期通信によりＲＡＭ８からＦＩＦＯメモリ１０に転送させる。
【００１４】
ＣＰＵ６及びＤＭＡ７は、送信用キュー１１が空であるか否かを監視しており、送信用キュー１１が空であると判定すると、ＦＩＦＯメモリ１０に格納されている送信データを送信用キュー１１に転送させ、ＦＩＦＯメモリ１０に格納されている送信データの送信処理を行う。即ち、ＣＰＵ６及びＤＭＡ７は、送信用キュー１１が空であると判定する毎に、ＦＩＦＯメモリ１０に格納されている送信データを送信用キュー１１に順次転送させ、ＦＩＦＯメモリ１０に格納されている送信データの送信処理を順次行う。
送信用キュー１１に格納されたデータは、データ送受信部３に転送され、データ送受信部３から通信バス４を介して外部装置５ａ，５ｂに送信される。
【００１５】
バッファ１２は、ＦＩＦＯメモリ１０に格納されている送信データを一時的に格納可能である。ＣＰＵ６及びＤＭＡ７は、ＦＩＦＯメモリ１０に格納されている送信データをバッファ１２に転送させることで、ＦＩＦＯメモリ１０に格納されている送信データをバッファ１２に退避させる。ＣＰＵ６及びＤＭＡ７は、バッファ１２に格納されている送信データをＦＩＦＯメモリ１０に転送させることで、バッファ１２に退避させておいた送信データをＦＩＦＯメモリ１０に転送させて復帰させる。
【００１６】
次に、上記した構成の作用について図２から図６を参照して説明する。本実施形態では、ＣＰＵ６が送信要求の監視処理を行う場合を説明するが、ＤＭＡ７が送信要求の監視処理を行う場合も同様である。
【００１７】
ＣＰＵ６は、送信要求の監視処理の開始イベントが発生したと判定し、送信要求の監視処理を開始すると、送信要求が発生しているか否かを判定する（Ｓ１）。ＣＰＵ６は、送信要求が発生していないと判定すると（Ｓ１：ＮＯ）、送信要求の監視処理を終了し、次回の送信要求の監視処理の開始イベントの発生を待機する。
【００１８】
ＣＰＵ６は、送信要求が発生していると判定すると（Ｓ１：ＹＥＳ）、その発生している送信要求が高優先の送信データの送信要求であるか否かを判定する（Ｓ２）。ＣＰＵ６は、その発生している送信要求が高優先の送信データの送信要求でなく、低優先の送信データの送信要求であると判定すると（Ｓ２：ＮＯ）、ＲＡＭ８に格納されている低優先の送信データをＦＩＦＯメモリ１０に転送させ（Ｓ３）、送信要求の監視処理を終了し、次回の送信要求の監視処理の開始イベントの発生を待機する。これ以降、ＣＰＵ６は、送信用キュー１１が空であると判定すると、ＦＩＦＯメモリ１０に格納されている低優先の送信データを送信用キュー１１に転送させ、低優先の送信データの送信処理を行う。送信用キュー１１に格納された低優先の送信データは、データ送受信部３に転送され、データ送受信部３から通信バス４を介して外部装置５ａ，５ｂに送信される。
【００１９】
ＣＰＵ６は、その発生している送信要求が高優先の送信データの送信要求であると判定すると（Ｓ２：ＹＥＳ）、ＦＩＦＯメモリ１０に低優先の送信データが格納されているか否かを判定する（Ｓ４）。ＣＰＵ６は、ＦＩＦＯメモリ１０に低優先の送信データが格納されていないと判定すると（Ｓ４：ＮＯ）、ＲＡＭ８に格納されている高優先の送信データをＦＩＦＯメモリ１０に転送させ（Ｓ５）、送信要求の監視処理を終了し、次回の送信要求の監視処理の開始イベントの発生を待機する。これ以降、ＣＰＵ６は、送信用キュー１１が空であると判定すると、ＦＩＦＯメモリ１０に格納されている高優先の送信データを送信用キュー１１に転送させ、高優先の送信データの送信処理を行う。送信用キュー１１に格納された高優先の送信データは、データ送受信部３に転送され、データ送受信部３から通信バス４を介して外部装置５ａ，５ｂに送信される。
【００２０】
ＣＰＵ６は、ＦＩＦＯメモリ１０に低優先の送信データが格納されていると判定すると（Ｓ４：ＹＥＳ）、そのＦＩＦＯメモリ１０に格納されている低優先の送信データをバッファ１２に転送させて退避させる（Ｓ６）。ＣＰＵ６は、低優先の送信データのバッファ１２への退避を完了すると、ＲＡＭ８に格納されている高優先の送信データをＦＩＦＯメモリ１０に転送させる（Ｓ７）。この場合も、これ以降、ＣＰＵ６は、送信用キュー１１が空であると判定すると、ＦＩＦＯメモリ１０に格納されている高優先の送信データを送信用キュー１１に転送させ、高優先の送信データの送信処理を行う。送信用キュー１１に格納された高優先の送信データは、データ送受信部３に転送され、データ送受信部３から通信バス４を介して外部装置５ａ，５ｂに送信される。
【００２１】
ＣＰＵ６は、その高優先の送信データの送信完了を待機し（Ｓ８）、送信用キュー１１が空になったと判定し、高優先の送信データの送信完了を判定すると（Ｓ８：ＹＥＳ）、送信要求が発生しているか否かを判定する（Ｓ９）。ＣＰＵ６は、送信要求が発生していないと判定すると（Ｓ９：ＮＯ）、バッファ１２に退避させておいた低優先の送信データをＦＩＦＯメモリ１０に転送させて復帰させ（Ｓ１０）、送信要求の監視処理を終了し、次回の送信要求の監視処理の開始イベントの発生を待機する。
【００２２】
ＣＰＵ６は、送信要求が発生していると判定すると（Ｓ９：ＹＥＳ）、その発生している送信要求が高優先の送信データの送信要求であるであるか否かを判定する（Ｓ１１）。ＣＰＵ６は、その発生している送信要求が高優先の送信データの送信要求でなく、低優先の送信データの送信要求であると判定すると（Ｓ１１：ＮＯ）、この場合も、バッファ１２に退避させておいた低優先の送信データをＦＩＦＯメモリ１０に転送させて復帰させ（Ｓ１０）、送信要求の監視処理を終了し、次回の送信要求の監視処理の開始イベントの発生を待機する。
【００２３】
ＣＰＵ６は、その発生している送信要求が高優先の送信データの送信要求であると判定すると（Ｓ１１：ＹＥＳ）、上記したステップＳ７に戻り、ステップＳ７以降を繰り返して行う。
【００２４】
ＣＰＵ６は、以上に説明した処理を行うことで、通信制御部９の内部で送信データを以下のように処理する。尚、後述する図３から図６において、Ａ［ｎ（ｎは０，１，２，…）］は外部装置５ａを送信先とする低優先の送信データであり、Ｂ［ｍ（ｍは０，１，２，…）］は外部装置５ｂを送信先とする高優先の送信データであるとする。
【００２５】
図３は、低優先の送信データがＦＩＦＯメモリ１０に格納されている、即ち、低優先の送信データの送信処理を待機中に高優先の送信データの送信要求が発生した場合を示している。ＣＰＵ６は、ＲＡＭ８に低優先の送信データＡ［０］，Ａ［１］，Ａ［２］が格納されており、低優先の送信データＡ［０］，Ａ［１］，Ａ［２］の送信要求が発生すると（時刻１）、そのＲＡＭ８に格納されている低優先の送信データＡ［０］，Ａ［１］，Ａ［２］をＦＩＦＯメモリ１０に順次転送させる（時刻２）。ＣＰＵ６は、送信用キュー１１が空になる毎に、ＦＩＦＯメモリ１０に格納されている低優先の送信データＡ［０］，Ａ［１］，Ａ［２］を送信用キュー１１に順次転送させる。
【００２６】
ここで、ＣＰＵ６は、低優先の送信データＡ［０］を送信用キュー１１に転送させた後であり、次の低優先の送信データＡ［１］を送信用キュー１１に転送させる前に、高優先の送信データＢ［０］の送信要求が発生すると（時刻３）、ＦＩＦＯメモリ１０に格納されている低優先の送信データＡ［１］，Ａ［２］をバッファ１２に転送させて退避させ、高優先の送信データＢ［０］をＦＩＦＯメモリ１０に転送させる（時刻４）。ＣＰＵ６は、送信用キュー１１が空であれば、ＦＩＦＯメモリ１０に転送させた高優先の送信データＢ［０］を送信用キュー１１に転送させる（時刻５）。
【００２７】
ＣＰＵ６は、高優先の送信データＢ［０］を送信用キュー１１に転送させ、高優先の送信データＢ［０］の送信処理を完了すると、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に転送させて復帰させる（時刻６）。これ以降、ＣＰＵ６は、送信用キュー１１が空になる毎に、ＦＩＦＯメモリ１０に復帰させた低優先の送信データＡ［１］，Ａ［２］を送信用キュー１１に順次転送させる（時刻７）。
【００２８】
このように、ＣＰＵ６は、低優先の送信データＡ［１］，Ａ［２］がＦＩＦＯメモリ１０に格納されている状態で高優先の送信データＢ［０］の送信要求が発生すると、ＦＩＦＯメモリ１０に格納されている低優先の送信データＡ［１］，Ａ［２］をバッファ１２に退避させることで、低優先の送信データＡ［１］，Ａ［２］を廃棄することなく、高優先の送信データＢ［０］の送信処理を優先して行う。そして、ＣＰＵ６は、高優先の送信データＢ［０］の送信処理を完了後に、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に復帰させることで、低優先の送信データＡ［１］，Ａ［２］の送信処理を行う。
【００２９】
図４及び図５は、低優先の送信データをバッファ１２に退避中に新たな高優先の送信データの送信要求が発生した場合を示している。ＣＰＵ６は、時刻１から時刻４までは図３と同様の処理を行う。
【００３０】
ＣＰＵ６は、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に転送させて復帰させる前に、新たな高優先の送信データＢ［１］の送信要求が発生すると（時刻５）、低優先の送信データＡ［１］，Ａ［２］のバッファ１２への退避を継続し、高優先の送信データＢ［１］をＦＩＦＯメモリ１０に転送させる（時刻６）。ＣＰＵ６は、送信用キュー１１が空であれば、ＦＩＦＯメモリ１０に転送させた高優先の送信データＢ［１］を送信用キュー１１に転送させる（時刻７）。
【００３１】
ＣＰＵ６は、高優先の送信データＢ［１］を送信用キュー１１に転送させ、高優先の送信データＢ［１］の送信処理を完了すると、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に転送させて復帰させる（時刻８）。これ以降、ＣＰＵ６は、送信用キュー１１が空になる毎に、ＦＩＦＯメモリ１０に復帰させた低優先の送信データＡ［１］，Ａ［２］を送信用キュー１１に順次転送させる（時刻９）。
【００３２】
このように、ＣＰＵ６は、低優先の送信データＡ［１］，Ａ［２］をバッファ１２に退避させている状態で新たな高優先の送信データＢ［１］の送信要求が発生すると、低優先の送信データＡ［１］，Ａ［２］のバッファ１２への退避を継続し、高優先の送信データＢ［１］の送信処理を優先して行う。そして、ＣＰＵ６は、高優先の送信データＢ［１］の送信処理を完了後に、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に復帰させることで、低優先の送信データＡ［１］，Ａ［２］の送信処理を行う。
【００３３】
図６は、低優先の送信データをバッファ１２に退避中に低優先の送信データが更新され、新たな低優先の送信データの送信要求が発生した場合を示している。ＣＰＵ６は、時刻１から時刻４までは図３と同様の処理を行う。
【００３４】
ＣＰＵ６は、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に転送させて復帰させる前に、低優先の送信データＡ［０］，Ａ［１］，Ａ［２］がそれぞれ低優先の送信データＡ［３］，Ａ［４］，Ａ［５］に更新され、新たな低優先の送信データ［３］，Ａ［４］，Ａ［５］の送信要求が発生すると（時刻５）、そのＲＡＭ８に格納されている低優先の送信データＡ［３］，Ａ［４］，Ａ［５］をＦＩＦＯメモリ１０に順次転送させる前に、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に転送させて復帰させる（時刻６）。
【００３５】
その後、ＣＰＵ６は、ＲＡＭ８に格納されている低優先の送信データＡ［３］，Ａ［４］，Ａ［５］をＦＩＦＯメモリ１０に順次転送させる。これ以降、ＣＰＵ６は、送信用キュー１１が空になる毎に、ＦＩＦＯメモリ１０に復帰させた低優先の送信データＡ［１］，Ａ［２］，Ａ［３］，Ａ［４］，Ａ［５］を送信用キュー１１に順次転送させる（時刻７）。
【００３６】
このように、ＣＰＵ６は、低優先の送信データＡ［１］，Ａ［２］をバッファ１２に退避させている状態で低優先の送信データＡ［０］，Ａ［１］，Ａ［２］がそれぞれ低優先の送信データＡ［３］，Ａ［４］，Ａ［５］に更新され、新たな低優先の送信データＡ［３］，Ａ［４］，Ａ［５］の送信要求が発生すると、新たな低優先の送信データＡ［３］，Ａ［４］，Ａ［５］をＦＩＦＯメモリ１０に転送させるよりも先に、バッファ１２に退避させておいた低優先の送信データＡ［１］，Ａ［２］をＦＩＦＯメモリ１０に復帰させ、低優先の送信データＡ［１］，Ａ［２］，［３］，Ａ［４］，Ａ［５］の送信処理を行う。
【００３７】
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
電子制御装置１において、低優先の送信データがＦＩＦＯメモリ１０に格納されている状態で高優先の送信データの送信要求が発生すると、ＦＩＦＯメモリ１０に格納されている低優先の送信データをバッファ１２に退避させることで、高優先の送信データの送信処理を優先して行うようにした。そして、高優先の送信データの送信処理を完了後に、バッファ１２に退避させておいた低優先の送信データをＦＩＦＯメモリ１０に復帰させることで、低優先の送信データの送信処理を行うようにした。
【００３８】
優先度が異なる複数のＦＩＦＯメモリを必要とせず、構成の複雑化やコスト高を回避することができる。又、低優先の送信データを廃棄せず、低優先の送信データをＲＡＭ８からＦＩＦＯメモリ１０に再度転送させる必要もなく、ソフトウェアのオーバヘッドの発生を回避することができる。これにより、優先度が異なる複数の送信要求に対し、構成の複雑化やコスト高を招くことがなく、ソフトウェアのオーバヘッドの発生を回避しつつ、送信データを適切に送信させることができる。
【００３９】
又、電子制御装置１において、低優先の送信データをバッファ１２に退避させている状態で新たな高優先の送信データの送信要求が発生すると、その新たな高優先の送信データの送信処理を完了後に、バッファ１２に退避させておいた低優先の送信データをＦＩＦＯメモリ１０に復帰させるようにした。高優先の送信データの送信要求が連続して発生する場合でも、ソフトウェアのオーバヘッドの発生を回避しつつ、送信データを適切に送信させることができる。
【００４０】
又、電子制御装置１において、低優先の送信データをバッファ１２に退避させている状態で新たな低優先の送信データの送信要求が発生すると、その新たな低優先の送信データをＦＩＦＯメモリ１０に格納するよりも先に、バッファ１２に退避させておいた低優先の送信データをＦＩＦＯメモリ１０に復帰させるようにした。低優先の送信データが更新された場合でも、更新前の低優先の送信データの送信抜けが発生することなく、送信データを適切に送信させることができる。
【００４１】
又、電子制御装置１において、低優先の送信データの送信処理を非同期処理で行い、高優先の送信データの送信処理を同期処理で行うようにした。高優先の送信データの送信処理を速やかに行うことができ、その後、中断した位置から低優先の送信データの送信処理を適切に再開することができる。
【００４２】
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【００４３】
自動車のエンジンを制御する電子制御装置に限らず、例えばトランスミッション等の別の機器を制御する電子制御装置に適用しても良い。又、車載の電子制御装置に限らず、車載以外の用途の電子制御装置に適用しても良い。
バッファ１２の容量は、低優先の送信データの送信要求の発生頻度や高優先の送信データの送信要求の発生頻度に応じて決定すれば良い。即ち、低優先の送信データの送信要求の発生頻度及び高優先の送信データの送信要求の発生頻度が両方とも相対的に高ければ、低優先の送信データをバッファ１２に退避させる機会が相対的に多くなるので、バッファ１２の容量を相対的に大きくすれば良い。一方、低優先の送信データの送信要求の発生頻度及び高優先の送信データの送信要求の発生頻度のうち少なくとも何れかが相対的に低ければ、低優先の送信データをバッファ１２に退避させる機会が相対的に少なくなるので、バッファ１２の容量を相対的に小さくすれば良い。
【符号の説明】
【００４４】
図面中、１は電子制御装置、６はＣＰＵ（データ処理部）、７はＤＭＡ（データ処理部）、１０はＦＩＦＯメモリ、１２はバッファである。
【図１】
2020068454.tif 000003
【図２】
2020068454.tif 000004
【図３】
2020068454.tif 000005
【図４】
2020068454.tif 000006
【図５】
2020068454.tif 000007
【図６】
2020068454.tif 000008