説明

バス調停装置

【課題】リアルタイム性の要求される処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができるバス調停装置を得る。
【解決手段】リアルタイム性を要求される処理を実施する場合、CPU11の共通メモリ15へのアクセスの際の優先順位を、リアルタイム性の要求されない処理を実施する際の処理と比較して高く設定すると共に、CPU11の優先度が高く設定されている場合は、共通メモリ15へアクセスする際の最大バースト長を通常と比較して短くするよう、バス調停を実施する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、光通信、無線、あるいは高速PLC(Power Line Communication)などのネットワークシステムにおけるデータ送受信装置に適用されるバス調停装置に関するものである。
【背景技術】
【0002】
無線、あるいは高速PLCなどのネットワークシステムでは、その伝送路の特性は時々刻々と変化する。そのため、一般的に受信データを監視しておき、周辺ノイズなどの影響で通信状態が悪化した場合は、物理層での変調方式を切り換えてデータの送受信を実施する。また、無線、あるいは高速PLCなどのシステムでは、映像、あるいは音声などのリアルタイム性を要求されるデータの送受信のためTDMA(Time Division Multiple Access)方式を採用しデータを伝送する方式なども導入されつつある。具体的には、例えばARIBにて標準規格化されたHiSWANa(ARIB STD−T70 1.0版)などがある。
【0003】
以下、上記HiSWANa規格に採用されたTDMA方式の概要を簡単に説明する。
HiSWANaで採用されたTDMA方式は、管理端末と呼ばれる1台の端末によりネットワーク内の各端末は管理される。管理端末は、ネットワーク全体の時刻同期を管理するためBeacon信号と呼ばれるパケットデータ(以下、BCHと記す。)を予め定められた周期で同報通信する(HiSWANaでは2ms周期)。尚、図10に、1Beacon周期内(以下、1フレームと記す。)の各種データの送受信タイミングを示している。
【0004】
ネットワーク内に配置された各端末は該BCHを受信すると、それを基準に、端末内の基準時刻情報をリセットすると共に、管理端末より送信される各種制御パケットの受信準備を開始する。管理端末は、BCH送出後、次にネットワークに接続された各端末のデータ送受信スケジュールを含むネットワークシステム制御用のパケットデータ(以下、FCHと記す。)をネットワークに接続された各端末に対して同報通信する。上記FCHには、ネットワークに接続された各端末のデータ送信、および受信のスケジュール(データの送受信スロット情報(送受信開始タイミング情報、データ送受信時間情報)など)が付加され送信される。各端末は、FCHを受信すると自端末がデータを受信するタイミングと自端末がデータを送信するタイミングを検出する。
【0005】
管理端末は、FCH送信に引き続き、端末に対して送信要求受信通知(以下、ACHと記す)を送信する。管理端末より、上記BCH、FCH、ACHの各パケットデータの送信が完了すると、FCHにて通知されたスケジュールに基づき各端末はパケットデータの受信、および送信動作を開始する(以下、各端末間でデータの送受信を行う期間をTCHと記す)。TDMA方式では、管理端末は送信したいデータを持つ端末についてのみデータ送信スロットをスケジューリングする。従って、送信したいデータを持つ端末は、管理端末に対して自端末のデータを送信するためのスロットを割り振るよう要求する必要がある。このようなHiSWANa規格で採用されたTDMA方式では、各端末より送信リクエストを受け付けるため、1Beacon周期内(以下、1フレームと記す。)の最後に、各端末からの上記送信スロット要求リクエスト(帯域割り当て要求)を受け付けるためのCSMA期間(以下、RCH期間と記す。)を準備している。管理端末は、RCHの期間に上記送信スロット要求リクエストを受け取った端末に対しては次のBeacon周期内のACHにて帯域割り当て要求を受け取った端末に対してその旨を通知する。
【0006】
以下、従来のバス調停装置について説明する。
従来のバス調停装置は、バス調停装置に接続されている複数のバスマスタらのアクセス要求を、予め定められた優先順位に基づいて許可を与える優先度固定方式、各バスマスタからアクセス要求をほぼ均等に割り当てるようにするローテーション方式などがある。優先度固定方式は、優先順位の低いバスマスタについては共通メモリへのアクセス権が全く与えられず、システムが破綻してしまう場合がある。一方、ローテーション方式の場合は、均等にバスアクセス権は各バスマスタに与えられるが、リアルタイム性の要求されないバスマスタに対しても多くのバスアクセス権が与えられるため、システムとしてバス性能を必要以上にあげるため回路規模が増加してしまう。また、優先度固定方式の改良版としては、予め定められた期間以上アクセス権が与えられないバスマスタについては優先度を上げる方式などが考案されている。更には、各バスマスタのアクセス権の要求頻度をCPUにて監視し、要求頻度に応じてCPUによりダイナミックに優先度を変更する方式も例えば特許文献1等に記載されている。また、例えば、特許文献2では、複数のバスマスタからの各要求の優先順位を所定時間間隔毎に設定を変更する優先順位制御部と優先順位制御部によって設定が変更された優先順位に基づきバスを調停する方式が記載されている。
【0007】
以下、上記HiSWANa規格をベースとしたTDMA方式を、例えば高速PLCに適用した場合の例を元に、従来のデータ送受信装置におけるバス調停装置の動作について説明する。上述したように、TDMA方式を採用するネットワークシステムの管理端末は、各クライアント端末に送信するデータ、および各クライアント端末の帯域割り当て要求に基づきそれぞれのクライアント端末に割り当てる送受信のためのタイムスロットのスケジューリングを実施する。その際、フレキシブルにスケジューリングを実施するため、CPUにてスケジューリングを実施する場合が多い。
また、電灯線を用いたデータ通信では、コンセントに接続された例えば家電機器の動作状況に応じて伝送路の特性は時々刻々と変化する。CPUは、コンセントに接続された各クライアント端末との通信状態を監視し、時々刻々と変化する伝送路特性に合わせ、伝送路に送出するデータに施す変調方式を切り換える指示を、高速PLCのPHY部(物理層)に出力する。更に、CPUは管理端末全体の制御(機器管理)、あるいは新規に接続されたクライアント端末からのネットワーク接続要求に対して、機器認証などを実施する。
【0008】
一般に、上記処理をCPUにて実施する場合、スケジューリングは例えば予め定められた期間(10ms程度)で処理を終了させる必要があるのに対して、機器管理や伝送路推定などは、数百msから数秒で1回の処理が終了すればよい。
【0009】
【特許文献1】特開平6−243092号公報
【特許文献2】特開2006−309530号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、このようなシステムで、特許文献1の従来例に記載されている優先度固定方式によるバス調停を行った場合、具体的には、受信データ、送信データ、およびCPUプログラムを共通メモリに格納し、予め定められた優先順位に基づき共通メモリへのアクセス権を与えるような場合、バス調停装置でのCPUの優先順位はあまり高くすることはできない。即ち、CPUの優先順位を高くすると、リアルタイム性の要求されるスケジューリング処理は問題なく実施することができる。ところが、通常数百ms〜数秒で完了すれば良い、リアルタイム性の要求されない伝送路推定などの処理のために、共通メモリへのアクセス権がCPUに割り当てられてしまうため、PLCネットワークへの送信データの読み出し要求、あるいは受信データの書き込み要求、あるいはEthernet(登録商標/以下、記載を省略する)などの他の通信インタフェースからのデータの送信データの読み出し要求、あるいは受信データの書き込み要求に対して共通メモリへのアクセス権が与えられず、オーバーランエラーやアンダーランエラーが発生してしまうという問題が発生する。同様に、ローテーション方式を採用した場合でもCPUに必要以上のアクセス権が与えられてしまい、同様の問題が発生する。尚、上述のような制御を行った場合、CPUのパフォーマンスが上がるため伝送路推定などを実施する周期は短くなるが、CPUを除く周辺ペリフェラルの共通メモリへのデータアクセス量は減ることになる。
【0011】
一方、CPUの優先順位を低くしてしまうと、上記スケジューリングなどのリアルタイム性の要求される処理が所定に時間以内に完了せず、スケジュールデータをクライアント端末に対して同報通信できないため、PLCネットワークシステム自体が破綻してしまうという問題が発生する。このような問題を解決するためには、CPUからの共通メモリへのアクセス回数を減らすため命令キャッシュメモリのメモリ容量を必要以上に大きくする、あるいはスケジューリング処理のプログラムだけCPU専用に独立したメモリを設けるなど、リアルタイム性を確保するための対策が必要となり、回路規模が必要以上に大きくなってしまうという問題が発生する。更に、命令キャッシュメモリ、あるいはCPU専用に独立したメモリを設ける場合でも、例えばLSI開発中では正確なプログラムサイズがわからないためメモリサイズ決定の際にマージンを取り必要以上に回路規模が大きくなってしまう。
【0012】
また、スケジューリングは、管理端末に記憶されているPLCネットワークへのデータ送信パケット数、および各クライアント端末からの送信帯域要求量によって処理時間が大きく変化する。このような問題に対処するためには、例えば特許文献2に示すように、予め定められたタイムスロット期間だけCPUの優先順位を上げる方法もある。しかしながら、このような方法でも、上記タイムスロット幅を、スケジューリングする際のワーストケース以上に設定する必要があり、優先度固定方式と比較した場合、効果はあるものの、CPUに対して必要以上に優先度を割り当てるためデータ送受信性能を落としてしまうという新たな問題が発生する。
【0013】
この発明は上記のような課題を解決するためになされたもので、リアルタイム性の要求されるスケジューリングなどの処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができるバス調停装置を得ることを目的とする。
【課題を解決するための手段】
【0014】
この発明に係るバス調停装置は、予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第1のネットワークを介してデータの送受信を行う第1の通信手段と、記第1のネットワークとは異なる第2のネットワークに接続され、第1の通信手段で受信したデータの送信および第1の通信手段で送信するデータの第2のネットワークからの受信を行う第2の通信手段と、データ送受信タイミングデータの生成を行う送受信タイミングデータ生成手段と、第1の通信手段、第2の通信手段および送受信タイミングデータ生成手段とはバスを介して接続され、第1の通信手段の送受信データと第2の通信手段の送受信データを記憶すると共に、送受信タイミングデータ生成手段がアクセスを行う共通メモリと、バスを介して行われる共通メモリへの第1の通信手段、第2の通信手段および送受信タイミングデータ生成手段からのデータ書き込み/読み出し要求を調停すると共に、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、送受信タイミングデータ生成手段のバス調停の優先順位を、第2の通信手段にて受信した受信データの共通メモリへの書き込みおよび第2の通信手段から送信される送信データの共通メモリからの読み出し要求より高くし、他の処理では第1の通信手段および第2の通信手段にて受信した受信データの共通メモリへの書き込みと、第1の通信手段および第2の通信手段で送信する送信データの共通メモリからの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段とを備えたものである。
【発明の効果】
【0015】
この発明のバス調停装置は、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、送受信タイミングデータ生成手段のバス調停の優先順位を、第2の通信手段にて受信した受信データの共通メモリへの書き込みおよび第2の通信手段から送信される送信データの共通メモリからの読み出し要求より高くするようにしたので、リアルタイム性の要求されるスケジューリングなどの処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができる。
【発明を実施するための最良の形態】
【0016】
実施の形態1.
図1は、本発明の実施の形態1に係るバス調停装置を適用する高速PLCネットワークシステムの概略を示す構成図である。
図示のネットワークシステムは、管理端末1、クライアント端末2,3,4、電灯線5コンセント6,7,8,9、からなる。
管理端末1は、高速PLCネットワーク全体を管理する端末であり、コンセント6は管理端末1と電灯線5とを接続するためのコンセントである。クライアント端末2〜4は、それぞれコンセント7〜9により電灯線5に接続され、PLCネットワークシステムに接続されたクライアント端末である。図示のように、実施の形態1では、管理端末1、クライアント端末2〜4によって高速PLCネットワークシステムを構成している。尚、図1に示された高速PLCネットワークシステムの構成は、本発明のデータ送受信装置におけるバス調停装置が適用できるシステム構成の一例として高速PLCを用いた場合について示したものであり、本発明のデータ送受信装置におけるバス調停装置は、他の構成を持つ高速PLCネットワークシステム、無線LANを用いたネットワーク、光を用いたネットワーク、Ethernetを用いたネットワークなどの他のシステムにも同様に適用可能である。
【0017】
次に、図1を用いて高速PLCネットワーク内での管理端末1の動作について説明する。実施の形態1では、MAC制御方式として、背景技術で説明したHiSWANaで用いられているTDMA方式を採用した場合を例に説明する。管理端末1は、最初にネットワーク全体の時刻同期を管理するためBCH(Beacon信号)を、予め定められた周期で同報通信する。BCH送信後、管理端末1は高速PLCネットワーク内の各クライアント端末2〜4のデータ受信、およびデータ送信タイミング情報(FCH)を同報通信する。FCH送信後、前フレームで各クライアント端末2〜4より出力されるRCHを受信した場合、RCHの送信端末に対して正常受信したことを通知するACHを出力する。
【0018】
ACH送信後は、FCHにて送信されたスケジュールに基づき、管理端末1とクライアント端末2〜4は、各端末間でデータの送受信を実施する。尚、FCHの詳細については後述する。FCHでのスケジュールに基づくデータの送受信が終了すると、各クライアント端末は送信データを持っている場合はRCHの期間に管理端末1に対して帯域割り当て要求を出力する。尚、TDMA方式を用いた上記BCH、FCH、ACH、RCH信号の送受信タイミングの詳細については後述する。
【0019】
次に、各クライアント端末2〜4の動作について説明する。
クライアント端末2〜4は、管理端末1より出力されるBCH信号を受信すると、その受信タイミングを元に自端末内の基準時刻の補正を実施する。BCHを用いた基準時刻補正実施後、各クライアント端末2〜4は、管理端末1より出力されるFCHを元に自端末のデータ送信タイミング、およびデータ受信タイミングを、MAC部、および変復調部に通知する(これらの構成の詳細については、図7を用いて後述する)。データ送信、および受信タイミングの通知を受けると変復調部はBCHにより補正された基準時刻情報を元にデータの送信、および受信準備を開始する。
具体的には、データ受信の場合は、FCHに基づく受信時刻になると高速PLCデータ復調回路部は、データ受信動作を開始し、データの先頭に予め付加されているプリアンブル情報の検出を実施する。プリアンブル情報が所定のタイミングで検出されると、高速PLCデータ復調回路部は検出したプリアンブル情報を元に受信データの先頭を検出して受信データを復調し、復調したデータをMAC部に出力する。一方、所定のタイミングでプリアンプルが検出できない場合は、高速PLCデータ復調回路部はMAC部に対して受信できなかった旨を通知する。
【0020】
また、データ送信の場合は、FCHに基づく送信時刻が近づくとMAC部は送信データの生成を開始する。MAC部にて送信データの生成が完了すると、高速PLCデータ変調回路部に予め定められたタイミングで出力する(これらの構成の詳細についても、図6を用いて後述する)。高速PLCデータ変調回路部ではMAC部より出力される送信データに対して変調を施すと共に、プリアンブル情報を付加して所定のタイミングで電灯線5に送信データを送出する。
【0021】
次に、図2〜図7を用いて高速PLC端末の構成を説明する。
図2は本発明の実施の形態1に係るバス調停装置を適用する高速PLCを用いたデータ送受信装置の概略ブロック構成図である。
図示のように、データ送受信装置10は、CPU11、Ethernetインタフェース回路12、ブリッジインタフェース回路13、バス調停回路14、共通メモリ15、PLCモデム回路16、CPUバス17からなる。このデータ送受信装置10は、図1で示した管理端末1やクライアント端末2〜4に相当するものである。
CPU11は、データ送受信装置10各部の制御を行うと共に、後述するスケジュール生成を行うためのプロセッサである。Ethernetインタフェース回路12は、Ethernetネットワーク(第2のネットワーク)に接続される入力端子20より、Ethernetフレームデータを入力し、また、Ethernetネットワークに接続される出力端子21を介してEthernetフレームデータを出力するためのインタフェースである。ブリッジインタフェース回路13は、Ethernetインタフェース回路12より入力されるEthernetフレームデータ、Ethernetインタフェース回路12へ出力されるEthernetフレームデータ、PLCモデム回路16へ出力されるEthernetフレームデータ、PLCモデム回路16から入力されるEthernetフレームデータをブリッジするブリッジインタフェース回路である。また、これらEthernetインタフェース回路12及びブリッジインタフェース回路13によって、第1のネットワークとは異なる第2のネットワークに接続され、第1の通信手段で受信したデータの第2のネットワークのへの送信および第1の通信手段で送信するデータの第2のネットワークからの受信を行う第2の通信手段が構成されている。尚、第1のネットワークおよび第1の通信手段はPLCネットワークおよびPLCモデム回路16に相当するが、これらについては後述する。
【0022】
一般に、高速PLCネットワークでは、電灯線5に接続された各端末を論理ポートという概念を用い、ブリッジインタフェース回路13にて宛先(図1中の管理端末1、クライアント端末2〜4)毎にデータを振り分け、ブリッジ用メモリ内にキューイングする(尚、実施の形態1では、共通メモリ15内にキューイングする)。具体的には、Ethernetインタフェース回路12より入力されるEthernetフレームデータをその行き先毎に共通メモリ15内に設けられたクライアント端末毎に準備されたメモリ書き込み領域に振り分けて記憶する。尚、実施の形態1では、上記共通メモリ15内の該メモリ書き込み領域は、クライアント端末毎に固定領域を割り当てるものとして説明するが、共通メモリ15の構成は、これに限るものではなく、書き込みアドレスをポインタで管理し、受信データ量に応じて各クライアント端末に記憶できるEthernetフレームデータのパケット数を可変にしても良いことは言うまでもない。
【0023】
バス調停回路14は、ブリッジインタフェース回路13からの受信Ethernetフレームデータの書き込み要求、Ethernetインタフェース回路12からの送信Ethernetフレームデータの読み出し要求、CPU11からのプログラムの読み出し要求およびデータの書き込み要求、PLCモデム回路16からの送信用のEthernetフレームデータの読み出し要求、各クライアント端末から受信したEthernetフレームの書き込み要求、データ送受信の際のPLCモデム回路16からの制御データ読み出し要求を調停する回路である。
【0024】
即ち、バス調停回路14は、CPUバス17を介して行われる共通メモリ15への第1の通信手段、第2の通信手段および送受信タイミングデータ生成手段からのデータ書き込み/読み出し要求を調停すると共に、共通メモリ15へのデータの書き込み/読み出し調停を実施する場合、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、第2の通信手段にて受信した受信データの共通メモリ15への書き込みおよび第2の通信手段からの送信データの共通メモリ15からの読み出し要求よりバス調停の際の優先順位を高くし、他の処理では第1の通信手段および第2の通信手段にて受信した受信データの共通メモリ15への書き込みおよび送信する送信データの共通メモリ15からの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段を構成している。
【0025】
共通メモリ15は、Ethernetインタフェース回路12で送受信するEthernetフレームデータ、PLCモデム回路16におけるPLC送信データやPLC受信データを記憶すると共に、スケジュール生成のためのデータや各種のプログラムを記憶するためのメモリであり、各ペリフェラルやCPU11によってアクセスされる。尚、ペリフェラルとは、例えば、図2に示すデータ送受信装置10の場合、共通メモリ15(バス調停回路14)から見た接続回路ブロック(アクセス要求のある回路ブロック)であり、Ethernetインタフェース回路12、ブリッジインタフェース回路13およびPLCモデム回路16等が相当する。
PLCモデム回路16は、出力端子22を介して第1のネットワークであるPLCネットワークに対してPLC送信データを出力すると共に、入力端子23を介してPLCネットワークからPLC受信データを取得する回路である。CPUバス17は、CPU11、Ethernetインタフェース回路12、ブリッジインタフェース回路13、バス調停回路14、PLCモデム回路16を相互に接続するバスである。
【0026】
図3は、図2に示す高速PLCを用いたデータ送受信装置10内のバス調停回路14の概略ブロック構成図である。
図示のように、バス調停回路14は、優先度制御回路101、バス制御回路102、セレクタ103、I/O制御回路104を備えている。優先度制御回路101は、バス競合時に共通メモリ15へのアクセス権を与える際の優先度を出力する制御回路である。バス制御回路102は、優先度制御回路101から出力される優先度情報を元に、各ペリフェラルから入力される共通メモリ15へのアクセス要求を調停し、優先度の高い要求に対してアクセス受付信号を出力する制御回路である。
【0027】
図3におけるセレクタ103は、バス制御回路102より出力されるセレクト信号の出力に基づき、共通メモリ15へ出力するメモリ制御信号、および書き込みデータを選択するセレクタである。I/O制御回路104は、共通メモリ15へのデータ書き込み時はセレクタ103より出力される共通メモリ書き込みデータを出力し、データ読み出し時には、共通メモリ15より読み出したデータを出力端子132を介してCPUバス17に出力する制御回路である。
【0028】
入力端子111,112は優先度制御回路101の入力端子である。入力端子111は、CPU11でのスケジューリング処理完了を通知する優先順位切り換え完了信号の入力端子、入力端子112は、PLCネットワーク制御データ生成回路404(後述する図6参照)から出力されるバス調停回路14内のバス優先順位切り換え開始を指し示すタイミング信号の入力端子である。
また、入力端子113〜118はバス制御回路102の入力端子である。入力端子113は、CPU11からのデータ書き込み/読み出し要求信号の入力端子、入力端子114は、PLC送信制御回路40(後述する図5、図6参照)からのPLC制御データ読み出し制御要求信号の入力端子、入力端子115は、Ethernet受信データの書き込み要求信号の入力端子、入力端子116は、Ethernet送信データの読み出し要求信号の入力端子、入力端子117は、PLC受信データのデータ書き込み要求信号の入力端子、入力端子118はPLC送信データの読み出し要求信号の入力端子である。
【0029】
出力端子119〜125は、バス制御回路102の出力端子である。出力端子119は、各ペリフェラルに対して共通メモリ15のバスがビジーであることを通知する共通メモリビジー信号の出力端子、出力端子120は、CPU11のデータ書き込み/読み出し要求受付信号の出力端子、出力端子121は、PLC送信制御回路40からのPLC制御データ読み出し制御要求受付信号の出力端子、出力端子122は、Ethernet受信データの書き込み要求受付信号の出力端子、出力端子123は、Ethernet送信データの読み出し要求受付信号の出力端子、出力端子124は、PLC受信データのデータ書き込み要求受付信号の出力端子、出力端子125は、PLC送信データの読み出し要求受付信号の出力端子である。
【0030】
入力端子126〜131は、セレクタ103の入力端子である。入力端子126は、CPUデータ書き込み/読み出し制御信号の入力端子、入力端子127はPLC制御データ読み出し制御信号の入力端子、入力端子128はEthernet受信データ書き込み制御信号の入力端子、入力端子129はEthernet送信データ読み出し制御信号の入力端子、入力端子130はPLC受信データ書き込み制御信号の入力端子、入力端子131はPLC送信データ読み出し制御信号の入力端子である。
出力端子132〜134は、I/O制御回路104の出力端子である。出力端子132は共通メモリ15から読み出したデータの出力端子、出力端子133は共通メモリ15へ書き込む書き込みデータの出力端子、出力端子134は共通メモリ15へ出力する制御信号の出力端子である。
【0031】
図4は、図3に示す優先度制御回路101の概略ブロック構成図である。
優先度制御回路101は、優先度テーブル(A)151、優先度テーブル(B)152、バースト長テーブル(A)153、バースト長テーブル(B)154、セレクタ155,156、セレクタ制御回路157、CPUバスインタフェース回路158を備えている。
優先度テーブル(A)151及び優先度テーブル(B)152は、共通メモリ15へのアクセス権の優先度を記憶した優先度テーブルであり、図示のように、優先度テーブル(B)152では優先度テーブル(A)151に比べて、CPUデータ読み出し/書き込みの優先度が高くなるよう設定されている。また、バースト長テーブル(A)153及びバースト長テーブル(B)154は、共通メモリ15へのアクセスの際の最大バースト長を記憶したバースト長テーブルであり、バースト長テーブル(B)154のバースト長の方が、バースト長テーブル(A)153のバースト長に比べて短くなるよう設定されている。セレクタ155は、優先度テーブル(A)151と優先度テーブル(B)152の出力を切り換えるセレクタ、セレクタ156はバースト長テーブル(A)153とバースト長テーブル(B)154の出力を切り換えるセレクタである。
【0032】
セレクタ制御回路157は、PLCネットワーク制御データ生成回路404(後述する図6参照)の出力に基づき制御信号をセットし、CPU11より出力されるスケジューリング終了信号に基づき制御信号をリセットする制御回路である。CPUバスインタフェース回路158は、CPU11からの優先度テーブル(A)151、優先度テーブル(B)152、バースト長テーブル(A)153、およびバースト長テーブル(B)154へのアクセス要求に基づき各テーブル内へのデータの書き込み、テーブル内のデータの読み出しを実施するインタフェース回路である。
【0033】
図5は、図2に示すPLCモデム回路16のブロック構成図である。
PLCモデム回路16は、PLC送信制御回路40およびPLC受信制御回路50を備えている。PLC送信制御回路40は、共通メモリ15内に記憶されているEthernetインタフェース回路12にて受信したEthernetフレームデータを複数個連結し、PLC用のMACフレームを生成する送信制御回路である。PLC受信制御回路50は、電灯線5を介して受信したPLC用MACフレームデータからEthernetフレームを分離し、共通メモリ15に出力する受信制御回路である。
【0034】
図6は、図5に示すPLC送信制御回路40のブロック構成図である。
PLC送信制御回路40は、PLCヘッダ生成回路401、パケットデータ生成回路402、PLC送受信タイミング生成回路403、PLCネットワーク制御データ生成回路404、PLC送信用メモリ制御回路405、暗号化回路406、PLCヘッダ付加回路407、誤り訂正符号回路408、デジタル変調回路409を備えている。
【0035】
PLCヘッダ生成回路401は、PLCフレームに付加するMACヘッダを生成する回路である。パケットデータ生成回路402は、データ入力端子30から入力されるデータや、共通メモリ15からPLC送信用メモリ制御回路405を介して読み出したEthernetフレームデータを複数個集めて送信データを生成する回路である。PLC送受信タイミング生成回路403は、CPU11にて生成したスケジュール情報を元に、スケジュールデータを含む各種送信データの送信タイミング、および各クライアント端末からのデータの受信タイミングなどを生成する送受信タイミングの生成回路である。PLCネットワーク制御データ生成回路404は、PLCネットワークに接続されている各クライアント端末とデータの送受信をする際の、各サブキャリアの変調情報、スクランブル情報などを共通メモリ15より読み出し、誤り訂正符号回路408、デジタル変調回路409およびPLC受信制御回路50におけるデジタル復調回路501、誤り訂正復号回路503(後述する図7参照)に出力する回路である。
【0036】
尚、PLCネットワーク制御データ生成回路404では、CPU11にて生成されたスケジュール情報、自端末のMACアドレス情報、PLCネットワークに接続されている各クライアント端末のMACアドレス情報、暗号化の際に使用するキー情報なども記憶される。また、PLCネットワーク制御データ生成回路404からは、バス調停回路14に対してスケジューリング開始信号も出力される。
【0037】
PLC送信用メモリ制御回路405は、PLC送受信タイミング生成回路403より出力される送信クライアント端末情報、Ethernetフレームデータの連結情報、および送信タイミング情報を元に共通メモリ15からのデータの読み出し制御信号を生成する回路である。尚、PLC送信用メモリ制御回路405中にはメモリを内蔵しており、バス調停回路14での共通メモリ15へのアクセス権獲得までの遅延時間は該メモリで吸収する。暗号化回路406は、送信データに暗号化を施す回路である。PLCヘッダ付加回路407は、暗号化が施されたMACフレームの先頭にPLCヘッダ生成回路401で生成したヘッダ情報を付加する回路である。誤り訂正符号回路408は、PLCヘッダ付加回路407より出力されるMACフレームデータに誤り訂正符号を付加する回路である。デジタル変調回路409は、誤り訂正符号回路408より出力される送信データの先頭にプリアンブル信号を付加すると共に、送信データにデジタル変調を施し出力する回路である。
【0038】
図7は、図5に示すPLC受信制御回路50のブロック構成図である。
PLC受信制御回路50は、デジタル復調回路501、PLCヘッダ解析回路502、誤り訂正復号回路503、暗号復号回路504、PLC制御フレーム分離回路505、PLC受信用メモリ制御回路506、PLC受信タイミング生成回路507およびPLC制御フレームデータ記憶回路508で構成される。
【0039】
デジタル復調回路501は、電灯線5を介して受信した受信信号にデジタル復調を施し、受信データを生成する回路である。PLCヘッダ解析回路502は、受信されたPLCフレームよりMACヘッダを分離しその内容を解析する回路である。誤り訂正復号回路503は、受信されたPLCフレームに送信時に付加された誤り訂正符号を元に受信PLCフレーム内に発生した誤りを訂正・検出する回路である。暗号復号回路504は、ヘッダ解析回路502より出力される暗号化の施されたデータを復号する回路である。PLC制御フレーム分離回路505は、PLCフレームに付加されているスケジュール情報などを分離する回路である。PLC受信用メモリ制御回路506は、PLC制御フレーム分離回路505より出力されるデータよりEthernetフレームデータを再構成し、一旦、PLC受信用メモリ制御回路506内の図示していないメモリに記憶し、誤り訂正復号回路503より出力される誤り検出結果に基づき、誤りなしと判定された受信データを共通メモリ15に記憶する際の制御信号を生成する回路である。尚、PLC受信用メモリ制御回路506では、誤り訂正復号回路503より受信データに誤りありとの結果が通知された場合は、自回路内の上記メモリ内に一旦記憶されたデータを破棄するよう制御する。
【0040】
PLC受信タイミング生成回路507は、PLC制御フレームデータ記憶回路508に記憶されたスケジュールデータを読み込み、PLCネットワークからのデータ受信タイミングを生成する回路である。PLC制御フレームデータ記憶回路508は、PLC制御フレーム分離回路505により分離されたPLC制御フレーム情報を一旦記憶するための記憶回路である。
【0041】
尚、PLC送受信タイミング生成回路403、PLCネットワーク制御データ生成回路404およびCPU11により、データ送受信タイミングデータの生成を行う送受信タイミングデータ生成手段が構成されている。また、これらのPLC送受信タイミング生成回路403およびPLCネットワーク制御データ生成回路404を除くPLC送信制御回路40とPLC受信制御回路50の構成によって、予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第1のネットワークを介してデータの送受信を行う第1の通信手段が構成されている。
【0042】
次に、図2から図13を用いてバス調停回路14の動作を説明する。
先ず、データ送受信装置10におけるPLCネットワークへのデータ送信時の動作を説明する。
入力端子20を介して入力されたEthernetフレームデータは、Ethernetインタフェース回路12にて予めデータに付加されているEthernet用MACヘッダ情報を元にデータ長などの情報が分離解析され、ブリッジインタフェース回路13へ出力される。ブリッジインタフェース回路13では、Ethernetインタフェース回路12よりEthernetフレームデータが入力されると、Ethernet用のMACヘッダより、送信先MACアドレス情報を用いて送り先ポートアドレスを検索する。Ethernetフレームに付加されているMACヘッダ情報の解析が終了すると、ブリッジインタフェース回路13は、受信したEthernetフレームデータを、送り先ポートの検出結果を元に共通メモリ15への書き込みアドレスおよび書き込み制御信号を生成し、バス調停回路14に対して、受信したEthernetフレームデータの書き込み要求を出力する。
【0043】
バス調停回路14では、入力端子115を介してブリッジインタフェース回路13よりEthernetフレームデータの書き込み要求信号が入力されると、バス制御回路102は、現在共通メモリ15に対して他の周辺ペリフェラルがアクセスを実施しているかを確認する。具体的には、出力端子119を介して出力されるバスビジー信号を確認する。そして、他の周辺ペリフェラルがアクセスを実施していない場合は、他の周辺ペリフェラルからのアクセス権要求がないかを確認する。他のペリフェラルからのアクセス要求がない場合、バス制御回路102は、ブリッジインタフェース回路13に出力端子122を介してEthernet受信データ書き込み要求受付(許可)信号を出力すると共に、共通バスビジー信号を各周辺ペリフェラルに出力端子119を介して出力する。また、バス制御回路102は、セレクタ103に対して、入力端子128を介して入力されるEthernet受信データ書き込み制御信号を選択するよう制御信号を出力する。セレクタ103より出力されるEthernet受信データ書き込み制御信号は、出力端子134を介して共通メモリ15へ出力される。同様に共通メモリ15への書き込みデータである受信データはI/O制御回路104に一旦入力され、出力端子133を介して共通メモリ15に出力される。尚、バス調停回路14の詳細な動作は後述する。
【0044】
次に、実施の形態1における共通メモリ15の制御方法について説明する。
実施の形態1では、共通メモリ15として、例えば一般的なSDRAMを使用した場合について説明する。通常のSDRAMへのデータの書き込み、あるいは読み出しを実施する場合のタイミングチャートを図8に示す。
バス調停回路14からの書き込み要求受付信号を受信した周辺ペリフェラルは、バス制御回路102より出力される最大バースト長情報(図示は省略している)を元に、共通メモリ15へのデータの書き込み制御信号(あるいは読み出し制御信号)を出力する。具体的には、図8に示すようにロウアドレス出力後、カラムアドレスをセレクタ103に出力する。実施の形態1では書き込みデータ、あるいは読み出しデータのバースト長はローアドレス情報と共に入力されるものとする。カラムアドレス出力後、データ書き込みであれば上記最大バースト長までの書き込みデータ、および実際に書き込むデータのバースト長情報をセレクタ103に出力する。セレクタ103では、上記バースト長情報を元に、図示していないセレクタ103内のFIFOメモリに書き込みデータを一旦記憶する。一般に、SDRAMでは、アドレス情報に引き続き出力する書き込みデータの出力タイミング、あるいはSDRAM内に記憶されているデータの読み出しタイミングは、前回アクセスを行ったアドレスによりその遅延時間が異なる。具体的には、バンクが切り換わる場合には、バンクの切り換え時間分の遅延時間が発生する。セレクタ103では、バス制御回路102の出力に基づき入力端子126〜131より入力される制御信号の切り換えを実施すると共に、書き込み、あるいは読み出しデータ、および制御信号の遅延時間の調整も実施するものとする。
【0045】
バス制御回路102は、要求受付信号をペリフェラルに出力後、図8に示すタイミングで共通メモリバスビジー信号を出力する。一方、セレクタ103ではアクセス権を与えられた周辺ペリフェラルからのロウアドレス情報、バースト長情報、およびデータの書き込みであるか、あるいは読み出しであるかを指し示す信号が入力されると、その情報を元に命令コードを生成し、ロウアドレス情報と共に命令コードを出力する。同様にカラムアドレス情報が入力されるとカラムアドレス情報と共に命令コードを出力する。その際、ロウアドレス、カラムアドレス情報を元にSDRAMへのデータ書き込み、あるいはデータの読み出しの際のレイテンシ情報を算出し、データの書き込み、あるいは読み出しタイミング情報を生成する。データ書き込み時には、書き込み制御信号を生成すると共に、上述した図示していないFIFOからの書き込みデータの読み出しを制御信号も生成する。一方、データ読み出しの際は、データ読み出しタイミング信号を生成する。
【0046】
尚、図8では3クロックのレイテンシがあった場合のデータ書き込みの際のタイミングチャートを示した。実施の形態1では、図8に示すように、アクセス権を獲得した周辺ペリフェラルがSDRAMをアクセス中に共通メモリバスビジー信号をリセットし、次の共通メモリ15へのアクセス権を決定する。これは、一つの周辺ペリフェラルが長時間にわたりアクセス権を取り続けることを避けるために実施している。例えば、Ethernetインタフェース回路12からの受信データのアクセス権を1フレームのEthernetフレームデータの書き込み完了までバスアクセス権を与えた場合、データを短時間に共通メモリ15内に転送することはできるが、最大1500バイト分のデータの転送が完了するまで、他の周辺ペリフェラルからのアクセスは禁止されてしまい、データ送受信装置としてのシステムが破綻する恐れがある。特に、TDMA方式をベースとするPLCモデム回路16では、データの送信ではリアルタイム性が要求されるため、データがアンダーフローしてしまう場合がある。
【0047】
また、アクセス権の受付をアクセス権の与えられた周辺ペリフェラルがアクセス中に実施するのは、SDRAMへのアクセスの際のトラフィックを少しでも多く稼ぐためである。SDRAMへのアクセス完了後、次のアクセス権を与えたのでは、制御切り換えのため1クロック、あるいは2クロック程度の制御切り換え時間が発生する。実施の形態1では、上述のように制御することで共通メモリ15へのデータアクセスを図8に示すように連続して実施することができ、共通メモリ15を最大に有効活用することができる効果がある。
【0048】
以上の要領で、バス調停回路14では、入力端子115を介してブリッジインタフェース回路13よりEthernetフレームデータの書き込み要求信号が入力されると、共通メモリ15への他のペリフェラルのアクセス状況、および他のペリフェラルからのアクセス要求状況について確認し、共通メモリ15への他のペリフェラルのアクセスがなく、他のペリフェラルからの要求がない、あるいは要求があったとしても、入力端子115を介して入力される要求信号の優先順位が高い場合、バス制御回路102は、出力端子122を介してブリッジインタフェース回路13に対して要求受付信号を出力すると共に、共通メモリバスビジー信号をセットし、上述した要領で、ブリッジインタフェース回路13より出力される共通メモリ15への書き込み制御信号、および書き込みデータをセレクタ103を介して出力する。尚、要求信号が競合した場合の詳細な動作については後述する。
【0049】
次に、PLCネットワークへのデータ送信の際の、PLCモデム回路16内のPLC送信制御回路40およびCPU11の動作について説明する。尚、実施の形態1では従来と同様に、PLCネットワークでのMAC制御方式としてはTDMA方式を採用するものとして説明する。
図9は、PLCネットワークを介してデータの送受信が開始された際のCPU11の動作を示すフローチャートである。
CPU11は、PLCネットワークを介したデータの送受信が開始されると、通常の機器管理タスクを起動する(ステップST1)。具体的には、PLCネットワークに新たなクライアント端末が参加要求をした場合のアソシエーション・認証処理、ネットワーク接続端末管理(具体的には、定期的に通信のないクライアント端末に対してデータを送信し、接続されているかなどを確認する)、PLCネットワークの伝送路の推定などのタスクを起動する。通常、これらタスクは、リアルタイム性が要求されるものではなく、処理は数百msから数秒程度で処理を実施すればよい。機器管理タスクが起動されると、OS(オペレーティングシステム)の指令に基づき各タスクを切り換えながら実行する(ステップST2)。
【0050】
PLCネットワーク制御データ生成回路404からスケジュールデータ生成のための割り込みが入力されると(ステップST3)、CPU11はスケジュールデータ生成用のタスクを起動しFCHの生成を開始する(ステップST4)。そして、FCHの生成が終了する(ステップST5)と、ステップST2に戻り、機器管理タスクを実行する。その際、FCHの生成に関しては、前フレームのスケジューリング結果からACK/NACKのためのタイムスロット、再送制御の有無、および必要帯域の確認、共通メモリ15内に格納されている各クライアント端末への送信Ethernetフレームデータの有無、および送信に必要な帯域の確認、各クライアント端末からのデータ送信要求に基づく送信帯域の割り当てを実施する。本処理は、プログラムの組み方にもよるが、共通メモリ15へのアクセスの際の優先順位を最上位にした場合、数百μs〜数ms程度の処理時間で処理は完了する。一方、例えば伝送路の推定に関しては、PLCの場合、サブキャリア毎のS/Nを受信データより算出して求めるため、やはりプログラムの構成方法にもよるが、スケジューリングと同一の条件で実施した場合でも、1回の計算で数十ms〜数百ms程度計算に時間がかかる。
【0051】
次に、図5および図6を用いて送信時の動作を説明する。
管理端末1では、PLCネットワークを管理するため背景技術の項でも述べたように周期的にBCH(Beaconフレーム)、およびFCH(スケジュール情報)を出力しネットワークを管理する。図10に1フレーム内の各種データの送信タイミングを示す。尚、実施の形態1ではBCHなどのPLCネットワーク管理情報は10ms周期で出力されるものとする。よって、管理端末1内のPLC送信制御回路40ではBeaconフレーム、およびスケジュール情報を10msに一度生成する。実施の形態1では、Beaconフレーム情報としては、Beaconフレームを送出する際の管理端末1の時刻情報をペイロード情報として送出するものとする。具体的には、Beaconフレームデータ送出時のPLCネットワーク制御データ生成回路404内の基準時刻情報をペイロードとしてパケットデータ生成回路402に出力する。受信端末では、Beaconフレーム情報を受信すると内部の受信基準時刻をBeaconフレームに付加された送信側基準時刻に合わせる。管理端末1はBCHの送信に引き続きFCH(スケジュール情報)の送信を実施する。
【0052】
次に、図10および図11を用いてスケジュール情報の生成方法について説明する。
図10にはFCH内のスケジュール情報の一例を示している。FCHは図に示すように受信時に受信データの先頭位置、およびクロック位相を検出するためのプリアンブル情報に続きスケジュール情報が付加され伝送される。スケジュール情報には、データ送受信期間に設けられた通信スロット毎に送信開始時間、送信時間、どの端末(送信端末)からどの端末(受信端末)へのデータ送信かを示す端末情報、およびデータを送受信する際の関連情報を送信する。尚、実施の形態1では、送信端末情報、および受信端末情報については各機器の持つMACアドレス情報(Media Access Control Address:メディアアクセスコントロールアドレス)を用いるものとする。尚、MACアドレス情報以外に、例えばそのPLCネットワーク内の論理ポート番号、あるいはネットワーク内でプライベートに定められた識別情報であっても同様の効果を奏することはいうまでもない。FCH内のスケジュール情報には図10に示すように通信スロット毎に上記情報が付加され伝送される。尚、通信スロットについては、データを持つ各端末が管理端末1に対して従来と同様にRCH情報、あるいは実際にデータの送信を行っている端末に関してはそのMACヘッダ部に帯域割り当て要求を付加し伝送することにより送信スロットを割り当てる。
【0053】
図11は、スケジュール情報の生成処理を示すフローチャートである。
実施の形態1では、PLCネットワーク制御データ生成回路404内の図示していない1フレーム内の時刻情報を管理するカウンタ(管理タイマ)のカウント値が予め定められた値となったときにPLCネットワーク制御データ生成回路404からCPU11に対してスケジューリングを開始するよう割り込み信号を出力する。同様に、PLCネットワーク制御データ生成回路404はバス調停回路14内の優先度制御回路101に優先度テーブルを切り換えるための優先度切り換え開始信号を出力する。また、CPU11からスケジューリングの終了が通知された場合は、優先度制御回路101に優先度テーブルを切り換える(元に戻す)ための優先度切り換え開始信号を出力する。
【0054】
スケジュール情報の生成の開始がPLCネットワーク制御データ生成回路404から出力されると、CPU11はスケジュールの生成を開始する(ステップST10)。スケジュール生成が開始されると、CPU11は前回のスケジュールの際に管理端末1が各クライアント端末に割り当てた上記送信スロットに対するACK/NACKフレーム送信のための帯域、および前フレームに各クライアント端末より受信したデータに対するACK/NACKフレーム送信のための帯域割り当てを実施する(ステップST11)。ACK/NACKフレーム用の送信スロット割り当てが完了すると次に、各クライアント端末からの再送要求、および各クライアント端末への再送要求があるかを確認する(ステップST12)。再送要求がある場合は、再送用のタイムスロットを割り当てる(ステップST13)。
【0055】
再送用タイムスロットの割り当てが終了すると、RCHにより帯域割り当て要求を実施してきた新規通信要求端末が存在するかを確認する(ステップST14)。新規送信要求端末がある場合はその端末に対する送信タイムスロットを割り当てる(ステップST15)。新規通信要求への送信タイムスロットの割り当てが完了すると管理端末1の送信タイムスロットを割り当てる(ステップST16)。そして最後に、各クライアント端末の送信タイムスロットを割り当てる(ステップST17)。このような送信タイムスロットの割り当てが完了すると、CPU11は予め定められた優先順位に基づき、各クライアント端末に対する送受信スロットを割り当ててFCHフレームを生成する(ステップST18)。具体的には、実施の形態1では、前回送受信したデータのACK/NACK用のタイムスロット、再送データのタイムスロット、管理端末1の送信データのタイムスロット、各クライアント端末の送信スロットの順に、1フレーム内で送受信可能な範囲でタイムスロットを割り当てる。
【0056】
CPU11で、FCHの生成が完了すると、CPU11はFCH情報をPLCネットワーク制御データ生成回路404内の図示していないメモリに書き込む。その際、バス調停回路14内の優先度制御回路101に優先度切り換え終了信号を出力する。PLCネットワーク制御データ生成回路404内に記憶されたFCHフレームはPLC送受信タイミング生成回路403内にも転送され、所定のタイミングでFCHフレームをパケットデータ生成回路402に出力する(ステップST19)。PLC送受信タイミング生成回路403では、PLCネットワーク制御データ生成回路404より転送された本フレームで各クライアント端末の送受信データのスケジュール(送受信タイムスロット情報)を元に、PLC送信用メモリ制御回路405に対して送信データの生成を要求する。
【0057】
尚、実施の形態1ではBCH、FCHなどの固定スロットの送受信タイミングについては予めPLC送受信タイミング生成回路403およびPLC受信タイミング生成回路507内にセットされているものとする。また、データ受信タイムスロット情報に関してはPLC受信タイミング生成回路507へPLCネットワーク制御データ生成回路404から、BCHの送出タイミングに関してはPLC送受信タイミング生成回路403から出力される。
【0058】
FCHの送信が完了すると管理端末1はACHを同報通信する。ACHに関しては、RCHのタイムスロットを使用し通信帯域を要求してきた端末に対する、ACK応答、あるいはアソシエーションを実施する際の応答スロットとして使用するが、送信パケットの生成は、実施の形態1ではCPU11が実施する。具体的には、該ACK応答の生成はFCH生成の際に、同時に実行するものとする。また、アソシエーションに関する応答メッセージは機器管理タスクにて応答メッセージを作成しそれを送信するものとする。ACHの送信を完了すると、PLC送受信タイミング生成回路403はPLC送信用メモリ制御回路405に対して、生成したスケジュールに基づきデータを送信するよう指示する。実施の形態1では、PLCネットワークを介してデータを送信する場合は、送信帯域を有効活用するため、複数のEthernetフレームデータを連結してデータを送信するものとして、この場合について説明する。図12に、1フレームのPLC送信データのフォーマットを示す。
【0059】
図12に示すように、1フレームのPLC送信データは、PLC用MACヘッダに続き、複数のEthernetフレームが連結され送信される。また、PLC用の1フレームの送信データを生成する際は、ACK/NACKフレームのデータに関する送信を実施する場合は、PLC用MACヘッダ情報に続き、ACK/NACKフレームを挿入しデータを伝送する。従って、CPU11によりスケジュールを生成する際は、ACK/NACKフレームを伝送する場合はその送信バイト数に加え、クライアント端末向けのデータが何バイト共通メモリ15内に記憶されているかを確認しながら送信タイムスロットのスケジューリングを実施する。その際、誤り訂正符号回路408、およびデジタル変調回路409で使用する各サブキャリアの変調方式、スクランブル情報、誤り訂正符号モードなどから単位時間当たりに(1シンボル当たり)に伝送可能なデータ量よりタイムスロット幅を決定する。実施の形態1では、スケジュールを生成するのに必要なEthernetパケット長などの情報は共通メモリ15の所定のアドレスに記憶されているものとして説明を続ける。具体的には、ブリッジインタフェース回路13にてEthernetインタフェース回路12を介して受信したEthernetフレームデータを共通メモリ15内の所定のアドレスに記憶する際、先頭のアドレスに、パケットの長さ情報など、スケジュール生成の際に必要となる情報を予め記憶するよう制御する。
【0060】
また、スケジューリングを実施する際は、Ethernetフレームを連結するための情報(連結情報)も生成し、PLCネットワーク制御データ生成回路404を介してPLC送受信タイミング生成回路403内の図示していない内部RAMに記憶する。以下、管理端末1からのデータ送信時の動作について説明する。
PLC送受信タイミング生成回路403は、スケジュール情報に基づき次に送信する宛先のクライアント端末の情報および上記連結情報をPLC送信用メモリ制御回路405に出力する。その際、PLC送受信タイミング生成回路403はPLCネットワーク制御データ生成回路404に対しても次に送信するクライアント端末の情報を出力する。PLCネットワーク制御データ生成回路404では次に送信するクライアント端末の情報が入力されると、バス調停回路14に対して共通メモリ15内の所定のエリアに記憶されている誤り訂正符号回路408、およびデジタル変調回路409の制御用データの読み出し要求信号を出力する。実施の形態1では、クライアント端末毎にデジタル変調の際の変調方式を切り換えて出力するものとする。これは、電灯線5内に加わるノイズの影響がクライアント端末周辺に接続された電機製品の動作状態により時々刻々と変化するからである。従って、PLCを用いたデータ送受信装置は、接続先のクライアント端末との通信路の状態を監視しておき、通信状態が悪くなったら、伝送速度を落としノイズに強い変調方式に切り換える。一方、通信状態が回復したら伝送速度を上げる制御を実施する。
【0061】
以下、バス調停回路14の動作を説明する。
バス調停回路14には、上記PLCネットワーク制御データ生成回路404からの上記制御用データの読み出し要求とPLC送信用メモリ制御回路405からのEthernetフレームデータの読み出し要求が入力される。また、バス調停回路14へは、ブリッジインタフェース回路13からの受信Ethernetフレームのデータ書き込み要求、およびEthernetインタフェース回路12への送信データの読み出し要求が非同期で入力される。また、CPU11も上述したように、リアルタイム性の要求されないタスク処理が実行されており、データの共通メモリ15への書き込み要求、および読み出し要求がバス調停回路14に入力される。
【0062】
以下、図13を用いてバス調停回路14のバス調停動作を説明する。
管理端末1が起動し、データの送受信が開始されるとバス調停回路14中のバス制御回路102は共有メモリ15へのアクセス要求がないか確認する(ステップST21)。入力端子113〜118を介して上記要求信号が入力されると、バス制御回路102は、現在共有メモリ15はアクセス中かを確認する。具体的には、共通メモリバスビジー信号がアクティブであるか確認する(ステップST22)。共通メモリバスビジー信号がアクティブな場合は、バスアクセス権が解放されるまで待つ。共通メモリバスビジー信号が非アクティブになると、バス制御回路102は、複数のペリフェラルからの要求か確認する(ステップST23)。単一のペリフェラルからの要求であった場合は、バスアクセスを要求してきたペリフェラルに対して要求受付信号を出力(例えばPLC送信データ読み出し要求のみを受け取った場合はPLC送信データ読み出し要求受付信号を出力)する(ステップST24)と共に、共通メモリバスビジー信号をセットする(ステップST25)。その際、セレクタ103に対して所定の入力を選択するよう制御信号を出力する。尚、実施の形態1では、図8に示すタイミングで共通メモリ15を制御するので、上記セレクタ103への上記制御信号の出力タイミングは共通メモリバスビジー信号の立ち上がりエッジに同期して切り換えるよう制御する。そして、バス制御回路102は許可したペリフェラルが共通メモリ15へのアクセスが完了するまで待機する(ステップST26)。許可したペリフェラルの共通メモリ15へのアクセスが完了すると、バス制御回路102はバスビジー信号をリセットし(ステップST27)、共通メモリ15へのアクセス要求がないか確認する(ステップST21)。
【0063】
次に、複数のペリフェラルからのアクセス要求が競合している場合のバス調停回路14の動作について説明する。
複数のペリフェラルからのアクセス要求がある場合、バス制御回路102は優先度制御回路101に対して各ペリフェラルの優先度および共通メモリ15へのアクセス時のバースト長情報(SDRAMへ連続して転送するデータの最大ワード長)を確認するよう指示を出す。優先度制御回路101では、二つの優先度テーブルを管理しており、管理端末1がリアルタイム性の要求されるスケジュール生成などの処理をCPU11にて実施している場合、セレクタ155では優先度テーブル(B)152を選択し、セレクタ156ではバースト長テーブル(B)154を選択する。一方、CPU11がリアルタイム性の要求されない伝送路推定などの処理を実施している場合、セレクタ155は優先度テーブル(A)151を選択し、セレクタ156はバースト長テーブル(A)153を選択する。
実施の形態1では、優先度制御回路101はPLCネットワーク制御データ生成回路404よりスケジュール開始要求がセレクタ制御回路157に入力されると、セレクタ155および156に対して、それぞれ優先度テーブル(B)152およびバースト長テーブル(B)154を選択するよう制御信号を出力する。尚、PLCネットワーク制御データ生成回路404は、その際、CPU11に対してもスケジュール生成を開始するよう割り込み信号を出力する。
【0064】
CPU11は、PLCネットワーク制御データ生成回路404より出力される割り込み信号を元に、現在処理しているタスクを退避し、スケジュール生成用タスクを起動する。実施の形態1では、リアルタイム性の要求されない処理をCPU11にて実行している場合は、CPUの共通メモリ15へのアクセスは優先度テーブル(A)151が選択されているため図4に示すように6番目(一番低い優先度)であるが、リアルタイム性の要求されるスケジュール生成の処理が起動されると、CPU11の優先度は、優先度テーブル(B)152が選択され、4番目の優先度となる。実施の形態1では、優先度の一番高いPLC制御データ読み出しについては、データ量も少なく、クライアント端末へのデータ送信、あるいはクライアント端末からのデータ受信開始時に、適応変調用テーブルなどの制御データを読み出す際にアクセス権要求が出力される(アクセス権を占有する時間が短い)。また、PLCネットワークへのデータ送信、あるいはPLCネットワークからのデータ受信はPLCは半二重通信であるので、基本的にはどちらか一方のみが動作する。実際のシステムでは、送受信の切り換え時に一部オーバーラップする期間は存在するが、基本的にはどちらか一方のアクセスになる。
【0065】
また、実施の形態1では、上述したように優先度の高いペリフェラルがアクセス権を獲得した場合でも最大バースト長テーブル(A)153あるいはバースト長テーブル(B)154に記憶されている最大バースト長以上の長さはアクセス権を連続して獲得しない。従って、リアルタイム性の要求されるスケジュール生成などをCPU11が実施する場合、優先度を4番目に設定したとしても、CPU11はほぼ2回に1回は共通メモリ15へのアクセス権を獲得することができることになる(具体的には、優先度の一番高いPLC制御データ読み出し要求では、ほとんど共通メモリ15へのアクセスは発生せず、また、PLCネットワークとの間のデータの送受信については半二重通信であるため、基本的にはどちらか一方のアクセス要求しかバス調停回路14には上がってこないためである)。
また、CPU11は通常キャッシュメモリ(例えば32KB程度)を内蔵している。例えば、キャッシュメモリのヒット率を95%程度とすると20命令に1回程度アクセス要求が発生する。従って、CPU11の優先順位を4番目に上げたとしても、順位の下がったEthernetインタフェース回路12からの送受信データについても共通メモリ15へのアクセス権は与えられることになる。
【0066】
また、実施の形態1では、共通メモリ15へのバスアクセスの際の優先順位と共に共通メモリ15へのアクセスの際のバースト長も切り換える。これは、以下の理由による。
一般に、バースト長が長いと例えば図8に示す実際にアドレス入力からメモリアクセスまでの時間が一定であるのでデータの転送効率は上がるが、反対に、アクセス権を獲得するまでのレイテンシ(遅延時間)が増加する。実施の形態1では、スケジュール生成時には、少なくともPLCネットワークからの受信データの共通メモリ15への書き込み、およびPLCネットワークへの送信データ共通メモリ15からの読み出しの際のバースト長を小さくするように構成する。これは、次のような理由からである。
【0067】
一つ目の理由は、CPU11の優先度を上げておく時間を短くするために実施することである。具体的には、実施の形態1で説明しているTDMA方式を採用するデータ送受信方式では、スケジュール生成開始までにEthenetインタフェース回路12を介して入力されたEthernetフレームデータがスケジュール生成の際の対象になる。従って、入力されたEthernetフレームデータを管理端末1内に長く滞留させることなくデータを送信するためには、スケジュール開始時間をなるべく前フレームの後半に持ってくる必要がある。実施の形態1では、スケジュール生成時にCPU11が共通メモリ15に対してアクセス要求した場合、アクセス権が獲得できるまでのレイテンシをなるべく短くすることでCPU11の処理性能を上げ、スケジュール生成の際の処理時間を短くする。これにより、CPU11によるスケジュール生成の開始時間を前フレームの後半に持って行くことができ、受信したEthernetフレームを必要以上に管理端末1内に滞留させることがなくなるという効果がある。特に、TCP/IPなどのプロトコルを使用する場合は、ラウンドトリップ時間を測定し、ネットワークの輻輳状態を監視するようなシステムでは、機器内での滞留時間が長くなると、送信端末からの送信データ量が絞られるため、帯域に十分な余裕があるにもかかわらず、十分なトラフィックが獲得できないといスケジュール生成の際の処理時間を短くった問題が発生するため、機器内でのEthernetフレームの滞留時間はなるべく短くする必要がある。
【0068】
もう一つの理由は、優先順位を下げたEthernetインタフェース回路12より入力される特に受信したデータの共通メモリ15へのアクセス権を確保するために実施する。例えば、図8に示すように4バースト転送が9クロックで実施可能とした場合、CPU11の共通メモリ15へのアクセス完了後、例えばPLCネットワークの送信要求が入ったとしても、バスアクセス権は9クロック後に解放される。また、上述のようにCPU11からの次の共通メモリ15へのアクセスは20クロック後になる。よって、優先度の低いEthernetインタフェース回路12についても共通メモリ15へのアクセス権が与えられることになり、Ethernetインタフェース回路12内に設けられた図示していないFIFOがオーバーフローを起こし受信したパケットを消失する確率を低く抑えることができると共に、Ethernetインタフェース回路12内に設けられた図示していないFIFOのメモリ容量も必要以上に大きくとる必要がなく、回路規模を小さく抑えることができるという効果がある。
【0069】
以下、複数のペリフェラルからのアクセス権の要求が競合した場合の動作を図13のフローチャートに沿って説明する。
複数のペリフェラルからの共通メモリ15へのアクセス要求を確認する(ステップST23)と、バス制御回路102は優先度制御回路101より出力される優先度テーブル情報、および最大バースト長情報を確認する。そして、優先度情報に基づき、競合しているアクセス要求の中から一番優先度の高いアクセス要求を選択し、要求受付信号を出力する(ステップST28、ST29)。例えば、優先度制御回路101では優先度テーブル(A)151が選択されており、入力端子113を介して入力されるCPUデータ書き込み/読み出し要求信号、入力端子114を介して入力されるPLC制御データ読み出し要求信号、および入力端子116を介して入力されるPLC送信データ読み出し要求信号が競合していた場合、バス制御回路102は、優先度の一番高いPLC制御データ読み出し要求に対する受付信号を出力端子121を介して要求元であるPLCネットワーク制御データ生成回路404に出力する。その際、実施の形態1では最大バースト長情報についてもPLCネットワーク制御データ生成回路404に通知するものとする。要求受付信号を受信した周辺ペリフェラルは、その際受信した最大バースト長情報を確認し、送信データのバースト長を決定し、制御信号と共にデータ書き込みであれば共通メモリ15への書き込みデータをバス調停回路14内のセレクタ103へ出力する。一方、読み出しの場合は、最大バースト長情報を元に、共通メモリ15から読み出したデータの受け入れ準備を実施する。
【0070】
バス制御回路102では、要求受付信号をアクセス権を獲得したペリフェラルに出力すると共に共通メモリバスビジー信号をセットする(ステップST30)。ステップST30にて共通メモリバスビジー信号のセットが完了すると、バス制御回路102は共通メモリ15へのバスアクセスが完了するまで待機する(ステップST31)。具体的には、セレクタ103にてアクセス権を獲得したペリフェラルからの共通メモリ15へのアドレス情報、およびデータ書き込み/読み出し制御信号より、共通メモリ15へのアクセスの際のアドレス出力後のレイテンシを計算する。更に具体的には、前回アクセスしたアドレスと比較し、バンク切り換えなどのためのオーバーヘッド時間が何クロック必要かを確認し、制御データ、およびデータ書き込みであれば書き込みデータを遅延させ出力する。
【0071】
データの出力が完了すると、その旨をバス制御回路102に通知する。尚、通知のタイミングは、実施の形態1では図8に示すタイミングで、共通メモリバスビジー信号がリセットできるよう通知する。セレクタ103より共通メモリ15へのアクセス完了通知が入力されるとバス制御回路102は共通メモリバスビジー信号をリセットし(ステップST32)、先ほど競合していた次のペリフェラルからのアクセス要求を許可するため、再び、どのペリフェラルからアクセス要求があるか確認する(ステップST23)。
【0072】
次に、バス調停回路14における優先度制御回路101の動作について説明する。
管理端末1が起動すると、初期化のシーケンスで、CPU11はCPUバスインタフェース回路158を介して優先度テーブル(A)151、優先度テーブル(B)152、バースト長テーブル(A)153およびバースト長テーブル(B)154に所定の優先順位、およびバースト長データを書き込む。上記テーブルデータの書き込みが完了すると優先度制御回路101は通常の動作を開始する。通常動作を開始すると、優先度制御回路101は、優先度テーブル(A)151およびバースト長テーブル(A)153を選択するようセレクタ制御回路157より制御信号を出力する。その後、CPU11は初期化動作を完了するとPLCネットワークの管理端末として動作を開始する。具体的には、10ms周期でBCH、FCHなどの制御フレームの送信を開始する。制御フレームの送信が開始されるとPLCネットワーク制御データ生成回路404は所定のタイミングで、CPU11、および優先度制御回路101にスケジュール生成開始(優先度切り換え開始信号)を通知する。優先度切り換え開始信号が入力されるとセレクタ制御回路157はセレクタ155、および156に優先度テーブルB152、およびバースト長テーブルBを選択するよう制御信号を出力する。
【0073】
実施の形態1では、バス制御回路102では、複数のペリフェラルからのアクセス要求があり、次のアクセス権を決定する際に、優先度制御回路101から出力される優先度情報を確認し、その優先度情報に基づき次にアクセス権を与えるペリフェラルを決定する。すなわち、共通メモリ15にアクセス中に優先度情報が切り換わった場合、現在、アクセス中の処理はそのまま実行し、次の共通メモリ15へのアクセスから、新たに切り換わった情報を元に処理を継続するものとする。
【0074】
一方、CPU11はスケジュール生成開始割り込みが入力されると、現在処理中のタスクを一時退避し、スケジュール生成タスクを起動する。そして、上述した要領でスケジュール生成を開始する。その際、共通メモリ15へのアクセスの際の優先順位は上がっているので、所定時間以内に処理を完了することができる。
【0075】
尚、実施の形態1ではCPU11のアクセス権を最上位に持ってこない理由は以下の点からである。
CPU11での例えばスケジューリング処理はリアルタイム制を要求されるために予め定められたタイミング(FCH送信の前)までに完了しておく必要がある。しかしながら、処理途中であっても、その時点までに完了しているスケジュールデータをPLCネットワークに送出してもシステムとして破綻することはない。これは、具体的には、例えば、管理端末1からクライアント端末2〜4への送信用タイムスロットについて、スケジューリングは完了しており、クライアント端末2〜4から管理端末1へのタイムスロットは、例えばクライアント端末2のみ完了している場合は、そこまでのスケジューリング結果をFCHにて送信するよう制御する。この場合、実際には、クライアント端末3、およびクライアント端末4に対してもタイムスロット割り当てることはできるため伝送帯域は有効に活用することはできないが、システムとしては破綻しない。
【0076】
一方、管理端末1からクライアント端末2〜4に送信するデータがアンダーフローを起こした場合、PLC送信用メモリ制御回路405からデータは出力されないが、デジタル変調回路409からはデータが出力される。通常、アンダーフローを起こした場合、固定値が出力される、あるいは図示していないPLC送信用メモリ制御回路405中のFIFO内に記憶されていた過去のデータが出力されることになる。その際、誤り訂正符号回路408はアンダーフローを起こしたデータに対して誤り訂正符号を付加するので、受信したクライアント端末側ではアンダーフローが発生したことが検出できず、PLCネットワークでのデータの再送制御は実施することはできない。また、PLCネットワークからの受信データでオーバーフローを起こしてしまった場合、複数のEthernetフレームを連結してデータを送信しているため、再送のために余分な伝送帯域を割り当てなければならないといった問題が発生する。本件は、Ethernetからのデータ受信の場合にも発生するが、パケット長が短いためネットワークのトラフィックに与える影響はPLC受信の場合と比較して軽微である。
【0077】
以上の理由により、実施の形態1ではTDMAにて送受信のタイムスロットが決まっており、また、送信するデータのフレーム長が長いPLCネットワークへの送受信データ、および制御データの優先順位をCPU11の優先順位より高く設定している。これにより、データ送受信装置としてのシステム性能を確保することが可能となる効果がある。また、PLCネットワークへの送信データ、あるいはPLCネットワークからの受信データを一旦記憶するPLC送信用メモリ制御回路405、およびPLC受信用メモリ制御回路506内の図示していないFIFOのサイズを必要以上に大きくする必要がないという効果がある。
【0078】
スケジュール生成処理が完了するとCPU11はその旨を優先度制御回路101、およびPLCネットワーク制御データ生成回路404に通知する(優先度切り換え終了信号を出力する)。
【0079】
以下、各クライアント端末へのデータ送信時の動作について説明する。
PLC送受信タイミング生成回路403よりデータを送信するクライアント端末情報、スケジュール情報、および連結情報が入力されるとPLC送信用メモリ制御回路405はバス調停回路14に対して送信するEthernetフレームデータの読み出し要求を出力する。また、PLC送受信タイミング生成回路403はPLCネットワーク制御データ生成回路404に対して送信するクライアント端末情報、およびPLC制御データを読み込むためのタイミング信号を出力する。PLCネットワーク制御データ生成回路404は上記タイミング信号が入力されると、クライアント端末情報を元に、送信先クライアント端末の各キャリアのデジタル変調テーブル(適応変調テーブル)、スクランブル情報、誤り訂正符号化モード情報などが記憶されている共通メモリ15のアドレス情報を確認し、バス調停回路14に対してこれら情報を読み出すための要求信号を出力する。
【0080】
バス調停回路14では上述した要領で、周辺ペリフェラルからのアクセス要求を優先度制御回路101より出力される優先度情報に基づき許可を与える。PLCネットワーク制御データ生成回路404は上記制御データの共通メモリ15からの読み出しを完了すると、その情報を誤り訂正符号回路408、およびデジタル変調回路409に出力する。また、PLC送信用メモリ制御回路405は、上記情報を元に、共通メモリ15より送信用データの読み出しを開始する。具体的には、上述したプリアンブルの送信開始に合わせて図示していないPLC送信用メモリ制御回路405内のFIFO内に送信データを共通メモリ15から読み出し記憶する。そして、FIFOが一杯になった時点で、一時、共通メモリ15からの読み出しを中断する。
【0081】
デジタル変調回路409からのプリアンブルの送信が開始されると、PLC送受信タイミング生成回路403は、PLCヘッダ生成回路401、パケットデータ生成回路402に対して、PLCヘッダの生成、およびパケットデータの生成開始を指示する。PLCヘッダ生成回路401では、上記信号が入力されると、MACアドレス情報などを元にPLCヘッダを生成する。同様に、パケットデータ生成回路402では、連結情報、ACK/NACKパケット情報を連結して上記PLCヘッダに続く情報を生成し待機する。そして、プリアンブルに続きペイロードデータを出力するためPLC送受信タイミング生成回路403はPLCヘッダ生成回路401、パケットデータ生成回路402、PLC送信用メモリ制御回路405、暗号化回路406、PLCヘッダ付加回路407、誤り訂正符号回路408、およびデジタル変調回路409にペイロードデータを送出するよう指示を出す。
【0082】
PLC送受信タイミング生成回路403より送信指示が入力されると、PLCヘッダ生成回路401は先ほど生成したPLCヘッダ付加回路407にヘッダを出力する。また、パケットデータ生成回路402は先ほど生成したパケットデータを暗号化回路406に出力すると共に、それに続くペイロード情報をPLC送信用メモリ制御回路405内の図示されていないFIFOより読み出す。PLC送信用メモリ制御回路405はパケットデータ生成回路402からのデータの読み出しが開始され、FIFOに空き領域ができるとバス調停回路14に対してそれまで中断していた送信用データの読み出し要求を出力する。この動作は、連結情報で通知されたEthernetフレームを全て読み出しまで繰り返す。尚、データ読み出し中にFIFOの空きスペースがなくなった場合は、空きができるまでデータの読み出しを中断する。
【0083】
そして、1フレームのデータ送信が完了するとPLC送受信タイミング生成回路403は、スケジュールを確認し、他のクライアント端末に対しての送信スケジュールが組まれている場合は、その情報に基づき上記制御を繰り返す。次が、受信スケジュールであった場合は、PLC受信制御回路50へその旨を通知する。
【0084】
次に、図7を用いてクライアント端末2〜4からデータを受信する場合の動作について説明する。
各クライアント端末2〜4は、上述したようにBeaconフレーム(BCH)により、管理端末1と自端末の間の時刻同期を確立する。Beaconフレームにより時刻同期(基準時刻合わせ)が確立すると、その基準時刻を元に管理端末1−各クライアント端末間のMACフレームデータの送受信を実施する。よって、PLCネットワークを介したデータの送受信動作が開始されると、各クライアント端末は管理端末1より送出されるBeaconフレーム(BCH)の検出を開始する。BCHを検出すると、Beaconフレーム中に付加されている管理端末1の基準時刻情報を元に各受信端末の基準時刻の補正を実施する。
【0085】
上記の基準時刻の補正が終了すると各クライアント端末はFCHの受信を開始する。FCHを受信すると、各クライアント端末は自端末の送受信用のタイムスロットがスケジューリングされているかを確認する。上記スケジュールに受信スロットがある場合、各クライアント端末は受信時刻を確認し、その時刻まで待機する。受信時刻になると、各クライアント端末は電灯線5を介して入力されるデータの受信を開始する。受信動作が完了すると各クライアント端末は、送信スロットが割り当てられていないか確認する。スケジュールに送信スロットがある場合、各クライアント端末は送信時刻を確認し、その時刻まで待機する。送信時刻になると、各クライアント端末は電灯線5を介してデータの送信を開始する。
【0086】
一方、管理端末1では、PLCネットワークへの送信が完了すると、PLC送受信タイミング生成回路403からPLC受信タイミング生成回路507に受信開始信号が出力される。また、受信スケジュール情報はPLCネットワーク制御データ生成回路404よりCPU11によるスケジュール生成完了後通知される。PLC受信タイミング生成回路507は上記受信開始信号が入力されると、次に受信するクライアント端末の情報、開始時間を確認する。この確認が終了すると、PLC受信タイミング生成回路507はバス調停回路14に対して次に受信するクライアント端末の各キャリアのデジタル変調テーブル(適応変調テーブル)、スクランブル情報、誤り訂正符号化モード情報などを共通メモリ15より読み出すためにアクセス要求を出力する。このようなデータの共通メモリ15からの読み出しが完了すると、PLC受信タイミング生成回路507は受信時刻になるまで処理を待機する。
【0087】
受信時刻になると、PLC受信タイミング生成回路507は、デジタル復調回路501、誤り訂正復号回路503に共通メモリ15より読み出した情報を出力する。本情報の入力が完了するとデジタル復調回路501は受信信号からプリアンブル情報を分離し、受信フレームの先頭を検出する。受信フレームの先頭を検出するとその情報を復調データと共にPLCヘッダ解析回路502、および誤り訂正復号回路503に入力する。ヘッダ解析回路502ではMACヘッダを分離し、その分離結果をPLC受信タイミング生成回路507に通知する。PLC受信タイミング生成回路507では、MACヘッダ情報をCPU11に通知する。一方、誤り訂正復号回路503に入力された受信データは、誤り訂正・検出が実施され、誤り訂正の施されたデータは暗号復号回路504に入力される。暗号復号回路504に入力されたデータは、PLC受信タイミング生成回路507より出力される鍵情報を元に復号され、PLC制御フレーム分離回路505に入力される。PLC制御フレーム分離回路505では入力されたフレームデータの先頭に付加されている連結情報、あるいはACK/NACKフレームなどのPLC制御フレームを分離する。PLC制御フレーム分離回路505で分離された制御フレーム情報はPLC受信タイミング生成回路507を介してCPU11に通知される。
【0088】
一方、分離された連結情報は、それに続く情報と共に、PLC受信用メモリ制御回路506に入力される。PLC受信用メモリ制御回路506では、受信データからとEthernetフレームを分離する。PLC受信用メモリ制御回路506にはFIFOが内蔵されており(図示していない)、FIFO内に受信データを一旦書き込む。FIFO内に受信データが記憶されると、PLC受信用メモリ制御回路506は、バス調停回路14に対して、データ書き込み要求を出力する。PLCネットワークからのデータ受信時は、主にPLC受信データの書き込み要求、ブリッジインタフェース回路13からの受信Ethernetフレームの書き込み要求、および送信Ethernetフレームの読み出し要求、およびCPU11からのデータ書き込み/読み出し要求の四つが競合する(尚、送受信切り換わり部分で一部PLC送信データとの競合が発生する場合がある。また、受信クライアント端末が換わる際に、PLC制御データ読み出し要求との競合が発生する場合がある)。
尚、バス調停回路14でのアクセス権調停動作は送信時に説明したものと同一であるのでここでの詳細な説明は省略する。
【0089】
現在接続中のクライアント端末からの受信が終了すると、PLC受信タイミング制御回路507は、スケジュールを確認し、異なるクライアント端末からの受信スケジュールがあれば、上述した動作を実施し次のクライアント端末の受信に備える。一方、受信スケジュールがない場合はRCHの受信に備え、デジタル復調回路501、および誤り訂正復号回路503に対して、設定する適応変調情報などを共通メモリ15より読み出し、RCH受信時刻まで待機する。
【0090】
以上説明したように、実施の形態1のデータ送受信装置(データ送受信方法)におけるバス調停装置を用いれば、リアルタイム性の要求されるスケジュール生成などの処理を実施する場合は、CPU11の共通メモリ15へアクセスする場合の優先順位を高くすることで、所定時間内でスケジュール生成することができ、システムを安定に動作させることができる。また、CPU11の優先順位が高くなるので、リアルタイム性を確保するために命令キャッシュメモリ、あるいはCPU11専用のプログラムメモリを必要以上大きくする必要がないので、回路規模の削減を図ることができる。更に、CPU11でのスケジュール生成処理の優先順位を実施の形態1に示すように上げることで、CPU11でのスケジュール生成の際の処理時間のワーストケースがほぼ確定できる。即ち、アクセス権要求からアクセス権を獲得するまでの最大のレイテンシが計算できる(優先順位が低い場合は、例えば、ランダムに入力されるEthernetインタフェースの受信データなどがバス調停回路14に対してアクセス権要求を出すので、処理時間のワーストケースを読むことはできない)。このため、CPU11によるスケジュール生成の開始時刻を、上記ワーストケースの時間分前から始めればよいので、受信したEthernetフレームを必要以上に管理端末1内に滞留させることない。従って、例えばTCP/IPなどでデータの送受信を実施する場合、ランドトリップ時間を必要以上に長くし、ネットワーク帯域が十分確保されているにもかかわらず、データ伝送速度が上がらないといったことを起こすことはないといった効果がある。
【0091】
また、実施の形態1では、共通メモリ15としてSDRAMを用いた場合について説明したがこれに限るものではなく、DRAM、DDR、SRAMなどのメモリを用いても同様の効果を奏することは言うまでもない。また、実施の形態1では、図8に示すように共通メモリ15を制御することで、共通メモリ15へのアクセスの際のデータの書き込み/読み出しの際の帯域を最大限使用することができる効果があると共に、一つのペリフェラルがアクセス権を全てのデータの転送が完了するまで持ち続けないのでリアルタイム性の要求されるCPU11でのスケジュール生成処理、あるいはPLCネットワークへ送信する送信フレームの生成などにおいてシステムを破綻させることなく制御することができる。また、CPU11の共通メモリ15へのアクセスの際の優先順位を上げた際に、少なくともPLCモデム回路16から送信する送信データの生成の際の共通メモリ15からのデータの読み出し、および受信データの共通メモリ15への書き込みの際の最大バースト長を、それ以外の場合と比較して短くすることで、優先順位が下げられたEthernetインタフェース回路12にて受信したEthernetフレームデータの共通メモリ15への書き込み要求、および送信Ethernetフレームデータの共通メモリ15からの読み出しについても、アクセスの際の優先順位は低いものの確実にアクセス権を与えることができ、必要以上に内部に持たせるFIFOメモリの容量を大きくすることなくシステムを制御できる効果がある。
【0092】
また、実施の形態1では、アクセス権を獲得した周辺ペリフェラルは連続してバスアクセス権を獲得しないよう図8に示すように制御を実施するので、一つの優先順位の高いペリフェラルが共通メモリ15へのアクセス権を占有してしまい、他のペリフェラルからのアクセスができなくなってしまうといったことが起こらないので、必要以上に周辺ペリフェラル内のFIFOメモリサイズを大きくすることなくシステムを構成できる効果がある。同様に、CPU11に対しても必要以上のキャッシュメモリを内蔵する、あるいはCPU11専用のメモリを内蔵する必要がないという効果がある。
【0093】
以上のように、実施の形態1のバス調停装置によれば、予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第1のネットワークを介してデータの送受信を行う第1の通信手段と、第1のネットワークとは異なる第2のネットワークに接続され、第1の通信手段で受信したデータの送信および第1の通信手段で送信するデータの第2のネットワークからの受信を行う第2の通信手段と、データ送受信タイミングデータの生成を行う送受信タイミングデータ生成手段と、第1の通信手段、第2の通信手段および送受信タイミングデータ生成手段とはバスを介して接続され、第1の通信手段の送受信データと第2の通信手段の送受信データを記憶すると共に、送受信タイミングデータ生成手段がアクセスを行う共通メモリと、バスを介して行われる共通メモリへの第1の通信手段、第2の通信手段および送受信タイミングデータ生成手段からのデータ書き込み/読み出し要求を調停すると共に、送受信タイミングデータ生成手段でデータ送受信タイミングデータの生成を実施する場合は、送受信タイミングデータ生成手段のバス調停の優先順位を、第2の通信手段にて受信した受信データの共通メモリへの書き込みおよび第2の通信手段から送信される送信データの共通メモリからの読み出し要求より高くし、他の処理では第1の通信手段および第2の通信手段にて受信した受信データの共通メモリへの書き込みと、第1の通信手段および第2の通信手段で送信する送信データの共通メモリからの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段とを備えたので、リアルタイム性の要求されるスケジューリングなどの処理を所定時間以下で実施できると共に、リアルタイム性の要求される処理を行う場合の共通メモリへのデータアクセス量を必要以上に大きくすることなく、データ通信性能を確保することができる。
【0094】
また、実施の形態1のバス調停装置によれば、バス調停手段は、少なくとも、送受信タイミングデータ生成手段が送受信タイミングデータの生成を行う場合は、第1の通信手段および第2の通信手段が共通メモリへアクセスする際のデータ長を短く制限するよう制御するようにしたので、データ送受信タイミングデータ生成の際の処理時間を短くすることができると共に、回路規模を小さく抑えることができる。
【0095】
また、実施の形態1のバス調停装置によれば、送受信タイミングデータ生成手段は、予め定められた周期で送信されるデータ送受信タイミングデータの送信タイミングを管理する管理タイマを有し、バス調停手段は、管理タイマが所定の時刻になった際に、送受信タイミングデータ生成手段の優先順位を上げると共に、送受信タイミングデータ生成手段でのデータ送受信タイミングデータ作成が完了した場合は、優先順位を下げるよう制御するようにしたので、必要とする処理のみ優先順位を上げることができ、システムとしての効率を向上させることができる。
【0096】
実施の形態2.
実施の形態2は、バス調停手段が、処理毎にバスアクセス権の最大遅延時間を設定し、最大遅延時間を超えた処理が存在した場合はその処理のバスアクセス権の優先度を高くするようにしたものである。
図14は、実施の形態2のバス調停装置におけるバス調停回路の内部を示す構成図である。
実施の形態2では、入力端子113〜118とバス制御回路141との間に、それぞれ遅延時間計測カウンタ142〜147が設けられている。これらの遅延時間計測カウンタ142〜147は、それぞれ入力端子113〜118を介してアクセス権要求信号が入力されるとカウントを開始し、アクセス権が受け付けられるとバス制御回路141より出力されるバスアクセス権受付を示す信号によりカウント値を0にリセットすると共にカウント動作を停止するよう構成されたカウンタである。バス制御回路141は、実施の形態1のバス制御回路102と同様の機能を有すると共に、遅延時間計測カウンタ142〜147のカウント値に基づいて、入力端子113〜118からのアクセス要求信号に対する優先度の制御する機能を有している。
これ以外の構成は実施の形態1と同様であるため、その他の構成については説明を省略する。
【0097】
以下、実施の形態2におけるデータ送受信装置10におけるバス調停装置の動作について説明する。
実施の形態2では、バス調停回路14内の共通メモリ15へのアクセスの際の優先順位を決定する動作が実施の形態1で説明したものと異なる。よって、実施の形態2では、実施の形態1と異なるバス調停回路14のバスアクセス権の調停動作のみについて詳細な動作説明を行い、実施の形態1と同様の動作についてはその説明を省略する。
【0098】
以下、図13および図14を用いてバス調停回路14のバス調停動作を説明する。
管理端末1が起動し、データの送受信が開始されるとバス調停回路14中のバス制御回路141は、共有メモリ15へのアクセス要求がないかを確認する(ステップST21)。入力端子113〜118を介して上記要求信号が入力されると、バス制御回路141は、現在共有メモリ15はアクセス中かを確認する。具体的には、共通メモリバスビジー信号がアクティブであるか確認する(ステップST22)。その際、バス調停回路14内のアクセス要求のあったペリフェラルの要求信号に接続された遅延時間計測カウンタ142〜147のカウントを開始する。実施の形態2では、優先順位の低い周辺ペリフェラルからのアクセス要求についても所定の時間以内にはアクセスできるように、アクセス権の要求信号受信後、遅延時間計測カウンタ142〜147のカウントを開始し、予め定められた時間以上アクセス権が獲得できなかった場合、バス制御回路141は、次のバス調停の際に、優先順位を一番高く設定するように制御する。これにより、優先順位が低く、アクセス権が中々獲得できないペリフェラルに関しても、最低限のアクセス権を与えることができるようになる。
【0099】
遅延時間計測カウンタ142〜147がカウントを開始すると、バス制御回路141は、共通メモリバスビジー信号がアクティブな場合は、バスアクセス権が解放されるまで待つ。共通メモリバスビジー信号が非アクティブになると、バス制御回路141は、複数のペリフェラルからの要求か確認する(ステップST23)。単一のペリフェラルからの要求であった場合は、バスアクセスを要求してきたペリフェラルに対して要求受付信号を出力(例えばPLC送信データ読み出し要求のみを受け取った場合はPLC送信データ読み出し要求受付信号を出力)する(ステップST24)と共に、共通メモリバスビジー信号をセットする(ステップST25)。その際、セレクタ103に対して所定の入力を選択するよう制御信号を出力すると共に、先ほど起動した遅延時間計測カウンタ142〜147のカウント値をリセットすると共に、カウント動作も停止する。尚、実施の形態2では、実施の形態1と同様に、上記セレクタ103への上記制御信号の出力タイミングは共通メモリバスビジー信号の立ち上がりエッジに同期して切り換えるよう制御する。そして、バス制御回路141は許可したペリフェラルが共通メモリ15へのアクセスが完了するまで待機する(ステップST26)。許可したペリフェラルの共通メモリ15へのアクセスが完了すると、バス制御回路141はバスビジー信号をリセットし(ステップST27)、共通メモリ15へのアクセス要求がないかを確認する(ステップST21)。
【0100】
次に、複数のペリフェラルからのアクセス要求が競合している場合の動作について説明する。
複数のペリフェラルからのアクセス要求がある場合、バス制御回路141は優先度制御回路101に対して各ペリフェラルの優先度、および共通メモリ15へのアクセス時のバースト長情報(SDRAMへ連続して転送するデータの最大ワード長)を確認するよう指示を出す。その際、実施の形態2では、各周辺ペリフェラルの最大遅延時間(優先順位を切り換える際の、遅延時間計測カウンタのカウント値)についても最大バースト長情報と共に優先度制御回路101から入手する。尚、優先度制御回路101の通常動作時の制御は、上記最大バースト情報に加え、最大遅延時間情報をバス制御回路141に通知することのみ実施の形態1とは異なり、優先度テーブル、最大バースト長情報などの内容、およびテーブル切り換え制御などの回路動作は同一であるのでここでの詳細な説明は省略する。また、初期化のシーケンスでの動作についても、最大バースト長情報と共に、バースト長テーブル(A)153、およびバースト長テーブル(B)154に最大遅延時間情報を書き込む動作のみが実施の形態1とは異なるだけなので、詳細な動作説明は省略する。
【0101】
尚、実施の形態2では、最大遅延時間情報は各テーブルデータで異なるように設定するものとする。これは、以下の理由による。CPU11の優先順位が上がった場合、Ethernetフレームデータの書き込み、および読み出しの際の共通メモリ15へのアクセス権の獲得確率は下がる。実施の形態1では、優先順位の下がるEthernetインタフェース回路12の受信データ、あるいは送信データのどちらか一方は共通メモリ15へのアクセス権を獲得できるが、両者が競合した場合は優先順位の低いもの(実施の形態1では共通メモリ15からのEthernetフレームデータの読み出し)については全くアクセス権を獲得できない場合が発生する。また、本件は通常の優先順位であっても発生する。従って、実施の形態2では各ペリフェラルからのアクセス権要求に対して、最大遅延時間を設定することにより上記問題を解決する。また、その時間を、例えば、CPU11の優先度が上がっている場合は、少なくともCPU11の優先度より低いペリフェラルの最大遅延時間は、CPU11の優先度が上がっていない場合と比較し小さくなるように設定する。これにより、優先順位が下がった場合でも所定のアクセス権(通常よりは少ないが)を確保することができ、必要以上に内蔵するFIFOのサイズを大きくとる必要がなく、回路規模を抑えることができる効果がある。
【0102】
以下、実施の形態2では最大遅延時間情報を用いて優先度を切り換える理由について説明する。
実施の形態1で説明したように、例えばCPU11はリアルタイム性の要求されないタスクを実施している場合は、共通メモリ15へのアクセス権は一番低く設定されている。しかし、例えばEthernetインタフェース回路12にて受信したEthernetフレームに誤りが検出された場合、あるいはオーバーランエラーなどが発生した場合に、通常Ethernetインタフェース回路12に対して割り込みを発生させ、異常が起きたことを通知する。しかしながら、割り込みを受け取った場合でも、CPU11は優先順位が一番低く設定されており、かつ、PLCモデム回路16でのデータ送受信状況などで共通メモリ15へのアクセス権が全く取れない場合が発生する。本件は、リアルタイム性を要求される処理ではないが、エラー処理などを各周辺ペリフェラルに通知するなどの処理を実施する必要がある。このようなケースで、CPU11が少なくとも予め定められた時間以内で処理が完了できるように、実施の形態2では、各周辺ペリフェラルからのアクセス権要求に対する最大遅延時間を設定する。これにより、各周辺ペリフェラルは共通メモリ15へのアクセス権を、少なくとも一定の遅延時間以内には獲得することができるので、優先順位の低いペリフェラルも一定の共通メモリ15へのアクセス権を獲得できる。これにより、システム設計の際の、最大レイテンシが机上で計算できるので、システム設計の際に、内蔵するFIFOメモリの容量などを必要以上に大きくする必要がなく、システムの最適化を図ることができる。
【0103】
次に、図13および図14を使用してアクセス権の要求が競合した場合の動作を説明する。
バス制御回路141は、複数のペリフェラルからの共通メモリ15へのアクセス要求を確認する(ステップST23)と、バス制御回路141は、優先度制御回路101より出力される優先度テーブル情報、最大バースト長情報、および各周辺ペリフェラルの最大遅延時間情報を確認する。次に、バスアクセス権を要求してきている各周辺ペリフェラルの遅延時間を確認する。具体的には、遅延時間計測カウンタ142〜147の出力が最大遅延時間情報より大きくないか確認する。大きいものがあった場合は、その優先度を、優先度制御回路101より出力される優先度よりも高く設定する。更に、複数の周辺ペリフェラルの要求が最大遅延時間を上回っていた場合は、最大遅延時間が上回っていた周辺ペリフェラルの中で、一番優先度の高いものに対してアクセス権を与えるよう制御する。一つしかなかった場合は、最大遅延時間を上回っていたペリフェラルにアクセス権を与える。
【0104】
一方、遅延時間計測カウンタ142〜147の出力が最大遅延時間情報より大きいものがなかった場合、バス制御回路141では、優先度制御回路101より出力される優先度情報に基づき競合しているアクセス要求の中から一番優先度の高いアクセス要求を選択し、要求受付信号を出力する(ステップST29)。例えば、優先度制御回路101では優先度テーブル(A)151が選択されており、入力端子113を介して入力されるCPUデータ書き込み/読み出し要求信号、入力端子114を介して入力されるPLC制御データ読み出し要求信号、および入力端子116を介して入力されるPLC送信データ読み出し要求信号が競合していた場合、バス制御回路102は、優先度の一番高いPLC制御データ読み出し要求に対する受付信号を出力端子120を介して要求元であるPLCネットワーク制御データ生成回路404に出力する。その際、実施の形態2では遅延時間計測カウンタ143のカウント値を0にリセットすると共に、遅延時間計測カウンタのカウンタ動作を停止する。尚、要求受付信号を受け取ったPLCネットワーク制御データ生成回路404の動作は実施の形態1と同一であるため、ここでの詳細な動作の説明は省略する。
【0105】
バス制御回路141では、要求受付信号をアクセス権を獲得したペリフェラルに出力を終了すると共通メモリバスビジー信号をセットする(ステップST30)。ステップST30にて共通メモリバスビジー信号のセットが完了すると、バス制御回路102は共通メモリ15へのバスアクセスが完了するまで待機する(ステップST31)。セレクタ103より共通メモリ15へのアクセス完了通知が入力されると、バス制御回路141は共通メモリバスビジー信号をリセットし(ステップST32)、先ほど競合していた次のペリフェラルからのアクセス要求を許可するため、再び、どのペリフェラルからアクセス要求があるか確認する(ステップST23)。
【0106】
以上説明したように、実施の形態2のバス調停装置によれば、各周辺ペリフェラルからのアクセス権要求信号に基づき、遅延時間計測カウンタ142〜147のカウントを開始し、ペリフェラル毎に予め設定された最大遅延時間情報と比較し、所定の時間以上、アクセス権が与えられていない場合、優先順位を高く設定し、アクセス権を与えるように制御するようにしたので、システム設計の際の、各周辺ペリフェラルに内蔵するメモリ容量(FIFOメモリ、キャッシュメモリなど)などを必要以上に大きなサイズにすることがないので回路規模の削減を図ることができる。更に、優先度テーブル毎に最大遅延時間情報を設定できるよう構成しているので、各々の優先度で最適に最大遅延時間が設定できるので、各周辺ペリフェラルに内蔵するメモリ容量(FIFOメモリ、キャッシュメモリなど)などを必要以上に大きなサイズにすることがなく、回路規模の削減を図ることができる。
【0107】
尚、上記実施の形態1及び2においては、データ送受信装置10の一例として高速PLCを用いた場合について説明したがこれに限るものではなく、無線LAN、あるいはUWB、あるいはTDMA方式を採用する他の伝送方式を採用してもバス調停回路を同様に制御すれば同様の効果を奏することは言うまでもない。
また、実施の形態1では、スケジュール生成時のみ、CPU11の優先順位を上げるように制御したが、これに限るものではなく、スケジュール生成と同様にリアルタイム性の要求される処理をCPU11にて実施する場合は、CPU11の優先度を、リアルタイム性の要求されない処理を実施する場合と比較して高くするよう制御すれば良い。更に、二つ以上リアルタイム性の要求される処理がある場合、それぞれの処理で、優先順位が異なるようバス調停回路14を制御しても同様の効果を有することは言うまでもない。例えば、スケジュール生成以外のリアルタイム性の要求される処理が、非常に短いステップで実施される場合、実施の形態1とは異なり、本処理の優先順位を最優先としても同様の効果を有することは言うまでもない。
【0108】
更に、実施の形態1及び2においては、最大バースト長をPLC関連動作に限って変更するよう構成したが、これに限るものではなく、Ethernetインタフェース関連のデータの読み出し/書き込み時の最大バースト長も、短くする(あるいは、システム的に問題なければ長くする)よう制御しても良い。また、実施の形態1では、TDMA方式を採用するデータ送受信装置10を例にバス調停回路14の動作を説明したが、これに限るものではなく、CPU11、あるいは専用回路で共通メモリ15内に記憶されているプログラム、あるいはデータを用いてリアルタイム性の要求される処理を実施するような場合、その処理を実施する際のCPU11あるいは専用回路の優先度を、リアルタイム性の要求されない処理を実施する場合と比較して高くするよう制御すれば同様の効果を有することは言うまでもない。また、バス調停回路14にて、共通メモリ15へのデータの書き込み/読み出し調停を実施する場合、図8に示すように同一ペリフェラルが連続して共通メモリアクセスを獲得しないように制御することで、優先順位の高いペリフェラルが共通メモリ15へのアクセス権を占有し続けることがないため、必要以上に内部のメモリ容量を大きくする必要がなく回路規模を削減できる効果がある。
【図面の簡単な説明】
【0109】
【図1】この発明の実施の形態1によるバス調停装置を適用した高速PLCネットワークシステム示す構成図である。
【図2】この発明の実施の形態1によるバス調停装置を適用したデータ送受信装置の概略ブロック構成図である。
【図3】この発明の実施の形態1によるバス調停装置のバス調停回路のブロック構成図である。
【図4】この発明の実施の形態1によるバス調停装置の優先度制御回路の概略ブロック構成図である。
【図5】この発明の実施の形態1によるバス調停装置のPLCモデム回路のブロック構成図である。
【図6】この発明の実施の形態1によるバス調停装置のPLC送信制御回路のブロック構成図である。
【図7】この発明の実施の形態1によるバス調停装置のPLC受信制御回路のブロック構成図である。
【図8】この発明の実施の形態1によるバス調停装置の共通メモリへの書き込み/読み出しのタイミングチャートである。
【図9】この発明の実施の形態1によるバス調停装置のPLCネットワークを介してデータの送受信が開始された際のCPUの動作を示すフローチャートである。
【図10】この発明の実施の形態1によるバス調停装置のスケジュール情報の説明図である。
【図11】この発明の実施の形態1によるバス調停装置のスケジュール情報の生成処理を示すフローチャートである。
【図12】この発明の実施の形態1によるバス調停装置の1フレームのPLC送信データのフォーマットを示す説明図である。
【図13】この発明の実施の形態1によるバス調停装置のバス調停動作を示すフローチャートである。
【図14】この発明の実施の形態2によるバス調停装置のバス調停回路の内部を示す構成図である。
【符号の説明】
【0110】
1 管理端末、2〜4 クライアント端末、5 電灯線、10 データ送受信装置、11 CPU、12 Ethernetインタフェース回路、13 ブリッジインタフェース回路、14 バス調停回路、15 共通メモリ、16 PLCモデム回路、17 CPUバス、40 PLC送信制御回路、50 PLC受信制御回路、101 優先度制御回路、102 バス制御回路、103 セレクタ、104 I/O制御回路、141 バス調停回路、142〜147 遅延時間計測カウンタ、151 優先度テーブルA、152 優先度テーブルB、153 バースト長テーブルA、154 バースト長テーブルB、155,156 セレクタ、157 セレクタ制御回路、158 CPUバスインタフェース回路、401 PLCヘッダ生成回路、402 パケットデータ生成回路、403 PLC送受信タイミング生成回路、404 PLCネットワーク制御データ生成回路、405 PLC送信用メモリ制御回路、406 暗号化回路、407 PLCヘッダ付加回路、408 誤り訂正符号回路、409 デジタル変調回路、501 デジタル復調回路、502 PLCヘッダ解析回路、503 誤り訂正復号回路、504 暗号復号回路、505 PLC制御フレーム分離回路、506 PLC受信用メモリ制御回路、507 PLC受信タイミング生成回路、508 PLC制御フレームデータ記憶回路。

