(57)【要約】【課題】外部装置からの処理要求に対して異常な電子制御装置から外部装置が受信する応答に基づいて、不適切な処理が実行されることを抑制する技術を提供する。【解決手段】車載の電子制御装置は、マイクロコンピュータと通信部と外部異常検出部とを備える。マイクロコンピュータは、車両制御を実行する。通信部は、電子制御装置に処理要求を送信する電子制御装置の外部の外部装置とマイクロコンピュータとを通信可能に接続する。Ｓ４００〜Ｓ４０８において、マイクロコンピュータの外部に設置されている外部異常検出部は、マイクロコンピュータの異常を検出すると、通信部を制御して、マイクロコンピュータから外部装置に処理要求に対する応答が送信されないようにする。【選択図】図２
2020093707.tif 000002
【特許請求の範囲】
【請求項１】
車載の電子制御装置（１０）であって、
車両制御を実行するマイクロコンピュータ（２０、Ｓ４１０〜Ｓ４１８）と、
前記電子制御装置に処理要求を送信する前記電子制御装置の外部の外部装置と前記マイクロコンピュータとを通信可能に接続するように構成されている通信部（３２）と、
前記マイクロコンピュータの外部に設置され、前記マイクロコンピュータの異常を検出すると、前記通信部を制御して、前記マイクロコンピュータから前記外部装置に前記処理要求に対する応答が送信されないように構成された外部異常検出部（３４、Ｓ４００〜Ｓ４０８、Ｓ４２０〜Ｓ４３０、Ｓ４４０〜Ｓ４４６、Ｓ４５０〜Ｓ４６４、Ｓ４７０〜Ｓ４８２）と、
を備える電子制御装置。
【請求項２】
請求項１に記載の電子制御装置であって、
前記マイクロコンピュータは、診断処理を実行して診断情報を記録するように構成されており、
前記外部異常検出部は、前記マイクロコンピュータが異常の場合、前記処理要求として前記外部装置から前記診断情報の読み出し要求を前記通信部が受信すると、前記通信部を制御して、前記マイクロコンピュータから前記外部装置に前記処理要求に対する応答が送信されないように構成されている、
電子制御装置。
【請求項３】
請求項１または２に記載の電子制御装置であって、
前記外部異常検出部（Ｓ４０８、Ｓ４７８）は、前記マイクロコンピュータが異常の場合、前記外部装置から前記処理要求を前記通信部が受信すると、前記通信部を制御して、前記外部装置からの前記処理要求を前記マイクロコンピュータに送信しないように構成されている、
電子制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の電子制御装置であって、
前記外部異常検出部（Ｓ４６４）は、前記マイクロコンピュータが異常の場合、前記外部装置から前記処理要求を前記通信部が受信すると、前記通信部から前記電子制御装置が異常であることを前記外部装置に送信するように構成されている、
電子制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の電子制御装置であって、
前記通信部は、前記電子制御装置と他の車載の電子制御装置（４０）とを通信可能に接続するように構成されており、
前記外部異常検出部（Ｓ４８０）は、前記マイクロコンピュータが異常の場合、前記電子制御装置が異常であることを示す診断情報を記録するように前記通信部から前記他の電子制御装置に通知するように構成されている、
電子制御装置。
【請求項６】
請求項１から５のいずれか１項に記載の電子制御装置であって、
前記通信部は、前記電子制御装置と他の車載の電子制御装置（４２）とを通信可能に接続するように構成されており、
前記外部異常検出部（Ｓ４８２）は、前記マイクロコンピュータが異常の場合、前記他の電子制御装置にランプを点灯するように前記通信部から通知するように構成されている、
電子制御装置。
【請求項７】
請求項１から６のいずれか１項に記載の電子制御装置であって、
前記外部異常検出部と前記通信部とは１つのＩＣ（３０）で構成されている、
電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、外部装置が車載の電子制御装置から処理要求に対する応答を取得する技術に関する。
【背景技術】
【０００２】
車載の各種のセンサ、アクチュエータなどに何らかの異常が発生したことを車載の電子制御装置がＯＢＤにより検出し、異常に対応する診断コードを診断情報として記録することが知られている。ＯＢＤはOn-board Diagnosticsの略である。以下、診断コードをＤＴＣともいう。ＤＴＣはDiagnostic Trouble Codeの略である。そして、電子制御装置に記録されたＤＴＣに基づいて、車両に対して適切な処理が実行される。
【０００３】
例えば、特許文献１には、スキャンツール等の外部装置で車載の電子制御装置から読み出したＤＴＣに基づいて、車両の整備業務を支援する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−０８１８４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、診断情報を記録する電子制御装置に異常が発生すると、適切な診断情報を記録する性能要件を電子制御装置が満たさなくなる。
この場合、本願発明者の詳細な検討の結果、例えば、外部装置が電子制御装置に対して診断情報の読み出し等の処理要求を送信し、処理要求の応答を電子制御装置から受信して取得すると、性能要件を満たす正常な電子制御装置からの応答か、性能要件を満たさない異常な電子制御装置からの応答かを、外部装置は判定できないという課題が見出された。
【０００６】
その結果、外部装置が電子制御装置から受信する応答に基づいて、不適切な処理が実行されるおそれがあるという課題が見出された。
本開示の１つの局面は、外部装置からの処理要求に対して異常な電子制御装置から外部装置が取得する応答に基づいて、不適切な処理が実行されることを抑制する技術を提供することが望ましい。
【課題を解決するための手段】
【０００７】
本開示の１つの態様による車載の電子制御装置（１０）は、マイクロコンピュータ（２０、Ｓ４１０〜Ｓ４１８）と、通信部（３２）と、外部異常検出部（３４、Ｓ４００〜Ｓ４０８、Ｓ４２０〜Ｓ４３０、Ｓ４４０〜Ｓ４４６、Ｓ４５０〜Ｓ４６４、Ｓ４７０〜Ｓ４８２）と、を備える。
【０００８】
マイクロコンピュータは、車両制御を実行する。通信部は、電子制御装置に処理要求を送信する電子制御装置の外部の外部装置とマイクロコンピュータとを通信可能に接続する。外部異常検出部は、マイクロコンピュータの外部に設置され、マイクロコンピュータの異常を検出すると、通信部を制御して、マイクロコンピュータから外部装置に処理要求に対する応答が送信されないようにする。
【０００９】
この構成によれば、診断処理を実行して診断情報を記録するマイクロコンピュータが異常な場合、マイクロコンピュータから外部装置に処理要求に対する応答が送信されない。これにより、外部装置からの処理要求に対して異常な電子制御装置から外部装置が受信して取得する応答に基づいて、不適切な処理が実行されることを抑制できる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の車両制御システムを示すブロック図。
【図２】通信制御処理を示すフローチャート。
【図３】マイクロコンピュータの内部での異常検出処理を示すフローチャート。
【図４】マイクロコンピュータの外部での異常検出処理を示すフローチャート。
【図５】第２実施形態の通信制御処理を示すフローチャート。
【図６】第３実施形態の通信制御処理を示すフローチャート。
【図７】第４実施形態の通信制御処理を示すフローチャート。
【図８】他の電子制御装置でのＤＴＣ記憶処理を示すフローチャート。
【図９】他の電子制御装置でのランプ点灯処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す車両制御システム２は、エンジンＥＣＵ１０とブレーキＥＣＵ４０とメータＥＣＵ４２とを備えている。車両制御システム２は、図１に図示したＥＣＵ以外にも種々のＥＣＵを備えている。ＥＣＵは電子制御装置の略である。エンジンＥＣＵ１０とブレーキＥＣＵ４０とメータＥＣＵ４２とスキャンツール６０とは、互いにＣＡＮで通信可能に接続される。ＣＡＮは、Controller Area Networkの略である。スキャンツール６０は、整備工場等でコネクタ５０を介して各ＥＣＵに接続される。
【００１２】
エンジンＥＣＵ１０は、車両が走行する駆動源であるエンジンの出力トルクを制御する。ブレーキＥＣＵ４０は、車両に制動力を働かせる制動装置を制御する。メータＥＣＵ４２は、フロントパネルに設置された各種メータ、ランプ等の表示を制御する。
【００１３】
スキャンツール６０は、エンジンＥＣＵ１０、ブレーキＥＣＵ４０、メータＥＣＵ４２に対し、各ＥＣＵがＯＢＤで診断処理を実行した結果を表すＤＴＣの読み出し等の処理要求を送信し、処理要求に対する応答を該当するＥＣＵから受信して取得する。
【００１４】
エンジンＥＣＵ１０、ブレーキＥＣＵ４０、メータＥＣＵ４２のそれぞれの構成は実質的に同一であるから、エンジンＥＣＵ１０を例にして構成を説明する。
エンジンＥＣＵ１０は、マイクロコンピュータ２０とＡＳＩＣ３０とを備えている。以下、マイクロコンピュータをマイコンとも言う。ＡＳＩＣは、Application Specific Integrated Circuitの略である。エンジンＥＣＵ１０は１つのマイコン２０を備えてもよいし、複数のマイコン２０を備えてもよい。
【００１５】
マイコン２０は、ＣＰＵ２２とＲＡＭ２４とＲＯＭ２６と内部異常検出部２８とを備えている。マイコン２０は、車載の各種のセンサ、アクチュエータなどに何らかの異常が発生しているか否かを診断する診断処理を実行し、何らかの異常が発生すると、フラッシュメモリ等の図示しない書き換え可能な不揮発性のメモリに異常に対応するＤＴＣを記録する。
【００１６】
内部異常検出部２８は、例えば、ＣＰＵ２２が実行する車両制御処理と同じ処理を実行し、ＣＰＵ２２の実行結果と内部異常検出部２８の実行結果とが不一致の場合、マイコン２０の異常と判定する。
【００１７】
ＡＳＩＣ３０は、ＣＡＮドライバ３２と外部異常検出部３４とを備えている。つまり、ＣＡＮドライバ３２と外部異常検出部３４とは１つのＩＣで構成されている。ＣＡＮドライバ３２は、マイコン２０と、エンジンＥＣＵ１０の外部の装置として、ブレーキＥＣＵ４０とメータＥＣＵ４２とスキャンツール６０とを通信可能に接続する。
【００１８】
外部異常検出部３４は、マイコン２０の内部異常検出部２８の異常検出結果と内部異常検出部２８との通信状態とに基づいてマイコン２０に異常が発生していることを検出すると、ＣＡＮドライバ３２を制御して、マイコン２０からスキャンツール６０に処理要求に対する応答が送信されないようにする。
【００１９】
［１−２．処理］
（１）通信制御処理
外部異常検出部３４が実行する通信制御処理について、図２のフローチャートに基づいて説明する。図２のフローチャートは、所定時間間隔で常時実行される。
【００２０】
Ｓ４００において外部異常検出部３４は、ＣＡＮドライバ３２から通信状態を取得し、スキャンツール６０から特定ＤＴＣの読み出し要求を受信したか否かを判定する。尚、特定ＤＴＣは、例えばＤＴＣのうち、車検で車両の保安基準を満たさない不具合が発生したことを表すＤＴＣとして提案されている。
【００２１】
外部異常検出部３４は、スキャンツール６０から特定ＤＴＣの読み出し要求を受信したことを、ＣＡＮフレームのＣＡＮＩＤがスキャンツール６０を表しており、ＣＡＮフレームのデータフィールドで特定ＤＴＣの読み出し要求であることが示されていることにより判定する。
【００２２】
Ｓ４００の判定がＮｏである、つまりスキャンツール６０から特定ＤＴＣの読み出し要求を受信していない場合、本処理は終了する。
Ｓ４００の判定がＹｅｓである、つまりＣＡＮドライバ３２がスキャンツール６０から特定ＤＴＣの読み出し要求を受信した場合、Ｓ４０２において外部異常検出部３４は、マイコン２０との通信が異常であるか否か、つまり内部異常検出部２８との通信が異常であるか否かを判定する。Ｓ４０２の判定がＹｅｓである、つまりマイコン２０との通信が異常である場合、処理はＳ４０８に移行する。
【００２３】
Ｓ４０２の判定がＮｏである、つまりマイコン２０との通信が正常である場合、Ｓ４０４において外部異常検出部３４は、マイコン２０から異常が通知されたか否か、つまり内部異常検出部２８からマイコン２０の異常が通知されたか否かを判定する。Ｓ４０４の判定がＹｅｓである、つまりマイコン２０から異常が通知された場合、処理はＳ４０８に移行する。
【００２４】
Ｓ４０４の判定がＮｏである、つまりマイコン２０と外部異常検出部３４との通信は正常であり、マイコン２０から異常が通知されていない場合、Ｓ４０６において外部異常検出部３４は、マイコン２０は正常であると判断し、スキャンツール６０からの特定ＤＴＣの読み出し要求をＣＡＮドライバ３２からマイコン２０に送信させる。
【００２５】
スキャンツール６０からの特定ＤＴＣの読み出し要求を受信すると、マイコン２０は、記録している特定ＤＴＣをＣＡＮドライバ３２からスキャンツール６０に送信するので、スキャンツール６０は、エンジンＥＣＵ１０から特定ＤＴＣを取得できる。
【００２６】
Ｓ４０８において外部異常検出部３４は、マイコン２０の内部異常検出部２８と外部異常検出部３４との通信が異常であるか、内部異常検出部２８からマイコン２０の異常を通知される、つまりマイコン２０が異常の場合、マイコン２０から適切な特定ＤＴＣをスキャンツール６０に送信できないと判断する。この場合、外部異常検出部３４は、ＣＡＮドライバ３２を制御して、スキャンツール６０からの特定ＤＴＣの読み出し要求をマイコン２０に送信しない。
【００２７】
この場合、マイコン２０は、スキャンツール６０からの特定ＤＴＣの読み出し要求に応答しない。
（２）内部異常検出処理
外部異常検出部３４が図２のＳ４０４においてマイコン２０が異常であるか否かを判定する根拠となる内部異常検出部２８による異常検出処理について、図３のフローチャートに基づいて説明する。図３のフローチャートは、所定時間間隔で常時実行される。
【００２８】
Ｓ４１０において内部異常検出部２８は、例えばＣＰＵ２２による車両制御処理の実行結果と内部異常検出部２８による車両制御処理の実行結果とを比較し、ＣＰＵ２２が正常に作動しているか否かを判定する。
【００２９】
Ｓ４１０の判定がＮｏである、つまりＣＰＵ２２が正常に作動していない場合、処理はＳ４１８に移行する。
Ｓ４１０の判定がＹｅｓである、つまりＣＰＵ２２が正常に作動している場合、内部異常検出部２８は、Ｓ４１２と４１４とにおいてそれぞれＲＯＭ２６とＲＡＭ２４とに対するメモリ診断を実行し、ＲＡＭ２４およびＲＯＭ２６の両方に対するメモリ診断が正常であるか否かを判定する。メモリ診断には種々の公知技術が存在するので、詳細については省略する
Ｓ４１２またはＳ４１４の判定がＮｏである、つまりＲＡＭ２４またはＲＯＭ２６のいずれかのメモリ診断の結果が異常の場合、処理はＳ４１８に移行する。
【００３０】
Ｓ４１２およびＳ４１４の両方の判定がＹｅｓである、つまりＲＡＭ２４とＲＯＭ２６との両方に対するメモリ診断の結果が正常の場合、Ｓ４１６において内部異常検出部２８は、マイコン２０が正常であることを外部異常検出部３４に送信する。
【００３１】
Ｓ４１０またはＳ４１２またはＳ４１４のいずれかの判定がＮｏである、つまりマイコン２０に何らかの異常が発生している場合、Ｓ４１８において内部異常検出部２８は、マイコン２０が異常であることを外部異常検出部３４に送信する。
【００３２】
（３）外部異常検出処理
外部異常検出部３４が、図２のＳ４０２とＳ４０４とにおいて判定する根拠となる異常検出処理について、図４のフローチャートに基づいて説明する。図４のフローチャートは、所定時間間隔で常時実行される。
【００３３】
Ｓ４２０において外部異常検出部３４は、マイコン２０の内部異常検出部２８からマイコン２０に対する異常検出結果を受信したか否かを判定する。Ｓ４２０の判定がＹｅｓである、つまり内部異常検出部２８からマイコン２０に対する異常検出結果を受信した場合、処理はＳ４２４に移行する。
【００３４】
Ｓ４２０の判定がＮｏである、つまり内部異常検出部２８からマイコン２０に対する異常検出結果を受信していない場合、Ｓ４２２において外部異常検出部３４は、内部異常検出部２８から異常検出結果を受信していない状態が所定時間経過したか否かを判定する。
【００３５】
Ｓ４２２の判定がＮｏである、つまり内部異常検出部２８から異常検出結果を受信していない状態が所定時間経過していない場合、処理はＳ４２０に移行する。Ｓ４２２の判定がＹｅｓである、つまり内部異常検出部２８から異常検出結果を受信していない状態が所定時間経過した場合、処理はＳ４３０に移行する。
【００３６】
Ｓ４２４において外部異常検出部３４は、内部異常検出部２８からマイコン２０が正常であることを表す異常検出結果を受信したか否かを判定する。Ｓ４２４の判定がＹｅｓである、つまり内部異常検出部２８からマイコン２０が正常であることを表す異常検出結果を受信した場合、処理はＳ４２８に移行する。
【００３７】
Ｓ４２４の判定がＮｏである、つまり内部異常検出部２８からマイコン２０が異常であることを表す異常検出結果を受信した場合、４２６において外部異常検出部３４は、初回に内部異常検出部２８からマイコン２０が異常であることを表す異常検出結果を受信してから受信する異常検出結果が異常である状態が所定時間継続しているか否かを判定する。
【００３８】
Ｓ４２６の判定がＮｏである、つまり受信する異常検出結果が異常である状態が所定時間継続していない場合、処理はＳ４２０に移行する。
Ｓ４２６の判定がＹｅｓである、つまりの受信する異常検出結果が異常である状態が所定時間継続している場合、処理はＳ４３０に移行する。
【００３９】
Ｓ４２８において外部異常検出部３４は、マイコン２０は正常であると判断する。Ｓ４２８の判断に基づいて、外部異常検出部３４は、図２のＳ４０２とＳ４０４とにおいて、Ｎｏと判定する。
【００４０】
Ｓ４３０において外部異常検出部３４は、マイコン２０は異常であると判断する。Ｓ４３０の判断に基づいて、外部異常検出部３４は、図２のＳ４０２またはＳ４０４において、Ｙｅｓと判定する。
【００４１】
［１−３．効果］
上記第１実施形態では、外部異常検出部３４は、マイコン２０の内部異常検出部２８との通信異常またはマイコン２０から異常が通知されると、スキャンツール６０からエンジンＥＣＵ１０に対して処理要求として特定ＤＴＣの読み出し要求があっても、特定ＤＴＣの読み出し要求をマイコン２０に送信しない。
【００４２】
これにより、外部異常検出部３４は、マイコン２０からスキャンツール６０に特定ＤＴＣの読み出し要求に対する応答が送信されないようにしている。その結果、第１実施形態では、以下の効果を得ることができる。
【００４３】
（１ａ）異常なエンジンＥＣＵ１０から不適切な特定ＤＴＣをスキャンツール６０が取得しないので、スキャンツール６０が取得した不適切な特定ＤＴＣに基づいて、不適切な処理が実行されることを抑制できる。
【００４４】
上記第１実施形態において、スキャンツール６０が外部装置に対応し、エンジンＥＣＵ１０が電子制御装置に対応し、ＣＡＮドライバ３２が通信部に対応する。
【００４５】
また、Ｓ４００〜Ｓ４０８、Ｓ４２０〜Ｓ４３０が外部異常検出部の処理に対応し、Ｓ４１０〜Ｓ４１８がマイコン２０の処理に対応する。
［２．第２実施形態］
［２−１．第１実施形態との相違点］
第２実施形態の第１実施形態との相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００４６】
外部異常検出部３４が実行する通信制御処理について、図５のフローチャートに基づいて説明する。図５のフローチャートは、所定時間間隔で常時実行される。図５のフローチャートでは、スキャンツール６０からエンジンＥＣＵ１０に送信される処理要求は、特定ＤＴＣの読み出し要求に限られていない点で第１実施形態と相違する。
【００４７】
Ｓ４４０とＳ４４２の処理は、図２のＳ４０２とＳ４０４の処理と実質的に同一であるから説明を省略する。
Ｓ４４０とＳ４４２の両方の判定がＮｏである、つまり外部異常検出部３４とマイコン２０の内部異常検出部２８との通信が正常であり、マイコン２０から異常が通知されていない場合、Ｓ４４４において外部異常検出部３４は、ＣＡＮドライバ３２を制御してスキャンツール６０とマイコン２０との通信を許可する、
【００４８】
この場合、特定ＤＴＣの読み出し要求を含むすべての処理要求が、ＣＡＮドライバ３２を介してスキャンツール６０からマイコン２０に送信され、処理要求に対するマイコン２０の応答がＣＡＮドライバ３２からスキャンツール６０に送信される。
【００４９】
Ｓ４４０またはＳ４４２のいずれかの判定がＹｅｓＳである、つまり外部異常検出部３４とマイコン２０の内部異常検出部２８との通信が異常であるか、あるいはマイコン２０から異常が通知されている場合、Ｓ４４６において外部異常検出部３４は、ＣＡＮドライバ３２を制御してスキャンツール６０とマイコン２０との通信を遮断する。
【００５０】
この場合、特定ＤＴＣの読み出し要求を含むすべての処理要求は、ＣＡＮドライバ３２からマイコン２０に送信されない。
［２−２．効果］
第２実施形態では、第１実施形態の効果（１ａ）に加え、以下の効果を得ることができる。
【００５１】
（２ａ）特定ＤＴＣの読み出し要求に限らず、スキャンツール６０の処理要求に対し、異常なエンジンＥＣＵ１０から不適切な応答がスキャンツール６０に送信されない。したがって、スキャンツール６０がエンジンＥＣＵ１０から受信して取得する不適切な応答に基づいて、誤った処理が実行されることを抑制できる。
【００５２】
上記第２実施形態では、Ｓ４４０〜Ｓ４４６が外部異常検出部３４の処理に対応する。
［３．第３実施形態］
［３−１．第１実施形態との相違点］
第３実施形態の第１実施形態との相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００５３】
外部異常検出部３４が実行する通信制御処理について、図６のフローチャートに基づいて説明する。図６のフローチャートは、所定時間間隔で常時実行される。図６のフローチャートでは、マイコン２０が正常または異常のいずれであっても、スキャンツール６０からマイコン２０に特定ＤＴＣの読み出し要求が送信される。
【００５４】
一方、マイコン２０が正常の場合は、特定ＤＴＣの読み出し要求の応答として、マイコン２０からスキャンツール６０に特定ＤＴＣが送信される。マイコン２０が異常の場合は、特定ＤＴＣの読み出し要求に対して、マイコン２０からの応答をスキャンツール６０に送信しない。
【００５５】
Ｓ４５０とＳ４５８とＳ４６０の処理は、図２のＳ４００〜Ｓ４０４の処理と実質的に同一であるから説明を省略する。
Ｓ４５０の判定がＹｅｓであり、さらにＳ４５４の判定がＹｅｓであり、Ｓ４５８とＳ４６０の両方の判定がＮｏである、つまりスキャンツール６０からの特定ＤＴＣの読み出し要求に対してＣＡＮドライバ３２がマイコン２０から応答を受信し、さらに外部異常検出部３４とマイコン２０の内部異常検出部２８との通信が正常であり、マイコン２０から異常が通知されていない場合、処理はＳ４６２に移行する。
【００５６】
Ｓ４５０の判定がＹｅｓであり、Ｓ４５４の判定がＮｏである、つまりＣＡＮドライバ３２がスキャンツール６０から受信した特定ＤＴＣの読み出し要求をマイコン２０に送信しても、ＣＡＮドライバ３２がマイコン２０からの応答を受信していない場合、Ｓ４５６において外部異常検出部３４は、ＣＡＮドライバ３２がマイコン２０からの応答を受信していない時間が所定時間経過しているか否かを判定する。
【００５７】
Ｓ４５６の判定がＹｅｓである、つまりＣＡＮドライバ３２がマイコン２０からの応答を受信していない時間が所定時間経過している場合、外部異常検出部３４はマイコン２０のＣＰＵ２２の通信異常であると判断し、処理をＳ４６４に移行する。Ｓ４５６の判定がＮｏの場合、処理はＳ４５４に移行する。
【００５８】
Ｓ４５０とＳ４５４の判定がＹｅｓであり、さらにＳ４５６またはＳ４５８のいずれかの判定がＹｅｓである、つまり特定ＤＴＣの読み出し要求に対してＣＡＮドライバ３２がマイコン２０から応答を受信しているが、外部異常検出部３４とマイコン２０の内部異常検出部２８との通信が異常か、あるいはマイコン２０から異常が通知されている場合、処理はＳ４６４に移行する。
【００５９】
Ｓ４６２において外部異常検出部３４は、特定ＤＴＣの読み出し要求に対する応答としてマイコン２０からＣＡＮドライバ３２に送信される特定ＤＴＣを、ＣＡＮドライバ３２からスキャンツール６０に送信する。
【００６０】
Ｓ４６４において外部異常検出部３４は、特定ＤＴＣの読み出し要求に対する応答としてマイコン２０からＣＡＮドライバ３２に特定ＤＴＣが送信されても、ＣＡＮドライバ３２を制御してＣＡＮドライバ３２からスキャンツール６０に特定ＤＴＣを送信しない。
【００６１】
［３−２．効果］
第３実施形態では、外部異常検出部３４は、マイコン２０のＣＰＵ２２または内部異常検出部２８との通信が異常であるか、あるいはマイコン２０から異常が通知されると、スキャンツール６０からエンジンＥＣＵ１０に対する特定ＤＴＣの読み出し要求に対して、スキャンツール６０にマイコン２０の応答を送信しない。
【００６２】
これにより、第３実施形態では、第１実施形態の効果（１ａ）と実質的に同じ効果を得ることができる。
上記第３実施形態において、Ｓ４５０〜Ｓ４６４が外部異常検出部の処理に対応する。
【００６３】
［４．第４実施形態］
［４−１．第１実施形態との相違点］
第４実施形態の第１実施形態との相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００６４】
［４−２．処理］
（１）通信制御処理
外部異常検出部３４が実行する通信制御処理について、図７のフローチャートに基づいて説明する。図７のフローチャートは、所定時間間隔で常時実行される。図７のフローチャートでは、マイコン２０が異常の場合、スキャンツール６０からの特定ＤＴＣの読み出し要求をマイコン２０に送信しないことに加え、エンジンＥＣＵ１０が異常であることをブレーキＥＣＵ４０に送信し、ランプをメータＥＣＵ４２に点灯させる。
【００６５】
図７のフローチャートにおいて、Ｓ４７０〜Ｓ４７８の処理は、図２のＳ４００〜Ｓ４０８の処理と実質的に同一であるから説明を省略する。
Ｓ４７２またはＳ４７４のいずれかの判定がＹｅｓである、つまり外部異常検出部３４とマイコン２０の内部異常検出部２８との通信が異常か、あるいはマイコン２０から異常が通知されている場合、Ｓ４７８の処理を実行後、処理はＳ４８０に移行する。
【００６６】
Ｓ４８０において外部異常検出部３４は、ＣＡＮドライバ３２を制御して、エンジンＥＣＵ１０が異常であることを示す診断コードを記録する通知をブレーキＥＣＵ４０に送信する。
【００６７】
Ｓ４８２において外部異常検出部３４は、ＣＡＮドライバ３２を制御して、ランプを点灯するようにメータＥＣＵ４２に通知する。
（２）ブレーキＥＣＵ４０の処理
エンジンＥＣＵ１０が異常であることを示す診断コードを記録する通知をエンジンＥＣＵ１０から受信したときのブレーキＥＣＵ４０の処理を、図８のフローチャートに基づいて説明する。図８のフローチャートは、所定時間間隔で常時実行される。
【００６８】
Ｓ４９０の判定がＮｏである、つまりエンジンＥＣＵ１０が異常であることを示すＤＴＣを記録する通知をエンジンＥＣＵ１０から受信していない場合、本処理は終了する。
Ｓ４９０の判定がＹｅｓである、つまりエンジンＥＣＵ１０が異常であることを示すＤＴＣを記録する通知をエンジンＥＣＵ１０から受信すると、Ｓ４９２においてブレーキＥＣＵ４０は、エンジンＥＣＵ１０が異常であることを示すＤＴＣを、例えばフラッシュメモリ等の書き換え可能な不揮発性のメモリに記録する。
【００６９】
（３）メータＥＣＵ４２の処理
エンジンＥＣＵ１０からランプを点灯する通知を受信したときのメータＥＣＵ４２の処理を、図９のフローチャートに基づいて説明する。図９のフローチャートは、所定時間間隔で常時実行される。
【００７０】
Ｓ５００の判定がＮｏである、つまりエンジンＥＣＵ１０からランプを点灯する通知を受信していない場合、本処理は終了する。
Ｓ５００の判定がＹｅｓである、つまりエンジンＥＣＵ１０からランプを点灯する通知を受信すると、Ｓ５０２においてメータＥＣＵ４２は、ランプを点灯する。
［４−３．効果］
第４実施形態では、第１実施形態の効果（１ａ）に加え、以下の効果を得ることができる。
【００７１】
（４ａ）作業員は、スキャンツール６０からエンジンＥＣＵ１０への特定ＤＴＣの読み出し要求に対し、エンジンＥＣＵ１０から応答がなく、ランプが点灯していることを認識する。この場合、作業員がスキャンツール６０を操作して他のＥＣＵにＤＴＣの読み出し要求を送信することにより、ブレーキＥＣＵ４０からエンジンＥＣＵ１０が異常であることを示すＤＴＣを読み出せる。
【００７２】
これにより、作業員は、スキャンツール６０からエンジンＥＣＵ１０への特定ＤＴＣの読み出し要求に対し、エンジンＥＣＵ１０から応答がなく、ランプが点灯している原因がエンジンＥＣＵ１０の異常であると判断できる。
【００７３】
上記第４実施形態において、ブレーキＥＣＵ４０、メータＥＣＵ４２が他の電子制御装置に対応する。
また、Ｓ４７０〜Ｓ４８２が外部異常検出部の処理に対応する。
［５．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００７４】
（１）上記実施形態では、外部異常検出部３４は、スキャンツール６０からの処理要求が特定ＤＴＣの読み出し要求であることを、ＣＡＮフレームのデータフィールにより判定した。これに対し、外部異常検出部３４は、ＣＡＮフレームのＣＡＮＩＤがスキャンツール６０を表している場合、スキャンツール６０からの特定ＤＴＣの読み出し要求であると判定してもよい。
【００７５】
（２）第３実施形態において、マイコン２０が異常の場合、図６のＳ４６４において外部異常検出部３４は、ＣＡＮドライバ３２を制御して、スキャンツール６０にマイコン２０の応答を送信しない代わりに、エンジンＥＣＵ１０が異常であることをスキャンツール６０に送信してもよい。
【００７６】
（３）スキャンツール６０が特定ＤＴＣの読み出し要求を含む処理要求を送信するのはエンジンＥＣＵ１０に限るものではなく、図１に図示したブレーキＥＣＵ４０、メータＥＣＵ４２、またはその他のＥＣＵでもよい。
【００７７】
（４）本開示に記載のエンジンＥＣＵ１０およびその手法は、コンピュータプログラムにより具体化された１つまたは複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のエンジンＥＣＵ１０およびその手法は、１つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のエンジンＥＣＵ１０およびその手法は、１つまたは複数の機能を実行するようにプログラムされたプロセッサおよびメモリと１つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された１つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータが読み取り可能な非遷移有形記録媒体に記憶されてもよい。エンジンＥＣＵ１０に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、１つあるいは複数のハードウェアを用いて実現されてもよい。
【００７８】
（５）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
【００７９】
（６）上述したエンジンＥＣＵ１０の他、当該エンジンＥＣＵ１０を構成要素とするシステム、当該エンジンＥＣＵ１０としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、電子制御方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００８０】
１０：エンジンＥＣＵ（電子制御装置）、２０：マイクロコンピュータ、３２：ＣＡＮドライバ（通信部）、３４：外部異常検出部、４０：ブレーキＥＣＵ（他の電子制御装置）、４２：メータＥＣＵ（他の電子制御装置）、６０：スキャンツール（外部装置）
【図１】
2020093707.tif 000003
【図２】
2020093707.tif 000004
【図３】
2020093707.tif 000005
【図４】
2020093707.tif 000006
【図５】
2020093707.tif 000007
【図６】
2020093707.tif 000008
【図７】
2020093707.tif 000009
【図８】
2020093707.tif 000010
【図９】
2020093707.tif 000011