(57)【特許請求の範囲】
【請求項１】
予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第１のネットワークを介してデータの送受信を行う第１の通信手段と、
前記第１のネットワークとは異なる第２のネットワークに接続され、前記第１の通信手段で受信したデータの送信および前記第１の通信手段で送信するデータの前記第２のネットワークからの受信を行う第２の通信手段と、
前記データ送受信タイミングデータの生成でリアルタイム性の要求される処理を実施する送受信タイミングデータ生成手段と、
前記第１の通信手段、前記第２の通信手段および前記送受信タイミングデータ生成手段とはバスを介して接続され、前記第１の通信手段の送受信データと前記第２の通信手段の送受信データを記憶すると共に、前記送受信タイミングデータ生成手段がアクセスを行う共通メモリと、
前記バスを介して行われる前記共通メモリへの前記第１の通信手段、前記第２の通信手段および前記送受信タイミングデータ生成手段からのデータ書き込み／読み出し要求を調停すると共に、前記送受信タイミングデータ生成手段で前記データ送受信タイミングデータの生成を実施する場合は、当該送受信タイミングデータ生成手段のバス調停の優先順位を、前記第２の通信手段にて受信した受信データの前記共通メモリへの書き込みおよび前記第２の通信手段から送信される送信データの前記共通メモリからの読み出し要求より高くし、他の処理では前記第１の通信手段および前記第２の通信手段にて受信した受信データの前記共通メモリへの書き込みと、前記第１の通信手段および前記第２の通信手段で送信する送信データの前記共通メモリからの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段とを備えたデータ送受信装置。
【請求項２】
バス調停手段は、少なくとも、送受信タイミングデータ生成手段がデータ送受信タイミングデータの生成を行う場合は、第１の通信手段および第２の通信手段が共通メモリへアクセスする際のデータ長を短く制限するよう制御することを特徴とする請求項１項記載のデータ送受信装置。
【請求項３】
送受信タイミングデータ生成手段は、予め定められた周期で送信されるデータ送受信タイミングデータの送信タイミングを管理する管理タイマを有し、
バス調停手段は、前記管理タイマが所定の時刻になった際に、前記送受信タイミングデータ生成手段の優先順位を上げると共に、前記送受信タイミングデータ生成手段での前記データ送受信タイミングデータ作成が完了した場合は、優先順位を下げるよう制御することを特徴とする請求項１または請求項２記載のデータ送受信装置。
【請求項４】
バス調停手段は、処理毎にバスアクセス権の最大遅延時間を設定し、当該最大遅延時間を超えた処理が存在した場合は前記処理のバスアクセス権の優先度を高くすることを特徴とする請求項１から請求項３のうちのいずれか１項記載のデータ送受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、光通信、無線、あるいは高速ＰＬＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などのネットワークシステムにおけるデータ送受信装置に関するものである。
【背景技術】
【０００２】
無線、あるいは高速ＰＬＣなどのネットワークシステムでは、その伝送路の特性は時々刻々と変化する。そのため、一般的に受信データを監視しておき、周辺ノイズなどの影響で通信状態が悪化した場合は、物理層での変調方式を切り換えてデータの送受信を実施する。また、無線、あるいは高速ＰＬＣなどのシステムでは、映像、あるいは音声などのリアルタイム性を要求されるデータの送受信のためＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式を採用しデータを伝送する方式なども導入されつつある。具体的には、例えばＡＲＩＢにて標準規格化されたＨｉＳＷＡＮａ（ＡＲＩＢ  ＳＴＤ−Ｔ７０  １．０版）などがある。
【０００３】
以下、上記ＨｉＳＷＡＮａ規格に採用されたＴＤＭＡ方式の概要を簡単に説明する。
ＨｉＳＷＡＮａで採用されたＴＤＭＡ方式は、管理端末と呼ばれる１台の端末によりネットワーク内の各端末は管理される。管理端末は、ネットワーク全体の時刻同期を管理するためＢｅａｃｏｎ信号と呼ばれるパケットデータ（以下、ＢＣＨと記す。）を予め定められた周期で同報通信する（ＨｉＳＷＡＮａでは２ｍｓ周期）。尚、図１０に、１Ｂｅａｃｏｎ周期内（以下、１フレームと記す。）の各種データの送受信タイミングを示している。
【０００４】
ネットワーク内に配置された各端末は該ＢＣＨを受信すると、それを基準に、端末内の基準時刻情報をリセットすると共に、管理端末より送信される各種制御パケットの受信準備を開始する。管理端末は、ＢＣＨ送出後、次にネットワークに接続された各端末のデータ送受信スケジュールを含むネットワークシステム制御用のパケットデータ（以下、ＦＣＨと記す。）をネットワークに接続された各端末に対して同報通信する。上記ＦＣＨには、ネットワークに接続された各端末のデータ送信、および受信のスケジュール（データの送受信スロット情報（送受信開始タイミング情報、データ送受信時間情報）など）が付加され送信される。各端末は、ＦＣＨを受信すると自端末がデータを受信するタイミングと自端末がデータを送信するタイミングを検出する。
【０００５】
管理端末は、ＦＣＨ送信に引き続き、端末に対して送信要求受信通知（以下、ＡＣＨと記す）を送信する。管理端末より、上記ＢＣＨ、ＦＣＨ、ＡＣＨの各パケットデータの送信が完了すると、ＦＣＨにて通知されたスケジュールに基づき各端末はパケットデータの受信、および送信動作を開始する（以下、各端末間でデータの送受信を行う期間をＴＣＨと記す）。ＴＤＭＡ方式では、管理端末は送信したいデータを持つ端末についてのみデータ送信スロットをスケジューリングする。従って、送信したいデータを持つ端末は、管理端末に対して自端末のデータを送信するためのスロットを割り振るよう要求する必要がある。このようなＨｉＳＷＡＮａ規格で採用されたＴＤＭＡ方式では、各端末より送信リクエストを受け付けるため、１Ｂｅａｃｏｎ周期内（以下、１フレームと記す。）の最後に、各端末からの上記送信スロット要求リクエスト（帯域割り当て要求）を受け付けるためのＣＳＭＡ期間（以下、ＲＣＨ期間と記す。）を準備している。管理端末は、ＲＣＨの期間に上記送信スロット要求リクエストを受け取った端末に対しては次のＢｅａｃｏｎ周期内のＡＣＨにて帯域割り当て要求を受け取った端末に対してその旨を通知する。
【０００６】
以下、従来のバス調停装置（以下、本文中ではバス調停回路、バス調停手段とも表記する）について説明する。
従来のバス調停装置は、バス調停装置に接続されている複数のバスマスタからのアクセス要求を、予め定められた優先順位に基づいて許可を与える優先度固定方式、各バスマスタからアクセス要求をほぼ均等に割り当てるようにするローテーション方式などがある。優先度固定方式は、優先順位の低いバスマスタについては共通メモリへのアクセス権が全く与えられず、システムが破綻してしまう場合がある。一方、ローテーション方式の場合は、均等にバスアクセス権は各バスマスタに与えられるが、リアルタイム性の要求されないバスマスタに対しても多くのバスアクセス権が与えられるため、システムとしてバス性能を必要以上にあげるため回路規模が増加してしまう。また、優先度固定方式の改良版としては、予め定められた期間以上アクセス権が与えられないバスマスタについては優先度を上げる方式などが考案されている。更には、各バスマスタのアクセス権の要求頻度をＣＰＵにて監視し、要求頻度に応じてＣＰＵによりダイナミックに優先度を変更する方式も例えば特許文献１等に記載されている。また、例えば、特許文献２では、複数のバスマスタからの各要求の優先順位を所定時間間隔毎に設定を変更する優先順位制御部と優先順位制御部によって設定が変更された優先順位に基づきバスを調停する方式が記載されている。
【０００７】
以下、上記ＨｉＳＷＡＮａ規格をベースとしたＴＤＭＡ方式を、例えば高速ＰＬＣに適用した場合の例を元に、従来のデータ送受信装置におけるバス調停装置の動作について説明する。上述したように、ＴＤＭＡ方式を採用するネットワークシステムの管理端末は、各クライアント端末に送信するデータ、および各クライアント端末の帯域割り当て要求に基づきそれぞれのクライアント端末に割り当てる送受信のためのタイムスロットのスケジューリングを実施する。その際、フレキシブルにスケジューリングを実施するため、ＣＰＵにてスケジューリングを実施する場合が多い。
また、電灯線を用いたデータ通信では、コンセントに接続された例えば家電機器の動作状況に応じて伝送路の特性は時々刻々と変化する。ＣＰＵは、コンセントに接続された各クライアント端末との通信状態を監視し、時々刻々と変化する伝送路特性に合わせ、伝送路に送出するデータに施す変調方式を切り換える指示を、高速ＰＬＣのＰＨＹ部（物理層）に出力する。更に、ＣＰＵは管理端末全体の制御（機器管理）、あるいは新規に接続されたクライアント端末からのネットワーク接続要求に対して、機器認証などを実施する。
【０００８】
一般に、上記処理をＣＰＵにて実施する場合、スケジューリングは例えば予め定められた期間（１０ｍｓ程度）で処理を終了させる必要があるのに対して、機器管理や伝送路推定などは、数百ｍｓから数秒で１回の処理が終了すればよい。
【０００９】
【特許文献１】特開平６−２４３０９２号公報
【特許文献２】特開２００６−３０９５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、このようなシステムで、特許文献１の従来例に記載されている優先度固定方式によるバス調停を行った場合、具体的には、受信データ、送信データ、およびＣＰＵプログラムを共通メモリに格納し、予め定められた優先順位に基づき共通メモリへのアクセス権を与えるような場合、バス調停装置でのＣＰＵの優先順位はあまり高くすることはできない。即ち、ＣＰＵの優先順位を高くすると、リアルタイム性の要求されるスケジューリング処理は問題なく実施することができる。ところが、通常数百ｍｓ〜数秒で完了すれば良い、リアルタイム性の要求されない伝送路推定などの処理のために、共通メモリへのアクセス権がＣＰＵに割り当てられてしまうため、ＰＬＣネットワークへの送信データの読み出し要求、あるいは受信データの書き込み要求、あるいはＥｔｈｅｒｎｅｔ（登録商標／以下、記載を省略する）などの他の通信インタフェースからのデータの送信データの読み出し要求、あるいは受信データの書き込み要求に対して共通メモリへのアクセス権が与えられず、オーバーランエラーやアンダーランエラーが発生してしまうという問題が発生する。同様に、ローテーション方式を採用した場合でもＣＰＵに必要以上のアクセス権が与えられてしまい、同様の問題が発生する。尚、上述のような制御を行った場合、ＣＰＵのパフォーマンスが上がるため伝送路推定などを実施する周期は短くなるが、ＣＰＵを除く周辺ペリフェラルの共通メモリへのデータアクセス量は減ることになる。
【００１１】
一方、ＣＰＵの優先順位を低くしてしまうと、上記スケジューリングなどのリアルタイム性の要求される処理が所定に時間以内に完了せず、スケジュールデータをクライアント端末に対して同報通信できないため、ＰＬＣネットワークシステム自体が破綻してしまうという問題が発生する。このような問題を解決するためには、ＣＰＵからの共通メモリへのアクセス回数を減らすため命令キャッシュメモリのメモリ容量を必要以上に大きくする、あるいはスケジューリング処理のプログラムだけＣＰＵ専用に独立したメモリを設けるなど、リアルタイム性を確保するための対策が必要となり、回路規模が必要以上に大きくなってしまうという問題が発生する。更に、命令キャッシュメモリ、あるいはＣＰＵ専用に独立したメモリを設ける場合でも、例えばＬＳＩ開発中では正確なプログラムサイズがわからないためメモリサイズ決定の際にマージンを取り必要以上に回路規模が大きくなってしまう。
【００１２】
また、スケジューリングは、管理端末に記憶されているＰＬＣネットワークへのデータ送信パケット数、および各クライアント端末からの送信帯域要求量によって処理時間が大きく変化する。このような問題に対処するためには、例えば特許文献２に示すように、予め定められたタイムスロット期間だけＣＰＵの優先順位を上げる方法もある。しかしながら、このような方法でも、上記タイムスロット幅を、スケジューリングする際のワーストケース以上に設定する必要があり、優先度固定方式と比較した場合、効果はあるものの、ＣＰＵに対して必要以上に優先度を割り当てるためデータ送受信性能を落としてしまうという新たな問題が発生する。
【００１３】
この発明は上記のような課題を解決するためになされたもので、リアルタイム性の要求されるスケジューリングなどの処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができるデータ送受信装置を得ることを目的とする。
【課題を解決するための手段】
【００１４】
この発明に係るデータ送受信装置は、予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第１のネットワークを介してデータの送受信を行う第１の通信手段と、前記第１のネットワークとは異なる第２のネットワークに接続され、第１の通信手段で受信したデータの送信および第１の通信手段で送信するデータの第２のネットワークからの受信を行う第２の通信手段と、データ送受信タイミングデータの生成でリアルタイム性の要求される処理を実施する送受信タイミングデータ生成手段と、第１の通信手段、第２の通信手段および送受信タイミングデータ生成手段とはバスを介して接続され、第１の通信手段の送受信データと第２の通信手段の送受信データを記憶すると共に、送受信タイミングデータ生成手段がアクセスを行う共通メモリと、バスを介して行われる共通メモリへの第１の通信手段、第２の通信手段および送受信タイミングデータ生成手段からのデータ書き込み／読み出し要求を調停すると共に、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、送受信タイミングデータ生成手段のバス調停の優先順位を、第２の通信手段にて受信した受信データの共通メモリへの書き込みおよび第２の通信手段から送信される送信データの共通メモリからの読み出し要求より高くし、他の処理では第１の通信手段および第２の通信手段にて受信した受信データの共通メモリへの書き込みと、第１の通信手段および第２の通信手段で送信する送信データの共通メモリからの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停回路とを備えたものである。
【発明の効果】
【００１５】
この発明のデータ送受信装置は、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、送受信タイミングデータ生成手段のバス調停の優先順位を、第２の通信手段にて受信した受信データの共通メモリへの書き込みおよび第２の通信手段から送信される送信データの共通メモリからの読み出し要求より高くし、他の処理では第１の通信手段および第２の通信手段にて受信した受信データの共通メモリへの書き込みと、第１の通信手段および第２の通信手段で送信する送信データの共通メモリからの読み出しよりバス調停の際の優先順位を低くするようにしたので、リアルタイム性の要求されるスケジューリングなどの処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１．
図１は、本発明の実施の形態１に係るデータ送受信装置を適用する高速ＰＬＣネットワークシステムの概略を示す構成図である。
図示のネットワークシステムは、管理端末１、クライアント端末２，３，４、電灯線５コンセント６，７，８，９、からなる。
管理端末１は、高速ＰＬＣネットワーク全体を管理する端末であり、コンセント６は管理端末１と電灯線５とを接続するためのコンセントである。クライアント端末２〜４は、それぞれコンセント７〜９により電灯線５に接続され、ＰＬＣネットワークシステムに接続されたクライアント端末である。図示のように、実施の形態１では、管理端末１、クライアント端末２〜４によって高速ＰＬＣネットワークシステムを構成している。尚、図１に示された高速ＰＬＣネットワークシステムの構成は、本発明のデータ送受信装置が適用できるシステム構成の一例として高速ＰＬＣを用いた場合について示したものであり、本発明のデータ送受信装置は、他の構成を持つ高速ＰＬＣネットワークシステム、無線ＬＡＮを用いたネットワーク、光を用いたネットワーク、Ｅｔｈｅｒｎｅｔ(登録商標)を用いたネットワークなどの他のシステムにも同様に適用可能である。
【００１７】
次に、図１を用いて高速ＰＬＣネットワーク内での管理端末１の動作について説明する。実施の形態１では、ＭＡＣ制御方式として、背景技術で説明したＨｉＳＷＡＮａで用いられているＴＤＭＡ方式を採用した場合を例に説明する。管理端末１は、最初にネットワーク全体の時刻同期を管理するためＢＣＨ（Ｂｅａｃｏｎ信号）を、予め定められた周期で同報通信する。ＢＣＨ送信後、管理端末１は高速ＰＬＣネットワーク内の各クライアント端末２〜４のデータ受信、およびデータ送信タイミング情報（ＦＣＨ）を同報通信する。ＦＣＨ送信後、前フレームで各クライアント端末２〜４より出力されるＲＣＨを受信した場合、ＲＣＨの送信端末に対して正常受信したことを通知するＡＣＨを出力する。
【００１８】
ＡＣＨ送信後は、ＦＣＨにて送信されたスケジュールに基づき、管理端末１とクライアント端末２〜４は、各端末間でデータの送受信を実施する。尚、ＦＣＨの詳細については後述する。ＦＣＨでのスケジュールに基づくデータの送受信が終了すると、各クライアント端末は送信データを持っている場合はＲＣＨの期間に管理端末１に対して帯域割り当て要求を出力する。尚、ＴＤＭＡ方式を用いた上記ＢＣＨ、ＦＣＨ、ＡＣＨ、ＲＣＨ信号の送受信タイミングの詳細については後述する。
【００１９】
次に、各クライアント端末２〜４の動作について説明する。
クライアント端末２〜４は、管理端末１より出力されるＢＣＨ信号を受信すると、その受信タイミングを元に自端末内の基準時刻の補正を実施する。ＢＣＨを用いた基準時刻補正実施後、各クライアント端末２〜４は、管理端末１より出力されるＦＣＨを元に自端末のデータ送信タイミング、およびデータ受信タイミングを、ＭＡＣ部、および変復調部に通知する（これらの構成の詳細については、図７を用いて後述する）。データ送信、および受信タイミングの通知を受けると変復調部はＢＣＨにより補正された基準時刻情報を元にデータの送信、および受信準備を開始する。
具体的には、データ受信の場合は、ＦＣＨに基づく受信時刻になると高速ＰＬＣデータ復調回路部は、データ受信動作を開始し、データの先頭に予め付加されているプリアンブル情報の検出を実施する。プリアンブル情報が所定のタイミングで検出されると、高速ＰＬＣデータ復調回路部は検出したプリアンブル情報を元に受信データの先頭を検出して受信データを復調し、復調したデータをＭＡＣ部に出力する。一方、所定のタイミングでプリアンプルが検出できない場合は、高速ＰＬＣデータ復調回路部はＭＡＣ部に対して受信できなかった旨を通知する。
【００２０】
また、データ送信の場合は、ＦＣＨに基づく送信時刻が近づくとＭＡＣ部は送信データの生成を開始する。ＭＡＣ部にて送信データの生成が完了すると、高速ＰＬＣデータ変調回路部に予め定められたタイミングで出力する（これらの構成の詳細についても、図６を用いて後述する）。高速ＰＬＣデータ変調回路部ではＭＡＣ部より出力される送信データに対して変調を施すと共に、プリアンブル情報を付加して所定のタイミングで電灯線５に送信データを送出する。
【００２１】
次に、図２〜図７を用いて高速ＰＬＣ端末の構成を説明する。
図２は高速ＰＬＣネットワークシステムの端末として用いる本発明のデータ送受信装置の概略ブロック構成図である。
図示のように、データ送受信装置１０は、ＣＰＵ１１、Ｅｔｈｅｒｎｅｔインタフェース回路１２、ブリッジインタフェース回路１３、バス調停回路１４、共通メモリ１５、ＰＬＣモデム回路１６、ＣＰＵバス１７からなる。このデータ送受信装置１０は、図１で示した管理端末１やクライアント端末２〜４に相当するものである。
ＣＰＵ１１は、データ送受信装置１０各部の制御を行うと共に、後述するスケジュール生成を行うためのプロセッサである。Ｅｔｈｅｒｎｅｔインタフェース回路１２は、Ｅｔｈｅｒｎｅｔネットワーク（第２のネットワーク）に接続される入力端子２０より、Ｅｔｈｅｒｎｅｔフレームデータを入力し、また、Ｅｔｈｅｒｎｅｔネットワークに接続される出力端子２１を介してＥｔｈｅｒｎｅｔフレームデータを出力するためのインタフェースである。ブリッジインタフェース回路１３は、Ｅｔｈｅｒｎｅｔインタフェース回路１２より入力されるＥｔｈｅｒｎｅｔフレームデータ、Ｅｔｈｅｒｎｅｔインタフェース回路１２へ出力されるＥｔｈｅｒｎｅｔフレームデータ、ＰＬＣモデム回路１６へ出力されるＥｔｈｅｒｎｅｔフレームデータ、ＰＬＣモデム回路１６から入力されるＥｔｈｅｒｎｅｔフレームデータをブリッジするブリッジインタフェース回路である。また、これらＥｔｈｅｒｎｅｔインタフェース回路１２及びブリッジインタフェース回路１３によって、第１のネットワークとは異なる第２のネットワークに接続され、第１の通信手段で受信したデータの第２のネットワークのへの送信および第１の通信手段で送信するデータの第２のネットワークからの受信を行う第２の通信手段が構成されている。尚、第１のネットワークおよび第１の通信手段はＰＬＣネットワークおよびＰＬＣモデム回路１６に相当するが、これらについては後述する。
【００２２】
一般に、高速ＰＬＣネットワークでは、電灯線５に接続された各端末を論理ポートという概念を用い、ブリッジインタフェース回路１３にて宛先（図１中の管理端末１、クライアント端末２〜４）毎にデータを振り分け、ブリッジ用メモリ内にキューイングする（尚、実施の形態１では、共通メモリ１５内にキューイングする）。具体的には、Ｅｔｈｅｒｎｅｔインタフェース回路１２より入力されるＥｔｈｅｒｎｅｔフレームデータをその行き先毎に共通メモリ１５内に設けられたクライアント端末毎に準備されたメモリ書き込み領域に振り分けて記憶する。尚、実施の形態１では、上記共通メモリ１５内の該メモリ書き込み領域は、クライアント端末毎に固定領域を割り当てるものとして説明するが、共通メモリ１５の構成は、これに限るものではなく、書き込みアドレスをポインタで管理し、受信データ量に応じて各クライアント端末に記憶できるＥｔｈｅｒｎｅｔフレームデータのパケット数を可変にしても良いことは言うまでもない。
【００２３】
バス調停回路１４は、ブリッジインタフェース回路１３からの受信Ｅｔｈｅｒｎｅｔフレームデータの書き込み要求、Ｅｔｈｅｒｎｅｔインタフェース回路１２からの送信Ｅｔｈｅｒｎｅｔフレームデータの読み出し要求、ＣＰＵ１１からのプログラムの読み出し要求およびデータの書き込み要求、ＰＬＣモデム回路１６からの送信用のＥｔｈｅｒｎｅｔフレームデータの読み出し要求、各クライアント端末から受信したＥｔｈｅｒｎｅｔフレームの書き込み要求、データ送受信の際のＰＬＣモデム回路１６からの制御データ読み出し要求を調停する回路である。
【００２４】
即ち、バス調停回路１４は、ＣＰＵバス１７を介して行われる共通メモリ１５への第１の通信手段、第２の通信手段および送受信タイミングデータ生成手段からのデータ書き込み／読み出し要求を調停すると共に、共通メモリ１５へのデータの書き込み／読み出し調停を実施する場合、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、第２の通信手段にて受信した受信データの共通メモリ１５への書き込みおよび第２の通信手段からの送信データの共通メモリ１５からの読み出し要求よりバス調停の際の優先順位を高くし、他の処理では第１の通信手段および第２の通信手段にて受信した受信データの共通メモリ１５への書き込みおよび送信する送信データの共通メモリ１５からの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段を構成している。
【００２５】
共通メモリ１５は、Ｅｔｈｅｒｎｅｔインタフェース回路１２で送受信するＥｔｈｅｒｎｅｔフレームデータ、ＰＬＣモデム回路１６におけるＰＬＣ送信データやＰＬＣ受信データを記憶すると共に、スケジュール生成のためのデータや各種のプログラムを記憶するためのメモリであり、各ペリフェラルやＣＰＵ１１によってアクセスされる。尚、ペリフェラルとは、例えば、図２に示すデータ送受信装置１０の場合、共通メモリ１５（バス調停回路１４）から見た接続回路ブロック（アクセス要求のある回路ブロック）であり、Ｅｔｈｅｒｎｅｔインタフェース回路１２、ブリッジインタフェース回路１３およびＰＬＣモデム回路１６等が相当する。
ＰＬＣモデム回路１６は、出力端子２２を介して第１のネットワークであるＰＬＣネットワークに対してＰＬＣ送信データを出力すると共に、入力端子２３を介してＰＬＣネットワークからＰＬＣ受信データを取得する回路である。ＣＰＵバス１７は、ＣＰＵ１１、Ｅｔｈｅｒｎｅｔインタフェース回路１２、ブリッジインタフェース回路１３、バス調停回路１４、ＰＬＣモデム回路１６を相互に接続するバスである。
【００２６】
図３は、図２に示す高速ＰＬＣを用いたデータ送受信装置１０内のバス調停回路１４の概略ブロック構成図である。
図示のように、バス調停回路１４は、優先度制御回路１０１、バス制御回路１０２、セレクタ１０３、Ｉ／Ｏ制御回路１０４を備えている。優先度制御回路１０１は、バス競合時に共通メモリ１５へのアクセス権を与える際の優先度を出力する制御回路である。バス制御回路１０２は、優先度制御回路１０１から出力される優先度情報を元に、各ペリフェラルから入力される共通メモリ１５へのアクセス要求を調停し、優先度の高い要求に対してアクセス受付信号を出力する制御回路である。
【００２７】
図３におけるセレクタ１０３は、バス制御回路１０２より出力されるセレクト信号の出力に基づき、共通メモリ１５へ出力するメモリ制御信号、および書き込みデータを選択するセレクタである。Ｉ／Ｏ制御回路１０４は、共通メモリ１５へのデータ書き込み時はセレクタ１０３より出力される共通メモリ書き込みデータを出力し、データ読み出し時には、共通メモリ１５より読み出したデータを出力端子１３２を介してＣＰＵバス１７に出力する制御回路である。
【００２８】
入力端子１１１，１１２は優先度制御回路１０１の入力端子である。入力端子１１１は、ＣＰＵ１１でのスケジューリング処理完了を通知する優先順位切り換え完了信号の入力端子、入力端子１１２は、ＰＬＣネットワーク制御データ生成回路４０４（後述する図６参照）から出力されるバス調停回路１４内のバス優先順位切り換え開始を指し示すタイミング信号の入力端子である。
また、入力端子１１３〜１１８はバス制御回路１０２の入力端子である。入力端子１１３は、ＣＰＵ１１からのデータ書き込み／読み出し要求信号の入力端子、入力端子１１４は、ＰＬＣ送信制御回路４０（後述する図５、図６参照）からのＰＬＣ制御データ読み出し制御要求信号の入力端子、入力端子１１５は、Ｅｔｈｅｒｎｅｔ受信データの書き込み要求信号の入力端子、入力端子１１６は、Ｅｔｈｅｒｎｅｔ送信データの読み出し要求信号の入力端子、入力端子１１７は、ＰＬＣ受信データのデータ書き込み要求信号の入力端子、入力端子１１８はＰＬＣ送信データの読み出し要求信号の入力端子である。
【００２９】
出力端子１１９〜１２５は、バス制御回路１０２の出力端子である。出力端子１１９は、各ペリフェラルに対して共通メモリ１５のバスがビジーであることを通知する共通メモリビジー信号の出力端子、出力端子１２０は、ＣＰＵ１１のデータ書き込み／読み出し要求受付信号の出力端子、出力端子１２１は、ＰＬＣ送信制御回路４０からのＰＬＣ制御データ読み出し制御要求受付信号の出力端子、出力端子１２２は、Ｅｔｈｅｒｎｅｔ受信データの書き込み要求受付信号の出力端子、出力端子１２３は、Ｅｔｈｅｒｎｅｔ送信データの読み出し要求受付信号の出力端子、出力端子１２４は、ＰＬＣ受信データのデータ書き込み要求受付信号の出力端子、出力端子１２５は、ＰＬＣ送信データの読み出し要求受付信号の出力端子である。
【００３０】
入力端子１２６〜１３１は、セレクタ１０３の入力端子である。入力端子１２６は、ＣＰＵデータ書き込み／読み出し制御信号の入力端子、入力端子１２７はＰＬＣ制御データ読み出し制御信号の入力端子、入力端子１２８はＥｔｈｅｒｎｅｔ受信データ書き込み制御信号の入力端子、入力端子１２９はＥｔｈｅｒｎｅｔ送信データ読み出し制御信号の入力端子、入力端子１３０はＰＬＣ受信データ書き込み制御信号の入力端子、入力端子１３１はＰＬＣ送信データ読み出し制御信号の入力端子である。
出力端子１３２〜１３４は、Ｉ／Ｏ制御回路１０４の出力端子である。出力端子１３２は共通メモリ１５から読み出したデータの出力端子、出力端子１３３は共通メモリ１５へ書き込む書き込みデータの出力端子、出力端子１３４は共通メモリ１５へ出力する制御信号の出力端子である。
【００３１】
図４は、図３に示す優先度制御回路１０１の概略ブロック構成図である。
優先度制御回路１０１は、優先度テーブル（Ａ）１５１、優先度テーブル（Ｂ）１５２、バースト長テーブル（Ａ）１５３、バースト長テーブル（Ｂ）１５４、セレクタ１５５，１５６、セレクタ制御回路１５７、ＣＰＵバスインタフェース回路１５８を備えている。
優先度テーブル（Ａ）１５１及び優先度テーブル（Ｂ）１５２は、共通メモリ１５へのアクセス権の優先度を記憶した優先度テーブルであり、図示のように、優先度テーブル（Ｂ）１５２では優先度テーブル（Ａ）１５１に比べて、ＣＰＵデータ読み出し／書き込みの優先度が高くなるよう設定されている。また、バースト長テーブル（Ａ）１５３及びバースト長テーブル（Ｂ）１５４は、共通メモリ１５へのアクセスの際の最大バースト長を記憶したバースト長テーブルであり、バースト長テーブル（Ｂ）１５４のバースト長の方が、バースト長テーブル（Ａ）１５３のバースト長に比べて短くなるよう設定されている。セレクタ１５５は、優先度テーブル（Ａ）１５１と優先度テーブル（Ｂ）１５２の出力を切り換えるセレクタ、セレクタ１５６はバースト長テーブル（Ａ）１５３とバースト長テーブル（Ｂ）１５４の出力を切り換えるセレクタである。
【００３２】
セレクタ制御回路１５７は、ＰＬＣネットワーク制御データ生成回路４０４（後述する図６参照）の出力に基づき制御信号をセットし、ＣＰＵ１１より出力されるスケジューリング終了信号に基づき制御信号をリセットする制御回路である。ＣＰＵバスインタフェース回路１５８は、ＣＰＵ１１からの優先度テーブル（Ａ）１５１、優先度テーブル（Ｂ）１５２、バースト長テーブル（Ａ）１５３、およびバースト長テーブル（Ｂ）１５４へのアクセス要求に基づき各テーブル内へのデータの書き込み、テーブル内のデータの読み出しを実施するインタフェース回路である。
【００３３】
図５は、図２に示すＰＬＣモデム回路１６のブロック構成図である。
ＰＬＣモデム回路１６は、ＰＬＣ送信制御回路４０およびＰＬＣ受信制御回路５０を備えている。ＰＬＣ送信制御回路４０は、共通メモリ１５内に記憶されているＥｔｈｅｒｎｅｔインタフェース回路１２にて受信したＥｔｈｅｒｎｅｔフレームデータを複数個連結し、ＰＬＣ用のＭＡＣフレームを生成する送信制御回路である。ＰＬＣ受信制御回路５０は、電灯線５を介して受信したＰＬＣ用ＭＡＣフレームデータからＥｔｈｅｒｎｅｔフレームを分離し、共通メモリ１５に出力する受信制御回路である。
【００３４】
図６は、図５に示すＰＬＣ送信制御回路４０のブロック構成図である。
ＰＬＣ送信制御回路４０は、ＰＬＣヘッダ生成回路４０１、パケットデータ生成回路４０２、ＰＬＣ送受信タイミング生成回路４０３、ＰＬＣネットワーク制御データ生成回路４０４、ＰＬＣ送信用メモリ制御回路４０５、暗号化回路４０６、ＰＬＣヘッダ付加回路４０７、誤り訂正符号回路４０８、デジタル変調回路４０９を備えている。
【００３５】
ＰＬＣヘッダ生成回路４０１は、ＰＬＣフレームに付加するＭＡＣヘッダを生成する回路である。パケットデータ生成回路４０２は、データ入力端子３０から入力されるデータや、共通メモリ１５からＰＬＣ送信用メモリ制御回路４０５を介して読み出したＥｔｈｅｒｎｅｔフレームデータを複数個集めて送信データを生成する回路である。ＰＬＣ送受信タイミング生成回路４０３は、ＣＰＵ１１にて生成したスケジュール情報を元に、スケジュールデータを含む各種送信データの送信タイミング、および各クライアント端末からのデータの受信タイミングなどを生成する送受信タイミングの生成回路である。ＰＬＣネットワーク制御データ生成回路４０４は、ＰＬＣネットワークに接続されている各クライアント端末とデータの送受信をする際の、各サブキャリアの変調情報、スクランブル情報などを共通メモリ１５より読み出し、誤り訂正符号回路４０８、デジタル変調回路４０９およびＰＬＣ受信制御回路５０におけるデジタル復調回路５０１、誤り訂正復号回路５０３（後述する図７参照）に出力する回路である。
【００３６】
尚、ＰＬＣネットワーク制御データ生成回路４０４では、ＣＰＵ１１にて生成されたスケジュール情報、自端末のＭＡＣアドレス情報、ＰＬＣネットワークに接続されている各クライアント端末のＭＡＣアドレス情報、暗号化の際に使用するキー情報なども記憶される。また、ＰＬＣネットワーク制御データ生成回路４０４からは、バス調停回路１４に対してスケジューリング開始信号も出力される。
【００３７】
ＰＬＣ送信用メモリ制御回路４０５は、ＰＬＣ送受信タイミング生成回路４０３より出力される送信クライアント端末情報、Ｅｔｈｅｒｎｅｔフレームデータの連結情報、および送信タイミング情報を元に共通メモリ１５からのデータの読み出し制御信号を生成する回路である。尚、ＰＬＣ送信用メモリ制御回路４０５中にはメモリを内蔵しており、バス調停回路１４での共通メモリ１５へのアクセス権獲得までの遅延時間は該メモリで吸収する。暗号化回路４０６は、送信データに暗号化を施す回路である。ＰＬＣヘッダ付加回路４０７は、暗号化が施されたＭＡＣフレームの先頭にＰＬＣヘッダ生成回路４０１で生成したヘッダ情報を付加する回路である。誤り訂正符号回路４０８は、ＰＬＣヘッダ付加回路４０７より出力されるＭＡＣフレームデータに誤り訂正符号を付加する回路である。デジタル変調回路４０９は、誤り訂正符号回路４０８より出力される送信データの先頭にプリアンブル信号を付加すると共に、送信データにデジタル変調を施し出力する回路である。
【００３８】
図７は、図５に示すＰＬＣ受信制御回路５０のブロック構成図である。
ＰＬＣ受信制御回路５０は、デジタル復調回路５０１、ＰＬＣヘッダ解析回路５０２、誤り訂正復号回路５０３、暗号復号回路５０４、ＰＬＣ制御フレーム分離回路５０５、ＰＬＣ受信用メモリ制御回路５０６、ＰＬＣ受信タイミング生成回路５０７およびＰＬＣ制御フレームデータ記憶回路５０８で構成される。
【００３９】
デジタル復調回路５０１は、電灯線５を介して受信した受信信号にデジタル復調を施し、受信データを生成する回路である。ＰＬＣヘッダ解析回路５０２は、受信されたＰＬＣフレームよりＭＡＣヘッダを分離しその内容を解析する回路である。誤り訂正復号回路５０３は、受信されたＰＬＣフレームに送信時に付加された誤り訂正符号を元に受信ＰＬＣフレーム内に発生した誤りを訂正・検出する回路である。暗号復号回路５０４は、ヘッダ解析回路５０２より出力される暗号化の施されたデータを復号する回路である。ＰＬＣ制御フレーム分離回路５０５は、ＰＬＣフレームに付加されているスケジュール情報などを分離する回路である。ＰＬＣ受信用メモリ制御回路５０６は、ＰＬＣ制御フレーム分離回路５０５より出力されるデータよりＥｔｈｅｒｎｅｔフレームデータを再構成し、一旦、ＰＬＣ受信用メモリ制御回路５０６内の図示していないメモリに記憶し、誤り訂正復号回路５０３より出力される誤り検出結果に基づき、誤りなしと判定された受信データを共通メモリ１５に記憶する際の制御信号を生成する回路である。尚、ＰＬＣ受信用メモリ制御回路５０６では、誤り訂正復号回路５０３より受信データに誤りありとの結果が通知された場合は、自回路内の上記メモリ内に一旦記憶されたデータを破棄するよう制御する。
【００４０】
ＰＬＣ受信タイミング生成回路５０７は、ＰＬＣ制御フレームデータ記憶回路５０８に記憶されたスケジュールデータを読み込み、ＰＬＣネットワークからのデータ受信タイミングを生成する回路である。ＰＬＣ制御フレームデータ記憶回路５０８は、ＰＬＣ制御フレーム分離回路５０５により分離されたＰＬＣ制御フレーム情報を一旦記憶するための記憶回路である。
【００４１】
尚、ＰＬＣ送受信タイミング生成回路４０３、ＰＬＣネットワーク制御データ生成回路４０４およびＣＰＵ１１により、データ送受信タイミングデータの生成を行う送受信タイミングデータ生成手段が構成されている。また、これらのＰＬＣ送受信タイミング生成回路４０３およびＰＬＣネットワーク制御データ生成回路４０４を除くＰＬＣ送信制御回路４０とＰＬＣ受信制御回路５０の構成によって、予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第１のネットワークを介してデータの送受信を行う第１の通信手段が構成されている。
【００４２】
次に、図２から図１３を用いてバス調停回路１４の動作を説明する。
先ず、データ送受信装置１０におけるＰＬＣネットワークへのデータ送信時の動作を説明する。
入力端子２０を介して入力されたＥｔｈｅｒｎｅｔフレームデータは、Ｅｔｈｅｒｎｅｔインタフェース回路１２にて予めデータに付加されているＥｔｈｅｒｎｅｔ用ＭＡＣヘッダ情報を元にデータ長などの情報が分離解析され、ブリッジインタフェース回路１３へ出力される。ブリッジインタフェース回路１３では、Ｅｔｈｅｒｎｅｔインタフェース回路１２よりＥｔｈｅｒｎｅｔフレームデータが入力されると、Ｅｔｈｅｒｎｅｔ用のＭＡＣヘッダより、送信先ＭＡＣアドレス情報を用いて送り先ポートアドレスを検索する。Ｅｔｈｅｒｎｅｔフレームに付加されているＭＡＣヘッダ情報の解析が終了すると、ブリッジインタフェース回路１３は、受信したＥｔｈｅｒｎｅｔフレームデータを、送り先ポートの検出結果を元に共通メモリ１５への書き込みアドレスおよび書き込み制御信号を生成し、バス調停回路１４に対して、受信したＥｔｈｅｒｎｅｔフレームデータの書き込み要求を出力する。
【００４３】
バス調停回路１４では、入力端子１１５を介してブリッジインタフェース回路１３よりＥｔｈｅｒｎｅｔフレームデータの書き込み要求信号が入力されると、バス制御回路１０２は、現在共通メモリ１５に対して他の周辺ペリフェラルがアクセスを実施しているかを確認する。具体的には、出力端子１１９を介して出力されるバスビジー信号を確認する。そして、他の周辺ペリフェラルがアクセスを実施していない場合は、他の周辺ペリフェラルからのアクセス権要求がないかを確認する。他のペリフェラルからのアクセス要求がない場合、バス制御回路１０２は、ブリッジインタフェース回路１３に出力端子１２２を介してＥｔｈｅｒｎｅｔ受信データ書き込み要求受付（許可）信号を出力すると共に、共通バスビジー信号を各周辺ペリフェラルに出力端子１１９を介して出力する。また、バス制御回路１０２は、セレクタ１０３に対して、入力端子１２８を介して入力されるＥｔｈｅｒｎｅｔ受信データ書き込み制御信号を選択するよう制御信号を出力する。セレクタ１０３より出力されるＥｔｈｅｒｎｅｔ受信データ書き込み制御信号は、出力端子１３４を介して共通メモリ１５へ出力される。同様に共通メモリ１５への書き込みデータである受信データはＩ／Ｏ制御回路１０４に一旦入力され、出力端子１３３を介して共通メモリ１５に出力される。尚、バス調停回路１４の詳細な動作は後述する。
【００４４】
次に、実施の形態１における共通メモリ１５の制御方法について説明する。
実施の形態１では、共通メモリ１５として、例えば一般的なＳＤＲＡＭを使用した場合について説明する。通常のＳＤＲＡＭへのデータの書き込み、あるいは読み出しを実施する場合のタイミングチャートを図８に示す。
バス調停回路１４からの書き込み要求受付信号を受信した周辺ペリフェラルは、バス制御回路１０２より出力される最大バースト長情報（図示は省略している）を元に、共通メモリ１５へのデータの書き込み制御信号（あるいは読み出し制御信号）を出力する。具体的には、図８に示すようにロウアドレス出力後、カラムアドレスをセレクタ１０３に出力する。実施の形態１では書き込みデータ、あるいは読み出しデータのバースト長はローアドレス情報と共に入力されるものとする。カラムアドレス出力後、データ書き込みであれば上記最大バースト長までの書き込みデータ、および実際に書き込むデータのバースト長情報をセレクタ１０３に出力する。セレクタ１０３では、上記バースト長情報を元に、図示していないセレクタ１０３内のＦＩＦＯメモリに書き込みデータを一旦記憶する。一般に、ＳＤＲＡＭでは、アドレス情報に引き続き出力する書き込みデータの出力タイミング、あるいはＳＤＲＡＭ内に記憶されているデータの読み出しタイミングは、前回アクセスを行ったアドレスによりその遅延時間が異なる。具体的には、バンクが切り換わる場合には、バンクの切り換え時間分の遅延時間が発生する。セレクタ１０３では、バス制御回路１０２の出力に基づき入力端子１２６〜１３１より入力される制御信号の切り換えを実施すると共に、書き込み、あるいは読み出しデータ、および制御信号の遅延時間の調整も実施するものとする。
【００４５】
バス制御回路１０２は、要求受付信号をペリフェラルに出力後、図８に示すタイミングで共通メモリバスビジー信号を出力する。一方、セレクタ１０３ではアクセス権を与えられた周辺ペリフェラルからのロウアドレス情報、バースト長情報、およびデータの書き込みであるか、あるいは読み出しであるかを指し示す信号が入力されると、その情報を元に命令コードを生成し、ロウアドレス情報と共に命令コードを出力する。同様にカラムアドレス情報が入力されるとカラムアドレス情報と共に命令コードを出力する。その際、ロウアドレス、カラムアドレス情報を元にＳＤＲＡＭへのデータ書き込み、あるいはデータの読み出しの際のレイテンシ情報を算出し、データの書き込み、あるいは読み出しタイミング情報を生成する。データ書き込み時には、書き込み制御信号を生成すると共に、上述した図示していないＦＩＦＯからの書き込みデータの読み出しを制御信号も生成する。一方、データ読み出しの際は、データ読み出しタイミング信号を生成する。
【００４６】
尚、図８では３クロックのレイテンシがあった場合のデータ書き込みの際のタイミングチャートを示した。実施の形態１では、図８に示すように、アクセス権を獲得した周辺ペリフェラルがＳＤＲＡＭをアクセス中に共通メモリバスビジー信号をリセットし、次の共通メモリ１５へのアクセス権を決定する。これは、一つの周辺ペリフェラルが長時間にわたりアクセス権を取り続けることを避けるために実施している。例えば、Ｅｔｈｅｒｎｅｔインタフェース回路１２からの受信データのアクセス権を１フレームのＥｔｈｅｒｎｅｔフレームデータの書き込み完了までバスアクセス権を与えた場合、データを短時間に共通メモリ１５内に転送することはできるが、最大１５００バイト分のデータの転送が完了するまで、他の周辺ペリフェラルからのアクセスは禁止されてしまい、データ送受信装置としてのシステムが破綻する恐れがある。特に、ＴＤＭＡ方式をベースとするＰＬＣモデム回路１６では、データの送信ではリアルタイム性が要求されるため、データがアンダーフローしてしまう場合がある。
【００４７】
また、アクセス権の受付をアクセス権の与えられた周辺ペリフェラルがアクセス中に実施するのは、ＳＤＲＡＭへのアクセスの際のトラフィックを少しでも多く稼ぐためである。ＳＤＲＡＭへのアクセス完了後、次のアクセス権を与えたのでは、制御切り換えのため１クロック、あるいは２クロック程度の制御切り換え時間が発生する。実施の形態１では、上述のように制御することで共通メモリ１５へのデータアクセスを図８に示すように連続して実施することができ、共通メモリ１５を最大に有効活用することができる効果がある。
【００４８】
以上の要領で、バス調停回路１４では、入力端子１１５を介してブリッジインタフェース回路１３よりＥｔｈｅｒｎｅｔフレームデータの書き込み要求信号が入力されると、共通メモリ１５への他のペリフェラルのアクセス状況、および他のペリフェラルからのアクセス要求状況について確認し、共通メモリ１５への他のペリフェラルのアクセスがなく、他のペリフェラルからの要求がない、あるいは要求があったとしても、入力端子１１５を介して入力される要求信号の優先順位が高い場合、バス制御回路１０２は、出力端子１２２を介してブリッジインタフェース回路１３に対して要求受付信号を出力すると共に、共通メモリバスビジー信号をセットし、上述した要領で、ブリッジインタフェース回路１３より出力される共通メモリ１５への書き込み制御信号、および書き込みデータをセレクタ１０３を介して出力する。尚、要求信号が競合した場合の詳細な動作については後述する。
【００４９】
次に、ＰＬＣネットワークへのデータ送信の際の、ＰＬＣモデム回路１６内のＰＬＣ送信制御回路４０およびＣＰＵ１１の動作について説明する。尚、実施の形態１では従来と同様に、ＰＬＣネットワークでのＭＡＣ制御方式としてはＴＤＭＡ方式を採用するものとして説明する。
図９は、ＰＬＣネットワークを介してデータの送受信が開始された際のＣＰＵ１１の動作を示すフローチャートである。
ＣＰＵ１１は、ＰＬＣネットワークを介したデータの送受信が開始されると、通常の機器管理タスクを起動する（ステップＳＴ１）。具体的には、ＰＬＣネットワークに新たなクライアント端末が参加要求をした場合のアソシエーション・認証処理、ネットワーク接続端末管理（具体的には、定期的に通信のないクライアント端末に対してデータを送信し、接続されているかなどを確認する）、ＰＬＣネットワークの伝送路の推定などのタスクを起動する。通常、これらタスクは、リアルタイム性が要求されるものではなく、処理は数百ｍｓから数秒程度で処理を実施すればよい。機器管理タスクが起動されると、ＯＳ（オペレーティングシステム）の指令に基づき各タスクを切り換えながら実行する（ステップＳＴ２）。
【００５０】
ＰＬＣネットワーク制御データ生成回路４０４からスケジュールデータ生成のための割り込みが入力されると（ステップＳＴ３）、ＣＰＵ１１はスケジュールデータ生成用のタスクを起動しＦＣＨの生成を開始する（ステップＳＴ４）。そして、ＦＣＨの生成が終了する（ステップＳＴ５）と、ステップＳＴ２に戻り、機器管理タスクを実行する。その際、ＦＣＨの生成に関しては、前フレームのスケジューリング結果からＡＣＫ／ＮＡＣＫのためのタイムスロット、再送制御の有無、および必要帯域の確認、共通メモリ１５内に格納されている各クライアント端末への送信Ｅｔｈｅｒｎｅｔフレームデータの有無、および送信に必要な帯域の確認、各クライアント端末からのデータ送信要求に基づく送信帯域の割り当てを実施する。本処理は、プログラムの組み方にもよるが、共通メモリ１５へのアクセスの際の優先順位を最上位にした場合、数百μｓ〜数ｍｓ程度の処理時間で処理は完了する。一方、例えば伝送路の推定に関しては、ＰＬＣの場合、サブキャリア毎のＳ／Ｎを受信データより算出して求めるため、やはりプログラムの構成方法にもよるが、スケジューリングと同一の条件で実施した場合でも、１回の計算で数十ｍｓ〜数百ｍｓ程度計算に時間がかかる。
【００５１】
次に、図５および図６を用いて送信時の動作を説明する。
管理端末１では、ＰＬＣネットワークを管理するため背景技術の項でも述べたように周期的にＢＣＨ（Ｂｅａｃｏｎフレーム）、およびＦＣＨ（スケジュール情報）を出力しネットワークを管理する。図１０に１フレーム内の各種データの送信タイミングを示す。尚、実施の形態１ではＢＣＨなどのＰＬＣネットワーク管理情報は１０ｍｓ周期で出力されるものとする。よって、管理端末１内のＰＬＣ送信制御回路４０ではＢｅａｃｏｎフレーム、およびスケジュール情報を１０ｍｓに一度生成する。実施の形態１では、Ｂｅａｃｏｎフレーム情報としては、Ｂｅａｃｏｎフレームを送出する際の管理端末１の時刻情報をペイロード情報として送出するものとする。具体的には、Ｂｅａｃｏｎフレームデータ送出時のＰＬＣネットワーク制御データ生成回路４０４内の基準時刻情報をペイロードとしてパケットデータ生成回路４０２に出力する。受信端末では、Ｂｅａｃｏｎフレーム情報を受信すると内部の受信基準時刻をＢｅａｃｏｎフレームに付加された送信側基準時刻に合わせる。管理端末１はＢＣＨの送信に引き続きＦＣＨ（スケジュール情報）の送信を実施する。
【００５２】
次に、図１０および図１１を用いてスケジュール情報の生成方法について説明する。
図１０にはＦＣＨ内のスケジュール情報の一例を示している。ＦＣＨは図に示すように受信時に受信データの先頭位置、およびクロック位相を検出するためのプリアンブル情報に続きスケジュール情報が付加され伝送される。スケジュール情報には、データ送受信期間に設けられた通信スロット毎に送信開始時間、送信時間、どの端末（送信端末）からどの端末（受信端末）へのデータ送信かを示す端末情報、およびデータを送受信する際の関連情報を送信する。尚、実施の形態１では、送信端末情報、および受信端末情報については各機器の持つＭＡＣアドレス情報（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ：メディアアクセスコントロールアドレス）を用いるものとする。尚、ＭＡＣアドレス情報以外に、例えばそのＰＬＣネットワーク内の論理ポート番号、あるいはネットワーク内でプライベートに定められた識別情報であっても同様の効果を奏することはいうまでもない。ＦＣＨ内のスケジュール情報には図１０に示すように通信スロット毎に上記情報が付加され伝送される。尚、通信スロットについては、データを持つ各端末が管理端末１に対して従来と同様にＲＣＨ情報、あるいは実際にデータの送信を行っている端末に関してはそのＭＡＣヘッダ部に帯域割り当て要求を付加し伝送することにより送信スロットを割り当てる。
【００５３】
図１１は、スケジュール情報の生成処理を示すフローチャートである。
実施の形態１では、ＰＬＣネットワーク制御データ生成回路４０４内の図示していない１フレーム内の時刻情報を管理するカウンタ（管理タイマ）のカウント値が予め定められた値となったときにＰＬＣネットワーク制御データ生成回路４０４からＣＰＵ１１に対してスケジューリングを開始するよう割り込み信号を出力する。同様に、ＰＬＣネットワーク制御データ生成回路４０４はバス調停回路１４内の優先度制御回路１０１に優先度テーブルを切り換えるための優先度切り換え開始信号を出力する。また、ＣＰＵ１１からスケジューリングの終了が通知された場合は、優先度制御回路１０１に優先度テーブルを切り換える（元に戻す）ための優先度切り換え開始信号を出力する。
【００５４】
スケジュール情報の生成の開始がＰＬＣネットワーク制御データ生成回路４０４から出力されると、ＣＰＵ１１はスケジュールの生成を開始する（ステップＳＴ１０）。スケジュール生成が開始されると、ＣＰＵ１１は前回のスケジュールの際に管理端末１が各クライアント端末に割り当てた上記送信スロットに対するＡＣＫ／ＮＡＣＫフレーム送信のための帯域、および前フレームに各クライアント端末より受信したデータに対するＡＣＫ／ＮＡＣＫフレーム送信のための帯域割り当てを実施する（ステップＳＴ１１）。ＡＣＫ／ＮＡＣＫフレーム用の送信スロット割り当てが完了すると次に、各クライアント端末からの再送要求、および各クライアント端末への再送要求があるかを確認する（ステップＳＴ１２）。再送要求がある場合は、再送用のタイムスロットを割り当てる（ステップＳＴ１３）。
【００５５】
再送用タイムスロットの割り当てが終了すると、ＲＣＨにより帯域割り当て要求を実施してきた新規通信要求端末が存在するかを確認する（ステップＳＴ１４）。新規送信要求端末がある場合はその端末に対する送信タイムスロットを割り当てる（ステップＳＴ１５）。新規通信要求への送信タイムスロットの割り当てが完了すると管理端末１の送信タイムスロットを割り当てる（ステップＳＴ１６）。そして最後に、各クライアント端末の送信タイムスロットを割り当てる（ステップＳＴ１７）。このような送信タイムスロットの割り当てが完了すると、ＣＰＵ１１は予め定められた優先順位に基づき、各クライアント端末に対する送受信スロットを割り当ててＦＣＨフレームを生成する（ステップＳＴ１８）。具体的には、実施の形態１では、前回送受信したデータのＡＣＫ／ＮＡＣＫ用のタイムスロット、再送データのタイムスロット、管理端末１の送信データのタイムスロット、各クライアント端末の送信スロットの順に、１フレーム内で送受信可能な範囲でタイムスロットを割り当てる。
【００５６】
ＣＰＵ１１で、ＦＣＨの生成が完了すると、ＣＰＵ１１はＦＣＨ情報をＰＬＣネットワーク制御データ生成回路４０４内の図示していないメモリに書き込む。その際、バス調停回路１４内の優先度制御回路１０１に優先度切り換え終了信号を出力する。ＰＬＣネットワーク制御データ生成回路４０４内に記憶されたＦＣＨフレームはＰＬＣ送受信タイミング生成回路４０３内にも転送され、所定のタイミングでＦＣＨフレームをパケットデータ生成回路４０２に出力する（ステップＳＴ１９）。ＰＬＣ送受信タイミング生成回路４０３では、ＰＬＣネットワーク制御データ生成回路４０４より転送された本フレームで各クライアント端末の送受信データのスケジュール（送受信タイムスロット情報）を元に、ＰＬＣ送信用メモリ制御回路４０５に対して送信データの生成を要求する。
【００５７】
尚、実施の形態１ではＢＣＨ、ＦＣＨなどの固定スロットの送受信タイミングについては予めＰＬＣ送受信タイミング生成回路４０３およびＰＬＣ受信タイミング生成回路５０７内にセットされているものとする。また、データ受信タイムスロット情報に関してはＰＬＣ受信タイミング生成回路５０７へＰＬＣネットワーク制御データ生成回路４０４から、ＢＣＨの送出タイミングに関してはＰＬＣ送受信タイミング生成回路４０３から出力される。
【００５８】
ＦＣＨの送信が完了すると管理端末１はＡＣＨを同報通信する。ＡＣＨに関しては、ＲＣＨのタイムスロットを使用し通信帯域を要求してきた端末に対する、ＡＣＫ応答、あるいはアソシエーションを実施する際の応答スロットとして使用するが、送信パケットの生成は、実施の形態１ではＣＰＵ１１が実施する。具体的には、該ＡＣＫ応答の生成はＦＣＨ生成の際に、同時に実行するものとする。また、アソシエーションに関する応答メッセージは機器管理タスクにて応答メッセージを作成しそれを送信するものとする。ＡＣＨの送信を完了すると、ＰＬＣ送受信タイミング生成回路４０３はＰＬＣ送信用メモリ制御回路４０５に対して、生成したスケジュールに基づきデータを送信するよう指示する。実施の形態１では、ＰＬＣネットワークを介してデータを送信する場合は、送信帯域を有効活用するため、複数のＥｔｈｅｒｎｅｔフレームデータを連結してデータを送信するものとして、この場合について説明する。図１２に、１フレームのＰＬＣ送信データのフォーマットを示す。
【００５９】
図１２に示すように、１フレームのＰＬＣ送信データは、ＰＬＣ用ＭＡＣヘッダに続き、複数のＥｔｈｅｒｎｅｔフレームが連結され送信される。また、ＰＬＣ用の１フレームの送信データを生成する際は、ＡＣＫ／ＮＡＣＫフレームのデータに関する送信を実施する場合は、ＰＬＣ用ＭＡＣヘッダ情報に続き、ＡＣＫ／ＮＡＣＫフレームを挿入しデータを伝送する。従って、ＣＰＵ１１によりスケジュールを生成する際は、ＡＣＫ／ＮＡＣＫフレームを伝送する場合はその送信バイト数に加え、クライアント端末向けのデータが何バイト共通メモリ１５内に記憶されているかを確認しながら送信タイムスロットのスケジューリングを実施する。その際、誤り訂正符号回路４０８、およびデジタル変調回路４０９で使用する各サブキャリアの変調方式、スクランブル情報、誤り訂正符号モードなどから単位時間当たりに（１シンボル当たり）に伝送可能なデータ量よりタイムスロット幅を決定する。実施の形態１では、スケジュールを生成するのに必要なＥｔｈｅｒｎｅｔパケット長などの情報は共通メモリ１５の所定のアドレスに記憶されているものとして説明を続ける。具体的には、ブリッジインタフェース回路１３にてＥｔｈｅｒｎｅｔインタフェース回路１２を介して受信したＥｔｈｅｒｎｅｔフレームデータを共通メモリ１５内の所定のアドレスに記憶する際、先頭のアドレスに、パケットの長さ情報など、スケジュール生成の際に必要となる情報を予め記憶するよう制御する。
【００６０】
また、スケジューリングを実施する際は、Ｅｔｈｅｒｎｅｔフレームを連結するための情報（連結情報）も生成し、ＰＬＣネットワーク制御データ生成回路４０４を介してＰＬＣ送受信タイミング生成回路４０３内の図示していない内部ＲＡＭに記憶する。以下、管理端末１からのデータ送信時の動作について説明する。
ＰＬＣ送受信タイミング生成回路４０３は、スケジュール情報に基づき次に送信する宛先のクライアント端末の情報および上記連結情報をＰＬＣ送信用メモリ制御回路４０５に出力する。その際、ＰＬＣ送受信タイミング生成回路４０３はＰＬＣネットワーク制御データ生成回路４０４に対しても次に送信するクライアント端末の情報を出力する。ＰＬＣネットワーク制御データ生成回路４０４では次に送信するクライアント端末の情報が入力されると、バス調停回路１４に対して共通メモリ１５内の所定のエリアに記憶されている誤り訂正符号回路４０８、およびデジタル変調回路４０９の制御用データの読み出し要求信号を出力する。実施の形態１では、クライアント端末毎にデジタル変調の際の変調方式を切り換えて出力するものとする。これは、電灯線５内に加わるノイズの影響がクライアント端末周辺に接続された電機製品の動作状態により時々刻々と変化するからである。従って、ＰＬＣを用いたデータ送受信装置は、接続先のクライアント端末との通信路の状態を監視しておき、通信状態が悪くなったら、伝送速度を落としノイズに強い変調方式に切り換える。一方、通信状態が回復したら伝送速度を上げる制御を実施する。
【００６１】
以下、バス調停回路１４の動作を説明する。
バス調停回路１４には、上記ＰＬＣネットワーク制御データ生成回路４０４からの上記制御用データの読み出し要求とＰＬＣ送信用メモリ制御回路４０５からのＥｔｈｅｒｎｅｔフレームデータの読み出し要求が入力される。また、バス調停回路１４へは、ブリッジインタフェース回路１３からの受信Ｅｔｈｅｒｎｅｔフレームのデータ書き込み要求、およびＥｔｈｅｒｎｅｔインタフェース回路１２への送信データの読み出し要求が非同期で入力される。また、ＣＰＵ１１も上述したように、リアルタイム性の要求されないタスク処理が実行されており、データの共通メモリ１５への書き込み要求、および読み出し要求がバス調停回路１４に入力される。
【００６２】
以下、図１３を用いてバス調停回路１４のバス調停動作を説明する。
管理端末１が起動し、データの送受信が開始されるとバス調停回路１４中のバス制御回路１０２は共有メモリ１５へのアクセス要求がないか確認する（ステップＳＴ２１）。入力端子１１３〜１１８を介して上記要求信号が入力されると、バス制御回路１０２は、現在共有メモリ１５はアクセス中かを確認する。具体的には、共通メモリバスビジー信号がアクティブであるか確認する（ステップＳＴ２２）。共通メモリバスビジー信号がアクティブな場合は、バスアクセス権が解放されるまで待つ。共通メモリバスビジー信号が非アクティブになると、バス制御回路１０２は、複数のペリフェラルからの要求か確認する（ステップＳＴ２３）。単一のペリフェラルからの要求であった場合は、バスアクセスを要求してきたペリフェラルに対して要求受付信号を出力（例えばＰＬＣ送信データ読み出し要求のみを受け取った場合はＰＬＣ送信データ読み出し要求受付信号を出力）する（ステップＳＴ２４）と共に、共通メモリバスビジー信号をセットする（ステップＳＴ２５）。その際、セレクタ１０３に対して所定の入力を選択するよう制御信号を出力する。尚、実施の形態１では、図８に示すタイミングで共通メモリ１５を制御するので、上記セレクタ１０３への上記制御信号の出力タイミングは共通メモリバスビジー信号の立ち上がりエッジに同期して切り換えるよう制御する。そして、バス制御回路１０２は許可したペリフェラルが共通メモリ１５へのアクセスが完了するまで待機する（ステップＳＴ２６）。許可したペリフェラルの共通メモリ１５へのアクセスが完了すると、バス制御回路１０２はバスビジー信号をリセットし（ステップＳＴ２７）、共通メモリ１５へのアクセス要求がないか確認する（ステップＳＴ２１）。
【００６３】
次に、複数のペリフェラルからのアクセス要求が競合している場合のバス調停回路１４の動作について説明する。
複数のペリフェラルからのアクセス要求がある場合、バス制御回路１０２は優先度制御回路１０１に対して各ペリフェラルの優先度および共通メモリ１５へのアクセス時のバースト長情報（ＳＤＲＡＭへ連続して転送するデータの最大ワード長）を確認するよう指示を出す。優先度制御回路１０１では、二つの優先度テーブルを管理しており、管理端末１がリアルタイム性の要求されるスケジュール生成などの処理をＣＰＵ１１にて実施している場合、セレクタ１５５では優先度テーブル（Ｂ）１５２を選択し、セレクタ１５６ではバースト長テーブル（Ｂ）１５４を選択する。一方、ＣＰＵ１１がリアルタイム性の要求されない伝送路推定などの処理を実施している場合、セレクタ１５５は優先度テーブル（Ａ）１５１を選択し、セレクタ１５６はバースト長テーブル（Ａ）１５３を選択する。
実施の形態１では、優先度制御回路１０１はＰＬＣネットワーク制御データ生成回路４０４よりスケジュール開始要求がセレクタ制御回路１５７に入力されると、セレクタ１５５および１５６に対して、それぞれ優先度テーブル（Ｂ）１５２およびバースト長テーブル（Ｂ）１５４を選択するよう制御信号を出力する。尚、ＰＬＣネットワーク制御データ生成回路４０４は、その際、ＣＰＵ１１に対してもスケジュール生成を開始するよう割り込み信号を出力する。
【００６４】
ＣＰＵ１１は、ＰＬＣネットワーク制御データ生成回路４０４より出力される割り込み信号を元に、現在処理しているタスクを退避し、スケジュール生成用タスクを起動する。実施の形態１では、リアルタイム性の要求されない処理をＣＰＵ１１にて実行している場合は、ＣＰＵの共通メモリ１５へのアクセスは優先度テーブル（Ａ）１５１が選択されているため図４に示すように６番目（一番低い優先度）であるが、リアルタイム性の要求されるスケジュール生成の処理が起動されると、ＣＰＵ１１の優先度は、優先度テーブル（Ｂ）１５２が選択され、４番目の優先度となる。実施の形態１では、優先度の一番高いＰＬＣ制御データ読み出しについては、データ量も少なく、クライアント端末へのデータ送信、あるいはクライアント端末からのデータ受信開始時に、適応変調用テーブルなどの制御データを読み出す際にアクセス権要求が出力される（アクセス権を占有する時間が短い）。また、ＰＬＣネットワークへのデータ送信、あるいはＰＬＣネットワークからのデータ受信はＰＬＣは半二重通信であるので、基本的にはどちらか一方のみが動作する。実際のシステムでは、送受信の切り換え時に一部オーバーラップする期間は存在するが、基本的にはどちらか一方のアクセスになる。
【００６５】
また、実施の形態１では、上述したように優先度の高いペリフェラルがアクセス権を獲得した場合でも最大バースト長テーブル（Ａ）１５３あるいはバースト長テーブル（Ｂ）１５４に記憶されている最大バースト長以上の長さはアクセス権を連続して獲得しない。従って、リアルタイム性の要求されるスケジュール生成などをＣＰＵ１１が実施する場合、優先度を４番目に設定したとしても、ＣＰＵ１１はほぼ２回に１回は共通メモリ１５へのアクセス権を獲得することができることになる（具体的には、優先度の一番高いＰＬＣ制御データ読み出し要求では、ほとんど共通メモリ１５へのアクセスは発生せず、また、ＰＬＣネットワークとの間のデータの送受信については半二重通信であるため、基本的にはどちらか一方のアクセス要求しかバス調停回路１４には上がってこないためである）。
また、ＣＰＵ１１は通常キャッシュメモリ（例えば３２ＫＢ程度）を内蔵している。例えば、キャッシュメモリのヒット率を９５％程度とすると２０命令に１回程度アクセス要求が発生する。従って、ＣＰＵ１１の優先順位を４番目に上げたとしても、順位の下がったＥｔｈｅｒｎｅｔインタフェース回路１２からの送受信データについても共通メモリ１５へのアクセス権は与えられることになる。
【００６６】
また、実施の形態１では、共通メモリ１５へのバスアクセスの際の優先順位と共に共通メモリ１５へのアクセスの際のバースト長も切り換える。これは、以下の理由による。
一般に、バースト長が長いと例えば図８に示す実際にアドレス入力からメモリアクセスまでの時間が一定であるのでデータの転送効率は上がるが、反対に、アクセス権を獲得するまでのレイテンシ（遅延時間）が増加する。実施の形態１では、スケジュール生成時には、少なくともＰＬＣネットワークからの受信データの共通メモリ１５への書き込み、およびＰＬＣネットワークへの送信データ共通メモリ１５からの読み出しの際のバースト長を小さくするように構成する。これは、次のような理由からである。
【００６７】
一つ目の理由は、ＣＰＵ１１の優先度を上げておく時間を短くするために実施することである。具体的には、実施の形態１で説明しているＴＤＭＡ方式を採用するデータ送受信方式では、スケジュール生成開始までにＥｔｈｅｎｅｔインタフェース回路１２を介して入力されたＥｔｈｅｒｎｅｔフレームデータがスケジュール生成の際の対象になる。従って、入力されたＥｔｈｅｒｎｅｔフレームデータを管理端末１内に長く滞留させることなくデータを送信するためには、スケジュール開始時間をなるべく前フレームの後半に持ってくる必要がある。実施の形態１では、スケジュール生成時にＣＰＵ１１が共通メモリ１５に対してアクセス要求した場合、アクセス権が獲得できるまでのレイテンシをなるべく短くすることでＣＰＵ１１の処理性能を上げ、スケジュール生成の際の処理時間を短くする。これにより、ＣＰＵ１１によるスケジュール生成の開始時間を前フレームの後半に持って行くことができ、受信したＥｔｈｅｒｎｅｔフレームを必要以上に管理端末１内に滞留させることがなくなるという効果がある。特に、ＴＣＰ／ＩＰなどのプロトコルを使用する場合は、ラウンドトリップ時間を測定し、ネットワークの輻輳状態を監視するようなシステムでは、機器内での滞留時間が長くなると、送信端末からの送信データ量が絞られるため、帯域に十分な余裕があるにもかかわらず、十分なトラフィックが獲得できないといスケジュール生成の際の処理時間を短くった問題が発生するため、機器内でのＥｔｈｅｒｎｅｔフレームの滞留時間はなるべく短くする必要がある。
【００６８】
もう一つの理由は、優先順位を下げたＥｔｈｅｒｎｅｔインタフェース回路１２より入力される特に受信したデータの共通メモリ１５へのアクセス権を確保するために実施する。例えば、図８に示すように４バースト転送が９クロックで実施可能とした場合、ＣＰＵ１１の共通メモリ１５へのアクセス完了後、例えばＰＬＣネットワークの送信要求が入ったとしても、バスアクセス権は９クロック後に解放される。また、上述のようにＣＰＵ１１からの次の共通メモリ１５へのアクセスは２０クロック後になる。よって、優先度の低いＥｔｈｅｒｎｅｔインタフェース回路１２についても共通メモリ１５へのアクセス権が与えられることになり、Ｅｔｈｅｒｎｅｔインタフェース回路１２内に設けられた図示していないＦＩＦＯがオーバーフローを起こし受信したパケットを消失する確率を低く抑えることができると共に、Ｅｔｈｅｒｎｅｔインタフェース回路１２内に設けられた図示していないＦＩＦＯのメモリ容量も必要以上に大きくとる必要がなく、回路規模を小さく抑えることができるという効果がある。
【００６９】
以下、複数のペリフェラルからのアクセス権の要求が競合した場合の動作を図１３のフローチャートに沿って説明する。
複数のペリフェラルからの共通メモリ１５へのアクセス要求を確認する（ステップＳＴ２３）と、バス制御回路１０２は優先度制御回路１０１より出力される優先度テーブル情報、および最大バースト長情報を確認する。そして、優先度情報に基づき、競合しているアクセス要求の中から一番優先度の高いアクセス要求を選択し、要求受付信号を出力する（ステップＳＴ２８、ＳＴ２９）。例えば、優先度制御回路１０１では優先度テーブル（Ａ）１５１が選択されており、入力端子１１３を介して入力されるＣＰＵデータ書き込み／読み出し要求信号、入力端子１１４を介して入力されるＰＬＣ制御データ読み出し要求信号、および入力端子１１６を介して入力されるＰＬＣ送信データ読み出し要求信号が競合していた場合、バス制御回路１０２は、優先度の一番高いＰＬＣ制御データ読み出し要求に対する受付信号を出力端子１２１を介して要求元であるＰＬＣネットワーク制御データ生成回路４０４に出力する。その際、実施の形態１では最大バースト長情報についてもＰＬＣネットワーク制御データ生成回路４０４に通知するものとする。要求受付信号を受信した周辺ペリフェラルは、その際受信した最大バースト長情報を確認し、送信データのバースト長を決定し、制御信号と共にデータ書き込みであれば共通メモリ１５への書き込みデータをバス調停回路１４内のセレクタ１０３へ出力する。一方、読み出しの場合は、最大バースト長情報を元に、共通メモリ１５から読み出したデータの受け入れ準備を実施する。
【００７０】
バス制御回路１０２では、要求受付信号をアクセス権を獲得したペリフェラルに出力すると共に共通メモリバスビジー信号をセットする（ステップＳＴ３０）。ステップＳＴ３０にて共通メモリバスビジー信号のセットが完了すると、バス制御回路１０２は共通メモリ１５へのバスアクセスが完了するまで待機する（ステップＳＴ３１）。具体的には、セレクタ１０３にてアクセス権を獲得したペリフェラルからの共通メモリ１５へのアドレス情報、およびデータ書き込み／読み出し制御信号より、共通メモリ１５へのアクセスの際のアドレス出力後のレイテンシを計算する。更に具体的には、前回アクセスしたアドレスと比較し、バンク切り換えなどのためのオーバーヘッド時間が何クロック必要かを確認し、制御データ、およびデータ書き込みであれば書き込みデータを遅延させ出力する。
【００７１】
データの出力が完了すると、その旨をバス制御回路１０２に通知する。尚、通知のタイミングは、実施の形態１では図８に示すタイミングで、共通メモリバスビジー信号がリセットできるよう通知する。セレクタ１０３より共通メモリ１５へのアクセス完了通知が入力されるとバス制御回路１０２は共通メモリバスビジー信号をリセットし（ステップＳＴ３２）、先ほど競合していた次のペリフェラルからのアクセス要求を許可するため、再び、どのペリフェラルからアクセス要求があるか確認する（ステップＳＴ２３）。
【００７２】
次に、バス調停回路１４における優先度制御回路１０１の動作について説明する。
管理端末１が起動すると、初期化のシーケンスで、ＣＰＵ１１はＣＰＵバスインタフェース回路１５８を介して優先度テーブル（Ａ）１５１、優先度テーブル（Ｂ）１５２、バースト長テーブル（Ａ）１５３およびバースト長テーブル（Ｂ）１５４に所定の優先順位、およびバースト長データを書き込む。上記テーブルデータの書き込みが完了すると優先度制御回路１０１は通常の動作を開始する。通常動作を開始すると、優先度制御回路１０１は、優先度テーブル（Ａ）１５１およびバースト長テーブル（Ａ）１５３を選択するようセレクタ制御回路１５７より制御信号を出力する。その後、ＣＰＵ１１は初期化動作を完了するとＰＬＣネットワークの管理端末として動作を開始する。具体的には、１０ｍｓ周期でＢＣＨ、ＦＣＨなどの制御フレームの送信を開始する。制御フレームの送信が開始されるとＰＬＣネットワーク制御データ生成回路４０４は所定のタイミングで、ＣＰＵ１１、および優先度制御回路１０１にスケジュール生成開始（優先度切り換え開始信号）を通知する。優先度切り換え開始信号が入力されるとセレクタ制御回路１５７はセレクタ１５５、および１５６に優先度テーブルＢ１５２、およびバースト長テーブルＢを選択するよう制御信号を出力する。
【００７３】
実施の形態１では、バス制御回路１０２では、複数のペリフェラルからのアクセス要求があり、次のアクセス権を決定する際に、優先度制御回路１０１から出力される優先度情報を確認し、その優先度情報に基づき次にアクセス権を与えるペリフェラルを決定する。すなわち、共通メモリ１５にアクセス中に優先度情報が切り換わった場合、現在、アクセス中の処理はそのまま実行し、次の共通メモリ１５へのアクセスから、新たに切り換わった情報を元に処理を継続するものとする。
【００７４】
一方、ＣＰＵ１１はスケジュール生成開始割り込みが入力されると、現在処理中のタスクを一時退避し、スケジュール生成タスクを起動する。そして、上述した要領でスケジュール生成を開始する。その際、共通メモリ１５へのアクセスの際の優先順位は上がっているので、所定時間以内に処理を完了することができる。
【００７５】
尚、実施の形態１ではＣＰＵ１１のアクセス権を最上位に持ってこない理由は以下の点からである。
ＣＰＵ１１での例えばスケジューリング処理はリアルタイム性を要求されるために予め定められたタイミング（ＦＣＨ送信の前）までに完了しておく必要がある。しかしながら、処理途中であっても、その時点までに完了しているスケジュールデータをＰＬＣネットワークに送出してもシステムとして破綻することはない。これは、具体的には、例えば、管理端末１からクライアント端末２〜４への送信用タイムスロットについて、スケジューリングは完了しており、クライアント端末２〜４から管理端末１へのタイムスロットは、例えばクライアント端末２のみ完了している場合は、そこまでのスケジューリング結果をＦＣＨにて送信するよう制御する。この場合、実際には、クライアント端末３、およびクライアント端末４に対してもタイムスロット割り当てることはできるため伝送帯域は有効に活用することはできないが、システムとしては破綻しない。
【００７６】
一方、管理端末１からクライアント端末２〜４に送信するデータがアンダーフローを起こした場合、ＰＬＣ送信用メモリ制御回路４０５からデータは出力されないが、デジタル変調回路４０９からはデータが出力される。通常、アンダーフローを起こした場合、固定値が出力される、あるいは図示していないＰＬＣ送信用メモリ制御回路４０５中のＦＩＦＯ内に記憶されていた過去のデータが出力されることになる。その際、誤り訂正符号回路４０８はアンダーフローを起こしたデータに対して誤り訂正符号を付加するので、受信したクライアント端末側ではアンダーフローが発生したことが検出できず、ＰＬＣネットワークでのデータの再送制御は実施することはできない。また、ＰＬＣネットワークからの受信データでオーバーフローを起こしてしまった場合、複数のＥｔｈｅｒｎｅｔフレームを連結してデータを送信しているため、再送のために余分な伝送帯域を割り当てなければならないといった問題が発生する。本件は、Ｅｔｈｅｒｎｅｔからのデータ受信の場合にも発生するが、パケット長が短いためネットワークのトラフィックに与える影響はＰＬＣ受信の場合と比較して軽微である。
【００７７】
以上の理由により、実施の形態１ではＴＤＭＡにて送受信のタイムスロットが決まっており、また、送信するデータのフレーム長が長いＰＬＣネットワークへの送受信データ、および制御データの優先順位をＣＰＵ１１の優先順位より高く設定している。これにより、データ送受信装置としてのシステム性能を確保することが可能となる効果がある。また、ＰＬＣネットワークへの送信データ、あるいはＰＬＣネットワークからの受信データを一旦記憶するＰＬＣ送信用メモリ制御回路４０５、およびＰＬＣ受信用メモリ制御回路５０６内の図示していないＦＩＦＯのサイズを必要以上に大きくする必要がないという効果がある。
【００７８】
スケジュール生成処理が完了するとＣＰＵ１１はその旨を優先度制御回路１０１、およびＰＬＣネットワーク制御データ生成回路４０４に通知する（優先度切り換え終了信号を出力する）。
【００７９】
以下、各クライアント端末へのデータ送信時の動作について説明する。
ＰＬＣ送受信タイミング生成回路４０３よりデータを送信するクライアント端末情報、スケジュール情報、および連結情報が入力されるとＰＬＣ送信用メモリ制御回路４０５はバス調停回路１４に対して送信するＥｔｈｅｒｎｅｔフレームデータの読み出し要求を出力する。また、ＰＬＣ送受信タイミング生成回路４０３はＰＬＣネットワーク制御データ生成回路４０４に対して送信するクライアント端末情報、およびＰＬＣ制御データを読み込むためのタイミング信号を出力する。ＰＬＣネットワーク制御データ生成回路４０４は上記タイミング信号が入力されると、クライアント端末情報を元に、送信先クライアント端末の各キャリアのデジタル変調テーブル（適応変調テーブル）、スクランブル情報、誤り訂正符号化モード情報などが記憶されている共通メモリ１５のアドレス情報を確認し、バス調停回路１４に対してこれら情報を読み出すための要求信号を出力する。
【００８０】
バス調停回路１４では上述した要領で、周辺ペリフェラルからのアクセス要求を優先度制御回路１０１より出力される優先度情報に基づき許可を与える。ＰＬＣネットワーク制御データ生成回路４０４は上記制御データの共通メモリ１５からの読み出しを完了すると、その情報を誤り訂正符号回路４０８、およびデジタル変調回路４０９に出力する。また、ＰＬＣ送信用メモリ制御回路４０５は、上記情報を元に、共通メモリ１５より送信用データの読み出しを開始する。具体的には、上述したプリアンブルの送信開始に合わせて図示していないＰＬＣ送信用メモリ制御回路４０５内のＦＩＦＯ内に送信データを共通メモリ１５から読み出し記憶する。そして、ＦＩＦＯが一杯になった時点で、一時、共通メモリ１５からの読み出しを中断する。
【００８１】
デジタル変調回路４０９からのプリアンブルの送信が開始されると、ＰＬＣ送受信タイミング生成回路４０３は、ＰＬＣヘッダ生成回路４０１、パケットデータ生成回路４０２に対して、ＰＬＣヘッダの生成、およびパケットデータの生成開始を指示する。ＰＬＣヘッダ生成回路４０１では、上記信号が入力されると、ＭＡＣアドレス情報などを元にＰＬＣヘッダを生成する。同様に、パケットデータ生成回路４０２では、連結情報、ＡＣＫ／ＮＡＣＫパケット情報を連結して上記ＰＬＣヘッダに続く情報を生成し待機する。そして、プリアンブルに続きペイロードデータを出力するためＰＬＣ送受信タイミング生成回路４０３はＰＬＣヘッダ生成回路４０１、パケットデータ生成回路４０２、ＰＬＣ送信用メモリ制御回路４０５、暗号化回路４０６、ＰＬＣヘッダ付加回路４０７、誤り訂正符号回路４０８、およびデジタル変調回路４０９にペイロードデータを送出するよう指示を出す。
【００８２】
ＰＬＣ送受信タイミング生成回路４０３より送信指示が入力されると、ＰＬＣヘッダ生成回路４０１は先ほど生成したＰＬＣヘッダ付加回路４０７にヘッダを出力する。また、パケットデータ生成回路４０２は先ほど生成したパケットデータを暗号化回路４０６に出力すると共に、それに続くペイロード情報をＰＬＣ送信用メモリ制御回路４０５内の図示されていないＦＩＦＯより読み出す。ＰＬＣ送信用メモリ制御回路４０５はパケットデータ生成回路４０２からのデータの読み出しが開始され、ＦＩＦＯに空き領域ができるとバス調停回路１４に対してそれまで中断していた送信用データの読み出し要求を出力する。この動作は、連結情報で通知されたＥｔｈｅｒｎｅｔフレームを全て読み出しまで繰り返す。尚、データ読み出し中にＦＩＦＯの空きスペースがなくなった場合は、空きができるまでデータの読み出しを中断する。
【００８３】
そして、１フレームのデータ送信が完了するとＰＬＣ送受信タイミング生成回路４０３は、スケジュールを確認し、他のクライアント端末に対しての送信スケジュールが組まれている場合は、その情報に基づき上記制御を繰り返す。次が、受信スケジュールであった場合は、ＰＬＣ受信制御回路５０へその旨を通知する。
【００８４】
次に、図７を用いてクライアント端末２〜４からデータを受信する場合の動作について説明する。
各クライアント端末２〜４は、上述したようにＢｅａｃｏｎフレーム（ＢＣＨ）により、管理端末１と自端末の間の時刻同期を確立する。Ｂｅａｃｏｎフレームにより時刻同期（基準時刻合わせ）が確立すると、その基準時刻を元に管理端末１−各クライアント端末間のＭＡＣフレームデータの送受信を実施する。よって、ＰＬＣネットワークを介したデータの送受信動作が開始されると、各クライアント端末は管理端末１より送出されるＢｅａｃｏｎフレーム（ＢＣＨ）の検出を開始する。ＢＣＨを検出すると、Ｂｅａｃｏｎフレーム中に付加されている管理端末１の基準時刻情報を元に各受信端末の基準時刻の補正を実施する。
【００８５】
上記の基準時刻の補正が終了すると各クライアント端末はＦＣＨの受信を開始する。ＦＣＨを受信すると、各クライアント端末は自端末の送受信用のタイムスロットがスケジューリングされているかを確認する。上記スケジュールに受信スロットがある場合、各クライアント端末は受信時刻を確認し、その時刻まで待機する。受信時刻になると、各クライアント端末は電灯線５を介して入力されるデータの受信を開始する。受信動作が完了すると各クライアント端末は、送信スロットが割り当てられていないか確認する。スケジュールに送信スロットがある場合、各クライアント端末は送信時刻を確認し、その時刻まで待機する。送信時刻になると、各クライアント端末は電灯線５を介してデータの送信を開始する。
【００８６】
一方、管理端末１では、ＰＬＣネットワークへの送信が完了すると、ＰＬＣ送受信タイミング生成回路４０３からＰＬＣ受信タイミング生成回路５０７に受信開始信号が出力される。また、受信スケジュール情報はＰＬＣネットワーク制御データ生成回路４０４よりＣＰＵ１１によるスケジュール生成完了後通知される。ＰＬＣ受信タイミング生成回路５０７は上記受信開始信号が入力されると、次に受信するクライアント端末の情報、開始時間を確認する。この確認が終了すると、ＰＬＣ受信タイミング生成回路５０７はバス調停回路１４に対して次に受信するクライアント端末の各キャリアのデジタル変調テーブル（適応変調テーブル）、スクランブル情報、誤り訂正符号化モード情報などを共通メモリ１５より読み出すためにアクセス要求を出力する。このようなデータの共通メモリ１５からの読み出しが完了すると、ＰＬＣ受信タイミング生成回路５０７は受信時刻になるまで処理を待機する。
【００８７】
受信時刻になると、ＰＬＣ受信タイミング生成回路５０７は、デジタル復調回路５０１、誤り訂正復号回路５０３に共通メモリ１５より読み出した情報を出力する。本情報の入力が完了するとデジタル復調回路５０１は受信信号からプリアンブル情報を分離し、受信フレームの先頭を検出する。受信フレームの先頭を検出するとその情報を復調データと共にＰＬＣヘッダ解析回路５０２、および誤り訂正復号回路５０３に入力する。ヘッダ解析回路５０２ではＭＡＣヘッダを分離し、その分離結果をＰＬＣ受信タイミング生成回路５０７に通知する。ＰＬＣ受信タイミング生成回路５０７では、ＭＡＣヘッダ情報をＣＰＵ１１に通知する。一方、誤り訂正復号回路５０３に入力された受信データは、誤り訂正・検出が実施され、誤り訂正の施されたデータは暗号復号回路５０４に入力される。暗号復号回路５０４に入力されたデータは、ＰＬＣ受信タイミング生成回路５０７より出力される鍵情報を元に復号され、ＰＬＣ制御フレーム分離回路５０５に入力される。ＰＬＣ制御フレーム分離回路５０５では入力されたフレームデータの先頭に付加されている連結情報、あるいはＡＣＫ／ＮＡＣＫフレームなどのＰＬＣ制御フレームを分離する。ＰＬＣ制御フレーム分離回路５０５で分離された制御フレーム情報はＰＬＣ受信タイミング生成回路５０７を介してＣＰＵ１１に通知される。
【００８８】
一方、分離された連結情報は、それに続く情報と共に、ＰＬＣ受信用メモリ制御回路５０６に入力される。ＰＬＣ受信用メモリ制御回路５０６では、受信データからとＥｔｈｅｒｎｅｔフレームを分離する。ＰＬＣ受信用メモリ制御回路５０６にはＦＩＦＯが内蔵されており（図示していない）、ＦＩＦＯ内に受信データを一旦書き込む。ＦＩＦＯ内に受信データが記憶されると、ＰＬＣ受信用メモリ制御回路５０６は、バス調停回路１４に対して、データ書き込み要求を出力する。ＰＬＣネットワークからのデータ受信時は、主にＰＬＣ受信データの書き込み要求、ブリッジインタフェース回路１３からの受信Ｅｔｈｅｒｎｅｔフレームの書き込み要求、および送信Ｅｔｈｅｒｎｅｔフレームの読み出し要求、およびＣＰＵ１１からのデータ書き込み／読み出し要求の四つが競合する（尚、送受信切り換わり部分で一部ＰＬＣ送信データとの競合が発生する場合がある。また、受信クライアント端末が換わる際に、ＰＬＣ制御データ読み出し要求との競合が発生する場合がある）。
尚、バス調停回路１４でのアクセス権調停動作は送信時に説明したものと同一であるのでここでの詳細な説明は省略する。
【００８９】
現在接続中のクライアント端末からの受信が終了すると、ＰＬＣ受信タイミング制御回路５０７は、スケジュールを確認し、異なるクライアント端末からの受信スケジュールがあれば、上述した動作を実施し次のクライアント端末の受信に備える。一方、受信スケジュールがない場合はＲＣＨの受信に備え、デジタル復調回路５０１、および誤り訂正復号回路５０３に対して、設定する適応変調情報などを共通メモリ１５より読み出し、ＲＣＨ受信時刻まで待機する。
【００９０】
以上説明したように、実施の形態１のデータ送受信装置（データ送受信方法）におけるバス調停装置を用いれば、リアルタイム性の要求されるスケジュール生成などの処理を実施する場合は、ＣＰＵ１１の共通メモリ１５へアクセスする場合の優先順位を高くすることで、所定時間内でスケジュール生成することができ、システムを安定に動作させることができる。また、ＣＰＵ１１の優先順位が高くなるので、リアルタイム性を確保するために命令キャッシュメモリ、あるいはＣＰＵ１１専用のプログラムメモリを必要以上大きくする必要がないので、回路規模の削減を図ることができる。更に、ＣＰＵ１１でのスケジュール生成処理の優先順位を実施の形態１に示すように上げることで、ＣＰＵ１１でのスケジュール生成の際の処理時間のワーストケースがほぼ確定できる。即ち、アクセス権要求からアクセス権を獲得するまでの最大のレイテンシが計算できる（優先順位が低い場合は、例えば、ランダムに入力されるＥｔｈｅｒｎｅｔインタフェースの受信データなどがバス調停回路１４に対してアクセス権要求を出すので、処理時間のワーストケースを読むことはできない）。このため、ＣＰＵ１１によるスケジュール生成の開始時刻を、上記ワーストケースの時間分前から始めればよいので、受信したＥｔｈｅｒｎｅｔフレームを必要以上に管理端末１内に滞留させることない。従って、例えばＴＣＰ／ＩＰなどでデータの送受信を実施する場合、ランドトリップ時間を必要以上に長くし、ネットワーク帯域が十分確保されているにもかかわらず、データ伝送速度が上がらないといったことを起こすことはないといった効果がある。
【００９１】
また、実施の形態１では、共通メモリ１５としてＳＤＲＡＭを用いた場合について説明したがこれに限るものではなく、ＤＲＡＭ、ＤＤＲ、ＳＲＡＭなどのメモリを用いても同様の効果を奏することは言うまでもない。また、実施の形態１では、図８に示すように共通メモリ１５を制御することで、共通メモリ１５へのアクセスの際のデータの書き込み／読み出しの際の帯域を最大限使用することができる効果があると共に、一つのペリフェラルがアクセス権を全てのデータの転送が完了するまで持ち続けないのでリアルタイム性の要求されるＣＰＵ１１でのスケジュール生成処理、あるいはＰＬＣネットワークへ送信する送信フレームの生成などにおいてシステムを破綻させることなく制御することができる。また、ＣＰＵ１１の共通メモリ１５へのアクセスの際の優先順位を上げた際に、少なくともＰＬＣモデム回路１６から送信する送信データの生成の際の共通メモリ１５からのデータの読み出し、および受信データの共通メモリ１５への書き込みの際の最大バースト長を、それ以外の場合と比較して短くすることで、優先順位が下げられたＥｔｈｅｒｎｅｔインタフェース回路１２にて受信したＥｔｈｅｒｎｅｔフレームデータの共通メモリ１５への書き込み要求、および送信Ｅｔｈｅｒｎｅｔフレームデータの共通メモリ１５からの読み出しについても、アクセスの際の優先順位は低いものの確実にアクセス権を与えることができ、必要以上に内部に持たせるＦＩＦＯメモリの容量を大きくすることなくシステムを制御できる効果がある。
【００９２】
また、実施の形態１では、アクセス権を獲得した周辺ペリフェラルは連続してバスアクセス権を獲得しないよう図８に示すように制御を実施するので、一つの優先順位の高いペリフェラルが共通メモリ１５へのアクセス権を占有してしまい、他のペリフェラルからのアクセスができなくなってしまうといったことが起こらないので、必要以上に周辺ペリフェラル内のＦＩＦＯメモリサイズを大きくすることなくシステムを構成できる効果がある。同様に、ＣＰＵ１１に対しても必要以上のキャッシュメモリを内蔵する、あるいはＣＰＵ１１専用のメモリを内蔵する必要がないという効果がある。
【００９３】
以上のように、実施の形態１のバス調停装置によれば、予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第１のネットワークを介してデータの送受信を行う第１の通信手段と、第１のネットワークとは異なる第２のネットワークに接続され、第１の通信手段で受信したデータの送信および第１の通信手段で送信するデータの第２のネットワークからの受信を行う第２の通信手段と、データ送受信タイミングデータの生成を行う送受信タイミングデータ生成手段と、第１の通信手段、第２の通信手段および送受信タイミングデータ生成手段とはバスを介して接続され、第１の通信手段の送受信データと第２の通信手段の送受信データを記憶すると共に、送受信タイミングデータ生成手段がアクセスを行う共通メモリと、バスを介して行われる共通メモリへの第１の通信手段、第２の通信手段および送受信タイミングデータ生成手段からのデータ書き込み／読み出し要求を調停すると共に、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、送受信タイミングデータ生成手段のバス調停の優先順位を、第２の通信手段にて受信した受信データの共通メモリへの書き込みおよび第２の通信手段から送信される送信データの共通メモリからの読み出し要求より高くし、他の処理では第１の通信手段および第２の通信手段にて受信した受信データの共通メモリへの書き込みと、第１の通信手段および第２の通信手段で送信する送信データの共通メモリからの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段とを備えたので、リアルタイム性の要求されるスケジューリングなどの処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができる。
【００９４】
また、実施の形態１のバス調停装置によれば、バス調停手段は、少なくとも、送受信タイミングデータ生成手段が送受信タイミングデータの生成を行う場合は、第１の通信手段および第２の通信手段が共通メモリへアクセスする際のデータ長を短く制限するよう制御するようにしたので、データ送受信タイミングデータ生成の際の処理時間を短くすることができると共に、回路規模を小さく抑えることができる。
【００９５】
また、実施の形態１のバス調停装置によれば、送受信タイミングデータ生成手段は、予め定められた周期で送信されるデータ送受信タイミングデータの送信タイミングを管理する管理タイマを有し、バス調停手段は、管理タイマが所定の時刻になった際に、送受信タイミングデータ生成手段の優先順位を上げると共に、送受信タイミングデータ生成手段でのデータ送受信タイミングデータ作成が完了した場合は、優先順位を下げるよう制御するようにしたので、必要とする処理のみ優先順位を上げることができ、システムとしての効率を向上させることができる。
【００９６】
実施の形態２．
実施の形態２は、バス調停手段が、処理毎にバスアクセス権の最大遅延時間を設定し、最大遅延時間を超えた処理が存在した場合はその処理のバスアクセス権の優先度を高くするようにしたものである。
図１４は、実施の形態２のバス調停装置におけるバス調停回路の内部を示す構成図である。
実施の形態２では、入力端子１１３〜１１８とバス制御回路１４１との間に、それぞれ遅延時間計測カウンタ１４２〜１４７が設けられている。これらの遅延時間計測カウンタ１４２〜１４７は、それぞれ入力端子１１３〜１１８を介してアクセス権要求信号が入力されるとカウントを開始し、アクセス権が受け付けられるとバス制御回路１４１より出力されるバスアクセス権受付を示す信号によりカウント値を０にリセットすると共にカウント動作を停止するよう構成されたカウンタである。バス制御回路１４１は、実施の形態１のバス制御回路１０２と同様の機能を有すると共に、遅延時間計測カウンタ１４２〜１４７のカウント値に基づいて、入力端子１１３〜１１８からのアクセス要求信号に対する優先度の制御する機能を有している。
これ以外の構成は実施の形態１と同様であるため、その他の構成については説明を省略する。
【００９７】
以下、実施の形態２におけるデータ送受信装置１０におけるバス調停装置の動作について説明する。
実施の形態２では、バス調停回路１４内の共通メモリ１５へのアクセスの際の優先順位を決定する動作が実施の形態１で説明したものと異なる。よって、実施の形態２では、実施の形態１と異なるバス調停回路１４のバスアクセス権の調停動作のみについて詳細な動作説明を行い、実施の形態１と同様の動作についてはその説明を省略する。
【００９８】
以下、図１３および図１４を用いてバス調停回路１４のバス調停動作を説明する。
管理端末１が起動し、データの送受信が開始されるとバス調停回路１４中のバス制御回路１４１は、共有メモリ１５へのアクセス要求がないかを確認する（ステップＳＴ２１）。入力端子１１３〜１１８を介して上記要求信号が入力されると、バス制御回路１４１は、現在共有メモリ１５はアクセス中かを確認する。具体的には、共通メモリバスビジー信号がアクティブであるか確認する（ステップＳＴ２２）。その際、バス調停回路１４内のアクセス要求のあったペリフェラルの要求信号に接続された遅延時間計測カウンタ１４２〜１４７のカウントを開始する。実施の形態２では、優先順位の低い周辺ペリフェラルからのアクセス要求についても所定の時間以内にはアクセスできるように、アクセス権の要求信号受信後、遅延時間計測カウンタ１４２〜１４７のカウントを開始し、予め定められた時間以上アクセス権が獲得できなかった場合、バス制御回路１４１は、次のバス調停の際に、優先順位を一番高く設定するように制御する。これにより、優先順位が低く、アクセス権が中々獲得できないペリフェラルに関しても、最低限のアクセス権を与えることができるようになる。
【００９９】
遅延時間計測カウンタ１４２〜１４７がカウントを開始すると、バス制御回路１４１は、共通メモリバスビジー信号がアクティブな場合は、バスアクセス権が解放されるまで待つ。共通メモリバスビジー信号が非アクティブになると、バス制御回路１４１は、複数のペリフェラルからの要求か確認する（ステップＳＴ２３）。単一のペリフェラルからの要求であった場合は、バスアクセスを要求してきたペリフェラルに対して要求受付信号を出力（例えばＰＬＣ送信データ読み出し要求のみを受け取った場合はＰＬＣ送信データ読み出し要求受付信号を出力）する（ステップＳＴ２４）と共に、共通メモリバスビジー信号をセットする（ステップＳＴ２５）。その際、セレクタ１０３に対して所定の入力を選択するよう制御信号を出力すると共に、先ほど起動した遅延時間計測カウンタ１４２〜１４７のカウント値をリセットすると共に、カウント動作も停止する。尚、実施の形態２では、実施の形態１と同様に、上記セレクタ１０３への上記制御信号の出力タイミングは共通メモリバスビジー信号の立ち上がりエッジに同期して切り換えるよう制御する。そして、バス制御回路１４１は許可したペリフェラルが共通メモリ１５へのアクセスが完了するまで待機する（ステップＳＴ２６）。許可したペリフェラルの共通メモリ１５へのアクセスが完了すると、バス制御回路１４１はバスビジー信号をリセットし（ステップＳＴ２７）、共通メモリ１５へのアクセス要求がないかを確認する（ステップＳＴ２１）。
【０１００】
次に、複数のペリフェラルからのアクセス要求が競合している場合の動作について説明する。
複数のペリフェラルからのアクセス要求がある場合、バス制御回路１４１は優先度制御回路１０１に対して各ペリフェラルの優先度、および共通メモリ１５へのアクセス時のバースト長情報（ＳＤＲＡＭへ連続して転送するデータの最大ワード長）を確認するよう指示を出す。その際、実施の形態２では、各周辺ペリフェラルの最大遅延時間（優先順位を切り換える際の、遅延時間計測カウンタのカウント値）についても最大バースト長情報と共に優先度制御回路１０１から入手する。尚、優先度制御回路１０１の通常動作時の制御は、上記最大バースト情報に加え、最大遅延時間情報をバス制御回路１４１に通知することのみ実施の形態１とは異なり、優先度テーブル、最大バースト長情報などの内容、およびテーブル切り換え制御などの回路動作は同一であるのでここでの詳細な説明は省略する。また、初期化のシーケンスでの動作についても、最大バースト長情報と共に、バースト長テーブル（Ａ）１５３、およびバースト長テーブル（Ｂ）１５４に最大遅延時間情報を書き込む動作のみが実施の形態１とは異なるだけなので、詳細な動作説明は省略する。
【０１０１】
尚、実施の形態２では、最大遅延時間情報は各テーブルデータで異なるように設定するものとする。これは、以下の理由による。ＣＰＵ１１の優先順位が上がった場合、Ｅｔｈｅｒｎｅｔフレームデータの書き込み、および読み出しの際の共通メモリ１５へのアクセス権の獲得確率は下がる。実施の形態１では、優先順位の下がるＥｔｈｅｒｎｅｔインタフェース回路１２の受信データ、あるいは送信データのどちらか一方は共通メモリ１５へのアクセス権を獲得できるが、両者が競合した場合は優先順位の低いもの（実施の形態１では共通メモリ１５からのＥｔｈｅｒｎｅｔフレームデータの読み出し）については全くアクセス権を獲得できない場合が発生する。また、本件は通常の優先順位であっても発生する。従って、実施の形態２では各ペリフェラルからのアクセス権要求に対して、最大遅延時間を設定することにより上記問題を解決する。また、その時間を、例えば、ＣＰＵ１１の優先度が上がっている場合は、少なくともＣＰＵ１１の優先度より低いペリフェラルの最大遅延時間は、ＣＰＵ１１の優先度が上がっていない場合と比較し小さくなるように設定する。これにより、優先順位が下がった場合でも所定のアクセス権（通常よりは少ないが）を確保することができ、必要以上に内蔵するＦＩＦＯのサイズを大きくとる必要がなく、回路規模を抑えることができる効果がある。
【０１０２】
以下、実施の形態２では最大遅延時間情報を用いて優先度を切り換える理由について説明する。
実施の形態１で説明したように、例えばＣＰＵ１１はリアルタイム性の要求されないタスクを実施している場合は、共通メモリ１５へのアクセス権は一番低く設定されている。しかし、例えばＥｔｈｅｒｎｅｔインタフェース回路１２にて受信したＥｔｈｅｒｎｅｔフレームに誤りが検出された場合、あるいはオーバーランエラーなどが発生した場合に、通常Ｅｔｈｅｒｎｅｔインタフェース回路１２に対して割り込みを発生させ、異常が起きたことを通知する。しかしながら、割り込みを受け取った場合でも、ＣＰＵ１１は優先順位が一番低く設定されており、かつ、ＰＬＣモデム回路１６でのデータ送受信状況などで共通メモリ１５へのアクセス権が全く取れない場合が発生する。本件は、リアルタイム性を要求される処理ではないが、エラー処理などを各周辺ペリフェラルに通知するなどの処理を実施する必要がある。このようなケースで、ＣＰＵ１１が少なくとも予め定められた時間以内で処理が完了できるように、実施の形態２では、各周辺ペリフェラルからのアクセス権要求に対する最大遅延時間を設定する。これにより、各周辺ペリフェラルは共通メモリ１５へのアクセス権を、少なくとも一定の遅延時間以内には獲得することができるので、優先順位の低いペリフェラルも一定の共通メモリ１５へのアクセス権を獲得できる。これにより、システム設計の際の、最大レイテンシが机上で計算できるので、システム設計の際に、内蔵するＦＩＦＯメモリの容量などを必要以上に大きくする必要がなく、システムの最適化を図ることができる。
【０１０３】
次に、図１３および図１４を使用してアクセス権の要求が競合した場合の動作を説明する。
バス制御回路１４１は、複数のペリフェラルからの共通メモリ１５へのアクセス要求を確認する（ステップＳＴ２３）と、バス制御回路１４１は、優先度制御回路１０１より出力される優先度テーブル情報、最大バースト長情報、および各周辺ペリフェラルの最大遅延時間情報を確認する。次に、バスアクセス権を要求してきている各周辺ペリフェラルの遅延時間を確認する。具体的には、遅延時間計測カウンタ１４２〜１４７の出力が最大遅延時間情報より大きくないか確認する。大きいものがあった場合は、その優先度を、優先度制御回路１０１より出力される優先度よりも高く設定する。更に、複数の周辺ペリフェラルの要求が最大遅延時間を上回っていた場合は、最大遅延時間が上回っていた周辺ペリフェラルの中で、一番優先度の高いものに対してアクセス権を与えるよう制御する。一つしかなかった場合は、最大遅延時間を上回っていたペリフェラルにアクセス権を与える。
【０１０４】
一方、遅延時間計測カウンタ１４２〜１４７の出力が最大遅延時間情報より大きいものがなかった場合、バス制御回路１４１では、優先度制御回路１０１より出力される優先度情報に基づき競合しているアクセス要求の中から一番優先度の高いアクセス要求を選択し、要求受付信号を出力する（ステップＳＴ２９）。例えば、優先度制御回路１０１では優先度テーブル（Ａ）１５１が選択されており、入力端子１１３を介して入力されるＣＰＵデータ書き込み／読み出し要求信号、入力端子１１４を介して入力されるＰＬＣ制御データ読み出し要求信号、および入力端子１１６を介して入力されるＰＬＣ送信データ読み出し要求信号が競合していた場合、バス制御回路１０２は、優先度の一番高いＰＬＣ制御データ読み出し要求に対する受付信号を出力端子１２０を介して要求元であるＰＬＣネットワーク制御データ生成回路４０４に出力する。その際、実施の形態２では遅延時間計測カウンタ１４３のカウント値を０にリセットすると共に、遅延時間計測カウンタのカウンタ動作を停止する。尚、要求受付信号を受け取ったＰＬＣネットワーク制御データ生成回路４０４の動作は実施の形態１と同一であるため、ここでの詳細な動作の説明は省略する。
【０１０５】
バス制御回路１４１では、要求受付信号をアクセス権を獲得したペリフェラルに出力を終了すると共通メモリバスビジー信号をセットする（ステップＳＴ３０）。ステップＳＴ３０にて共通メモリバスビジー信号のセットが完了すると、バス制御回路１０２は共通メモリ１５へのバスアクセスが完了するまで待機する（ステップＳＴ３１）。セレクタ１０３より共通メモリ１５へのアクセス完了通知が入力されると、バス制御回路１４１は共通メモリバスビジー信号をリセットし（ステップＳＴ３２）、先ほど競合していた次のペリフェラルからのアクセス要求を許可するため、再び、どのペリフェラルからアクセス要求があるか確認する（ステップＳＴ２３）。
【０１０６】
以上説明したように、実施の形態２のバス調停装置によれば、各周辺ペリフェラルからのアクセス権要求信号に基づき、遅延時間計測カウンタ１４２〜１４７のカウントを開始し、ペリフェラル毎に予め設定された最大遅延時間情報と比較し、所定の時間以上、アクセス権が与えられていない場合、優先順位を高く設定し、アクセス権を与えるように制御するようにしたので、システム設計の際の、各周辺ペリフェラルに内蔵するメモリ容量（ＦＩＦＯメモリ、キャッシュメモリなど）などを必要以上に大きなサイズにすることがないので回路規模の削減を図ることができる。更に、優先度テーブル毎に最大遅延時間情報を設定できるよう構成しているので、各々の優先度で最適に最大遅延時間が設定できるので、各周辺ペリフェラルに内蔵するメモリ容量（ＦＩＦＯメモリ、キャッシュメモリなど）などを必要以上に大きなサイズにすることがなく、回路規模の削減を図ることができる。
【０１０７】
尚、上記実施の形態１及び２においては、データ送受信装置１０の一例として高速ＰＬＣを用いた場合について説明したがこれに限るものではなく、無線ＬＡＮ、あるいはＵＷＢ、あるいはＴＤＭＡ方式を採用する他の伝送方式を採用してもバス調停回路を同様に制御すれば同様の効果を奏することは言うまでもない。
また、実施の形態１では、スケジュール生成時のみ、ＣＰＵ１１の優先順位を上げるように制御したが、これに限るものではなく、スケジュール生成と同様にリアルタイム性の要求される処理をＣＰＵ１１にて実施する場合は、ＣＰＵ１１の優先度を、リアルタイム性の要求されない処理を実施する場合と比較して高くするよう制御すれば良い。更に、二つ以上リアルタイム性の要求される処理がある場合、それぞれの処理で、優先順位が異なるようバス調停回路１４を制御しても同様の効果を有することは言うまでもない。例えば、スケジュール生成以外のリアルタイム性の要求される処理が、非常に短いステップで実施される場合、実施の形態１とは異なり、本処理の優先順位を最優先としても同様の効果を有することは言うまでもない。
【０１０８】
更に、実施の形態１及び２においては、最大バースト長をＰＬＣ関連動作に限って変更するよう構成したが、これに限るものではなく、Ｅｔｈｅｒｎｅｔインタフェース関連のデータの読み出し／書き込み時の最大バースト長も、短くする（あるいは、システム的に問題なければ長くする）よう制御しても良い。また、実施の形態１では、ＴＤＭＡ方式を採用するデータ送受信装置１０を例にバス調停回路１４の動作を説明したが、これに限るものではなく、ＣＰＵ１１、あるいは専用回路で共通メモリ１５内に記憶されているプログラム、あるいはデータを用いてリアルタイム性の要求される処理を実施するような場合、その処理を実施する際のＣＰＵ１１あるいは専用回路の優先度を、リアルタイム性の要求されない処理を実施する場合と比較して高くするよう制御すれば同様の効果を有することは言うまでもない。また、バス調停回路１４にて、共通メモリ１５へのデータの書き込み／読み出し調停を実施する場合、図８に示すように同一ペリフェラルが連続して共通メモリアクセスを獲得しないように制御することで、優先順位の高いペリフェラルが共通メモリ１５へのアクセス権を占有し続けることがないため、必要以上に内部のメモリ容量を大きくする必要がなく回路規模を削減できる効果がある。
【図面の簡単な説明】
【０１０９】
【図１】この発明の実施の形態１によるデータ送受信装置を適用した高速ＰＬＣネットワークシステム示す構成図である。
【図２】この発明の実施の形態１によるデータ送受信装置の概略ブロック構成図である。
【図３】この発明の実施の形態１によるデータ送受信装置内のバス調停回路のブロック構成図である。
【図４】バス調停回路内の優先度制御回路の概略ブロック構成図である。
【図５】データ送受信装置内のＰＬＣモデム回路のブロック構成図である。
【図６】ＰＬＣモデム回路内のＰＬＣ送信制御回路のブロック構成図である。
【図７】ＰＬＣモデム回路内のＰＬＣ受信制御回路のブロック構成図である。
【図８】バス調停回路の共通メモリへの書き込み／読み出しのタイミングチャートである。
【図９】バス調停回路のＰＬＣネットワークを介してデータの送受信が開始された際のＣＰＵの動作を示すフローチャートである。
【図１０】バス調停回路のスケジュール情報の説明図である。
【図１１】バス調停回路のスケジュール情報の生成処理を示すフローチャートである。
【図１２】バス調停回路の１フレームのＰＬＣ送信データのフォーマットを示す説明図である。
【図１３】バス調停回路のバス調停動作を示すフローチャートである。
【図１４】この発明の実施の形態２によるデータ送受信装置内のバス調停回路の内部を示す構成図である。
【符号の説明】
【０１１０】
１  管理端末、２〜４  クライアント端末、５  電灯線、１０  データ送受信装置、１１  ＣＰＵ、１２  Ｅｔｈｅｒｎｅｔインタフェース回路、１３  ブリッジインタフェース回路、１４  バス調停回路、１５  共通メモリ、１６  ＰＬＣモデム回路、１７  ＣＰＵバス、４０  ＰＬＣ送信制御回路、５０  ＰＬＣ受信制御回路、１０１  優先度制御回路、１０２  バス制御回路、１０３  セレクタ、１０４  Ｉ／Ｏ制御回路、１４１  バス調停回路、１４２〜１４７  遅延時間計測カウンタ、１５１  優先度テーブルＡ、１５２  優先度テーブルＢ、１５３  バースト長テーブルＡ、１５４  バースト長テーブルＢ、１５５，１５６  セレクタ、１５７  セレクタ制御回路、１５８  ＣＰＵバスインタフェース回路、４０１  ＰＬＣヘッダ生成回路、４０２  パケットデータ生成回路、４０３  ＰＬＣ送受信タイミング生成回路、４０４  ＰＬＣネットワーク制御データ生成回路、４０５  ＰＬＣ送信用メモリ制御回路、４０６  暗号化回路、４０７  ＰＬＣヘッダ付加回路、４０８  誤り訂正符号回路、４０９  デジタル変調回路、５０１  デジタル復調回路、５０２  ＰＬＣヘッダ解析回路、５０３  誤り訂正復号回路、５０４  暗号復号回路、５０５  ＰＬＣ制御フレーム分離回路、５０６  ＰＬＣ受信用メモリ制御回路、５０７  ＰＬＣ受信タイミング生成回路、５０８  ＰＬＣ制御フレームデータ記憶回路。
【図１】
0005147430.tif 000002
【図２】
0005147430.tif 000003
【図３】
0005147430.tif 000004
【図４】
0005147430.tif 000005
【図５】
0005147430.tif 000006
【図６】
0005147430.tif 000007
【図７】
0005147430.tif 000008
【図８】
0005147430.tif 000009
【図９】
0005147430.tif 000010
【図１０】
0005147430.tif 000011
【図１１】
0005147430.tif 000012
【図１２】
0005147430.tif 000013
【図１３】
0005147430.tif 000014
【図１４】
0005147430.tif 000015