(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-08
(45)【発行日】2022-12-16
(54)【発明の名称】通信異常検出装置
(51)【国際特許分類】
H04B 3/46 20150101AFI20221209BHJP
H04L 12/28 20060101ALI20221209BHJP
B60R 16/023 20060101ALI20221209BHJP
H04L 12/40 20060101ALI20221209BHJP
【FI】
H04B3/46
H04L12/28 200
B60R16/023 P
H04L12/40
(21)【出願番号】P 2019099487
(22)【出願日】2019-05-28
【審査請求日】2021-11-25
(73)【特許権者】
【識別番号】000144027
【氏名又は名称】株式会社ミツバ
(74)【代理人】
【識別番号】110002871
【氏名又は名称】弁理士法人坂本国際特許商標事務所
(74)【代理人】
【識別番号】100144048
【氏名又は名称】坂本 智弘
(72)【発明者】
【氏名】都丸 将史
【審査官】前田 典之
(56)【参考文献】
【文献】特開2006-191404(JP,A)
【文献】国際公開第2016/185514(WO,A1)
【文献】特開2012-204937(JP,A)
【文献】特開2017-228890(JP,A)
【文献】特開2001-349239(JP,A)
【文献】特開2016-020185(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 3/46
H04L 12/28
B60R 16/023
H04L 12/40
(57)【特許請求の範囲】
【請求項1】
対の通信線の電位差に基づいて通信を行う通信システムにおける通信異常検出装置であって、
前記対の通信線の短絡状態の有無を所定周期ごとに判定する判定部と、
前記所定周期ごとに、前記判定部により前記短絡状態があると判定された場合に、第1カウンタ値を第1所定値だけ、増加方向又は減少方向のいずれかである第1方向に変化させ、前記判定部により前記短絡状態がないと判定された場合に、第2カウンタ値を第2所定値だけ、増加方向又は減少方向のいずれかである第2方向に変化させるカウンタ更新部と、
前記第1カウンタ値が、前記第1所定値に対して前記第1方向側にある第1閾値を前記第1方向に超えた場合に、前記対の通信線の短絡異常を検出する短絡異常検出部と、
前記第2カウンタ値が、前記第2所定値に対して前記第2方向側にある第2閾値を前記第2方向に超えた場合に、前記第1カウンタ値をリセットする
とともに前記第2カウンタ値をリセットするリセット部と、を備える通信異常検出装置。
【請求項2】
前記リセット部は、更に、前記判定部により前記短絡状態があると判定された場合に、前記第2カウンタ値をリセットする請求項1に記載の通信異常検出装置。
【請求項3】
前記対の通信線がCAN(Controller Area Network)に基づくバスを形成する請求項1又は2に記載の通信異常検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信異常検出装置に関する。
【背景技術】
【0002】
車載ネットワークの代表的なものとしてCAN(Controller Area Network)に基づくバスが知られている。CANに基づくバスにおいて発生しうる異常形態の1つとして、対の通信線が短絡している状態(以下、「通信線の短絡異常」という)が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、通信線の短絡異常のモードとして、短絡状態が連続的に発生するモードに加えて、短絡状態が断続的に発生するモードがある。このような、短絡状態が断続的に発生するモードであっても、通信線の短絡異常として検出されることが有用な場合がある。従来技術では、このような短絡状態が断続的に発生するモードの通信線の短絡異常を検出することが難しい。
【0005】
本発明は、短絡状態が断続的に発生するモードの通信線の短絡異常を検出することを目的とする。
【課題を解決するための手段】
【0006】
本発明によれば、対の通信線の電位差に基づいて通信を行う通信システムにおける通信異常検出装置であって、
前記対の通信線の短絡状態の有無を所定周期ごとに判定する判定部と、
前記所定周期ごとに、前記判定部により前記短絡状態があると判定された場合に、第1カウンタ値を第1所定値だけ、増加方向又は減少方向のいずれかである第1方向に変化させ、前記判定部により前記短絡状態がないと判定された場合に、第2カウンタ値を第2所定値だけ、増加方向又は減少方向のいずれかである第2方向に変化させるカウンタ更新部と、
前記第1カウンタ値が、前記第1所定値に対して前記第1方向側にある第1閾値を前記第1方向に超えた場合に、前記対の通信線の短絡異常を検出する短絡異常検出部と、
前記第2カウンタ値が、前記第2所定値に対して前記第2方向側にある第2閾値を前記第2方向に超えた場合に、前記第1カウンタ値をリセットするリセット部と、を備える通信異常検出装置が提供される。
【発明の効果】
【0007】
本発明によれば、短絡状態が断続的に発生するモードの通信線の短絡異常を検出することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】CANに基づくバス2を用いた通信システム1の全体構成例を示す概略図である。
【
図2】ノードNd1のハードウェア構成例を示す概略図である。
【
図3】ノードNd1のマイコン10の機能構成例を示す概略図である。
【
図4】マイコン10により実行される短絡異常検出処理例を示す概略フローチャートである。
【
図5】比較例による短絡異常検出処理例を示す概略フローチャートである。
【
図6A】短絡状態が連続的に発生する場合における判定部110の判定結果の履歴例を示す図である。
【
図6B】短絡状態が断続的に発生する場合の判定部110の判定結果の履歴例を示す図である。
【
図7A】短絡異常として検出されることが好ましい短絡状態の検出履歴例を示す図である。
【
図7B】短絡異常として検出されないことが好ましい短絡状態の検出履歴例を示す。
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【0010】
図1は、CAN(Controller Area Network)に基づくバス2を用いた通信システム1の全体構成例を示す概略図である。
【0011】
通信システム1は、CANに基づくバス2と、複数のノードNd(ノードNd1~Nd2のみ図示)とを含む。
【0012】
バス2は、対の通信線(
図1等では、「CAN-H」及び「CAN-L」と表記)により構成される。通信システム1は、対の通信線CAN-H、CAN-Lの電位差に基づいて通信を行う通信システムの一例である。
【0013】
複数のノードNdは、バス2に接続される。なお、ノード数は任意である。複数のノードNdは、対の通信線CAN-H、CAN-Lの電位差に基づいて互いに通信可能である。すなわち、複数のノードNdは、2線式差動電圧方式で通信可能である。具体的には、複数のノードNdのうちの、任意の1つは、バス2にメッセージを送信可能であり、他のノードは、当該メッセージをバス2から受信可能である。メッセージは、CANに準拠し、メッセージのCAN_ID(identification)が優先度を示す。メッセージのデータフィールドには、各種車両情報や制御情報等が含められる。
【0014】
次に、複数のノードNdのうちのノードNd1を代表して、ノードNd1内の構成について説明する。
【0015】
図2は、ノードNd1のハードウェア構成例を示す概略図である。
【0016】
ノードNd1は、
図2に示すように、マイクロコンピュータ10(以下、「マイコン10」という)と、CANトランシーバ20と、終端回路21とを含む。
【0017】
マイコン10は、例えばECU(Electronic Control Unit)を形成してもよい。この場合、ECUは、電動パワーステアリング装置を制御するECUであってもよい。マイコン10は、CPU11、ROM12、及びRAM13等を含むとともに、CANコントローラ14を内蔵している。なお、CANコントローラ14は、CANトランシーバ20によりバス2を介した各種の通信処理等を行う。
【0018】
CANトランシーバ20は、CANで規定された電気信号(メッセージ)を送受信する。この電気信号では、対の通信線CAN-H、CAN-Lの電位差が閾値以下である場合がレセッシブであり、閾値より大きい場合がドミナントである。
【0019】
なお、バス2では、ドミナント(“0”)とレセッシブ(“1”)が同時に送信された場合は、ドミナントが優先される。これにより、優先度の高いメッセージが優先度の低いメッセージよりも優先されることになる。具体的には、CAN_IDの数字は2進表記で上位から順にバス2に送信される。複数のメッセージ間では、上位から順に先に“0”を持つメッセージが、同順に“1”を持つメッセージよりも優先されることになる。ここで、CAN_IDの数字が小さいほど、2進表記の“0”の位置が上位側になる。例えば、CAN_IDの数字が“9”の場合は、2進表記で“1001”となり、CAN_IDの数字が“10”の場合は、2進表記で“1010”となり、上位から3番目の値が“0”となるCAN_ID“9”が、上位から3番目の値が“1”となるCAN_ID“10”よりも優先される。
【0020】
各メッセージに付与される優先度は、車両システムの必要な健全性が保たれるように車両システムの設計者により決定される。一般的に、車両走行制御(走る、止まる、曲がる)に関連するメッセージには、相対的に高い優先度が与えられる。車両走行制御に関連するメッセージには、例えば制動力制御や、駆動力制御、操舵制御に関わるメッセージである。他方、利便性や快適性を高める制御(例えば空調制御)に関連するメッセージには、相対的に低い優先度が与えられる。
【0021】
終端回路21は、対の通信線CAN-H、CAN-L間に接続され、バス2を所定の抵抗値で終端する。
【0022】
図3は、ノードNd1のマイコン10の機能構成例を示す概略図である。
【0023】
マイコン10は、
図3に示すように、判定部110と、カウンタ更新部112と、リセット部114と、短絡異常検出部116とを含む。判定部110、カウンタ更新部112、リセット部114、及び短絡異常検出部116は、CANコントローラ14又はCPU11がROM12内のプログラムを実行することで実現できる。
【0024】
判定部110は、対の通信線CAN-H、CAN-Lの短絡状態の有無を所定周期ΔT1ごとに判定する。例えば、判定部110は、自ノードがドミナントを送信してもレセッシブを受信した場合に短絡状態であると判定し、自ノードがドミナントを送信してドミナントを受信した場合に短絡状態でないと判定する。所定周期ΔT1は、一定周期であってもよいし、一定でない周期(例えば自ノードがドミナントを送信するごとの周期)であってもよい。
【0025】
以下では、説明の都合上、判定部110は、所定周期ΔT1ごとに判定結果を2値で出力し、2値の一方は、対の通信線CAN-H、CAN-Lの短絡状態があると判定された判定結果を表し、「H:異常」とも表記する。また、2値の他方は、対の通信線CAN-H、CAN-Lの短絡状態がないと判定された判定結果を表し、「L:正常」とも表記する。
【0026】
カウンタ更新部112は、判定部110の判定周期と同じ所定周期ΔT1ごとに、判定部110の判定結果が「H:異常」である場合に、異常カウンタC1の値(第1カウンタ値の例)を第1所定値(本例では“1”)だけインクリメントし、判定部110の判定結果が「L:正常」である場合に、正常カウンタC2の値(第2カウンタ値の例)を第2所定値(本例では“1”)だけインクリメントする。
【0027】
リセット部114は、正常カウンタC2の値が所定閾値Th2(第2閾値の例)を超えた場合に、異常カウンタC1の値を初期値(例えば0)にリセットする。所定閾値Th2は、第2所定値以上の任意の値であり、適合値である。
【0028】
また、リセット部114は、正常カウンタC2の値が所定閾値Th2を超えた場合に、正常カウンタC2の値を初期値(例えば0)にリセットする。
【0029】
また、リセット部114は、判定部110の判定結果が「H:異常」である場合に、正常カウンタC2の値を初期値(例えば0)にリセットする。なお、変形例では、リセット部114は、判定部110の判定結果が「H:異常」である状態が連続した場合に、正常カウンタC2の値を初期値(例えば0)にリセットしてもよい。
【0030】
短絡異常検出部116は、異常カウンタC1の値が所定閾値Th1(第1閾値の例)を超えた場合に、対の通信線CAN-H、CAN-Lの短絡異常を検出する。所定閾値Th1は、第1所定値以上の任意の値であり、適合値である。
【0031】
なお、複数のノードNdのうちの、ノードNd1以外の他のすべて又は一部は、ノードNd1と同様の各部110から116を有してもよいし、あるいは、ノードNd1以外の他のすべては、各部110から116を有さなくてもよい。
【0032】
図4は、マイコン10により実行される短絡異常検出処理例を示す概略フローチャートである。
図4の短絡異常検出処理は、所定周期ΔT1ごとに繰り返し実行される。
【0033】
まず、ステップS400では、マイコン10は、確定状態が“正常”であるか否かを判定する。確定状態は、“正常”又は“異常”の2値であり、短絡異常検出部116により短絡異常が検出された状態が、確定状態=“異常”に対応する。確定状態の初期値は“正常”である。確定状態が“正常”である場合は、ステップS402に進み、そうでない場合は、今回周期の処理を終了する。
【0034】
ステップS402では、マイコン10は、今回周期の判定部110の判定結果が「L:正常」か否かを判定する。今回周期の判定部110の判定結果が「L:正常」である場合は、ステップS404に進み、そうでない場合は、ステップS410に進む。
【0035】
ステップS404では、マイコン10は、正常カウンタC2の値を“1”だけインクリメントする。
【0036】
ステップS406では、マイコン10は、正常カウンタC2の値が所定閾値Th2を超えたか否かを判定する。正常カウンタC2の値が所定閾値Th2(例えば“9”)を超えた場合は、ステップS408に進み、そうでない場合は、今回周期の処理を終了する。
【0037】
ステップS408では、マイコン10は、正常カウンタC2の値を“0”にリセットするとともに、異常カウンタC1の値を“0”にリセットする。
【0038】
ステップS410では、マイコン10は、異常カウンタC1の値を“1”だけインクリメントするとともに、正常カウンタC2の値を“0”にリセットする。
【0039】
ステップS412では、マイコン10は、異常カウンタC1の値が所定閾値Th1を超えたか否かを判定する。異常カウンタC1の値が所定閾値Th1(例えば“9”)を超えた場合は、ステップS414に進み、そうでない場合は、今回周期の処理を終了する。
【0040】
ステップS414では、マイコン10は、確定状態を“異常”にセットする。確定状態が“異常”にセットされると、短絡異常が報知される。例えば、その旨が外部に出力されてもよいし、あるいは、短絡異常を表すダイアグ情報が発生されてもよい。
【0041】
ここで、
図5以降を参照して、比較例と対比しつつ本実施例の効果を説明する。
【0042】
図5は、比較例による短絡異常検出処理例を示す概略フローチャートである。
図5に示す比較例による短絡異常検出処理は、
図4に示した本実施例による短絡異常検出処理に対して、ステップS404からステップS408に代えて、ステップS500が実行される点が異なる。ステップS500では、異常カウンタC1の値が“0”にリセットされる。
【0043】
ところで、対の通信線CAN-H、CAN-Lの短絡状態は、連続的に発生せずに、断続的に発生する場合がある。
【0044】
図6Aは、短絡状態が連続的に発生する場合における判定部110の判定結果の履歴例を示す図であり、
図6Bは、短絡状態が断続的に発生する場合の判定部110の判定結果の履歴例を示す図である。
図6A及び
図6Bでは、それぞれ、上側から、判定部110の判定結果の履歴(時系列)が示される。
【0045】
図6Aに示す例では、時点t1から判定部110の判定結果が「L:正常」から「H:異常」に遷移し、その後も、判定部110の判定結果が「H:異常」で連続している。他方、
図6Bに示す例では、時点t2から判定部110の判定結果が「L:正常」から「H:異常」に遷移するものの、その後、すぐに時点t3で判定部110の判定結果が「L:正常」となる。そして、その後、判定部110の判定結果が再び時点t4「L:正常」から「H:異常」に遷移する。この場合も、その後すぐに時点t5で判定部110の判定結果が「L:正常」となる。
【0046】
比較例では、
図6Aに示すような、短絡状態が連続的に発生する場合においては、短絡異常を検出できる。具体的には、短絡状態が連続的に発生する場合は、ステップS402での判定結果が、異常カウンタC1の値が所定閾値Th1を超えるまで連続して“NO”となるので、ステップS500が機能せずに、確定状態が”異常“にセットされる。
【0047】
他方、比較例では、
図6Bに示すような、短絡状態が断続的に発生する場合においては、短絡異常を検出できない場合が比較的多くなる。具体的には、短絡状態が断続的に発生する場合は、一連の短絡状態の継続時間と所定閾値Th1との関係に依存するが、ステップS402での判定結果が、異常カウンタC1の値が所定閾値Th1を超えるまで連続して“NO”とならない場合が多い。ステップS402での判定結果が、異常カウンタC1の値が所定閾値Th1を超えるまで連続して“NO”とならない場合、ステップS500が機能して異常カウンタC1の値がリセットされてしまう。この場合、次の短絡状態(例えば、
図6Bの時点t4「L:正常」から「H:異常」に遷移させる短絡状態)が発生しても、当該短絡状態の継続時間と所定閾値Th1との関係によっては、再び、異常カウンタC1の値がリセットされてしまう。
【0048】
このようにして、比較例では、短絡状態が断続的に発生する場合においては、毎回の短絡状態の終了時に、異常カウンタC1の値がリセットされることで、比較的長い時間にわたって短絡異常を検出できない状態が継続しやすい傾向がある。
【0049】
これに対して、本実施例によれば、短絡状態が連続的に発生する場合のみならず、短絡状態が断続的に発生する場合においても、短絡異常を検出できる可能性が高い。
【0050】
すなわち、本実施例では、比較例の場合と同様、
図6Aに示すような、短絡状態が連続的に発生する場合においては、短絡異常を検出できる。具体的には、短絡状態が連続的に発生する場合は、ステップS402での判定結果が、異常カウンタC1の値が所定閾値Th1を超えるまで連続して“NO”となるので、ステップS500が機能せずに、確定状態が”異常“にセットされる。
【0051】
他方、本実施例では、
図6Bに示すような、短絡状態が断続的に発生する場合においては、短絡異常を検出できない可能性を適切に低減できる。具体的には、短絡状態が断続的に発生する場合は、一連の短絡状態の継続時間と所定閾値Th1との関係に依存するが、ステップS402での判定結果が、異常カウンタC1の値が所定閾値Th1を超えるまで連続して“NO”とならない場合が多い。ステップS402での判定結果が、異常カウンタC1の値が所定閾値Th1を超えるまで連続して“NO”とならない場合、ステップS500に代えて、まずステップS404で正常カウンタC2の値がインクリメントされ、次にステップS406で正常カウンタC2の値が所定閾値Th2を超えた場合だけ、ステップS408が機能して異常カウンタC1の値がリセットされる。このようにして、本実施例では、一時的に短絡状態が検出されない期間があった場合でも、正常カウンタC2の値が所定閾値Th2を超えない限り、異常カウンタC1の値がリセットされることはない。このため、次の短絡状態(例えば、
図6Bの時点t4「L:正常」から「H:異常」に遷移させる短絡状態)が発生すると、当該短絡状態の継続時間と所定閾値Th1との関係によっては、異常カウンタC1の値が所定閾値Th1を超えることで、短絡異常を検出できる。
【0052】
ここで、更に
図7A及び
図7Bを参照して、本実施例の場合の動作例を説明する。
【0053】
図7A及び
図7Bは、
図4の短絡異常検出処理の説明図であり、
図7Aは、短絡異常として検出されることが好ましい短絡状態の検出履歴例を示し、
図7Bは、短絡異常として検出されないことが好ましい短絡状態の検出履歴例を示す。
図7A及び
図7Bでは、上側から、判定部110の判定結果の履歴(時系列)、異常カウンタC1の値の時系列、正常カウンタC2の値の時系列、及び確定状態の時系列が示される。
【0054】
図7Aでは、比較的短い間隔ΔT5をおいて断続的に短絡状態が検出される。このように、短絡状態が比較的短い間隔ΔT5をおいて断続的に発生する場合、報知対象の短絡異常の可能性が高く、それゆえに、短絡異常として検出されることが好ましい。
【0055】
他方、
図7Bでは、比較的長い間隔ΔT5をおいて短絡状態が検出される。このように、短絡状態が比較的長い間隔ΔT5をおいて複数回発生する場合、ノイズ等の他の要因である可能性が高いと考えられ、報知対象の短絡異常の可能性が比較的低く、それゆえに、短絡異常として検出されないことが好ましい。
【0056】
この点、本実施例によれば、所定閾値Th1及び所定閾値Th2を適切に設定することで、
図7Aに示すように短絡状態が比較的短い間隔ΔT5をおいて断続的に発生する場合には、短絡異常を検出する一方で、
図7Bに示すように短絡状態が比較的長い間隔ΔT5をおいて発生する場合には、短絡異常を検出しないようにすることができる。
【0057】
具体的には、
図7A及び
図7Bに示す例では、所定閾値Th1及び所定閾値Th2は、ともに“9”である。
【0058】
図7Aでは、間隔ΔT5に対応する期間、正常カウンタC2の値が増加していくが、間隔ΔT5が比較的短いため、正常カウンタC2の値は、“2”又は“3”まで増加するにとどまり、所定閾値Th2=“9”を超えることがない。従って、正常カウンタC2の値は、間隔ΔT5の終了時に(すなわち短絡状態が再び検出されるときに)“0”にリセットされている。この結果、比較的短い間隔ΔT5に起因して異常カウンタC1の値がリセットされることはなく、
図7Aでは、4つ目の短絡状態が検出される際(
図7Aの時点t9参照)に異常カウンタC1の値が所定閾値Th1を超えることで、短絡異常が検出される(すなわち確定状態が“異常”となる)。
【0059】
これに対して、
図7Bでは、間隔ΔT5に対応する期間、正常カウンタC2の値が増加していくが、間隔ΔT5が比較的長いため、正常カウンタC2の値は、“10”に達する(すなわち所定閾値Th2=“9”を超える)。従って、異常カウンタC1の値(及び正常カウンタC2の値)は、間隔ΔT5の途中(
図7Bの時点t10参照)で“0”にリセットされている。この結果、比較的長い間隔ΔT5に起因して異常カウンタC1の値がリセットされ、
図7Aでは、2つ目の短絡状態が検出されても(
図7Bの時点t11参照)異常カウンタC1の値が“0”からインクリメントされる。従って、1つ目の短絡状態の検出は実質的にマスクされ、2つ目の短絡状態に基づく短絡異常の判定に影響しない。
【0060】
このようにして、本実施例によれば、報知対象の短絡異常の可能性が高い場合の比較的短い間隔ΔT5と、報知対象の短絡異常の可能性が低い場合の比較的長い間隔ΔT5との差を利用して、これらを切り分けることができる適切な所定閾値Th2を設定することで、短絡異常の検出精度(報知対象の短絡異常のみが短絡異常として検出される可能性)を高めることができる。
【0061】
ところで、
図7Bの1つ目の短絡状態の検出は、ノイズ等のような、対の通信線CAN-H、CAN-Lの短絡とは無関係な要因で生じる場合がある。このような場合、短絡状態の検出の持続時間ΔT6は、比較的短い。他方、
図7Aの場合でも、短絡状態の検出の持続時間ΔT6は、同様に比較的短い。
【0062】
従って、所定閾値Th1を、かかる比較的短い持続時間ΔT6に対して過小に設定してしまうと、ノイズ等のような、対の通信線CAN-H、CAN-Lの短絡とは無関係な要因で生じる短絡状態の検出に起因して、短絡異常が検出されてしまう可能性が高くなる。
【0063】
この点、
図7A及び
図7Bでは、所定閾値Th1は、かかる比較的短い持続時間ΔT6に対して有意に長い持続時間に対してのみ機能するように設定されるので、ノイズ等のような、対の通信線CAN-H、CAN-Lの短絡とは無関係な要因に起因して、短絡異常が検出されてしまう可能性を低減できる。
【0064】
このように、所定閾値Th2は、短絡状態が断続的に発生するモードの短絡異常時において生じる比較的短い間隔ΔT5に適合するように適切に設定され、かつ、所定閾値Th1は、ノイズ等のような、対の通信線CAN-H、CAN-Lの短絡とは無関係な要因に起因して生じる比較的短い持続時間ΔT6に反応しないように適切に設定されてよい。
【0065】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【0066】
例えば、上述した実施例では、異常カウンタC1の値は、判定部110の判定結果が「H:異常」であるごとに、増加方向(第1方向の例)に変化されるが、これに限られない。すなわち、異常カウンタC1の値は、判定部110の判定結果が「H:異常」であるごとに、減少方向(第1方向の例)に変化されてもよい。この場合、異常カウンタC1の初期値は、例えば「所定閾値Th1+1」とされ、異常カウンタC1の値が1よりも小さくなった場合に、短絡異常が検出されてよい。
【0067】
同様に、上述した実施例では、正常カウンタC2の値は、判定部110の判定結果が「L:正常」であるごとに、増加方向(第2方向の例)に変化されるが、これに限られない。すなわち、正常カウンタC2の値は、判定部110の判定結果が「L:正常」であるごとに、減少方向(第2方向の例)に変化されてもよい。この場合、正常カウンタC2の初期値は、例えば「所定閾値Th2+1」とされ、正常カウンタC2の値が1よりも小さくなった場合に、異常カウンタC1の値及び正常カウンタC2の値がリセットされてよい。
【0068】
<付記>
なお、以上の実施例に関し、さらに以下の付記を開示する。
【0069】
[付記1]
対の通信線(例えば対の通信線CAN-H、CAN-L)の電位差に基づいて通信を行う通信システムにおける通信異常検出装置(例えばマイコン10)であって、
前記対の通信線の短絡状態の有無を所定周期ごとに判定する判定部(例えば判定部110)と、
前記所定周期ごとに、前記判定部により前記短絡状態があると判定された場合に、第1カウンタ値(例えば異常カウンタC1の値)を第1所定値(例えば“1”)だけ、増加方向又は減少方向のいずれかである第1方向に変化させ(例えばインクリメントし)、前記判定部により前記短絡状態がないと判定された場合に、第2カウンタ値(例えば正常カウンタC2の値)を第2所定値(例えば“1”)だけ、増加方向又は減少方向のいずれかである第2方向に変化させる(例えばインクリメントする)カウンタ更新部(例えばカウンタ更新部112)と、
前記第1カウンタ値が、前記第1所定値に対して前記第1方向側にある第1閾値(例えば所定閾値Th1)を前記第1方向に超えた場合に、前記対の通信線の短絡異常を検出する短絡異常検出部(例えば短絡異常検出部116)と、
前記第2カウンタ値が、前記第2所定値に対して前記第2方向側にある第2閾値(例えば所定閾値Th2)を前記第2方向に超えた場合に、前記第1カウンタ値をリセットするリセット部(例えばリセット部114)と、を備える通信異常検出装置。
【0070】
付記1によれば、例えば第1方向及び第2方向がともに増加方向である場合、第1カウンタ値が、第1所定値より大きくなっても、第1閾値(例えば所定閾値Th1)を超えない場合は、対の通信線の短絡異常が検出されることはない。従って、ノイズ等に起因して対の通信線の短絡異常が検出される可能性を低減できる。他方、第1閾値を比較的大きくすると、ノイズに対するロバスト性を高めることができる反面、短絡状態が断続的に発生するモードで生じる短絡状態に基づいて、短絡異常を検出し難くなる。これは、短絡状態が断続的に発生するモードでは、判定部により短絡状態があると判定される期間が、ノイズ等に起因して、判定部により短絡状態があると判定される期間と同様に比較的短い傾向があるためである。
【0071】
この点、付記1によれば、第2カウンタ値が、第2所定値より大きくなっても、第2閾値(例えば所定閾値Th2)を超えない場合は、第1カウンタ値がリセットされることはない。これにより、短絡状態が断続的に発生するモードに起因して、一時的に判定部により短絡状態がないと判定された場合であっても、第1カウンタ値をリセットされ難くすることができる。この結果、短絡状態が断続的に発生するモードの通信線の短絡異常を検出することが可能となる。
【0072】
このようにして、付記1によれば、ノイズに対するロバスト性を確保しつつ、短絡状態が断続的に発生するモードの通信線の短絡異常を検出することが可能となる。
【0073】
[付記2]
前記リセット部は、更に、前記判定部により前記短絡状態があると判定された場合に、前記第2カウンタ値をリセットする付記1に記載の通信異常検出装置。
【0074】
付記2によれば、短絡状態があると判定された場合に、第2カウンタ値がリセットされるので、短絡状態が断続的に発生するモードで第2カウンタ値がリセットされずに増加してしまうことに起因した不都合(すなわち、第2カウンタ値が第2閾値を超えて第1カウンタ値がリセットされてしまうという不都合)を低減できる。
【0075】
[付記3]
前記対の通信線がCAN(Controller Area Network)に基づくバス(例えばバス2)を形成する付記1又は2に記載の通信異常検出装置。
【0076】
付記3によれば、CANに基づくバスを利用する通信システムにおいて、短絡状態が断続的に発生するモードの通信線の短絡異常を検出することが可能となる。
【符号の説明】
【0077】
1 通信システム
2 バス
10 マイコン
14 CANコントローラ
20 CANトランシーバ
21 終端回路
110 判定部
112 カウンタ更新部
114 リセット部
116 短絡異常検出部
C1 異常カウンタ
C2 正常カウンタ
CAN-H 通信線
CAN-L 通信線
Nd ノード
Nd1 ノード
Nd2 ノード