(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-09-19
(45)【発行日】2025-09-30
(54)【発明の名称】検査装置及び検査方法
(51)【国際特許分類】
H04L 43/08 20220101AFI20250922BHJP
【FI】
H04L43/08
(21)【出願番号】P 2022005804
(22)【出願日】2022-01-18
【審査請求日】2024-11-27
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】井元 剛志
(72)【発明者】
【氏名】河原 直樹
(72)【発明者】
【氏名】八木原 大樹
(72)【発明者】
【氏名】鵜野 武寿
【審査官】長谷川 未貴
(56)【参考文献】
【文献】特開2018-098707(JP,A)
【文献】特表2017-507534(JP,A)
【文献】特開2013-006455(JP,A)
【文献】特開2020-174298(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00 - 101/00
(57)【特許請求の範囲】
【請求項1】
検査対象のECUのCAN通信機能を検査する検査装置であって、
前記ECUの通信回路と前記検査装置とを1対1で接続する接続部と、
検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する検査メッセージ作成部と、
前記検査メッセージを前記ECUに送信する送信部と、
前記検査メッセージに対する応答メッセージを前記ECUから受信する受信部と、
前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認部と、
前記確認部の確認に基づいて、前記ECUの受信機能が正常か否かを判定する受信機能判定部と、
前記ECUに電源を供給する電源供給部と、
前記ECUから送信される初期メッセージの有無を確認する初期メッセージ確認部と、
前記初期メッセージ確認部による前記初期メッセージの有無の確認により、前記ECUの送信機能が正常か否かを判定する送信機能判定部と、を備え、
前記初期メッセージ確認部は、前記電源供給部から前記ECUに前記電源を供給した後、または車両側から前記ECUに電源を供給した後に、前記ECUから送信される前記初期メッセージの有無を確認し、
前記検査メッセージ作成部は、
通信プロトコルの種類、フレームレート、および伝送速度の組み合わせに基づいて分類されたデータフォーマットを蓄積する蓄積部と、
前記ECUから受信したメッセージに対応したデータフォーマットを前記蓄積部から選択する選択部と、を更に備え、
前記検査メッセージ作成部は、前記選択部により選択された前記データフォーマットに基づいて、前記検査メッセージを作成する
ことを特徴とする検査装置。
【請求項2】
検査対象のECUのCAN通信機能を検査する検査装置であって、
前記ECUの通信回路と前記検査装置とを1対1で接続する接続部と、
検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する検査メッセージ作成部と、
前記検査メッセージを前記ECUに送信する送信部と、
前記検査メッセージに対する応答メッセージを前記ECUから受信する受信部と、
前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認部と、
前記確認部の確認に基づいて、前記ECUの受信機能が正常か否かを判定する受信機能判定部と、
前記CAN通信機能が正常か否かを判定するための連続した判定時間を、感度切替手段からの入力により、第1の連続判定時間から前記第1の連続判定時間に比べて短い第2の連続判定時間を変更する判定時間変更部と、
を備えることを特徴とする検査装置。
【請求項3】
前記受信機能判定部は、前記第1の連続判定時間に基づいて、前記ECUの受信機能が正常か否かを判定し、
前記判定時間が前記判定時間変更部により変更された場合に、前記受信機能判定部は、前記第2の連続判定時間に基づいて、前記ECUの受信機能が正常か否かを判定する
ことを特徴とする請求項
2に記載の検査装置。
【請求項4】
前記受信機能判定部は、前記第1の連続判定時間または前記第2の連続判定時間において、前記応答メッセージにおける前記確認フィールドの信号レベルが前記検査メッセージの設定に対して変更された状態が継続する場合に、前記ECUの受信機能は正常と判定し、
前記第1の連続判定時間または前記第2の連続判定時間において、前記応答メッセージにおける前記確認フィールドの信号レベルが前記検査メッセージの設定に対して維持された状態が継続する場合に、前記ECUの受信機能は動作不良の状態であると判定することを特徴とする請求項
2に記載の検査装置。
【請求項5】
接続部を介して検査対象のECUの通信回路と1対1で接続し、当該検査対象のECUのCAN通信機能を検査する検査装置の検査方法であって、
前記検査装置の検査メッセージ作成部が、検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する工程と、
前記検査装置の送信部が、前記検査メッセージを前記ECUに送信する工程と、
前記検査装置の受信部が、前記検査メッセージに対する応答メッセージを前記ECUから受信する工程と、
前記検査装置の確認部が、前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認工程と、
前記検査装置の受信機能判定部が、前記確認工程での確認の結果に基づいて、前記ECUの受信機能が正常か否かを判定する工程と、
前記検査装置の電源供給部が、前記ECUに電源を供給する工程と、
前記検査装置の初期メッセージ確認部が、前記ECUから送信される初期メッセージの有無を確認する工程と、
前記検査装置の送信機能判定部が、前記初期メッセージ確認部による前記初期メッセージの有無の確認により、前記ECUの送信機能が正常か否かを判定する工程と、を備え、
前記初期メッセージ確認部は、前記電源供給部から前記ECUに前記電源を供給した後、または車両側から前記ECUに電源を供給した後に、前記ECUから送信される前記初期メッセージの有無を確認し、
前記検査メッセージ作成部の蓄積部は、
通信プロトコルの種類、フレームレート、および伝送速度の組み合わせに基づいて分類されたデータフォーマットを蓄積し、
前記検査メッセージ作成部の選択部は、
前記ECUから受信したメッセージに対応したデータフォーマットを前記蓄積部から選択し、
前記検査メッセージ作成部は、前記選択部により選択された前記データフォーマットに基づいて、前記検査メッセージを作成する
ことを特徴とする検査方法。
【請求項6】
接続部を介して検査対象のECUの通信回路と1対1で接続し、当該検査対象のECUのCAN通信機能を検査する検査装置の検査方法であって、
前記検査装置の検査メッセージ作成部が、検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する工程と、
前記検査装置の送信部が、前記検査メッセージを前記ECUに送信する工程と、
前記検査装置の受信部が、前記検査メッセージに対する応答メッセージを前記ECUから受信する工程と、
前記検査装置の確認部が、前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認工程と、
前記検査装置の受信機能判定部が、前記確認工程での確認の結果に基づいて、前記ECUの受信機能が正常か否かを判定する工程と、
前記検査装置の判定時間変更部が、前記CAN通信機能が正常か否かを判定するための連続した判定時間を、感度切替手段からの入力により、第1の連続判定時間から前記第1の連続判定時間に比べて短い第2の連続判定時間を変更する工程と、
を有することを特徴とする検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は検査装置及び検査方法に関する。
【背景技術】
【0002】
従来、車輌には複数の電子機器が搭載されて種々の処理を行っている。これらの電子機器の動作を制御するために車輌には複数のECU(Electronic Control Unit)が搭載されている。複数のECUを協調して動作させるために、ネットワークを介して各ECUを相互に接続し、データの送受信を行って複数のECUが情報を共有することが行われており、通信規約としてCAN(Controller Area Network)が広く採用されている。
【0003】
特許文献1には、複数のECUが共通の通信線で互いに接続された通信システムとして、一のECUが送信したメッセージを他の複数のECUが受信して、メッセージ受信の成否を示す受信成否情報を生成し、送信する通信システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
電動車両を構成するIPU(Integrated Power Unit)、DU(Drive Unit)、CHGR(Charger)等はデバイスの内部点検ができないため、不具合デバイスを特定するために、正常に動作する良品デバイスを順次交換して、検査情報が改善するか否かを確認する良品交換による検査が行われている。
【0006】
しかしながら、良品交換を行う検査では、高額なデバイスを検査用にそれぞれ準備する必要があり、検査作業においても、デバイスの交換作業に所定の工数が必要とされる。
【0007】
一方、特許文献1の通信システムでは、一のECUは受信成否情報を受信することにより、他のいずれか一つのECUに対して自機のメッセージが正しく送信できていることを確認することができる。しかしながら、メッセージの送信先である他のECU夫々におけるCAN通信機能(受信機能)が正常であるか否かを判定することはできない。
【0008】
本発明は、上記の課題に鑑みて、検査対象のECUにおけるCAN通信機能を検査することが可能な検査技術の提供を目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様に係る検査装置は、検査対象のECUのCAN通信機能を検査する検査装置であって、前記ECUの通信回路と前記検査装置とを1対1で接続する接続部と、検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する検査メッセージ作成部と、前記検査メッセージを前記ECUに送信する送信部と、前記検査メッセージに対する応答メッセージを前記ECUから受信する受信部と、前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認部と、前記確認部の確認に基づいて、前記ECUの受信機能が正常か否かを判定する受信機能判定部と、前記ECUに電源を供給する電源供給部と、
前記ECUから送信される初期メッセージの有無を確認する初期メッセージ確認部と、前記初期メッセージ確認部による前記初期メッセージの有無の確認により、前記ECUの送信機能が正常か否かを判定する送信機能判定部と、を備え、
前記初期メッセージ確認部は、前記電源供給部から前記ECUに前記電源を供給した後、または車両側から前記ECUに電源を供給した後に、前記ECUから送信される前記初期メッセージの有無を確認し、
前記検査メッセージ作成部は、
通信プロトコルの種類、フレームレート、および伝送速度の組み合わせに基づいて分類されたデータフォーマットを蓄積する蓄積部と、
前記ECUから受信したメッセージに対応したデータフォーマットを前記蓄積部から選択する選択部と、を更に備え、
前記検査メッセージ作成部は、前記選択部により選択された前記データフォーマットに基づいて、前記検査メッセージを作成することを特徴とする。
【0010】
本発明の他の態様に係る検査方法は、接続部を介して検査対象のECUの通信回路と1対1で接続し、当該検査対象のECUのCAN通信機能を検査する検査装置の検査方法であって、前記検査装置の検査メッセージ作成部が、検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する工程と、前記検査装置の送信部が、前記検査メッセージを前記ECUに送信する工程と、前記検査装置の受信部が、前記検査メッセージに対する応答メッセージを前記ECUから受信する工程と、前記検査装置の確認部が、前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認工程と、前記検査装置の受信機能判定部が、前記確認工程での確認の結果に基づいて、前記ECUの受信機能が正常か否かを判定する工程と、前記検査装置の電源供給部が、前記ECUに電源を供給する工程と、前記検査装置の初期メッセージ確認部が、前記ECUから送信される初期メッセージの有無を確認する工程と、前記検査装置の送信機能判定部が、前記初期メッセージ確認部による前記初期メッセージの有無の確認により、前記ECUの送信機能が正常か否かを判定する工程と、を備え、
前記初期メッセージ確認部は、前記電源供給部から前記ECUに前記電源を供給した後、または車両側から前記ECUに電源を供給した後に、前記ECUから送信される前記初期メッセージの有無を確認し、
前記検査メッセージ作成部の蓄積部は、
通信プロトコルの種類、フレームレート、および伝送速度の組み合わせに基づいて分類されたデータフォーマットを蓄積し、
前記検査メッセージ作成部の選択部は、
前記ECUから受信したメッセージに対応したデータフォーマットを前記蓄積部から選択し、
前記検査メッセージ作成部は、前記選択部により選択された前記データフォーマットに基づいて、前記検査メッセージを作成することを特徴とする。
【発明の効果】
【0011】
本発明によれば、検査対象のECUにおけるCAN通信機能を検査することが可能な検査技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態の検査装置を含む検査システムの概略構成を示す図。
【
図4】実施形態の検査装置を用いた検査の流れを説明する図
【
図5】メッセージの受信、メッセージのデータフォーマットの判別、検査メッセージの生成、送信までの流れを模式的に示す図
【
図6A】CANプロトコルに基づいた検査メッセージのデータフォーマットの構成例を示す図。
【
図6B】CAN FDプロトコルに基づいた検査メッセージのデータフォーマットの構成例を示す図。
【
図7】応答メッセージの受信、確認フィールドの信号レベルの確認、受信機能の判定までの流れを模式的に示す図。
【
図8】ビットレートの判別処理の流れを説明する図。
【
図9】データフォーマットの判別処理の流れを説明する図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0014】
[検査装置10を含む検査システムの概略構成]
図1は実施形態に係る検査装置10を含む検査システムの概略構成を示す図である。
図1では、例示的に、デバイス20に含まれるECUを検査対象のECU200として示している。デバイス20は、例えば、IPU(Integrated Power Unit)、DU(Drive Unit)、またはCHGR(Charger)等であってもよい。本実施形態の検査装置10は、検査対象のECU200のCAN通信機能を検査する検査装置である。検査装置10は、CAN通信部100と電源供給部105とを有する。
【0015】
IPUやDU等のデバイス20が車両におけるCANに接続した状態では、各デバイス20のECUは通信ノードとして機能するが、ここでは、CAN接続用のカプラを取り外して、検査装置10と検査対象のECU200(通信回路210)とを1対1に接続し、検査対象のECU200からの信号(メッセージ)を確認することにより、検査対象のECU200におけるCAN通信機能を検査するものである。
【0016】
接続部30は、接続用のカプラ34を介して、検査装置10(CAN通信部100)と、検査対象のECU200(通信回路210)と1対1で接続する。接続部30は、CAN通信用のバス信号線としてCANL31とCANH32とを有する。
【0017】
電源供給部105は外部電源から所定電圧(例えば、12V)に変換した電源電圧VCCを、電源線33を介して検査対象のECU200に供給することが可能である。接続部30は、バス信号線31、32と電源線33とを含んでもよい。なお、電源電圧VCCは、電源供給部105からの供給に限られず、車両側から検査対象のECU200に電源電圧VCCを供給してもよい。車両側から電源電圧VCCを供給する場合には、電源線33は必須ではなく、接続部30は、少なくともバス信号線31、32を含むように構成すればよい。
【0018】
[検査対象のECU200]
図2は検査対象のECU200の回路構成例を示す図である。ECU200は、通信回路210とコントローラ240とを有する。通信回路210は、ECU200から出力された信号に基づいたメッセージの送信処理を行う送信回路220と、外部から受信した信号(メッセージ)の受信処理を行う受信回路230と、を有する。コントローラ240は通信回路210における送信回路220および受信回路230の動作を統括する制御部である。
【0019】
接続部30のバス信号線31(CANL)は低電位側の信号線であり、バス信号線32(CANH)は、バス信号線31に比べて高電位側の信号線である。電位は、検査装置10におけるグランドの電位(即ち、接地電位)を基準とした電位である。
【0020】
送信回路220には、コントローラ240から、送信信号TXDが入力され、送信回路220は、送信信号TXDに基づいて生成した、ハイレベルまたはローレベルの信号レベルを含む信号(メッセージ)を出力する。また、受信回路230は、バス信号線31,32から受信した、ハイレベルまたはローレベルの信号レベルを含む信号(メッセージ)を受信信号RXDに変換し、この変換後の受信信号RXDをコントローラ240に出力する。
【0021】
信号レベルにおいて、ハイレベルは、データ値としては、例えば、論理値1に該当し、バス信号線の電位としては、レセシブレベル(CANH:32)に対応する。また、ローレベルは、データ値としては、例えば、論理値0に該当し、バス信号線の電位としては、ドミナントレベル(CANL:31)に対応する。ドミナントとは、バス信号線31、32の伝送信号において優位な方の信号を意味し、レセシブとは、バス信号線31、32の伝送信号において劣位な方の信号を意味する。なお、ECU200の内部における具体的な信号処理は、公知技術であり、詳細な説明は省略する。
【0022】
[検査装置10]
(機能構成)
図3は、本実施形態の検査装置10の機能構成を示す図である。検査装置10は、機能構成として、初期メッセージ確認部110、送信機能判定部120、検査メッセージ作成部130、送信部140、受信部150、確認部160、受信機能判定部170、および判定時間変更部180を有する。
【0023】
これらの機能構成は、検査装置10の記憶媒体に記憶された所定のコンピュータプログラムがRAMに読み出されて、検査装置10のCPUが信号処理を実行することで実現される。また、同様の機能を果たすのであれば、それらは集積回路などで構成してもよい。
【0024】
(感度切替機能の設定)
本実施形態の検査装置10は、検査の判定時間を不図示の感度切替スイッチにより、標準モードと敏感モードとを切り替えることが可能である。
【0025】
標準モードの第1の連続判定時間(例えば、1.5秒)は、標準的な車両の異常検知条件に合わせた設定となっている。しかしながら、実際に生じ得る不具合は、修理現場の限られた検査時間の中で再現しにくい側面がある。例えば、ハンダが剥がれかかっているなど、不安定な状態では、不具合状態が連続的に発生せず、標準モードの時間設定では、動作不良の状態(異常)が継続する現象を検出しにくい場合も生じ得る。
【0026】
不具合状態が連続的に発生しにくい動作状態のECUに対しても、連続的な動作不良の状態を検出しやすいように、本実施形態の検査装置10では、第1の連続判定時間における信号のサンプリング時間に比べて短い敏感モードの第2の連続判定時間(例えば、0.75秒)で検査を行うことが可能な敏感モードが設けられている。
【0027】
判定時間変更部180は、CAN通信機能が正常か否かを判定するための連続した判定時間を、感度切替スイッチからの入力により、標準モードの第1の連続判定時間(例えば、1.5秒)から第1の連続判定時間に比べて短い敏感モードの第2の連続判定時間(例えば、0.75秒)に変更する。
【0028】
標準モードの設定時において、受信機能判定部170は、第1の連続判定時間に基づいて、ECU200(受信回路230)の受信機能が正常か否かを判定する。また、判定時間が判定時間変更部180により変更された場合に、すなわち、敏感モードの設定時において、受信機能判定部170は、第2の連続判定時間に基づいて、ECU200の受信機能が正常か否かを判定する。
【0029】
連続判定時間(第1の連続判定時間、第2の連続判定時間)において、動作不良の状態(異常)が継続する場合に、受信機能判定部170は、ECU200の受信機能は動作不良の状態であると判定する。
【0030】
また、標準モードと敏感モードとの切替は、送信機能の判定処理においても同様である。すなわち、標準モードの設定時において、送信機能判定部120は、第1の連続判定時間に基づいて、ECU200(送信回路220)の送信機能が正常か否かを判定する。また、判定時間が判定時間変更部180により変更された場合に、すなわち、敏感モードの設定時において、送信機能判定部120は、第2の連続判定時間に基づいて、ECU200の送信機能が正常か否かを判定する。連続判定時間(第1の連続判定時間、第2の連続判定時間)において、動作不良の状態(異常)が継続する場合に、送信機能判定部120は、ECU200の送信機能は動作不良の状態であると判定する。
【0031】
なお、感度の切り替えは、感度切替スイッチの操作により任意のタイミングで行うことが可能である。例えば、検査の開始時または検査の途中で、感度切替スイッチの操作により感度が切り替えられた場合に、判定時間変更部180は、判定時間の設定を第1の連続判定時間から第2の連続判定時間に変更することが可能である。または、判定時間変更部180は、判定時間の設定を第2の連続判定時間から第1の連続判定時間に変更することが可能である。
【0032】
[検査メッセージのデータフォーマット]
次に、検査メッセージ作成部130が作成する検査メッセージのデータフォーマットの構成を説明する。以下の説明は、CANまたはCANFDの通信プロトコルに基づいたデータフォーマットの概要であり、データフォーマットをデータフレームともいう。また、データフォーマット(データフレーム)において、ビット単位のデータが設定される領域をフィールドという。
図6A及び
図6Bで説明するデータフォーマット(データフレーム)は、検査装置10からECU200に検査メッセージ600を送信する際のデータフォーマットである。
【0033】
図6Aは、検査メッセージ作成部130が作成する、CANプロトコルに基づいた検査メッセージ600のデータフォーマット(データフレーム)の構成例を示す図である。また、
図6Bは、検査メッセージ作成部130が作成する、CAN FDプロトコルに基づいた検査メッセージのデータフォーマット(データフレーム)の構成例を示す図である。
図6A及び
図6Bにおいて、各データフォーマットの各部の数値は、何ビット分使用するかのデータの長さ(ビット長)を示している。
【0034】
(CAN標準フォーマット)
図6Aにおいて、ST61は、CANプロトコルに基づいた標準フォーマットのデータフレームを示し、ST62は、CANプロトコルに基づいた拡張フォーマットのデータフレームを示す。ST62では、SOFからデータフィールドまでの構成を部分的に例示しており、ST62において、データフィールド以降の構成はST61の標準フォーマットと同様である。
【0035】
図6AのST61、ST62において、上側の線はレセシブレベル(論理値1)の信号レベルを示し、下側の線は、ドミナントレベル(論理値0)の信号レベルを示す。ドミナントレベル側にしか線がない部分は、ドミナント固定のデータであり、レセシブレベル側にしか線がない部分は、レセシブ固定のデータを示す。両方に線があるものは、送信されるデータによって、ドミナントかレセシブに変化(反転)するデータを示す。
【0036】
SOF(Start Of Frame)は、データフレームの送信開始を示すフィールドである。SOFの信号レベルがバスアイドルのレセシブレベル(論理値1)からドミナントレベル(論理値0)へ変化することにより、検査対象のECU200は受信処理の同期を行うことができる。
【0037】
ID(識別子:Identifier)はデータ内容や送信ノードを識別するために使用される他に、通信調停の優先順位を決定するために使用することができる。標準フォーマットでは、識別子フィールド(IDフィールド)は11ビット長で構成されている。
【0038】
RTR(Remote Transmission Request)は、データフレームとリモートフレームとを識別するためのフィールドであり、ここで、リモートフレームは、データフレームの要求に使用されるフィールドである。RTRは識別子フィールド(IDフィールド)と同様に通信調停に使用することが可能である。
【0039】
IDEは、標準フォーマット(例えば、11ビット)、拡張フォーマット(例えば、29ビット)の区別を行うために使用されるフィールドである。標準フォーマットでは、ドミナントの信号(論理値0)がIDEに設定され、拡張フォーマットでは、レセシブの信号(論理値1)がIDEに設定される。
【0040】
「r」は予約ビットを示し、DLC(Data Length Code)は後続のデータフィールドにおいて、何バイトのデータが送信されるかを示すフィールドである。IDEと予約ビット(「r」)とDLCとを合わせてコントロールフィールドともいう。
【0041】
データフィールドは、送信されるデータの部分で、DLCによって設定されたデータ長のデータとなる。データフィールド内では全バイトは最上位ビット(MSB)により送信される。データフィールドは0~8バイト長(0~64ビット長)となっており、1バイトごとに長さを設定することが可能である。
【0042】
CRC(Cyclic Redundancy Check)は、SOF、ID、コントロールフィールド、データフィールドの送信値の演算結果を示すフィールドである。例えば、送信側のノードが送信値を演算し、演算した送信値をCRCに設定する。受信側のノードでは、送信ノードと同様にSOF、ID、コントロールフィールド、データフィールドの受信値を演算し、CRC設定値と比較することで、受信したメッセージ(データ)を正常に受信できたか否かを判定することができる。
【0043】
例えば、送信側のノードを検査対象のECU200とし、受信側のノードを検査装置10とした場合、検査装置10の受信部150は、受信したデータのSOF、ID、コントロールフィールド、データフィールドの受信値を演算し、CRC設定値と比較することで、受信したメッセージ(データ)を正常に受信できたか否かを判定することができる。CRC_DEL(CRCデリミタ)は、CRCシーケンスの終わりを示すフィールドである。CRCとCRC_DEL(CRCデリミタ)とを併せてCRCフィールドともいう。
【0044】
ACK(ACKnowledge)は、送信したCRCまでのデータが、送信先のノード(例えば、検査対象のECU200)の受信回路230で正常に受信できたかを判定するための確認フィールド610である。確認フィールドは1ビット長であり、送信側のノード(検査装置10)はドミナント(論理値0)の送信を行い、受信側のノード(ECU200)がCRCフィールドまで、データを正常に受信できた場合に、レセシブ(論理値1)の確認応答を送信する。受信側のノードが動作不良の場合には、確認フィールド610にドミナント(論理値0)が設定(維持)された確認応答が送信される。
ACK_DEL(ACKデリミタ)は、ACKフィールドの終わりを示すフィールドである。ACKとACK_DEL(ACKデリミタ)とを併せてACKフィールドともいう。ACK_DEL(ACKデリミタ)に続く、EOF(End Of Frame)はデータフレームの終わりに送信されるフィールドである。
【0045】
(CAN拡張フォーマット)
ST62に示す拡張フォーマットでは、標準フォーマット(ST61)と相違する構成について説明する。ベースIDは、11ビット長であり、標準フォーマットのIDは拡張フォーマットではベースIDと呼ばれる。拡張フォーマットでは、ベースIDに続くのはSRR(Substitute Remote Request Bit)であり、1ビット長のレセシブの信号が設定される。SRRに続いてIDE(Identifier Extension Bit)には1ビット長のレセシブの信号(論理値1)が設定される。
【0046】
拡張フォーマットでは、識別子フィールド(IDフィールド)は、11ビット長のベースIDフィールドと18ビット長の拡張IDフィールドとで構成されている。すなわち、拡張フォーマットでは、識別子フィールド(IDフィールド)は、29ビット長(=11ビット+18ビット)で構成されている。
【0047】
予約ビット(「r1」、「r0」)には、それぞれ1ビット長のドミナントの信号が設定される。DLC(Data Length Code)は後続のデータフィールドにおいて、何バイトのデータが送信されるかを示すフィールドである。予約ビット(「r1」、「r0」)とDLCとを合わせてコントロールフィールドともいう。
【0048】
(CAN FD標準フォーマット)
図6Bにおいて、ST63は、CAN FDプロトコルに基づいた標準フォーマットのデータフレームを示し、ST64は、CAN FDプロトコルに基づいた拡張フォーマットのデータフレームを示す。ST64では、SOFからデータフィールドまでの構成がST63の標準フォーマットと異なっており、ST64において、データフィールド以降の構成はST63の標準フォーマットと同様である。
【0049】
図6BのST63、ST64において、上側の線はレセシブレベル(論理値1)の信号レベルを示し、下側の線は、ドミナントレベル(論理値0)の信号レベルを示す。ドミナントレベル側にしか線がない部分は、ドミナント固定のデータであり、レセシブレベル側にしか線がない部分は、レセシブ固定のデータを示す。両方に線があるものは、送信されるデータによって、ドミナントまたはレセシブに変化(反転)するデータを示す。
【0050】
SOF(Start Of Frame)は、データフレームの送信開始を示すフィールドである。ノードからデータフレームが送信されるとき、最初に送信される部分はデータフレームの開始を表すためにドミナント状態にする。SOFの信号レベルがバスアイドルのレセシブレベル(論理値1)からドミナントレベル(論理値0)へ変化することにより、検査対象のECU200は受信処理の同期を行うことができる。
【0051】
CAN FDプロトコルのアービトレーション領域(調停領域)はID(識別子:Identifier)とRRS(Remote Request Substitution)で構成されている。ID(識別子:Identifier)はCANプロトコルと同様に、データ内容や送信ノードを識別するために使用される他に、通信調停の優先順位を決定するために使用することができる。CANプロトコルで使用されていたRTR(Remote Transmission Request)は1ビット長のRRSに置き換えられる。標準フォーマットでは、識別子フィールド(IDフィールド)は11ビット長で構成されている。
【0052】
CAN FDのコントロール領域は、IDE、FDF、res、BRS、ESI、DLCで構成される。CAN FDでは、CANプロトコルと比べてFDF、BRS、ESIが追加される。IDEはCANプロトコルと同様であり、標準フォーマット(例えば、11ビット)、拡張フォーマット(例えば、29ビット)の区別を行うために使用されるフィールドである。標準フォーマットでは、ドミナントの信号(論理値0)がIDEに設定され、拡張フォーマットでは、レセシブの信号(論理値1)がIDEに設定される。resは、CANプロトコルの予約ビットに相当し、DLC(Data Length Code)は後続のデータフィールドにおいて、何バイトのデータが送信されるかを示すフィールドである。
【0053】
FDF(FD Format Indicator)は、CANプロトコルとCAN FDプロトコルを区別するために使用されるフィールドである。CANプロトコルはドミナント(=0)が設定され、CAN FDプロトコルの場合にはレセシブ(=1)が設定される。
【0054】
BRS(Bit Rate Switch)は、データフェーズの高速化の切り替えを行うためのフィールドであり、送信ノードはBRSのサンプリングポイントで高速な転送速度のクロックモードに切替える。BRSの設定により高速な転送速度のクロックモードに切替えられると、応答する受信ノードも同様にクロックのモードが切り替えられる。
【0055】
ESI(Error State Indicator)は、送信ノードのエラー状態を示すデータフレームである。エラーが生じていない正常な状態を示すエラーアクティブの状態ではドミナントが設定され、エラーアクティブからエラーカウンタが一定の値を超えるとエラーパッシブに遷移する。エラーパッシブの状態ではレセシブが設定される。
【0056】
DLC(Data Length Code)は後続のデータフィールドにおいて、何バイトのデータが送信されるかを示すフィールドであり、データフィールドは、送信されるデータの部分で、DLCによって設定されたデータ長のデータとなる。データフィールド内では全バイトは最上位ビット(MSB)により送信される。CANプロトコルのデータフィールドは0~8バイト長(0~64ビット長)であるが、CAN FDプロトコルでは、最大64バイトまでのデータを送信することが可能であり、データ長として0~8、12、16、20、24、32、48、64バイトが選択可能である。
【0057】
CAN FDプロトコルのCRC(Cyclic Redundancy Check)領域は、Stuff Count、CRC、CRC Delimiter(CRC_DEL(CRCデリミタ))で構成される。
【0058】
4ビット長のStuff Countには、CRC領域より前のスタッフビットの数を8で割った余り(Stuff bit count modulo 8)をグレイコード化した値(3ビット)と、グレイコード化した値のパリティービット(1ビット)とが設定される。
【0059】
CRC(Cyclic Redundancy Check)には、データ領域(データフィールド)の増加に伴い伝送品質を維持するために、SOFからデータ領域のビットだけでなくStuff Countとスタッフビットも含め送信値の演算結果が設定される。送信データが16バイト以下の場合にCRCには17ビットのデータ領域が設定され、送信データが16バイトを超える場合にCRCには21ビットのデータ領域が設定される。
【0060】
CANプロトコルと同様にCAN FDプロトコルにおいて、SOFからデータ領域(データフォーマット)の末端までビットスタッフィングルールが採用される。CRC領域では、CRC領域の先頭と、固定されたビット位置に固定スタッフビットが配置され、固定スタッフビットの値は、その前のビットの値の逆の値が設定される。例えば、バス信号線31、32上で同一レベルの状態がN回(例えば、5回)連続した場合、それまで送信されていた状態と反対の状態ビット(スタッフビット)が挿入される。CRC_DEL(CRCデリミタ)は、CRCシーケンスの終わりを示すフィールドである。ビットスタッフィングルールにより、バス信号線31、32上で、同一レベルの状態(ドミナントまたはレセシブ)がN+1ビット(例えば、6ビット)以上継続した場合には、スタッフエラーとして処理される。
【0061】
CAN FDプロトコルにおけるACK(ACKnowledge)領域(確認領域)は、CANプロトコルと同様に、ACKとACK Delimiter(ACK _DEL(ACKデリミタ))で構成される。ACK(ACKnowledge)は、送信したCRCまでのデータが、送信先ノード(例えば、検査対象のECU200)の受信回路230で正常に受信できたかを判定するための確認フィールド610である。確認フィールドは1ビット長であり、送信側のノード(検査装置10)はドミナント(論理値0)の送信を行い、受信側のノード(ECU200)がCRCフィールドまで、データを正常に受信できた場合に、レセシブ(論理値1)の確認応答を送信する。受信側のノードが動作不良の場合には、確認フィールド610にドミナント(論理値0)が設定(維持)された確認応答が送信される。ACK_DEL(ACKデリミタ)は、ACKフィールドの終わりを示すフィールドである。ACK_DEL(ACKデリミタ)に続く、EOF(End Of Frame)はデータフレームの終わりに送信されるフィールドである。
【0062】
(CAN FD拡張フォーマット)
ST64に示す拡張フォーマットでは、標準フォーマット(ST63)と相違する構成について説明する。ベースIDは、11ビット長であり、標準フォーマットのIDは拡張フォーマットではベースIDと呼ばれる。拡張フォーマットでは、ベースIDに続くのはSRR(Substitute Remote Request Bit)であり、1ビット長のドミナントの信号が設定される。SRRに続いてIDE(Identifier Extension Bit)には1ビット長の1ビット長のレセシブの信号(論理値1)が設定される。
【0063】
拡張フォーマットでは、識別子フィールド(IDフィールド)レセシブは、11ビット長のベースIDフィールドと18ビット長の拡張IDフィールドとで構成されている。すなわち、拡張フォーマットでは、識別子フィールド(IDフィールド)レセシブは、29ビット長(=11ビット+18ビット)で構成されている。
【0064】
[検査の処理フロー]
次に、本実施形態の検査装置10を用いた検査処理の流れを説明する。
図4は、検査装置10を用いた検査の処理フローを説明する図である。
図3に示した検査装置10の機能構成の各部の処理を、
図4の検査の処理フローとともに説明する。
【0065】
ステップS400で、検査を行う作業者(オペレータ)は、接続部30を用いて、検査装置10と検査対象のECU200の通信回路210とを1対1で接続する。
【0066】
次に、ステップS410で、検査装置10の電源を投入する。また、検査装置10の電源供給部105または車両側から検査対象のECU200に電源を供給する。これにより、検査装置10と検査対象のECU200との間でCAN通信が確立する。
【0067】
[ECU200の送信機能検査]
ステップS420において、初期メッセージ確認部110は、ECU200の送信回路220から送信される初期メッセージの有無を確認する。ここで、初期メッセージとは、ECU200に電源を供給した後に、ECU200から最初に送信される所定のデータフォーマットに基づいたメッセージをいう。初期メッセージ確認部110は、電源供給部105からECU200に電源を供給した後、または車両側からECU200に電源を供給した後に、ECUの送信回路220から送信される初期メッセージの有無を確認する。
【0068】
送信機能判定部120は、初期メッセージ確認部110の確認(初期メッセージの有無)により、ECU200の送信回路220の送信機能が正常か否かを判定する。送信機能判定部120は、連続判定時間(第1の連続判定時間、第2の連続判定時間)において、動作不良の状態(異常)が継続する場合に、ECU200の送信機能は動作不良の状態であると判定する。所定の連続判定時間において、ECU200の送信回路220から初期メッセージが出力された場合に、送信機能判定部120は、ECU200の送信回路220は正常と判定する。また、所定の連続判定時間において、ECU200の送信回路220から初期メッセージが出力されない場合に、送信機能判定部120は、ECU200の送信回路220は動作不良と判定する。本実施形態の検査装置10によれば、検査対象のECU200におけるCAN通信機能(送信機能)を検査することができる。なお、初期メッセージの有無の確認は、
図8のステップS820、S870の処理のように、エラーの有無を判断しない点で相違する。本実施形態において、メッセージの受信とは、後にステップS435で説明するようにCRCエラー、フォームエラー及びスタッフエラーのうち、いずれのエラーも検出されずにメッセージを取得する処理であり、この点で初期メッセージの有無の確認は、メッセージの受信と区別される。
【0069】
そして、ステップS430において、送信機能判定部120は、検査装置10の不図示の表示部に判定結果を表示させる。表示部の構成は、例えば、判定結果を視認可能なインジケータでもよいし、液晶や有機EL等の表示デバイスを用いて判定結果を表示してもよい。また、視覚的な表示に限らず、例えば、不図示のスピーカ(音源)から、正常判定時の報知音と、動作不良時の報知音とを切り替えて報知するようにしてもよい。これにより、検査を行う作業者(オペレータ)は、視覚的または聴覚的に検査装置10の判定結果を確認することが可能になる。
【0070】
[ECU200の受信機能検査]
検査装置10は、ECU200の受信機能検査を行うために、ECU200から送信されたメッセージに基づいて、CAN通信における伝送速度(ビットレート:S435)と、データフォーマットの判別を行う(S440)。検査装置10は、ECU200の送信回路220から受信したメッセージ(最初に出力される初期メッセージ、または、初期メッセージの後に送信されるメッセージ)に基づいて、メッセージのビットレートの判別およびフォーマットを判別する。
【0071】
(ビットレートの判別(メッセージの受信))
ステップS435において、受信部150は、ECU200から受信したメッセージに基づいて、CAN通信における伝送速度(ビットレート)を判別する。メッセージの伝送速度(ビットレート)の判別処理を行うことにより、エラーなく、ECU200からメッセージを受信することができ、後のステップS440において、データフォーマットを正確に判別することができる。
図8は伝送速度(ビットレート)の判別処理の具体的な流れを説明する図である。
【0072】
ステップS810において、受信部150は、ビットレートの初期値として、1Mbpsを設定する。
【0073】
ステップS820において、受信部150は初期値の設定(S810)に基づいて、ECU200のメッセージを受信できるか否かを判定する。受信部150はメッセージに基づいて演算したCRCと、メッセージに含まれるCRCの値が合致しなかった場合にCRCエラーとして(S820-NO)、処理をステップS830に進める。
【0074】
また、メッセージにおける、CRC_DEL(CRCデリミタ)、ACK_DEL(ACKデリミタ)、EOFは、通常、レセシブ(論理値1)と決められており、ここで、ドミナント(論理値0)が検出された場合、フォームエラーとして(S820-NO)、処理をステップS830に進める。
【0075】
また、受信部150は、ビットスタフィングルールが守られているか監視し、バス信号線31、32上で同一レベルの状態が、所定ビット(例えば、6ビット)以上継続した場合には、スタッフエラーとして(S820-NO)、処理をステップS830に進める。
【0076】
受信部150は、CRCエラー、フォームエラー及びスタッフエラーのうち、少なくともいずれか一つのエラーを検出した場合に、処理をステップS830に進める。
【0077】
ステップS830において、受信部150は、初期値のビットレートを下げて(1Mbps→500Kbps)、メッセージを受信できるか判定する(S820)。メッセージを受信できない場合に(S820-NO)、受信部150は、ビットレートの値を順次下げて(500Kbps→250Kbps→125Kbps)、メッセージを受信できるか判定する(S820)。
【0078】
受信部150は、CRCエラー、フォームエラー及びスタッフエラーのうち、いずれのエラーも検出しない場合に、メッセージを受信できたと判定し(S820-YES)、処理をステップS840に進める。
【0079】
ステップS840において、受信部150は、エラー無くメッセージを受信することができたビットレート(Bit rate)を決定する。例えば、250Kbpsの設定で、CRCエラー、フォームエラー及びスタッフエラーのうち、いずれのエラーも検出されずにメッセージを受信できた場合、受信部150はメッセージのビットレートを250Kbpsと決定する。
【0080】
次に、ステップS850において、受信部150は、メッセージのフォーマットのFDFの値が1であるか否かを判定し、FDFの値が1でない場合(S850-NO)、本処理はステップS435に戻される。この場合、CANプロトコルにおける伝送速度(ビットレート)は、ステップS840で決定された値となる。一方、ステップS850の判定で、FDF=1の場合(S850-YES)、処理はステップS860に進められる。
【0081】
そして、ステップS860において、受信部150は、CAN FDプロトコルのビットレートの初期値として、1Mbpsを設定する。
【0082】
ステップS870において、受信部150は初期値の設定(S860)に基づいて、ECU200のメッセージを受信できるか否かを判定する。受信部150は、ステップS820の判定処理と同様にエラーの有無を判定する。ステップS870において、受信部150はCRCエラー、フォームエラー及びスタッフエラーのうち、少なくともいずれか一つのエラーを検出した場合に、処理をステップS880に進める。
【0083】
ステップS880において、受信部150は、初期値のビットレートを上げて(1Mbps→2Mbps)、メッセージを受信できるか判定する(S870)。メッセージを受信できない場合に(S870-NO)、受信部150は、ビットレートの値を順次上げて(2Mbps→4Mbps→5Mbps→8Mbps)、メッセージを受信できるか判定する(S870)。
【0084】
受信部150は、CRCエラー、フォームエラー及びスタッフエラーのうち、いずれのエラーも検出しない場合に、メッセージを受信できたと判定し(S870-YES)、処理をステップS890に進める。
【0085】
ステップS890において、受信部150は、エラー無くメッセージを受信することができたビットレート(Bit rate)を決定する。例えば、8Mbpsで、CRCエラー、フォームエラー及びスタッフエラーのうち、いずれのエラーも検出されずにメッセージを受信できた場合、受信部150はメッセージのビットレートを8Mbpsと決定する。そして、ステップS890の後、本処理はステップS435に戻される。この場合、CAN FDプロトコルにおける伝送速度(ビットレート)は、ステップS890で決定された値となる。以上の処理に伝送速度(ビットレート)の判別処理は終了する。
【0086】
(データフォーマットの判別)
ステップS440において、受信部150は、ECU200から送信されたメッセージのデータフォーマットを判別する。
図9はデータフォーマットの判別処理の具体的な流れを説明する図である。
【0087】
ステップS435において、受信部150はビットレートの判定を行う。この処理は、先に
図8で説明した処理であり、受信部150は、ステップS435の処理に基づいて、送信されたメッセージの伝送速度(ビットレート)を取得する。
【0088】
ステップS910において、受信部150は、メッセージのIDEに設定されている信号が、ドミナントであるか否かを判定する。IDEに設定されている信号がドミナント(IDE=0)である場合(S910-True)、受信部150は、処理をS920に進める。
【0089】
ステップS920において、受信部150は、メッセージのFDFに設定されている信号がドミナントであるか否かを判定する。FDFに設定されている信号がドミナント(FDF=0)である場合(S920-True)、受信部150は、処理をS940に進める。
【0090】
そして、ステップS940において、受信部150は、受信したメッセージのフォーマットをCANプロトコルの標準フォーマット(11bit CAN)と判定する。
【0091】
一方、ステップS920の判定で、FDFに設定されている信号がレセシブ(FDF=1)である場合(S920-False)、受信部150は、処理をS950に進める。
【0092】
そして、ステップS950において、受信部150は、受信したメッセージのフォーマットをCAN FDプロトコルの標準フォーマット(11bit CAN FD)と判定する。
【0093】
一方、ステップS910の判定で、IDEに設定されている信号がレセシブ(IDE=1)である場合(S910-False)、受信部150は、処理をS930に進める。
【0094】
ステップS930において、受信部150は、メッセージのFDFに設定されている信号がドミナントであるか否かを判定する。FDFに設定されている信号がドミナント(FDF=0)である場合(S930-True)、受信部150は、処理をS960に進める。
【0095】
そして、ステップS960において、受信部150は、受信したメッセージのフォーマットをCANプロトコルの拡張フォーマット(29bit CAN)と判定する。
【0096】
一方、ステップS930の判定で、FDFに設定されている信号がレセシブ(FDF=1)である場合(S930-False)、受信部150は、処理をS970に進める。
【0097】
そして、ステップS970において、受信部150は、受信したメッセージのフォーマットをCAN FDプロトコルの拡張フォーマット(29bit CAN FD)と判定する。以上の処理によりフォーマットの判別処理は終了する。
【0098】
(検査メッセージ600の生成)
ステップS450において、検査メッセージ作成部130は、伝送速度(ビットレート)の判別結果(S435)及びデータフォーマットの判別結果(S440)に基づいて、検査対象のECU200の通信プロトコルに対応する検査メッセージ600を生成する。本ステップの処理により、検査メッセージ作成部130は、検査対象のECU200から受信したメッセージに対応したデータフォーマットの確認フィールド610に所定の信号レベルを設定した検査メッセージ600を作成する。
【0099】
検査装置10の受信機能判定部170は、ECU200の受信機能を、検査メッセージ600(
図6A,
図6B)の確認(ACK)フィールド610に設定した信号レベル(論理値)が、ECU200からの応答メッセージで変化(反転)しているか否か基づいて判定する。
図5は、ECU200から送信されるメッセージの受信(ビットレートの判別:S435)、メッセージのデータフォーマットの判別(S440)、検査メッセージ600の生成(S450)、検査メッセージ600の送信(S460)までの流れを模式的に示す図である。
【0100】
CAN通信におけるメッセージのデータフォーマットは多岐にわたるものであるが、本実施形態の検査装置10では、検査対象のECU毎に異なるデータフォーマットを記憶しておき、データフォーマットの自動判別を行うことができ、伝送速度(ビットレート)の判別結果(S435)及びデータフォーマットの判別結果(S440)に基づいて、検査対象のECU200の通信プロトコルに対応する検査メッセージを作成することができる。
【0101】
これにより、検査を行う作業者(オペレータ)が検査対象のECU200の仕様を検査に合わせて準備する場合に比べて、作業者の負担を軽減しつつ、より短時間で検査を行うことが可能になる。
【0102】
データフォーマットの判別処理を行うために、本実施形態の検査メッセージ作成部130は、蓄積部133と選択部135とを有する(
図3)。蓄積部133は、複数の通信プロトコルの種類、フレームレート及び伝送速度の組み合わせに基づいて分類されたデータフォーマットを蓄積し、選択部135は、ECU200の送信回路220から受信したメッセージに対応したデータフォーマットを蓄積部133から選択する。蓄積部133は、例えば、種々のデータフォーマットを不揮発的に保持できる記録媒体であって、たとえば、ハードディスク装置、フラッシュメモリ等によって実現される。
【0103】
蓄積部133は、例えば、通信プロトコルの種類(例えば、CAN、CAN FD等)、フレームレート(例えば、11bit、29bit等)、及び伝送速度(例えば、CAN:125Kbps、250Kbps、500Kbps、1Mbps;CANFD:1Mbps、2Mbps、4Mbps、5Mbps、8Mbps等)の組み合わせに基づいて分類されたデータフォーマットを蓄積する。なお、データフォーマットの分類例は例示的なものであり、この例に限定されるものではない。
【0104】
検査メッセージ作成部130は、選択部135により選択されたデータフォーマットに基づいて、検査メッセージ600(
図6A、
図6B)を作成する。例えば、選択部135が、通信プロトコルの種類(CAN FD)、フレームレート(29bit)、伝送速度(8Mbps)のデータフォーマットを蓄積部133から選択した場合には、検査メッセージ作成部130は、選択部135により選択されたデータフォーマットに基づいて、検査メッセージを作成する。
【0105】
本ステップにおいて、検査メッセージ作成部130は、データフォーマットの自動判別機能により、検査対象のECU200ごとのデータフォーマットに対応した検査メッセージ600を生成する。検査メッセージ作成部130は、検査メッセージ600をECU200の受信回路230で正常に受信できたか否かを判定するために、データフォーマットの確認フィールド(ACKフィールド)610に所定の信号レベルを設定した検査メッセージ600を作成する。
【0106】
本実施形態では、検査メッセージ作成部130は、例えば、確認フィールド(ACKフィールド)610に、所定の信号レベルとして、論理値0(ドミナントレベル)を設定した検査メッセージ600を作成する。
【0107】
(検査メッセージ600の送信)
そして、ステップS460において、送信部140は、検査メッセージ作成部130により作成された検査メッセージ600を、ECU200の受信回路230に送信する。送信部140は、S435で判別した伝送速度に合わせて検査メッセージ600をECU200に送信する。
【0108】
ECU200は、受信した検査メッセージ600を受信回路230で処理し、検査メッセージ600の応答として、応答メッセージを検査装置10に送信する。
図7は、ECU200から送信される応答メッセージの受信(S470)、応答メッセージにおける確認フィールド(ACKフィールド)の信号レベルの確認(S480)、受信機能の判定(S490)までの流れを模式的に示す図である。
【0109】
(応答メッセージの受信)
ステップS470において、受信部150は、検査メッセージ600に対する応答メッセージをECU200の送信回路220から受信する。
【0110】
(確認(ACK)フィールドの設定を確認)
CANの通信プロトコルでは、ECUは、メッセージを受信した後には、確認フィールド(ACKフィールド)610の信号レベルを変更(反転)して応答するというルールが定められている。本実施形態では、このルールを利用して、ECU200における受信機能が正常であるか否かを判定するために、確認部160は、確認フィールド(ACKフィールド)の信号レベルの変更(反転)の有無を確認する。変更(反転)とは、例えば、論理値0(ドミナントレベル)から論理値1(レセシブレベル)への信号レベルの変化である。確認フィールド610は1ビット長であり、送信側のノードである検査装置10はドミナント(論理値0)の送信を行い、受信側のノードであるECU200がCRCフィールドまで、データを正常に受信できた場合に、レセシブ(論理値1)の確認応答を送信する。受信側のECU200の送信機能(受信機能)が動作不良の場合には、確認フィールド610にドミナント(論理値0)が設定(維持)された確認応答が送信される。
【0111】
ステップS480において、確認部160は、応答メッセージにおける確認フィールド(ACKフィールド)の信号レベルが、検査メッセージ600における確認フィールド(ACKフィールド)の信号レベルの設定に対して変更されているか否かを確認する。実施形態の検査メッセージ600では、確認フィールド(ACKフィールド)の信号レベルは、所定の信号レベルとして、論理値0(ドミナントレベル)が設定されているものとする。
【0112】
確認部160は、応答メッセージにおける確認フィールド(ACKフィールド)の信号レベルが、検査メッセージ600の設定に対して変更されているか確認する。すなわち、論理値0(ドミナントレベル)の設定が、論理値1(レセシブレベル)に変更されているか、もしくは、論理値0(ドミナントレベル)の設定が維持されているか否かを確認(判定)する。
【0113】
(受信機能の判定処理)
ステップS490において、受信機能判定部170は、確認部160の確認に基づいて、ECU200の受信回路230の受信機能が正常か否かを判定する。本ステップにおいて、受信機能判定部170は、第1の連続判定時間または第2の連続判定時間において、応答メッセージにおける確認フィールド610の信号レベルが検査メッセージ600の設定に対して変更された状態が継続する場合に、ECU200の通信機能(受信機能)は正常と判定する。また、受信機能判定部170は、第1の連続判定時間または第2の連続判定時間において、応答メッセージにおける確認フィールド610の信号レベルが検査メッセージの設定に対して維持された状態が継続する場合に、ECU200の通信機能(受信機能)は動作不良の状態であると判定する。ECU200の受信回路230が正常に検査メッセージの受信処理を行った場合、確認フィールド(ACKフィールド)の値を、論理値0(ドミナントレベル)から論理値1(レセシブレベル)に変更(反転)した受信信号RXDに変換し、変換後の受信信号RXDをコントローラ240に出力する。
【0114】
コントローラ240は、受信信号RXDに基づいた応答メッセージ(TXD)を生成し、送信回路220に出力する。送信回路220から送信される応答メッセージは、受信回路230における変換処理の結果が反映された確認フィールド(ACKフィールド)の値が設定される。
【0115】
CANの通信プロトコルのルールに従い、受信回路230における受信機能が正常であれば、応答メッセージにおける確認フィールド(ACKフィールド)600の信号レベルは、論理値0(ドミナントレベル)から論理値1(レセシブレベル)に変更(反転)されたものとなる。この場合、受信機能判定部170は、ECU200(受信回路230)における受信機能は正常と判定する。一方、ECU200(受信回路230)の受信機能に動作不良が生じている場合には、応答メッセージにおける確認フィールド(ACKフィールド)610の信号レベルは、論理値0(ドミナントレベル)に維持される。この場合、受信機能判定部170は、ECU200(受信回路230)における受信機能は動作不良と判定する。受信機能判定部170は、判定時間変更部180により設定された第1の連続判定時間または第2の連続判定時間において、応答メッセージにおける確認フィールドの信号レベルが検査メッセージ600の設定に対して変更された状態が継続する場合に、ECU200の受信機能は正常と判定する。また、受信機能判定部170は、第1の連続判定時間または第2の連続判定時間において、応答メッセージにおける確認フィールドの信号レベルが検査メッセージ600の設定に対して維持された状態が継続する場合に、ECU200の受信機能は動作不良の状態であると判定する。
【0116】
ステップS495において、受信機能判定部170は、検査装置10の不図示の表示部に判定結果を表示させる。判定結果の表示は、ステップS430と同様である。以上の処理に検査装置10による一連の検査フローは終了する。
【0117】
(変形例)
確認フィールド610における信号レベルの変更(反転)は、上記の実施形態の場合に限られず、論理値1(レセシブレベル)から論理値0(ドミナントレベル)への信号レベルの変化であってもよい。この場合、送信側のノードである検査装置10はレセシブ(論理値1)の送信を行い、受信側のノードであるECU200がCRCフィールドまで、データを正常に受信できた場合に、ドミナント(論理値0)の確認応答を送信する。受信側のECU200の送信機能(受信機能)が動作不良の場合には、確認フィールド610にレセシブ(論理値1)が設定(維持)された確認応答が送信される。
【0118】
この場合、確認部160は、論理値1(レセシブレベル)の設定が、応答メッセージにおいて、論理値0(ドミナントレベル)に変更されているか、もしくは、論理値1(レセシブレベル)の設定が維持されているか否かを確認(判定)すればよい。
【0119】
(実施形態のまとめ)
上記実施形態は、少なくとも以下の検査装置(10)および検査方法を開示する。
【0120】
構成1.上記実施形態の検査装置は、検査対象のECU(200)のCAN通信機能を検査する検査装置(10)であって、
前記ECUの通信回路と前記検査装置とを1対1で接続する接続部(30)と、
検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する検査メッセージ作成部(130)と、
前記検査メッセージを前記ECUに送信する送信部(140)と、
前記検査メッセージに対する応答メッセージを前記ECUから受信する受信部(150)と、
前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否か確認する確認部(160)と、
前記確認部の確認に基づいて、前記ECUの受信機能が正常か否かを判定する受信機能判定部(170)と、を備える。
【0121】
構成1の検査装置によれば、検査対象のECUにおけるCAN通信機能(受信機能)を検査することができる。これにより、良品交換による検査を行うことなく検査対象のECUにおけるCAN通信機能(受信機能)の検査を行うことができ、検査用に準備する良品デバイスの費用の削減および検査作業におけるデバイスの交換作業に要する工数数を削減することが可能になる。
【0122】
構成2.上記実施形態の検査装置は、前記ECUに電源を供給する電源供給部(105)と、
前記ECUの前記ECUから送信される初期メッセージの有無を確認する初期メッセージ確認部(110)と、
前記初期メッセージ確認部による前記初期メッセージの有無の確認により、前記ECUの送信機能が正常か否かを判定する送信機能判定部(120)と、を更に備え、
前記初期メッセージ確認部(120)は、前記電源供給部から前記ECUに前記電源を供給した後、または車両側から前記ECUに電源を供給した後に、前記ECUから送信される前記初期メッセージの有無を確認する。
【0123】
構成2の検査装置によれば、検査対象のECUにおけるCAN通信機能(送信機能)を検査することができる。これにより、良品交換による検査を行うことなく検査対象のECUにおけるCAN通信機能(送信機能)の検査を行うことができ、検査用に準備する良品デバイスの費用の削減および検査作業におけるデバイスの交換作業に要する工数数を削減することが可能になる。
【0124】
構成3.前記検査メッセージ作成部(130)は、
通信プロトコルの種類、フレームレート、および伝送速度の組み合わせに基づいて分類されたデータフォーマットを蓄積する蓄積部(133)と、
前記ECUから受信したメッセージに対応したデータフォーマットを前記蓄積部から選択する選択部(135)と、を更に備え、
前記検査メッセージ作成部(130)は、前記選択部により選択された前記データフォーマットに基づいて、前記検査メッセージを作成する。
【0125】
構成3の検査装置によれば、ECUから受信したメッセージのデータフォーマットの自動判別を行い、この判別結果に基づいて、ECUから受信したメッセージに対応したデータフォーマットの検査メッセージを作成することができる。これにより、検査を行う作業者(オペレータ)が検査対象のECUの仕様を検査に合わせて準備する場合に比べて、作業者の負担を軽減しつつ、より短時間で検査を行うことが可能になる。
【0126】
構成4.上記実施形態の検査装置(10)は、前記CAN通信機能が正常か否かを判定するための連続した判定時間を、感度切替手段からの入力により、第1の連続判定時間から前記第1の連続判定時間に比べて短い第2の連続判定時間を変更する判定時間変更部(180)を更に備える。
【0127】
構成5.前記受信機能判定部(170)は、前記第1の連続判定時間に基づいて、前記ECUの受信機能が正常か否かを判定し、
前記判定時間が前記判定時間変更部により変更された場合に、前記受信機能判定部は、前記第2の連続判定時間に基づいて、前記ECUの受信機能が正常か否かを判定する。
【0128】
構成6.前記受信機能判定部(170)は、前記第1の連続判定時間または前記第2の連続判定時間において、前記応答メッセージにおける前記確認フィールドの信号レベルが前記検査メッセージの設定に対して変更された状態が継続する場合に、前記ECUの受信機能は正常と判定し、
前記第1の連続判定時間または前記第2の連続判定時間において、前記応答メッセージにおける前記確認フィールドの信号レベルが前記検査メッセージの設定に対して維持された状態が継続する場合に、前記ECUの受信機能は動作不良の状態であると判定する。
【0129】
構成4、構成5および構成6の検査装置によれば、不具合状態が連続的に発生しにくい動作状態のECUに対しても、短いサンプリング時間に連続する異常検出を検出することが可能になる。
【0130】
構成7.上記実施形態の検査方法は、接続部(30)を介して検査対象のECUの通信回路と1対1で接続し、当該検査対象のECUのCAN通信機能を検査する検査装置(10)の検査方法であって、
前記検査装置の検査メッセージ作成部(130)が、検査対象のECUから受信したメッセージに対応したデータフォーマットの確認フィールドに所定の信号レベルを設定した検査メッセージを作成する工程(S450)と、
前記検査装置の送信部(140)が、前記検査メッセージを前記ECUに送信する工程(S460)と、
前記検査装置の受信部(150)が、前記検査メッセージに対する応答メッセージを前記ECUから受信する工程(S470)と、
前記検査装置の確認部(160)が、前記応答メッセージにおける確認フィールドの信号レベルが前記検査メッセージの設定に対して変更されているか否かを確認する確認工程(S480)と、
前記検査装置の受信機能判定部(170)が、前記確認工程での確認の結果に基づいて、前記ECUの受信機能が正常か否かを判定する工程(S490)と、を有する。
【0131】
構成7の検査方法によれば、検査対象のECUにおけるCAN通信機能(受信機能)を検査することができる。これにより、良品交換による検査を行うことなく検査対象のECUにおけるCAN通信機能(受信機能)の検査を行うことができ、検査用に準備する良品デバイスの費用の削減および検査作業におけるデバイスの交換作業に要する工数数を削減することが可能になる。
【0132】
(その他の実施形態)
本発明は、上述の実施形態の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたはシステムを構成する検査装置に供給し、その検査装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出して、検査装置の処理を実行することも可能である。
【0133】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【符号の説明】
【0134】
10:検査装置、20:検査対象のECU、30:接続部、
110:初期メッセージ確認部、120:送信機能判定部、
130:検査メッセージ作成部、140:送信部、150:受信部
160:確認部、170:受信機能判定部、180:判定時間変更部