(第1の実施形態)
図1は、本発明の第1の実施形態によるフレックスレイ(FlexRay)通信システムの構成例を示すブロック図である。フレックスレイ通信システムは、バス101、第1のフレックスレイ通信装置N1、第2のフレックスレイ通信装置N2、第3のフレックスレイ通信装置N3及び第4のフレックスレイ通信装置N4を有する。フレックスレイ通信システムでは、複数のフレックスレイ通信装置N1〜N4がバス101を介して接続されている。各フレックスレイ通信装置N1〜N4は、ノードであり、バスドライバ(BD)102及びコミュニケーションコントローラ(CC)103を有する。バスドライバ102は、トランシーバであり、バス101から受信したアナログ信号をデジタル信号に変換してコミュニケーションコントローラ103に出力し、コミュニケーションコントローラ103から入力したデジタル信号をアナログ信号に変換してバス101に送信する。コミュニケーションコントローラ103は、フレックスレイの通信プロトコルに従った処理を行う。
図2は、フレックスレイ通信のコミュニケーションサイクル200の構成例を示すタイムチャートである。コミュニケーションサイクル200は、スタテックセグメント201、ダイナミックセグメント202、シンボルウインド203及びネットワークアイドルタイム204を有する。フレックスレイでは、通信状態がコミュニケーションサイクル200の周期で繰返されている。
フレームのIDは、フレームの識別子である。ネットワーク内では全てのフレームは固有のIDが割り振られている。各フレックスレイ通信装置N1〜N4が送信するフレームのIDも固有値である。
スロットカウンタは、コミュニケーションサイクル200内の通信の調停(スケジュール)に利用するカウンタであり、各フレックスレイ通信装置N1〜N4内に設けられる。各フレックスレイ通信装置N1〜N4は、コミュニケーションサイクル200の先頭で、スロットカウンタの同期を行い、自己のクロック信号でスロットカウンタを加算していく。
スタテックセグメント201は、静的時分割多重アクセスによってフレーム通信を行っている期間である。スタテックセグメント201は、複数のスタテックスロット205を有する。スタテックスロット205は、スタテックフレームを送信する期間であり、固定長である。スタテックフレームは、スタテックセグメント201内の通信フレームであり、フレーム長が固定長であり、コミュニケーションサイクル200の同期をとる同期フレームを含む。スロットカウンタの値に対応したIDを持つフレームが送信対象になる。フレックスレイ通信装置N1〜N4は、それぞれ、自己の送信フレームのIDが予め決められている。
ダイナミックセグメント202は、ミニスロット206を単位とした動的割付によるフレーム通信を行っている期間である。ダイナミックフレームは、ダイナミックセグメント202内の通信フレームであり、可変長である。フレックスレイ通信装置N1〜N4は、それぞれ、自己の送信フレームのIDが予め決められている。フレーム群211に示すように、スロットカウンタの値に対応したIDを持つフレームが送信対象になる。また、フレーム群212に示すように、スロットカウンタが「m+1」及び「m+2」の時のIDに該当するフレームのデータがない場合には、ミニスロット206のタイミングでスロットカウンタが加算され、フレームの通信許可が次のIDのフレームへ移動する。
フレーム群211のように、フレックスレイの通信プロトコルでは、ダイナミックセグメント202内での送信フレームの順番は、送信するフレーム毎に個別に持っているフレームIDの順番で行われ、送信中のフレームが送信終了した時に、IDの加算が行われ、該当したIDを持つフレームに送信権利が渡される。各々のフレックスレイ通信装置N1〜N4は、送信順番を管理し、送信の可否を決定している。
フレーム群212のように、自己のフレックスレイ通信装置N1〜N4の送信順番になった時に送信する情報が無かった場合、フレームの送信をしないことも可能である。この場合、プロトコルに沿った期間を待ち、次のフレックスレイ通信装置N1〜N4に送信許可が移ることになる。
また、各フレックスレイ通信装置N1〜N4の送信フレーム長は、各々個別に設定が可能である。これにより、ダイナミックセグメント202でのフレームの送信効率の向上をねらっている。
図3は、図2のダイナミックセグメント202内のダイナミックフレームの構成例を示すタイムチャートである。ダイナミックフレーム321は、送信スタートシーケンス(以下、TSSという)、フレームスタートシーケンス(以下、FSSという)、バイトスタートシーケンス(以下、BSSという)、8ビットのデータ、フレームエンドシーケンス(以下、FESという)及びダイナミックトレーリングシーケンス(以下、DTSという)を有する。時刻t311は、ダイナミックフレーム321の送信開始時刻である。時刻t312は、ダイナミックフレーム321の送信終了時刻である。
TSSは、フレーム送信開始の信号であり、3〜15ビットのローレベルパターンである。FSSは、フレーム先頭の信号であり、1ビットのハイレベルパターンである。BSSは、データ先頭の信号であり、ハイレベル及びローレベルの2ビットパターンである。データは、BSSの後に配置され、8ビット長である。FESは、フレームデータ終了の信号であり、ローレベル及びハイレベルの2ビットパターンである。DTSは、フレーム送信終了の信号であり、1ビット以上のローレベルパターンであり、かつ次のミニスロットアクションポイントオフセット期間302の終了までのローレベルパターンである。フレーム終了信号303は、DTSの後の11ビット以上のハイレベルパターンであり、フレームの終了を示す。
ミニスロット206は、2〜63マクロテックである。マクロテックは、フレックスレイのノード間同期を取る為の最小時間単位である。ミニスロットアクションポイントオフセット301及び302は、1〜31マクロテックである。
ミニスロットアクションポイントオフセット期間301は、ミニスロット206の開始からDTSの終了までの期間である。ミニスロットアクションポイントオフセット期間301は、ミニスロット206の開始からTSSの開始までの期間である。フレックスレイのネットワーク上でのダイナミックフレームに関係するタイミングは、ミニスロット206の単位で設定している。各フレックスレイ通信装置N1〜N4は、独自の発振器のクロック信号で動作していることを考慮し、ミニスロット206の変化点近傍での通信イベントは行わないように、ミニスロットアクションポイントオフセット期間301及び302を設け、各フレックスレイ通信装置N1〜N4が同じミニスロット206内にいるところで通信イベントを開始する。通信イベントは、フレーム送信開始のTSSと、フレーム送信終了のDTSを含む。
すなわち、TSSの開始がミニスロット206の変化点近傍に位置しないように、ミニスロットアクションポイントオフセット期間301経過後にTSSを開始させる。また、DTSの終了がミニスロット206の変化点近傍に位置しないように、ミニスロットアクションポイントオフセット期間302経過後にDTSを終了させる。
フレーム送信終了時刻t312は、送信するデータ量により変わるため、DTSを設け、次のミニスロット206のミニスロットアクションポイントオフセット期間302までをローレベルとすることにより、各フレックスレイ通信装置N1〜N4のスロットカウンタがほぼ同じタイミングで変化するようにしている。
以上のように、ダイナミックフレーム321の送信期間中に11ビット以上の連続したハイレベルパターンは存在しない。11ビット以上の連続したハイレベルのフレーム終了信号303を検出する時は通信が終了していることを意味する。また、各フレックスレイ通信装置N1〜N4は、自己のクロック信号を基にミニスロット206のタイミングを生成しているので、ミニスロット206の変化タイミングにずれがある。
図4は、ノイズがない場合の第1のフレックスレイ通信装置N1及び第2のフレックスレイ通信装置N2のダイナミックセグメント202の構成例を示すタイミングチャートである。第1のフレックスレイ通信装置N1は、スロットカウンタが「m」かつフレームIDが「m」の時に送信ノードになる。第2のフレックスレイ通信装置N2は、スロットカウンタが「m+1」かつフレームIDが「m+1」の時に送信ノードになる。フレックスレイ通信装置N1及びN2は、独自のミニスロット206に同期して動作する。
第1のフレックスレイ通信装置N1は、時刻t311〜t312の間にIDが「m」のフレームを送信する。そのフレームの最後のDTSの後、フレーム終了信号303が送信される。フレーム終了信号303は、時刻t312〜t313の間の連続した11ビットのハイレベルパターンである。第1のフレックスレイ通信装置N1は、バス101への出力をハイインピーダンス状態にすることにより、バス101上に11ビットのハイレベルパターンであるフレーム終了信号303が生成される。
フレックスレイ通信装置N1〜N4は、少なくとも1個がバス101にローレベル信号を送信するとバス101がローレベルになり、すべてがバス101への出力をハイインピーダンス状態にするとバス101がハイレベルになる。
フレックスレイ通信装置N1及びN2は、11ビットのフレーム終了信号303を検出すると、アイドル状態401に遷移する。そして、フレックスレイ通信装置N1及びN2は、それぞれ、アイドル状態遷移時刻t313における自己のミニスロットを基にスロットカウンタのカウントアップ待ち時間を計測する。フレックスレイ通信装置N1及びN2は、アイドル状態401であり、かつスロットカウンタのカウントアップ待ち状態の時、ミニスロット時間が経過し、次のミニスロット206の変化タイミングでスロットカウンタを「m」から「m+1」にカウントアップする。フレックスレイ通信装置N1及びN2は、自己の発振器のクロック信号を基にミニスロット206を生成する。フレックスレイ通信装置N1及びN2のクロック信号は、相互に非同期である。したがって、フレックスレイ通信装置N1及びN2のミニスロット206は、相互に変化タイミングが異なる。そのため、第1のフレックスレイ通信装置N1のスロットカウンタが「m」から「m+1」に変化するタイミングと第2のフレックスレイ通信装置N2のスロットカウンタが「m」から「m+1」に変化するタイミングとはずれが生じる。
第2のフレックスレイ通信装置N2は、スロットカウンタが「m+1」になると、送信ノードとなり、IDが「m+1」のフレームをバス101に送信する。
以上のように、次のフレックスレイ通信装置N1〜N4が送信を開始するには、現在送信中のフレックスレイ通信装置N1〜N4のフレームの終了を認識することで準備される。これを、各フレックスレイ通信装置N1〜N4が各々で判断している。受信側のフレックスレイ通信装置N1〜N4は、通信完了直後にアイドル状態401になり、スロットカウンタのカウントアップとローレベル信号が受信されるまでアイドル状態401を維持する。
図5は、ノイズ501がある場合のフレックスレイ通信装置N1〜N4のダイナミックセグメント202の構成例を示すタイミングチャートである。第1のフレックスレイ通信装置N1は、スロットカウンタが「m」かつフレームIDが「m」の時に送信ノードになる。フレックスレイ通信装置N1〜N4は、スロットカウンタを示し、独自のミニスロット206に同期して動作する。ここで、バス101上で時刻t312〜t313の間にノイズ501が発生した場合を説明する。
第1のフレックスレイ通信装置N1は、「m」のスロットカウンタに従い、時刻t311〜t312の間にIDが「m」のフレームをバス101に送信する。DTSの終了時刻t312の後かつ11ビットのフレーム終了信号時刻t313の前にノイズ501がバス101上に発生したとする。ノイズ501は、フレックスレイ通信装置N1〜N4のミニスロット206の変化タイミング付近に発生した場合を説明する。
フレックスレイ通信装置N1〜N4は、ノイズ501の後、11ビットのハイレベルパターンであるフレーム終了信号を検出すると、ノイズ501の立ち上がり時刻t511からミニスロット206の1個分が経過し、その後の自己のミニスロット206の変化タイミングでスロットカウンタを「m」から「m+1」にカウントアップする。すると、フレックスレイ通信装置N3のスロットカウンタが、フレックスレイ通信装置N1,N2,N4に対して、約1ミニスロット分だけ遅れてカウントアップされてしまう。それは、ノイズ501の立ち上がり時刻t511が、フレックスレイ通信装置N1,N2,N4のスロットカウンタの変化タイミングの前であるが、フレックスレイ通信装置N3のスロットカウンタの変化タイミングの後であるためである。
図4のように、ノイズがない場合には、DTSの終了時刻t312から11ビットのハイレベルパターンであるフレーム終了信号を検出し、アイドル状態401になる。この時には、図3に示すように、ミニスロットアクションポイントオフセット期間302が設けられているため、フレックスレイ通信装置N1〜N4のスロットカウンタが「m」から「m+1」に変化するタイミングがほぼ揃う。
しかし、図5のように、ノイズ501がスロットカウンタの変化タイミング付近で発生すると、フレックスレイ通信装置N3のスロットカウンタは、フレックスレイ通信装置N1,N2,N4のスロットカウンタに対して、約1ミニスロット分遅れて、「m」から「m+1」にカウントアップされてしまう。以後、次のコミュニケーションサイクル200の先頭まで、この状態が続くことになる。
以上のように、フレーム送信後のアイドル状態待ち中において、ミニスロットの変化タイミング付近にノイズ501が入ると、同期ずれの原因になる。フレックスレイ通信装置N1〜N4は、各自個別のクロック信号にてスロットカウンタが動作しているため、ノイズ501に対して違う動作を行う。ノイズ501でのローレベルからハイレベルへの変化時から11ビットのハイレベルパターンの期間を待つように再定義するため、ノイズ501がミニスロットの変化タイミング付近にあると、約1ミニスロット分のばらつきが発生する。フレックスレイ通信装置N3では、ノイズ501をミニスロットカウントの変化タイミング後に受信してしまい、スロットカウンタが他のフレックスレイ通信装置N1,N2,N4より遅れる。以後、次のコミュニケーションサイクル200の先頭までこの状態が続く。これにより、フレックスレイ通信装置N1〜N4間の同期ずれの問題が発生する。
次に、フレックスレイ通信装置N1〜N4のミニスロットが相互にずれる理由を説明する。第1の理由は、各フレックスレイ通信装置N1〜N4が独自のクロック信号で動作タイミングを作成しているため、クロック信号の偏差が通信に影響するからである。クロック信号の偏差を補うために、マクロテック単位にてタイミングの量子化をし、周波数偏差の吸収をしているが、量子化誤差は発生する。
次に、第2の理由を説明する。フレックスレイネットワークでは、複数のフレックスレイ通信装置N1〜N4から同期フレームが送信され、到着時間を各フレックスレイ通信装置N1〜N4で測定し、1サイクルタイミングを算出し修正している。このとき、サイクル周期を決定するタイミングは、次のサイクル周期の同期フレーム受信時間との差で求めることが可能だが、サイクル先頭の絶対的な時間は、フレームが到達する時間からしか求められない。フレーム到達時間には、各フレックスレイ通信装置N1〜N4の位置による遅延時間があり、各フレックスレイ通信装置N1〜N4のタイミング位相のずれとして影響することが理由である。
上記の2つの理由のため、各フレックスレイ通信装置N1〜N4でカウントしているスロットカウンタには、潜在的に時間的なずれが発生している。フレームの送信や受信では、予め計算した時間的ずれを吸収させるため、ミニスロットアクションポイントオフセット期間を設け、ミニスロット206の変化タイミング点でのフレームの受信や送信のアクションをしないようにする。
以上のように、DTSの後の11ビット長の間にノイズ501によるローレベル信号が入ってしまうと、アイドル状態に変化するタイミングに遅延が発生する。これが、ミニスロット206の変化タイミング付近まで遅延すると、独立したクロック信号で動作している各フレックスレイ通信装置N1〜N4でのスロットカウンタのカウント条件に違いが生じてしまう。また、ノイズであるため、各フレックスレイ通信装置N1〜N4が平等にノイズを認識するとは限らず、ノイズとして認識したフレックスレイ通信装置N1〜N4と認識しないフレックスレイ通信装置N1〜N4との間でカウントのずれが発生してしまう。このスロットカウンタのカウントのずれは、このコミュニケーションサイクル200内では修正ができず、最悪、複数のフレックスレイ通信装置N1〜N4から同時にフレームが送信され、フレックスレイ通信システムが破壊する。
図6は、本発明の第1の実施形態によるフレックスレイ通信システムの処理例を示すタイミングチャートである。フレックスレイ通信システムは、図1に示すように、フレックスレイ通信装置N1〜N4がバス101を介して接続される。図5と同様に、時刻t312の後にノイズ501が発生する場合を説明する。
時刻t312において、フレックスレイ通信装置N1〜N4は、フレックスレイ通信プロトコルのダイナミックセグメント202内のDTSをバス101から受信して検出する。次に、フレックスレイ通信装置N1〜N4は、DTSの検出後にバス101からノイズ501のローレベル信号を受信すると、ミニスロットアクションポイントオフセット期間(605)、バス101にローレベル信号を送信する。
具体的には、フレックスレイ通信装置N1〜N4は、DTSの検出後の11ビット長の期間中にバス101からノイズ501のローレベル信号を受信すると、自己のミニスロット206の真ん中に到達するまでバス101にローレベル信号を送信し、その後にバス101への出力をハイインピーダンス状態にする。フレックスレイ通信装置N1は信号601を出力し、フレックスレイ通信装置N2は信号602を出力し、フレックスレイ通信装置N3は信号603を出力し、フレックスレイ通信装置N4は信号604を出力する。フレックスレイ通信装置N1〜N4のミニスロット206のタイミングが相互に異なるため、信号601〜604がローレベルからハイレベルに変化するタイミングも異なる。
フレックスレイ通信装置N1〜N4は、少なくとも1個がバス101にローレベル信号を送信するとバス101がローレベルになり、そのすべてがバス101への出力をハイインピーダンス状態にするとバス101がハイレベルになる。バス101上の信号は、信号601〜604のうちの最も遅い信号602及び604の立ち上がり時と同時に立ち上がる。
上記の処理により、バス101上の信号は、アクションポイントオフセット期間605、ローレベルとなり、その後にハイレベルに立ち上がる。この立ち上がり時刻は、すべてのフレックスレイ通信装置N1〜N4のミニスロット206の変化タイミングから離れた位置になる。これにより、フレックスレイ通信装置N1〜N4間のスロットカウンタ値の不一致を回避でき、同期ずれを防止することができる。
以上のように、ノイズ501による悪影響を防止するには、ノイズ501に対してすべてのフレックスレイ通信装置N1〜N4が同じ振舞いを起こすようにすればよい。各フレックスレイ通信装置N1〜N4は、ノイズ501を監視し、もしノイズ501によるローレベル信号を認識した場合、バス101へローレベル信号を送信し、他のフレックスレイ通信装置N1〜N4にもローレベル信号を通知する。同じ振舞いを行うタイミングで、ローレベル信号からハイレベル信号に戻すようにすれば、ローレベルのノイズ501によるスロットカウンタのずれが回避できる。同じ振舞いを行うタイミングとは、フレックスレイプロトコルで規定しているものを使えばよく、例えばミニスロットアクションポイントオフセット期間等である。
正規フレーム送信中に上記のような処理をすると、フレームが破壊されてしまうため、ノイズ501と正規フレームを区別する必要がある。また、各フレックスレイ通信装置N1〜N4がローレベル信号送信の解除を互いに邪魔しないようにするために、各フレックスレイ通信装置N1〜N4でローレベル信号送信の解除と、受信側がハイレベル信号を受信するまで、次のノイズの検出を停止する必要がある。ノイズと正規フレームを区別するために、フレーム送信期間中はノイズ検出を停止させる。フレーム送信期間とは、フレームを受信した所からフレームを送信完了するまでの時間であり、この期間のノイズ検出を停止すればよい。
フレックスレイでは、フレームの送信順番や送信フレーム長は、予め設定されているため、送信開始から送信終了までの時間は、フレーム長から算出可能である。しかし、DTSの期間は、送信側のフレックスレイ通信装置N1〜N4のクロック信号に依存するため、算出できない。FESの受信後のローレベル期間をDTSとみなし、ハイレベルに変わるまでをフレーム送信期間とする。ノイズ検出後のローレベル信号送信の解除後に再度ノイズを検出した場合には、速やかにローレベル信号を送信し、次の同じ振る舞いをするタイミングまで保持する動作をし、ノイズが検出する限りは繰り返すようにする。
図7は、本発明の第1の実施形態によるフレックスレイ通信装置N1〜N4の構成例を示す図である。フレックスレイ通信装置N1〜N4は、それぞれ、バスドライバ102、コミュニケーションコントローラ103、及び処理部701を有する。バスドライバ102及びコミュニケーションコントローラ103は、図1の説明と同様である。バスドライバ102は、バス101(図1)から受信したアナログ信号をデジタル信号Rxに変換し、コミュニケーションコントローラ103に出力し、処理部701から入力した送信デジタル信号Txをアナログ信号に変換してバス101に送信する。処理部701は、ローレベル信号送信部702、フレーム検出部703及び論理積(AND)回路704を有する。
まず、フレーム検出部703の構成を説明する。フィルタ713は、バスドライバ102から入力した受信信号Rxに対してフィルタリング処理を行う。微分回路711は、コミュニケーションコントローラ103から入力したスロットカウンタ値CNTを微分してリセット信号をフレーム送信期間カウンタ714に出力する。すなわち、リセット信号は、スロットカウンタ値が変化したときにハイレベルが出力される。フレーム送信期間カウンタ714は、フィルタ714が出力する信号を入力し、コミュニケーションコントローラ103から入力するクロック信号CLKを基に、フレーム送信期間をカウントする。コミュニケーションコントローラ103は、発振器を有し、クロック信号CLKを生成する。フレーム長データベース712は図3のFSSからFESまでのフレーム長を記憶する。比較部715は、フレーム送信期間カウンタ714が出力するフレーム送信期間が、フレーム長データベース712が出力するフレーム長以下であればハイレベルを出力し、それ以外であればローレベルを出力する。DTS検出部716は、比較部715の出力信号及び受信信号Rxを基にDTSを検出し、検出信号を出力する。論理和(OR)回路717は、比較部715及びDTS検出部716の出力信号の論理和信号をフレーム終了検出信号として出力する。
次に、ローレベル信号送信部702について説明する。OR回路721は、OR回路717の出力信号及び受信信号Rxの論理和信号を出力する。タイマ723は、コミュニケーションコントローラ103からミニスロット信号MINを入力し、ミニスロット206(図6)の真ん中のタイミングでプリセット信号をラッチ722に出力する。ラッチ722は、OR回路721が出力するノイズ501(図6)のローレベル信号をラッチし、プリセット信号が入力されると、ラッチを解除する。AND回路704は、ラッチ722の出力信号及びコミュニケーションコントローラ103の送信信号Tx1の論理積信号を送信信号Txとしてバスドライバ102に出力する。ラッチ722は、図6のミニスロットアクションポイントオフセット期間(605)にローレベル信号を出力し、それ以外の期間ではハイレベル信号を出力する。AND回路704は、ラッチ722がローレベル信号を出力するときにはローレベル信号を出力し、ラッチ722がハイレベル信号を出力するときには送信信号Tx1をそのまま送信信号Txとして出力する。これにより、フレックスレイ通信装置N1〜N4は、それぞれ、図6の信号601〜604を出力することができる。
以上のように、フレーム検出部703は、受信信号Rxを基にフレームの到達と受信終了を識別している。フレーム受信と非常にパルス幅の短いローパルスノイズを区別するため、フィルタ713にて区別する。これにより、ノイズによる誤動作を回避する。
ローレベル信号送信部702では、ローレベルの検出を行う。主に、1ミニスロット以下のローレベルの検出に使い、他のフレックスレイ通信装置N1〜N4と状態が同じになるタイミングにて毎回プリセットがかかる。タイマ723は、他のフレックスレイ通信装置N1〜N4でも同じ状態であるタイミングにてプリセットをかけるパルスを出力する。この時、受信信号Rxがローレベルを維持しているのであれば、プリセットのパルスにマスクをかけ、送信信号Txをローレベルに維持する。フレーム送信終了後の11ビット長内でノイズ501がのると、ラッチ722がローレベル信号を出力し、送信信号Txがローレベルになる。これにより、フレックスレイネットワークに接続している他のフレックスレイ通信装置N1〜N4にローレベル信号を送信することができる。
図8は図7のフレックスレイ通信装置の具体的な構成例を示す図であり、図9〜図11は図8のフレックスレイ通信装置の処理例を示すタイミングチャートである。図9はフレーム内のTSS、FSS、BSS及びデータにおける処理例を示し、図10はフレーム内のFES、DTSにおける処理例を示し、図11はノイズ501の発生後の処理例を示す。
フレーム長データベース712は、ROMで構成され、フレーム長を記憶する。フィルタ713は、5ビットシフトレジスタ801、多数決回路802、微分回路803、3ビットカウンタ804及び5の比較器805を有し、クロック信号CLKを基にタイミング信号A4を出力する。比較部805は、3ビットカウンタ804の出力信号A3が5になると、ハイレベルパルスの信号A4を出力する。信号A1は多数決回路802の出力信号、信号A2は微分回路803の出力信号、信号A3は3ビットカウンタ804の出力信号、信号A4は比較器805の出力信号である。
フレーム送信期間カウンタ714は、2ビットシフトレジスタ811、インバータ812、OR回路813、否定論理積(NAND)回路814、D型フリップフロップ815、インバータ816、OR回路817、インバータ818、NAND回路819、D型フリップフロップ820、AND回路821、9ビットカウンタ822及び比較器823を有する。比較器823は、カウンタ822の出力信号B3が511であればローレベルを出力し、それ以外であればハイレベルを出力する。信号B1はNAND回路814が出力するTSS検出信号、信号B2はNAND回路819が出力するFSS検出信号、信号B3はカウンタ822の出力信号、信号B4は比較器715の出力信号、信号B5は2ビットシフトレジスタ811の出力信号である。
DTS検出部716は、インバータ831、AND回路832、インバータ833、D型フリップフロップ834、AND回路835、OR回路836、D型フリップフロップ837、AND回路838及びインバータ839を有する。信号C1はインバータ839の出力信号、信号C2はOR回路717が出力するフレーム終了検出信号である。信号Q1はAND回路835の出力信号、信号Q2はOR回路836の出力信号、信号Q3はAND回路838の出力信号である。
タイマ723は、微分回路841、10ビットカウンタ842及び比較器843を有する。比較器843は、カウンタ842の出力信号D2がミニスロット206の1/2周期の時間Nになると、ハイレベルの信号D3を出力する。信号D1は微分回路841の出力信号、信号D2はカウンタ842の出力信号、信号D3は比較器843の出力信号である。
ラッチ722は、インバータ851及びD型フリップフロップ852を有する。信号D4は、D型フリップフロップ852の出力信号である。
図10において、DTS検出部716は、時刻t312のDTSを検出し、時刻t1001において、DTS検出信号C1をハイレベルからローレベルに変化させる。時刻t1001において、DTS検出信号C1がローレベルになると、フレーム終了検出信号C2もハイレベルからローレベルに変化する。フレックスレイ通信装置N1〜N4は、時刻t1001からノイズ501のローレベル検出を開始する。
図11において、期間T1は、ノイズ501の発生付近の期間である。期間T2は、ミニスロットアクションポイントオフセット期間1101の開始付近の期間である。期間T3は、ミニスロットアクションポイントオフセット期間1101の終了付近の期間である。期間T4は、スロットカウンタ値CNTの変化タイミング付近の期間である。
期間T1の時刻t1111において、ローレベル信号送信部702は、ノイズ501のローレベルを検出すると、信号D4をハイレベルからローレベルに変化させる。すると、送信信号Txは、ハイレベルからローレベルに変化する。
期間T2の時刻t1112において、ミニスロット206の変化タイミングでミニスロット信号MINがハイレベルパルスになり、微分回路841の出力信号D1がハイレベルパルスになる。
期間T3の時刻t1113において、ミニスロット206の真ん中になると、比較器843の出力信号D3がハイレベルパルスになる。すると、信号D4及びTxがローレベルからハイレベルに変化する。
期間T4の時刻t1114において、ミニスロット206の変化タイミングになり、ミニスロット信号MIN及び信号D1がハイレベルパルスになり、スロットカウンタ値CNTが51から52に変化する。
以上のように、フレーム検出部703は、フレームを送信するプロトコルに従い、TSSとFSSの検出から、予定していたフレーム長になるまでカウンタ714でカウントしていく。フレーム終了検出信号C2は、この期間中はハイレベルになる。フレーム長は、BSSのビット長も含めた数値で予めROM712に格納されている。また、フレーム送信が無いスロット期間中にノイズが混入した場合、その時のミニスロットタイミングを優先的に利用できるスロットカウントのフレーム長に沿ったマスク処理が開始される。この時、コミュニケーションコントローラ103より、フレックスレイプロトコルに従ったスロットカウントの更新があるため、更新をトリガとしてリセットを行うことでノイズ検出をマスクしている間に、リセットがかかる。結果的に、フレームの送信がない時のノイズによる誤動作を回避することができる。
ローレベル信号送信部702は、フレーム送信完了直後から次のフレーム送信開始までのノイズに対して動作する必要があるため、この期間以外の条件では停止しておくように、マスクをかけておく。フレーム送信期間は予め計算できるが、送信終了のDTSの期間は、各フレックスレイ通信装置N1〜N4の動作タイミングに依存するため、受信側では計算できない。よって、DTSを検出し、これをトリガとしてローレベル信号送信部702の動作を開始させる。
DTS検出部716は、DTSの検出を下記の条件で行う。フレーム送信期間終了の認識は、フレーム長から算出する。DTSの認識は、フレーム長期間経過後のローレベル信号を検出し、そのローレベル信号検出後にハイレベル信号を検出すると、DTSであると認識する。
ローレベル信号送信部702は、受信信号Rxのハイレベルからローレベルの信号の変化を受け取った時に、送信信号Txをローレベルで固定する。送信信号Txのローレベル固定の解除は、コミュニケーションコントローラ103からミニスロット信号MINを入力し、タイマ723によってミニスロット206の中間点で、ラッチ722のプリリセットを行う。これにより、すべてのフレックスレイ通信装置N1〜N4で同じスロットカウントで状態遷移させることができる。
図12は、本実施形態によるフレックスレイ通信装置N1〜N4の他の構成例を示す図である。図12のフレックスレイ通信装置は、図7のフレックスレイ通信装置に対して、フレーム長データベース712、フレーム送信期間カウンタ714及び比較器715の代わりに、TSS検出部1201、FSS検出部1202、BSS検出部1203、FES検出部1204及びAND回路1205を設けたものである。以下、図12が図7と異なる点を説明する。
TSS検出部1201は、図3のフレーム内のTSSを検出する。FSS検出部1202は、図3のフレーム内のFSSを検出する。BSS検出部1203は、図3のフレーム内のBSSを検出する。FES検出部1204は、図3のフレーム内のFESを検出する。AND回路1205は、TSS、FSS、BSS及びFESのすべてが検出されると、ハイレベルをDTS検出部716及びOR回路717に出力する。DTS検出部716は、TSS、FSS、BSS及びFESのすべてが検出された後に、図3のDTSを検出する。OR回路717は、DTS検出部716及びAND回路1205の出力信号の論理和信号を出力する。上記の方法によっても、図7のフレックスレイ通信装置と同様に、DTSを検出することができる。それ以外については、図12のフレックスレイ通信装置は、図7のフレックスレイ通信装置と同様である。
以上のように、フレーム長が多種あり、通信フレーム毎にフレーム長を設定することが、回路的に現実的でない場合、フレックスレイのメディアアクセス層(MAC)のルールに従い、TSS、FSS、BSS、FESの送信順番を識別し、認識していくことにより、フレームのDTS期間を認識することができる。
本実施形態によれば、独立したクロック信号で動作しているフレックスレイ通信装置N1〜N4のノイズに対する振舞いを同じにすることができ、誤動作を防止することができる。また、処理部701をバスドライバ102とコミュニケーションコントローラ103の間に入れることで、バスドライバ102とコミュニケーションコントローラ103の機能を変更することなく、誤動作を防止することができる。なお、図1に示すように、処理部701をバスドライバ102又はコミュニケーションコントローラ103内に設けてもよい。
(第2の実施形態)
図13は、フレックスレイ通信システムの処理例を示す図である。以下、本実施形態が第1の実施形態と異なる点を説明する。フレックスレイ通信装置N1及びN2は、DTSの検出後、時刻t312からアイドル待ち状態1311になり、連続11ビットのハイレベルパターンを検出すると、アイドル状態1312になり、スロットカウンタのカウントアップ待ちになる。ここで、フレックスレイ通信装置N2がアイドル状態1312においてノイズ1303を認識しても、アイドル状態を維持する。すなわち、アイドル状態1312中のノイズは悪影響を与えない。
これに対し、フレックスレイ通信装置N3及びN4は、DTSの検出後、時刻t312からアイドル待ち状態1311になり、アイドル待ち状態1311中にノイズ1302を認識する場合を説明する。この場合、フレックスレイ通信装置N3及びN4は、ノイズ1302が消滅した後、連続する11ビットのハイレベルパターンを検出すると、アイドル状態1312になる。フレックスレイ通信装置N3及びN4は、フレックスレイ通信装置N1及びN2に対して、アイドル状態1312になるタイミングが遅くなる。これにより、フレックスレイ通信装置N3は、フレックスレイ通信装置N1,N2,N4に対してスロットカウンタが「m」から「m+1」に変化するタイミングが約1ミニスロット分遅れてしまう。
以上のように、DTSの後の11ビット長の期間内に発生するノイズ1302が悪影響を与える。これに対して、DTSの後の11ビット長の期間後に発生するノイズ1303は悪影響を与えない。したがって、DTSの後の11ビット長の期間内だけノイズのローレベルを検出すればよい。
図14は本発明の第2の実施形態によるフレックスレイ通信装置N1〜N4の構成例を示す図であり、図15は図14のフレックスレイ通信装置N1〜N4の処理例を示すタイミングチャートである。図14のフレックスレイ通信装置は、図8のフレックスレイ通信装置に対して、DTS検出部716が異なる。以下、図14が図8と異なる点を説明する。
DTS検出部716は、インバータ1401、AND回路1402、4ビットカウンタ1403、比較器1404、比較器1405及びD型フリップフロップ1406を有する。比較器1404は、4ビットカウンタ1403の出力信号が15になるとローレベルを出力する。比較器1405は、4ビットカウンタ1403の出力信号が2以下かつ14以下の時にハイレベルを出力する。4ビット信号Q0〜Q3は、4ビットカウンタ1403の出力信号である。信号C1は、D型フリップフロップ1406の出力信号である。
これにより、信号C1及びC2は、ローレベル検出期間1501だけローレベルになる。ローレベル検出期間1501は、DTSを検出してから14ビット長の期間であり、11ビット長以上であればよい。
本実施形態は、第1の実施形態に対して、DTS検出部716の違いのみであり、ローレベル信号送信部702の動作に関しては同じである。本実施形態では、DTSの出力完了のローレベルからハイレベルへの変化から11ビットのハイレベル連続期間のみローレベルのノイズ検出を行うようにしている。これは、アイドル状態の遅延が発生する元になる部分でのノイズを監視していることになる。
フレックスレイの仕様では、アイドル状態に遷移した後のノイズに対しては、スロットカウンタのカウントアップ条件に影響しないことになっているため、アイドル状態に遷移することが重要である。よって、アイドル状態に遷移する条件である、連続する11ビットのハイレベルを確認している期間にノイズが発生したときのみアイドル状態の遷移時間の遅延として影響してくる。これを回避するには、この11ビット長の期間のみにノイズ検出を行い、第1の実施形態と同じ処理を行えばよい。
以上のように、第1及び第2の実施形態のフレックスレイ通信装置N1〜N4では、DTS検出部716は、フレックスレイ通信プロトコルのダイナミックセグメント202内のDTSをバス101から受信して検出する。送信部は、ローレベル信号送信部702、AND回路704及びバスドライバ102を含み、DTSの検出後の11ビット長の期間中にバス101からローレベル信号を受信すると、ミニスロットアクションポイントオフセット期間(605)、バス101にローレベル信号を送信する。
図6に示すように、送信部は、DTSの検出後の11ビット長の期間中にバス101からローレベル信号を受信すると、ミニスロット206の真ん中に到達するまでバス101にローレベル信号を送信し、その後にバス101への出力をハイインピーダンス状態にする。
送信部は、バス101にローレベル信号を送信するとバス101がローレベルになり、バス101への出力をハイインピーダンス状態にするとバス101がハイレベルになる。
コミュニケーションコントローラ103は、DTSを検出後、連続して11ビット以上のハイレベル信号をバス101から受信すると、ミニスロット206に同期してスロットカウンタをカウントアップする。
第1及び第2の実施形態によれば、ノイズによるローレベル信号を受信した場合には、ミニスロットアクションポイントオフセット期間(605)、ローレベル信号を出力することにより、バス101に接続される複数のフレックスレイ通信装置N1〜N4間の同期を維持することができ、ノイズによる悪影響を防止することができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。