(58)【調査した分野】(Int.Cl.,DB名)
通信バスを介してスレーブノードとして動作する送受信機に結合されたコントローラを備える装置であって、前記コントローラ及び送受信機の各々は、少なくともスタンバイモード及びノーマルモードで動作するように構成されている当該装置において、
前記送受信機は、
前記送受信機が前記スタンバイモードで動作している間に、マスターノードから前記通信バスを介して符号化された基準クロック信号を受信するとともに、
前記符号化された基準クロック信号を前記コントローラに送信する
ように構成されており、
前記コントローラは、
このコントローラが前記スタンバイモードで動作している間に、前記送受信機により送信された前記符号化された基準クロック信号を検出するように構成されている
装置。
請求項1に記載の装置において、前記送受信機は、前記スタンバイモードにある間は、前記符号化された基準クロック信号で符号化されたデータ信号を前記コントローラに送信するのを行わないように構成されている装置。
請求項1に記載の装置において、前記送受信機は、前記符号化された基準クロック信号を前記コントローラのインタラプト入力端に送信するように構成されており、前記コントローラは、このインタラプト入力端における前記符号化された基準クロック信号を検出するように構成されている装置。
請求項1に記載の装置において、前記コントローラは、ウェークアップ信号を、前記送受信機を介して前記マスターノードに送信するように構成されており、前記送受信機は、前記ウェークアップ信号に応答して前記符号化された基準クロック信号を前記マスターノードから受信するように構成されている装置。
請求項1に記載の装置において、前記通信バスはクロック・エクステンション・ペリフェラル・インターフェース(CXPI)バスを有し、このCXPIバスは車両内に配置されている装置。
スレーブノードにあるコントローラがスタンバイモードで動作している間に、このコントローラにより、通信バスを介してウェークアップ信号をマスターノードに送信するステップと、
スレーブノードにある送受信機がスタンバイモードで動作している間に、この送受信機により、前記ウェークアップ信号に応答して前記マスターノードから符号化された基準クロック信号を受信するステップと、
前記送受信機により、前記符号化された基準クロック信号を前記コントローラに送信するステップと、
前記送受信機により送信された前記符号化された基準クロック信号を前記コントローラにより検出するステップと
を備える方法。
請求項8に記載の方法において、前記通信バスはクロック・エクステンション・ペリフェラル・インターフェース(CXPI)バスを有し、このCXPIバスは車両内に配置されているようにする方法。
請求項14に記載のシステムにおいて、前記送受信機は、前記スタンバイモードにある間、前記符号化された基準クロック信号で符号化されたデータ信号の前記コントローラへの送信を行わないように構成されているシステム。
請求項14に記載のシステムにおいて、前記送受信機は、前記符号化された基準クロック信号を前記コントローラのインタラプト入力端に送信するように構成されており、前記コントローラは、このインタラプト入力端における前記符号化された基準クロック信号を検出するように構成されているシステム。
請求項14に記載のシステムにおいて、前記前記コントローラは、ウェークアップ信号を、前記送受信機を介して前記マスターノードに送信するように構成されており、前記送受信機は、前記ウェークアップ信号に応答して前記符号化された基準クロック信号を前記マスターノードから受信するように構成されているシステム。
請求項17に記載のシステムにおいて、前記マスターノードは、前記ウェークアップ信号を受信し、このウェークアップ信号に応答して前記ノーマルモードに移行するとともに前記符号化された基準クロック信号を前記スレーブノードに送信するように構成されているシステム。
【発明を実施するための形態】
【0014】
本発明の実施例を、添付図面を参照して更に以下で説明するに、CXPI通信によれば、複数のスレーブノードECUが1つのマスターノードECUに接続される。マスターノードECUは、データ通信のために基準クロックをバスに規則的に送信する。スレーブノードECUは、この基準クロックに応じてデータを送信する。或いは、各ECUは内部的に発生させるクロックを用いることにより動作しうる。以後、各ノードのECUを参照する際には、ECUを単に“マスターノード”又は“スレーブノード”と称する。
【0015】
[第1実施例]
図1はCXPI通信中のマスターノード及びスレーブノードの一例を示す線図である。マスターノード10は送受信機102とMCU(マイクロ・コントローラ・ユニット)101とを有している。スレーブノード12も送受信機104とMCU103とを有している。MCU101及び103はそれぞれ、UART(ユニバーサル・アシンクロナス・レシーバ・トランスミッタ;汎用非同期送受信回路)を介してデータ(TXD、RXD)を送受信機102及び104に送信するとともに送受信機102及び104から受信する。マスターノード10の送受信機102及びスレーブノード12の送受信機104はバス14を介してデータの送受信を実行する。CXPI通信では、デューティ比が50%でない方形波信号が基準クロックCLKとして用いられている。送受信機102及び104の各々は、送受信回路、DSP(デジタル信号プロセッサ)、ASIC(アプリケーション・スペシフィックIC;特定用途向けIC)、等のような種々の信号処理を実行する回路を含めることにより構成することができる。
【0016】
CXPI通信では、一般にバスの基準クロックに対して19.2kHz(19.2kbps)の周波数が用いられる。基準クロックの周波数19.2kHzは、いわゆるスマートキーシステムに対する134kHzの電波の7分の1調波と等価である。スマートキーシステムは、無線端末からの無線通信により鎖錠解除/鎖錠及び車両エンジンの始動を制御するシステムである。すなわち、CXPI通信では、スマートキーシステムの弱い電波に混信を及ぼす可能性のある雑音を発生するおそれがある。
【0017】
このような雑音を抑圧するには、基準クロックのデューティ幅を変えることができる。デューティ比が50%でない基準クロックのデューティ幅tの場合、n/t(n=1,2,…)の周波数を有する調波電力は減少する。例えば、基準クロックCLKを7倍にすることにより得られる134kHzにおける調波レベルはデューティ幅を14.9μ秒とすることにより減少させることができる。
【0018】
しかし、この場合、デューティ幅の制御に2%の誤差があることにより調波レベルを充分に抑圧するのを困難とするおそれがある。特に、基準クロックCLKをアナログ回路により構成された波形整形回路を介してバスに送信すると、このアナログ回路による変化が大きくなり、従って、デューティ幅を正確に制御するのを困難とする。CXPI通信では、基準クロックCKLに加えて、内部発生クロックをRC(抵抗及びキャパシタ)発振器により発生させて個々のECU内で用いるようにでき、代表的にはRC発振器により発生させたクロックは±30〜40%の変化を有する。従って、基準クロック又は内部クロックのデューティ幅を高精度で制御するのが好ましい。以下の実施例は、基準クロック又は内部クロックのデューティ幅の制御に関するものである。
【0019】
図2A及び2Bは、本発明の実施例の車載電子装置の構成を示す線図である。
図2Aに示す車載電子装置は、例えば、
図1に示すマスターノード10に相当するCXPIシステム中のマスターノードである。この場合、ECU20がこの車載電子装置とみなされる。このECU20はMCU23と送受信機24とを有している。この実施例のMCU23は“発生ユニット”に相当する。送受信機24は、内部クロック発生器25と、符号化/復号化ユニット26と、波形整形ユニット27とを有している。MCU23は、符号化/復号化ユニット26と、波形整形ユニット27と、バス(BUS)28とを介してデータ(TXD)を他のノードに送信するとともにデータ(RXD)を他のノードから受信する。内部クロック発生器25は、ECU20内で用いるべきクロックiCLKを発生する。この内部クロック発生器25は、例えば、RC発振器を有し、基準クロックCLKから高周波の内部クロックiCLKを発生させる。
【0020】
ECU20は更にクロック調整ユニット21を備えている。このクロック調整ユニット21には基準クロックCLK及び内部クロックiCLKが与えられる。この場合、クロック調整ユニット21は、
図2Bに示すように、基準クロックCLKの1サイクル(周期)t2中の内部クロックiCLKのクロック数を計数する。このクロック調整ユニット21は、例えば、入力基準クロックCLK及び内部クロックiCLKを蓄積するレジスタと、各クロックを計数するカウンタとを有する。このクロック調整ユニット21は、基準クロックCLKのクロック中に計数される内部クロックiCLKのクロックの平均数を計算しうる。
【0021】
クロック調整ユニット21は、基準クロックCLKが論理値“1”を有する際のデューティ幅L2を、内部クロックiCLKのクロックの計数値(又は平均数)のレートで調整する。例えば、内部クロックiCLKの周波数が基準クロックCLKの周波数の100倍よりも大きい場合には、基準クロックCLKのデューティ幅を1%よりも小さい精度で調整しうる。その後、クロック調整ユニット21はこの調整された基準クロックCLKを送受信機24に入力させる。この送受信機24では、この調整された基準クロックCLKを符号化/復号化ユニット26により用いて、送信すべきデータを符号化し、このデータを波形発生器(波形整形ユニット)27から他のノードに送信する。
【0022】
ECU20はクロック調整ユニット21の代わりにクロック調整ユニット22を有することができる。このクロック調整ユニット22は、送受信機24の波形整形ユニット27からバスに向けて送信を行う際に基準クロックCLKを取得し、論理値“1”を有する基準クロックCLKのデューティ幅が14.9μ秒となるように調整を行う。或いは、検査する際に記憶装置等を用いることにより、基準クロックCLKのデューティ幅をトリミングすることができる。
【0023】
図3は、クロック調整ユニット22を有するECU20の動作を説明するためのフローチャート線図である。
図3の手順は、クロック調整ユニット22が基準クロックCLKを受信すると開始する。クロック調整ユニット22は基準クロックCLKのデューティ幅を測定する(S300)。デューティ幅が14.9μ秒でない場合(S302でNo)、クロック調整ユニット22はデューティ幅を調整し(S303)、基準クロックCLKを符号化/復号化ユニット26に送信する。これとは相違し、デューティ幅が14.9μ秒である場合(S302でYes)、クロック調整ユニット22はデューティ幅を調整することなく、基準クロックCLKを符号化/復号化ユニット26に送信する。その後、符号化/復号化ユニット26は基準クロックCLKを用いてデータを符号化し(S304)、波形整形ユニット27が符号化されたデータをバスに送信する(S306)。
【0024】
この実施例では、ECU20がクロック調整ユニット21及び22のうちの一方又は双方を有するようにしうる。クロック調整ユニット21を有する構成によれば比較的粗な調整を可能にするとともに、クロック調整ユニット21を有する構成によれば比較的微細な調整を可能にする。双方のクロック調整ユニットを有する構成によれば、これらのクロック調整ユニットの何れか一方のみを有する構成よりも一層正確な調整を可能にすることができる。
【0025】
クロック調整ユニット21及び22は、論理値“1”を有する基準クロックCLKのデューティ幅を調整する場合、比較的大きな調整幅により第1の調整を実行し、次いでこの第1の調整幅よりも小さい調整幅で徐々に調整する。
【0026】
図4は、クロック調整ユニット21及び22の動作を説明するためのフローチャート線図である。これらクロック調整ユニット21及び22は、デューティ幅の調整幅を14.9μ秒よりも大きい初期幅に設定した後(S402)、デューティ幅を測定する(S404)。デューティ幅が14.9μ秒でない場合(S406でNo)、クロック調整ユニット21及び22はデューティ幅を初期幅よりも小さい幅まで調整し(S408)、次いで処理をS404に戻す。一方、デューティ幅が14.9μ秒である場合(S406でYes)、クロック調整ユニット21及び22が調整を実行することなく、処理が終了される。
【0027】
CXPI通信では、プロトコル仕様に応じてスリープモードの開放後で通信の開始前に20ミリ秒の学習時間が指定されており、このような学習時間中、論理値“1”が維持されるようになっている。これにより、調整を学習時間中に完了しうる為、実際の通信は悪影響をうけることがない。ちなみに、その後の波形調整はスリープモードに再度入るまで実行されない。
【0028】
第1実施例によれば、CXPI通信における基準クロックのデューティ幅を高精度で調整しうる為、スマートキーシステム及びその他のシステムの電波に対する混信を阻止しうる。更に、高価な水晶発振器等の代わりに、変化がより大きな廉価なRC発振器を用いる場合でも、基準クロックのデューティ幅を高精度で調整しうる。従って、回路の簡略化及び低価格化を達成しうる。
【0029】
[第2実施例]
第2実施例は、スペクトラム拡散法を134kHz帯域における調波のレベルを低減させる手段として考慮することにより、CXPI通信システムにおける基準クロック及びスマートキーシステムの電波間の混信を阻止するものである。スペクトラム拡散法によれば、基準クロックの電力が特定の周波数帯域内に集中されるのを阻止し、これにより134kHz帯域における調波のレベルを抑圧することができる。しかし、スペクトラム拡散法を用いる場合、以下のことが関係しうる。
【0030】
スペクトラム拡散システムでは、一般に数kHz〜数十kHzの周波数がスペクトラム拡散に対する変調周波数として用いられている。その理由は、スペクトラム拡散クロック発生器では、数kHzよりも低い帯域が位相比較器の帰還制御により除外される為である。この場合、比較的高い帯域においてのみスペクトラム拡散により電力が抑圧され、一方、低い周波数帯域では、特に数kHz〜数十kHzの帯域では、変調波の電力が重畳され、従って、電力は充分に抑圧されない。CXPI通信のバスの基準クロックは20kHzであり、これに変調波の数kHz〜数十kHzが重複する。従って、バスの基準クロック及びスマートキーシステムの電波間の混信を低減させる有効性が低いままとなる。
【0031】
更に、9kHz〜150kHzが観測される環境において変調波が充分に低くなる可能性がある場合でも、規定CISPR(国際無線障害特別委員会)によれば、スペクトラム拡散に対する分解能周波数は200Hzに設定する必要がある。これにより、結局のところ、分解能周波数が被変調波に重畳され、134kHz帯域の調波の電力低減効果が低減される。
【0032】
スペクトラム拡散法における上述した環境を考慮するに、本発明の第2実施例は、以下の[式1]を満足させて所望の帯域(134kHz)の調波のレベルを低減させることに関するものである。
[式1]
RBW<SSMF<TF×SSMR
ここで、
RBW:分解能周波数、
SSMF:変調周波数、
TF:抑圧目標周波数(134kHz)及び
SSMR:変調レート(CXPI通信では1%)
である。この第2実施例は上記の[式1]を満足する変調周波数での基準クロックに関しスペクトラム拡散処理を実行することに関するものである。この実施例は更に、クロック調整ユニット21及び送受信機24の、
図2Aに示す構成に対する変形例に関するものである。
【0033】
図5は、本実施例におけるクロック調整ユニットの構成を示す線図である。このクロック調整ユニット50は、周波数計算ユニット51、パターンシーケンサ52、サイクル計算ユニット54、加算器56及びクロックラーニングユニット58のようなモジュールを有している。
【0034】
クロックラーニングユニット58は、送受信機24により発生された内部クロックiCLK(例えば、4MHz)が入力された際に、基準クロック(例えば、20kHz)の1クロック当りの内部クロックiCLKのクロック数を計数する。次いで、この係数結果(例えば、200)は加算器56及びサイクル計算ユニット54に送信される。
【0035】
周波数計算ユニット51には、雑音評価用の分解能周波数RBW(例えば、200Hz)と、抑圧目標周波数TF(134kHz)と、変調ファクタSSMR(例えば、0.5%)と、基準クロックCLKとが入力され、この周波数計算ユニット51がこれらのファクタに基づいて変調周波数SSMF(例えば、300Hz)を計算する。この周波数計算ユニット51は、分解能周波数RBWと、抑圧目標周波数TFと、変調ファクタSSMRと、基準クロックCLKと、変調周波数SSMFとをパターンシーケンサ52に送信する。
【0036】
このパターンシーケンサ52は変調ファクタSSMRに基づいて(±0.5、±0)の変調パターンを発生し、このパターンを分解能周波数RBW、抑圧目標周波数TF、変調ファクタSSMR、基準クロックCLK及び変調周波数SSMFと一緒にサイクル計算ユニット54に送信する。
【0037】
このサイクル計算ユニット54は、変調パターン(±0.5、±0)をクロックCLKの1クロック当り内部クロックiCLKのクロック計数値に適用することにより、変調サイクルを導出する。
図6Aは、導出すべき変調サイクルを示す。例えば、300Hzのスペクトラム拡散変調周波数に相当する3.33ミリ秒の各サイクルにおいて、サイクル計算ユニット54が内部クロックiCLKのクロック計数値200に対する+1、±0及び−1の計算を実行し、内部クロックiCLKのクロック計数値における変調サイクル201、200及び199をそれぞれ導出する。これらの導出した変調サイクルを加算器56に送信する。
【0038】
加算器56は変調サイクルを基準クロックCLKに適用し、各変調サイクルに対し基準クロックの周波数を19.9kHz、20.0kHz及び20.1kHzに変更し、これらを送受信機24に送信する。この場合の基準クロックCLKの例を
図6Bに示す。
【0039】
図5には、クロック調整ユニット50が、周波数計算ユニット51、パターンシーケンサ52、サイクル計算ユニット54、加算器56及びクロックラーニングユニット58のようなモジュールを有する例を示しているが、このクロック調整ユニット50の一部又は全てをアナログ回路で構成しうる。例えば、サイクル計算ユニット54及び加算器56は、基準クロックCLKを各変調パターンに対し遅延させる複数の遅延回路と、パターンシーケンサ52からの信号に応じてこれらの複数の遅延回路からの入力の1つを選択し出力するセレクタとを用いて構成することができる。
【0040】
図7は、本実施例における送受信機の構成を示している。送受信機7は、内部クロックiCLKを発生する内部クロック発生器71と、MCUが送信/受信するデータ(TXD、RXD)の符号化/復号化を、スペクトラムを拡散させる基準クロックCLKに応じて実行する符号化/復号化ユニット72と、符号化データをバスに送信する波形整形ユニット73とを有している。
【0041】
図8は、波形整形ユニット73が出力する基準クロックCLKの一例を示している。この波形整形ユニット73は、例えば、フィルタを用いて基準クロックCLKのエッジ(80、81)を丸くしてこの基準クロックCLKを出力する。本例は、エッジが丸まった基準クロックCLKに対する変調ファクタを±Xとしたスペクトラム拡散を示している。エッジを丸めることにより、調波のレベルを抑圧しうる。
【0042】
[第3実施例]
CXPI通信システムでは、スレーブノードの送受信機により、発生させる内部クロックのエッジ自体を基準クロックの立下りエッジと同期させて低くする。これにより、スレーブノードはマスターノードの処理論理と同期させて処理を実行する。スレーブノードの内部クロックの立下りが鈍い場合には、すなわちスルーレートが高い場合には、予想外のスパイク雑音が基準クロックに重畳され、通信特性を悪化させる。スルーレートが高くなるにつれ、耐雑音性が悪くなる。第3実施例は、スレーブノード側及びマスターノード側に対する送受信機に関連する上述した問題に対処するものである。
【0043】
図9は、スレーブノードの送受信機の構成を示している。この送受信機9は、
図1に示すマスターノード及びスレーブノードの構成における送受信機104に相当する。この送受信機9は、波形整形ユニット90と、スイッチ91と、スイッチコントローラ92と、遅延ユニット93と、インターフェース94と、入力ユニット97とを有している。
【0044】
図9に示すユニットの動作は
図10につき説明する。
図10は、
図9に示すユニットに入力されるとともにこれらユニットから出力される信号を示している。
【0045】
波形整形ユニット90は送信データTXを取入れて低スルーレートのデータ信号TXbを発生する。
【0046】
遅延ユニット93は送信データTXの反転信号XTXをΔdだけ遅延させ、この遅延信号をデータ信号TXaとしてスイッチ91に送信する。
【0047】
スイッチコントローラ92は、ECUがMCUからの信号SELMSに基づいてスレーブノードとして動作していることを検出し、セレクタ信号SELをスイッチ91に送信する。このスイッチコントローラ92はこのようなセレクタ信号SELをスイッチ91に送信し、送信データTXが高から低に立下った場合にスイッチ91がデータ信号TXaを選択し、送信データTXが低から高に立上った場合にスイッチ91がデータ信号TXbを選択するようにする。
【0048】
スイッチ91は、セレクタ信号SELに応答して、データ信号TXa又はTXbを信号TXcとして選択的に出力する。その結果、信号TXcはデータ信号TXの立上りと同期して急激に(すなわち、低スルーレートで)立上るか、又はデータ信号TXの立下りエッジと同期してゆっくりと(すなわち、高スルーレートで)立下る。信号TXcはインターフェース94に送信される。
【0049】
インターフェース94は、信号TXcに応答して、この信号TXcが低レベルにある際に高レベルにあるクロックpCLKを、この信号TXcが高レベルにある際に低レベルにあるクロックpCLKを、発生するとともに出力する。次いで、このクロックpCLKは、マスターノードからバスを介して受信された基準クロックCLK上に重畳される。
【0050】
図11A〜11Cは、スレーブノードの内部クロックを基準クロックCLK上に重畳させた場合を説明するための線図である。
図11Aは、基準クロックCLKと、内部クロックiCLKと、この内部クロックiCLKを重畳させているが本実施例では適用しない基準クロックCLK_1とを示している。
図11B及び11Cは、本実施例の基準クロックCLKと、送受信機により発生させたクロックpCLKと、このクロックpCLKを重畳した基準クロックCLK_2とを示している。
【0051】
図11Aに示すように、高スルーレートをもって内部クロックiCLKがゆっくりと立下る場合には、基準クロックCLKと内部クロックiCLKとが低くなるタイミングが互いに一致せず、スパイク11が基準クロックCLK_1内に生じる。一方、
図11Bに示すように、クロックpCLKのスルーレートを低下させて急激に立下るようにすることにより、基準クロックCLKとクロックpCLKとが低下するタイミングが一致し、基準クロックCLK_1内にスパイクが生じないようにすることができる。
【0052】
CXPIでは、20kbpsでの通信が実行され、最大スルーレートは5V/μ秒に制限されている。好適例では、5V/μ秒のスルーレートに相当する遅延時間が2.4μ秒であることを考慮して、遅延ユニット93におけるデータ信号TXの遅延時間を1〜2μ秒に設定する。遅延時間が短すぎる場合には、
図11Cに示すように、基準クロックCLKが低レベルになる前にクロックpCLKが低レベルとなり、従って、基準クロックCLK_1の精度が悪くなる。しかし、上述したように、適切な遅延時間を設定することにより、基準クロックにおけるスパイクの発生を阻止でき、好ましい信号精度を保つことができる。
【0053】
抵抗及びキャパシタを用いて遅延ユニット93の遅延回路を構成する場合、基準クロックCLKが電圧レベルに関する高/低検出しきい値間で移行する時間を測定することにより、測定された移行時間及びバッテリ電圧(例えば、12V)に基づいて、スルーレートを測定することができる。次いで、この測定したスルーレートに基づいて、基準クロックCLKの低検出値から0Vまでの移行時間を計算し、この計算した移行時間に基づいて遅延回路のRC時定数を適切に設定しうるようにする。
【0054】
この実施例の変形例では、マスターノードの代わりにスレーブノードの1つが基準クロックCLKを発生し、この基準クロックCLKをCXPI通信ネットワークのバスに向けて送信する。
図9に示す送受信機9は
図12に示す信号を出力するように動作する。
【0055】
図12は、変形例における、
図9に示すユニットに入力される信号及びこれらユニットから出力される信号を示している。変形例におけるユニットの動作を
図12につき説明する。
【0056】
波形整形ユニット90及び遅延ユニット93の動作は
図10におけるのと同じである。
【0057】
スイッチコントローラ92は、ECUがMCUからの信号SELMSに基づいてマスターモードとして動作し、セレクタ信号SELをスイッチ91に送信する。この変形例では、セレクタ信号SELは常に低レベルにある。従って、信号TXcのエッジは比較的高いスルーレートで立上り且つ立下る。信号TXcはインターフェース94に送信され、基準信号CLKとして送出される。
【0058】
[第4実施例]
CXPI通信のマスターノードでは、MCUが基準信号と同期させて高レベル又は低レベルのデータ信号を送受信機に送信する。次いで、この送受信機は、MCUから受信した基準クロックに応じてデータ信号のパルス幅を変調する。例えば、
図13Aに示すように、送受信機は、クロックCLKの立下りエッジのタイミングにおいて、データ信号TXDが高レベルにある際に値“1”に相当する高デユーティ比のデータ信号TXを発生するか、又はデータ信号TXDが低レベルにある際に値“0”に相当する低デユーティ比のデータ信号TXを発生し、このデータ信号TXをバスに送信する。
【0059】
MCUによれば、基準クロックの発生及び送信とデータ信号の直列転送との各々が、互いに別々に動作する別々のマクロで実行される。従って、送受信機がMCUから受信された基準クロックを用いてデータ信号を処理する必要がある場合には、受信した基準信号及びデータ信号が互いに同期せず、正しいデータを送出できなくなる場合が存在するおそれがある。例えば、
図13Bに示すように、基準クロックCLKの立下りエッジがデータ信号TXD(1301、1302)のエッジの立下り又は立上りの中央に対応する場合には、データ信号TXDのレベルを、高又は低として決定できず、従って、正確なデータ信号TXを発生させることができない。
【0060】
CXPI通信では、MCUと送受信機との間のデータ通信は、1バイトのデータの前後に識別ビットを追加することにより、総計で10ビットの単位で実行される。送受信機においては、この時点で、ビットアービトレーションが実行される。このアービトレーションが失敗した場合には、送受信機はバスへのデータ信号の送出を直ちに停止する。この場合、CXPIによるこのような指示の故に、上述した状態で送受信機により正しいデータを送信できず、データ通信が中断され、従って、処理能力を低減させるおそれがある。従って、基準クロックとデータ信号との同期を制御するモジュールをMCUに設けるのが好ましい。しかし、このようなモジュールの追加により、MCU処理負荷を高める要因を生ぜしめるおそれがある。
【0061】
又、スレーブノードもマスターノードからバスを経て受信する基準クロックを用いてデータ信号を送信及び受信する。スレーブノードのMCUは、バスから受信した基準クロックを送受信機から受信し、このMCUが基準クロックと同期して動作するようにする制御処理が行われる。しかし、このような制御モジュールを設けることによりMCUの負荷を増大させるおそれがある。或いはまた、例えば、送受信機とMCUとの間に基準クロックを供給するピンを追加することができるが、このことは回路の複雑性につながる。
【0062】
上述したことを考慮して、本発明の実施例は、基準クロックとデータ信号とが同期して動作するにもかかわらず、正確なデータ通信を可能にできるCXPIのマスターノード及びスレーブノードの送受信機に関するものである。
【0063】
図14は、マスターノード又はスレーブノードの送受信機の構成を示す。この送受信機130はアナログ回路ユニット131及びデジタル回路ユニット132を有している。
【0064】
アナログ回路ユニット131は、バッテリから電力を得る電源回路1311と、イネーブル信号NSLPにより動作させられクロック信号をデジタル回路ユニット132に供給する発振器1312と、バスから受信した信号中の雑音を除去するフィルタ1313と、バスに送信すべき信号の波形を整形する波形整形ユニット1314とを有している。
【0065】
デジタル回路ユニット132は、クロックスイッチングユニット1321と、サイクル測定ユニット1322と、エッジ検出ユニット1323と、計算ユニット1324と、同期ユニット1325と、復号化ユニット1326と、符号化ユニット1327と、ビットアービトレーションユニット1328と、モードスイッチングユニット1329とを有している。
【0066】
クロックスイッチングユニット1321は、装置がマスターノードであるか又はスレーブノードであるかを選択信号sRefに基づいて決定する。次いでこのクロックスイッチングユニット1321は、マスターノードの場合にMPU(マイクロプロセッサユニット)から送信される基準クロックCLKを、又はスレーブノードの場合にマスターノードからバスを介して送信される基準クロックをボーレートとして選択する。この選択されたボーレートはサイクル測定ユニット1322及びエッジ検出ユニット1323に送信される。本実施例では、ボーレートとして選択された基準クロックを以後“ボーレートクロック”と称する。
【0067】
ここで
図15A、15B及び16を参照して、サイクル測定ユニット1322、エッジ検出ユニット1323、計算ユニット1324、同期ユニット1325、復号化ユニット1326、符号化ユニット1327、ビットアービトレーションユニット1328及びモードスイッチングユニット1329の動作を説明する。
図15A及び15BはMPUから入力されるデータ信号TXDと、ボーレートクロックbCLKと、出力するデータ信号TXとを示している。
図15A及び15Bでは、ボーレートクロックの立下りエッジEC1、EC2、…と、データ信号TXDの開始ビットの立下りエッジET1及び立上りエッジET2とを示している。
図16は、ユニットの動作を説明するためのフローチャートである。
【0068】
図15Aと関連する
図16を参照するに、サイクル測定ユニット1322はボーレートクロックbCLKのサイクルTを測定する(ステップS160)。例えば、この測定にRC発振器を用いる。この測定の結果を計算ユニット1324に送信する。
【0069】
エッジ検出ユニット1323はMPUから送信されたデータ信号TXDの第1ビットの立下りエッジET1を検出するとともに(ステップS161)、ボーレートクロックbCLKの立下りエッジEC2を検出し(ステップS162)、データ信号TXDの立下りエッジET1からボーレートクロックbCLKの立下りエッジEC1までの期間T1を、すなわち位相差を検出する(ステップS163)。好適例では、エッジ検出ユニット1323により期間T1を複数の期間で検出して平均を計算するようにしうる。これにより、期間T1をより一層高精度で検出しうる。エッジ検出ユニット1323によれば、予め決定した下限値よりも短いクロックと、予め決定した上限値よりも長いクロックとのサンプルからの排除をも行う。これにより、雑音の影響を排除しうる。
【0070】
計算ユニット1324は、正確なデータTXをボーレートクロックbCLKに応じて出力しうるかどうかを決定する。より具体的に言えば、計算ユニット1324は、データ信号TXDの立下りエッジET1からボーレートクロックbCLKの立下りエッジEC1までの期間T1がボーレートクロックのサイクルTの50%よりも長いか否かを決定する(ステップS164)。
【0071】
期間T1が期間Tの50%よりも長い場合には(ステップS164でYes)、計算ユニット1324により、データ信号TXDを立下りエッジEC1で捕捉できることを決定し(ステップS165)、以下の式により次のデータ捕捉タイミングTSを計算する(ステップS166)。
TS=EC1+T1/2
【0072】
次いで、同期ユニット1325により、捕捉タイミングTSにおいて、データ信号TXDの値、すなわち低レベルに対応する値“0”又は高レベルに対応する値“1”を捕捉し(ステップS167)、この捕捉データをボーレートクロックbCLKの次の立下りエッジにおけるデータ信号TXとして符号化ユニット1327及びビットアービトレーションユニット1328に出力する(ステップS168)。
【0073】
計算ユニット1324により、終了ビットの処理が終了したか否かを決定し(ステップS169)、終了ビットが処理された場合には(ステップS169でYes)、処理を終了する。一方、終了ビットが処理されていない場合には(ステップS169でNo)、計算ユニット1324が、以下の式により次のサイクルにおける捕捉タイミングTSを更新する(ステップS171)。
TS=TS+T
その結果、ボーレートクロックbCLKのエッジからシフトしたデータ捕捉タイミングを得ることができる。次いで、処理をステップS166に戻す。
【0074】
ステップS164で、正確なデータTXがボーレートクロックbCLKに応じて出力できないことが決定された場合には、すなわちデータ信号TXDの立下りエッジET1からボーレートクロックbCLKの立下りエッジEC1までの期間T1がボーレートクロックのサイクルTの50%よりも短いことが決定された場合には(ステップS164でNo)、処理がステップS170に進む。この場合、ボーレートクロックbCLKとデータ信号TXD及びTXとを
図15Bに示してある。この場合、計算ユニット1324が以下の式により次のデータ捕捉タイミングTSを計算する。
TS=EC1+(T1+T)/2
【0075】
次いで、同期ユニット1325により捕捉タイミングTSでデータ信号TXDの値を捕捉し(ステップS167)、出力がボーレートクロックbCLKの次の立下りエッジにおけるデータ信号TXとして符号化ユニット1327及びビットアービトレーションユニット1328に与えられる(ステップS168)。
【0076】
上述した処置により、正確なデータTXをボーレートクロックbCLKに応じて出力しうると、すなわちデータ信号TXDの立下りエッジET1からボーレートクロックbCLKの立下りエッジEC1までの期間T1がボーレートクロックbCLKのサイクルTの50%よりも長いことが決定されると、以下の処理が実行される。
図15Aに示すように、開始ビットにおいて、エッジEC1のデータ信号TXDの値“0”が捕捉され、エッジEC1のタイミングでデータ信号TXとして出力される。次いで、開始ビット後に、データ信号TXDの値“1”、“0”、…がタイミング(EC1+T1/2)、(EC2+T1/2)、…でそれぞれ捕捉され、EC2、EC3、…のタイミングでそれぞれデータ信号TXとして出力される。
【0077】
一方、正確なデータTXをボーレートクロックbCLKに応じて出力できない、すなわち期間T1がサイクルTの50%以下である場合には、以下の処理が実行される。
図15Bに示すように、開始ビットにおいて、データ信号TXDの値“0”がタイミング(EC1+(T1+T)/2)で捕捉され、エッジEC2のタイミングでTXのようなデータ信号として出力される。次いで、同様に、データ信号TXDの値“1”、“0”、…がタイミング(EC2+(T1+T)/2)、(EC3+(T1+T)/2)、…でそれぞれ捕捉され、EC3、EC4、…のタイミングでそれぞれデータ信号TXとして出力される。
【0078】
その後のサイクルにおいて捕捉タイミングTSを更新するステップS171を変更する場合、上述した式とは異なる式を用いることができる。例えば、正確なデータTXをボーレートクロックbCLKに応じて出力しうる、すなわち期間T1がサイクルTの50%よりも長い場合には、以下の式を用いうる。
TS=TS+T×3/4
一方、正確なデータTXをボーレートクロックbCLKに応じて出力できない、すなわち期間T1がサイクルTの50%以下である場合には、以下の式を用いうる。
TS=TS+T×5/4
【0079】
図14を参照するに、ビットアービトレーションユニット1328は同期ユニット1325から送信されたデータ信号TXのビットアービトレーション結果を符号化ユニット1327に戻す。この符号化ユニット1327は、ビットアービトレーションが行われた状態で、同期ユニット1325から送信されたデータ信号TXを、クロックスイッチングユニット1321から送信されたボーレートクロックbCLKと同期して、モードスイッチングユニット1329に転送する。このモードスイッチングユニット1329はイネーブル信号NSLPによりノーマルモードに進み、符号化されたデータ信号TXを波形整形ユニット1314に送信する。次いで、データ信号TXはこの波形整形ユニット1314を介してバスに送信される。
【0080】
尚、バスから得られ、その後にフィルタ1313を通る信号は、クロックスイッチングユニット1321及び復号化ユニット1326に送信される。このようにして、クロックスイッチングユニット1321はマスターノードからバスを介して送信された基準クロックを取得する。一方、復号化ユニット1326は受信したデータ信号を復号化し、この復号化したデータ信号をビットアービトレーションユニット1328及びモードスイッチングユニット1329に送信する。このモードスイッチングユニット1329は、ノーマルモードにおいて、復号化したデータ信号をデータ信号RVDとしてMPUに出力する。
【0081】
本実施例によれば、基準クロック及びデータ信号はたとえ非同期でもマスターノードのMPUにより発生され、正しいデータ信号をバスに送信しうる。
【0082】
[第5実施例]
CXPI通信システムでは、マスターノードのECU及びスレーブノードのECUの各々はノーマルモード、スリープモード及びスタンバイモードのようなモードで動作する。ノーマルモードでは、ECUがデータ信号の符号化/復号化及びネットワーク上でのデータ通信を実行する。ECUは、このECUがマスターノードである場合にスリープモードに対する状態に適合するか、又はECUがスレーブノードである場合にマスターモードからスリープフレームを受信した際に、ノーマルモードからスリープモードに移行する。ECUは、スリープモード中に、データ信号の符号化/復号化及びデータ通信を停止し、電力の消費を少なくする。スリープモード中にウェークアップファクタ(wake−upfactor)が生じると、各ECUはスタンバイモードに移行する。スタンバイモードはスリープモードからノーマルモードへの移行モードであり、スタンバイモード中は、ECUはデータ信号を符号化/復号化することなくネットワーク上でのデータ送信/受信を実行する。
【0083】
マスターノード及びスレーブノードの双方がスリープモードにある場合には、スレーブノードがマスターノードよりも以前にスタンバイモードに移行し、ウェークアップ信号をマスターノードに送信する場合が生じる可能性がある。マスターノードはウェークアップ信号により動作されてスタンバイモードを介してノーマルモードに移行し、PWM符号化された基準クロックをバスに送信する。次いで、スレーブノードがバスを介して基準クロックを受信する。この場合、スレーブノードが依然としてスタンバイモードにある場合に、スレーブノードの送受信機が基準クロックを復号化なしにMCUに転送しうる。従って、MCUは基準クロックを受信できない場合があり、誤動作が生じるおそれがある。或いはまた、送受信機は、基準クロックをMCUに転送するのを停止することにより、MCUが誤動作から回避するようにしうる。しかし、この場合でも、MCUは基準クロックの入力を検出できず、従って、スタンバイモードを取りやめることができず、このモードに維持されるようになる。
【0084】
上述したことを考慮するに、本実施例は、スタンバイモード中に基準クロックを受信した際でも誤動作を回避するスレーブノードに関するものである。
【0085】
図17及び18を参照して、本実施例の構成及び動作を説明する。
図17は、本実施例のスレーブノードの送受信機の構成を示す。
図18は、
図17の構成のユニット間で交換される信号を示す。
【0086】
図17における送受信機170は、
図1に示すマスターノード及びスレーブノードの構成における送受信機104に対応する。送受信機170では、発振器1701が内部クロックをタイマ1702に供給し、このタイマ1702が制御信号を他のユニットに適切に送信する。インターフェース1704はバスに対する信号の送給を制御する。
【0087】
MPUからデータ信号を受信し、このデータ信号をバスに送信する動作を以下に説明する。MPUから受信したデータ信号TXDは符号化ユニット1706により符号化されて符号化モードのスイッチングユニット1707に送信される。
【0088】
この符号化モードのスイッチングユニット1707は、MCUから送信されたイネーブル信号NSLPの値が“1”であるか“0”であるかに応じて、(“1”である場合に)符号化を可能にするか又は(“0”である場合に)符号化を不可能にする。MPUがノーマルモードを選択する場合、イネーブル信号NSLPにより符号化を可能にする。一方、MPUがスリープモードを選択するか、又はスリープモードからノーマルモードへの移行中にスタンバイモードにある場合には、イネーブル信号NSLPにより符号化を不可能にする。符号化モードのスイッチングユニット1707は、符号化が可能にされた場合に、符号化されたデータ信号TXDを波形整形ユニット1708に送信する。
【0089】
この波形整形ユニット1708は、マスターノードから送信された基準クロックCLKに応じて、データ信号TXDを、インターフェース1704を経てバスに送信する。
【0090】
バスから受信された信号の処理動作を以下に説明する。バスからインターフェース1704を介して受信された基準クロックCLKは受信増幅器1705により増幅され、受信クロックRXCLKとして復号化ユニット1709、復号化モードのスイッチングユニット1710及び出力選択ユニット1712に送信される。
図18に示すように、受信クロックRXCLKは、基準クロックCLKの論理値に対応するデューティ比を有するこの基準クロックCLKよりも低いスルーレートを有している。
【0091】
図17に戻るに、復号化ユニット1709は受信クロックRXCLKを復号化して、復号化データRXD及びしきい値クロックtCLKを発生する。
図18に示すように、しきい値クロックtCLKのパルス幅wは基準クロックCLKの低レベルのパルス幅の上限に相当する。すなわち、基準クロックCLKの論理値は、その低レベルのパルス幅がwよりも短い場合に“1”であるか、又は低レベルのパルス幅がw以上である場合に“0”である。従って、基準クロックCLKの低レベルのパルス幅がwよりも短い場合に、しきい値クロックtCLKは幅wの低レベルに対応するデューティ比を有し、一方、基準クロックCLKの低レベルのパルス幅がw以上である場合に、しきい値クロックtCLKは幅wの高レベルに対応するデューティ比を有する。
【0092】
図17に戻るに、復号化ユニット1709はしきい値クロックtCLKを出力選択ユニット1712に出力するとともに、復号化データRXDを復号化モードのスイッチングユニット1710に出力する。
【0093】
出力選択ユニット1712はイネーブル信号NSLPの値“1”又は“0”に応じてMCUに対する出力を切換える。例えば、MPUがノーマルモードにある場合には、イネーブル信号NSLPは値“1”を有する。出力選択ユニット1712はこのイネーブル信号NSLPの値に応答して、しきい値クロックtCLKを選択し、このしきい値クロックを出力クロックoCLKとしてMCUに出力する。この場合、しきい値クロックtCLKは基準クロックの論理値に対応するデューティ比を有する。一方、MPUがスリープモード又はスタンバイモードにある場合には、イネーブル信号NSLPは値“0”を有する。出力選択ユニット1712はこのイネーブル信号NSLPの値に応答して、受信クロックRXCLKを選択し、この受信クロックを出力クロックoCLKとしてMCUに出力する。出力クロックoCLKは例えば、MPU側のインタラプト端子に対する入力とする。
【0094】
復号化モードのスイッチングユニット1710と、符号化モードのスイッチングユニット1707とは、イネーブル信号NSLPの値が“1”であるか又は“0”であるかに応じて、(“1”である場合に)復号化を可能にするか又は(“0”である場合に)復号化を不可能にする。すなわち、ノーマルモードでは、復号化が可能となり、一方、スリープモード又はスタンバイモードでは、復号化が不可能となる。復号化が可能となると、復号化モードのスイッチングユニット1710が基準クロックCLKに応じて復号化データ信号RXDを出力する。データ信号RXDは出力制御ユニット1714に送信される。
【0095】
この出力制御ユニット1714は、イネーブル信号NSLPの値が“1”であるか又は“0”であるかに応じて、(“1”である場合に)MPUへのデータ信号RXDの送信を可能にするか又は(“0”である場合に)MPUへのデータ信号RXDの送信を不可能にする。例えば、MPUがノーマルモードにある場合、イネーブル信号NSLPが値“1”を有する。これに応答して、出力制御ユニット1714がデータ信号RXDをMPUに送信する。一方、MPUがスリープモード又はスタンバイモードにある場合、イネーブル信号NSLPが値“0”を有する。これに応答して、出力制御ユニット1714がデータ信号RXDの送信を停止する。
【0096】
図19は、本実施例におけるスレーブノード及びマスターノードの通信順序を示す。この
図19は、スレーブノードMCU180、送受信機170、マスターノードMCU182及び送受信機181の通信順序を示している。この場合、便宜上、これらのノードをそれぞれスレーブMCU180、スレーブ送受信機170、マスターMCU182及びマスター送受信機181と称する。スレーブ送受信機170とマスター送受信機181とはバス(図示せず)を介して接続されている。本実施例では、スレーブMCU180は“制御ユニット”に相当する。
【0097】
スレーブMCU180は、低レベル(論理値“0”)のイネーブル信号NSLPをスレーブ送受信機170に送信し(S1800)、スレーブ送受信機170をスリープモードにシフトする。次いで、ウェークアップファクタが生じた際に、スレーブMCU180がウェークアップ信号をスレーブMCU180に送信する(S1802)。スレーブ送受信機170はウェークアップ信号をPWM符号化せずにマスター送受信機181に送信する(S1804)。
【0098】
このマスター送受信機181は、受信したウェークアップ信号をマスターMCU182に送信する(S1806)。このマスターMCU182はウェークアップ信号を検出する(S1808)。このマスターMCU182は、これに応答してスリープモードからスタンバイモードに移行して、基準クロックCLKを発生し、この基準クロックCLKをマスター送受信機181に送信する(S1810)。このマスターMCU182は、高レベル(論理値“1”)のイネーブル信号NSLPをマスター送受信機181に送信する(S1811)。このマスター送受信機181はこれに応答して、ノーマルモードに移行し、PWM符号化基準クロックCLKをバスに送信する(S1812)。
【0099】
スレーブ送受信機170がこのPWM符号化基準クロックCLKを受信する(S1814)。このスレーブ送受信機170が、この時点でノーマルモードに移行していない、すなわち依然としてスタンバイモードにある場合には、復号化していない受信クロックCLKをスレーブMCU180に送信し(S1816)、復号化データ信号RXDの送信を停止する。
【0100】
このスレーブMCU180は基準クロックCLKを検出し(S1818)、且つノーマルモードに移行するために高レベル(論理値“1”)のイネーブル信号NSLPをスレーブ送受信機170に送信する(S1820)。
【0101】
従って、このスレーブ送受信機170はノーマルモードに移行し、受信したPWM符号化基準クロックCLKを復号化する(S1822)。次いで、このスレーブ送受信機170は復号化しきい値クロックtCLKをスレーブMCU180に送信し(S1824)且つ復号化データ信号RXDをスレーブMCU180に送信する(S1825)。
【0102】
上述した実施例によれば、スレーブノードのMCUはスタンバイモードにおいてインタラプトピンのクロックを測定する為、マスターノードからの基準クロックを検出しうる。スレーブノードは、これに応答してノーマルモードに移行することにより、誤動作なしに復号化基準クロックを用いるノーマル動作に移行しうる。
【0103】
[第6実施例]
動作クロックが回路間で異なる非同期クロックを用いる通信が実行される場合がある。非同期クロックを用いるこのような通信では、セットアップ及びホールドのタイミングでデータが中間電位に保持されるようなメタスタビリティが関連する場合がある。2段のフリップフロップをメタスタビリティに対する対応策として受信回路に設ける場合には、受信側で常に2つのクロックが使用され、これにより遅延を生ぜしめる。回路間の非同期クロックが予め決定した位相差をもはや維持しない場合にデータ転送が一時的に停止される動作の場合には、この一時的な停止による遅延により不都合な状態を生ぜしめるおそれがある。
【0104】
第6実施例は、非同期クロックをもって動作する送信/受信回路を、これらのクロック間の位相差を維持するように制御する回路に関するものである。メタスタビリティを除去する目的の1つは、高速なデータ送信及び受信を実現しうるクロック制御回路及びデータ受信回路を提供することにある。
【0105】
図20は、本実施例の回路の構成を示す。ここに開示する実施例では、用語“部分”、“装置”及び“システム”は物理的な機構を意味するだけではなく、“部分”、“装置”及び“システム”が有する機能をソフトウェアにより実現することも意味するものである。これらには、送信側の回路201及び受信側の回路202間での非同期クロックを以てデータ通信を制御する制御ユニット203と、送信側の回路201及び受信側の回路202にそれぞれ設ける遅延ユニット204及び205とが含まれるものである。
【0106】
送信側の回路201には、クロック発生器(図示せず)からクロックCLKAが供給される。このクロックCLKAは遅延ユニット204の遅延回路2041により遅延される。遅延ユニット204のセレクタ2042は、制御ユニット203からの制御信号に応じて選択的にクロックCLKA又は遅延クロックCLKA’をフリップフロップ回路FF1に送信する。
【0107】
受信側の回路202にはクロック発生器(図示せず)からクロックCLKBが供給される。このクロックCLKBは遅延ユニット205の遅延回路2051により遅延される。遅延ユニット205のセレクタ2052は、制御ユニット(コントローラ)203からの制御信号に応じてクロックCLKB又は遅延クロックCLKB’を選択的にフリップフロップ回路FF2に送信する。
【0108】
制御ユニット203は、位相差検出ユニット206と、予測ユニット207と、セレクタ208とを有している。この制御ユニット203は、DSP又はASIC又はマイクロコンピュータを用いることにより構成しうる。ここで、
図21〜25を参照して制御ユニット203の動作を説明する。
図21、22及び24は本実施例の回路の動作を説明するフローチャートである。
図23は、クロックCLKA及びCLKBの例を示している。
【0109】
位相差検出ユニット206にはクロックCLKA及びCLKBを入力し、これらクロックCLKA及びCLKB間の位相差を得る(
図21のステップS210)。このステップS201の詳細を
図22に示す。
【0110】
位相差検出ユニット206は最初に初期の位相差検出を実行する(
図22のステップS220)。このステップS220の更なる詳細を
図24に示す。
【0111】
位相差検出ユニット206はサンプリング数を設定し(ステップS241)、既知の方法によりクロックCLKA及びCLKB間の位相差を検出する(ステップS242)。次いで、現在検出された位相差がクロックCLKAのサイクルよりも大きく(ステップS243でYes)且つ現在検出された位相差が前に検出した位相差よりも大きい(ステップS244でYes)場合には、位相差検出ユニット206は、サンプリングが終了したか否かを検査する(ステップS248)。サンプリングが終了していない場合には、処理がステップS242に戻る。
【0112】
現在検出された位相差がクロックCLKAのサイクル以下であり(ステップS243でNo)且つこの位相差の予測値がCLKAのサイクルを超えるか又は次の位相差の検出結果がCLKAのサイクルを超える場合(ステップS246でNo)、或いは現在検出された位相差が前に検出された位相差よりも小さく(ステップS244でNo)且つ現在検出された位相差が記憶された位相差よりも大きい場合(ステップS245でYes)、位相差検出ユニット206が現在の位相差を記憶する(ステップS247)。一方、現在検出された位相差がクロックCLKAのサイクル以下であり(ステップS243でNo)、初期の位相差がクロックCLKAのサイクルよりも大きい(ステップS246でYes)であり、且つ現在検出された位相差が記憶された位相差以下である場合(ステップS245でNo)、処理はステップS248に進む。
【0113】
サンプリングが終了すると(ステップS248でYes)、位相差検出ユニット206が記憶された位相差を初期の位相差として採用し(ステップS249)、
図24における処理を終了する。
【0114】
図22に戻るに、位相差検出ユニット206がステップS221を実行する。すなわち、位相差検出ユニット206は、
図23に示すように、クロックCLKAのサイクルα及びクロックCLKBのサイクルβ(ここでβ>αである)を検出し、クロックCLKA及びCLKB間の位相差θを計算する(ここでθ=β/αの余り)。計算した位相差θを予測ユニット207に送信する。次いで、位相差検出ユニット206は、ステップS221で得た位相差θとステップS220で得た初期の位相差との加算値を得ることにより現在の位相差を計算する(ステップS222)。
【0115】
図21に戻るに、予測ユニット207は、メタスタビリティが生じた際のサイクルを、クロックCLKA及びCLKB間の関係と位相差θとに基づいて予測する(ステップS212)。より具体的には、現在の位相差がクロックCLKAのサイクルよりも大きい場合に、予測ユニット207は現在の位相差とクロックCLKのサイクルとの差を、メタスタビリティが生じた際のサイクルとして予測する。次いで、次のサイクルにおける位相差θがクロックCLKAのサイクルよりも大きい場合には(ステップS213でYes)、予測ユニット207は、クロックCLKAのサイクルの値を次のサイクルにおける位相差θから減算する(ステップS215)。
【0116】
次いで、選択ユニット208は、予測したメタスタビリティ発生サイクルに基づいて、クロックCLKBがクロックCLKAのサイクルαの第1の半部に生じるか又は第2の半部に生じるかを決定する(ステップS214)。より具体的には、位相差γに関し以下の式が満足される場合に、選択ユニット208は第1の半部を決定する。
γ+(β−αx)<β/2
ここで、xはクロックCLKBの1サイクルβ内に含まれるクロックCLKAのサイクルαの数である。一方、以下の式が満足される場合に、選択ユニット208は第2の半部を決定する。
γ+(β−αx)≧β/2
【0117】
クロックCLKBの立上りエッジがクロックCLKAのサイクルαの第1の半部内にある場合には(サイクルS214でYes)、選択ユニット208は制御信号を遅延ユニット204及び205の各々に送信し、クロックCLKAを送信側の回路201で選択するとともにクロックCLKB’を受信側の回路で選択する(ステップS216)。この場合、遅延ユニット205が、セットアップ時間及びホールド時間の合計をクロックCLKBに加えることによりクロックCLKB’を発生させる。これとは逆に、クロックCLKBの立下りエッジがクロックCLKAのサイクルαの第2の半部内にある場合には(サイクルS214でNo)、選択ユニット208は制御信号を遅延ユニット204及び205の各々に送信し、クロックCLKA’を送信側の回路201で選択するとともにクロックCLKBを受信側の回路で選択する(ステップS218)。この場合、遅延ユニット204が、セットアップ時間及びホールド時間の合計をクロックCLKAに加えることによりクロックCLKA’を発生させる。
【0118】
図25は信号のタイミング線図である。この
図25は、クロックCLKA、CLKA’、CLKB及びCLKB’と、フリップフロップ回路FF1の入力D1及びQ1と、フリップフロップ回路FF2の出力Q2とを示している。横軸は時間を示している。この
図25では、上述した処理のタイミングT2501〜T2511がマッピングされている。
【0119】
タイミングT2501では、ステップS220が実行される。次いで、タイミングT2502では、ステップS221、S222及びS214〜S214が実行される。
図25のこの部分では、クロックCLKBの立上りエッジがクロックCLKAのサイクルαの第1の部分内にある。次いで、タイミングT2503では、ステップS212及び216が実行され、クロックCLKB’が選択される。従って、タイミングT2504で、クロックCLKAで送信されたデータがクロックCLKB’で受信される。
【0120】
タイミングT2505では、ステップS222が実行される。現在の位相差θは、γ+(β−αx)として決定される。ここで、現在の位相差θはクロックCLKAのサイクルαを超えない。次いで、ステップS214〜S214が実行される。
図25のこの部分では、クロックCLKBの立上りエッジがクロックCLKAの周期(サイクル)αの第2の半部内にある。次いで、タイミングT2506で、ステップS212及びS216が実行され、クロックCLKA’が選択される。従って、タイミングT2507で、クロックCLKA’で送信されたデータがクロックCLKBで受信される。
【0121】
タイミングT2508では、ステップS222が実行される。現在の位相差θはγ+(β−αx)+(β−αx)として決定される。この場合、現在の位相差θはクロックCLKAのサイクルαを超えない。次いで、ステップS214〜S214が実行される。
図25のこの部分では、クロックCLKBの立上りエッジはクロックCLKAのサイクルαの第2の半部内にある。次いで、ステップS212及びS216が実行され、クロックCLKA’が選択される。従って、タイミングT2509では、クロックCLKA’で送信されたデータがクロックCLKBで受信される。
【0122】
タイミングT2510では、ステップS222が実行される。現在の位相差θはγ+(β−αx)+(β−αx)+(β−αx)として決定される。この場合、現在の位相差θはクロックCLKAのサイクルαを超えない為、現在の位相差間の差(θ−α)、換言すれば、γを計算する。次いで、γをクロックCLKAのサイクルαの第1の半部内にあるものとして決定し、ステップS212及びS216を実行し、従って、クロックCLKB’を選択する。従って、タイミングT2511で、クロックCLKAで送信されたデータがクロックCLKB’で受信される。
【0123】
本実施例によれば、送信側の回路のクロックと受信側の回路のクロックとの間の位相差を適切に保つことにより、メタスタビリティを回避することができる。従って、データ通信を不都合なく実行することができ、本実施例は、レジスタへの頻繁なアクセス、回路の高速読書き、等に適用するのが好ましい。
図24の初期の位相差の計算上のフローチャートは位相差のエラーを調整するのに適用することができる。
【0124】
[第7実施例]
車載LANの場合、調波の放射による他の装置との混信を阻止するために、パルス信号のエッジを波形整形により丸め、正弦波形状に近い方形波を用いる。波形整形の場合、DA(デジタル‐アナログ)コンバータ等を用いる。各ECUでは、成形された信号が出力バッファ内に記憶され、多段非反転増幅器回路等により適切に増幅された後にバスに送信される。
【0125】
更に、車載LANを設けた場合、電源への配線又は接地配線が走行中の振動により切断したり、バスに供給される電圧が変動したりする場合がある。電圧変動により電流がバスから逆流するのを防止するために、
図26に示す構成を採用することができる。
図26は、ECUの送受信機を示す線図である。MPUから送信された出力信号は入力端子INに入力され、波形整形ユニット261による波形整形を通過する。次いで、この信号は出力段260の増幅器262により多段増幅され、トランジスタスイッチ263に供給される。逆流を阻止するために、出力端子OUTの電源(VBAT)側及び接地(GND)側にバスダイオード264及び265が設けられている。これにより、接地に対し切断された場合でも、バス電圧が電源電位よりも高く維持され、しかも電源に対し切断された場合でも、バス電圧が接地電位よりも低く維持される。
【0126】
図27は、
図26の構成における信号の例を示す。送信信号S270を増幅器262によりN倍に増幅することにより得られた送信信号S271は正弦波に近い方形波信号であり、この方形波信号は電源VBATの電位にほぼ等しい高レベルと接地GND電位にほぼ等しい低レベルとを有している。しかし、増幅後の送信信号S271が出力端子OUTから送出されると、高レベルが電源電位からダイオード264及び265の順方向電圧降下分VFだけ降下し、低レベルが接地電位からVFだけ上昇するように波形が変形する。従って、もともと意図している立上りエッジ及び立下りエッジにそれぞれ遅延Δ272及びΔ273が生じるおそれがある。
【0127】
更に、送信信号S271が高レベルにある場合、トランジスタスイッチ263の漏洩電流を抑圧するために、このトランジスタスイッチ263を、低レベルに降下する信号S270によりターンオフさせる。従って、送信信号S270が再び高レベルに上昇すると、トランジスタスイッチ263をターンオンさせる際にこのトランジスタスイッチ263のゲートのしきい値電圧Vthに達する時間だけ遅延Δ274が生じるおそれがある。
【0128】
車載LANの場合、LIN又はCXPI通信プロトコルが用いられており、CXPI通信では、バスを通る信号はPWM符号化されるように指定され、従って、LINよりも高周波のパルス信号が用いられる。このような場合、上述した遅延がデータ通信信号の品質を劣化させるおそれがある。或いはまた、信号のスルーレートが低下し、信号のエッジが急激に上昇するが、このようになることにより高調波を高めるおそれがある。
【0129】
上述したことを考慮して、本実施例は、調波を抑圧するとともに信号遅延を阻止するECUの送受信機に関するものである。
【0130】
図28は、本実施例の送受信機の構成を示す。
図28の送受信機は、
図27に示す遅延Δ272及びΔ273に対処する構成を有している。この送受信機は、CXPI通信システム内の各ノードを構成するECU内に設けられており、MPU(図示せず)から送信されたバス送信信号を符号化及び送信するPWMに対する構成を有している。
【0131】
この送受信機は、振幅設定ユニット280と、波形整形ユニット281と、出力バッファ282とを有している。各ユニットは電源電位VBAT及び接地電位GNDの点に接続されている。入力端子INから入力される送信信号は、波形整形ユニット281のオペアンプ(演算増幅器)2810により増幅され、出力バッファ282に送信される。出力バッファ282では、トランジスタスイッチ2824が、オペアンプ2825により増幅された送信信号によりターンオン及びターンオフ制御され、これと同期して送信信号が出力端子OUTからバスに送出される。出力端子OUTの電源側及び接地側には、切断により電圧変動が生じるおそれのある場合に逆流を阻止するためのダイオード2822及び2823をそれぞれ設けてある。
【0132】
振幅設定ユニット280及び波形整形ユニット281は、ダイオード283及び284を経て電源電位VBAT及び接地電位GNDの点にそれぞれ接続されている。ダイオード283及び284は出力バッファ282のダイオード2822及び2823と同じ規格を有している。これにより、振幅設定ユニット280及び波形整形ユニット281には、出力バッファ282と同じ電流密度で電流が流れ、これらユニットは、電源電圧VBATよりもダイオード283、284、2822及び2823の順方向電圧降下分VFだけ低い電位と、接地電位GNDよりもVFだけ高い電位との間の電圧で動作する。この時点で、波形整形ユニット281のオペアンプ2810の帰還端子及び出力バッファ282の帰還端子も、接地電位GNDよりもVFだけ高い電位の点に接続されている。
【0133】
振幅設定ユニット280は、電圧検出ユニット2801により検出された電圧を波形整形ユニット281に送信する。この波形整形ユニット281はこの検出された電圧の振幅を有しこの振幅がオペアンプ2810により増幅された送信信号を発生する。この増幅された送信信号が出力バッファ282に送信され、対応する信号がバスに送信される。
【0134】
図29は、信号波形整形ユニット281により発生された信号及び出力バッファ282から送信された信号の例を示している。波形発生器(波形整形ユニット)281により発生された送信信号S291は、電位(VBAT−VF)と電位(GND+VF)との間の振幅を有し、この信号は((VBAT−2VF)×1/N+VF)の高レベル電位と(GND+VF)の低レベル電位とを有する。この信号をN倍増幅することにより、(VBAT−VF)の高レベルと(GND+VF)とを有する送信信号S292が得られる。従って、ダイオードの順方向電圧降下の電圧を減算することにより送信信号の波形整形を実行することにより、送信信号を発生させて送出することができ、この送信信号は送信時にダイオードの順方向電圧降下により影響されなくなる。従って、出力バッファ282から送信される信号は、信号波形整形ユニット281により発生された信号に対して遅延されるのを阻止することができる。
【0135】
図30は、本実施例の他の態様を示す。この態様は、
図27に示す遅延Δ274に対処する構成を有している。
図30では、出力バッファ300にプルダウン電圧発生器301が接続されている。プルダウン電圧発生器301は、出力バッファ300のトランジスタスイッチ302のしきい値電圧Vthよりも低く且つ接地電圧よりも高い電圧を、スイッチSW1を介してゲートに供給する。これにより、送信信号のエッジが上昇した場合に、エッジが接地レベルから上昇する場合よりも短い時間で、送信信号の電圧が、しきい値電圧Vthに到達するようにしうる。従って、バスに送信する送信信号の遅延Δ274を
図27に示すように低減させることができる。
【0136】
図31は好適例を示す。本例の送受信機は、振幅設定ユニット3100と、波形整形ユニット3101と、出力バッファ3102と、プルダウン電圧発生器3013とを有している。
【0137】
図32は、
図31に示す例の変形例を示している。
図32では、
図31と重複する素子には
図31と同じ符号を付してある。この
図32の例では、波形整形ユニット3101の出力信号WSoutが予め決定した基準電圧Vrcに達すると、比較器(COMP)3200がスイッチSW1をターンオンさせる。波形整形ユニット3101からの出力信号の高レベルは電源電圧VDDからダイオード283の順方向電圧降下分だけ低下した電圧VDOWSである為、更に低い電圧、例えば、抵抗R1の電圧降下だけ低い電圧を、スイッチSW1をターンオンさせる基準電圧Vrcとして用いる。これにより、
図33に示すように、送信信号WSoutは波形整形ユニット3101に入力される送信信号TXDの上昇とともに上昇し、スイッチSW1は、送信信号WSoutが高レベルに達する前にターンオンする。このようにして、トランジスタ2824をターンオンさせるゲート電圧は、プルダウン電圧発生器3013により前もってしきい値電圧Vth付近に上昇させられ、従って、トランジスタスイッチ2824を送信信号WSoutの上昇とともにターンオンさせることができる。
【0138】
図34は、
図31に示す例の更なる他の変形例を示している。
図34では、
図31と重複する素子には
図31と同じ符号を付してある。この
図34の例では、遅延回路3400が波形整形ユニット3101への入力信号TXDを遅延させ、この遅延された入力信号TXDが高レベルに達した際にスイッチSW1がターンオンされる。これにより、
図35に示すように、送信信号WSoutは波形整形ユニット3101に入力される送信信号TXDの上昇とともに上昇し、スイッチSW1は、送信信号WSoutが高レベルに達するのとほぼ同時にターンオンしうる。このようにして、トランジスタ2824をターンオンさせるゲート電圧はしきい値電圧Vthの付近から上昇し、従って、トランジスタスイッチ2824を送信信号WSoutの上昇エッジから著しい遅延を伴うことなくターンオンさせることができる。
【0139】
図36は、
図34に示す構成の変形例を示す。この構成は、遅延回路3400に加えて、波形整形ユニット3101の前に遅延回路3600を有し、送信信号TXDと、遅延回路3600により更に遅延された送信信号TXD1と、遅延回路3400により送信信号TXD1を一層更に遅延させることにより得た送信信号TXD2との論理積が出力バッファ3102のスイッチSW1をターンオンさせるようになっている。これにより、
図37に示すように、送信信号WSoutは送信信号TXDの上昇とともに上昇し、スイッチSW1は送信信号WSoutが高レベルに達するのとほぼ同時にターンオンする。
図36の構成では、スイッチSW1がオン状態に保たれている期間が
図34の例よりも短くなる。このようにすることにより、
図34と等価な効果が得られるが、電力を節約しうる。
【0140】
LIN及びCXPIの車載LANを有する本実施例によれば、調波を抑圧するために低スルーレートの送信信号を用いる場合でも、送信信号の遅延を回避することができる。
【0141】
実施例及び添付図面に基づいて本発明を説明したが、当業者にとっては本発明の開示に基づいて種々の変形及び変更が明らかであることを銘記すべきである。従って、このような変形及び変更は本発明の範囲内に含まれることを理解すべきである。例えば、種々の構成要素及びステップに含まれる機能等は理論的に矛盾しない如何なる方法でも並び替えることができる。更に、構成要素又はステップは1つに組合せるか又は分割することができる。
【0142】
上述した実施例は、以下に付記するように要約される。
【0143】
(付記1) 車載電子装置は、
CXPI通信ネットワークを介して他の車載電子装置とデータ通信するための第1クロックを発生する発生ユニットと、
この第1クロックのデューティ幅を調整するように構成した調整ユニットと
を備えている。
【0144】
(付記2) 付記1による車載電子装置において、
前記調整ユニットは第1クロックの周波数よりも高い周波数を有する第2クロックを発生し、第1クロックのデューティ幅をこの第1クロックのサイクルに相当する第2クロックのクロック数の比率で調整するようにする。
【0145】
(付記3) 付記1及び2による車載電子装置において、
前記調整ユニットは、送信すべきデータを符号化する前に第1クロックのデューティ幅を調整するようにする。
【0146】
(付記4) 付記1〜3の何れか1つによる車載電子装置において、
前記調整ユニットは、送信すべき符号化データを送信する際に、第1クロックのデューティ幅を調整するようにする。
【0147】
(付記5) 付記1〜4の何れか1つによる車載電子装置において、この車載電子装置はCXPI通信ネットワークのマスターノードとして実行するようにする。
【0148】
(付記6) 車載電子装置は、
CXPI通信ネットワークを介して他の車載電子装置とデータ通信するための第1クロックを発生するように構成した発生ユニットと、
この第1クロックにスペクトラム拡散を行うように構成した調整ユニットと
を備えるようにする。
【0149】
(付記7) 付記6による車載電子装置では、
前記調整ユニットにより、予め決定した変調比及び第1クロックの周波数に基づいてスペクトラム拡散の変調周波数を求めるようにする。
【0150】
(付記8) 付記6又は7による車載電子装置では、
変調周波数を200Hzよりも高く、且つ予め決定した目標周波数と予め決定した変調比との積よりも低くするようにする。
【0151】
(付記9) 付記6〜8の何れか1つによる車載電子装置は更に、スペクトラム拡散に課せられる第1クロックの立上りエッジ及び立下りエッジを丸めるとともに、この第1クロックをネットワークに送信するように構成した送受信機を備えるようにする。
【0152】
(付記10) 車載電子装置は、
内部クロックを遅延させることにより第1クロックを発生させるように構成した遅延ユニットと、
この内部クロックのスルーレートを増大させることにより第2クロックを発生させるように構成した整形ユニットと、
第1クロックの立上りエッジ及び第2クロックの立下りエッジを有する第3クロックを、第1クロック及び第2クロックに基づいて出力するように構成したスイッチと、
CXPI通信ネットワークを介して他の車載電子装置とデータ通信するのに用いる基準クロックが低レベルになった際に第3クロックを低レベルとするように構成したインターフェースと
を備えるようにする。
【0153】
(付記11) 付記10による車載電子装置では、基準クロックが低レベルにある間、第3クロックが低レベルとなるようにする。
【0154】
(付記12) 車載電子装置は、
クロックのサイクルを検出するとともに、このクロックと、このクロックとは別に発生されたデータ信号との間の位相差を検出するように構成した検出ユニットと、
これらサイクル及び位相差に基づいて、このクロックのエッジからシフトしたデータ捕捉タイミングを得るように構成した計算ユニットと、
このデータ捕捉タイミングのタイミングでデータ信号の値を捕捉するとともに、CXPI通信ネットワークを介して他の車載電子装置に送信すべきデータ信号を発生させるように構成した同期ユニットと
を備えるようにする。
【0155】
(付記13) 付記12による車載電子装置では、
前記計算ユニットが、開始ビット後のデータ信号の値を捕捉するデータ捕捉タイミングの、クロックのエッジからのシフト幅を、前記開始ビットの値が前記クロックのエッジのタイミングで捕捉されたか否かに基づいて調整するようにする。
【0156】
(付記14) 付記12又は13による車載電子装置は、CXPI通信ネットワークのマスターノードとして実行する際にクロックを発生するか、又はCXPI通信ネットワークのスレーブノードとして実行する際にCXPI通信ネットワークのマスターノードからクロックを受信するようにする。
【0157】
(付記15) 付記12〜14の何れか1つによる車載電子装置では、
検出処理は、複数の検出値の平均を位相差として採用するようにする。
【0158】
(付記16) 付記12〜15の何れか1つによる車載電子装置では、
前記検出ユニットは、サイクルを検出する際に、予め決定した下限よりも短いクロックと予め決定した上限よりも長いクロックとを排除するようにする。
【0159】
(付記17) 車載電子装置は、
マスターノードからCXPI通信ネットワークを介して符号化された基準クロックを受信し、この基準クロックを復号化し、この基準クロックを第1出力クロックとして出力するために第1モードで動作するか、又は基準クロックを復号化せずに第2出力クロックとして出力するために第2モードで動作するように構成した送受信機と、
この送受信機を第1モードから第2モードに移行させる信号をこの送受信機に送信するとともに、この送受信機から第2出力クロックを受信すると、この送受信機を第2モードから第1モードに移行させる信号をこの送受信機に送信することにより、この送受信機から第1出力クロックを得るように構成した制御ユニットと
を備えるようにする。
【0160】
(付記18) 付記17による車載電子装置では、
前記送受信機には、基準クロックを復号化するように構成した復号化ユニットと、第1モード及び第2モードに応じて第1クロック及び第2クロックの何れかを制御ユニットに選択的に出力するように構成された出力選択ユニットとが設けられているようにする。
【0161】
(付記19) 付記17又は18による車載電子装置では、
前記送受信機は、他の車載電子装置からネットワークを介して受信された符号化されたデータ信号を復号化するように構成された復号化ユニットと、第1モードで動作する際に復号化し又は第2モードで動作する際に復号化しないデータ信号を制御ユニットに出力するように構成した出力制御ユニットとを備えるようにする。
【0162】
(付記20) 付記17〜19の何れか1つによる車載電子装置では、
前記送受信機は、制御ユニットから信号を受信した際に、マスターノードが基準クロックを送信し、これによりこの基準クロックを得るようにする信号をマスターノードに送信するようにする。
【0163】
(付記21) 回路が、
第1クロックと、この第1クロックの周波数よりも遅い周波数を有する第2クロックとの間の位相差を検出するように構成された検出ユニットと、
この位相差と第1及び第2クロックのサイクルとに基づいて、第2クロックのエッジが第1クロックのサイクルの第1半部に一致した際に第1パターンを、及び第2クロックのエッジが第1クロックのサイクルの第2半部に一致した際に第2パターンを選択するように構成した選択ユニットと、
第1パターンにおいて第1クロックを遅延することなく第2クロックを遅延させ、第2パターンにおいて第2クロックを遅延することなく第1クロックを遅延させるとともに、第1クロックを第1回路に送信してこの第1回路が第1クロックと同期してデータを送信するようにし、第2クロックを第2回路に送信してこの第2回路が第2クロックと同期して前記データを受信するように構成した遅延回路と
を備えるようにする。
【0164】
(付記22) 付記21による回路では、
前記検出ユニットが第1クロック及び第2クロックのサイクルに基づいて位相差を検出する。
【0165】
(付記23) 付記22による回路では、
前記検出ユニットが第1クロック及び第2クロックのサイクルに基づいて第1位相差を検出し、次いでこの第1位相差と第1クロック及び第2クロックのサイクルとに基づいて第2位相差を検出するようにする。
【0166】
(付記24) 付記21〜23の何れか1つによる回路は、第1回路及び第2回路と一緒に車両制御用の電子装置内に設けられている。
【0167】
(付記25) 車載電子装置は、
入力された信号を増幅し、この信号が電源電位よりも低い第1電位と接地電位よりも高い第2電位との間の振幅を有するようにするとともに、この信号を車載ネットワークに出力するようにする出力バッファと、
入力された、ある振幅を有する信号を整形し、この信号が前記出力バッファから出力される際に第1電位及び第2電位間の振幅を有するように構成した整形ユニットと
を備えるようにする。
【0168】
(付記26) 付記25による車載電子装置では、
前記出力バッファは、車載ネットワークに送信すべき信号を発生させるために、ターンオン/ターンオフさせるトランジスタスイッチを有し、このトランジスタスイッチは、前記整形ユニットから出力される信号が高レベルに達した際にターンオンされるようになっており、車載電子装置は更に、
前記トランジスタスイッチにそのしきい値電圧を供給するように構成した電圧発生器と、
この電圧発生器からこのトランジスタスイッチにそのしきい値電圧を供給するのをターンオン/ターンオフさせるように構成したスイッチと、
前記整形ユニットから前記出力バッファに送信される信号が高レベルに達する前に前記スイッチをターンオンさせるように構成した回路と
を備えているようにする。