JP4722457B2 - Canシステム - Google Patents

Canシステム Download PDF

Info

Publication number
JP4722457B2
JP4722457B2 JP2004321797A JP2004321797A JP4722457B2 JP 4722457 B2 JP4722457 B2 JP 4722457B2 JP 2004321797 A JP2004321797 A JP 2004321797A JP 2004321797 A JP2004321797 A JP 2004321797A JP 4722457 B2 JP4722457 B2 JP 4722457B2
Authority
JP
Japan
Prior art keywords
data
error
gate
signal
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004321797A
Other languages
English (en)
Other versions
JP2006134029A (ja
Inventor
俊之 上村
靖之 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2004321797A priority Critical patent/JP4722457B2/ja
Priority to US11/261,522 priority patent/US7373577B2/en
Publication of JP2006134029A publication Critical patent/JP2006134029A/ja
Priority to US12/076,980 priority patent/US7958438B2/en
Priority to US12/846,404 priority patent/US8001453B2/en
Application granted granted Critical
Publication of JP4722457B2 publication Critical patent/JP4722457B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation

Description

この発明は、車両等の内部に配設された複数の電気制御ユニット間における送受信を司るCAN(Controller Area Network)システムに関し、特に、通信品質の評価を簡易に行えるCANシステムに関する。
近年では、自動車内部や医療機器内部には様々な電気制御ユニット(ECU:Electric Control Unit)が配設されている。そして、各ユニット間における情報の送受信は、LAN(Local Area Network)の一種たるCANシステムにより制御されている。
車両や医療機器においては、動作の安全性確保が最優先される。そのため、CANシステムでは、誤り訂正やエラー発生防止に力点が置かれ、各ユニット間での通信品質の確保が最重視されている。
なお、この出願の発明に関連する先行技術文献情報としては次のものがある。
特開2003−244779号公報 特開2003−229875号公報
従来のCANシステムにおいては、通信品質の評価に当たり、以下のような問題があった。
すなわち、CANシステム内の各ECUがエラーデータの認識を行うか否かの通信品質評価を行う場合、CANシステム内の通信バス上に、故意にエラーデータを発生させる必要がある。このエラーデータの発生は、再現可能な妨害を通信バス上に発生させることが可能なハードウェアを通信バスに接続して行っていた。このようなハードウェアの具体例として、例えばvector社の“CANstressD”や“CANstressDR”といった製品がある。
しかしながら、このようなハードウェアを用いた通信品質評価では、通信信号中の想定位置にエラーデータを正確に発生させることができない場合があった。例えばISO11898(いわゆるCAN−クラスC)の場合、125kbps(kilo-bit per second)乃至1Mbps(Mega-bit per second)の通信速度が規定されているが、上記のハードウェアでは、エラーデータの挿入タイミングの遅延を防ぐために、125kbpsまでの通信速度にしか対応しておらず、最速の1Mbpsの通信速度には対応していなかった。よって、上記のようなハードウェアによる通信品質評価では、1Mbpsの通信速度で動作する場合のエラーデータ発生および通信品質評価を正確に行うことはできなかった。
また、自己診断プログラムを起動させる場合にも問題がある。
例えばCANシステムを採用する自動車においては一般的に、マイクロコンピュータ内の固定記憶装置に自己診断プログラムが搭載されていることが多い。自動車内部に搭載した半導体装置が長期間の使用により劣化して動作不良を起こす場合に、動作異常の検出を行うためである。
自己診断プログラムでは一般的に、送信した通信データを自らが受信するループバックモードが採用されている。ループバックモードでは、送信および受信が正常になされる通信が想定されているため、正常な通信に関する回路の欠陥を検査することは可能であった。しかし、ループバックモードにおいては、エラーデータを含んだ通信を想定してはおらず、エラーデータを含んだ通信の評価を行うことはできなかった。そのため、エラー検出処理に関する回路(=エラーマネジメント回路)自体が欠陥を有していないかどうかの検査を行うことはできなかった。
この発明は上記の事情に鑑みてなされたもので、CAN用バスに外付けするエラーデータ発生用ハードウェアを必要とせずにエラーデータを発生可能なCANシステム、および、ループバックモードにおいても、エラーデータを含んだ通信の評価を行うことが可能なCANシステムを提供することを目的とする。
本発明は、CAN(Controller Area Network)用バスと、前記CAN用バスにそれぞれ接続された複数のECU(Electric Control Unit)とを備えたCANシステムであって、前記複数のECUのうち少なくとも一つは、受信データに対してはCANのプロトコルに則ってデータ形式の解釈処理を行い、送信データに対してはCANのプロトコルに則ってデータ形式の調製処理を行うプロトコル処理部と、エラーデータの属性に関するエラーデータ情報を記憶するレジスタと、前記受信データに含まれた受信メッセージデータ、および、前記送信データに含ませる送信メッセージデータを保持可能なメッセージ処理部と、前記受信データにエラーデータが含まれているか否かを検出可能なエラーマネジメント回路とを有し、前記プロトコル処理部は、前記エラーデータ情報に基づいて、前記受信データまたは前記送信データ内に前記エラーデータを含ませ、前記エラーデータ情報には、前記受信データ中の前記エラーデータの挿入位置の情報、前記エラーデータのビット幅の情報、および、前記エラーデータのデータ値の情報が含まれ、前記プロトコル処理部は、前記受信データを受けて、前記受信データのうち前記解釈処理を行う位置が前記エラーデータの前記挿入位置に到達したときに、前記受信データを、前記ビット幅および前記データ値を有する前記エラーデータに差し替えて、前記エラーマネジメント回路に出力することにより、前記エラーデータを前記受信データ内に含ませる受信データ制御部を有するCANシステムである。
本発明によれば、プロトコル処理部は、エラーデータ情報に基づいて、受信データまたは送信データ内にエラーデータを含ませる。よって、ECU内部にてエラーデータを受信データ中に含ませることができるので、CAN用バスに外付けするエラーデータ発生用ハードウェアを必要としない。これにより、例えばISO11898の場合には、最速の1Mbpsの通信速度でエラーデータ発生および通信品質評価を正確に行うことが可能となる。また、ECU内部にてエラーデータを送信データ中に含ませることができるので、ループバックモードにおいてエラーデータを含んだ通信を行うことができる。よって、ループバックモードにおいてエラーマネジメント回路が正しくエラー検出できるかどうかをテストすることにより、エラーマネジメント回路自体が欠陥を有しないかどうかの検査を行うことが可能となる。また、受信データを、ビット幅およびデータ値を有するエラーデータに差し替えて、エラーマネジメント回路に出力するので、受信データ中の所望の位置にエラーデータを正確に発生させて、エラーマネジメント回路にてエラーデータを検出可能か否か検証することができる。
<実施の形態1>
本発明は、ECU内のCANコントローラにおいて、プロトコル処理部と、エラーデータの属性に関するエラーデータ情報を記憶するレジスタとを設け、プロトコル処理部が、エラーデータ情報に基づいて受信データまたは送信データ内にエラーデータを含ませることが可能なCANシステムである。
図1は、本発明に係るCANシステムの構成を示す図である。このCANシステムは、CAN用バスB1,B2と、CAN用バスB1,B2にそれぞれ接続された複数の電気制御ユニット(ECU:Electric Control Unit)U1〜U5と、各ユニットU1〜U5ごとに設けられ、それぞれ対応するユニットに動作クロックCKを与えるクロックジェネレータCG(図1ではユニットU1に対応するもののみを表示)とを有している。
なお、各ユニットU1〜U5はそれぞれ、例えばABS(Anti-lock Brake System)制御ユニットや変速機制御ユニット、電子制御燃料噴射ユニットなどである。ここではU1〜U5の5個しかユニットを示していないが、もちろん、より多数のユニットがこのCANシステムに含まれていてもよい。
また、CAN用バスはB1,B2と二本存在するが、これら二本の間の電位差が、各電気制御ユニットU1〜U5からの送信データおよび各電気制御ユニットU1〜U5への受信データの信号値となる。なお、CAN用バスB1,B2の両端はそれぞれ、終端抵抗TM1,TM2により接続されている。
各ユニットU1〜U5はいずれも同様の構成を有するが、ここではユニットU1を例にとって、ユニットの内部構成につき説明する。
ユニットU1は、ローカルCPU(Central Processing Unit)100、CANコントローラ101、およびトランシーバー102を有している。CANコントローラ101は、ローカルCPU100からの制御信号Stに基づいて、CAN用バスB1,B2への送信データCTxの送り出し、および、CAN用バスB1,B2からの受信データCRxの受け入れを司る制御装置である。トランシーバー102は、CANコントローラ101からの送信データCTxを、CAN用バスB1への信号CAN_HとCAN用バスB2への信号CAN_Lとに変換し、また、CAN用バスB1,B2からの信号CAN_HおよびCAN_Lを、CANコントローラ101へと与える受信データCRxに変換するための装置である。なお、ローカルCPU100、CANコントローラ101、トランシーバー102の各々には、動作クロックCKが与えられる。
図2は、CANコントローラ101の内部構成を示す図である。CANコントローラ101は、プロトコル処理部PP、エラーマネジメント回路(EML:Error Management Logic)EC、レジスタRG1,RG2、およびメッセージ処理部MPを有している。
プロトコル処理部PPは、受信データCRxに対してはCANのプロトコルに則ってデータ形式の解釈処理を行い、送信データCTxに対してはCANのプロトコルに則ってデータ形式の調製処理を行う。エラーマネジメント回路ECは、受信データCRxにエラーデータが含まれているか否かを検出する。
そして、本発明においては、レジスタRG1は、発生させるべきエラーデータの属性に関する各種のエラーデータ情報を記憶可能である。また、プロトコル処理部PPは、レジスタRG1に記憶されたエラーデータ情報に基づいて、受信データCRxまたは送信データCTx内にエラーデータを含ませることが可能である。
プロトコル処理部PPが、エラーデータ情報に基づいて受信データCRx内にエラーデータを含ませると、ECU内部にてエラーデータを受信データCRx中に含ませることができる。よって、CAN用バスに外付けするエラーデータ発生用ハードウェアを必要としない。これにより、例えばISO11898の場合には、最速の1Mbpsの通信速度でエラーデータ発生および通信品質評価を正確に行うことが可能となる。
また、ECU内部にてエラーデータを送信データCTx中に含ませることができるので、ループバックモードにおいてエラーデータを含んだ通信を行うことができる。よって、ループバックモードにおいてエラーマネジメント回路ECが正しくエラー検出できるかどうかをテストすることにより、エラーマネジメント回路EC自体の欠陥検査を行うことが可能となる。
メッセージ処理部MPは、受信データCRxに含まれた受信メッセージデータ、および、送信データCTxに含ませる送信メッセージデータを保持するメッセージスロット(図示せず)を備え、各メッセージデータの処理の優先順位の判断等を行う。レジスタRG2は、メッセージ処理部MPとローカルCPU100との間での信号のやり取りに必要な制御信号Sr1を記憶する。なお、プロトコル処理部PPとメッセージ処理部MPとの間では信号Smがやり取りされる。
ローカルCPU100とCANコントローラ101との間の制御信号Stには、レジスタRG2とローカルCPU100とがやり取りする信号Sta、メッセージ処理部MPとローカルCPU100とがやり取りする信号Stb、および、レジスタRG1とローカルCPU100とがやり取りする信号Stcが含まれる。
図3は、プロトコル処理部PPおよびレジスタRG1の詳細構成を示す図である。プロトコル処理部PPは、受信データ制御部1、ビットタイミング生成回路2、プロトコル制御用ステートマシン3、送信データ制御部4、ラッチ回路5、ステート比較部6、テストアクティブ期間生成部7、S−P(Serial→Parallel)変換部CV1、およびP−S(Parallel→Serial)変換部CV2を有する。
受信データ制御部1は、受信データCRxを受けて、これをメッセージ処理部MPに、信号Smの一部たる信号SmrとしてS−P変換部CV1を介して送るとともに、プロトコル制御用ステートマシン3およびエラーマネジメント回路ECにも受信データCRxを信号Drとして送る制御部である。また、受信データ制御部1は、受信データCRxを信号S6としてビットタイミング生成回路2にも送る。
本発明では、受信データ制御部1は、上記機能に加えて、受信データCRxの一部をエラーデータに差し替えることによりエラーデータを受信データCRx内に含ませる機能をも有する。
ビットタイミング生成回路2は、受信データ制御部1から受信データCRxを信号S6として受け取り、信号S6および動作クロックCKに基づいて、プロトコル処理部PPにおけるローカル動作クロックCLK_A,CLK_BたるビットクロックSrf,Sreを生成する。ローカル動作クロックCLK_Aたる信号Srfは、プロトコル制御用ステートマシン3、ラッチ回路5およびテストアクティブ期間生成部7に与えられる。ローカル動作クロックCLK_Bたる信号Sreは、受信データ制御部1およびステート比較部6に与えられる。ビットタイミング生成回路2はさらに、信号S6および動作クロックCKに基づいて、送信データ制御部4におけるローカル動作クロックtx_clkたるビットクロックSctをも生成する。
プロトコル制御用ステートマシン3は、信号Drを受けて、受信データCRxに対してCANのプロトコルに則ってデータ形式の解釈処理を行う。この解釈処理には、例えば、受信データCRx中のスタートオブフレーム(SOF)のデータ部分や誤り検出用信号のデータ部分の検出等が含まれる。プロトコル制御用ステートマシン3は、誤り検出用信号のデータ部分の検出を信号Seによりエラーマネジメント回路ECに伝え、エラーマネジメント回路ECが信号Drに対して誤り検出処理を行えるようにする。
また、プロトコル制御用ステートマシン3は、送信データCTxに対しては、信号S7を送信データ制御部4に与えることにより、CANのプロトコルに則ってデータ形式の調製処理を行う。この調製処理には、例えば、送信データCTx中にスタートオブフレーム(SOF)のデータ部分や誤り検出用信号のデータ部分を付加する処理等が含まれる。
また、プロトコル制御用ステートマシン3は、現在処理を行っている受信データCRxまたは送信データCTxが、CANのプロトコルに則ったデータ形式のどの段階(ステート)にあるのかにつき検出をし、さらに、次に移行するステートの情報を、信号Srgとしてステート比較部6に出力する。
送信データ制御部4は、メッセージ処理部MPからの送信メッセージデータを、信号Smの一部たる信号SmtとしてP−S変換部CV2を介して受けるとともに、プロトコル制御用ステートマシン3から信号S7をも受けて、送信データCTxのデータ形式に調製して出力する。
本発明では、送信データ制御部4は、上記機能に加えて、送信データCTxの一部をエラーデータに差し替えることによりエラーデータを送信データCTx内に含ませる機能、および、スタッフビットを反転させてエラーデータとして送信データCTx内に含ませる機能をも有する。
なお、本実施の形態においては、エラーデータを受信データCRx内に含ませる点につき説明し、エラーデータを送信データCTx内に含ませる点については、後述の実施の形態2および3にて説明する。
また、レジスタRG1は、テスト開始ビットレジスタ8、送信/受信選択レジスタ9、データ形式選択レジスタ10、データ挿入位置設定レジスタ11、および、ビット幅設定レジスタ12を有する。レジスタRG1に含まれる各レジスタに記憶される情報はいずれも、生成するエラーデータの属性に関するエラーデータ情報である。
すなわち、テスト開始ビットレジスタ8に記憶される情報は、テストモードを開始するか否かの情報であり、送信/受信選択レジスタ9に記憶される情報は、送信データCTxにエラーデータを挿入するのか、それとも、受信データCRxにエラーデータを挿入するのかを示す情報である。また、データ形式選択レジスタ10に記憶される情報は、エラーデータとして挿入すべきデータ値がHighかLowかを示す情報であり、データ挿入位置設定レジスタ11に記憶される情報は、エラーデータを挿入すべき送信データCTxまたは受信データCRx内の位置の情報、あるいは、送信データCTx内のスタッフビットを反転させてエラーデータとする旨の指示情報である。また、ビット幅設定レジスタ12は、エラーデータをどれほどの期間のビット幅で挿入するかを示す情報である。これらレジスタRG1内に記憶されるいずれの情報も、ローカルCPU100からの信号Stcに含まれている。
ラッチ回路5はD−フリップフロップであり、そのクロック入力端Cには、ローカル動作クロックCLK_AたるビットクロックSrfが与えられ、リセット入力端にはReset信号が与えられる。そして、テスト開始ビットレジスタ8に記憶された情報が記された信号SsがD−フリップフロップたるラッチ回路5の入力Dとなる。ラッチ回路5の出力Qは、test_mod信号Sraとして、受信データ制御部1、送信データ制御部4、および、テストアクティブ期間生成部7に与えられる。
送信/受信選択レジスタ9に記憶された情報は、Tx_Rx信号Srcとして、受信データ制御部1および送信データ制御部4に与えられる。データ形式選択レジスタ10に記憶された情報は、data信号Srdとして、受信データ制御部1および送信データ制御部4に与えられる。データ挿入位置設定レジスタ11に記憶された情報は、信号Srbとして、受信データ制御部1およびステート比較部6に与えられる。
図4は、ステート比較部6およびテストアクティブ期間生成部7の詳細構成を示す図である。
ステート比較部6は、比較器CPおよびANDゲートG1を備える。比較器CPの第1入力端には、プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgが与えられ、比較器CPの第2入力端には、データ挿入位置設定レジスタ11に記憶された情報が記された信号Srbが与えられる。そして、ステート比較部6は、次ステート情報とデータ挿入位置設定レジスタ11に記憶された情報とが一致した場合に、その出力信号Saをアクティブ化(ここではHighアクティブ)する。
ANDゲートG1の第1入力端には、ローカル動作クロックCLK_BたるビットクロックSreが与えられ、ANDゲートG1の第2入力端には、比較器CPの出力信号Saが与えられる。そして、ANDゲートG1は、ビットクロックSreおよび出力信号SaがともにHighである場合に、その出力信号Sc(count start信号)をアクティブ化する。
テストアクティブ期間生成部7は、選択回路SL1、D−フリップフロップFF1、挿入ビット幅カウンタCO、ワンショットパルス生成回路PG、ANDゲートG9,G11、および、ORゲートG10を備える。
選択回路SL1には、ANDゲートG4,G6,G7、ORゲートG2,G8、および、反転ゲートG3,G5が含まれる。
ANDゲートG4の第1入力端には、ステート比較部6からの出力信号Scが与えられ、ANDゲートG4の第2入力端には、反転ゲートG3の出力が与えられる。ANDゲートG7の第1入力端には、ANDゲートG4からの出力が与えられ、ANDゲートG7の第2入力端には、ORゲートG2の出力が与えられる。ANDゲートG6の第1入力端には、D−フリップフロップFF1の出力Qが与えられ、ANDゲートG6の第2入力端には、反転ゲートG5を介してORゲートG2の出力が与えられる。ORゲートG8の第1入力端には、ANDゲートG6の出力が与えられ、ORゲートG8の第2入力端には、ANDゲートG7の出力が与えられる。そして、ORゲートG8の出力がD−フリップフロップFF1の入力Dとなる。
D−フリップフロップFF1のクロック入力端Cには、ローカル動作クロックCLK_AたるビットクロックSrfが与えられ、リセット入力端にはReset信号が与えられる。
挿入ビット幅カウンタCOのEnable端には、D−フリップフロップFF1の出力Qが与えられ、クロック入力端Clkには、ローカル動作クロックCLK_AたるビットクロックSrfが与えられる。また、挿入ビット幅カウンタCOには、ビット幅設定レジスタ12に記憶された情報が記された信号Swも与えられる。
ANDゲートG9の第1入力端には、D−フリップフロップFF1の出力Qが与えられ、ANDゲートG9の第2入力端には、挿入ビット幅カウンタCOの出力が与えられる。ORゲートG10の第1入力端には、ステート比較部6からの出力信号Scが与えられ、ORゲートG10の第2入力端には、ANDゲートG9の出力が与えられる。ANDゲートG11の第1入力端には、test_mod信号Sraが与えられ、ANDゲートG11の第2入力端には、ORゲートG10の出力が与えられる。ANDゲートG11の出力は、test_en信号Srhとして、受信データ制御部1および送信データ制御部4に与えられる。
挿入ビット幅カウンタCOの出力は、ワンショットパルス生成回路PGにも与えられる。ワンショットパルス生成回路PGからは、com_clr信号Sfが出力される。
ORゲートG2の第1入力端には、ステート比較部6からの出力信号Scが与えられ、ORゲートG2の第2入力端には、com_clr信号Sfが与えられる。com_clr信号Sfは、反転ゲートG3の入力端およびテスト開始ビットレジスタ8にも与えられる。
また、図5は、受信データ制御部1の詳細構成を示す図である。受信データ制御部1は、D−フリップフロップFF2〜FF4、および、選択回路SL2〜SL4を備える。
受信データCRxがD−フリップフロップFF2の入力Dとなる。D−フリップフロップFF2のクロック入力端Cには、動作クロックCKが与えられ、リセット入力端にはReset信号が与えられる。
選択回路SL2には、ANDゲートG12,G14,G15,G18,G19、ORゲートG16,G20、および、反転ゲートG13,G17が含まれる。
ANDゲートG12の第1入力端にはtest_mod信号Sraが、第2入力端にはTx_Rx信号Srcが、第3入力端にはtest_en信号Srhが、それぞれ与えられる。そして、ANDゲートG12は、信号Sra,Src,SrhがいずれもHighである場合に、その出力信号S3をアクティブ化する。
ANDゲートG14の第1入力端には、D−フリップフロップFF2の出力Qが信号S2として与えられ、ANDゲートG14の第2入力端には、反転ゲートG13を介してANDゲートG12からの出力信号S3が与えられる。ANDゲートG15の第1入力端には、data信号Srdが与えられ、ANDゲートG15の第2入力端には、ANDゲートG12からの出力信号S3が与えられる。ORゲートG16の第1入力端には、ANDゲートG14の出力が与えられ、ORゲートG16の第2入力端には、ANDゲートG15の出力が与えられる。
ANDゲートG18の第1入力端には、D−フリップフロップFF3の出力Qが信号S1として与えられ、ANDゲートG18の第2入力端には、反転ゲートG17を介してローカル動作クロックCLK_BたるビットクロックSreが与えられる。ANDゲートG19の第1入力端には、ORゲートG16の出力が与えられ、ANDゲートG19の第2入力端には、ローカル動作クロックCLK_BたるビットクロックSreが与えられる。ORゲートG20の第1入力端には、ANDゲートG18の出力が与えられ、ORゲートG20の第2入力端には、ANDゲートG19の出力が与えられる。そして、ORゲートG20の出力がD−フリップフロップFF3の入力Dとなる。
D−フリップフロップFF3のクロック入力端Cには、動作クロックCKが与えられ、リセット入力端にはReset信号が与えられる。D−フリップフロップFF3の出力Qは、信号Drとしてプロトコル制御用ステートマシン3へと与えられ、また、信号Smrとしてメッセージ処理部MPへと与えられる。
選択回路SL3には、ANDゲートG22,G23、ORゲートG24、および、反転ゲートG21が含まれる。
ANDゲートG22の第1入力端には、D−フリップフロップFF4の出力Qが信号S4として与えられ、ANDゲートG22の第2入力端には、反転ゲートG21を介してローカル動作クロックCLK_BたるビットクロックSreが与えられる。ANDゲートG23の第1入力端には、D−フリップフロップFF2の出力Qが信号S5として与えられ、ANDゲートG23の第2入力端には、ローカル動作クロックCLK_BたるビットクロックSreが与えられる。ORゲートG24の第1入力端には、ANDゲートG22の出力が与えられ、ORゲートG24の第2入力端には、ANDゲートG23の出力が与えられる。そして、ORゲートG24の出力がD−フリップフロップFF4の入力Dとなる。
D−フリップフロップFF4のクロック入力端Cには、動作クロックCKが与えられ、リセット入力端にはReset信号が与えられる。
選択回路SL4には、ANDゲートG26,G27、ORゲートG28、および、反転ゲートG25が含まれる。
ANDゲートG26の第1入力端には、D−フリップフロップFF3の出力Qが与えられ、ANDゲートG26の第2入力端には、反転ゲートG25を介してtest_mod信号Sraが与えられる。ANDゲートG27の第1入力端には、D−フリップフロップFF4の出力Qが与えられ、ANDゲートG27の第2入力端には、test_mod信号Sraが与えられる。ORゲートG28の第1入力端には、ANDゲートG26の出力が与えられ、ORゲートG28の第2入力端には、ANDゲートG27の出力が与えられる。そして、ORゲートG28の出力が、信号S6としてビットタイミング生成回路2へと与えられる。
図6は、CANのプロトコルに則った、送信データCTxおよび受信データCRxの、標準フォーマットによるデータフレームのフレーム形式を示す図である。このデータ形式では、最初の1ビットがスタートオブフレーム(SOF)であり、次のビットより続く11ビット分が標準のアイデンティファイア(SID0〜SID10:Standard Identifier 0〜10)である。そして、アイデンティファイアとその次の1ビット分のRTRビットとが、アービトレーションフィールドを構成する。
RTRビットに続く、1ビット分のIDEビット、1ビット分のr0ビット、および、4ビット分のDLCビットは、コントロールフィールドを構成する。そして、コントロールフィールドに続く0乃至64のいずれかのビット数を有する部分が、送信メッセージデータまたは受信メッセージデータたるデータフィールドを構成する。
データフィールドに続く15ビット分が、誤り検出用信号部分たるCRC(Cyclic Redundancy Check)シーケンスビットであり、それに続く1ビットのCRCデリミタとともにCRCフィールドを構成する。
そして、CRCフィールドに続く、1ビット分のACKスロットおよび1ビット分のACKデリミタがACKフィールドを構成し、ACKフィールドに続く7ビット分がエンドオブフレーム(EOF)である。
図7は、本発明のCANシステムにおいて、例として受信データCRx内のアイデンティファイアSID3の部分に、1ビット分のHighのエラーデータを挿入する場合のタイミングチャートである。そして、図8は、受信データCRx内にエラーデータを挿入する場合のフローチャートである。
まず、エラーデータ挿入に当たり、ユーザからエラーデータの属性に関するエラーデータ情報が、図示せぬI/O(Input/Output)インタフェースを介して、エラー検査を行うべき電気制御ユニット(例えばU1)内のローカルCPU100に与えられる。
ローカルCPU100は、そのエラーデータ情報を信号StcとしてレジスタRG1に送り、テスト条件を設定する(図8のステップS1a)。本実施の形態では、受信データCRx内のアイデンティファイアSID3の部分に、1ビット分のHighのエラーデータを挿入するので、送信/受信選択レジスタ9には“受信信号にエラーデータを含める”旨を示すHighの値が、データ形式選択レジスタ10には“Highのエラーデータ”を示すHighの値が、データ挿入位置設定レジスタ11には“SID3”の情報が、ビット幅設定レジスタ12には“1ビット分”の情報が、それぞれ記憶される。これにより、送信/受信選択レジスタ9からのTx_Rx信号SrcはHighとなり、データ形式選択レジスタ10からのdata信号SrdはHighとなる。また、データ挿入位置設定レジスタ11からの信号Srbは“SID3”を示す内容となり、ビット幅設定レジスタ12からの信号Swは“1ビット分”を示す内容となる。
上記の各情報がレジスタRG1に記憶されれば、ローカルCPU100は、テストを開始するため、テスト開始ビットレジスタ8に“テスト開始”を意味するHighのデータを送る(図8のステップS2a)。これにより、テスト開始ビットレジスタ8から出力される信号SsはHighとなり、ラッチ回路5の出力するtest_mod信号Sraが、図7に示すようにローカル動作クロックCLK_Aの出力にあわせてHighとなる。
そして、図4のステート比較部6内の比較器CPは、プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgの内容が、テスト条件たるSID3となるか否かを監視し続ける(図8のステップS3a)。
プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgの内容がSID3となれば、比較器CPは信号SaをHighにする。この状態で、ローカル動作クロックCLK_BがHighになれば、ANDゲートG1は、信号ScをHighとする。
信号ScがHighとなれば、ANDゲートG4の出力およびORゲートG2の出力がHighとなり、ANDゲートG7およびORゲートG8を介してD−フリップフロップFF1の入力DがHighとなる。選択回路SL1内でのゲート遅延を考慮すれば、D−フリップフロップFF1の入力DがHighとなった段階でローカル動作クロックCLK_AがHighとなり、D−フリップフロップFF1が入力DのHighをラッチし、出力QにHighを出力することとなる。
挿入ビット幅カウンタCOは、ビット幅設定レジスタ12からの信号Swに記されたビット数の情報に従って、そのビット数の分だけカウントを行う。なお、カウントを行っている間はHighを出力し続ける。本実施の形態の例では、信号Swには“1ビット分”の情報が記されているので、挿入ビット幅カウンタCOは1ビットの間、Highを出力し続ける。
ANDゲートG9は、D−フリップフロップFF1の出力および挿入ビット幅カウンタCOの出力を受けて、その出力をHighにする。この出力はORゲートG10を介してANDゲートG11に伝達される。
test_mod信号SraはこのときHighであるので、ANDゲートG11の出力たるtest_en信号SrhはHighとなる。
受信データ制御部1では、選択回路SL2内のANDゲートG12の受けるtest_en信号SrhがHighとなることにより、ANDゲートG12が信号S3をHighとする。これにともない、ANDゲートG15に入力されていたdata信号たるHighの信号Srdが、それまでORゲートG16から出力されていた信号S2に代わって、ORゲートG16から出力されることとなる。
そして、次のローカル動作クロックCLK_BのHighが訪れたときに、ANDゲートG19がHighの信号Srdを、ORゲートG20を介してD−フリップフロップFF3の入力Dに伝える。ローカル動作クロックCLK_BがLowに戻っても、D−フリップフロップFF3の出力QがHighの状態でANDゲートG18により選択されるので、D−フリップフロップFF3の出力QはHighを保つこととなる。
これにより、図7のタイミングチャートの最下段に示すように、もともとLowであった受信データCRxのSID3がHighというエラーデータに差し替えされて、メッセージ処理部MP、プロトコル制御用ステートマシン3およびエラーマネジメント回路ECに、信号Smrおよび信号Drとして送られることとなる(図8のステップS4a)。
次に、テストモードから解除される場合につき説明する(図8のステップS5a)。挿入ビット幅カウンタCOの出力がHighからLowへと遷移したときに、ワンショットパルス生成回路PGは、com_clr信号SfをHighにする。
com_clr信号SfがHighになると、ANDゲートG2の出力がHighとなり、ANDゲートG4の出力がANDゲートG7およびORゲートG8を介してD−フリップフロップFF1に伝達される。com_clr信号Sfは、反転ゲートG3を介してLowとしてANDゲートG4に入力されているので、ANDゲートG4の出力はLowの状態である。よって、D−フリップフロップFF1はLowを出力することとなり、この出力Qが、ANDゲートG9およびORゲートG10を介してANDゲートG11へと伝達される。これにより、ANDゲートG11の出力たるtest_en信号SrhはLowとなる。
受信データ制御部1では、test_en信号SrhがLowに変化したことに伴って、ANDゲートG12がLowを出力することとなり、ANDゲートG14が再び、受信データCRxの信号S2を出力することとなる。これにより、次のローカル動作クロックCLK_BがHighとなったときに、ORゲートG20からは、エラーデータに差し替えられていない受信データCRxの信号S2が、D−フリップフロップFF3へと出力されることとなる。
これにより、図7のタイミングチャートの最下段に示すように、Highというエラーデータに差し替えられていた受信データCRxのSID3に続いて、エラーデータへの差し替えの無い受信データCRxのSID4が、メッセージ処理部MP、プロトコル制御用ステートマシン3およびエラーマネジメント回路ECに、信号Smrおよび信号Drとして送られることとなる。
すなわち、受信データ制御部1は、受信データCRxを受けて、受信データCRxのうち解釈処理を行う位置がエラーデータの挿入位置たるSID3に到達したときには、受信データCRxを、ビット幅設定レジスタ12で設定されたビット幅(1ビット分)およびデータ形式選択レジスタ10で設定されたデータ値(High)を有するエラーデータに差し替えて、エラーマネジメント回路ECに信号Drとして出力することにより、エラーデータを受信データCRx内に含ませることが可能なのである。
このように、プロトコル処理部PPは、受信データCRxのうち解釈処理を行う位置がエラーデータの挿入位置に到達したときに、受信データCRxをエラーデータに差し替えてエラーマネジメント回路ECに出力することによりエラーデータを受信データCRx内に含ませる、受信データ制御部1を有する。よって、受信データCRx中の所望の位置にエラーデータを正確に発生させて、エラーマネジメント回路ECにてエラーデータを検出可能か否か検証することができる。
なお、受信データ制御部1では、test_mod信号がLowの状態にあってエラーデータを挿入しない場合には、選択回路SL2およびD−フリップフロップFF3を介した受信データCRxを、選択回路SL4が選択し、信号S6としてビットタイミング生成回路2に与える。
一方、test_mod信号がHighの状態となり、エラーデータを挿入中の場合には、選択回路SL4は、エラーデータが挿入されたD−フリップフロップFF3の出力をではなく、エラーデータへの差し替えを行っていない受信データCRxを、選択回路SL3およびD−フリップフロップFF4を介して選択し、信号S6としてビットタイミング生成回路2に与える。
すなわち、受信データ制御部1は、受信データCRxをエラーデータに差し替えてエラーマネジメント回路ECに出力している期間であっても、ビットタイミング生成回路2に対しては、エラーデータへの差し替えを行わずに受信データCRxを与える。
差し替えたエラーデータに基づいてビットクロックSre,Srfを生成すれば、ビットクロックSre,Srfのタイミング補正はCANバス上の値によらないため、他のユニットとの間で補正タイミングがずれてしまうことがあるが、ビットタイミング生成回路2は常に、差し替えされていないCANバス上の値によりビットクロックSre,Srfを生成するので、他のユニットとの間で補正タイミングがずれることはない。
<実施の形態2>
本実施の形態は、実施の形態1に係るCANシステムにおいて、エラーデータを送信データCTx内に含ませる場合を説明するものである。
図9は、送信データ制御部4の詳細構成を示す図である。送信データ制御部4は、スイッチSWT、D−フリップフロップFF5、および、選択回路SL5,SL6を備える。
まず、送信データ制御部4には、プロトコル制御用ステートマシン3よりスイッチSWTを介して、スタートオブフレーム(SOF)およびアービトレーションフィールド生成用のデータが信号S7として与えられる。そして、データフィールドの生成段階になると、送信データ制御部4には、メッセージ処理部MPからスイッチSWTを介して、送信メッセージデータが信号Smtとして与えられる。その後、CRCデータフィールド、ACKフィールドおよびエンドオブフレームの生成段階になると再び、プロトコル制御用ステートマシン3よりスイッチSWTを介して、それら各段階に生成すべき各データが信号S7として与えられる。これにより、送信データCTxのデータ形式が調製される。なお、スイッチSWTは、プロトコル制御用ステートマシン3により制御される。
選択回路SL5には、ANDゲートG30,G31、ORゲートG32、および、反転ゲートG29が含まれる。
ANDゲートG30の第1入力端には、反転ゲートG29を介してスイッチSWTの出力が与えられ、ANDゲートG30の第2入力端には、スタッフビットモード時のエラー挿入のstuff_bit指示情報Srbが与えられる。ANDゲートG31の第1入力端には、data信号Srdが与えられ、ANDゲートG31の第2入力端には、スタッフビットモード時のエラー挿入のstuff_bit指示情報Srbが反転して与えられる。ORゲートG32の第1入力端には、ANDゲートG30の出力が与えられ、ORゲートG32の第2入力端には、ANDゲートG31の出力が与えられる。
なお、スタッフビットとは、複数ビット(例えば5ビット分)が連続して同じデータ値(HighまたはLow)を採り続けた場合に、そのデータ値を反転させて生成したビットのことを指し、そのように生成されたスタッフビットは、送信データCTx中に挿入されて、受信時の誤り検出に用いられる。スタッフビットの生成および挿入処理については、CANのプロトコルにて規定されている。
本発明においては、スタッフビットを送信データCTx中に挿入する状態のことをスタッフビットモードと称し、スタッフビットモード時のエラー挿入とは、反転したスタッフビットを再反転させてエラーデータとすることを指す。よって、stuff_bit指示情報Srbのデータ値がHighのときには、スタッフビットを再反転させてエラーデータに変換し、stuff_bit指示情報Srbのデータ値がLowのときには、スタッフビットにエラーを生じさせることはしない。
なお、スタッフビットモード時のエラー挿入については、続く実施の形態3にて説明することとし、本実施の形態では、スタッフビットにエラーを生じさせるのではなく、データ挿入位置設定レジスタ11に記憶された位置情報に基づいて、送信データCTx内の所定の位置にエラーデータを挿入する場合について説明する。よって、本実施の形態の場合は、stuff_bit指示情報Srbのデータ値はLowである。
これにより、ORゲートG32からの出力信号S8として、本実施の形態においては常に、data信号Srdが出力されることとなる。
選択回路SL6には、ANDゲートG42,G34,G35,G38,G39、ORゲートG36,G40、および、反転ゲートG33,G37,G41が含まれる。
ANDゲートG42の第1入力端にはtest_mod信号Sraが、第2入力端には反転ゲートG41を介してTx_Rx信号Srcが、第3入力端にはtest_en信号Srhが、それぞれ与えられる。そして、ANDゲートG42は、信号Sra,SrhがHighで、かつ、信号SrcがLowである場合に、その出力をアクティブ化する。
ANDゲートG34の第1入力端には、スイッチSWTの出力が与えられ、ANDゲートG34の第2入力端には、反転ゲートG33を介してANDゲートG42からの出力が与えられる。ANDゲートG35の第1入力端には、data信号SrdたるORゲートG32からの出力信号S8が与えられ、ANDゲートG35の第2入力端には、ANDゲートG42からの出力が与えられる。ORゲートG36の第1入力端には、ANDゲートG34の出力が与えられ、ORゲートG36の第2入力端には、ANDゲートG35の出力が与えられる。
ANDゲートG38の第1入力端には、D−フリップフロップFF5の出力Qが信号S9として与えられ、ANDゲートG38の第2入力端には、反転ゲートG37を介して、送信データ制御部4におけるローカル動作クロックtx_clkたるビットクロックSctが与えられる。ANDゲートG39の第1入力端には、ORゲートG36の出力が与えられ、ANDゲートG39の第2入力端には、ローカル動作クロックtx_clkたるビットクロックSctが与えられる。ORゲートG40の第1入力端には、ANDゲートG38の出力が与えられ、ORゲートG40の第2入力端には、ANDゲートG39の出力が与えられる。そして、ORゲートG40の出力がD−フリップフロップFF5の入力Dとなる。
D−フリップフロップFF5のクロック入力端Cには、動作クロックCKが与えられ、リセット入力端にはReset信号が与えられる。D−フリップフロップFF5の出力Qは、送信データ信号CTxとして出力される。
図10は、本発明のCANシステムにおいて、例として送信データCTx内のアイデンティファイアSID3の部分に、1ビット分のHighのエラーデータを挿入する場合のタイミングチャートである。そして、図11は、送信データCTx内にエラーデータを挿入する場合のフローチャートである。
まず、エラーデータ挿入に当たり、ユーザからエラーデータの属性に関するエラーデータ情報が、図示せぬI/O(Input/Output)インタフェースを介して、エラー検査を行うべき電気制御ユニット(例えばU1)内のローカルCPU100に与えられる。
ローカルCPU100は、そのエラーデータ情報を信号StcとしてレジスタRG1に送り、テスト条件を設定する(図11のステップS1b)。本実施の形態では、送信データCTx内のアイデンティファイアSID3の部分に、1ビット分のHighのエラーデータを挿入するので、送信/受信選択レジスタ9には“送信信号にエラーデータを含める”旨を示すLowの値が、データ形式選択レジスタ10には“Highのエラーデータ”を示すHighの値が、データ挿入位置設定レジスタ11には“SID3”の情報が、ビット幅設定レジスタ12には“1ビット分”の情報が、それぞれ記憶される。これにより、送信/受信選択レジスタ9からのTx_Rx信号SrcはLowとなり、データ形式選択レジスタ10からのdata信号SrdはHighとなる。また、データ挿入位置設定レジスタ11からの信号Srbは“SID3”を示す内容となり、ビット幅設定レジスタ12からの信号Swは“1ビット分”を示す内容となる。
上記の各情報がレジスタRG1に記憶されれば、ローカルCPU100は、テストを開始するため、テスト開始ビットレジスタ8に“テスト開始”を意味するHighのデータを送る(図11のステップS2b)。これにより、テスト開始ビットレジスタ8から出力される信号SsはHighとなり、ラッチ回路5の出力するtest_mod信号Sraが、図10に示すようにローカル動作クロックCLK_Aの出力にあわせてHighとなる。
そして、図4のステート比較部6内の比較器CPは、プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgの内容が、テスト条件たるSID3となるか否かを監視し続ける(図11のステップS3b)。
プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgの内容がSID3となれば、比較器CPは信号SaをHighにする。この状態で、ローカル動作クロックCLK_BがHighになれば、ANDゲートG1は、信号ScをHighとする。
信号ScがHighとなれば、ANDゲートG4の出力およびORゲートG2の出力がHighとなり、ANDゲートG7およびORゲートG8を介してD−フリップフロップFF1の入力DがHighとなる。選択回路SL1内でのゲート遅延を考慮すれば、D−フリップフロップFF1の入力DがHighとなった段階でローカル動作クロックCLK_AがHighとなり、D−フリップフロップFF1が入力DのHighをラッチし、出力QにHighを出力することとなる。
挿入ビット幅カウンタCOは、ビット幅設定レジスタ12からの信号Swに記されたビット数の情報に従って、そのビット数の分だけカウントを行う。なお、カウントを行っている間はHighを出力し続ける。本実施の形態の例では、信号Swには“1ビット分”の情報が記されているので、挿入ビット幅カウンタCOは1ビットの間、Highを出力し続ける。
ANDゲートG9は、D−フリップフロップFF1の出力および挿入ビット幅カウンタCOの出力を受けて、その出力をHighにする。この出力はORゲートG10を介してANDゲートG11に伝達される。
test_mod信号SraはこのときHighであるので、ANDゲートG11の出力たるtest_en信号SrhはHighとなる。
送信データ制御部4では、選択回路SL6内のANDゲートG42の受けるtest_en信号SrhがHighとなることにより、ANDゲートG42がその出力をHighとする。これにともない、ANDゲートG35に入力されていたdata信号たるHighの信号Srdが、それまでORゲートG36から出力されていたスイッチSWTからの出力信号に代わって、ORゲートG36から出力されることとなる。
そして、次のローカル動作クロックtx_clkのHighが訪れたときに、ANDゲートG39がHighの信号Srdを、ORゲートG40を介してD−フリップフロップFF5の入力Dに伝える。ローカル動作クロックtx_clkがLowに戻っても、D−フリップフロップFF5の出力QがHighの状態でANDゲートG38により選択されるので、D−フリップフロップFF5の出力QはHighを保つこととなる。
これにより、図10のタイミングチャートの最下段に示すように、もともとLowであった送信データCTxのSID3がHighというエラーデータに差し替えされて、出力されることとなる(図11のステップS4b)。よって、この状態でループバックモードに移行して、受信データCRxをエラーマネジメント回路ECにて検証すればよい。
次に、テストモードから解除される場合につき説明する(図11のステップS5b)。挿入ビット幅カウンタCOの出力がHighからLowへと遷移したときに、ワンショットパルス生成回路PGは、com_clr信号SfをHighにする。
com_clr信号SfがHighになると、ANDゲートG2の出力がHighとなり、ANDゲートG4の出力がANDゲートG7およびORゲートG8を介してD−フリップフロップFF1に伝達される。com_clr信号Sfは、反転ゲートG3を介してLowとしてANDゲートG4に入力されているので、ANDゲートG4の出力はLowの状態である。よって、D−フリップフロップFF1はLowを出力することとなり、この出力Qが、ANDゲートG9およびORゲートG10を介してANDゲートG11へと伝達される。これにより、ANDゲートG11の出力たるtest_en信号SrhはLowとなる。
送信データ制御部4では、test_en信号SrhがLowに変化したことに伴って、ANDゲートG42がLowを出力することとなり、ANDゲートG34が再び、スイッチSWTからの信号を出力することとなる。これにより、次のローカル動作クロックtx_clkがHighとなったときに、ORゲートG40からは、エラーデータに差し替えられていない送信データCTxの信号が、D−フリップフロップFF5へと出力されることとなる。
これにより、図10のタイミングチャートの最下段に示すように、Highというエラーデータに差し替えられていた送信データCTxのSID3に続いて、エラーデータへの差し替えの無い送信データCTxのSID4が出力されることとなる。
すなわち、送信データ制御部4は、メッセージ処理部MPからの送信メッセージデータたる信号Smtを送信データCTxのデータ形式に調製可能であって、送信データCTxのうち調製処理を行う位置がエラーデータの挿入位置たるSID3に到達したときには、送信データCTxを、ビット幅設定レジスタ12で設定されたビット幅(1ビット分)およびデータ形式選択レジスタ10で設定されたデータ値(High)を有するエラーデータに差し替えて出力することにより、エラーデータを送信データCTx内に含ませることが可能なのである。
このように、プロトコル処理部PPは、送信データCTxのうち調製処理を行う位置がエラーデータの挿入位置に到達したときに、送信データCTxをエラーデータに差し替えて出力することによりエラーデータを送信データCTx内に含ませる、送信データ制御部4を有する。よって、送信データCTx中の所望の位置にエラーデータを正確に発生させて、ループバックモードにおいても、エラーマネジメント回路ECにてエラーデータを検出可能か否か検証することができる。
<実施の形態3>
本実施の形態は、実施の形態2にて述べたように、スタッフビットモード時に、反転したスタッフビットを再反転させてエラーデータとする場合を説明するものである。よって、本実施の形態の場合は、図9においてstuff_bit指示情報Srbのデータ値はHighである。
これにより、ORゲートG32からの出力信号S8として、本実施の形態においては常に、反転ゲートG29を介した、スイッチSWTからの出力信号の反転したものが出力されることとなる。
図12は、本発明のCANシステムにおいて、スタッフビットモード時に、反転したスタッフビットを再反転させてエラーデータとする場合のタイミングチャートである。そして、図13は、スタッフビットをエラーデータとする場合のフローチャートである。
まず、エラーデータ挿入に当たり、ユーザからエラーデータの属性に関するエラーデータ情報が、図示せぬI/O(Input/Output)インタフェースを介して、エラー検査を行うべき電気制御ユニット(例えばU1)内のローカルCPU100に与えられる。
ローカルCPU100は、そのエラーデータ情報を信号StcとしてレジスタRG1に送り、テスト条件を設定する(図13のステップS1c)。本実施の形態では、送信データCTx内のスタッフビットの部分を、再反転させてエラーデータとするので、送信/受信選択レジスタ9には“送信信号にエラーデータを含める”旨を示すLowの値が、データ形式選択レジスタ10にはHighまたはLowのいずれか(どちらでもよい)の値が、データ挿入位置設定レジスタ11には“stuff_bit指示情報Srbのデータ値をHighとする”旨の情報が、ビット幅設定レジスタ12には“1ビット分”の情報が、それぞれ記憶される。なお、スタッフビットは通常、1ビット分と設定されるため、ビット幅設定レジスタ12には“1ビット分”の情報が記憶される。
これにより、送信/受信選択レジスタ9からのTx_Rx信号SrcはLowとなり、データ挿入位置設定レジスタ11からの信号Srbは“データ値がHighのstuff_bit指示情報”となる。また、ビット幅設定レジスタ12からの信号Swは“1ビット分”を示す内容となる。
上記の各情報がレジスタRG1に記憶されれば、ローカルCPU100は、テストを開始するため、テスト開始ビットレジスタ8に“テスト開始”を意味するHighのデータを送る(図13のステップS2c)。これにより、テスト開始ビットレジスタ8から出力される信号SsはHighとなり、ラッチ回路5の出力するtest_mod信号Sraが、図12に示すようにローカル動作クロックCLK_Aの出力にあわせてHighとなる。
そして、図4のステート比較部6内の比較器CPは、プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgの内容が、テスト条件たるSID3となるか否かを監視し続ける(図13のステップS3c)。
プロトコル制御用ステートマシン3からの次ステート情報が記された信号Srgの内容がSID3となれば、比較器CPは信号SaをHighにする。この状態で、ローカル動作クロックCLK_BがHighになれば、ANDゲートG1は、信号ScをHighとする。
信号ScがHighとなれば、ANDゲートG4の出力およびORゲートG2の出力がHighとなり、ANDゲートG7およびORゲートG8を介してD−フリップフロップFF1の入力DがHighとなる。選択回路SL1内でのゲート遅延を考慮すれば、D−フリップフロップFF1の入力DがHighとなった段階でローカル動作クロックCLK_AがHighとなり、D−フリップフロップFF1が入力DのHighをラッチし、出力QにHighを出力することとなる。
挿入ビット幅カウンタCOは、ビット幅設定レジスタ12からの信号Swに記されたビット数の情報に従って、そのビット数の分だけカウントを行う。なお、カウントを行っている間はHighを出力し続ける。本実施の形態の例では、信号Swには“1ビット分”の情報が記されているので、挿入ビット幅カウンタCOは1ビットの間、Highを出力し続ける。
ANDゲートG9は、D−フリップフロップFF1の出力および挿入ビット幅カウンタCOの出力を受けて、その出力をHighにする。この出力はORゲートG10を介してANDゲートG11に伝達される。
test_mod信号SraはこのときHighであるので、ANDゲートG11の出力たるtest_en信号SrhはHighとなる。
送信データ制御部4では、選択回路SL6内のANDゲートG42の受けるtest_en信号SrhがHighとなることにより、ANDゲートG42がその出力をHighとする。これにともない、ANDゲートG35に入力されていた、スイッチSWTの出力の反転信号が、それまでORゲートG36から出力されていたスイッチSWTからの出力信号に代わって、ORゲートG36から出力されることとなる。
そして、次のローカル動作クロックtx_clkのHighが訪れたときに、ANDゲートG39がスイッチSWTの出力の反転信号を、ORゲートG40を介してD−フリップフロップFF5の入力Dに伝える。ローカル動作クロックtx_clkがLowに戻っても、D−フリップフロップFF5の出力QがANDゲートG38により選択されるので、D−フリップフロップFF5の出力QはスイッチSWTの出力の反転状態を保つこととなる。
これにより、図12のタイミングチャートの最下段に示すように、もともとHighであった送信データCTxのスタッフビットがLowというエラーデータに差し替えされて、出力されることとなる(図13のステップS4c)。よって、この状態でループバックモードに移行して、受信データCRxをエラーマネジメント回路ECにて検証すればよい。
次に、テストモードから解除される場合につき説明する(図13のステップS5c)。挿入ビット幅カウンタCOの出力がHighからLowへと遷移したときに、ワンショットパルス生成回路PGは、com_clr信号SfをHighにする。
com_clr信号SfがHighになると、ANDゲートG2の出力がHighとなり、ANDゲートG4の出力がANDゲートG7およびORゲートG8を介してD−フリップフロップFF1に伝達される。com_clr信号Sfは、反転ゲートG3を介してLowとしてANDゲートG4に入力されているので、ANDゲートG4の出力はLowの状態である。よって、D−フリップフロップFF1はLowを出力することとなり、この出力Qが、ANDゲートG9およびORゲートG10を介してANDゲートG11へと伝達される。これにより、ANDゲートG11の出力たるtest_en信号SrhはLowとなる。
送信データ制御部4では、test_en信号SrhがLowに変化したことに伴って、ANDゲートG42がLowを出力することとなり、ANDゲートG34が再び、スイッチSWTからの信号を出力することとなる。これにより、次のローカル動作クロックtx_clkがHighとなったときに、ORゲートG40からは、エラーデータに差し替えられていない送信データCTxの信号が、D−フリップフロップFF5へと出力されることとなる。
これにより、図12のタイミングチャートの最下段に示すように、再反転したスタッフビットというエラーデータに差し替えられていた送信データCTxに続いて、エラーデータへの差し替えの無い、送信データCTxの非スタッフビットたる通常のデータが出力されることとなる。
すなわち、送信データ制御部4は、メッセージ処理部MPからの送信メッセージデータたる信号Smtを送信データCTxのデータ形式に調製可能であって、スタッフビットモード時のエラー挿入のstuff_bit指示情報Srbを受けて、送信データCTxのうち調製処理を行う位置がスタッフビットの挿入位置に到達したときに、スタッフビットを再反転させて送信データCTx中に挿入することにより、エラーデータを送信データCTx内に含ませることが可能なのである。
このように、プロトコル処理部PPは、送信データCTxのうち調製処理を行う位置がスタッフビットの挿入位置に到達したときに、スタッフビットを再反転させて送信データCTx中に挿入することによりエラーデータを送信データCTx内に含ませる、送信データ制御部4を有する。よって、送信データCTx中のスタッフビットの位置にエラーデータを正確に発生させて、ループバックモードにおいても、エラーマネジメント回路ECにてエラーデータを検出可能か否か検証することができる。
本発明に係るCANシステムの構成を示す図である。 CANコントローラの内部構成を示す図である。 プロトコル処理部PPおよびレジスタRG1の詳細構成を示す図である。 ステート比較部6およびテストアクティブ期間生成部7の詳細構成を示す図である。 受信データ制御部1の詳細構成を示す図である。 CANのプロトコルに則った、送信データCTxおよび受信データCRxのデータ形式を示す図である。 受信データCRx内のアイデンティファイアSID3の部分に、1ビット分のHighのエラーデータを挿入する場合のタイミングチャートである。 受信データCRx内にエラーデータを挿入する場合のフローチャートである。 送信データ制御部4の詳細構成を示す図である。 送信データCTx内のアイデンティファイアSID3の部分に、1ビット分のHighのエラーデータを挿入する場合のタイミングチャートである。 送信データCTx内にエラーデータを挿入する場合のフローチャートである。 スタッフビットモード時に、反転したスタッフビットを再反転させてエラーデータとする場合のタイミングチャートである。 スタッフビットをエラーデータとする場合のフローチャートである。
符号の説明
100 ローカルCPU、101 CANコントローラ、102 トランシーバ、PP プロトコル処理部、MP メッセージ処理部、RG1,RG2 レジスタ、EC エラーマネジメント回路。

Claims (4)

  1. CAN(Controller Area Network)用バスと、
    前記CAN用バスにそれぞれ接続された複数のECU(Electric Control Unit)と
    を備えたCANシステムであって、
    前記複数のECUのうち少なくとも一つは、
    受信データに対してはCANのプロトコルに則ってデータ形式の解釈処理を行い、送信データに対してはCANのプロトコルに則ってデータ形式の調製処理を行うプロトコル処理部と、
    エラーデータの属性に関するエラーデータ情報を記憶するレジスタと、
    前記受信データに含まれた受信メッセージデータ、および、前記送信データに含ませる送信メッセージデータを保持可能なメッセージ処理部と、
    前記受信データにエラーデータが含まれているか否かを検出可能なエラーマネジメント回路と
    を有し、
    前記プロトコル処理部は、前記エラーデータ情報に基づいて、前記受信データまたは前記送信データ内に前記エラーデータを含ませ
    前記エラーデータ情報には、前記受信データ中の前記エラーデータの挿入位置の情報、前記エラーデータのビット幅の情報、および、前記エラーデータのデータ値の情報が含まれ、
    前記プロトコル処理部は、
    前記受信データを受けて、前記受信データのうち前記解釈処理を行う位置が前記エラーデータの前記挿入位置に到達したときに、前記受信データを、前記ビット幅および前記データ値を有する前記エラーデータに差し替えて、前記エラーマネジメント回路に出力することにより、前記エラーデータを前記受信データ内に含ませる受信データ制御部を有するCANシステム。
  2. 請求項1に記載のCANシステムであって、
    前記プロトコル処理部はさらに、
    前記受信データ制御部からの前記受信データに基づいて、前記プロトコル処理部における動作クロックたるビットクロックを生成するビットタイミング生成回路
    を有し、
    前記受信データ制御部は、前記受信データを前記エラーデータに差し替えて前記エラーマネジメント回路に出力している期間であっても、前記ビットタイミング生成回路に対しては、前記エラーデータへの差し替えを行わずに前記受信データを与える
    CANシステム。
  3. 請求項に記載のCANシステムであって、
    前記エラーデータ情報には、前記送信データ中の前記エラーデータの挿入位置の情報、前記エラーデータのビット幅の情報、および、前記エラーデータのデータ値の情報が含まれ、
    前記プロトコル処理部は、
    前記メッセージ処理部からの前記送信メッセージデータを前記送信データのデータ形式に調製可能であって、前記送信データのうち前記調製処理を行う位置が前記エラーデータの前記挿入位置に到達したときに、前記送信データを、前記ビット幅および前記データ値を有する前記エラーデータに差し替えて出力することにより、前記エラーデータを前記送信データ内に含ませる送信データ制御部
    を有する
    CANシステム。
  4. 請求項1に記載のCANシステムであって、
    前記エラーデータ情報には、複数ビットが連続して同じデータ値を採り続けた場合に前記データ値を反転させて生成したスタッフビットを前記送信データ中に挿入するスタッフビットモード時において、前記スタッフビットを再反転させて前記エラーデータとする旨の指示情報が含まれ、
    前記プロトコル処理部は、
    前記メッセージ処理部からの前記送信メッセージデータを前記送信データのデータ形式に調製可能であって、前記指示情報を受けて、前記送信データのうち前記調製処理を行う位置が前記スタッフビットの挿入位置に到達したときに、前記スタッフビットを再反転させて前記送信データ中に挿入することにより、前記エラーデータを前記送信データ内に含ませる送信データ制御部
    を有する
    CANシステム。
JP2004321797A 2004-11-05 2004-11-05 Canシステム Active JP4722457B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004321797A JP4722457B2 (ja) 2004-11-05 2004-11-05 Canシステム
US11/261,522 US7373577B2 (en) 2004-11-05 2005-10-31 CAN system
US12/076,980 US7958438B2 (en) 2004-11-05 2008-03-26 CAN system
US12/846,404 US8001453B2 (en) 2004-11-05 2010-07-29 CAN system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004321797A JP4722457B2 (ja) 2004-11-05 2004-11-05 Canシステム

Publications (2)

Publication Number Publication Date
JP2006134029A JP2006134029A (ja) 2006-05-25
JP4722457B2 true JP4722457B2 (ja) 2011-07-13

Family

ID=36317758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004321797A Active JP4722457B2 (ja) 2004-11-05 2004-11-05 Canシステム

Country Status (2)

Country Link
US (3) US7373577B2 (ja)
JP (1) JP4722457B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2744701A (en) 1999-12-29 2001-07-09 Hill-Rom Services, Inc. Hospital bed
EP2181685B1 (en) * 2002-09-06 2014-05-14 Hill-Rom Services, Inc. Hospital bed with controlled inflatable portion of patient support
KR100747303B1 (ko) * 2005-11-11 2007-08-07 현대자동차주식회사 하이브리드 차량의 페일 세이프티 제어 시스템
US20070174679A1 (en) * 2006-01-26 2007-07-26 Ibm Corporation Method and apparatus for processing error information and injecting errors in a processor system
DE102007028766A1 (de) * 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische Schaltung zur sicheren seriellen Übertragung von Daten
JP2009005160A (ja) * 2007-06-22 2009-01-08 Denso Corp エラー発生装置
CN102238046A (zh) * 2010-05-06 2011-11-09 上海固泰科技有限公司 一种can总线物理层测试方法
CN102801572A (zh) * 2011-05-26 2012-11-28 上海固泰科技有限公司 一种lin总线物理层测试方法
US8975915B2 (en) * 2012-09-29 2015-03-10 Infineon Technologies Ag Driver circuit for a digital signal transmitting bus
DE102012110712B4 (de) 2012-10-09 2014-05-22 Sensor-Technik Wiedemann Gmbh Verfahren und System zur Funktionsprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit
JP5803895B2 (ja) * 2012-12-26 2015-11-04 株式会社デンソー 伝送装置
US9331714B1 (en) * 2013-04-26 2016-05-03 Altera Corporation Circuit structure and method for high-speed forward error correction
WO2015008114A1 (en) 2013-07-18 2015-01-22 Freescale Semiconductor, Inc. Illegal message destroyer
EP2873400B1 (en) 2013-11-18 2018-01-31 Völker GmbH Person support apparatus
KR101704300B1 (ko) * 2015-12-08 2017-02-23 현대오트론 주식회사 Can 메시지 송수신 방법 및 이를 실행하는 시스템
CN106789519B (zh) * 2016-12-30 2021-07-23 深圳市优必选科技股份有限公司 信道配置方法及装置
US10333838B2 (en) * 2016-12-30 2019-06-25 UBTECH Robotics Corp. Frame transmission methods and devices
CN108667679B (zh) * 2017-03-30 2023-05-26 长城汽车股份有限公司 一种转换方法和装置
DE102019208058A1 (de) * 2019-06-03 2020-12-03 Robert Bosch Gmbh Fehlererkennung-Testeinrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zum Testen von Mechanismen zur Fehlererkennung bei einer Kommunikation in einem seriellen Bussystem
CN110941218B (zh) * 2019-12-10 2021-02-26 北京振兴计量测试研究所 一种can总线控制器测试方法
CN111104272B (zh) * 2019-12-10 2023-04-18 北京振兴计量测试研究所 一种基于rx和tx的can总线控制器测试方法
US11928022B2 (en) 2021-07-09 2024-03-12 Microchip Technology Incorporated Introduction and detection of parity error in a UART
WO2023283074A1 (en) * 2021-07-09 2023-01-12 Microchip Technology Incorporated Introduction and detection of parity error for self testing of a universal asynchronous receiver transmitter

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073430A (ja) * 2000-09-01 2002-03-12 Motorola Inc エラー・メッセージを送信するための装置および方法
JP2002074340A (ja) * 2000-08-29 2002-03-15 Toshiba Corp 道路交通監視用画像処理装置およびこの装置のための画像処理パラメータ自動設定方法
JP2004320565A (ja) * 2003-04-17 2004-11-11 Sumitomo Electric Ind Ltd 通信評価システム及びデータ送信装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6288047A (ja) * 1985-10-14 1987-04-22 Nec Corp インタフエ−ス制御装置
US4669081A (en) * 1986-02-04 1987-05-26 Raytheon Company LSI fault insertion
US4699081A (en) * 1986-08-25 1987-10-13 Harshaw/Filtrol Partnership Means for detecting and adjusting metal salt concentration in an electroless plating bath
JPS63281539A (ja) * 1987-05-14 1988-11-18 Fujitsu Ltd 誤りデ−タ発生回路
US4999837A (en) * 1989-03-20 1991-03-12 International Business Machines Corporation Programmable channel error injection
US5363379A (en) * 1992-04-30 1994-11-08 International Business Machines Corporation FDDI network test adaptor error injection circuit
US5958029A (en) 1997-10-20 1999-09-28 Motorola, Inc. Method and system for efficient message validation
JP3573988B2 (ja) * 1998-12-28 2004-10-06 富士通株式会社 誤り訂正方法及び伝送装置
US6560720B1 (en) * 1999-09-09 2003-05-06 International Business Machines Corporation Error injection apparatus and method
US6625764B1 (en) * 2000-11-28 2003-09-23 Nortel Networks Limited Testing using test packets containing random data
US6622268B2 (en) * 2000-11-29 2003-09-16 Intel Corp Method and apparatus for propagating error status over an ECC protected channel
US20020144038A1 (en) * 2001-02-09 2002-10-03 J. Howard Smith Data communication prioritization method and bus controller
US7016430B1 (en) * 2001-03-21 2006-03-21 Cyrpess Semiconductor Corp. Apparatus and protocol for exception propagation in serial transport block coded interfaces
US7020811B2 (en) * 2001-04-24 2006-03-28 Sun Microsystems, Inc. System and method for verifying error detection/correction logic
US6886116B1 (en) * 2001-07-26 2005-04-26 Emc Corporation Data storage system adapted to validate error detection logic used in such system
DE10152235B4 (de) 2001-10-20 2015-01-08 Robert Bosch Gmbh Verfahren zum Erkennen von Fehlern bei der Datenübertragung innerhalb eines CAN-Controllers und ein CAN-Controller zur Durchführung dieses Verfahrens
JP2003244779A (ja) 2002-02-18 2003-08-29 Takasaki Kyodo Keisan Center:Kk Can通信診断装置
JP3952830B2 (ja) * 2002-04-10 2007-08-01 株式会社デンソー 通信システム
DE10218646A1 (de) * 2002-04-25 2003-11-13 Infineon Technologies Ag An einen Bus angeschlossene Einrichtung

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002074340A (ja) * 2000-08-29 2002-03-15 Toshiba Corp 道路交通監視用画像処理装置およびこの装置のための画像処理パラメータ自動設定方法
JP2002073430A (ja) * 2000-09-01 2002-03-12 Motorola Inc エラー・メッセージを送信するための装置および方法
JP2004320565A (ja) * 2003-04-17 2004-11-11 Sumitomo Electric Ind Ltd 通信評価システム及びデータ送信装置

Also Published As

Publication number Publication date
US20080183835A1 (en) 2008-07-31
JP2006134029A (ja) 2006-05-25
US20100313080A1 (en) 2010-12-09
US20060101317A1 (en) 2006-05-11
US7958438B2 (en) 2011-06-07
US7373577B2 (en) 2008-05-13
US8001453B2 (en) 2011-08-16

Similar Documents

Publication Publication Date Title
JP4722457B2 (ja) Canシステム
TWI307462B (en) Ibist apparatus and computer system
US11245547B2 (en) Monitoring controller area network (CAN) nodes
EP1760939B1 (en) Fault diagnosis in data table of network node
CN108833170B (zh) 一种网络级自适应can总线故障诊断方法
US8375250B2 (en) System and method for testing a module
US20080133169A1 (en) Methods and apparatus for testing a link between chips
US20220239576A1 (en) Error detection test device for a subscriber station of a serial bus system and method for testing mechanisms for detecting errors in a communication in a serial bus system
JP2008312010A (ja) Canのエラー検出評価方法およびcan通信装置
JP2015136104A (ja) シリアルリンク障害検出システムおよび方法
US8488621B2 (en) Communication network system and error verification method
JP2003348105A (ja) Canコントローラ
CN111614531B (zh) 用于监视lin节点的方法、介质、监视设备
JP2007263404A (ja) 電気機器および電気機器における通信機能正常判定方法
US6374372B1 (en) Method of checking parallel port of personal computer using loopback
US20240054093A1 (en) Method for performing data transmission
JP2979814B2 (ja) シリアルデータ転送装置
JPH08202207A (ja) オプション機器接続状態検知装置
JPH07123134A (ja) 通信処理装置およびそのデバッグ方法
JP3854549B2 (ja) 時分割多重伝送システムおよび時分割多重伝送装置
JP2009005160A (ja) エラー発生装置
JP2003023440A (ja) ゲートウェイ装置、コンピュータ、通信評価システム
JP3603956B2 (ja) 通信制御装置のバッファ管理方式
KR920001859B1 (ko) 타임 스위치 제어 메모리장치
JPH11284605A (ja) 情報処理システムおよびそのシリアル通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071011

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071011

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4722457

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350