(57)【要約】【課題】各データフィールドの送受信中に発生するノイズによるビット化けの影響を回避することができる電子制御装置を提供する。【解決手段】通信ラインを介して他の機器とデータの送受信を行う電子制御装置は、前記通信ラインを介してデータの送受信を行う通信機能部と、前記通信機能部とは別のデータ取得部であって、前記通信ラインを伝送する電気信号をサンプリングするデータ取得部と、前記データ取得部で取得したデータにおいて現在設定されている通信速度から規定される電気信号の第１の変化よりも速い電気信号の第２の変化が発生した場合に、ノイズが発生したと判定するノイズ発生判定部と、前記ノイズ発生判定部でノイズが発生したと判定した場合に、前記通信機能部を介して取得したデータを補正するデータ補正部とを備える。【選択図】図２
2017118184.tif 000002
【特許請求の範囲】
【請求項１】
通信ラインを介して他の機器とデータの送受信を行う電子制御装置であって、
前記通信ラインを介してデータの送受信を行う通信機能部と、
前記通信機能部とは別のデータ取得部であって、前記通信ラインを伝送する電気信号をサンプリングするデータ取得部と、
前記データ取得部で取得したデータにおいて現在設定されている通信速度から規定される電気信号の第１の変化よりも速い電気信号の第２の変化が発生した場合に、ノイズが発生したと判定するノイズ発生判定部と、
前記ノイズ発生判定部でノイズが発生したと判定した場合に、前記通信機能部を介して取得したデータを補正するデータ補正部と、
を備えることを特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記ノイズ発生判定部は、カウンタ及びタイマを用いて、前記データ取得部で取得した前記データにおける前記ノイズの発生及び発生箇所を特定することを特徴とする電子制御装置。
【請求項３】
請求項１に記載の電子制御装置において、
前記データ補正部は、
前記ノイズ発生判定部からの判定結果を用いて、前記データ取得部による前記サンプリングのタイミングと前記ノイズの発生箇所とが重なったかを判定し、
前記サンプリングのタイミングと前記ノイズの発生箇所とが重なった場合に、前記通信機能部を介して取得したデータを補正することを特徴とする電子制御装置。
【請求項４】
請求項１に記載の電子制御装置において、
前記データ補正部は、前記通信機能部を介して取得したデータにおいて前記ノイズを含んでいる箇所のビットを反転させることにより、データを補正することを特徴とする電子制御装置。
【請求項５】
請求項１に記載の電子制御装置において、
当該電子制御装置は、前記データ補正部によって補正されたデータから計算されたサムとチェックサムとの比較を実行し、一致した場合に、前記データ補正部によって補正されたデータを"正"として扱うことを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
機器を制御する電子制御装置には通信機能が搭載されており、通信ラインで相互接続された複数の電子制御装置間のデータ送受信には、様々な通信プロトコルに準じたデジタル通信が用いられる。これらのデジタル通信では、通信ラインの電圧レベルを高低の2値("0"、"1")で変化させ、パルス状の電気信号として伝送することでデータの送受信が実現されている。
【０００３】
電気信号の伝送には信号線が用いられるが、電子制御装置間に信号線を這いまわす際に十分な空間が確保できることは少ない。結果として、ノイズ源となる機器近傍に信号線を這いまわすことになり、通信ラインへのノイズの混入が問題となる。
【０００４】
この問題に対しては、信号線に撚対線やシールド線を採用する、電子制御装置の入力にフィルタ回路を設置するなどのハードウェアでの対策が施される。しかし、機器が発するノイズは多種多様なため、それ単体ではノイズ対策として十分ではない場合がある。
【０００５】
そのため、上記ハードウェアでのノイズ対策と併せて、電子制御装置が検知した電気信号に対し、ソフトウェアでの対策を実施することでノイズの影響を低減させる方策が検討されている。中でも、単線でのシリアル通信においては、ノイズの影響を顕著に受ける。したがって、ロバスト性の高い通信を実施するためには、ノイズ対策が必要不可欠となる。
【０００６】
電子制御装置が検知した電気信号に対し、ソフトウェアでの対策を実施する具体的な方法の一例としては、特許文献１がある。特許文献１では、通信プロトコルに準じて伝送されるパルス状の電気信号中のインターバル(データの送受信に寄与しない無駄時間)の区間の電圧レベルが2値("0"、"1")と異なる電圧レベルに設定され、これにより、ノイズによるビット化けの影響を回避する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１５０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載されている技術は、各データフィールドに対応する電気信号の開始ビットを誤って特定すること、又は特定のフィールドの電気信号を誤ってインターバル信号として誤認識することの回避に限定されている。したがって、各データフィールドの送受信中に発生するノイズによる影響を回避できないという課題があった。
【０００９】
そこで、本発明は、上記の課題を解決するためになされるものであり、各データフィールドの送受信中に発生するノイズによるビット化けの影響を回避することができる電子制御装置を提供する。
【課題を解決するための手段】
【００１０】
例えば、上記課題を解決するために、特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例をあげるならば、通信ラインを介して他の機器とデータの送受信を行う電子制御装置であって、前記通信ラインを介してデータの送受信を行う通信機能部と、前記通信機能部とは別のデータ取得部であって、前記通信ラインを伝送する電気信号をサンプリングするデータ取得部と、前記データ取得部で取得したデータにおいて現在設定されている通信速度から規定される電気信号の第１の変化よりも速い電気信号の第２の変化が発生した場合に、ノイズが発生したと判定するノイズ発生判定部と、前記ノイズ発生判定部でノイズが発生したと判定した場合に、前記通信機能部を介して取得したデータを補正するデータ補正部と、を備える電子制御装置が提供される。
【発明の効果】
【００１１】
本発明によれば、各データフィールドの送受信中に発生するノイズによるビット化けの影響を回避することができる。本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】LINフレーム構造を説明する図である。
【図２】実施例に係る電子制御装置の構成図である。
【図３】ノイズ未発生状態の通信ラインに伝送する電気信号の一例を示す図である。
【図４】ノイズが発生した状態の通信ラインに伝送する電気信号の一例を示す図である。
【図５】ノイズ発生判定部におけるノイズの発生を検知する手法を示す図である。
【図６】ノイズ発生がデータフィールドの何バイト目で発生したかを検知する手法を示す図である。
【図７】データ補正部における動作フローを示す図である。
【図８】ノイズ発生と調歩同期方式のサンプリングタイミングが重畳したか否かを判定する手法を示す図である。
【図９】電子制御装置の制御部のチェックサムの比較における動作フローを示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施例について説明する。添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１４】
以下、本発明の一実施例を説明する。なお、以下に示す実施例では車載通信システムに用いられるLIN(Local Interconnect Network)に適用した例を挙げて説明するが、これに限定されない。
【００１５】
まず、LINについて説明する。LINは、車載通信システムにおいてセンサやアクチュエータなどの制御に採用されており、安価でシンプルなネットワークシステムを実現できる。LINでは、マスタ・スレーブ方式が採用されており、スレーブノードはマスタノードの指示に従って通信を行う。具体的には、マスタノードから送信される送信要求「ヘッダ」に対して、スレーブノードがデータである「レスポンス」を送信することで各種情報のやり取りを行う。これらの実現にはマスタノードのみが持っているマスタタスクと、マスタノードとスレーブノードの双方が持っているスレーブタスクが、それぞれの役割を担っている。マスタタスクは、予め決められたタイミングで通信ラインにヘッダを送信する。スレーブタスクは、ヘッダに含まれる情報からレスポンスを送信するか否かを判定し、判定結果に応じてレスポンスを送信する。LINでは、このヘッダとレスポンスのセットを「フレーム」と呼び、フレームの単位で情報がやり取りされる。
【００１６】
図１はLINフレーム構造を示している。ヘッダは、"0"(ドミナント)が13ビット以上続く「Break」から始まり、「Synch」、「Protected ID(PID)」の3つのフィールドによって構成される。レスポンスは、「データ」、「チェックサム」の2つのフィールドによって構成される。これらフィールド間には各フィールドの送信タイミングが重複しないよう「レスポンススペース」、「インターバイトスペース」と呼ばれる時間が含まれることを許容しており、これらのスペースでは"1"(リセッシブ)となる。
【００１７】
LINでは、UARTの通信方式が採用されており、UARTの通信方式では、各フィールドの始まりは"0"(ドミナント)であるスタートビットから開始され、フィールドの終わりは"1"(リセッシブ)であるストップビットで終了する。UARTの通信方式では、受信側はスタートビットの立下りで通信開始を判断し、現在設定されている通信速度に従い通信ラインをサンプリングしていく調歩同期方式が採用されている。通常、データのサンプリングは各データビットの中央を狙って実施し、最後にストップビットであるはずの位置でサンプリングを行い、"1"(リセッシブ)であれば正常終了する。
【００１８】
LINでは、データを正確に受信できたかどうかを確認するため、レスポンスを受信したノードは、受信したデータフィールドから計算したチェックサムと、受信したチェックサムフィールドが一致するかどうかを検査し、双方が一致した場合はデータを正確に受信できたと判断する。一方、これらが不一致の場合は、ノードは、通信ライン上で何らかの要因でデータに誤りが生じていると判断し、データを破棄する。
【００１９】
図２は、本発明のLINへの適用時の電子制御装置100の構成図である。車載通信システムは、通信ライン300に接続された複数のノードで構成されており、それぞれのノードが通信ライン300を介してLINプロトコルに準じて通信する。上記ノードは、マスタノードである電子制御装置100と、複数のスレーブノード200とを含む。
【００２０】
電子制御装置100は、制御部110と、通信機能部120とを備える。制御部110は、図示しない制御装置として一般に具備されるCPU(Central Processing Unit)、ROM、RAM、及び記憶部等を備えている。CPUは、ROM、RAM、又は記憶部に格納されたプログラムに基づいて、種々の処理を実行する。
【００２１】
制御部110は、上述のプログラムに基づき、マスタタスク処理部111及びスレーブタスク処理部112として動作する。マスタタスク処理部111は、予め決められたタイミングで通信機能部120を介して通信ライン300にヘッダを出力する。スレーブタスク処理部112は、通信ライン300に出力されたヘッダを解釈して、自身に関連したProtected IDフィールドが含まれる場合は、図示しないセンサやアクチュエータなどの制御データを、レスポンス内のデータフィールドとして、通信機能部120を介して通信ライン300に出力する。
【００２２】
通信機能部120は、通信ライン300を介してLINプロトコルに準じた通信を実現させる。制御部110は、通信機能部120を介して通信ライン300の電圧レベルを高低の2値("0"、"1")で変化させ、ヘッダ及びレスポンスを通信ライン300に出力する。また、制御部110は、通信機能部120に備えられたレベル判定部121によって通信ライン300に出力された電気信号の電圧レベルを判定させることで、通信ライン300上に出力されたパルス状の電気信号をデジタル値として認識する。
【００２３】
レベル判定部121は、通信ライン300の電気信号の電圧レベルをサンプリングし、電圧レベルが"高"であるか、"低"であるかを判定する。この場合、例えば、"高"は12[V]であり、"低"が0[V]である。レベル判定部121は、"高"であるか又は"低"であるかの判定結果に応じて、"高"である場合は"1"(リセッシブ)、"低"である場合は"0"(ドミナント)として、"0"/"1"の符号列を制御部110へ出力する。制御部110は、この"0"/"1"の符号列をUARTの通信方式に則り、調歩同期方式にてサンプリングすることでデータとして認識する。
【００２４】
スレーブノード200は、制御部210と、通信機能部220とを備える。制御部210は、図示しない制御装置として一般に具備されるCPU(Central Processing Unit)、ROM、RAM、及び記憶部等を備えている。CPUは、ROM、RAM、又は記憶部に格納されたプログラムに基づいて、種々の処理を実行する。
【００２５】
制御部210は、上述のプログラムに基づき、スレーブタスク処理部212として動作する。スレーブタスク処理部212は、通信ライン300に出力されたヘッダを解釈して、自身に関連したProtected IDフィールドが含まれる場合は、図示しないセンサやアクチュエータなどの制御データを、レスポンス内のデータフィールドとして、通信機能部220を介して通信ライン300に出力する。
【００２６】
通信機能部220は、通信ライン300を介してLINプロトコルに準じた通信を実現させる。制御部210は、通信機能部220を介して通信ライン300の電圧レベルを高低の2値("0"、"1")で変化させ、レスポンスを通信ライン300に出力する。また、制御部210は、通信機能部220に備えられたレベル判定部221によって通信ライン300に出力された信号の電圧レベルを判定することで、通信ライン300上に出力されたパルス状の電気信号をデジタル値として認識する。
【００２７】
レベル判定部221は、通信ライン300の電気信号の電圧レベルをサンプリングし、電圧レベルが"高"であるか、"低"であるかを判定する。この場合、例えば、"高"は12[V]であり、"低"が0[V]である。レベル判定部221は、"高"であるか又は"低"であるかの判定結果に応じて、"高"である場合は"1"(リセッシブ)、"低"である場合は"0"(ドミナント)として、"0"/"1"の符号列を制御部210へ出力する。制御部210は、この"0"/"1"の符号列をUARTの通信方式に則り、調歩同期方式にてサンプリングすることでデータとして認識する。
【００２８】
次に、本発明の特徴部分であるデータ取得部130、ノイズ発生判定部113、データ補正部114、及び設定切替部115について説明する。ここでは、マスタノードである電子制御装置100について説明するが、図２に示すように、スレーブノード200もまた同様の構成を備えている。
【００２９】
データ取得部130は、通信ライン300を伝送するパルス状の電子信号を通信機能部120よりも高速にサンプリングするものである。ここでは、データ取得部130として、ADコンバータを用いた場合を説明するが、これに限定されない。例えば、データ取得部130は、デジタル入力によるサンプリングを行ってもよい。
【００３０】
ここでは、現在設定されている通信速度が例えば19.2kbit/secであるとする。この場合、データ取得部130は、1ビット送信に要する時間が52μsとなるため、サンプリング定理などを鑑み、2μs毎のサンプリングを実施する。サンプリング間隔については、ノイズの発生を検知するために、より高速にサンプリングするのが好ましいが、AD変換が必要な他のデータとの兼ね合い(データ数・データ更新の間隔など)で調整すればよい。データ取得部130は、データフィールドをサンプリングし、取得したデータをノイズ発生判定部113へ送る。
【００３１】
ノイズ発生判定部113は、現在設定されている通信速度から規定される電気信号の第１の変化("0"⇔"1")よりも速い電気信号の第２の変化("0"⇔"1")がデータ取得部130で取得したデータに発生した場合は、ノイズが発生したと判定する。ここでは、ノイズ発生判定部113として、カウンタとタイマを用いた場合を説明するが、これに限定されない。カウンタとタイマを用いることにより、簡易な構成でノイズの発生、ノイズの発生箇所の特定が可能となる。
【００３２】
本実施例では、データ取得部130としてADコンバータを用いた場合を説明しているため、データ取得部130で取得したデータの電圧レベルが"高"であるか又は"低"であるかの判定を、LINプロトコルに準じ、ノイズ発生判定部113によって行う。この場合も、例えば、"高"は12[V]であり、"低"が0[V]である。ノイズ発生判定部113は、"高"であるか又は"低"であるかの判定結果に応じて、"高"である場合は"1"(リセッシブ)、"低"である場合は"0"(ドミナント)として、"0"/"1"の符号列を扱えるようにする。ノイズ発生判定部113は、この"0"⇔"1"の変化が1ビット送信に要する時間よりも速い間隔で発生した場合、ノイズが発生したと判定する。
【００３３】
図３は、ノイズが発生していない状態の通信ライン300に伝送する電気信号の一例を示している。縦軸に通信ライン300における電圧レベルを示し、横軸に時間を示す。図３は、LINフレーム中のデータフィールドとその前後の信号を示しており、分かりやすいようにデータ設定は「10101010」としている。ノイズが発生していない状態の場合、通信ライン300に伝送する電気信号は1ビット送信に要する時間毎に"0"⇔"1"が変化する。
【００３４】
一方、図４は、ノイズが発生した状態の通信ライン300に伝送する電気信号の一例を示している。上記のように、通常、電気信号の"0"⇔"1"の変化は1ビット送信に要する時間よりも速く実施されることはないため、1ビット送信に要する時間よりも速い電気信号の"0"⇔"1"の変化を検知した場合はノイズが発生したと見なせる。
【００３５】
図５は、ノイズ発生判定部113におけるノイズの発生を検知する手法を示す図である。ノイズ発生判定部113は、例えば、計時用タイマ及びノイズ検知用タイマを備える。図５に示すように、ノイズ検知用タイマは、スタートビットの立下りからカウントアップを開始し、電気信号の"0"⇔"1"の変化が発生した時点で、タイマをクリアする。ノイズ発生判定部113におけるノイズの発生の検知は、このノイズ検知用タイマを設けることで実現できる。ノイズ検知用タイマは、ストップビットの立ち上がりでタイマクリア及びカウントアップを停止する。
【００３６】
図５に示すように、ノイズが発生しない場合（501）、ノイズ検知用タイマは1ビット送信に要する時間に達する。一方、ノイズが発生した場合（502）、ノイズ検知用タイマは1ビット送信に要する時間に達しないため（1ビット送信に要する時間に達する前にクリアされるため）、ノイズが発生した事を検知できる。
【００３７】
また、図５に示すように、計時用タイマは、スタートビットの立下りからカウントアップを開始し、1ビット送信に要する時間を計時する。計時用タイマとノイズ検知用タイマを併用することで、ノイズ発生判定部113は、ノイズが発生したタイミングも特定することができる(計時用タイマは、ストップビットの立ち上がりでタイマクリア及びカウントアップを停止する)。
【００３８】
具体的には、ノイズ検知用タイマがクリアされるのは、ノイズの発生又は1ビット送信完了時である。したがって、ノイズ発生判定部113は、ノイズ検知用タイマが0で計時用タイマが0の場合を1ビット送信完了とみなし、ノイズ検知用タイマが0で計時用タイマが0以外の場合はノイズ発生とみなす。ノイズが発生したタイミングの特定は、ノイズ検知用タイマが0になる直前の値から判断でき、図５の場合、20μs時〜32μs時までがノイズが発生したタイミングと特定できる。
【００３９】
また、ノイズによる影響を回避するようにデータを補正するためには、データフィールドの何ビット目にノイズが発生したかも重要な情報となる。したがって、図５のように、ノイズ発生判定部113は、例えば、ビット特定用カウンタを備える。ノイズ発生判定部113は、ビット特定用カウンタを用いて、何ビット目でノイズが発生したかを判断できる。計時用タイマ、ノイズ検知用タイマ、及び、ビット特定用カウンタを併用することで、ノイズ発生判定部113は、データフィールドの何ビット目のどのタイミングでノイズが発生したかを判断する。ビット特定用カウンタは、スタートビットの立下りからカウントアップを開始し、ストップビットの立ち上がりでカウンタクリア及びカントアップを停止する。
【００４０】
さらに、ノイズによる影響を回避するようにデータを補正するためには、データフィールドの何バイト目にノイズが発生したかも重要な情報となる。図６は、ノイズ発生がデータフィールドの何バイト目で発生したかを検知する手法を示す図である。ノイズ発生判定部113は、例えば、バイト特定用カウンタを備える。ノイズ発生判定部113は、バイト特定用カウンタを用いて、データフィールドの何バイト目でノイズが発生したかを判断する。バイト特定用カウンタは、データ1のスタートビットの立下りからカウントアップを開始し、データNのストップビットの立ち上がりでカウンタクリア及びカントアップを停止する。なお、ノイズ発生判定部113は、上記で取得した情報（何バイト目、何ビット目、何μs〜何μsのタイミングでノイズが発生したかの情報）をデータ補正部114に送る。
【００４１】
なお、カウンタとタイマの組み合わせは上記の例に限定されない。また、カウンタ及びタイマ以外の別の構成によってノイズの発生、ノイズの発生箇所を特定してもよい。
【００４２】
データ補正部114は、制御部110が通信機能部120経由で認識したデータを、ノイズによる影響を回避するように補正する。具体的には、ノイズ発生判定部113から(1)ノイズ発生の有無、(2)ノイズの発生バイト、(3)ノイズの発生ビット、(4)ノイズの発生タイミングの情報を受け取り、図７の動作に従いデータ補正の要否の判定及びデータ補正を実施する。図７は、データ補正部114における動作フローを示す図である。
【００４３】
（ステップS10）
データ補正部114は、ノイズ発生判定部113から受け取った(1)ノイズ発生の有無の情報から、データフィールドにノイズが発生したか否かの判定を行う。ノイズの発生があった場合はS11に進む。一方、ノイズの発生が無かった場合はデータ補正を実施する必要はないため、データ補正部114での処理を終了させる。
【００４４】
（ステップS11）
データ補正部114は、ノイズ発生判定部113から受け取った(4)ノイズの発生タイミングの情報から、ノイズの発生箇所が制御部110の調歩同期方式のサンプリングタイミングと重なっているか否かの判定を行う。調歩同期方式のサンプリングは、各データビットの中央を狙って実施しているため、データ補正部114は、各データビットの中央付近でノイズが発生していた場合、ノイズ発生がサンプリングタイミングに重なったと判定する。
【００４５】
図８は、ノイズ発生と調歩同期方式のサンプリングタイミングが重畳したか否かを判定する手法を示す図である。上記の重なりの判定は、図８に示すようにデータビットの中央(26μs)から任意のバンド(図では22μs〜30μs)を設けて判定する。例えば、図８の2ビット目に発生したノイズは、図５と同様に20μs〜32μs時において発生している。したがって、データ補正部114は、ノイズ発生箇所がサンプリングタイミングに重なったと判定する。本実施例では、バンド幅で重なりを判定したが、これに限定されない。また、任意のバンドの位置は、上記の例では、データビットの中央に設定したが、これに限定されず、サンプリングのタイミングに応じてデータビット内の任意の位置に任意の幅で設定することができる。
【００４６】
最終的にノイズの発生箇所が調歩同期方式のサンプリングタイミングと重なったと判定した場合はS12に進む。一方、ノイズの発生箇所が調歩同期方式のサンプリングタイミングと重なっていないと判定した場合はデータ補正を実施する必要はないため、データ補正部114での処理を終了させる。このようにサンプリングタイミングとノイズの発生箇所の重なりを判定することにより、データ補正が必要かどうかを判断することができ、これにより、必要な場合のみデータの補正を実行することができる。
【００４７】
（ステップS13）
データ補正部114は、制御部110が通信機能部120経由で認識したデータに対し、ノイズの影響を含んでいる箇所((2)ノイズの発生バイト、(3)ノイズの発生ビットから特定)のビット認識を反転("0"⇒"1"もしくは"1"⇒"0")させる。これにより、ノイズによる影響を回避した正しいデータに補正することができる。
【００４８】
以後、ノードが、レスポンス受信毎に図７に示す処理を実行する。
【００４９】
レスポンスを受け取った後、最終的にデータの信頼性を確保するため、LINプロトコルに準じ、電子制御装置100の制御部110がチェックサムの比較を実施する。図９は、チェックサムの比較の動作フローを示す。
【００５０】
（ステップS20）
制御部110は、データ補正部114でデータの補正を実施したか否かの判定を行う。データの補正が実施された場合は、ステップS21に進む。一方、データの補正が実施されなかった場合は、S24へ進む。
【００５１】
（ステップS21）
制御部110は、データ補正部114で補正したデータから、LINプロトコルに準じたサムの計算を実施する。
【００５２】
（ステップS22）
制御部110は、S21で計算したサムとレスポンス内のチェックサムフィールドとを比較し、値が一致するか否かの判定を行う。一致した場合は、S23に進む。一方、不一致の場合は、データの補正が正しく行われなかった可能性があるため、S24に進む。
【００５３】
（ステップS23）
制御部110は、データ補正部114で補正したデータを"正"として扱い、制御部110内で参照できる状態にする。
【００５４】
（ステップS24）
制御部110は、データ補正部114で補正を実施しなかったデータから、LINプロトコルに準じたサムの計算を実施する。
【００５５】
（ステップS25）
制御部110は、S24で計算したサムとレスポンス内のチェックサムフィールドとを比較し、値が一致するか否かの判定を行う。一致した場合は、S26に進む。一方、不一致の場合は、データが正しく受信できなかったと判断し、S27に進む。
【００５６】
（ステップS26）
制御部110は、データ補正部114で補正を実施しなかったデータを"正"として扱い、制御部110内で参照できる状態にする。
【００５７】
（ステップS27）
制御部110は"Checksum Error"として異常検知すると共に、受信したデータを破棄する。
【００５８】
（ステップS27）
以後、ノードがレスポンス受信毎に図９に示す処理を実行する。
【００５９】
なお、制御部110は、設定切替部115を備えてもよい。設定切替部115は、例えば、データ補正部114によるデータ補正処理を行うか又は行わないかの設定を行うことができる。これにより、データの補正の有効／無効を切り替えることが可能となる。
【００６０】
なお、スレーブノード200に備えられているデータ取得部230、ノイズ発生判定部213、データ補正部214、及び設定切替部215については、電子制御装置100に備えられているデータ取得部130、ノイズ発生判定部113、データ補正部114及び設定切替部115の機能と同様のため、詳細な説明は省略する。
【００６１】
本実施例は、様々な通信プロトコルに適用可能である。データ取得部130,230は、通信速度に応じてサンプリング間隔を適宜設定すればよい。ノイズ発生判定部113,213は、データ取得部130で取得したデータの電圧レベルが"高"であるか又は"低"であるかの判定を様々な通信プロトコルに準じて実施することができる。ノイズ発生判定部113,213は、通信速度に応じてタイマ及びカウンタを適宜設定すればよい。
【００６２】
なお、上記の電子制御装置は、車載通信システムに搭載する例で説明したが、本実施例は、家電製品など他の機器に適用されてもよい。
【００６３】
以上の実施例における電子制御装置は、通信ラインで複数の電子制御装置と相互接続されており、様々な通信プロトコルに準じたデジタル通信を用いてデータの送受信を行う。この電子制御装置は、通信ラインを介してデータの送受信を実現させる通信機能部120,220とは別に、通信ラインを伝送するパルス状の電気信号をサンプリングするデータ取得部130,230と、データ取得部130,230で取得したデータにおいて現在設定されている通信速度から規定される電気信号の変化("0"⇔"1")よりも速い電気信号の変化("0"⇔"1")が発生した場合は、ノイズが発生したと判定するノイズ発生判定部113, 213と、ノイズ発生判定部113, 213でノイズが発生したと判定した場合に電子制御装置が通信機能部120,220経由で認識したデータをノイズによる影響を回避するように補正するデータ補正部114,214を備える。
【００６４】
本実施例によれば、通信ライン300のノイズの発生有無を判定し、ノイズが発生したと判定した場合、電子制御装置100が認識したデータをノイズによる影響を回避するように補正することができる。したがって、ノイズによるビット化けの影響を回避し、ロバスト性の高い通信を実現することができる。
【００６５】
なお、上記の例では、マスタノード及びスレーブノードの両方が、データ取得部130,230、ノイズ発生判定部113, 213、及び、データ補正部114,214を備えているが、これらの構成要素が、マスタノード又はスレーブノードのいずれかに設けられる構成でもよい。この場合、上記の構成要素が設けられたノードは、受信するデータについて、上記で説明したノイズ発生の判定とデータの補正が可能となる。
【００６６】
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることもできる。また、ある実施例の構成に他の実施例の構成を加えることもできる。また、各実施例の構成の一部について、他の構成を追加・削除・置換することもできる。
【００６７】
上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム等の情報は、公知の記録装置あるいは記録媒体に格納することができる。また、上記の各構成、機能等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
【００６８】
上述の実施例において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【００６９】
100：電子制御装置(マスタノード)、110：制御部(マスタノード)、111：マスタタスク処理部、112：スレーブタスク処理部(マスタノード)、113：ノイズ発生判定部(マスタノード)、114：データ補正部(マスタノード)、115：設定切替部(マスタノード)、120：通信機能部(マスタノード)、121：レベル判定部(マスタノード)、130：データ取得部(マスタノード)、200：スレーブノード、210：制御部(スレーブノード)、212：スレーブタスク処理部(スレーブノード)、213：ノイズ発生判定部(スレーブノード)、214：データ補正部(スレーブノード)、215：設定切替部(スレーブノード)、220：通信機能部(スレーブノード)、221：レベル判定部(スレーブノード)、230：データ取得部(スレーブノード)、300：通信ライン
【図１】
2017118184.tif 000003
【図２】
2017118184.tif 000004
【図３】
2017118184.tif 000005
【図４】
2017118184.tif 000006
【図５】
2017118184.tif 000007
【図６】
2017118184.tif 000008
【図７】
2017118184.tif 000009
【図８】
2017118184.tif 000010
【図９】
2017118184.tif 000011