【特許請求の範囲】
【請求項1】
予め定められた周期で与えられるデータ送受信タイミングデータに基づいて、第1のネットワークを介してデータの送受信を行う第1の通信手段と、
前記第1のネットワークとは異なる第2のネットワークに接続され、前記第1の通信手段で受信したデータの送信および前記第1の通信手段で送信するデータの前記第2のネットワークからの受信を行う第2の通信手段と、
前記データ送受信タイミングデータの生成を行う送受信タイミングデータ生成手段と、
前記第1の通信手段、前記第2の通信手段および前記送受信タイミングデータ生成手段とはバスを介して接続され、前記第1の通信手段の送受信データと前記第2の通信手段の送受信データを記憶すると共に、前記送受信タイミングデータ生成手段がアクセスを行う共通メモリと、
前記バスを介して行われる前記共通メモリへの前記第1の通信手段、前記第2の通信手段および前記送受信タイミングデータ生成手段からのデータ書き込み/読み出し要求を調停すると共に、前記送受信タイミングデータ生成手段で前記データ送受信タイミングデータの生成を実施する場合は、当該送受信タイミングデータ生成手段のバス調停の優先順位を、前記第2の通信手段にて受信した受信データの前記共通メモリへの書き込みおよび前記第2の通信手段から送信される送信データの前記共通メモリからの読み出し要求より高くし、他の処理では前記第1の通信手段および前記第2の通信手段にて受信した受信データの前記共通メモリへの書き込みと、前記第1の通信手段および前記第2の通信手段で送信する送信データの前記共通メモリからの読み出しよりバス調停の際の優先順位を低くするよう制御するバス調停手段とを備えたバス調停装置。
【請求項2】
バス調停手段は、少なくとも、送受信タイミングデータ生成手段がデータ送受信タイミングデータの生成を行う場合は、第1の通信手段および第2の通信手段が共通メモリへアクセスする際のデータ長を短く制限するよう制御することを特徴とする請求項1項記載のバス調停装置。
【請求項3】
送受信タイミングデータ生成手段は、予め定められた周期で送信されるデータ送受信タイミングデータの送信タイミングを管理する管理タイマを有し、
バス調停手段は、前記管理タイマが所定の時刻になった際に、前記送受信タイミングデータ生成手段の優先順位を上げると共に、前記送受信タイミングデータ生成手段での前記データ送受信タイミングデータ作成が完了した場合は、優先順位を下げるよう制御することを特徴とする請求項1または請求項2記載のバス調停装置。
【請求項4】
バス調停手段は、処理毎にバスアクセス権の最大遅延時間を設定し、当該最大遅延時間を超えた処理が存在した場合は前記処理のバスアクセス権の優先度を高くすることを特徴とする請求項1から請求項3のうちのいずれか1項記載のバス調停装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−181203(P2009−181203A)
【公開日】平成21年8月13日(2009.8.13)
【国際特許分類】
【出願番号】特願2008−17939(P2008−17939)
【出願日】平成20年1月29日(2008.1.29)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】