(57)【要約】【課題】コストを極力上昇させることなくＣＰＵの異常発生時に通信を停止できる電子制御装置を提供する。【解決手段】シフトバイワイヤシステムを構成するＳＣＵ２は、ＣＰＵ５の内部機能として、外部装置と通信を行うＣＡＮ通信部１３と、ＣＰＵ５が異常か否かを診断する診断プログラムを実行するＣＰＵ異常診断ロジック部１６及び送信処理関数アドレス生成部１７を備え、これらは、診断結果が異常であればＣＡＮ通信部１３による通信を停止させる。【選択図】図１
2019093839.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（５）の内部機能として実現されるもので、
外部装置と通信を行う通信部（１３）と、
前記ＣＰＵが異常か否かを診断する診断プログラムを実行する異常診断部（１６，１７）とを備え、
前記異常診断部は、前記診断結果が異常であれば、前記通信部による通信を停止させる電子制御装置。
【請求項２】
前記異常診断部は、前記診断結果が異常であれば、前記通信部による特定のデータ送信のみを停止させる請求項１記載の電子制御装置。
【請求項３】
前記診断プログラムは、前記ＣＰＵが実行する複数の命令を使用し、各命令毎に独立した演算を実行することで送信処理を行う関数のアドレス生成し、前記アドレスが所期値を示さなければ異常と診断する処理をメインプログラムとする請求項１又は２記載の電子制御装置。
【請求項４】
前記メインプログラムは、前記通信部により特定のデータ送信を行う際に前記ＣＰＵが実行する複数の命令を使用し、各命令毎に独立した演算を実行することで送信処理を行う関数のアドレス生成し、前記アドレスが所期値を示さなければ異常と診断する請求項３記載の電子制御装置。
【請求項５】
前記メインプログラムは、各命令毎に独立した演算の実行結果の値を順次累積させ、最終的な累積値が前記アドレスの値に一致するか否かを判断する請求項３又は４記載の電子制御装置。
【請求項６】
前記診断プログラムは、前記ＣＰＵが実行する複数の命令を使用し、各命令毎に独立した演算を実行することで得られた値が所期値に一致しなければ異常と診断する処理をサブプログラムとする請求項３から５の何れか一項に記載の電子制御装置。
【請求項７】
前記診断プログラムは、前記通信部により特定のデータ送信を行う際に前記ＣＰＵが実行する複数の命令を使用し、各命令毎に独立した演算を実行することで得られた値が所期値に一致しなければ異常と診断する処理をサブプログラムとする請求項６記載の電子制御装置。
【請求項８】
前記サブプログラムは、各命令毎に独立した演算の実行結果の値を順次累積させ、最終的な累積値が所期値に一致するか否かを判断する請求項６又は７記載の電子制御装置。
【請求項９】
外部の制御対象機器に通電を行う経路に配置されるスイッチ（２４）と、
このスイッチのオンオフを制御する監視部（７）とを備え、
前記異常診断部は、前記診断結果を前記監視部に出力し、
前記監視部は、前記診断結果が異常であれば前記スイッチをオフにする請求項１から８の何れか一項に記載の電子制御装置。
【請求項１０】
シフトバイワイヤシステムに適用され、ドライバにより操作された車両のシフタ（１）の位置を前記外部装置（３）に送信する請求項１から９の何れか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵの内部機能として実現され、外部装置とＣＡＮにより通信を行うＣＡＮ通信部を備える電子制御装置に関する。
【背景技術】
【０００２】
従来、外部装置との間でＣＡＮにより通信を行うＥＣＵ（Electronic Control Unit）において、当該ＥＣＵを構成するマイクロコンピュータのＣＰＵに異常が発生した際に通信を停止する技術として、マイコンの外部にＣＰＵの異常を監視する監視ユニットを設け、監視ユニットにより通信の停止を行うものがある（特許文献１参照）。
【０００３】
これは、監視ユニットがマイコンからＣＰＵの異常診断に必要な情報を入力として受け取って診断を行い、ＣＰＵの異常を検知するとマイコンが使用するＣＡＮドライバの動作を停止させるか、又通信線を遮断するものである。通信が停止することで、通信先となる外部のＥＣＵは、通信元であるＥＣＵが異常状態になったことを検知できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５３３２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、ＣＰＵの異常を検知した監視ユニットが通信の停止を行うので、監視ユニットと外部からの入力により通信を停止する機能を持つＣＡＮドライバとを接続する構成、又はＣＡＮドライバを強制的に停止させたり通信線を遮断する外部機構を備え、それを監視ユニットで制御する必要がある。このような機能を持つＣＡＮドライバや停止用の外部機構をシステムに追加すれば、システム全体のコストを増加させてしまう。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、コストを極力上昇させることなくＣＰＵの異常発生時に通信を停止できる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載の電子制御装置によれば、ＣＰＵの内部機能として、外部装置と通信を行う通信部と、ＣＰＵが異常か否かを診断する診断プログラムを実行する異常診断部とを備え、異常診断部は、診断結果が異常であれば通信部による通信を停止させる。このように構成すれば、ＣＰＵに外部機構を付加することなく内部機能によって自己診断を行い、その診断の結果が異常であれば通信を停止させるので、コストの上昇を抑制できる。
【０００８】
請求項２記載の電子制御装置によれば、異常診断部は、診断結果が異常であれば通信部による特定のデータ送信のみを停止させる。このように構成すれば、データの受信や、異常値となった場合のリスクが低いデータの送信等は継続することが可能になる。
【０００９】
請求項３記載の電子制御装置によれば、診断プログラムは、ＣＰＵが実行する複数の命令を使用し、各命令毎に独立した演算を実行することで送信処理を行う関数のアドレスを生成する。そして、生成したアドレスが所期値を示さなければ異常と診断する処理をメインプログラムとする。このように構成すれば、ＣＰＵに異常があれば生成されたアドレスの値が所期と異なるため、送信処理を行う関数がコールされず送信は実行されない。したがって、異常が発生した際に送信を確実に中止できる。
【００１０】
請求項４記載の電子制御装置によれば、メインプログラムは、通信部により特定のデータ送信を行う際にＣＰＵが実行する複数の命令を使用し、各命令毎に独立した演算を実行することで送信処理を行う関数のアドレスを生成する。そして、生成されたアドレスが所期値を示さなければ異常と診断する。このように構成すれば、送信処理に使用される命令が正常に実行されるか否かにより、異常診断を効率的に行うことができる。
【００１１】
請求項５記載の電子制御装置によれば、メインプログラムは、各命令毎に独立した演算の実行結果の値を順次累積させ、最終的な累積値が前記アドレスの値に一致するか否かを判断する。このように構成すれば、異常診断を簡単に行うことができ、累積値を関数をコールするアドレスの即値にすることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態であり、シフトバイワイヤシステムの構成を示す機能ブロック図
【図２】ＳＣＵによる処理内容を示すフローチャート
【図３】ＣＰＵ診断の内容を示すフローチャート
【図４】ＩＮＳＴ診断の内容を示すフローチャート
【図５】送信関数アドレス生成処理の内容を示すフローチャート
【図６】診断プログラムの一具体例を示す図
【図７】ダイアグサービスツールによるサービス要求が発生した場合の処理内容を示すフローチャート
【図８】各構成部間の処理を示すシーケンス図（正常時）
【図９】各構成部間の処理を示すシーケンス図（異常発生時）
【図１０】ダイアグサービスツールによるサービス要求が発生した場合の処理を示すシーケンス図
【発明を実施するための形態】
【００１３】
以下、一実施形態について図面を参照して説明する。図１に示すシフトバイワイヤ（ＳＢＷ）システムは、車両のシフタ１がドライバにより操作され、シフタ位置が例えば「Ｐ」から「Ｄ」に切り替えられたとする。ＳＣＵ（Sift Control Unit）２は、そのシフタ位置を判定し、ＣＡＮ通信によりＴＣＵ（Transmission Control Unit）３に送信する。ＴＣＵ３が、受信した位置「Ｄ」に応じてＳＣＵ２に要求レンジを送信すると、ＳＣＵ２はＡＣＴ（Actuator）４に、車両をロック状態「Ｐ」とアンロック状態「ｎｏｔＰ」とに切り替えさせるための制御信号として駆動電流を出力する。ＴＣＵ３は外部装置に相当する。また、ＡＣＴ４は制御対象機器に相当する。
【００１４】
ＡＣＴ４が「Ｐ」から「ｎｏｔＰ」に切り替えを行うと、そのステータス「ｎｏｔＰ」の情報が、図示しないポジションセンサ及び信号線を介してＴＣＵ３に送信される。ＴＣＵ３は、上記ステータスを確認した上で、前記シフタ位置に応じて車両のトランスミッションを「Ｄ」モードに変更し、現在のシフタ１のレンジが「Ｄ」であることをＳＣＵ２に伝達する。
【００１５】
ＳＣＵ２は、ＣＰＵ５，ＣＡＮドライバ６及び監視部７を備えている。シフタ１の操作が行われると、ＣＰＵ５はシフタ位置送信判定部１１においてシフタ位置を判定する。そのシフタ位置は、シフタ位置送信判定部１２を介してＣＡＮ通信部１３に出力される。シフタ位置送信判定部１２は、正常判定部１４及び関数コール部１５を備えている。スイッチのシンボルで表されているこれらは、シフタ位置をＣＡＮ通信部１３に出力する経路にシリアルに配置されており、ＣＰＵ５が自己診断を行った結果として異常が検出されると、シフタ位置の送信を停止させる機能を有する。
【００１６】
ＣＰＵ５は、自己診断を行う機能部として、ＣＰＵ異常診断ロジック部１６及び送信処理関数アドレス生成部１７を備えている。ＣＰＵ異常診断ロジック部１６は、ＲＡＭ診断部１８，ＲＯＭ診断部１９，ＦＬＯＷ診断部２０，ＩＮＳＴ診断部２１及び入出力部２２を備えている。ＲＡＭ診断部１８は、ＲＡＭに対するデータの書込み及び読み出しが正常に行われるか否かを診断する。ＲＯＭ診断部１９は、例えばＲＯＭに記憶されている制御プログラムやデータを読み出して累積加算したＳＵＭ値が、所期の値に一致するか否かによりＲＯＭを診断する。
【００１７】
ＦＬＯＷ診断部２０は、ＣＰＵ５が実行すべきプログラムが、所定の順序で実行されているか否かを診断する。ＩＮＳＴ診断部２１は、詳細は後述するように、ＣＰＵ５の命令セットとして用意されている複数の命令を使用し、所定の演算を行うことで異常診断を行う。入出力部２２には、上記の各診断部１７〜２０の診断結果が入力され、それらの結果のうち１つでも「異常」があると、正常判定部１４によりシフタ位置の送信経路を遮断する。
【００１８】
送信処理関数アドレス生成部１７は、例えばＩＮＳＴ診断部２１と同様の演算を行うことで、シフタ位置をＴＣＵ３に送信する処理を実行する関数をコールするためのアドレスを生成する。演算が正常に実行されることで上記アドレスが正しく生成されると、関数コール部１５において上記関数がコールされ、シフタ位置がＣＡＮ通信部１３に転送される。上記アドレスが正しく生成されなければ関数はコールされず、シフタ位置は転送されない。
【００１９】
ＣＡＮ通信部１３は、送信処理部１３Ｓ及び受信処理部１３Ｒを備えている。送信処理部１３Ｓは、判定部１１を介して受信したシフタ位置データをＣＡＮドライバ６に入力する。ＣＡＮドライバ６は、そのシフタ位置データをＣＡＮバス８を介してＴＣＵ３に送信する。また、ＣＡＮドライバ６は、シフタ位置データに応じた要求レンジを受信処理部１３Ｒを介してＰ／ｎｏｔＰ切替部２３に出力する。Ｐ／ｎｏｔＰ切替部２３は、ＡＣＴ４に車両のロック，アンロックを切り替えさせるための駆動電流を、常閉型のリレー２４を介して出力する。リレー２４はスイッチに相当する。
【００２０】
ＣＡＮバス８には、その他にダイアグサービスツール９が接続されている。ダイアグサービスツール９は、ＳＣＵ２に対して故障情報を読み出すためのサービス要求を送信する。サービス要求は、ＣＡＮ通信部１３の受信処理部１３Ｒを介してＳＣＵ２のダイアグサービス部２５に入力される。ダイアグサービス部２５は、そのサービス要求に応じた故障情報をサービス応答データとして、送信処理部１３Ｓを介してダイアグサービスツール９に送信する。
【００２１】
送信処理関数アドレス生成部１７における診断結果も、ＣＰＵ異常診断ロジック部１６の入出力部２２に入力される。入出力部２２は、各診断部１８〜２１又は送信処理関数アドレス生成部１７の診断結果を、シリアル通信部２６を介して監視部７に送信する。監視部７は、リレー２４の開閉を制御するもので、受信した診断結果に「異常」があれば、リレー２４を「開」にしてＡＣＴ４の駆動を禁止する。送信処理関数アドレス生成部１７及びＩＮＳＴ診断部２１は、異常診断部に相当する。
【００２２】
次に、本実施形態の作用について説明する。図２に示すように、ＳＣＵ２のシフタ位置判定部１１は、シフタ位置を判定すると（Ｓ１）ＣＰＵ異常診断ロジック部１６においてＣＰＵ診断を実施する（Ｓ２）。すなわち、図３に示すように、各診断部１８〜２１がそれぞれの対象について診断を行い（Ｓ１１〜Ｓ１４）、全ての診断結果が正常であれば（Ｓ１５；ＹＥＳ）ＣＰＵ診断の結果は「正常」と判定し（Ｓ１６）、何れか１つの診断結果が異常であれば（Ｓ１５；ＮＯ）ＣＰＵ診断の結果は「異常」と判定する（Ｓ１７）。
【００２３】
再び図２を参照する。ステップＳ２に続いて、送信処理関数アドレス生成部１７において送信処理関数をコールするアドレスを算出する（Ｓ３）。そして、ステップＳ２におけるＣＰＵ診断の結果が「正常」であれば（Ｓ４；ＹＥＳ）、ステップＳ３で算出されたアドレスによって送信処理関数をコールする（Ｓ５）。前記アドレスが正常に算出されていれば（Ｓ６；ＹＥＳ）、送信処理関数がコールされてシフタ位置データがＣＡＮ通信により送信される（Ｓ７）。すなわちこの場合、シフタ位置送信判定部１２における正常判定部１４及び関数コール部１５は何れも、シフタ位置データを通過させてＣＡＮ通信部１３に入力する。
【００２４】
またこの場合、図８に示すように、ＳＣＵ２からＴＣＵ３にシフタ位置，例えば「Ｄ」が送信される。するとＴＣＵ３は、車両をアンロック状態にするため、ＳＣＵ２に対し要求レンジ「ｎｏｔＰ」を送信する。それを受けてＳＣＵ２は、ＡＣＴ４に制御信号「ｎｏｔＰ」を送信する。するとＡＣＴ４が駆動されて、レンジが「Ｐ」から「ｎｏｔＰ」に切り替わる。ＡＣＴ４は、車両がアンロック状態となり、ステータスが「ｎｏｔＰ」であることをＴＣＵ４に伝達する。ＴＣＵ４は、ステータスが「ｎｏｔＰ」であることを認識すると、車両のトランスミッションを「Ｄ」モードに変更し、ＳＣＵ２に現在のレンジが「Ｄ」であることを伝達する。
【００２５】
一方、ＣＰＵ診断の結果が「異常」であるか（Ｓ４；ＮＯ）、又は前記アドレスが正常に算出されていなければ（Ｓ６；ＮＯ）ステップＳ７をスキップして送信を行わない。すなわち、正常判定部１４又は関数コール部１の何れかが、シフタ位置データの通過を阻止する。続いて、診断結果を監視部７に送信する（Ｓ８）。監視部７は、診断結果が「異常」であれば（Ｓ９；ＮＯ）、リレー２４を開いてＡＣＴ４への通電経路を遮断する（Ｓ１０）。この場合、図９に示すように、シフタ位置がＴＣＵ４に伝達されなくなり、ＴＣＵ４は異常を検知する。そして、ＳＣＵ２に現在のレンジが「Ｐ」であることを伝達する。
【００２６】
次に、ステップＳ１４で実行する「ＩＮＳＴ診断」について説明する。図４に示すように、ここでは、シフタ位置の送信処理に使用する全ての命令を使用する（Ｓ２１〜Ｓ２５）。そして、それぞれの命令を使用した演算を実施すると（Ｓ２２）その演算結果をＳＵＭ値としてアキュムレータ等に格納し加算する（Ｓ２３）。そして、全ての命令を使用して演算を実行し終えると、最終的なＳＵＭ値が所期値に一致しており正常であれば（Ｓ２６；ＹＥＳ）、ＩＮＳＴ診断の結果は「正常」と判定する（Ｓ２７）。一方、最終的なＳＵＭ値が所期値に一致していなければ（Ｓ２６；ＮＯ）、ＩＮＳＴ診断の結果は「異常」と判定する（Ｓ２８）。このＩＮＳＴ診断を行うためのプログラムは、診断プログラム及びサブプログラムに相当する。
【００２７】
次に、ステップＳ３で実行する関数アドレスの算出について説明する。図５に示すように、「ＩＮＳＴ診断」と同様に、シフタ位置の送信処理に使用する全ての命令を使用し（Ｓ３１〜Ｓ３５）、それぞれの命令を使用した演算を実施すると（Ｓ３２）その演算結果をＳＵＭ値として累積加算する（Ｓ３３）。そして、全ての命令を使用して演算を実行し終えると、最終的なＳＵＭ値を送信処理関数アドレスとしてレジスタ等に格納する（Ｓ３６）。この関数アドレスを算出するためのプログラムは、診断プログラム及びメインプログラムに相当する。
【００２８】
次に、ＩＮＳＴ診断及び関数アドレス算出処理において行う演算の具体例について説明する。例えば図６に示すように、ＭＯＶ（データ転送命令），ＡＤＤ（加算命令），ＣＭＰ（比較命令）等を用いて以下のように演算を行う。
（１）レジスタＡに０ｘ５５を転送する。
（２）レジスタＡの値を０ｘ５５と比較する。
（３）その結果が一致していれば（４）レジスタＣの値をインクリメントし、一致していなければ当該処理を実行せずにスキップする。
（５）レジスタＡに０ｘ５５を転送する。
（６）レジスタＡの値を０ｘＡＡと比較する。
（７）その結果が一致していれば（８）レジスタＣの値をインクリメントし、一致していなければ当該処理を実行せずにスキップする。
（９）レジスタＡに０ｘ５５を転送する。
（１０）レジスタＢに０ｘ５６を転送する。
（１１）レジスタＡ，Ｂの値を比較する。
（１２）その結果が不一致であれば（１３）レジスタＣの値をインクリメントし、一致していれば当該処理を実行せずにスキップする。
【００２９】
ステップ（１３）まで各命令が正常に実行されれば、ＳＵＭ値であるレジスタＣの値は初期値が「０」であれば「３」になり、ＭＯＶ，ＡＤＤ，ＣＭＰの何れかの命令が正常に実行されなければレジスタＣの値は「２」以下となる。したがって、ステップＳ２６においてＳＵＭ値を「３」と比較することでＩＮＳＴ診断の結果を判定できる。
【００３０】
また、関数アドレスの算出については、仮に関数アドレスの算出結果の期待値を
０ｘＦＦＦＦとすると、レジスタＣの初期値を
０ｘＦＦＦＦ−０ｘ０００３＝０ｘＦＦＦＣ
のように期待値から「３」減じた値にすることで、演算に使用した全命令が正常のときに期待値の結果：０ｘＦＦＦＦが得られ、関数コール部１５において送信処理関数がコールされて送信処理が実行される。一方、何れかの命令が異常のときはそれ以外の結果：０ｘＦＦＦＣ〜０ｘＦＦＦＥが得られるので送信処理関数がコールされず、送信処理は実行されない。
【００３１】
上記の演算はＩＮＳＴ診断を行うため、又は関数アドレスの算出をするための一例である。演算を命令毎に細かく分割し、ＳＵＭ値を算出するような処理は目的の達成のためには必須ではない。重要な点は、各命令を使用して演算を行い、１命令でも演算を誤ると正しい結果が得られないような処理を行うことである。
【００３２】
また、演算では必ずしも全ての命令を使用する必要はない。本実施形態のＣＰＵ５の異常時にＣＡＮ送信を停止する処理は、誤ったシフタ位置信号を送信しないことで、意図しない車両動作を防止するために必要である。したがって、シフタ位置を判定してからＣＡＮ送信が行われるまでの間で使用される命令を演算の対象とすれば、要求は十分に満たされる。
【００３３】
次に、ダイアグサービス処理について説明する。図７及び図１０に示すように、ダイアグサービスツール９がＳＣＵ２に対してサービス要求を送信すると（Ｓ４１）ＣＡＮ通信部１３の受信処理部１３Ｒが、その供給を受信しダイアグサービス部２５に転送する（Ｓ４２）。ダイアグサービス部２５は、サービス要求に対する応答メッセージを生成する（Ｓ４３）。この時、「異常」が検知されていれば故障情報を応答メッセージに含めるようにする。そして、ダイアグサービス部２５は、ＣＡＮ通信部１３内の送信処理を行う関数をコールして（Ｓ４４）応答メッセージをダイアグサービスツール９に送信する（Ｓ４５）。すると、ダイアグサービスツール９は、送信された応答メッセージを受信する（Ｓ４６）。
【００３４】
ここで従来技術では、ＣＡＮ通信を停止する際にはＣＡＮドライバ自体を停止させたり又はＣＡＮバスを遮断するため、全てのＣＡＮ送信が完全に遮断される。これにより、ダイアグサービスのようなＥＣＵ外部から故障情報を取得する機能等、ＣＡＮ通信を利用した機能が全て使用できなくなる。これに対して、本実施形態では、異常発生時にはシフタ位置のＣＡＮ送信のみを制限し、外部のツール９によるダイアグサービス要求に対するＣＡＮ受信，及びそれに対する応答のＣＡＮ送信については制限しない。
【００３５】
以上のように本実施形態によれば、シフトバイワイヤシステムを構成するＳＣＵ２は、ＣＰＵ５の内部機能として、外部装置と通信を行うＣＡＮ通信部１３と、ＣＰＵ５が異常か否かを診断する診断プログラムを実行するＣＰＵ異常診断ロジック部１６及び送信処理関数アドレス生成部１７を備え、これらは、診断結果が異常であればＣＡＮ通信部１３による通信を停止させる。このように構成すれば、ＣＰＵ５に外部機構を付加することなく内部機能ＤＥ自己診断を行い、その診断の結果が異常であれば通信を停止させるので、ＳＣＵ２を構成する際にコストの上昇を抑制できる。
【００３６】
そして、ＣＰＵ異常診断ロジック部１６及び送信処理関数アドレス生成部１７は、診断結果が異常であればＣＡＮ通信部１３によるシフタ位置のデータ送信のみを停止させるので、外部のツール９によるダイアグサービス要求に対するＣＡＮ受信，及びそれに対する応答のＣＡＮ送信については継続することが可能になる。
【００３７】
また、送信処理関数アドレス生成部１７は、ＣＰＵ５が実行する複数の命令を使用し、各命令毎に独立した演算を実行し、その実行結果の値を順次累積させ、最終的な累積値、送信処理を行う関数のアドレスとして生成する。そして、生成したアドレスが所期値を示さなければ異常と診断する。このように構成すれば、ＣＰＵ５に異常があれば生成されたアドレスの値が所期と異なるため、送信処理を行う関数がコールされず送信は実行されない。したがって、異常が発生した際に送信を確実に中止できる。この場合、前記複数の命令として、ＣＡＮ通信部１３によりシフタ位置のデータを送信する際にＣＰＵ５が実行する複数の命令を使用するので、送信処理に使用される命令が正常に実行されるか否かにより、異常診断を効率的に行うことができる。
【００３８】
また、ＩＮＳＴ診断部２１は、送信処理関数アドレス生成部１７と同様の診断プログラムを用いてＣＰＵ５の異常診断を行うようにした。これにより、ＣＰＵ５が正常であるか否かをダブルチェックして、異常の有無をより確実に診断できる。
【００３９】
更に、外部のＡＣＴ４に通電を行う経路に配置されるリレー２４と、リレー２４のオンオフを制御する監視部７とを備え、ＣＰＵ異常診断ロジック部１６は、診断結果を監視部７に出力し、監視部７は、診断結果が異常であればリレー２４を開いてオフにする。これにより、ＡＣＴ４に駆動電流を流すことを阻止して、車両のロック，アンロックが切替わらないようにできる。
【００４０】
（その他の実施形態）
ＩＮＳＴ診断は、必要に応じて実行すれば良い。
診断プログラムは、必ずしも各演算の結果の累積値を求める必要は無い。
診断プログラムにおけるメインプログラムとサブプログラムとは、必ずしも同じプログラムにする必要は無い。
通信プロトコルはＣＡＮに限ることなく、どのようなプロトコルでも良い。
シフトバイワイヤシステム以外のシステムに適用しても良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【００４１】
図面中、１はシフタ、２はＳＣＵ、３はＴＣＵ、４はＡＣＴ、５はＣＰＵ、７は監視部、１３はＣＡＮ通信部、１６はＣＰＵ異常診断ロジック部、１７は送信処理関数アドレス生成部、２１はＩＮＳＴ診断部を示す。
【図１】
2019093839.tif 000003
【図２】
2019093839.tif 000004
【図３】
2019093839.tif 000005
【図４】
2019093839.tif 000006
【図５】
2019093839.tif 000007
【図６】
2019093839.tif 000008
【図７】
2019093839.tif 000009
【図８】
2019093839.tif 000010
【図９】
2019093839.tif 000011
【図１０】
2019093839.tif 000012