(57)【特許請求の範囲】
【請求項１】
バス・トランシーバの送信データ入力端子に結合された第１入力端子と、
バスに結合された第１出力端子とを具えた回路であって、
前記回路は、前記バス・トランシーバと並列に結合されるように構成され、かつ、前記送信データ入力端子上のドミナントからリセッシブへの遷移に応答して、負の駆動電流を前記バスに出力することによって前記バスのインピーダンスを低下させるように構成されている、回路。
【請求項２】
前記負の駆動電流は、前記バスを低インピーダンス状態に駆動するための第１駆動信号である、請求項１に記載の回路。
【請求項３】
前記送信データ入力端子上の遷移を検出するように構成されたコントローラと、
前記検出した遷移に応答して第１駆動信号を出力するように構成された送信機と
を具えている、請求項１または２に記載の回路。
【請求項４】
前記送信機は、前記バスに結合される前記バス・トランシーバの送信機に対して逆位相になるように、前記バスに結合されている、請求項３に記載の回路。
【請求項５】
前記送信機は、前記バス・トランシーバの送信機とは逆の極性で前記バスを駆動するように構成されている、請求項３または４に記載の回路。
【請求項６】
前記第１駆動信号は、前記送信機によって出力される駆動電流に相当する、請求項３〜５のいずれかに記載の回路。
【請求項７】
前記コントローラは、前記送信データ入力端子上の送信データに応答して、前記第１駆動信号を第１の値と第２の値との間で遷移させるように前記送信機を制御すべく構成されている、請求項３〜６のいずれかに記載の回路。
【請求項８】
前記第１の値は、前記バスがパッシブ・リセッシブ状態である際に、前記バス・トランシーバによって出力される第２駆動信号の値に相当する、請求項７に記載の回路。
【請求項９】
前記第２の値は第３の値に相当し、該第３の値は、前記バスがドミナント状態である際に前記バス・トランシーバによって出力される前記第２駆動信号の値であり、前記第２の値と前記第３の値とは、等しい大きさを有するが逆の極性を有する、請求項７または８に記載の回路。
【請求項１０】
前記コントローラは、前記遷移に応答して、前記第１駆動信号を第１期間だけ前記第１の値と前記第２の値との間で遷移させるように前記送信機を制御すべく構成されている、請求項７〜９のいずれかに記載の回路。
【請求項１１】
前記第１期間は、前記送信データ入力端子上の遷移に応答して、前記第２駆動信号が前記第３の値と前記第１の値との間で遷移するのに要する期間に相当する、請求項１０に記載の回路。
【請求項１２】
前記コントローラは、さらに、前記第２の値の前記第１駆動信号を第２期間だけ出力するように前記送信機を制御すべく構成されている、請求項７〜１１のいずれかに記載の回路。
【請求項１３】
前記コントローラは、さらに、前記第１駆動信号を、前記第２の値から前記第１の値に向けて第１変化速度で遷移するように制御すべく構成されている、請求項７〜１２のいずれかに記載の回路。
【請求項１４】
前記第１変化速度は、リンギングを生じさせる変化速度未満に設定されている、請求項１３に記載の回路。
【請求項１５】
送信データ入力を受信して、駆動信号をバスに供給するように結合されたバス・トランシーバと、
請求項１に記載の回路と
を具えている装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、バス動作、特にリンギング抑制回路に関するものである。
【背景技術】
【０００２】
コントローラ・エリア・ネットワーク（ＣＡＮ：controller area network）バスは、ネットワーク内の１つ以上のノードを接続するマルチ（複数）マスターのシリアルバスである。ＣＡＮバスは、一般に自動車及び工業の自動化用途に用いられるが、他の用途にも応用することができる。ＣＡＮバスの使用法は、種々のＩＳＯ規格、例えばＣＡＮプロトコルについてのISO 11898-1、高速なＣＡＮ物理層についてのISO 11898-2、及び低速またはフォールト・トレラント（耐故障）なＣＡＮ物理層についてのISO 11898-3によって支配されている。
【０００３】
現在のＣＡＮバスは、種々のデータレートをサポートすることができ、一部の場合には、その範囲は１Mb/s〜１０Mb/sになり得る。しかし、こうしたデータレートのサポートは、ネットワークが適正に終端することに依存する。現在のネットワークでは、この終端は、例えばネットワークの末端（エンド）ノードにおける１２０Ωの終端抵抗で構成することができ、中間ノードは十分に短い長さのスタブ（引込線、取付線）を介してバスに接続される。こうした終端はバス上の反射を防止するために存在し、こうした反射はバス上の信号伝達のインテグリティ（完全性）を劣化または低下させ得る。
【０００４】
ＣＡＮバス・ネットワークのトポロジは、末端ノードにおける終端抵抗から様々な距離をおいて配置された複数のノードを具えることができる。終端抵抗器から最も遠いノードは、そうしたノードの１つが送信する際に反射を生じさせることがあり、このことがバス上にリンギングを生じさせ得る。このことは、バスが適正に動作することができる最大データレートを低下させ得る。
【０００５】
従来は、バスケーブルの長さのような他の要因が、データレートを、リンギングが問題となる速度を下回る速度に制限していた。しかし、ＣＡＮバス・プロトコル、例えばＣＡＮバス・フレキシブル・データレート（ＣＡＮＦＤ：CAN bus flexible data rate）における進歩により、可能なデータレートは、リンギングが影響力を持ちだす点まで増加してきた。
【０００６】
従って、こうした終端抵抗、及び／または、リンギングまたは反射がバス上に存在することに応えることが関心事となる。
【０００７】
米国特許第８５９３２０２号明細書（特許文献１）は、ＣＡＮバス自体の上の信号を監視することによってリンギングを抑制する方法を提供する。バス上の状態変化が検出されると、スイッチが固定期間だけ閉じられて、バス上のインピーダンスの低下をもたらす。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第８５９３２０２号明細書
【発明の概要】
【課題を解決するための手段】
【０００９】
第１の態様によれば、バス・トランシーバの送信データ入力端子に結合された第１入力端子と；バスに結合された出力端子とを具えた回路が提供され、この回路は、バス・トランシーバと並列に結合されるように構成され、かつ、送信データ入力端子上のドミナントからリセッシブへの遷移に応答して、バスのインピーダンスを低下させるように構成されている。
【００１０】
このインピーダンスは上記バスの差動インピーダンスとすることができる。このバスはＣＡＮバスとすることができる。バスのインピーダンスを低下させることは、上記回路が、バスを低インピーダンス状態に駆動するための第１駆動信号を出力するように構成されることを含むことができる。上記回路は、上記送信データ入力端子上の遷移を検出するように構成されたコントローラと；検出した遷移に応答して第１駆動信号を出力するように構成された送信機とを具えることができる。
【００１１】
上記コントローラは、上記送信データ入力端子に結合することができる。上記送信機は、上記バスに結合される上記バス・トランシーバの送信機に対して逆位相になるように、上記バスに結合することができる。上記送信機は、上記バス・トランシーバ回路の送信機とは逆の極性で上記バスを駆動するように構成することができる。上記第１駆動信号は、上記送信機によって出力される駆動電流に相当することができる。上記送信データ入力端子上の遷移に応答して、上記コントローラは、上記第１駆動信号を第１の値と第２の値との間で遷移させるように上記送信機を制御すべく構成することができる。
【００１２】
上記第１の値は、上記バスがリセッシブ状態である際に上記バス・トランシーバが出力する第２駆動信号の値に相当することができる。上記第１の値はほぼ０にすることができる。上記第２の値は第３の値に相当し、この第３の値は、上記バスがドミナント状態である際に上記バス・トランシーバによって出力される上記第２駆動信号の値である。上記コントローラは、上記遷移に応答して、上記第１駆動信号を第１期間だけ上記第１の値と上記第２の値との間で遷移させるように上記送信機を制御すべく構成することができる。
【００１３】
上記第１期間は、上記送信データ入力端子上の遷移に応答して上記第２駆動信号が上記第３の値と上記第１の値との間で遷移するのに要する時間に相当することができる。上記コントローラは、さらに、上記第２の値の上記第１駆動信号を第２期間だけ出力するように上記送信機を制御すべく構成することができる。上記コントローラは、さらに、上記第１駆動信号を、上記第２の値から上記第１の値に向けて第１変化速度で遷移するように制御すべく構成することができる。この第１変化速度は、リンギングを生じさせる変化速度未満に設定することができる。
【００１４】
上記第１変化速度は、上記第１駆動信号が上記第２の値と上記第１の値の間で遷移するのに要する時間が上記バスの伝搬遅延の２５％未満であるように選択することができる。上記第２駆動信号は、上記送信データ入力端子上の次回の遷移によって上記第１の値に達しておらず、上記コントローラは、上記第１駆動信号を、第３期間中にその現在値と上記第１の値との間で遷移するように制御すべく構成することができる。この次回の遷移は、リセッシブからドミナントへの遷移とすることができる。上記第３期間は、上記次回の遷移に応答して上記第２駆動信号が上記第１の値と上記第２の値との間で遷移するのに要する時間とすることができる。
【００１５】
第２の態様によれば、送信データ入力を受信して駆動信号をバスに供給するように結合されたバス・トランシーバと；上記第１の態様の回路とを具えた装置が提供される。
【００１６】
ほんの一例として、実施形態を、以下の図面を参照しながら説明する。
【図面の簡単な説明】
【００１７】
【図１】複数のノードを有するＣＡＮバス・ネットワークの一例を示す概略図である。
【図２】一例によるノードの概略図である。
【図３】一実施形態によるバス・トランシーバ及び回路を示す概略図である。
【図４】一実施形態の動作の一例を示す信号線図である。
【図５】一実施形態の動作の他の例を示す信号線図である。
【図６】一実施形態の動作の他の例を示す信号線図である。
【発明を実施するための形態】
【００１８】
なお、２つ以上の図面にわたる特徴については、同様の参照番号は同様の特徴を示す。
【００１９】
図１に、ＣＡＮバスを介して互いに結合された複数のノードを具えたネットワーク１００の一例を示す。
【００２０】
ネットワーク１００は、第１ノード１０１、第２ノード１０２、第３ノード１０３、第ｎノード１０４、及び第(ｎ＋１)ノード１０５を具えている。これらのノード１０１〜１０５は、ＣＡＮバス１１０による通信用に互いに結合されている。ＣＡＮバス１１０は、ＣＡＮＨワイヤ（配線）１１１及びＣＡＮＬワイヤ１１２を具えた２線バスである。この場合、ワイヤ１１１及び１１２は公称の線路インピーダンスを有するツイストペア（より対線）を形成する。ノード１０１〜１０５の各々は、ＣＡＮＨワイヤ１１１及びＣＡＮＬワイヤ１１２に結合されている。
【００２１】
この例では、公称の線路インピーダンスは１２０Ωであり、自動車用途のＣＡＮバスの一部に特有の値である。しかし、実施形態は他の線路インピーダンスにも適用可能であることは明らかである。また、線路の正確なインピーダンスは、ケーブル及び／または絶縁材料のような物理的要因に影響され得ることも明らかである。線路インピーダンスは１２０Ωであるものと仮定するが、実際の線路インピーダンスはこの値の前後に変化し得るので、約１２０Ωであると考えることができる。同様に、終端抵抗器は、現実世界の実現に起因して、それらの正確な抵抗値が変動し得る。
【００２２】
第１ノード１０１は、バス１１０の第１の末端ノードであり、１２０Ωの終端抵抗１３１を有する。１２０Ωは、この例のケーブル・インピーダンスによることは明らかである。第２ノード１０２は、第２の末端ノードであり１２０Ωの終端抵抗１３２を有する。第３、第ｎ、及び第(ｎ＋１)ノードは中間ノードであり、スタブ１４０、１４１及び１４２を介してＣＡＮバス１１０に結合されている。こうした中間ノードは未終端とすることができ、あるいは随意的に、一部のシステムではキロオーム範囲の高抵抗終端部を付加することができる。一部の例では、高抵抗終端部が、ケーブルのこうした準開放端における限定的なリンギング抑制をもたらすことができるが、その有効性は、公称のケーブル・インピーダンスからの偏差に起因して非常に限定される。
【００２３】
これらのノードの各々は、センサまたはマイクロコントローラのような追加的な回路に結合することができ、こうした追加的な回路は、ＣＡＮバス１１０を用いて１つ以上の他のノードと通信するように構成することができる。
【００２４】
図２に、ノード２０１、例えばノード１０１〜１０５の１つを、より詳細に示す。
【００２５】
ノード２０１は、ＣＡＮＨワイヤ１１１に結合されたスタブ２４１及びＣＡＮＬワイヤ１１２に結合されたスタブ２４２によりＣＡＮバス１１０に結合されている。スタブ２４１、２４２は、ノード２０１のＣＡＮバス・トランシーバ２１０に結合されている。例えば末端ノードのようにスタブを必要としない場合、ＣＡＮバス・トランシーバがワイヤ１１１及び１１２に直接結合されることは明らかである。
【００２６】
ＣＡＮバス・トランシーバ２１０は、送信データ接続部（ＴＸＤ）２５１及び受信データ接続部（ＲＸＤ）２５２を介してＣＡＮコントローラ２２０に結合されている。
【００２７】
ＣＡＮコントローラ２２０は、ノード２０１のマイクロコントローラ２３０の一部分を形成することができる。
【００２８】
マイクロコントローラ２３０は、バス上で送信されるメッセージを決定し、これらのメッセージをＣＡＮコントローラ２２０に提供することができる。このマイクロコントローラは、バスからのメッセージをＣＡＮコントローラ２２０から受信して、これらのメッセージを解釈することができる。マイクロコントローラ２３０は、センサまたはアクチュエータのような他の構成要素にさらに接続されて、これらの構成要素とバスとの間のインタフェースを提供する。
【００２９】
ＣＡＮコントローラ２２０は、バスからのビット列を（バス・トランシーバ２１０を介して）受信して、このビット列を、マイクロコントローラによって解釈されるメッセージの形に再構成する。ＣＡＮコントローラは、マイクロコントローラ２３０からメッセージを受信して、このメッセージをシリアルビット列として、ＣＡＮトランシーバ２１０を介してバスへ提供する。
【００３０】
ＣＡＮトランシーバ２１０は、ＣＡＮコントローラ２２０からの、ＴＸＤピン２５１上のデジタルデータビット列をアナログ・バス信号に変換することができる。ＣＡＮトランシーバ２１０は、さらに、アナログ・バス信号を、ＲＸＤピン２５２を介してＣＡＮコントローラ２２０に提供されるデジタルビットに変換することができる。
【００３１】
ネットワーク１００の実現は、リンギングを低減し高いデータレートで信号伝達されるデータのインテグリティを保護するために、特定パラメータによって支配され得る。例えば、ＣＡＮバス１１０は、最大データレートを達成することができる最大長を有することができる。他の例では、中間ノード１０１〜１０５をＣＡＮバス１１０に接続するスタブ１４０、１４１及び１４２をできる限り短く保って、反射を低減することができる。１つの場合には、ＣＡＮバスの最大長を４０mに、スタブの最大長を０．３m未満に制限することができるが、これは一例であることは明らかである。
【００３２】
こうした要件にもかかわらず、バス及びスタブの長さは他の要因に影響され得る。例えば、自動車用途では、ＣＡＮバス・ネットワークの実現は、車両の形状及びサイズ、及びノードの位置によって支配され得る。所望通りに短いスタブを有することは、必ずしも可能でないことがある。さらに、スタブが実用的である限りにおいて短い場合でも、高いデータレートではリンギングがまだ発生し得る。
【００３３】
未終端のスタブ線路におけるリンギングは、バス上の通信に誤りを生じさせ得る。データレートがより高い新たなプロトコル、例えばＣＡＮ ＦＤでは、このことが一層問題になる。リンギングの問題に応える１つの方法は、終端を改善するようにネットワーク・トポロジを設計することであるが、このことは時間を要し、かつ費用がかかる。
【００３４】
本願の実施形態は、既存のネットワーク・トポロジ上で実現することができる、リンギングを抑制する方法を提供する。さらに、実施形態は、こうした抑制が実現される速度を考慮に入れることができ、リンギング抑制回路内に発生するグリッチの可能性を軽減することができる。
【００３５】
図３に、一実施形態によるリンギング抑制回路３００を示す。図３の回路は、ＣＡＮトランシーバの一部分として実現することができ、ＣＡＮトランシーバ２１０はこの図に示されている。
【００３６】
図３のＣＡＮトランシーバ２１０は、送信データ入力ピン（ＴＸＤ）２５１及び受信データ出力ピン（ＲＸＤ）２５２に結合されている。一部の例では、ＴＸＤ２５１及びＲＸＤ２５２を、ＣＡＮコントローラ、例えばＣＡＮコントローラ２２０への接続部とすることができることは明らかである。ＴＸＤ２５１は、バス上で送信されるデータを受信するように接続することができ、ＲＸＤ２５２は、バス上で受信したデータを供給するように接続することができる。
【００３７】
ＣＡＮトランシーバ２１０は、ＣＡＮバス１１０の第１のＣＡＮＨワイヤ１１１及びＣＡＮバス１１０の第２のＣＡＮＬワイヤ１１２にさらに結合されている。ＣＡＮトランシーバ２１０は送信機３１１を具えることができ、送信器３１１は、ＴＸＤ２５１に結合された入力端子、及びＣＡＮＨ１１１及びＣＡＮＬ１１２に結合された差動出力端子を有する。一部の例では、送信機３１１を増幅器とすることができる。ＣＡＮトランシーバ２１０は、受信機、例えば受信コンパレータ（比較器）３１２をさらに具えることができ、受信コンパレータ３１２は、ＲＸＤ２５２に結合された出力端子、及びＣＡＮＨ１１１及びＣＡＮＬ１１２に結合された差動入力端子を有する。
【００３８】
図３は、さらに、ＴＸＤ２５１、及びＣＡＮＨ１１１及びＣＡＮＬ１１２に結合されたリンギング抑制回路３００を示す。回路３００は、コントローラ３０１及び送信機３０２を具えている。この例では、送信機３０２は差動増幅器とすることができる。コントローラ３０１への入力端子はＴＸＤ２５１に結合され、コントローラ３０１の出力端子は送信機３０２の入力端子に結合されている。送信機３０２の出力端子はＣＡＮバス１１０に結合されている。この例では、送信機３０２の出力端子は、ＣＡＮＬ１１２に結合された第１出力端子３０３及びＣＡＮＨ１１１に結合された第２出力端子３０４を具えている。回路３００の送信機３０３は、バス・トランシーバ２１０の送信機３１１とは逆の極性でバスに結合することができる。例えば、送信機３１１のハイ側出力端子はバスのハイ側ワイヤＣＡＮＨに結合されているのに対し、送信機３０２のハイ側出力端子はバスのロー側ワイヤＣＡＮＬに結合されている。同等に、送信機３１１のロー側出力端子はバスのロー側ワイヤＣＡＮＬに結合されているのに対し、送信機３０２のロー側出力端子はバスのハイ側ワイヤＣＡＮＨに結合されている。この意味では、送信機３１１はプッシュ型送信機であるものと考えることができ、送信機３０２はプル型送信機であるものと考えることができる。
【００３９】
動作中には、バス・トランシーバ２１０のプッシュ型送信機３１１は、バスをドミナント状態に駆動するように構成されるか、バスをパッシブ（受動的）リセッシブ状態に戻すように構成されるかのいずれかである。プッシュ型送信機３１１の動作は、ＴＸＤ２５１上で受信した入力信号に応答する。この例では、ＴＸＤ入力端子２５１が論理値「０」である際に、プッシュ型送信機３１１はバス１１０をドミナント状態に駆動するように構成される。ＴＸＤ入力端子２５１が論理値「０」である際に、プッシュ型送信機３１１はバスをパッシブ・リセッシブ状態に戻すように構成される。プッシュ型送信機３１１がバスをドミナント状態に駆動する際には、送信機３１１は、ドミナント状態に対応する駆動電流をバス上に出力することによって、バスを能動的に駆動する。プッシュ型送信機３１１がバスをリセッシブ状態に戻す際には、プッシュ型送信機３１１はその駆動電流を基準値、一部の例では０に低減する。
【００４０】
バスがパッシブ・リセッシブ状態である際には、バス上のインピーダンスはネットワーク内の終端抵抗器によって決まり、これらの終端抵抗器は代表的には合計６０オームである。バスがドミナント状態である際には、バス上のインピーダンスは、バスを低抵抗に駆動する送信機３１１の出力段によって決まる。
【００４１】
バスがリセッシブ状態からドミナント状態へ遷移する際には、バス上のリンギングは送信機によって幾分抑制することができる。これとは対照的に、バスがドミナント状態からリセッシブ状態へ遷移する際には、リンギングはより明らかになる。
【００４２】
リンギング抑制回路の送信機３０２（プル型送信機）は、ＴＸＤ入力端子２５１上のドミナントからリセッシブへの遷移に応答して、バスをアクティブ（能動的）リセッシブ状態に駆動するように構成することができる。プル型送信機３０２は、その出力端子を、プッシュ型送信機３０１とは逆位相にしてバス１１０に接続することができる。換言すれば、プル型送信機３０２の駆動電流は、プッシュ型送信機３０１の駆動電流とは逆の極性にすることができる。
【００４３】
上記遷移は、バス上のドミナント状態からリセッシブ状態への遷移に相当することができる。この例では、ＴＸＤ２５１における入力信号上の論理値「０」から論理値「１」への遷移が、バス上のドミナント状態からリセッシブ状態への遷移に対応する。しかし、他の実現では、ＴＸＤ２５１上の論理値「１」から論理値「０」への遷移が、バス上のドミナント状態からリセッシブ状態への遷移に対応することができることは明らかである。
【００４４】
ＴＸＤ２５１上のドミナントからリセッシブへの遷移に応答して、コントローラ３０１は、バスをアクティブ・リセッシブ状態に駆動するようにプッシュ型送信機３０２を制御する。アクティブ・リセッシブ状態では、不定のノードにおいてあり得るあらゆる反射を低減する目的で、ＣＡＮバス１１０のインピーダンスを低下させる。プル型送信機は、バスをアクティブ・リセッシブ状態に駆動するための駆動電流を出力することができる。プル型送信機３０２はプッシュ型送信機３１１とは逆の極性でバスに結合されているので、プル型送信機の駆動電流は、プッシュ型送信機の駆動電流とは逆の極性を有する。プル型送信機の駆動電流は、バスをアクティブ・リセッシブ状態にプルするために、バス電圧を低減させ始める。
【００４５】
回路３００の動作の例を図４に示す。図４の例では、バスは２Mbit/sのデータレートを有するデータ・フェーズ中に送信するが、これはほんの一例であり、動作のデータ・フェーズ中に他のデータレートが可能であることは明らかである。
【００４６】
図４は、ＴＸＤ２５１においてＣＡＮコントローラからＣＡＮトランシーバへ供給される信号４００を示す。この例では、１ビットを送信するのに要する時間ｔBITは、２Mbit/sのデータレートに相当する５００nsであるが、これは一例に過ぎないことは明らかである。１ビットを送信するのに要する時間ｔBITがＣＡＮバスのデータレートに相当することは明らかである。この場合、データレートは５００nsであるｔBITのビットレートに相当するが、データレートはＣＡＮバスの動作により変化することができる。この例では、信号４００上の論理値「０」が、バス上に出力されるドミナント状態に対応し、論理値「１」が、バス上に出力されるリセッシブ状態に対応する。
【００４７】
プッシュ型送信機３１１の駆動信号４１１（ＩPUSHTRANSMITTER）を示す。この例では、駆動信号４１１がプッシュ型送信機３１１の駆動電流に相当する。駆動電流４１１は、基準値、例えば０と正の値ＩCANBUSとの間で変化し、基準値はプッシュ型送信機３１１がバスを駆動していない（駆動信号を供給していない）ことに対応し、ＩCANBUSはプッシュ型送信機３１１がバスをドミナント状態に駆動していることに対応する。
【００４８】
プル型送信機３０２の駆動信号４１２（ＩPULLTRANSMITTER）を示す。この例では、駆動信号４１２はプル型送信機３０２の駆動電流に相当する。駆動電流４１２は、基準値、例えば０と負の値−ＩCANBUSとの間で変化し、基準値はプル型送信機３０２がバスを駆動していないことに対応し、−ＩCANBUSはプル型送信機３０２がバスをアクティブ・リセッシブ状態に駆動していることに対応する。この例では、正の駆動電流４１１の値ＩCANBUSと負の駆動電流４１２の値−ＩCANBUSとを、等しい大きさで逆の極性にすることができることは明らかである。
【００４９】
これらの駆動電流は、基準値とＩCANBUS／−ＩCANBUSの間で変化するように説明している。一部の例では、基準値を０に等しくなるように与えている。基準値は他の値をとることができることは明らかである。システム内に電流オフセットが存在することがあり、その場合、電流は０＋／−オフセット値の間、ＩCANBUS＋／−オフセット値の間、及び−ＩCANBUS＋／−オフセット値の間で変化することができる。
【００５０】
ＣＡＮバス上の信号４２０を示す。このＣＡＮバス信号は、最大値（ドミナント）と最小値（アクティブ・リセッシブ）との間で変化する。これらの値は、逆の極性かつ等しい大きさを有することができ、基準値はその間にある。ＣＡＮバス信号４２０が正（ドミナント）である際には、ドミナント状態がアサートされ、ＣＡＮバス信号４２０が基準値（この例では、およそ０の電流）である際には、バスはパッシブ・リセッシブ状態である。ＣＡＮバス信号４２０が負（アクティブ・リセッシブ）である際には、アクティブ・リセッシブ状態がバス上にアサートされる。
【００５１】
信号４３０は、ＣＡＮバス・トランシーバがバス上で受信して接続部ＲＸＤ２５２越しにＣＡＮコントローラに供給するビット列を示す。
【００５２】
動作中には、ＣＡＮバス・コントローラ２２０が、シリアル・ビットストリーム４００を、バス上での送信用にＣＡＮ送信機４１１に供給する。時刻４４０より前には、バス４２０はパッシブ・リセッシブ状態であり、プッシュ型送信機３１１もプル型送信機３０２も駆動信号をバス上にアサートしていない。
【００５３】
時刻４４０に、ＴＸＤ入力信号４００が論理値「１」から論理値「０」へ遷移する。それに応答して、プッシュ型送信機３１１の駆動電流４１１が０からＩCANBUSへ遷移し始めて、バスをドミナント状態に駆動する。駆動電流４１１が０からＩCANBUSまで遷移するのに要する時間をｔSLOPE1として示す。コントローラ３０１は、ＴＸＤ２５１上の遷移を監視し、本実施形態ではリセッシブからドミナントへの遷移には応答しない。駆動電流４１１に応答して、バスの状態はパッシブ・リセッシブ状態からドミナント状態へ遷移する。
【００５４】
時刻４４１に、ＴＸＤ信号４００は論理値「０」から論理値「１」へ遷移する。プッシュ型送信機３１１は、その駆動電流をＩCANBUSから０へ遷移させることによってこの入力４００に応答する。駆動電流４１１がＩCANBUSから０へ遷移するのに要する時間はｔSLOPE2である。
【００５５】
コントローラ３０１は、ピン２５１におけるＴＸＤ信号４００を監視して、時刻４１１における遷移を検出する。それに応答して、コントローラ３０１は、バス１１０をアクティブ・リセッシブ状態に駆動するようにプル型送信機３０２を制御する。コントローラ３０１は、駆動信号４１２が０から−ＩCANBUSへ遷移するように送信機３０２を制御する。このコントローラは、さらに、駆動信号４１２の遷移を、期間ｔSLOPE2中に行われるように制御する。バスをアクティブ・リセッシブ状態にプルする駆動電流４１２を加えることによって、バス上のインピーダンスを低減することができる。
【００５６】
コントローラ３０１は、駆動電流を期間ｔACTRECだけ−ＩCANBUSに保つようにプル型送信機３０２を制御し、その後に、駆動電流４１２は０に戻るように遷移することができる。駆動電流４１２が０に戻るように遷移するのに要する時間は、上記コントローラによってｔSLOPE3であるように制御することができる。時間ｔSLOPE3は駆動信号４１２の変化速度に相当することができる。この変化速度は、駆動電流４１２の遷移によってさらなるリンギングが生じることが軽減されるような緩やかな遷移をもたらすように選択することができる。
【００５７】
従って、ｔSLOPE3に相当するこの変化速度を、ｔSLOPE1及びｔSLOPE2の変化速度に比べて低速にして、ＣＡＮバス上のあらゆる新たな反射を軽減することを試みる。一部の例では、この変化速度を、バスの長さに対応するバスのケーブルワイヤ遅延または伝搬遅延に対して設定することができる。例えば、この変化速度は、ケーブルワイヤ遅延がこうしたスロープ（傾き）時間の２５％未満になるように設定することができるが、これは一例に過ぎず、この％割合は、遷移によって生じるあらゆるリンギングがバスシステムにとって許容される閾値よりも小さくなる値を求めてシステムをテストすることによって定めることができることは明らかである。特定例として、１０メートルのＣＡＮバス配線ケーブル時間〜５ns/mによって、５０nsの伝搬遅延が算出される。この場合、スロープ時間ｔSLOPE3は２５０nsよりも遅く選択することができる。
【００５８】
ｔSLOPE3の終点で、駆動電流４１２を０にすることができ、プル型送信機３０２を高抵抗状態にすることができる。時間ｔSLOPE3中に、ＣＡＮバス４２０が再びアクティブ・リセッシブ状態とパッシブ・リセッシブ状態との間で遷移することができる。しかし、一部の例では、バスが図３に挙げるデータレートよりも高速なデータレートで動作することができることは明らかである。この場合、ｔSLOPE3は、プル型送信機の駆動電流４１２が−ＩCANBUSから０に戻るように遷移するのに十分な時間を提供しないことがある。
【００５９】
バスがアクティブ・リセッシブ状態である時間の総和は、ドミナント状態からアクティブ・リセッシブ状態への遷移時間を含めて、次式のｔPULLによって与えられる：
ｔPULL＝ｔSLOPE2＋ｔACTREC＋ｔSLOPE3
【００６０】
駆動電流４１２をある期間（ｔACTREC）だけ−ＩCANBUSに等しく保つことは随意的なこととすることができ、一部の場合にｔACTRECを０にすることができることは明らかである。ｔPULLはビット時間ｔBIT未満であるように設定することができる。一部のデータレートでは、このことは、バスがパッシブ・リセッシブ状態に戻ること、あるいは次回の遷移時に駆動電流が基準値であることを可能にすることができる。一部の例では、遷移の変化速度が伝搬遅延に応じて設定されているので、バスがより高速なデータレートで動作している一部の場合には、バスは次回の遷移よりも前にパッシブ・リセッシブ状態に戻らないことがあることは明らかである。いくつかの例では、ネットワーク・トポロジに応じて、パラメータｔACTREC及びｔSLOPE3を、リンギングが最も効果的に抑制されるように選定することができる。例えば、５００nsのｔPULLを、ｔACTREC＝５０nsとｔSLOPE3＝４５０nsとの間に分割するか、あるいはｔACTREC＝１００nsとｔSLOPE3＝４５０nsとの間に分割することができる。
【００６１】
ＴＸＤ信号４００上のドミナントからリセッシブへの遷移を検出したことに応答して、コントローラ３０１は、リセッシブ値（この場合０）から−ＩCANBUSへ遷移する駆動信号４１２を出力するようにプル型送信機３０２を制御する。この遷移は、第１期間ｔSLOPE2中に行われる。この期間は、プッシュ型送信機３０２から出力される駆動信号４１１が、時刻４４１における遷移に応答してＩCANBUSからリセッシブ値（この例では０）へ遷移するのに要する時間として定義される。
【００６２】
ｔSLOPE2の終点では、コントローラはプル型送信機によって駆動信号４１２を−ＩCANBUSに保つ。説明したように、このことは随意的であり、一部の実施形態では、駆動信号４１２が即座に−ＩCANBUSからリセッシブ値に向けて遷移し始める。この遷移期間中の駆動信号４１２の傾きまたは変化速度は、バス自体の伝搬遅延に対して設定することができる。この例では、伝搬遅延とこの信号の変化速度との関係がリンギングに影響し得る。特定例では、この遷移の変化速度を、バスの伝搬遅延の２０％未満に設定することができる。
【００６３】
図３の例では、バスが２Mbit/sで動作中であり、このことは５００nsのｔBITを生じさせる。この例では、駆動信号４１２の−ＩCANBUSとリセッシブ値との間の遷移は、ビット時間ｔBITの終点よりも前に完了する。この場合、駆動信号４１２は、ＴＸＤ信号４００上の次回の遷移までリセッシブ値に留まる。
【００６４】
しかし、バスは異なるデータレートで動作することができることは明らかである。例えば、一部の実現では、バスが図４に示すよりも高速なデータレートで動作することができる。時間ｔSLOPE2はプッシュ型送信機の駆動信号４１１の遷移時間に依存するのに対し、時刻４４３における変化速度は伝搬遅延に基づいて設定される。この場合、より高速なデータレートについては、プル型送信機の駆動信号４１２は、ビット時間ｔBITの終点までにリセッシブ値に達していないことがある。図５はこの場合を示す。
【００６５】
図４と同様に、図５は、データ送信信号４００、プッシュ型送信機３１１の出力駆動信号４１１、プル型送信機３０２の出力駆動信号４１２、ＣＡＮバス信号４２０、及びバス・トランシーバにおいてバスから受信した信号４３０を示す。図５の例の動作は、図５の例のバスは図４の例のバスよりも高速で動作すること以外は、図４の例の動作と同様である。この例では、バスは５Mbit/sで動作することができ、２００nsのビット時間ｔBITを有する。
【００６６】
ＴＸＤ信号４００のドミナントからリセッシブへの遷移に応答して、プル型送信機の駆動信号４１２は、期間ｔSLOPE2にわたって、リセッシブ値から−ＩCANBUSまで遷移することができる。期間ｔSLOPE2は、プッシュ型送信機の駆動信号４１１がＩCANBUSとリセッシブ値との間で遷移するのに要する期間に設定することができる。プル型送信機の駆動信号４１２は、リセッシブ値に向けて遷移する前に、期間ｔACTRECだけ−ＩCANBUSに保持することができる。データレートが増加するので、プル型送信機の駆動信号は、ｔBITの終点までに、かつＴＸＤ信号上の次回の遷移よりも前にリセッシブ値に達していないことがある。
【００６７】
この場合、コントローラは、プル型送信機の駆動信号４１２を、第３期間中にその現在値とＩCANBUSとの間で遷移するように制御することができる。第３期間は、プッシュ型送信機の駆動信号がリセッシブ値とＩCANBUSとの間との間で遷移するのに要する時間に相当することができる。ＴＸＤ信号４００上の次回の遷移は、リセッシブからドミナントへの遷移であり得ることは明らかである。
【００６８】
この例では、リセッシブからドミナントへの遷移において、プル型送信機３０２はまだＣＡＮバス上の電流を駆動している。コントローラ３０１は、ＴＸＤピン上の遷移を検出して、遷移をｔSLOPE3からｔSLOPE2に変更する。
【００６９】
本願の例では、リンギング抑制回路が、ＣＡＮバス・トランシーバへの送信データ入力ピン２５１上のドミナントからリセッシブへの遷移に応答する。システムの各ノードは、当該ノードに結合されたリンギング抑制回路を有することができる。この場合、各ノードのリンギング抑制回路は、バス自体の上の信号遷移とは裏腹に、異なる信号に反応していることがある。特に、この問題は、２つ以上のノード（またはバス・トランシーバ）がバス上で同時に作動状態であるシナリオにおいて生じ得る。
【００７０】
第１の場合には、２つ以上のノード（バス・トランシーバ）がバス上で作動状態であり得るが、同じデータを送信している。これら２つ以上のノードがドミナントからリセッシブへの遷移を送信した後に、これら２つ以上のノードのリンギング抑制回路はアクティブ・リセッシブ状態をアサートしようとする。この場合、その影響は１つのノードだけが作動状態である場合と同様であり得る。
【００７１】
第２の場合には、２つ以上のノードがバス上で作動状態であり得るが、異なるデータを送信し得る。このシナリオでは、第１数のノードがリセッシブ状態に対応するビットを送信し、第２数のノードがドミナント状態に対応するビットを送信する。リセッシブのビットを送信しているノードは、アクティブ・リセッシブ状態をアサートしようとする。このことは、バス上の電圧を不定に至らせ得る、というのは、バス上のインピーダンスが低下し得るからである。しかし、実施形態では、バスの電圧が不定になる期間が、ノードが受信信号を求めてバスをサンプリングする時刻とオーバラップしない。このことを図６に関して説明する。
【００７２】
これらのシナリオでは、バス上のデータレートがバスのアービトレーション・フェーズのアービトレーション速度に相当し、この速度はバスのデータ・フェーズのデータレートよりも低速である。図６に、これらのシナリオの１つ以上による、バス上で作動状態である複数のバス送信機の例を示す。
【００７３】
図６は、第１及び第２バス・トランシーバ、及び関連するリンギング抑制回路の信号状態を示す信号線図である。図６は、第１及び第２バス・トランシーバが共に作動状態であり、同じデータを送信している第１シナリオ６５１を示す。図６は、第１及び第２トランシーバが共に作動状態であり、異なるデータを送信している第２シナリオも示す。
【００７４】
第１トランシーバ及び関連するリンギング抑制回路については、送信データピン信号（ＴＸＤ１）６１０及び受信データピン信号（ＲＸＤ１）６４０を示す。これらの信号は、第１バス・トランシーバ２１０の送信データ入力ピン２５１上及び受信データ出力ピン２５２上に存在する信号とすることができることは明らかである。
【００７５】
第２トランシーバ及び関連するリンギング抑制回路については、送信データピン信号（ＴＸＤ２）６５０及び受信データピン信号（ＲＸＤ２）６７０を示す。これらの信号は、第２バス・トランシーバ２１０の送信データ入力ピン２５１上及び受信データ出力ピン２５２上に存在する信号とすることができることは明らかである。
【００７６】
信号（ＣＡＮ ＢＵＳ）６３０も示す。この信号はＣＡＮバス自体の上の信号である。
【００７７】
図６より、第１期間６５１中に、ＴＸＤ１ ６１０とＴＸＤ２ ６５０とが同じデータを送信していることがわかる。この場合、第１及び第２バス・トランシーバは共に作動状態であり、同じデータをバス上に送信している（あるいは、送信しようとしている）。時刻６２０に、第１バス・トランシーバにおける信号ＴＸＤ１ ６１０及び第２バス・トランシーバにおける信号ＴＸＤ２ ６５０は、共にローからハイへ遷移して、ドミナントからリセッシブへのエッジをもたらす。それぞれのバス・トランシーバは、ＴＸＤ１及びＴＸＤ２をＣＡＮバス上への出力用に変換する。第１バス・トランシーバのリンギング抑制回路はＴＸＤ１ ６１０上の遷移を検出し、第２バス・トランシーバのリンギング抑制回路はＴＸＤ２ ６５０上の遷移を検出する。このエッジの検出に応答して、第１及び第２リンギング抑制回路のそれぞれのプル型送信機は、その駆動信号を遷移させてアクティブ・リセッシブ状態を提供する。ＣＡＮバス６３０は、プル型送信機の駆動信号によって生じるアクティブ・リセッシブ状態６２３を経て、ドミナント状態６２１からパッシブ・リセッシブ状態６２３へ遷移する。
【００７８】
なお、図６の例のビットレートは、アービトレーション・ビットレートとして与えられる。このことは、２つ以上のバス送信機が同時に作動状態であるシナリオが発生し、これらのシナリオのすべてが、（より高速な）データ・ビットレートではなくアービトレーション・ビットレートに相当するからである。発明者は、２つ以上のバス送信機が同時に作動状態になり得るシナリオを識別した。
【００７９】
ＣＡＮ／ＣＡＮＦＤプロトコルには３つのシナリオが存在し、これらのシナリオでは、２つ以上の送信機がバス上で同時に作動状態になり得る。
【００８０】
１）送信することを許可されているノードを特定するために、各ＣＡＮフレームの始点で発生し得るアービトレーション・フェーズ中。この例では、実際のアービトレーション速度が５００kbit/sであり、ｔBIT＝２μsを生じさせる。
【００８１】
２）エラーフレーム期間中。あらゆる瞬時に、ノードが通信に割り込んで、エラーを検出したことを信号通知する。この例では、割込みをするノードが６つのドミナント・ビットをアービトレーション速度（例えば、ｔBIT＝２μsでの５００kbit/s）で送信する。
【００８２】
３）アクノレッジ（確認応答）ビット期間中。出来上がったメッセージを送信中のノード以外のすべてのノードが、ドミナントＡＣＫ（アクノレッジ）ビットをバスに送信して、送信されたＣＡＮフレームの適切なフォーマットを信号通知することができる。このことはアービトレーション速度（ｔBIT＝２μsでの５００kbit/s）で行われる。
【００８３】
この例では、アービトレーション・ビットレートが５００kbit/sとして与えられ、ビット時間ｔBIT６９０は２μsである。これは一例に過ぎず、アービトレーション・レートの値は変化させることができる。しかし、アービトレーション・ビットレートは常にデータ・フェーズ・ビットレートよりも低速であることは明らかである。
【００８４】
この例では、バスはアクティブ・リセッシブ状態６２３であり得る。バスがアクティブ・リセッシブ状態である期間は、バスがデータ・フェーズ中により高速なデータレートで動作していることを挙げた例におけるよりも、ｔBITに対する％割合が小さいことがわかる。
【００８５】
期間６２４は、第１バス・トランシーバと第２バス・トランシーバとが異なるデータをＣＡＮバスに送信しようとしている場合を示す。時刻６２４に、第１バス・トランシーバがそのＴＸＤピン（ＴＸＤ１）６１０上のローからハイへの遷移を受信し、第２バス・トランシーバがそのＴＸＤピン（ＴＸＤ２）６５０上のロー状態を受信する。アービトレーション中に、第２バス・トランシーバがバスの制御権を得て、ＴＸＤ２上の信号がバスレベルに変換されて、第２バス・トランシーバによってＣＡＮバス６３０に出力される。
【００８６】
しかし、第１バス・トランシーバのリンギング抑制回路がＴＸＤ１ ６１０上の遷移を検出し、そのプル型送信機が、バスをアクティブ・リセッシブ状態に駆動するための駆動信号を出力する。このことは、第１バス・トランシーバに関連するリンギング抑制回路のプル型送信機の駆動信号がリセッシブ値よりも小さい期間中に、不定の電圧６２５をＣＡＮバス６３０上にもたらし得る。
【００８７】
説明したように、このシナリオは、バスの動作のアービトレーション・フェーズ中に発生し得る。バス上の電圧が不定になる場合、電圧が不定である期間は、アービトレーション・フェーズのｔBITに比べて小さい。
【００８８】
第１及び第２バス・トランシーバは、バス上の信号を検出して、これらの信号を、受信出力ピン信号ＲＸＤ１ ６４０及びＲＸＤ２ ６７０を介して、それぞれのＣＡＮコントローラに供給する。ＲＸＤ１ ６４０及びＲＸＤ２ ６７０は、不定の電圧６２５がそれぞれのＣＡＮコントローラに供給されていることを示す。プル型送信機の駆動信号がバスをアクティブ・リセッシブ状態に駆動しようとする設定期間は、アービトレーションのビット時間に比べて小さく、従って、電圧が不定である期間はｔBITに比べて小さい。ＣＡＮコントローラは入力されるＲＸＤをサンプリングすることができ、このことは一般にビットの始点そのものでは行われず、むしろビットの中間と終点の間で行われる。ＣＡＮコントローラによる信号ＲＸＤ１ ６４０及びＲＸＤ２ ６７０のサンプリング点を６２５で示す。一部の例では、サンプリング時刻をビット時間ｔBITの５０％〜８０％の時点にすることができる。信号ＲＸＤ１及びＲＸＤ２は、いずれかのスイッチが再び開いてバス上の電圧がもはや不定ではなくなった後にサンプリングされることがわかる。
【００８９】
以上では、バスの状態を、ドミナント、パッシブ・リセッシブ、及びアクティブ・リセッシブとして説明してきた。バスは、第１の「ハイ」のワイヤＣＡＮＨ及び第２の「ロー」のワイヤＣＡＮＬを具えることができる。（バス上の駆動電流によって供給することができる）正及び負の電流は、バス負荷を基準に定義される。例えば、正の電流（例えばＩCANBUS）はＣＡＮＨからバス負荷を通ってＣＡＮＬ内に戻る。負の電流（例えば−ＩCANBUS）は、ＣＡＮＬからバスを通ってＣＡＮＨ内に戻る。このことは、ＩCANBUS及び−ＩCANBUSが逆の極性であることの意味でもある。
【００９０】
正の駆動電流（ＩCANBUS）がバス上に存在する際に、バスはドミナント状態であると考えることができる。ドミナント状態では、ＣＡＮＨとＣＡＮＬとの間の差動バス電圧が正になり得る。バス上に電流が存在しない際に、例えばプッシュ型送信機もプル型送信機も電流をアサートしていない際に、バスはパッシブ・リセッシブ状態であると考えることができる。パッシブ・リセッシブ状態では、ＣＡＮＨとＣＡＮＬとの間の差動バス電圧が０になり得る。バス上に負の駆動電流が存在する際に、バスはアクティブ・リセッシブ状態であると考えることができる。アクティブ・リセッシブ状態では、ＣＡＮＨとＣＡＮＬとの間の差動バス電圧が負になり得る。
【００９１】
以上では、リンギング抑制回路をバス・トランシーバとは別個であるものとして説明してきたが、このことはほんの一例に過ぎず、他の場合には、リンギング抑制回路がバス・トランシーバの一部分を形成することができることは明らかである。
【００９２】
以上では、ＣＡＮバスのアービトレーション・フェーズ及びデータ・フェーズを参照してきた。ＣＡＮバスのアクセス・メカニズムはビット単位のアービトレーションであり、この時間中にはバスのビットレートが低減される。アービトレーション・ビットレートは、例えばエラー検出でも用いることができる。ＣＡＮバスのデータレートは、アービトレーション・ビットレートよりもずっと高速である。例えば、アービトレーション・ビットレートは５００bit/sの付近にすることができるのに対し、一部のシステムでは、データ・ビットレートを２Mbit/sよりも高くすることができる。異なる実現では、データ・ビットレート及びアービトレーション・ビットレートが異なり得るが、アービトレーション・ビットレートは必然的にデータ・ビットレートの分数であることは明らかである。
【００９３】
以上では、ＣＡＮバスを参照した例を説明してきた。しかし、リンギングが問題となり得る他の差動または２線バスにも適用可能であることは明らかである。以上は、ＴＸＤピン上のドミナントからリセッシブへの遷移をハイからローへの遷移として説明してきたが、このことは設計事項であり、他の一部のシステムでは逆にすることができることも明らかである。一例では、実施形態はＣＡＮ ＦＤにより動作することができ、ここではデータ・フェーズのビット時間がＣＡＮ ＦＤフレームのビット時間に相当する。
【図１】
0006438983.tif 000002
【図２】
0006438983.tif 000003
【図３】
0006438983.tif 000004
【図４】
0006438983.tif 000005
【図５】
0006438983.tif 000006
【図６】
0006438983.tif 000007