(57)【要約】【課題】通信システムの効率を向上させることが可能な半導体装置を提供する。【解決手段】半導体装置６は、データの受信または送信が許容されるオープン期間と、データの送信および受信が許容されないクローズ期間を定める時計ユニット２５と、時計ユニット２５に接続され、データの送信または受信を行うＴＳＮコントローラ２０とを備え、ＴＳＮコントローラ２０は、オープン期間とは異なる期間でデータの送信または受信を行う。【選択図】図４
2020107990.tif 000002
【特許請求の範囲】
【請求項１】
データの受信または送信が許容されるオープン期間と、データの送信および受信が許容されないクローズ期間とを定める時計ユニットと、
前記時計ユニットに接続され、データの送信または受信を行うコントローラと、
を備え、
前記コントローラは、前記オープン期間とは異なる期間でデータの送信または受信を行う、半導体装置。
【請求項２】
請求項１に記載の半導体装置において、
前記コントローラは、遅延時間設定部を備え、
前記遅延時間設定部には、バスを介して前記コントローラに接続された第１装置にデータを送信したときの送信最大遅延時間、送信最小遅延時間、および前記送信最大遅延時間と前記送信最小遅延時間との間の送信遅延時間差が設定され、
前記コントローラは、前記送信最小遅延時間に相当する時間だけ、前記オープン期間の開始よりも早くデータの送信を開始し、前記送信最大遅延時間に相当する時間だけ、前記オープン期間の終了よりも早く前記データの送信を終了する、半導体装置。
【請求項３】
請求項２に記載の半導体装置において、
前記遅延時間設定部には、前記バスに接続され第２装置からデータを受信したときの受信最大遅延時間、受信最小遅延時間および前記受信最大遅延時間と前記受信最小遅延時間との間の受信遅延時間差が設定され、
前記コントローラは、前記受信最小遅延時間に相当する時間だけ、前記オープン期間の開始よりも遅くデータの受信を開始し、前記受信最大遅延時間に相当する時間だけ、前記オープン期間の終了よりも遅く前記データの受信を終了する、半導体装置。
【請求項４】
請求項３に記載の半導体装置において、
前記コントローラは、送信すべきデータが格納される第１バッファと、受信したデータが格納される第２バッファと、
を備え、
前記送信最小遅延時間は、前記第１バッファから前記第１装置にデータが送信されたときの最小遅延時間であり、
前記送信最大遅延時間は、前記第１バッファから前記第１装置にデータが送信されたときの最大遅延時間であり、
前記受信最小遅延時間は、前記第２装置から前記第２バッファにデータが送信されたときの最小遅延時間であり、
前記受信最大遅延時間は、前記第２装置から前記第２バッファにデータが送信されたときの最大遅延時間である、半導体装置。
【請求項５】
請求項４に記載の半導体装置において、
前記第１バッファと前記第２バッファとは、同一のバッファであり、
前記第１装置と前記第２装置とは、同一の装置である、半導体装置。
【請求項６】
請求項１に記載の半導体装置において、
前記コントローラは、遅延時間設定部を備え、
前記遅延時間設定部には、バスを介して前記コントローラに接続された装置からデータを受信したときの受信最大遅延時間、受信最小遅延時間および前記受信最大遅延時間と前記受信最小遅延時間との間の受信遅延時間差が設定され、
前記コントローラは、前記受信最小遅延時間に相当する時間だけ、前記オープン期間の開始よりも遅くデータの受信を開始し、前記受信最大遅延時間に相当する時間だけ、前記オープン期間の終了よりも遅く前記データの受信を終了する、半導体装置。
【請求項７】
互いにバスを介して接続された第１装置および第２装置を備えた通信システムであって、
前記第１装置は、
データの受信または送信が許容されるオープン期間と、データの送信および受信が許容されないクローズ期間とを定める第１時計ユニットと、
前記第１時計ユニットに接続され、データの送信または受信を行うコントローラと、
を備え、
前記コントローラは、前記オープン期間とは異なる期間でデータの送信または受信を行う、通信システム。
【請求項８】
請求項７に記載の通信システムにおいて、
前記コントローラは、遅延時間設定部を備え、
前記遅延時間設定部には、前記コントローラが、前記第２装置にデータを送信したときの送信最大遅延時間と、送信最小遅延時間と、前記送信最大遅延時間と前記送信最小遅延時間との間の送信遅延時間差が設定され、
前記コントローラは、前記送信最小遅延時間に相当する時間だけ、前記オープン期間の開始よりも早くデータの送信を開始し、前記送信最大遅延時間に相当する時間だけ、前記オープン期間の終了よりも早く前記データの送信を終了する、通信システム。
【請求項９】
請求項８に記載の通信システムにおいて、
前記遅延時間設定部には、前記第２装置からデータを受信したときの受信最大遅延時間、受信最小遅延時間および前記受信最大遅延時間と前記受信最小遅延時間との間の受信遅延時間差が設定され、
前記コントローラは、前記受信最小遅延時間に相当する時間だけ、前記オープン期間の開始よりも遅くデータの受信を開始し、前記受信最大遅延時間に相当する時間だけ、前記オープン期間の終了よりも遅く前記データの受信を終了する、通信システム。
【請求項１０】
請求項９に記載の通信システムにおいて、
前記第２装置は、前記第１時計ユニットと同期して、時刻を計測する第２時計ユニットを備え、
前記第２装置は、前記第２時計ユニットによって定められるオープン期間において、データの受信または送信が許容される、通信システム。
【請求項１１】
請求項１０に記載の通信システムにおいて、
前記第１時計ユニットによって定められるオープン期間と、前記第２時計ユニットによって定められるオープン期間とは重なっている、通信システム。
【請求項１２】
請求項７に記載の通信システムにおいて、
前記コントローラは、遅延時間設定部を備え、
前記遅延時間設定部には、前記第２装置からデータを受信したときの受信最大遅延時間、受信最小遅延時間および前記受信最大遅延時間と前記受信最小遅延時間との間の受信遅延時間差が設定され、
前記コントローラは、前記受信最小遅延時間に相当する時間だけ、前記オープン期間の開始よりも遅くデータの受信を開始し、前記受信最大遅延時間に相当する時間だけ、前記オープン期間の終了よりも遅く前記データの受信を終了する、通信システム。
【請求項１３】
互いにバスを介して接続された第１装置および第２装置を備えた通信システムの制御方法であって、
前記第１装置は、
データの受信または送信が許容されるオープン期間と、データの送信および受信が許容されないクローズ期間とを定める第１時計ユニットと、
遅延時間設定部と、
前記遅延時間設定部に設定された時間情報に基づいて、前記オープン期間とは異なる期間でデータの送信または受信を行うコントローラと、
を備え、
前記第２装置は、
データの受信または送信が許容されるオープン期間と、データの送信および受信が許容されないクローズ期間を定める第２時計ユニットと、
を備え、
前記遅延時間設定部に設定する時間情報を求めるトレーニング工程と、
前記トレーニング工程の後、前記第１装置と前記第２装置との間で、データの送信または受信が行われる運用工程と、
を備える、
通信システム制御方法。
【請求項１４】
請求項１３に記載の通信システム制御方法において、
前記トレーニング工程は、
前記第２装置から、時刻情報を含む受信トレーニングデータを、前記第１装置が受信し、受信した前記受信トレーニングデータに含まれる前記時刻情報と、前記第１時計ユニットよって計測された前記受信トレーニングデータを受信したときの時刻とに基づいて、前記第１装置がデータを受信したときの遅延時間を求める受信遅延時間取得工程と、
前記受信遅延時間取得工程により求めた遅延時間に係わる時間情報を、前記遅延時間設定部に設定する設定工程と、
を備える、
通信システム制御方法。
【請求項１５】
請求項１４に記載の通信システム制御方法において、
前記トレーニング工程は、
前記第１装置から、時刻情報を含む送信トレーニングデータを送信し、前記第２装置は、前記送信トレーニングデータに含まれる前記時刻情報と、前記第２時計ユニットによって計測された前記送信トレーニングデータを受信したときの時刻とに基づいて、前記第１装置がデータを送信したときの遅延時間を求める送信遅延時間取得工程と、
前記送信遅延時間取得工程により求めた遅延時間に係わる時間情報を、前記遅延時間設定部に設定する設定工程と、
を備える、
通信システム制御方法。
【請求項１６】
請求項１５に記載の通信システム制御方法において、
前記トレーニング工程よりも前に、前記第１時計ユニットと前記第２時計ユニットを同期させる時刻合わせ工程を備える、通信システム制御方法。
【請求項１７】
請求項１３に記載の通信システム制御方法において、
前記トレーニング工程は、
前記第１装置から、時刻情報を含む送信トレーニングデータを送信し、前記第２装置は、前記送信トレーニングデータに含まれる前記時刻情報と、前記第２時計ユニットによって計測された前記送信トレーニングデータを受信したときの時刻とに基づいて、前記第１装置がデータを送信したときの遅延時間を求める送信遅延時間取得工程と、
前記送信遅延時間取得工程により求めた遅延時間を、前記遅延時間設定部に設定する設定工程と、
を備える、
通信システム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、通信システムおよび通信システム制御方法に関し、例えば車両に搭載された通信システム、通信システムを制御する制御方法および通信システムを構成する半導体装置に関する。
【背景技術】
【０００２】
例えば自動車のような車両には、車両の状況を監視する多数のセンサや車両の状態を運転者に通知するヒューマンインタフェース等が搭載されている。このようなセンサやヒューマンインタフェースは、例えばＥｔｈｅｒｎｅｔ（登録商標）のバスに接続され、通信システムが構成されている。Ｅｔｈｅｒｎｅｔに関する技術は、例えば特許文献１および２に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４２０９１号公報
【特許文献２】特開２０１８−１４８４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
車載の通信システムには、Ｅｔｈｅｒｎｅｔの規格を拡張したＥｔｈｅｒｎｅｔ−ＴＳＮ（Ｔｉｍｅ−Ｓｅｎｓｉｔｉｖｅ  Ｎｅｔｗｏｒｋｉｎｇ）規格が適用される。Ｅｔｈｅｒｎｅｔ−ＴＳＮ規格では、時分割キューイングアルゴリズムが適用されており、Ｅｔｈｅｒｎｅｔ−ＴＳＮ規格は、２０１７年以降にＩＥＥＥ規格で整備され、先進運転支援システム（ＡＤＡＳ）と自動運転向けのコア技術として注目されている。Ｅｔｈｅｒｎｅｔ−ＴＳＮ規格は、車載の通信システムに限定されず、種々のシステムに適用することができるが、本明細書では、車載の通信システムに適用した場合を例として説明する。
【０００５】
Ｅｔｈｅｒｎｅｔ−ＴＳＮでは、ゲートを通して複数の装置間で通信を行う。ゲートはオープン（Ｏｐｅｎ）の期間とクローズ（Ｃｌｏｓｅ）の期間とによって構成されている。ゲートがオープンの期間において、装置間の通信が許容され、ゲートがクローズの期間においては、装置間の通信が許容されない。オープンの限られた期間内に通信を完了させるには、データを送受信する際に発生する遅延（レイテンシー：ｌａｔｅｎｃｙ）時間を考慮して、マージンを持たせて通信を行うことが必要である。このマージンの確保ため、通信システムの効率が低下するという課題がある。
【０００６】
特許文献１および２には、Ｅｔｈｅｒｎｅｔに関する技術が記載されているが、Ｅｔｈｅｒｎｅｔ−ＴＳＮ規格を適用した通信システムは記載されていない。また、前記したＥｔｈｅｒｎｅｔ−ＴＳＮに係わる課題も認識されていない。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態に係わる半導体装置を述べると、次のとおりである。
【０００９】
すなわち、半導体装置は、データの受信または送信が許容されるオープン期間と、データの送信および受信が許容されないクローズ期間を定める時計ユニットと、時計ユニットに接続され、データの送信または受信を行うコントローラとを備える。ここで、コントローラは、オープン期間とは異なる期間でデータの送信または受信を行う。
【発明の効果】
【００１０】
一実施の形態によれば、通信システムの効率を向上させることが可能な半導体装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係わる通信システムを搭載した自動車の構成を示す図である。
【図２】実施の形態１に係わる通信システムの動作を説明するための図である。
【図３】実施の形態１に係わる通信システムの構成を示すブロック図である。
【図４】実施の形態１に係わるコントローラの構成を示すブロック図である。
【図５】実施の形態１に係わるＴＳＮコントローラの動作を説明するための図である。
【図６】実施の形態１に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図７】実施の形態１に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図８】実施の形態１に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図９】実施の形態１に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図１０】実施の形態１に係わるＴＳＮコントローラ２０の動作を示すフローチャート図である。
【図１１】実施の形態２に係わるＴＳＮコントローラの動作を説明するための図である。
【図１２】実施の形態２に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図１３】実施の形態２に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図１４】実施の形態２に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。
【図１５】、実施の形態２に係わるＴＳＮコントローラの動作を示すフローチャート図である。
【図１６】実施の形態３に係わる通信システムの動作を説明するための図である。
【図１７】実施の形態４に係わる通信システムの動作を説明するための図である。
【図１８】実施の形態５に係わる通信システムの制御方法を示すタイミング図である。
【図１９】課題を説明するための図である。
【図２０】実施の形態に係わる通信システムの効果を説明するための図である。
【図２１】実施の形態に係わる通信システムの効果を説明するための図である。
【図２２】Ｅｔｈｅｒｎｅｔ−ＴＳＮシステムを説明するための図である。
【図２３】Ｅｔｈｅｒｎｅｔ−ＴＳＮシステムの課題を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の各実施の形態について、図面を参照しつつ説明する。なお、開示はあくまでも一例にすぎず、当業者において、発明の主旨を保っての適宜変更について容易に想到し得るものについては、当然に本発明の範囲に含有されるものである。また、図面は説明をより明確にするため、実際の態様に比べ、各部の幅、厚さ、形状等について模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。
【００１３】
また、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して、詳細な説明を適宜省略することがある。
【００１４】
＜Ｅｔｈｅｒｎｅｔ−ＴＳＮシステム＞
実施の形態の説明に先立ち、本発明の理解を容易にするために、まずＥｔｈｅｒｎｅｔ−ＴＳＮシステムを説明する。
【００１５】
図２２は、Ｅｔｈｅｒｎｅｔ−ＴＳＮシステムを説明するための図である。Ｅｔｈｅｒｎｅｔ−ＴＳＮでは、複数のキュー（Ｑｕｅｕｅ）が設定されるが、ここでは８つのキューが設定されている場合を説明する。８つのキューのそれぞれが、外部ゲートステート（Ｇａｔｅ  ｓｔａｔｅ）を持ち、外部ゲートステートは、オープン（Ｏｐｅｎ）の期間とクローズ（Ｃｌｏｓｅ）の期間とによって構成されている。外部ゲートステートがオープンの期間において、装置間の通信が許容され、外部ゲートステートがクローズの期間においては、装置間の通信が許容されない。
【００１６】
図２２において、Ｅｔｈｅｒｎｅｔ−ＴＳＮシステム１００は、イーサネット（登録商標：Ｅｔｈｅｒｎｅｔ）バス１０１と、イーサネットバス１０１に接続されたプロセッサ１０２およびセンサ１０６、１０８とによって構成されている。プロセッサ１０２は、Ｅｔｈｅｒｎｅｔ−ＴＳＮコントローラ（以下、ＴＳＮコントローラと称する）１０５、入出力回路１０３およびイーサネットバス１０１に接続されたイーサネットＰＨＹトランシーバ（以下、トランシーバと称する）１０４を備えている。また、センサ１０６および１０８も、イーサネットバス１０１に接続されたトランシーバ１０７、１０９を備えている。
【００１７】
８つのキューは、キュー０〜キュー７として設定される。特に制限されないが、各キューには優先順位が割り当てられる。外部ゲートステートがオープンの期間において、複数の通信が重なった場合、優先順位の高いキューにおける通信が実行され、優先順位の低いキューにおける通信は行われない。ここでは、より優先順位の高いキューに、より大きな数値が割り当てられている場合を説明する。そのため、キュー７の優先順位が最も高く、キュー０の優先順位が最も低い。勿論、優先順位とキューを指定する数値との関係は、これに限定されるものではない。
【００１８】
図２２には、キュー０〜キュー７に対応する外部ゲートステートが、キュー０外部ゲートステート〜キュー７外部ゲートステートとして示されている。例えばキュー７外部ゲートステートのオープン期間において、キュー７に割り当てられた通信の実行が許容される。また、キュー０外部ゲートステートのオープン期間において、キュー０に割り当てられた通信の実行が許容される。キュー７外部ゲートステートのオープン期間と、キュー０外部ゲートステートのオープン期間とが重なった期間において、それぞれのキューに割り当てられた通信の実行が要求された場合には、優先順位の高いキュー７に割り当てられた通信が、イーサネットバス１０１を介して実行されることになる。残りのキューについても同様である。
【００１９】
イーサネットバス１０１に接続されたプロセッサ１０２およびセンサ１０６、１０８等の装置は、図示しないが時計ユニットを備えており、各キュー外部ゲートステートにおけるオープン期間とクローズ期間は、各装置が備えている時計ユニットが出力する時刻情報に基づいて定まる。各装置が備える時計ユニットは、通信システム１００を動作させたときに、同一の時刻を計測するように設定される。これにより、各装置の時計ユニットが互いに同期して動作し、イーサネットバス１０１に接続された各装置は、外部ゲートステートのオープン期間とクローズ期間を共有することになる。
【００２０】
外部ゲートステートのオープン期間およびクローズ期間が、各装置で共有されることにより、キューにおいて実行されるアプリケーションの応答性毎に最適なスケジューリングを行うことが可能である。図２２では、キュー７において実行されるアプリケーションによって、プロセッサ１０５とセンサ１０８との間で、アプリケーションに起因するフレームデータＱ７＿ｆｒａｍｅの通信が行われている場合が示されている。図２２に示すように、フレームデータＱ７＿ｆｒａｍｅの通信は、キュー７外部ゲートステートがオープンの期間において行われている。すなわち、オープン期間において、ＴＳＮコントローラ１０５とセンサ１０８とが、入出力回路１０３、トランシーバ１０４およびイーサネットバス１０１を介して、フレームデータＱ７＿ｆｒａｍｅの送受信を行っている。
【００２１】
また、図２２には、スケジューリングに違反したフレームデータＱ５＿ｆｒａｍｅの通信が行われた場合が示されている。フレームデータＱ５＿ｆｒａｍｅは、キュー５外部ゲートステートのオープン期間に通信されるようにスケジューリングすることが正しい。しかしながら、スケジューリングに違反して、図２２に示すように、フレームデータＱ５＿ｆｒａｍｅの送受信が、クローズの期間まで継続するように設定されていると、フレームデータＱ５＿ｆｒａｍｅは、例えば破棄される。これにより、違反したフレームデータＱ５＿ｆｒａｍｅにより、イーサネットバス１０１におけるデータの送受信に対する干渉を低減することが可能となる。
【００２２】
＜課題＞
イーサネットバス１０１に接続された装置間で、キュー毎に一つの外部ゲートステートを共有しているが、外部ゲートステートのオープンの期間は、データを送受信する際に発生する遅延（レイテンシー：ｌａｔｅｎｃｙ）時間を考慮して、マージンを持たせることが必要である。これを、図を用いて説明する。図２３は、Ｅｔｈｅｒｎｅｔ−ＴＳＮシステムの課題を説明するための図である。図２３において、紙面の上側に示したＥｔｈｅｒｎｅｔ−ＴＳＮシステム１００の構成は、図２２で説明したものと同じである。また、図２３において、紙面の下側には、キュー０において実行されたアプリケーションに起因したセンサ１０８とプロセッサ１０２間のフレームデータの送受信が示されている。
【００２３】
ＴＳＮコントローラ１０５は、フレームデータＱ０＿ｆｒａｍｅ１を送信する。この送信されたフレームデータＱ０＿ｆｒａｍｅ１は、破線１１０で示すように、入出力回路１０３、トランシーバ１０４およびイーサネットバス１０１を介して、センサ１０８に伝達される。センサ１０８は、伝達されたフレームデータＱ０＿ｆｒａｍｅ１をトランシーバ１０９によって受信し、受信したフレームデータＱ０＿ｆｒａｍｅ１に従った処理を実行する。入出力回路１０３、トランシーバ１０４およびイーサネットバス１０１のそれぞれにおいて遅延が発生するため、ＴＳＮコントローラ１０２がフレームデータＱ０＿ｆｒａｍｅ１の送信を開始してから、センサ１０８にフレームデータＱ０＿ｆｒａｍｅ１が伝達されるまでには送信遅延時間１１０Ｄが発生する。
【００２４】
そのため、キュー０外部ゲートステートのオープン期間は、センサ１０８にフレームデータＱ０＿ｆｒａｍｅ１が伝達されるよりも前に開始していることが必要とされる。すなわち、図２３に示すように、フレームデータＱ０＿ｆｒａｍｅ１が伝達されるタイミングに対して、マージンを持ってオープン期間が開始するようにすることが必要とされる。
【００２５】
また、センサ１０８からプロセッサ１０５に対して、フレームデータＱ０＿ｆｒａｍｅ２が送信される。この場合は、センサ１０８のトランシーバ１０９から送信されたフレームデータＱ０＿ｆｒａｍｅ２が、一点鎖線１１１で示すように、イーサネットバス１０１、トランシーバ１０４および入出力回路１０３を介して、ＴＳＮコントローラ１０５に伝達され、ＴＳＮコントローラ１０５により受信される。入出力回路１０３、トランシーバ１０４およびイーサネットバス１０１のそれぞれにおいて遅延が発生するため、センサ１０８が送信を開始したタイミングに対して、受信遅延時間１１１Ｄだけ遅れて、ＴＳＮコントローラ１０５に、フレームデータＱ０＿ｆｒａｍｅ２が伝達されることになる。
【００２６】
その結果、オープン期間は、センサ１０８がフレームデータＱ０＿ｆｒａｍｅ２の送信を終了した後に、終了することが必要とされる。すなわち、図２３に示すように、センサ１０８によるフレームデータＱ０＿ｆｒａｍｅ１の送信が終了したタイミングに対して、マージンを持ってオープン期間を終了することが必要である。なお、図において、ＨＤは、フレームデータのヘッダ部を示している。
【００２７】
入出力回路１０３、トランシーバ１０４およびイーサネットバス１０１のそれぞれにおいて発生する遅延時間は、例えば周囲の温度のような周囲の環境の変化に依存する。そのため、前記した両方のマージンは、環境変動に依存して生じる遅延時間の最大値を想定して設定することが必要である。マージンが大きくなると、外部ゲートステートのオープン期間が長くなり、例えばセンサとプロセッサとの間でフレームデータを送信または／および受信するための１つのシーケンスが長くなり、通信システムの効率が低下することになる。
【００２８】
（実施の形態１）
＜通信システムの全体的な構成＞
図１は、実施の形態１に係わる通信システムを搭載した自動車の構成を示す図である。図１において、２００は自動車を示している。自動車２００には、通信システム１が搭載されている。通信システム１は、自動車に搭載された装置と、装置に対応したスイッチコントローラと、スイッチコントローラを介して装置に接続されたイーサネットバスとを備えている。同図には、自動車に搭載された装置として、各種のセンサ、各種のヒューマンインタフェースおよびＥＣＵ（Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）が示されている。
【００２９】
センサとしては、カメラ、レーダー、ライダー（Ｌｉｄａｒ）およびソナーが例示されている。これらのセンサは、スイッチコントローラ２を介してイーサネットバス５＿１に接続されている。また、ヒューマンインタフェースとしては、ナビ、メーター、リアモニタおよびコクピットが例示されている。これらヒューマンインタフェースは、スイッチコントローラ３を介してイーサネットバス５＿１に接続されている。さらに、複数のＥＣＵはスイッチコントローラ４を介してイーサネットバス５＿１に接続されている。
【００３０】
スイッチコントローラ２、３および４は、イーサネットバス５＿１に接続されたポートＰＢと、装置に接続されたポートＰＩと、ＴＳＮコントローラとを備えており、同図に示すように、ポートＰＢにイーサネットバス５＿１を接続し、ポートＰＩに装置を接続することにより、スイッチコントローラを介して装置とイーサネットバス５＿１との間で通信が可能となる。これにより、イーサネットバス５＿１を介して、装置間で通信が可能となっている。
【００３１】
図１では、単一のスイッチコントローラ２によって、ポートＰＩに接続された複数のセンサを監視し、制御している。しかしながら、センサのそれぞれに対応したスイッチコントローラを通信システム１に設け、それぞれのスイッチコントローラによって、対応するセンサを監視し、制御するようにしてもよい。同様に、ヒューマンインタフェースおよびＥＣＵについても、それぞれに対応するスイッチコントローラを通信システム１に設けて、ヒューマンインタフェースおよびＥＣＵのそれぞれが、対応するスイッチコントローラによって監視および制御されるようにしてもよい。
【００３２】
＜通信システムの全体的な動作＞
次に、通信システム１の全体的な動作を、図面を用いて説明する。ここでは、センサとスイッチコントローラ２との間で通信を行う場合を例として説明する。図２は、実施の形態１に係わる通信システムの動作を説明するための図である。
【００３３】
図２には、キュー０外部ゲートステート〜キュー３外部ゲートステートの４つのキュー外部ゲートステートが示されている。ここでは、キュー０には、カメラに関するアプリケーションが割り当てられ、キュー１には、レーダーに関するアプリケーションが割り当てられているものとする。また、キュー２には、ライダーに関するアプリケーションが割り当てられ、キュー３には、ソナーに関するアプリケーションが割り当てられているものとする。キュー０〜３に割り当てられたアプリケーションが実行されることにより、キューに対応する外部ゲートステートのオープン期間においては、アプリケーションの処理に起因する通信が許容され、クローズ期間においては、通信は許容されない。ここでは、キュー０外部ゲートステートのオープン期間は２，０００ｎｓ、キュー１外部ゲートステートのオープン期間は１，０００ｎｓ、キュー２外部ゲートステートのオープン期間は３，０００ｎｓ、キュー３外部ゲートステートのオープン期間は８００ｎｓに設定されているものとする。このようにセンサ毎に、通信可能なオープン時間を設定することが可能であるため、センサごとに最適なスケジューリングを行うことが可能である。
【００３４】
例えば、キュー０外部ゲートステートがオープンの期間において、カメラとスイッチコントローラ２内のＴＳＮコントローラとの間で通信が行われ、キュー１外部ゲートステートがオープンの期間において、レーダーとＴＳＮコントローラとの間の通信が行われる。
【００３５】
＜スイッチコントローラ＞
図３は、実施の形態１に係わる通信システムの構成を示すブロック図である。図３には、図１に示した通信システムの要部が示されている。すなわち、図３には、図１に示したスイッチコントローラ２、３が示されている。また、図３には、図１に示したスイッチコントローラ２、３が接続されたイーサネットバス５＿１と、スイッチコントローラとセンサ等の装置とが接続されたイーサネットバス５＿２が、イーサネットバス５として示されている。図１においては、スイッチコントローラ２には、複数のセンサのみが接続されていたが、図３では、スイッチコントローラ２には、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１３を接続するためのスイッチコントローラ１２も接続されている。
【００３６】
図３では、スイッチコントローラ２は、１つの半導体装置６によって構成されている。スイッチコントローラ２は、後で図４を用いて詳しく説明するが、複数のトランシーバ７を備えている。この複数のトランシーバ７には、イーサネットバス５＿１を介してスイッチコントローラ３に接続されたトランシーバ７と、イーサネットバス５−２を介してスイッチコントローラ１２に接続されたトランシーバ７と、イーサネットバス５＿２を介してセンサ１０および１１に接続されたトランシーバ７とが含まれている。センサ１０および１１のトランシーバ７は、図示しないハブによってイーサネットバス５＿２に接続されている。
【００３７】
また、スイッチコントローラ３は、特に制限されないが、複数の半導体装置によって構成されている。図３では、スイッチコントローラ３は、それぞれ１つの半導体装置によって構成されたプロセッサ８とＴＳＮコントローラ９とによって構成されている。ＴＳＮコントローラ９も、複数のトランシーバ７を備えている。複数のトランシーバ７には、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスによってプロセッサ９に接続されたトランシーバ７と、イーサネットバス５＿１を介してスイッチコントローラ２に接続されたトランシーバ７と、イーサネットバス５＿２を介して、図１に示したナビ等のヒューマンインタフェースに接続されたトランシーバ７が含まれている。スイッチコントローラ３においては、プロセッサ８によって、ＴＳＮコントローラ９を含むスイッチコントローラ３が制御される。
【００３８】
図３では、センサ１０、１１およびスイッチコントローラ１２がスイッチコントローラ２に接続されている例が示されているが、これに限定されるものではない。すなわち、センサ１０、１１およびスイッチコントローラ１２は、スイッチコントローラ３に接続されていてもよい。
【００３９】
＜ＴＳＮコントローラの構成＞
図４は、実施の形態１に係わるコントローラの構成を示すブロック図である。図４には、図３に示したスイッチコントローラ２の構成が示されている。
【００４０】
スイッチコントローラ２は、ＴＳＮコントローラ２０、入出力回路２４、時計ユニット２５、プロセッサ２７、ＤＴＣ（データトランスファコントローラ）／ＤＭＡコントローラ２８、グローバルメモリ２９、フラッシュメモリ３０および内部バス３１を備えている。ＴＳＮコントローラ２０、プロセッサ２７、ＤＴＣ／ＤＭＡコントローラ２８、グローバルメモリ２９およびフラッシュメモリ３０は、内部バス３１に接続されている。同図において、符号Ｍはマスタノードを表し、符号Ｓはスレーブノードを表している。
【００４１】
プロセッサ２７およびＤＴＣ／ＤＭＡコントローラ２８は、バスマスタとして機能するとき、内部バス３１を介して、マスタノードＭからグローバルメモリ２９、フラッシュメモリ３０またはＴＳＮコントローラ２０のスレーブノードＳにアクセスする。特に制限されないが、プロセッサ２７がアプリケーションのプログラムを読み出し、実行することにより、スイッチコントローラ２の機能が達成される。
【００４２】
入出力回路２４は、複数のトランシーバ７を含んだトランシーバユニット７Ａと、入出力ユニット２６とを備えている。トランシーバユニット７Ａが、図３に示した複数のトランシーバ７を備えている。また、トランシーバユニット７Ａは、外部インタフェース３２に接続されたトランシーバ７も含んでいる。トランシーバユニット７Ａは、イーサネットバス５から伝達されたデータを、入出力ユニット２６を介してＴＳＮコントローラ２０および時計ユニット２５に出力する。また、ＴＳＮコントローラ２０から入出力回路２４に供給されたデータは、入出力ユニット２６を介してトランシーバユニット７Ａに供給され、トランシーバユニット７Ａから、イーサネットバス５へ伝達される。
【００４３】
時計ユニット２５は、時刻を計測し、時刻を表す時間情報をＴＳＮコントローラ２０に供給する。時計ユニット２５は、例えばスイッチコントローラ２に給電が行われたとき、入出力回路２４から供給されたデータに従って時刻が調整される。すなわち、時計ユニット２５は、計測する時刻と、イーサネットバス５を介して通知される時刻とが同期し、同じ時刻を計測するように制御される。この時計ユニット２５によって計測される時間により、外部ゲートステートのオープン期間とクローズ期間が定められる。
【００４４】
ＴＳＮコントローラ２０は、設定レジスタ２１と、バッファ２２と、制御部２３とを備えている。ＴＳＮコントローラ２０は、バスマスタおよびバススレーブとして動作する。ＴＳＮコントローラ２０をバススレーブとして動作させ、プロセッサ２７が、設定レジスタ２１に時間情報を書き込むことにより、設定レジスタ２１に時間情報が設定される。
【００４５】
バッファ２２には、内部バス３１を介して供給された送信すべきフレームデータおよび入出力回路２４から供給された受信フレームデータが格納される。図４では、送信すべき送信フレームデータと受信フレームデータが、同一のバッファに格納されるように描かれているが、これに限定されるものではない。すなわち、送信フレームデータを格納する第１バッファと受信フレームデータを格納する第２バッファとを、ＴＳＮコントローラ２０に設けるようにしてもよい。
【００４６】
制御部２３は、時計ユニット２５からの時間情報に基づいて、キュー毎に外部ゲートステートのオープン期間とクローズ期間を特定する。また、特定したオープン期間の開始時刻および終了時刻と、設定レジスタ２１に設定されている時間情報とに基づいて、制御信号ＣＮＴによりバッファ２２を制御する。
【００４７】
実施の形態１においては、バッファ２２に格納されている送信フレームデータを、入出力回路２４へ送信することが許容される期間が、内部ゲートステートのオープン期間とされる。言い換えると、バッファ２２に格納されている送信フレームデータを、入出力回路２４へ送信することが許容されない期間が、内部ゲートステートのクローズ期間とされる。この内部ゲートステートのオープン期間の開始時刻および終了時刻を、時計ユニット２５によって定まる外部ゲートステートのオープン期間と設定レジスタ２１に設定された時間情報とに基づいて、制御部２３が求め、制御信号ＣＮＴによってバッファ２２を制御する。このようにすることにより、時計ユニット２５によって定まる外部ゲートステートのオープン期間とは異なる内部ゲートステートのオープン期間において、ＴＳＮコントローラ２０は、送信フレームデータの送信を行うことが可能となっている。バッファ２２の制御については、図５〜図１５で詳しく説明する。
【００４８】
図３に示したスイッチコントローラ３は、図４に示したＴＳＮコントローラ２０、入出力回路２４および時計ユニット２５を備えた構成となっている。
【００４９】
＜ＴＳＮコントローラの動作＞
図５は、実施の形態１に係わるＴＳＮコントローラの動作を説明するための図である。また、図６〜図９は、実施の形態１に係わるＴＳＮコントローラの動作を説明するためのタイミング図である。理解を容易にするために、先に図２２および図２３で説明した通信システムと類似した構成の通信システムで、ＴＳＮコントローラの動作を説明する。そのため、図５に示す通信システム１は、図２３に示した通信システム１００と類似している。相異点は、プロセッサ１０２がスイッチコントローラ２に変更され、イーサネットバスの符号が１０１から５に変更され、センサ１０６、１０８のトランシーバの符号が１０７，１０９から７に変更されている点である。スイッチコントローラ２は、図４に示したように、ＴＳＮコントローラ２０、時計ユニット２５および入出力回路２４以外の回路ブロックも備えているが、図５には、ＴＳＮコントローラ２０、時計ユニット２５および入出力回路が示されている。また入出力回路としては、それを構成している入出力ユニット２６およびトランシーバユニット７Ａが示されている。さらに、図５においては、ＴＳＮコントローラ２０に設けられたバッファ２２のみが明示されている。
【００５０】
図２３では省略していたが、センサ１０６および１０８のそれぞれは、スイッチコントローラ２と同様な時計ユニット２５＿１０６および２５＿１０８を備えている。センサ１０６および１０８も、スイッチコントローラ２と同様に外部ゲートステートを備えている。センサ１０６の外部ゲートステートのオープン期間およびクローズ期間は、時計ユニット２５＿１０６によって計測される時間により定まる。センサ１０６は、時計ユニット２５＿１０６によって定まる外部ゲートステートのオープン期間のとき、データの送受信、すなわち通信が許容され、クローズ期間のときには、通信が許容されない。センサ１０８も、センサ１０６と同様に、時計ユニット２５＿１０８によって定まる外部ゲートステートのオープン期間のときに、通信が許容され、クローズ期間のときには、通信が許容されない。
【００５１】
時計ユニット２５＿１０６および２５＿１０８は、スイッチコントローラ２の時計ユニット２５と同一の時刻を計測するように、予め時間合わせが行われる。これにより、外部ゲートステートのオープン期間およびクローズ期間が、スイッチコントローラ２およびセンサ１０６、１０９間で共有化される。すなわち、スイッチコントローラ２における外部ゲートステートがオープンとなる期間と、センサ１０６、１０８における外部ゲートステートがオープンとなる期間とは、重なっている。同様に、スイッチコントローラ２における外部ゲートステートがクローズとなる期間は、センサ１０６、１０８における外部ゲートステートがクローズとなる期間と重なっている。
【００５２】
＜フレームデータの送信＞
図６は、図２３に示した通信システム１００において、プロセッサ１０２がフレームデータを、センサ１０８に送信した場合のタイミング図である。外部ゲートステートのオープン期間が開始する時刻ｔ０において、ＴＳＮコントローラ１０５（図２３）がフレームデータを期待フレームデータとして送信を開始すると、図２３で説明したように送信遅延時間があるため、フレームデータは、遅延し、センサ１０８には、時刻ｔ１からｔ２の範囲で到達することになる。送信遅延時間は、環境変動に依存して変動するため、フレームデータが、センサに到達する時刻は変化する。ここでは、最も遅延が少ない場合が、送信最小遅延時間であり、時刻ｔ１にフレームデータが、センサ１０８に到達する。一方、最も遅延が大きい場合が、送信最大遅延時間であり、時刻ｔ２にフレームデータが、センサ１０８に到達する。送信最大遅延時間と送信最小遅延時間との間の送信遅延時間差が、送信遅延ジッタとなり、この送信遅延ジッタの範囲で、フレームデータが、センサ１０８に到達することになる。
【００５３】
フレームデータの先頭データが、センサ１０８に到達する時刻が遅くなるため、フレームデータの最終データが、センサ１０８に到達する時刻も遅くなる。フレームデータの最終データの到達時刻が、次のクローズ期間と重なると、受信が許容されないため、時刻ｔ０でＴＳＮコントローラ１０５が送信を開始したフレームデータは、不正（ＮＧ）となり、例えばセンサ１０８はフレームデータを破棄する。
【００５４】
実施の形態１においては、プロセッサ２７が、設定レジスタ２１に、送信最小遅延時間、送信最大遅延時間および送信遅延ジッタを、時間情報として設定する。制御部２３は、設定レジスタ２１に設定されている送信最小遅延時間、送信最大遅延時間および送信遅延ジッタと、時計ユニット２５からの時間情報から、外部ゲートステートのオープン期間の開始時刻ｔ０を求め、求めた開始時刻ｔ０よりも、送信最小遅延時間に相当する時間分早く、バッファ２２がオープンとなるように、制御信号ＣＮＴによってバッファ２２を制御する。これにより、内部ゲートステートは、図７に示すように、時刻ｔｐ１でオープン期間が開始する。
【００５５】
また、制御部２３は、時計ユニット２５からの時間情報から、外部ゲートステートのオープン期間の終了時刻ｔ３を求め、求めた終了時刻ｔ３よりも、送信最小遅延時間に相当する時間と送信遅延ジッタに相当する時間との和の時間分早く、バッファ２２がクローズするように、制御信号ＣＮＴによってバッファ２２を制御する。これにより、内部ゲートステートは、図７に示すように、時刻ｔｐ３でオープン期間が終了する。なお、送信最小遅延時ｔｐ２〜ｔ３間に相当する時間と送信遅延ジッタｔｐ２〜ｔｐ３に相当する時間との和は、送信最大遅延時間に相当する時間であるため、制御部２３は、外部ゲートステートの終了時刻ｔ３に対して、内部ゲートステートのオープン期間の終了時刻を、送信最大遅延時間に相当する時間分早めるようにバッファ２２を制御してもよい。
【００５６】
これにより、図７に示すように、ＴＳＮコントローラ２０は、時刻ｔｐ１で、バッファ２２に格納されているフレームデータを期待送信フレームデータとして送信を開始することが可能となる。送信遅延時間が送信最小遅延時間の場合、フレームデータの先頭データは、時刻ｔ０において、センサ１０８に到達する。また、送信遅延時間が送信最大遅延時間の場合であっても、フレームデータの先頭は、時刻ｔ０に対して送信遅延ジッタに相当する時間分遅れた時刻で、センサ１０８に到達することになる。
【００５７】
内部ゲートステートのオープン期間は、時刻ｔｐ３で終了しているが、外部ゲートステートのオープン期間は、時刻ｔ３で終了する。そのため、図７に示すように、送信遅延時間が送信最大遅延時間の場合であっても、時刻ｔ３よりも前に、フレームデータの最終データは、センサ１０８に到達している。その結果、フレームデータが不正として処理されるのを防ぐことが可能である（ＯＫ）。
【００５８】
図８には、ＴＳＮコントローラ２０が、内部ゲートステートのオープン期間開始時刻よりも遅くフレームデータの送信を開始した場合が示されている。すなわち、同図には、ＴＳＮコントローラ２０は、内部ゲートステートのオープン期間の開始時刻ｔｐ１と外部ゲートステートのオープン期間の開始時刻ｔ０との間の時刻で、バッファ２２に格納されている送信フレームデータを、期待フレームデータとして送信を開始した場合が示されている。この場合にも、時刻ｔｐ３までに期待フレームデータの最終データの送信が完了していれば、図８に示すように、送信フレームデータは、外部ゲートステートのオープン期間の間に、センサ１０８に到達することになり、送信フレームデータが不正として処理されるのを防ぐことが可能である。
【００５９】
図９は、図７と同様に、ＴＳＮコントローラ２０が、内部ゲートステートのオープン期間の開始時刻ｔｐ１と同時に期待フレームデータの送信を開始した場合を示している。ただし、図９には、送信フレームデータのデータ長が、図７に比べ長くなっており、内部ゲートステートのオープン期間よりも長い場合が示されている。この場合、ＴＳＮコントローラ２０からセンサ１０８までの送信遅延時間が、送信最小遅延時間であれば、時刻ｔ３までに、送信フレームデータはセンサ１０８に到達することができる。しかしながら、送信フレームデータのデータ長と送信遅延ジッタとの和が、外部ゲートステートのオープン期間の時間を超えると、送信フレームデータの最終データは、時刻ｔ３以降にセンサ１０８に到達することになる。
【００６０】
また、送信遅延時間が、送信最大遅延時間の場合も、図９に示すように、送信フレームデータの最終データは、時刻ｔ３以降にセンサ１０８に到達することになる。最終データが、時刻ｔ３以降にセンサ１０８に到達するような場合、制御部２３は、後で、図１０を用いて説明するが、バッファ２２から入出力回路２６へ送信フレームデータを送信しないように、制御信号ＣＮＴによってバッファ２２を制御する。これにより、実施の形態１においては、不正となる送信フレームデータは、ＴＳＮコントローラ２０から送信されるのを防ぐことが可能である。
【００６１】
図１０は、実施の形態１に係わるＴＳＮコントローラ２０の動作を示すフローチャート図である。
【００６２】
ステップＳ０＿ＳＴにおいて、プロセッサ２７により、設定レジスタ２１に、外部ゲートステートのオープン期間およびクローズ期間と、送信最大遅延時間と、送信最小遅延時間と、送信遅延ジッタとが、時間情報として設定される。設定レジスタ２１には、遅延時間に関する情報が設定されるため、設定レジスタ２１は、遅延時間設定部と見なすことができる。
【００６３】
制御部２３は、ステップＳ１＿ＳＴにおいて、設定レジスタ２１に設定された時間情報と時計ユニット２５からの時間情報とに基づいて、キューごとに、外部ゲートステートと内部ゲートステートを生成する。すなわち、制御部２３は、外部ゲートステートとして、図７〜図９に示した時刻ｔ０、ｔ３を求め、内部ゲートステートとして、図７〜図９に示した時刻ｔｐ１〜ｔｐ３を求める。
【００６４】
ステップＳ０＿Ｔにおいて、ＴＳＮコントローラ２０は、例えばプロセッサ２７からフレームデータ送信トリガを受信する。次に、ステップＳ１＿Ｔにおいて、ＴＳＮコントローラ２０は、フレームデータを送信するための待機状態となる。特に制限されないが、ステップＳ１＿Ｔでは、送信すべきフレームデータが、例えばプロセッサ２７によって、バッファ２２に書き込まれている。制御部２３は、ステップＳ２＿Ｔにおいて、バッファ２２に格納されているフレームデータを基にして、送信フレームデータのデータ長を計算する。
【００６５】
次に、ステップＳ３＿Ｔにおいて、制御部２３は、内部ゲートステートがオープン期間か否かを、ステップＳ１＿ＳＴで生成した内部ゲートステートと時計ユニット２５からの時間情報とによって判定し、さらにステップＳ２＿Ｔの処理が終わり、フレームデータの送信を開始することができるか否かを判定する。制御部２３は、内部ゲートステートがオープン期間で、フレームデータの送信が可能と判定した場合、ステップＳ４＿Ｔを実行し、これ以外の場合には、ステップＳ１＿Ｔの処理を実行する。
【００６６】
ステップＳ４＿Ｔにおいて、制御部２３は、ステップＳ２＿Ｔで算出したフレームデータのデータ長を基にして、外部ゲートステートがクローズする前に、フレームデータを送信することが可能か否かを判定する。このステップＳ４＿Ｔにおいて、制御部２３は、図９で説明したように、データ長と送信遅延ジッタとの和を求め、求めた和が外部ゲートステートのオープン期間を超えるか否かを判定している。制御部２３は、ステップＳ４＿Ｔにおいて、外部ゲートステートがクローズする前にフレームデータを送信することができると判定すると、ステップＳ５＿Ｔを実行する。一方、ステップＳ４＿Ｔにおいて、制御部２３は、外部ゲートステートがクローズする前にフレームデータを送信することができないと判定すると、ステップＳ１＿Ｔの処理を実行する。これにより、不正な送信フレームデータが送信されるのを防ぐことが可能となる。
【００６７】
ステップＳ５＿Ｔにおいて、制御部２３は、バッファ２２をオープンにさせる。すなわち、制御部２３は、バッファ２２に格納されているフレームデータが、送信フレームデータとして入出力回路２４に送信されるように、制御信号ＣＮＴによって、バッファ２２を制御する。これにより、送信フレームデータの送信が開始する、すなわち、送信フレームデータの先頭データから最終データに向けて、順次、データが送信される。
【００６８】
図１０には示していないが、ステップＳ５＿Ｔでフレームの送信を開始した後、図７〜図９に示した時刻ｔｐ３において、バッファ２２が入出力回路２４に対して送信フレームデータを送信しないように、制御部２３は、制御信号ＣＮＴによりバッファ２２を制御する。
【００６９】
実施の形態１によれば、フレームデータを送信するときに、外部ゲートステートのオープン期間にマージンを設定しなく済むため、通信システムの効率を向上させることが可能である。
【００７０】
（実施の形態２）
実施の形態２では、フレームデータを受信するときに、効率を向上させることが可能な通信システムが提供される。実施の形態２においては、実施の形態１で説明した通信システム１のＴＳＮコントローラ２０が、フレームデータを受信するときにも、効率を向上させることができるように、変更されている。
【００７１】
図１１は、実施の形態２に係わるＴＳＮコントローラの動作を説明するための図である。また、図１２〜図１４は、実施の形態２に係わるＴＳＮコントローラ２０の動作を説明するためのタイミング図である。図１１に示す通信システム１は、図２３に示した通信システム１００と類似している。図２３と図１１との相異点は、図５で説明した相異点と同じであるので、省略する。
【００７２】
＜フレームデータの受信＞
図１２は、図２３に示した通信システム１００において、プロセッサ１０２がセンサ１０８からのフレームデータを受信した場合のタイミング図である。外部ゲートステートのオープン期間が開始する時刻ｔ０において、センサ１０８が、フレームデータを期待フレームデータとして、ＴＳＮコントローラ１０５（図２３）へ送信開始すると、図２３で説明したように受信遅延時間があるため、フレームデータは、遅延し、ＴＳＮコントローラ１０５には、時刻ｔ１からｔ２の範囲で到達することになる。受信遅延時間も、送信遅延時間と同様に、環境変動に依存して変動するため、フレームデータが、ＴＳＮコントローラ１０５に到達する時刻は変化する。ここでも、最も遅延が少ない場合が、受信最小遅延時間であり、時刻ｔ１にフレームデータが、ＴＳＮコントローラ１０５に到達する。一方、最も遅延が大きい場合が、受信最大遅延時間であり、時刻ｔ２にフレームデータが、ＴＳＮコントローラ１０５に到達する。受信最大遅延時間と受信最小遅延時間との間の受信遅延時間差が、受信遅延ジッタとなり、この受信遅延ジッタの範囲ｔ１〜ｔ２で、フレームデータが、ＴＳＮコントローラ１０５に到達することになる。
【００７３】
フレームデータの先頭データがＴＳＮコントローラ１０５に到達する時刻が遅くなるため、フレームデータの最終データがＴＳＮコントローラ１０５に到達する時刻も遅くなる。フレームデータの最終データの到達時刻が、次のクローズ期間と重なると、受信が許容されないため、時刻ｔ０でセンサ１０８から送信されたフレームデータは、不正となり、このフレームデータは、例えば破棄される。
【００７４】
実施の形態２においては、図4に示したプロセッサ２７が、設定レジスタ２１に、外部ゲートステートのオープン期間、外部ゲートステートのクローズ期間、受信最小遅延時間、受信最大遅延時間および受信遅延ジッタを設定する。制御部２３は、設定レジスタ２１に設定されている受信最小遅延時間、受信最大遅延時間および受信遅延ジッタと、時計ユニット２５からの時間情報とに基づいて、外部ゲートステートのオープン期間の開始時刻ｔ０を求め、求めた開始時刻ｔ０よりも、受信最小遅延時間に相当する時間分遅く、バッファ２２がオープンとなるように、制御信号ＣＮＴによってバッファ２２を制御する。これにより、内部ゲートステートは、図１３に示すように、時刻ｔｒ１でオープン期間が開始する。
【００７５】
また、制御部２３は、時計ユニット２５からの時刻情報から、外部ゲートステートのオープン期間の終了時刻ｔ３を求め、求めた終了時刻ｔ３よりも、受信最小遅延時間に相当する時間と受信遅延ジッタに相当する時間との和の時間分遅く、バッファ２２がクローズするように、制御信号ＣＮＴによってバッファ２２を制御する。これにより、内部ゲートステートは、図１３に示すように、時刻ｔｒ３でオープン期間が終了する。なお、受信最小遅延時間に相当する時間と受信遅延ジッタに相当する時間との和は、受信最大遅延時間に相当する時間であるため、制御部２３は、内部ゲートステートのオープン期間の終了時刻を、外部ゲートステートのオープン期間の終了時刻ｔ３よりも受信最大遅延時間に相当する時間分遅くなるようにバッファ２２を制御してもよい。
【００７６】
これにより、図１３に示すように、ＴＳＮコントローラ２０は、時刻ｔｒ１で、バッファ２２に入出力ユニット２６からのフレームデータの書き込みを開始するように、受信フレームデータの受信を開始する。受信遅延時間が受信最小遅延時間の場合、センサ１０８が時刻ｔ０で送信したフレームデータの先頭データが、時刻ｔｒ１において、ＴＳＮコントローラ２０に到達する。また、受信遅延時間が受信最大遅延時間の場合であっても、フレームデータの先頭データは、時刻ｔｒ１に対して受信遅延ジッタに相当する時間を加えた時刻ｔｒ４には、ＴＳＮコントローラ２０に到達することになる。
【００７７】
内部ゲートステートのオープン期間は、時刻ｔｒ３で終了するが、外部ゲートステートのオープン期間は、時刻ｔ３で終了している。そのため、図１３に示すように、受信遅延時間が受信最大遅延時間の場合であっても、時刻ｔｒ３よりも前に、フレームデータの最終データは、ＴＳＮコントローラ２０に到達している。その結果、受信フレームデータが不正として処理されるのを防ぐことが可能である。
【００７８】
図１４は、センサ１０８が、内部ゲートステートのオープン期間の開始時刻ｔｒ１と同時に、フレームデータを期待フレームデータとして送信した場合を示している。この場合にも、時刻ｔｒ３までに期待フレームデータの最終データが、ＴＳＮコントローラ２０に到着していれば、図１４に示すように、期待フレームデータは、内部ゲートステートのオープン期間の間に、ＴＳＮコントローラ２０によって受信することが可能となり、センサ１０８からの受信フレームデータが不正として処理されるのを防ぐことが可能である。
【００７９】
センサ１０８が送信するフレームデータのデータ長が長くなると、フレームデータの最終データがＴＳＮコントローラ２０に到着する時刻が、内部ゲートステートのオープン期間の終了時刻ｔｒ３を超えることになる。この場合、ＴＳＮコントローラ２０は、センサ１０８からのフレームデータを不正のフレームデータとして処理する。すなわち、この場合、ＴＳＮコントローラは、バッファ２２に書き込まれているデータを、破棄または隔離するように処理する。バッファ２２に書き込まれたデータの隔離については、後の図１５で説明する。
【００８０】
図１５は、実施の形態２に係わるＴＳＮコントローラの動作を示すフローチャート図である。
【００８１】
ステップＳ０＿ＲＴにおいて、プロセッサ２７により、設定レジスタ２１に対して、時間情報として、外部ゲートステートのオープン期間およびクローズ期間と、受信最大遅延時間と、受信最小遅延時間と、受信遅延ジッタとが設定される。
【００８２】
ステップＳ１＿ＲＴにおいて、制御部２３は、設定レジスタ２１に設定された時間情報に基づいて、キューごとに、外部ゲートステートと内部ゲートステートを生成する。すなわち、制御部２３は、外部ゲートステートとして、図１３および図１４に示した時刻ｔ０、ｔ３を求め、内部ゲートステートとして、図１３および図１４に示した時刻ｔｒ１〜ｔｒ３を求める。
【００８３】
ステップＳ０＿Ｒにおいて、センサ１０８からのフレームデータの受信が開始する。すなわち、時刻ｔｒ１において、バッファ２２が入出力ユニット２６からのフレームデータの取り込みを開始するように、制御部２３は、制御信号ＣＮＴによってバッファ２２を制御する。これにより、ステップＳ１＿Ｒにおいては、フレームデータが受信中となる。ステップＳ２＿Ｒにおいて、ＴＳＮコントローラ２０は、バッファ２２に格納されているフレームデータに基づいて、フレームデータのデータ長を算出する。例えば、フレームデータの先頭データ部分に存在するヘッダＨＤに基づいて、ＴＳＮコントローラ２０は、受信中のフレームデータのデータ長を算出する。
【００８４】
制御部２３は、ステップＳ３＿Ｒにおいて、内部ゲートステートがオープン期間であるか否かを判定し、フレームデータの受信を開始しているか否かを判定する。制御部２３は、内部ゲートステートがオープン期間であり、フレームデータの受信を開始していると判定すると、次にステップＳ４＿Ｒを実行し、これ以外の場合には、次にステップＳ６＿Ｒを実行する。
【００８５】
ステップＳ４＿Ｒにおいて、制御部２３は、内部ゲートステートのオープン期間に、ＴＳＮコントローラ２０がフレームデータの受信を完了することができるか否かを判定する。すなわち、制御部２３は、ステップＳ４＿Ｒを実行したときにおける内部ゲートステートのオープン期間の残りのオープン時間を求め、ステップＳ２＿Ｒで算出したデータ長から、ステップＳ４＿Ｒの実行時における残りのデータ長を求める。制御部２３は、求めた残りオープン時間内で、残りのデータ長を受信できるか否かを判定する。これにより、内部ゲートステートのオープン期間に、フレームデータの受信が完了するか否かの判定が行われる。
【００８６】
ステップＳ４＿Ｒにおいて、制御部２３が、オープン期間にフレームデータの受信が完了すると判定すると、制御部２３は、次にステップＳ５＿Ｒを実行し、これ以外の場合には、次にステップＳ６＿Ｒを実行する。
【００８７】
ステップＳ５＿Ｒにおいて、センサ１０８からのフレームデータは、バッファ２２に書き込まれ、制御部２３は、内部ゲートステートのオープン期間が終了する終了時刻ｔｒ３において、バッファ２２が、入出力ユニット２６からのフレームデータを取り込まないように、制御信号ＣＮＴによって、バッファ２２をクローズするように制御する。バッファ２２に書き込まれたフレームデータは、例えばセンサ１０８からのデータとしてプロセッサ２７により処理される。
【００８８】
ステップＳ６＿Ｒでは、制御部２３は、バッファ２２に格納されているデータを不正データとして破棄または隔離する。ここで、隔離とは、バッファ２２に格納されているデータを、ＴＳＮコントローラ２０は、例えばプロセッサ２７に送信し、プロセッサ２７よって解析することを意味している。
【００８９】
実施の形態２によれば、フレームデータを受信するときに、外部ゲートステートのオープン期間にマージンを設定しなく済むため、通信システムの効率を向上させることが可能である。さらに、実施の形態２によれば、フレームデータを送信するときにも、外部ゲートステートのオープン期間にマージンを設定しなく済む。そのため、通信システムの効率を、さらに向上させることが可能である。
【００９０】
なお、受信フレームデータに係わる外部ゲートステートのオープン期間およびクローズ期間と、実施の形態１で述べた送信フレームデータに係わる外部ゲートステートのオープン期間およびクローズ期間が、同一であれば、プロセッサ２７は、時間情報として、受信フレームデータまたは送信フレームデータに係わる外部ゲートステートのオープン期間およびクローズ期間を設定レジスタ２１に設定しなくてもよい。これにより、設定レジスタ２１が大型化するのを抑制することが可能である。
【００９１】
＜変形例１＞
イーサネットバス５に接続されているセンサの位置によって、送信遅延時間および受信遅延時間は、異なる。変形例１においては、センサの位置に応じて異なる値の複数の時間情報が、設定レジスタ２１に設定される。ＴＳＮコントローラ２０は、通信を行うセンサに応じて、設定レジスタ２１から通信を行うセンサに対応した時間情報を選択し、内部ゲートステートのオープン期間が生成される。これにより、それぞれのセンサに応じた内部ゲートステートのオープン期間を生成することが可能となる。
【００９２】
＜変形例２＞
変形例２においては、センサの位置に応じた複数の送信最小遅延時間のうち、最も小さい送信最小遅延時間を代表送信最小遅延時間として選択し、複数の送信最大遅延時間のうち、最も大きな送信最大遅延時間を代表送信最大遅延時間として選択する。また、代表送信最小遅延時間と代表送信最大遅延時間との間の時間差を、代表送信遅延ジッタとする。プロセッサは、この代表送信最大遅延時間、代表送信最小遅延時間および代表送信遅延ジッタを、時間情報として、設定レジスタ２１に設定する。
【００９３】
同様にして、受信最小遅延時間、受信最大遅延時間および受信遅延ジッタについても、代表受信最大遅延時間、代表受信最小遅延時間および代表受信遅延ジッタを、時間情報として、設定レジスタ２１に設定する。
【００９４】
これにより、設定レジスタ２１が大型化するのを避けながら、複数のセンサに対応した内部ゲートステートのオープン期間を生成することが可能となる。
【００９５】
実施の形態１および２においては、設定レジスタ２１に、プロセッサ２７が時間情報を設定する例を説明したが、これに限定されるものではない。例えば、設定レジスタ２１の代わりに、論理回路等によって、固定の時間情報が生成されるようにしてもよい。
【００９６】
また、送信最大遅延時間と受信最大遅延時間とが同じ値であれば、共通の最大遅延時間として設定レジスタ２１に設定するようにしてもよい。同様に、送信最小遅延時間と受信最小遅延時間とが同じ値であれば、共通の最小遅延時間として設定レジスタ２１に設定するようにしてもよい。送信遅延ジッタと受信遅延ジッタが同じ値の場合も同様に、共通の遅延ジッタを設定レジスタ２１に設定すればよい。
【００９７】
なお、図２３では、ＴＳＮコントローラがフレームデータの送信を開始してから、センサ１０８にフレームデータが伝達されるまでの時間を送信遅延時間、センサ１０８が送信を開始してから、ＴＳＮコントローラにフレームデータが伝達されるまでの時間を、受信遅延時間として説明した。実施の形態１および２においては、ＴＳＮコントローラがバッファ２２を備えている。そのため、バッファ２２からフレームデータが送信され、装置であるセンサ１０８に伝達されるまでの時間を送信遅延時間と見なし、装置であるセンサ１０８からフレームデータが送信され、バッファ２２に伝達されるまでの時間を受信遅延時間と見なしてもよい。
【００９８】
（実施の形態３）
図１６は、実施の形態３に係わる通信システムの動作を説明するための図である。
【００９９】
実施の形態３においては、ステップＳ０において、プロセッサ２７が、設定レジスタ２１に、通信対象のセンサに応じた送信に係わる時間情報を設定する。この設定レジスタ２１に設定された時間情報に従って、ステップＳ１において、ＴＳＮコントローラ２０は、内部ゲートステートを生成する。ステップＳ２は、図１０のステップＳ０＿Ｔに相当し、フレーム送信トリガが供給されるステップである。ステップＳ３は、図１０に示したステップＳ１＿ＴおよびＳ２＿Ｔに相当し、送信すべきフレームデータの情報を入手し、フレームデータのデータ長を算出するステップである。ステップＳ４は、図１０に示したステップＳ３＿ｔおよびＳ４＿Ｔに相当し、バッファ２２に格納されているフレームデータを送信するか否かを判定するステップである。ステップＳ５は、図１０のステップＳ５＿Ｔに相当するステップである。
【０１００】
実施の形態３によれば、プロセッサ２７によって、通信対象のセンサに応じて、動的に送信に係わる時間情報が設定レジスタ２１に設定される。これにより、通信中に動的に内部ゲートステートのオープン期間を変更することが可能となり、時分割キューイングアルゴリズムの精度を向上させることが可能である。
【０１０１】
ここでは、設定レジスタ２１に対する設定を動的に変更する例を述べたが、設定レジスタ２１をＴＳＮコントローラ２０に設けずに、スイッチコントローラ２の外部から時間情報が供給されるようにしてもよい。
【０１０２】
（実施の形態４）
図１７は、実施の形態４に係わる通信システムの動作を説明するための図である。
【０１０３】
実施の形態４においては、ステップＳ０において、プロセッサ２７が、設定レジスタ２１に、通信対象のセンサに応じた受信に係わる時間情報を設定する。この設定レジスタ２１に設定された時間情報に従って、ステップＳ１において、ＴＳＮコントローラ２０は、内部ゲートステートを生成する。ステップＳ２およびＳ５は、イーサネットバス５を介して、フレーム受信トリガが供給され、フレームデータを受信するステップである。ステップＳ３は、図１５に示したステップＳ０＿Ｒ〜Ｓ２＿Ｒに相当し、フレームデータの情報を入手し、フレームデータのデータ長を算出するステップである。ステップＳ４は、図１５に示したステップＳ３＿ＲおよびＳ４＿Ｒに相当し、フレームデータが受信可能であるか否かを判定するステップである。
【０１０４】
実施の形態４によれば、プロセッサ２７によって、通信対象のセンサに応じて、動的に受信に係わる時間情報が設定レジスタ２１に設定される。これにより、通信中に動的に内部ゲートステートのオープン期間を変更することが可能となり、時分割キューイングアルゴリズムの精度を向上させることが可能である。
【０１０５】
ここでは、設定レジスタ２１に対する設定を動的に変更する例を述べたが、設定レジスタ２１をＴＳＮコントローラ２０に設けずに、スイッチコントローラ２の外部から時間情報を供給するようにしてもよい。
【０１０６】
（実施の形態５）
図１８は、実施の形態５に係わる通信システムの制御方法を示すタイミング図である。実施の形態５に係わる通信システムの制御方法は、実施の形態１〜４で説明した通信システムのいずれに対しても適用することが可能である。ここでは、図５および図１１に示した通信システム１を例として、説明する。実施の形態５に係わる通信システムの制御方法は、初期化工程と、トレーニング工程と、運用工程とを備えている。
【０１０７】
通信システム１に、例えば電源が投入されることにより、図１８に示した初期化期間ｔｔ０〜ｔｔ１において、初期化工程が実行される。初期化工程が終了すると、トレーニング期間ｔｔ１〜ｔｔ２において、トレーニング工程が実行される。トレーニング工程が終了すると、運用期間ｔｔ２〜ｔｔ３において、イーサネットバス５に接続された装置間で通信を行う運用工程が実行される。この運用期間は、例えば通信システム１に対する電源を遮断することで、終了する。
【０１０８】
図５および図１１で説明したように、通信システム１に含まれるスイッチコントローラ２およびセンサ１０６、１０８は、時計ユニット２５、２５＿１０６、２５＿１０８を備えている。
【０１０９】
初期化工程では、スイッチコントローラ２およびセンサ１０６、１０８の各時計ユニットが同一の時刻を計測するように、時刻を合わせる時刻合わせ工程が含まれている。これにより、トレーニング期間および運用期間において、各時計ユニットは、同じ時刻を計測することになる。
【０１１０】
トレーニング工程においては、設定レジスタ２１に設定する時間情報を求めるために、トレーニング動作が行われる。実施の形態５に係わるトレーニング工程は、時刻情報を含むトレーニングデータを送信するトレーニングデータ送信工程と、受信したトレーニングデータに含まれている時刻情報から遅延時間を求める遅延時間取得工程と、設定レジスタ２１に遅延時間を設定する遅延時間設定工程とを備えている。これらの工程が実行されることにより、トレーニング動作が行われる。図５および図１１を例にして、トレーニング工程で実行される各工程を説明する。
【０１１１】
トレーニングデータ送信工程において、ＴＳＮコントローラ２は、時計ユニット２５によって計測されたそのときの時刻を表す時刻情報を含む送信トレーニングデータを、イーサネットバス５を介して、センサ１０８へ送信する。一方、センサ１０８は、センサ１０８が備える時計ユニット２５＿１０８によって計測されたそのときの時刻を表す時刻情報を含む受信トレーニングデータを、イーサネットバス５を介して、スイッチコントローラ２へ送信する。
【０１１２】
次に遅延時間取得工程において、スイッチコントローラ２は、センサ１０８から送信された受信トレーニングデータに含まれている時刻情報により表される時刻と、時計ユニット２５で表される受信トレーニングデータを受信したときの時刻との差を算出し、この時間差を受信遅延時間として取得する。この動作を複数回実行することにより、スイッチコントローラ２は、複数の受信遅延時間を取得する。スイッチコントローラ２は、取得した複数の受信遅延時間のうち、最も長い受信遅延時間を受信最大遅延時間として選択し、最も短い受信遅延時間を受信最小遅延時間として選択し、選択した両者の差を受信遅延ジッタとして選択する。
【０１１３】
また、遅延時間取得工程において、センサ１０８は、スイッチコントローラ２から送信された送信トレーニングデータに含まれている時刻情報により表される時刻と、時計ユニット２５＿１０８で表される送信トレーニングデータを受信したときの時刻との差を算出し、この時間差を送信遅延時間として取得する。この動作を複数回実行することにより、センサ１０８は、複数の送信遅延時間を取得する。センサ１０８は、取得した複数の送信遅延時間のうち、最も長い送信遅延時間を送信最大遅延時間として選択し、最も短い送信遅延時間を送信最小遅延時間として選択し、選択した両者の差を送信遅延ジッタとして選択する。センサ１０８は、選択した送信最大遅延時間、送信最小遅延時間および送信遅延ジッタを、イーサネットバス５を介して、スイッチコントローラ２に送信する。
【０１１４】
次に、遅延時間設定工程において、スイッチコントローラ２は、センサ１０８から受信した送信最大遅延時間、送信最小遅延時間および送信遅延ジッタと、自らが選択した受信最大遅延時間、受信最小遅延時間および受信遅延ジッタを、設定レジスタ２１に設定する。また、特に制限されないが、遅延時間設定工程において、プロセッサ２７は、時計ユニット２５からの外部ゲートステートのオープン期間およびクローズ期間に係わる時間情報も、設定レジスタ２１に設定する。
【０１１５】
スイッチコントローラ２は、イーサネットバス５に接続されたセンサ１０７のような他の装置との間でも、前記したトレーニング動作を実行する。これにより、トレーニング期間において、スイッチコントローラ２の設定レジスタ２１には、イーサネットバス５に接続された装置のそれぞれの送信最大遅延時間、送信最小遅延時間および送信遅延ジッタと、受信最大遅延時間、受信最小遅延時間および受信遅延ジッタとが、設定される。
【０１１６】
次の運用期間においては、実施の形態１〜４で説明したように、内部ゲートステートを生成し、内部ゲートステートのオープン期間において装置間の通信を行う。
【０１１７】
実施の形態５によれば、実際に通信を行うことにより、送信最大遅延時間、送信最小遅延時間および送信遅延ジッタと、受信最大遅延時間、受信最小遅延時間および受信遅延ジッタとが求められるため、トレーニングを実施したときの周囲環境に応じた内部ゲートステートを生成することが可能である。
【０１１８】
なお、運用期間において、適時、初期化動作とトレーニング動作が実行されるようにしてもよい。このようにすることにより、環境変動の影響を低減することが可能である。
【０１１９】
＜効果＞
図１９は、更なる課題を説明するための図である。図１９は、図２３と類似している。図１９においても、図２３と同様に、キュー０外部ゲートステートがオープンの期間に、プロセッサ１０２とセンサ１０８との間で通信が行われている。キュー０外部ゲートステートのオープン期間には、図２３で説明したようにマージンが設定されている。また、図１９では、センサ１０６が、キュー０外部ゲートステートのオープン期間およびクローズ期間を無視した異常なフレームデータＱ０＿ｆｒａｍｅ１をイーサネットバス５に送信した場合が示されている。
【０１２０】
キュー０外部ゲートステートのオープン期間はマージンが設定されているため、マージンの期間において、センサ１０８は、プロセッサ１０２から送信されたフレームデータＱ０＿ｆｒａｍｅ１ではなく、センサ１０６からの異常なフレームデータを受信してしまう危険性がある。すなわち、外部ゲートステートのオープン期間およびクローズ期間を無視した異常なフレームデータを、イーサネットバス５に送信することにより、例えばセンサ１０８に任意の動作をさせることが可能となるため、セキュリティが低下することになる。
【０１２１】
また、センサ１０８からプロセッサ１０２にフレームデータを送信する場合、マージンに差し掛かるようなフレームデータＱ０＿ｆｒａｍｅ２を送信すると、フレームデータＱ０＿ｆｒａｍｅ２の一部が、図１９に示すようにクローズ期間に掛かり、送信できない場合がある。そのため、データ長の長いフレームデータを送信することができず、レイテンシが低下し、効率が低下することになる。
【０１２２】
図２０は、実施の形態に係わる通信システムの効果を説明するための図である。同図において、紙面上側は、図１９に示した通信システムにおける外部ゲートステートを示している。また、図２０の紙面下側には、例として実施の形態２に係わる通信システムにおけるゲートステートが示されている。
【０１２３】
フレームデータを通信するのに必要なトラフィックの時間を２，０００ｎｓと仮定した場合、フレームデータの前後に、例えばフレームデータの２０％程度のマージンが設定される。すなわち、外部ゲートステートがクローズ期間からオープン期間に切り替わるときと、オープン期間からクローズ期間の切り替わるときに、それぞれ４００ｎｓのマージンが設定される。その結果、外部ゲートステートのオープン期間は、２，０００ｎｓ＋８００ｎｓ＝２，８００ｎｓと設定される。
【０１２４】
これに対して、実施の形態２における内部ゲートステートのマージンは、クローズ期間からオープン期間に切り替わるときに、送信最小遅延時間または受信最小遅延時間で済む。また、内部ゲートステートが、オープン期間からクローズ期間に切り替わるときのマージンは、送信最大遅延時間または受信最大遅延時間となる。送信最大遅延時間および受信最大遅延時間は、例えば５０ｎｓ未満である。そのため、実施の形態２においては、図２０に示すように、フレームデータを通信するのに必要なトラフィックの時間２，０００ｎｓの前後に、例えば５０ｎｓのマージンを設定するだけで済む。すなわち、マージンを４００ｎｓから５０ｎｓ未満に抑制することができる。
【０１２５】
通信システムにおける通信レート、すなわちイーサネットの通信レートを１Ｇｂｐｓと想定すると、１ｎｓで１ｂｉｔの通信が可能である。マージンとして連続した４００ｎｓが設定されていると、マージンの期間に４００ｂｉｔの通信が可能となる。一方、イーサネットのヘッダＨＤは、１７６ｂｉｔである。そのため、マージンの期間に、異常なフレームデータのヘッダを挿入することが可能となり、十分なセキュリティを担保するうえで望ましいとは言えない。これに対して、実施の形態２に係わる通信システムでは、内部ゲートステートにおけるマージンは、ヘッダＨＤを通信するのに必要な時間１７６ｎｓよりも短い５０ｎｓとなるため、異常なフレームデータが送受信により挿入されるのを防ぐことが可能である。その結果、実施の形態においては、十分なセキュリティを担保することが可能である。
【０１２６】
図２１は、実施の形態に係わる通信システムの効果を説明するための図である。図２１には、図１９の通信システムにおけるシーケンスと実施の形態２によるシーケンスが示されている。それぞれのシーケンスにおいて、キュー外部ゲートステートがオープン期間とクローズ期間を備えており、オープン期間においてデータ通信が許容される。図２１には、各シーケンスにおけるキュー外部ゲートステートとして、キュー０外部ゲートステート：カメラ〜キュー３外部ゲートステート：ソナーが示されている。キュー０外部ゲートステート：カメラ〜キュー３外部ゲートステート：ソナーは、図２と同じである。
【０１２７】
図１９の通信システムでは、外部ゲートステートのオープン期間は、図２に示したオープン期間に対して、前後にマージン４００ｎｓが設定され、８００ｎｓのマージンが追加されている。そのため、例えばキュー０外部ゲートステート：カメラでは、オープン期間が２，８００ｎｓとなっており、キュー３外部ゲートステート：ソナーでは、オープン期間が１，８００ｎｓとなっている。８００ｎｓのマージンが追加されたオープン期間とクローズ期間の和が、１つのシーケンスを実行するのに必要な時間となる。
【０１２８】
前記したように、実施の形態２においては、内部ゲートステートのオープン期間に追加されるマージン期間は、１００ｎｓと短いため、内部ゲートステートのオープン期間を短くすることができる。図２１では、実施の形態２による外部ゲートステートのオープン期間として、内部ゲートステートのオープン期間を設定した場合が示されている。そのため、例えばキュー０外部ゲートステート：カメラでは、オープン期間が２，１００ｎｓとなっており、キュー３外部ゲートステート：ソナーでは、オープン期間が１，１００ｎｓとなっている。すなわち、１つのシーケンスを実行するのに必要な時間を短くすることが可能である。これにより、図２１に示すように、図１９の通信システムでは、シーケンス１〜シーケンス４の４つのシーケンスしか実行することができない期間に、実施の形態２によるシーケンスでは、シーケンス１〜シーケンス５の５つのシーケンスを実行することが可能である。すなわち、実施の形態によれば、レイテンシを向上させることが可能であり、通信システムの効率を向上させることが可能である。
【０１２９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１３０】
１、１００  通信システム
２、３、４  スイッチコントローラ
５、５＿１、５＿２  イーサネットバス
６  半導体装置
７  トランシーバ
７Ａ  トランシーバユニット
８、２７  プロセッサ
９、２０  ＴＳＮコントローラ
１０、１１、１０６、１０８  センサ
２１  設定レジスタ
２２  バッファ
２３  制御部
２４  入出力回路
２５、２５＿１０６、２５＿１０８  時計ユニット
２６  入出力ユニット
３１  内部バス
【図１】
2020107990.tif 000003
【図２】
2020107990.tif 000004
【図３】
2020107990.tif 000005
【図４】
2020107990.tif 000006
【図５】
2020107990.tif 000007
【図６】
2020107990.tif 000008
【図７】
2020107990.tif 000009
【図８】
2020107990.tif 000010
【図９】
2020107990.tif 000011
【図１０】
2020107990.tif 000012
【図１１】
2020107990.tif 000013
【図１２】
2020107990.tif 000014
【図１３】
2020107990.tif 000015
【図１４】
2020107990.tif 000016
【図１５】
2020107990.tif 000017
【図１６】
2020107990.tif 000018
【図１７】
2020107990.tif 000019
【図１８】
2020107990.tif 000020
【図１９】
2020107990.tif 000021
【図２０】
2020107990.tif 000022
【図２１】
2020107990.tif 000023
【図２２】
2020107990.tif 000024
【図２３】
2020107990.tif 000025