(57)【特許請求の範囲】
【請求項１】
信号レベルがレセッシブレベルからドミナントレベルへ定期的に変化する伝送路符号であって、ドミナントレベルが第１の期間継続する波形でレセッシブ値が表現され、ドミナントレベルが前記第１の期間よりも長い第２の期間継続する波形でドミナント値が表現される伝送路符号を用いて符号化された信号を、バス通信路へ送信するマスタノードと、
前記マスタノードによって送信された信号を前記バス通信路を介して受信するスレーブノードと、
を備える通信システムにおいて、前記スレーブノードに用いられるトランシーバであって、
前記バス通信路上の信号レベルがレセッシブレベルからドミナントレベルへ変化する注目エッジを検出するエッジ検出手段と、
前記エッジ検出手段により前記注目エッジが検出されてから前記第１の期間が経過する前に、前記第２の期間よりも短い第３の期間継続してドミナントレベルの信号を前記バス通信路へ出力することで、ドミナント値の信号を前記バス通信路へ送信する出力手段と、
を備えることを特徴とするトランシーバ。
【請求項２】
請求項１に記載のトランシーバであって、
カウント用クロックを発生するクロック発生手段と、
前記エッジ検出手段により前記注目エッジが検出されてから次の前記注目エッジが検出されるまでの間隔であるエッジ間隔を、前記カウント用クロックを用いてカウントし、そのカウント値を用いて算出される前記第２の期間を基準に前記第３の期間を算出する算出手段と、
を更に備え、
前記出力手段は、前記算出手段により算出された前記第３の期間継続してドミナントレベルの信号を前記バス通信路へ出力する
ことを特徴とするトランシーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック成分を含む伝送路符号を用いて符号化された信号を、バス通信路を介して受信可能なトランシーバに関する。
【背景技術】
【０００２】
従来、車両に搭載される通信システムとして、ＣＡＮ（Controller Area Network）やＬＩＮ（Local Interconnect Network）等、バス通信路を利用するものが知られている（非特許文献１参照）。
【０００３】
この種の通信システムにおいて効率の良い通信を行うには、バス通信路を介して信号を送受信するために各ノードに設けられるトランシーバの動作を、互いに同期させることが望ましい。
【０００４】
このような同期を実現する手法の一つとして、いずれか一つのノードが、クロック成分を含む伝送路符号を用いて符号化された信号を単線のバス通信路へ送信し、他のノードは、バス通信路上の信号から抽出されるクロック成分に従ってトランシーバを動作させるものが知られている。このような通信システムでは、クロック成分を送信する側のノードから他のノードへ、単線のバス通信路を介してクロック成分とデータとを重畳して送信することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】佐藤道夫著「車載ネットワークシステム徹底解説」ＣＱ出版株式会社、２００５年１２月１日発行
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、前述したように、バス通信路にクロック成分とデータとを重畳して送信する通信システムにおいては、クロック成分を送信する側のノードから他のノードへデータを送信可能であるが、クロック成分を受信する側のノードからもデータを送信できるようにしたいという要望があった。
【０００７】
本発明は、バス通信路にクロック成分とデータとを重畳して送信する通信システムにおいて、クロック成分を受信する側のノードからのデータ送信を可能とするためのトランシーバを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の請求項１に記載のトランシーバは、マスタノード及びスレーブノードを備える通信システムにおいて、スレーブノードに用いられる。この通信システムにおいて、マスタノードとは、信号レベルがレセッシブレベルからドミナントレベルへ定期的に変化する伝送路符号を用いて符号化された信号（クロック成分とデータとが重畳された信号）を、バス通信路へ送信するノードのことである。具体的には、この伝送路符号では、ドミナントレベルが第１の期間継続する波形（レセッシブ波形）でレセッシブ値が表現され、ドミナントレベルが第１の期間よりも長い第２の期間継続する波形（ドミナント波形）でドミナント値が表現される。また、この通信システムにおいて、スレーブノードとは、マスタノードによって送信された信号（クロック成分とデータとが重畳された信号）をバス通信路を介して受信するノードのことである。
【０００９】
そして、このトランシーバでは、エッジ検出手段が、バス通信路上の信号レベルがレセッシブレベルからドミナントレベルへ変化する注目エッジを検出する。さらに、出力手段が、エッジ検出手段により注目エッジが検出されてから第１の期間が経過する前に、第２の期間よりも短い第３の期間継続してドミナントレベルの信号をバス通信路へ出力することで、ドミナント値の信号をバス通信路へ送信する。
【００１０】
このようなトランシーバを備えるスレーブノードによれば、マスタノードから出力されるレセッシブ波形にドミナントレベルの信号を重畳することで、ドミナント波形をバス通信路上に形成することができ、これによりドミナント値の信号をバス通信路へ送信することができる。このため、スレーブノードは、マスタノードからレセッシブ波形が継続的に出力されている状態において、ドミナントレベルの信号を重畳するか否かによりドミナント値及びレセッシブ値の信号をバス通信路へ送信することができる。したがって、このようなスレーブノードを備える通信システムによれば、マスタノードから送信される信号において定期的に発生する注目エッジ（クロック成分）を維持しつつ、スレーブノードからのデータ送信を実現することができる。
【００１１】
しかも、重畳用のドミナントレベルの信号が出力される期間（第３の期間）を、ドミナント波形においてドミナントレベルが継続する期間（第２の期間）よりも短くしているため、バス通信路上に形成されるドミナント波形のずれを生じにくくすることができる。すなわち、バス通信路上で注目エッジが発生した時点と、スレーブノードがその注目エッジを検出してドミナントレベルの信号の出力を開始する時点との間には、タイムラグが生じる。このため、仮に、マスタノードから出力されるドミナント波形においてドミナントレベルが継続する期間（第２の期間）と同じ期間継続してドミナントの信号をスレーブノードから出力したとすると、バス通信路上のドミナント波形においてドミナントレベルからレセッシブレベルへ変化するタイミングが、タイムラグの分遅れてしまう。これに対し、本発明のトランシーバでは、重畳用のドミナントレベルの信号が出力される期間（第３の期間）を、ドミナント波形においてドミナントレベルが継続する期間（第２の期間）よりも短くしているため、タイムラグの影響を抑制することができる。
【００１２】
ところで、請求項２に記載のように、クロック発生手段がカウント用クロックを発生し、算出手段が、エッジ検出手段により注目エッジが検出されてから次の注目エッジが検出されるまでの間隔であるエッジ間隔を、カウント用クロックを用いてカウントし、そのカウント値を用いて算出される第２の期間を基準に第３の期間を算出し、出力手段が、算出手段により算出された第３の期間継続してドミナントレベルの信号をバス通信路へ出力するようにしてもよい。このようにすれば、カウント用クロックを用いた簡単な構成でエッジ期間を測定することができ、カウント用クロックの周期にばらつきがある場合にも、そのばらつきの傾向に応じた第３の期間を算出することができる。したがって、第３の期間を固定の期間とする場合と比較して、カウント用クロックの周期のばらつきに対する通信の安定性を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】車載通信システムの概略構成を示すブロック図。
【図２】（ａ）はバス通信路で使用する伝送路符号の構成、（ｂ）はバス通信路を介して送受信されるフレームの構成、（ｃ）はＵＡＲＴが送受信するブロックデータの構成を示す説明図。
【図３】マスタノード、スレーブノードの構成を示すブロック図。
【図４】符号化復号化部の構成を示すブロック図。
【図５】（ａ）はバス通信路上のレセッシブ波形、（ｂ）はスレーブのトランシーバが出力する重畳用のロウレベルの信号、（ｃ）はバス通信路上のドミナント波形を示す説明図。
【図６】タイミング生成部の構成を示すブロック図。
【図７】スレーブのトランシーバでビットごとに実行される処理のフローチャート。
【発明を実施するための形態】
【００１４】
以下に本発明の実施形態を図面とともに説明する。
＜全体構成＞
図１は、車両に搭載され、ボデー系のアプリケーションを実現する電子制御装置（ボデー系ＥＣＵ）や、車両の状態を検出したり車両の状態を制御したりするために設けられた関連機器（ライト、センサ等）からなるノード３を、単線のバス状の通信路（以下「バス通信路」という。）５を介して相互に接続した通信システム１の概略構成を示すブロック図である。
【００１５】
図１に示すように、通信システム１を構成するノード３のうち、ボデー系ＥＣＵとしては、ボデー・ワイパＥＣＵ、シートＥＣＵ、スライドドアＥＣＵ、ミラーＥＣＵ、バックドアＥＣＵ、チルテレ（電動ステアリング位置調整装置）ＥＣＵ等があり、一方、関連機器としては、ライトＳＷ、ワイパＳＷ、ライトセンサ、レインセンサ等がある。
【００１６】
＜バス通信路＞
バス通信路５は、異なるノード３からハイレベルの信号とロウレベルの信号とが同時に出力されると、バス通信路５上の信号レベルがロウレベルとなるように構成されており、この機能を利用してバス調停を実現する。つまり、バス通信路５上の信号レベルは、ロウレベルが優性（ドミナント）レベルであり、ハイレベルが劣性（レセッシブ）レベルである。
【００１７】
ここで図２（ａ）は、バス通信路５で使用する伝送路符号を示す説明図である。この伝送路符号は、信号レベルがハイレベルからロウレベルへ定期的に（ビット単位で）変化し、ビットの途中で信号レベルがロウレベルからハイレベルに変化するＰＷＭ符号であり、ドミナントの値（本実施形態では０に対応）及びレセッシブの値（本実施形態では１に対応）の二値が２種類のデューティ比で表現される。通信システム１では、このようなＰＷＭ符号を用いて、クロック成分とデータとが重畳された信号がバス通信路５を介して送受信される。
【００１８】
具体的には、ロウレベルの期間とハイレベルの期間との比が１：１の波形（ドミナント波形）でドミナントの値が表現され、ロウレベルの期間とハイレベルの期間との比が１：４の波形（レセッシブ波形）でレセッシブの値が表現される。つまり、ドミナント波形におけるロウレベルの期間が１ビット（クロック成分の周期）の５０％、レセッシブ波形におけるロウレベルの期間が１ビットの２０％にそれぞれ設定されており、バス通信路５上でレセッシブとドミナントとが衝突すると、ドミナントが調停勝ちするようにされている。
【００１９】
また、図２（ｂ）は、ノード３間の通信に使用するフレームの構成を示す説明図である。図２（ｂ）に示すように、フレームは、送信を許可するデータを指定するためのヘッダと、ヘッダによって指定されたデータを送信するための可変長のレスポンスからなる。このうち、ヘッダは、送信を許可するデータの識別子（ＩＤ）からなり、ＩＤの値に応じて、バス調停で勝ち残るように設定されている。一方、レスポンスは、データ以外に、データ（レスポンス）のサイズを示すサイズ情報、エラーの有無をチェックするためのＣＲＣ符号が少なくとも含まれている。
【００２０】
＜ノード共通＞
図１に示すように、通信システム１では、ノード３の一つ（ここではボデー・ワイパＥＣＵ）をマスタ３ａ、他のノードをスレーブ３ｂとして、マスタ３ａがヘッダを送信することによって、送信を許可するデータ（ひいてはデータの送信元となるスレーブ３ｂ）を順次指定し、ヘッダによって指定されたデータの送信元となるスレーブ３ｂがレスポンス（データ）を送信するポーリング（定期通信）と、マスタ３ａからの指示によらずスレーブ３ｂが自律的に通信を制御するイベント通信とを実行する。
【００２１】
＜マスタ＞
図３に示すように、マスタ３ａは、バス通信路５を介した他ノード３との通信によって得られた情報等に基づき、自ノード３に割り当てられた各種処理を実行する信号処理部１０と、信号処理部１０から供給されるＮＲＺ符号の送信データＴＸＤを、入力端子ＰＩを介して取り込み、取り込んだ送信データＴＸＤをＰＷＭ符号に符号化したものを送信データＴＸとして通信端子ＰＴを介してバス通信路５へ出力するとともに、バス通信路５から通信端子ＰＴを介して取り込んだ受信データＲＸをＰＷＭ符号からＮＲＺ符号に復号化したものを受信データＲＸＤとして出力端子ＰＯを介して信号処理部１０へ供給するトランシーバ２０とを備えている。なお、トランシーバ２０は、入力端子ＰＩ、出力端子ＰＯ、通信端子ＰＴの他に、信号処理部１０から供給される基準クロックＣＫを取り込むためのクロック端子ＰＣを備えている。
【００２２】
<<信号処理部>>
マスタ３ａの信号処理部１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＩＯポート等からなる周知のマイクロコンピュータ（マイコン）を中心に構成され、更に、調歩同期（非同期）方式のシリアル通信を実現するＵＡＲＴ（汎用非同期受信・送信機：Universal Asynchronous Receiver Transmitter ）１１と、当該信号処理部１０を動作させるための動作クロックや、ＵＡＲＴ１１の通信速度と同じ速度（本実施形態では２０Ｋｂｐｓ）に設定されトランシーバ２０へ供給する基準クロックＣＫを発生させる発振子１２とを備えている。なお、発振子１２には、安定した周波数で発振する高精度のもの（例えば水晶発振子）が用いられている。
【００２３】
ここで図２（ｃ）は、ＵＡＲＴ１１が送受信するデータＴＸＤ，ＲＸＤの構成を示す説明図である。図示されているように、ＵＡＲＴ１１は、データの開始を示す１ビット長のスタートビット（ロウレベル）と、データの終了を示すストップビット（ハイレベル）と、これらスタートビット、ストップビットに挟まれた８ビットのデータとで構成された合計１０ビットのブロックデータを単位として送受信する。ただし、主要部となる８ビットのデータは、ＬＳＢ（最下位ビット）が先頭、ＭＳＢ（最上位ビット）が末尾となるように設定されている。
【００２４】
なお、前述のフレーム（図２（ｂ）参照）を構成するヘッダは、単一のブロックデータで構成され、スタートビット、ストップビットを除く８ビットのデータのうち、７ビットはＩＤとして用いられ、１ビットはパリティビットとして用いられる。また、レスポンスは、１ないし複数個のブロックデータで構成され、最初のブロックに、サイズ情報が設定される。
【００２５】
<<トランシーバ>>
図３に戻り、マスタ３ａのトランシーバ２０は、信号処理部１０からクロック端子ＰＣを介して供給される基準クロックＣＫに同期した各種タイミング信号を生成するタイミング生成部２１と、タイミング生成部２１にて生成されたタイミング信号に従って、送信データＴＸＤの符号化、受信データＲＸの復号化を行う符号化復号化部２２と、符号化復号化部２２にて符号化された送信データＴＸを通信端子ＰＴから出力する送信バッファ２３と、通信端子ＰＴを介して取り込んだ信号を二値化し受信データＲＸとして符号化復号化部２２へ供給する受信バッファ２４とを備えている。
【００２６】
送信バッファ２３は、前述したバス通信路５上でのバス調停が可能となるように、例えば、周知のオープンコレクタ回路を用いて構成されている。また、受信バッファ２４は、バス通信路５の信号レベルが、あらかじめ設定されたしきい値よりも大きければハイレベル、しきい値よりも低ければロウレベルを出力する周知のコンパレータによって構成されている。
【００２７】
<<タイミング生成部>>
タイミング生成部２１は、複数のインバータをリング状に接続することで構成されたリングオシレータ等からなる簡易な発振回路を備え、この発振回路が発生させたカウント用クロックＣＣＫを分周することによって、各種タイミング信号を生成する。カウント用クロックＣＣＫは、基準クロックＣＫの周波数に対して十分に高い周波数（数十〜数百倍程度）を有するように設定されている。
【００２８】
タイミング生成部２１は、基準クロックＣＫの立ち下がりエッジの間隔（１周期の長さ）を、カウント用クロックＣＣＫによってカウントするカウンタや、カウンタによって得られた基準クロックＣＫの１周期分のカウント値に基づいて、カウント用クロックＣＣＫを分周することによって基準クロックＣＫに同期した各種タイミング信号を発生させる分周回路等によって構成されている。
【００２９】
具体的には、タイミング生成部２１は、符号化用のタイミング信号として、基準クロックＣＫの１周期分に相当する周期を有し、立ち下がりエッジから立ち上がりエッジまでの間隔が１周期の２０％に相当する長さに設定されたレセッシブ波形（レセッシブ生成用クロック）と、基準クロックＣＫの１周期分に相当する周期を有し、立ち下がりエッジから立ち上がりエッジまでの間隔が１周期の５０％に相当する長さに設定されたドミナント波形（ドミナント生成用クロック）とを生成する。また、タイミング生成部２１は、複合化用のタイミング信号として、基準クロックＣＫの１周期分に相当する周期を有し、立ち下がりエッジから立ち上がりエッジまでの間隔が１周期の３５％に相当する長さに設定されたサンプリング用クロックを生成する。
【００３０】
<<符号化復号化部>>
図４は、符号化復号化部２２の構成を示すブロック図である。
符号化復号化部２２は、入力端子ＰＩ（図３参照）を介して入力された送信データＴＸＤ（ＮＲＺ符号）を伝送路符号（ＰＷＭ符号）に符号化する符号化回路２７と、受信バッファ２４（図３参照）が取り込んだ受信データＲＸをＮＲＺ符号に復号化する復号化回路２８と、符号化前の送信データＴＸＤと復号化後の受信データＲＸＤをビット単位で比較し、信号レベル（ロウレベル／ハイレベル）が不一致である場合にアクティブレベルとなる衝突検出信号ＣＤを符号化回路２７へ出力するビット調停回路２９とを備えている。
【００３１】
符号化回路２７は、衝突検出信号ＣＤがロウレベルである場合には、送信データＴＸＤがロウレベルであれば、ドミナント波形を送信データＴＸとして出力し、送信データＴＸＤがハイレベルであれば、レセッシブ波形を送信データＴＸとして出力する。一方、衝突検出信号ＣＤがハイレベルである場合には、送信データＴＸＤの信号レベルに関係なく、レセッシブ波形を送信データＴＸとして出力する。
【００３２】
つまり、自ノードがデータを送信している状態で、調停負け（衝突検出信号ＣＤのハイレベルへの変化）を検出すると、直ちに（調停負けが検出されたビットの次のビットから）データの送信を停止することにより、調停勝ちしたノード３にデータの送信を継続させる、いわゆるＣＳＭＡ／ＣＡ方式のアクセス制御方式を実現するように構成されている。
【００３３】
ただし、信号処理部１０から送信データＴＸＤの供給がない場合、符号化回路２７の入力はハイレベルに固定され、レセッシブ波形を出力し続けるように構成されている。つまり、マスタ３ａのトランシーバ２０は、前述のように調停負けによりデータの送信を停止した場合に限らず、送信するデータがない場合にも、クロック成分（レセッシブ）を供給し続けることによって、クロックマスタとして動作するように構成されている。以下では、バス通信路５において、レセッシブがあらかじめ設定された許容ビット（本実施形態では１１ビット）以上継続している期間をＩＦＳ（Inter Frame Space ）と呼び、ＩＦＳが検出されている状態をアイドル状態という。
【００３４】
一方、復号化回路２８は、レセッシブ波形の立ち上がりエッジとドミナント波形の立ち上がりエッジとの間におけるタイミング（本実施形態では、サンプリング用クロックの立ち上がりエッジにより特定される１周期の３５％に相当するタイミング）で受信データＲＸをサンプリングし、そのサンプリングした結果を、復号化した受信データＲＸＤとして出力するように構成されている。
【００３５】
＜スレーブ＞
図３に戻り、スレーブ３ｂは、マスタ３ａと同様に、バス通信路５を介した他ノード３との通信によって得られた情報等に基づき、自ノード３に割り当てられた各種処理を実行する信号処理部４０と、信号処理部４０から供給されるＮＲＺ符号の送信データＴＸＤを、入力端子ＰＩを介して取り込み、取り込んだ送信データＴＸＤを、ＰＷＭ符号に符号化したものを送信データＴＸとして通信端子ＰＴを介してバス通信路５へ出力するとともに、バス通信路５から通信端子ＰＴを介して取り込んだ受信データＲＸを、ＰＷＭ符号からＮＲＺ符号に復号化したものを受信データＲＸＤとして出力端子ＰＯを介して信号処理部４０へ供給するトランシーバ５０とを備えている。
【００３６】
<<信号処理部>>
スレーブ３ｂの信号処理部４０は、トランシーバ５０に対して基準クロックＣＫを供給する機能が省略されている点以外は、マスタ３ａの信号処理部１０と同様に構成されている。ただし、スレーブ３ｂの信号処理部４０は、必ずしもマイコンによって構成する必要はなく、例えば、ＵＡＲＴ１１に相当する機能を少なくとも備えたシーケンサと、そのシーケンサを動作させる動作クロックを生成する発振回路とによって構成してもよい。
【００３７】
<<トランシーバ>>
スレーブ３ｂのトランシーバ５０は、クロックマスタとしての機能が省略され、レセッシブ波形及びドミナント波形を自らは出力せず、マスタ３ａによってレセッシブ波形が継続的に出力されている状態において、ロウレベルの信号を一定期間出力してレセッシブ波形に重畳することでバス通信路５上にドミナント波形を形成する。つまり、スレーブ３ｂのトランシーバ５０は、送信データＴＸとしてレセッシブを送信する場合には、重畳用のロウレベルの信号を出力しないことでバス通信路５上のレセッシブ波形を維持し、送信データＴＸとしてドミナントを送信する場合には、重畳用のロウレベルの信号を出力することでバス通信路５上にドミナント波形を形成する。
【００３８】
図５（ａ）はバス通信路５上のレセッシブ波形、図５（ｂ）はスレーブ３ｂのトランシーバ５０が出力する重畳用のロウレベルの信号、図５（ｃ）はバス通信路５上のドミナント波形である。
【００３９】
スレーブ３ｂのトランシーバ５０は、バス通信路５上の信号（レセッシブ波形）の立ち下がりエッジを検出したことを契機にロウレベルの信号を出力する。しかしながら、バス通信路５上で立ち下がりエッジが発生した時点と、スレーブ３ｂが立ち下がりエッジを検出してロウレベルの信号の出力を開始する時点との間には、タイムラグが生じる。このため、仮に、マスタ３ａから出力されるドミナント波形においてロウレベルが継続する期間と同じ期間継続してロウレベルの信号をスレーブ３ｂから出力したとすると、ドミナント波形においてロウレベルからハイレベルへ変化するタイミングが、タイムラグの分遅れてしまうことになる。そこで、重畳用の信号においてロウレベルが継続する期間は、ドミナント波形においてロウレベルが継続する期間よりも短く設定されている。
【００４０】
図３に示すように、スレーブ３ｂのトランシーバ５０は、マスタ３ａのトランシーバ２０と同様に、タイミング生成部５１、符号化復号化部５２、送信バッファ２３、受信バッファ２４を備えており、タイミング生成部５１及び符号化復号化部５２の構成の一部が、トランシーバ２０のタイミング生成部２１及び符号化復号化部２２と異なる。
【００４１】
スレーブ３ｂのトランシーバ５０が備える符号化復号化部５２は、符号化回路の動作が一部異なる以外は、マスタ３ａの符号化復号化部２２と同様に構成されている。以下では、スレーブ３ｂの符号化復号化部５２の符号化回路を、マスタ３ａの符号化復号化部２２の符号化回路２７と区別するため、「符号化回路５７」と記す。
【００４２】
スレーブ３ｂのトランシーバ５０が備えるタイミング生成部５１は、各種タイミング信号を生成する際に、同期の対象となる信号が、基準クロックＣＫではなく、受信バッファ２４を介してバス通信路５から取得した受信データＲＸである点、及び、符号化用のタイミング信号として、レセッシブ波形（レセッシブ生成用クロック）及びドミナント波形（ドミナント生成用クロック）を生成しない点で、マスタ３ａのトランシーバ２０が備えるタイミング生成部２１と異なる。
【００４３】
具体的には、図６に示すように、スレーブ３ｂのトランシーバ５０が備えるタイミング生成部５１は、発振回路５１１と、エッジ検出部５１２と、ロウ期間算出部５１３とを備える。
【００４４】
発振回路５１１は、複数のインバータをリング状に接続することで構成されたリングオシレータ等からなる簡易な回路であって、カウント用クロックＣＣＫを発生する。カウント用クロックＣＣＫは、バス通信路５上の信号に含まれるクロック成分の周波数（基準クロックＣＫの周波数）に対して十分に高い周波数（数十〜数百倍程度）を有するように設定されている。
【００４５】
エッジ検出部５１２は、受信バッファ２４を介してバス通信路５から取得した受信データＲＸに基づいて、バス通信路５上の信号レベルがハイレベルからロウレベルへ変化する立ち下がりエッジを検出する。
【００４６】
ロウ期間算出部５１３は、エッジ検出部５１２により立ち下がりエッジが検出されてから次の立ち下がりエッジが検出されるまでの間隔（クロック成分の１周期の長さ）を、発振回路５１１が発生したカウント用クロックＣＣＫを用いてカウントする。そして、最新のカウント値（１周期の長さの最新の測定値）に基づくクロック成分の周期の５０％の期間を、ドミナント波形のロウレベルの期間として算出する。そして、ドミナント波形のロウレベルの期間を基準に、重畳用のロウレベルの信号を出力する期間を、タイムラグの期間を見込んで算出する。
【００４７】
ここで、タイムラグの要因としては、デジタル的な要因とアナログ的な要因とに大別される。デジタル的な要因によるタイムラグの期間は安定しているため、設計段階において予測可能である。一方、アナログ的な要因（例えば温度変化）によるタイムラグの期間は、使用環境などによってばらつくものの、ばらつき度合いなどについては設計段階で把握することができる。したがって、タイムラグの期間の推測値として、ばらつきの影響を受けにくい値（例えばばらつき期間の中間的な値）を、あらかじめ設定することが可能である。
【００４８】
ロウ期間算出部５１３は、算出したドミナント波形のロウレベルの期間から、あらかじめ設定されているタイムラグの期間の推測値を差し引いた期間を、重畳用のロウレベルの信号を出力する期間として算出する。
【００４９】
そして、符号化回路５７は、衝突検出信号ＣＤ及び送信データＴＸＤの両方がロウレベルである場合に、エッジ検出部５１２により立ち下がりエッジが検出されてからレセッシブ波形のロウレベルの期間が経過する前に、ロウ期間算出部５１３により算出された期間（ドミナント波形におけるロウレベルの期間よりも短い期間）継続して、ロウレベルの信号を送信データＴＸとしてバス通信路５へ出力する。これにより、ロウレベルの信号がバス通信路５上のレセッシブ波形に重畳されて、バス通信路５上にドミナント波形が形成される。つまり、ドミナントがバス通信路５へ送信された状態となる。一方、ハイレベルの信号を送信データＴＸとしてバス通信路５へ出力すると、バス通信路５上のレセッシブ波形がそのまま維持される。つまり、レセッシブがバス通信路５へ送信された状態となる。
【００５０】
<<トランシーバの処理>>
図７は、スレーブ３ｂのトランシーバ５０でビットごとに実行される処理のフローチャートである。
【００５１】
バス通信路５を介したデータの送信が許可されている状態において（Ｓ１０１：ＹＥＳ）、信号処理部１０からロウレベルの送信データＴＸＤが入力されると（Ｓ１０２：ＹＥＳ）、重畳用のロウレベルの信号をバス通信路５へ出力するための処理が行われる（Ｓ１０３〜Ｓ１０５）。ここで、バス通信路５を介したデータの送信が許可されている状態とは、アイドル状態、又は、当該スレーブ３ｂが送信データＴＸを送信中の状態であって調停負けが検出されていない状態である。
【００５２】
具体的には、エッジ検出部５１２によりバス通信路５上の信号の立ち下がりエッジが検出されると（Ｓ１０３：ＹＥＳ）、ロウ期間算出部５１３により重畳用のロウレベルの信号を出力する期間が算出される（Ｓ１０４）。そして、ロウレベルの信号が、算出された期間継続して符号化回路５７により送信データＴＸとして出力される（Ｓ１０５）。
【００５３】
＜効果＞
以上説明したように、通信システム１では、スレーブ３ｂが、マスタ３ａから出力されるレセッシブ波形にロウレベルの信号を重畳し、ドミナント波形をバス通信路５上に形成することで、ドミナントをバス通信路５へ送信する。このため、スレーブ３ｂは、マスタ３ａからレセッシブ波形が継続的に出力されている状態において、ロウレベルの信号を出力することでドミナントを送信し、ロウレベルの信号を出力しないことでレセッシブを送信することができる。したがって、マスタ３ａから送信される信号において定期的に発生する立ち下がりエッジ（クロック成分）を維持しつつ、スレーブ３ｂからのデータ送信を実現することができる。
【００５４】
しかも、重畳用の信号におけるロウレベルの期間をドミナント波形のロウレベルの期間よりも短くしているため、マスタ３ａから送信されるドミナントと、スレーブ３ｂから送信されるドミナントとで、ドミナント波形がロウレベルからハイレベルへ立ち上がるタイミングにずれが生じにくくすることができる。
【００５５】
また、スレーブ３ｂのトランシーバ５０では、ロウ期間算出部５１３が、エッジ検出部５１２により立ち下がりエッジが検出されてから次の立ち下がりエッジが検出されるまでの間隔（エッジ間隔）に基づいて算出されるドミナント波形のロウレベルの期間を基準に重畳用のロウレベルの信号を出力する期間を算出する。そして、符号化回路５７が、ロウ期間算出部５１３により算出された期間継続してロウレベルの信号をバス通信路５へ出力する。
【００５６】
具体的には、ロウ期間算出部５１３が、発振回路５１１が発生したカウント用クロックＣＣＫを用いてエッジ間隔をカウントし、そのカウント値を用いて算出されるドミナント波形のロウレベルの期間を基準に、重畳用の信号のロウレベルの期間を算出する。
【００５７】
このため、カウント用クロックＣＣＫを用いた簡単な構成でエッジ期間を測定することができ、カウント用クロックＣＣＫの周期にばらつきがある場合にも、そのばらつきの傾向に応じたロウレベルの期間を算出することができる。したがって、重畳用の信号におけるロウレベルの期間を固定の期間とする場合と比較して、カウント用クロックＣＣＫの周期のばらつきに対する通信の安定性を高めることができる。
【００５８】
なお、本実施形態では、マスタ３ａがマスタノードの一例に相当し、スレーブ３ｂがスレーブノードの一例に相当する。また、符号化回路５７が出力手段の一例に相当し、発振回路５１１がクロック発生手段の一例に相当し、エッジ検出部５１２がエッジ検出手段の一例に相当し、ロウ期間算出部５１３が算出手段の一例に相当し、立ち下がりエッジが注目エッジの一例に相当する。
【００５９】
＜他の実施形態＞
以上、本発明のいくつかの実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施することが可能である。
【００６０】
例えば、上記実施形態では、スレーブ３ｂのトランシーバ５０が、立ち下がりエッジのエッジ間隔の最新のカウント値（クロック成分の１周期の長さの最新の測定値）に基づいて、重畳用のロウレベルの信号を出力する期間を算出するようにしているが、クロック成分の１周期の長さは、複数ビット分の測定値の平均値としてもよい。
【００６１】
また、重畳用のロウレベルの信号を出力する期間を固定値としてもよい。このようにすれば、期間を算出する構成（ロウ期間算出部５１３）及び処理（Ｓ１０４）を省略することができる。
【００６２】
また、上記実施形態では、マスタ３ａがクロックマスタを兼ねるように構成したが、スレーブ３ｂのいずれかがクロックマスタとなるように構成してもよい。この場合、クロックマスタとなるスレーブを、前述のマスタ３ａと同様に構成すればよい。
【００６３】
また、上記実施形態では、ＰＷＭ符号におけるロウレベルの期間が、１ビットの２０％又は５０％となるように設定されているが、これに限定されるものではなく、例えば１ビットの１／３又は２／３となるように設定されていてもよい。
【符号の説明】
【００６４】
１…通信システム  ３…ノード  ３ａ…マスタ  ３ｂ…スレーブ  ５…バス通信路  １０，４０…信号処理部  １２…発振子  ２０，５０…トランシーバ  ２１，５１…タイミング生成部  ２２，５２…符号化復号化部  ２３…送信バッファ  ２４…受信バッファ  ２７，５７…符号化回路  ２８…復号化回路  ２９…ビット調停回路  ５１１…発振回路  ５１２…エッジ検出部  ５１３…ロウ期間算出部
【図１】
0005644725.tif 000002
【図２】
0005644725.tif 000003
【図３】
0005644725.tif 000004
【図４】
0005644725.tif 000005
【図５】
0005644725.tif 000006
【図６】
0005644725.tif 000007
【図７】
0005644725.tif 000008