(57)【要約】  リンク制御回路(10)に、上り制御フレームで通知されたリンク制御内容をイベントとして出力する上りパーサ部(11)と、タイマを起動・停止し、タイマ満了に応じてリンクイベントを出力するタイマ部(12)と、リンク制御内容を含む下り制御フレームを生成するフレーム生成部(13)と、これらイベントに応じてリンク状態を管理し、リンク状態に応じてタイマ部でのタイマ起動・停止、フレーム生成部での下り制御フレーム生成を指示することにより、リンクの接続確立、維持、および切断を制御する状態管理部(15)として複数のハードウェア処理部を備え、各ハードウェア処理部は、それぞれの処理動作を記述した、外部から変更可能な内部プログラムを格納するメモリと、内部プログラムにしたがってそれぞれの処理動作を実行するプロセッサとを有している。
2018016469.tif 000002
【特許請求の範囲】
【請求項１】
複数の子局とのデータ通信を行う親局で用いられ、これら子局とのデータ通信に用いるリンクを制御するリンク制御回路であって、
前記子局から受信した上り制御フレームで通知された、前記リンクの制御に関する内容をイベントフレームで通知する上りパーサ部と、
前記リンクの状態を管理するためのタイマを起動・停止し、前記タイマの満了をイベントフレームで通知するタイマ部と、
前記子局へ通知する前記リンクの制御に関する内容を含む下り制御フレームを生成するフレーム生成部と、
前記上りパーサ部および前記タイマ部からの前記イベントフレームに応じて前記リンクの状態を管理し、前記リンクの状態に応じて、前記タイマ部でのタイマの起動・停止をイベントフレームで指示するとともに、前記フレーム生成部での前記下り制御フレームの生成をイベントフレームで指示することにより、前記リンクの接続確立、維持、および切断を制御する状態管理部と
してそれぞれ動作するように構成された複数のハードウェア処理部を備え、
前記複数のハードウェア処理部は、それぞれの処理動作を記述した、外部から変更可能な内部プログラムを格納するメモリと、前記内部プログラムにしたがってそれぞれの処理動作を実行するプロセッサとを有している
ことを特徴とするリンク制御回路。
【請求項２】
請求項１に記載のリンク制御回路であって、
前記ハードウェア処理部は、処理動作の対象となる前記子局を識別するためのＩＤを前記イベントフレームに付与して出力することを特徴とするリンク制御回路。
【請求項３】
請求項１または請求項２に記載のリンク制御回路であって、
前記ハードウェア処理部は、処理動作の対象となる前記上り制御フレームまたは前記下り制御フレームのフレーム種別を識別するための種別情報を前記イベントフレームに付与して出力することを特徴とするリンク制御回路。
【請求項４】
請求項１〜請求項３のいずれかに記載のリンク制御回路であって、
前記ハードウェア処理部は、前記内部プログラムと、それぞれが保持する内部レジスタに保存されている、外部から変更可能なパラメータとにしたがって、それぞれの処理動作を実行することを特徴とするリンク制御回路。
【請求項５】
請求項１〜請求項３のいずれかに記載のリンク制御回路であって、
前記ハードウェア処理部が共用する複数の共用レジスタを有する共用レジスタ部をさらに備え、
前記ハードウェア処理部は、前記内部プログラムと、前記共用レジスタ部の対応する共用レジスタに保存されている、外部から変更可能なパラメータとにしたがって、それぞれの処理動作を実行する
ことを特徴とするリンク制御回路。
【請求項６】
請求項１〜請求項５のいずれかに記載のリンク制御回路であって、
前記ハードウェア処理部として、入力された下りフレームのうちから前記子局へ送信すべき下りデータフレームを選択し、前記下りデータフレームと前記フレーム生成部から出力された下り制御フレームとを多重化するマルチプレクサへ出力する下りパーサ部をさらに備えることを特徴とするリンク制御回路。
【請求項７】
請求項１〜請求項６のいずれかに記載のリンク制御回路であって、
前記ハードウェア処理部として、前記上りパーサ部における前記上り制御フレームに対するフレーム処理を高速で実行するハードウェアアクセラレータ部をさらに備えることを特徴とするリンク制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、親局が複数の子局とのデータ通信に用いるリンクを制御するためのリンク制御回路に関する。
【背景技術】
【０００２】
親局と複数子局とで構成する通信システムの１つにＰＯＮ（Passive Optical Network）システムがある。本システムは、局舎に設置されるＯＬＴ（Optical Line Terminal）を親局、各ユーザ宅に設置されるＯＮＵ（Optical Network Unit）を子局として通信を行う。【０００３】
ＰＯＮシステムは、図５に示すように、上位ネットワークと接続されたＯＬＴと、複数ｍ個のＯＮＵと、ＯＬＴと複数ｍ個のＯＮＵを１：ｍに接続する光ファイバおよび光スプリッタＳＰとにより構成される。ＰＯＮシステムでは、複数のＯＮＵから送信される信号が、光スプリッタＳＰで束ねられてＯＬＴに届く。そのため、信号が衝突しないように、ＩＥＥＥ８０２．３およびＩＥＥＥ８０２．３ａｖでは、ＯＬＴ−ＯＮＵ間の通信制御を行うＭＰＣＰ（Multi-Point Control Protocol）を規定している。【０００４】
ＭＰＣＰ規定によると、ＯＬＴからＯＮＵへの下り方向通信では、ＯＬＴが各ＯＮＵに割り当てたＩＤ（識別番号）を付加した下りフレームを時分割多重して送信し、下りフレームが光スプリッタで分岐してすべてのＯＮＵに転送される。各ＯＮＵは、下りフレームのＩＤにより、自分宛ての下りフレームだけを抽出して受信する。【０００５】
一方ＯＮＵからＯＬＴへの上り方向通信では、各ＯＮＵはＯＬＴから割り当てられたＩＤを付加した上りフレームを、ＯＬＴから割り当てられた帯域（送信開始時刻と送信継続時間）で送信し、各ＯＮＵからの上りフレームが光スプリッタで合流してＯＬＴに転送される。ＯＬＴは、上りフレームのＩＤにより、どのＯＮＵから送信された上りフレームであるかを判別して受信する。【０００６】
ＯＬＴはＭＰＣＰに基づいて定期的にＤｉｓｃｏｖｅｒｙプロセスを実行し、新たに接続されるＯＮＵに対してＩＤを割当て、接続を確立する。ここで、Ｄｉｓｃｏｖｅｒｙプロセスの概要について説明する。以下の処理（１）〜（７）は、図６に示すＤｉｓｃｏｖｅｒｙプロセスの各制御フレームに対応する。【０００７】
（１）  ＯＬＴは、全ＯＮＵに対してＤｉｓｃｏｖｅｒｙ  Ｇａｔｅフレームを送信する。このＤｉｓｃｏｖｅｒｙ  Ｇａｔｅフレームには、ＯＬＴのローカル時刻ｔ１と、新規ＯＮＵが上りフレームの出力を開始できる時刻Ｔ１と、識別子としてブロードキャストＩＤが記載されている。【０００８】
（２）  ＯＬＴとのリンクを確立していないＯＮＵは、Ｄｉｓｃｏｖｅｒｙ  Ｇａｔｅフレームを受信すると、Ｄｉｓｃｏｖｅｒｙ  Ｇａｔｅフレームに記載されたｔ１を自身のローカル時刻にセットし、ＯＬＴとの時刻同期をとる。そして、Ｄｉｓｃｏｖｅｒｙ  Ｇａｔｅフレームで指定された時刻Ｔ１からランダム時間後に、ＯＬＴへＲｅｇｉｓｔｅｒ  Ｒｅｑｕｅｓｔフレームを送信して登録の要求を行う。この際、当該ＯＮＵにはＩＤが割り当てられていないため、Ｒｅｇｉｓｔｅｒ  Ｒｅｑｕｅｓｔフレームには識別子としてブロードキャストＩＤが記載されている。【０００９】
（３）  ＯＬＴは、Ｒｅｇｉｓｔｅｒ  Ｒｅｑｕｅｓｔフレームを送信したＯＮＵに対して固有のＩＤを割り当て、Ｒｅｇｉｓｔｅｒフレームを送信して割り当てたＩＤを当該ＯＮＵに通知する。
（４）  続いてＯＬＴは、当該ＯＮＵに対し、次フレームの送信開始時刻Ｔ２を記載したＧａｔｅフレームを送信し、Ｒｅｇｉｓｔｅｒ  ＡＣＫフレームの到着を待つ。【００１０】
（５）  ＯＮＵは、ＲｅｇｉｓｔｅｒフレームとＧａｔｅフレームを受信すると、Ｒｅｇｉｓｔｅｒ  ＡＣＫフレームをＧａｔｅフレームで指定された送信開始時刻Ｔ２に送信する。そして、ＯＬＴが当該ＯＮＵからＲｅｇｉｓｔｅｒ  ＡＣＫフレームを受信すると、ＯＬＴとＯＮＵとのリンクが確立する。以上が、Ｄｉｓｃｏｖｅｒｙプロセスである。【００１１】
（６）リンク確立後、ＯＬＴはＯＮＵの上り信号の送信開始時刻Ｔ３を記載したＧａｔｅフレームを送信する。
（７）  ＯＮＵはＧａｔｅフレームを受信すると、そこに指定されている送信開始時刻Ｔ３まで送信待機となり、その時刻までに蓄積されるフレーム量を計算し、送信開始時刻Ｔ３になったときにＲｅｐｏｒｔフレームで送信フレーム量をＯＬＴに通知する。【００１２】
Ｒｅｐｏｒｔフレーム受信後、ＯＬＴは、各ＯＮＵから通知される送信フレーム量と帯域割り当てのアルゴリズム（ＤＢＡ：Dynamic Bandwidth Allocation）に従って、各ＯＮＵに対する送信開始時刻の順番を組み立て、順次ＯＮＵに向けてＧａｔｅフレームを送信する。ＯＮＵは、Ｇａｔｅフレームを受信すると、Ｇａｔｅフレームで指定されている時刻に上りフレームを送信するとともに、次のＧａｔｅフレームをもらうためのＲｅｐｏｒｔフレームも送信する。ＯＬＴとＯＮＵは、上記手順で通信を繰り返し、リンクを維持する。なお、ＯＬＴは、一定期間ＯＮＵから上記に記載したフレームを受信できない場合、タイムアウトを判定し、当該ＯＮＵとのリンクを切断する。【００１３】
続いて、ＯＬＴ内で用いられる通信処理用ＬＳＩの構成例について説明する。一般的な通信処理用ＬＳＩは、図７に示すように、受信処理回路、ＦＥＣ回路、暗号回路、リンク制御回路、データ処理回路、および送信処理回路から構成されており、通信処理用ＬＳＩに外部接続された上位ＣＰＵからの初期設定に基づいてそれぞれ動作する。【００１４】
まず、各ＯＮＵから送信された上りフレームは、受信処理回路において、制御フレームとデータフレームとに振り分けられる。ここで、制御フレームとはこれまでに説明したＯＬＴ−ＯＮＵ間のＤｉｓｃｏｖｅｒｙプロセスを実現するための通信フレームであり、それ以外にも、ＯＬＴからＯＮＵへの制御を行う際に用いられるフレーム全般のことを指す。データフレームとは、制御フレーム以外のフレームを指す。【００１５】
ＦＥＣ回路、暗号回路において、両フレームは誤り訂正処理や暗号の復号化処理が行われ、リンク制御回路へと入力される。リンク制御回路は制御フレームとデータフレームの識別を行い、データフレームはデータ処理回路へと入力される。一方、制御フレームはリンク制御回路において終端される。上りの制御フレームに応じて、下りの制御フレームをＦＥＣ・暗号回路へと出力する。データフレームを受信したデータ処理回路は、バッファリング処理や上位ネットワークへのブリッジ処理を行い、ＳＮＩ（Service Network Interface）側へとデータフレームを出力する。【００１６】
ＳＮＩ側から入力された下りフレームは、データ処理回路において、宛先ＭＡＣアドレスなどから宛先ＯＮＵを特定し、該当ＯＮＵに対応するＩＤを付与してリンク制御回路を通って、ＦＥＣ回路、暗号回路へと出力される。リンク制御回路では、下りデータフレームの中に含まれる制御フレームを識別し、該当フレームがある場合はその処理を行う。送信処理回路において、データフレームと制御フレームが時分割多重されて、ＵＮＩ（User Network Interface）へと出力される。なお、データフレームと制御フレームの時分割多重は送信処理回路のみが担う必要もなく、前段のリンク制御回路が担っても良い。【００１７】
ここで、リンク制御回路に求められる詳細な機能について説明を行う。リンク制御回路には、複数種類の制御フレームが入力され、その種類に応じた処理を行う。例えば、ＲｅｇｉｓｔｅｒＡＣＫフレームを受信した際の処理例について説明する。図８に示す、ＲｅｇｉｓｔｅｒＡＣＫフレームのフレームフォーマット（IEEE802.3av）において、制御フレームはＲｅｇｉｓｔｅｒＡＣＫフレームにかかわらず全ての種類において６４ｂｙｔｅ長と規定されており、図８に記載のフィールドの後に６４ｂｙｔｅになるように０がパディングされる。また、制御フレーム情報の中にはＩＤごとに異なる情報（ＳＡなど）とＩＤごとには共通であるが種別ごとに異なる情報（Type、Opcodeなど）が含まれる。【００１８】
ＲｅｇｉｓｔｅｒＡＣＫフレームがリンク制御回路に入力されると、まず、Ｔｙｐｅフィールド、ＯｐｃｏｄｅフィールドがそれぞれＴｙｐｅ＝０ｘ８８０８、Ｏｐｃｏｄｅ＝０ｘ０００６であるかの判定が行われる。判定の結果、全て一致した場合、受信したフレームはＲｅｇｉｓｔｅｒＡＣＫフレームとみなされ、受信処理が開始される。【００１９】
ＲｅｇｉｓｔｅｒＡＣＫフレーム受信処理としては、主に、フレームの正常／異常受信判定、各種タイマの起動／停止処理がある。フレームの正常／異常受信判定では、ＲｅｇｉｓｔｅｒＡＣＫフレームフィールド内のＤＡ（Destination Adress）は間違っていないか（ＤＡ廃棄判定）、ＤＡＴＡフィールド内の「Echoed Assigned Port, Echoed Sync Time」の値はＲｅｇｉｓｔｅｒフレーム送信時の値と同一か（エコーパラメータ判定）、Ｔｉｍｅｓｔａｍｐフィールドの値とローカルタイム値を用いて計算したＲＴＴ（Round Trip Time）にドリフトが発生していないか（ドリフトチェック判定）、などが判定される。【００２０】
これらの判定の結果、正常受信であった場合は、リンクが確立したことになるので、ＲｅｇｉｓｔｅｒＡＣＫの最大受信間隔を測定しているタイマの停止処理を行うと同時に、ＯＮＵの死活管理を行うためのタイマを起動する。一方、異常受信と判定された場合は、該当フレームの廃棄処理が行われる。【００２１】
以上の処理を鑑み、リンク制御処理回路には、種別を判定する機能（種別判定機能）、種別に応じてフィールド値や固定値を用いて計算を行い、フレーム処理を行う機能（フレーム処理機能）、時間を測定する機能（タイマ機能）、さらにＩＤごとにステートマシンを管理し、各処理ブロックを制御する機能（状態管理機能）が必要である。ＲｅｇｉｓｔｅｒＡＣＫフレームの処理例は制御フレーム処理の受信処理の一例であり、送信側の処理では、上記とは別に、制御フレームを生成する機能（フレーム生成機能）が必要となる。また、ＤＢＡを処理するための機能（帯域制御機能）も必要となる。【００２２】
図９に示すように、従来のリンク処理回路はＩＤごとに制御フレーム全体を記憶するバッファメモリを有する（特許文献１）。制御フレームの種別判定、フレーム処理、フレーム生成、および状態管理などのリンク制御処理自体は将来の拡張性を担保するために、１つのＣＰＵがＭＰＣＰ処理プログラムなどのソフトウェアに基づいて、受信フレーム記憶メモリや送信フレーム記憶メモリなどのバッファメモリを参照して、各処理を逐次的に実行する構成であった。【００２３】
次に、図１０を参照して、従来のフレーム処理の動作例について説明する。
図１０に示すように、まず、フレームを受信すると（ステップＡ１）、受信したフレームが制御フレームかの種別判定を行う（ステップＡ２）。制御フレームに該当する場合、フレーム全てをバッファメモリに蓄積する（ステップＡ３）。制御部での処理準備が完了すると、バッファメモリから制御フレームを読みだし、制御部内で再び種別判定し（ステップＡ４）、種別に応じたフレーム処理を行う（ステップＡ５）。その後、ＯＮＵへ送信する制御フレームを生成し（ステップＡ６）、送信フレーム用のバッファに蓄積した後（ステップＡ７）、フレームを送信する（ステップＡ８）。【００２４】
しかしながら、このような従来技術によれば、ＩＤ未割当の制御フレームを受信した際に、ＩＤの割当管理レジスタを参照して未使用のＩＤを割り当てる操作を行うハードウェアを持つことで、未割当ＩＤ専用のメモリを削減できるものの、基本的には１つのＣＰＵがソフトウェアに基づいて、バッファメモリを参照して各処理を逐次的に実行する構成であるため、次のような課題がある。【００２５】
まず、制御フレーム蓄積用のメモリ容量については、ＩＤ数×フレーム長までしか削減できない。また、リンク制御回路は、ＩＤごとに有する必要のない情報も重複して記憶メモリに保有しており、これは、ＩＤ数が増えれば増えるほど、回路規模を増大させる要因となる。また、ＩＤ数の増加に伴い、ソフトウェア処理の負荷が増大するため、回路全体の処理速度が低下し、所望の時間内に処理が完了できなくなる。【００２６】
このような課題を解決するためには、全ての処理部を複数のハードウェアベースにすれば良い。しかし、全てをハードウェアベースにすると、将来の拡張性を担保できなくなる。拡張性を担保するために、ＦＰＧＡのようなハードウェアを用いることもできるが、ＦＰＧＡを用いると回路規模や消費電力が爆発的に大きくなる。これは、ＦＰＧＡがビット単位で回路構成を変更できるという特徴を有しており、全てのアプリケーションに対応できる拡張性を有しているためである。以上のことから、これまで、拡張性を担保しながら小面積・リアルタイム処理を実現するリンク制御回路が実現されていなかった。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開２０１２−８０４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
本発明はこのような課題を解決するためのものであり、将来の拡張性を持たせながら、ＩＤ数増加に伴う回路規模の増加と処理速度の低下を解消できるリンク制御回路を提供することを目的としている。
【課題を解決するための手段】
【００２９】
このような目的を達成するために、本発明にかかるリンク制御回路は、複数の子局とのデータ通信を行う親局で用いられ、これら子局とのデータ通信に用いるリンクを制御するリンク制御回路であって、前記ハードウェア処理部として、前記子局から受信した上り制御フレームで通知された、前記リンクの制御に関する内容をイベントフレームで通知する上りパーサ部と、前記リンクの状態を管理するためのタイマを起動・停止し、前記タイマの満了をイベントフレームで通知するタイマ部と、前記子局へ通知する前記リンクの制御に関する内容を含む下り制御フレームを生成するフレーム生成部と、前記上りパーサ部および前記タイマ部からの前記イベントフレームに応じて前記リンクの状態を管理し、前記リンクの状態に応じて、前記タイマ部でのタイマの起動・停止をイベントフレームで指示するとともに、前記フレーム生成部での前記下り制御フレームの生成をイベントフレームで指示することにより、前記リンクの接続確立、維持、および切断を制御する状態管理部としてそれぞれ動作するように構成された複数のハードウェア処理部を備え、前記複数のハードウェア処理部は、それぞれの処理動作を記述した、外部から変更可能な内部プログラムを格納するメモリと、前記内部プログラムにしたがってそれぞれの処理動作を実行するプロセッサとを有している。
【発明の効果】
【００３０】
本発明によれば、上位ＣＰＵでこれらハードウェア処理部の内部プログラムや内部レジスタのパラメータを書き換えることにより、様々なフレーム種別判定の基準や処理内容、様々種類のタイマを実現することができる。
したがって、リンク制御回路を、リンク制御処理に特化したプログラマブルなハードウェア処理部により構成することができ、将来の拡張性を持たせながら、ＩＤ数増加に伴う回路規模の増加と処理速度の低下を解消することが可能となる。
【図面の簡単な説明】
【００３１】
【図１】図１は、第１の実施の形態にかかるリンク制御回路の構成を示すブロック図である。
【図２】図２は、第１の実施の形態にかかるフレーム処理を示すフローチャートである。
【図３】図３は、第２の実施の形態にかかるリンク制御回路の構成を示すブロック図である。
【図４】図４は、第３の実施の形態にかかるリンク制御回路の構成を示すブロック図である。
【図５】図５は、ＰＯＮシステムの構成例である。
【図６】図６は、Ｄｉｓｃｏｖｅｒｙプロセスを示すシーケンス図である。
【図７】図７は、一般的な通信処理用ＬＳＩの構成例である。
【図８】図８は、ＲｅｇｉｓｔｅｒＡＣＫフレームのフレームフォーマット（IEEE802.3av）である。
【図９】図９は、従来のリンク制御回路の構成図である。
【図１０】図１０は、従来のフレーム処理を示すフローチャートである。
【発明を実施するための形態】
【００３２】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかるリンク制御回路１０について説明する。
【００３３】
このリンク制御回路１０は、複数の子局とのデータ通信を行う親局で用いられて、複数のハードウェア処理部が動作することにより、これら子局とのデータ通信に用いるリンクを制御する機能を有している。
図１に示すように、リンク制御回路１０には、主なハードウェア処理部として、上りパーサ部１１、タイマ部１２、フレーム生成部１３、下りパーサ部１４、および状態管理部１５が設けられている。
【００３４】
本発明では、親局がＰＯＮシステムを構成するＯＬＴからなり、子局がＯＬＴに接続されているＯＮＵからなり、リンク制御回路１０が、図７で示したような接続構成で、受信処理回路、ＦＥＣ回路、暗号回路、データ処理回路、および送信処理回路とともに、通信処理用ＬＳＩ内に実装されている場合を例として説明する。
リンク制御回路１０に設けられたハードウェア処理部は、ＯＬＴがＯＮＵとのデータ通信に用いるリンクを制御するための主な機能として、次のような機能を有している。
【００３５】
上りパーサ部１１は、子局から受信した上り制御フレームで通知された、リンクの制御に関する内容をイベントフレームで通知する機能を有している。
タイマ部１２は、リンクの状態を管理するためのタイマを起動・停止し、タイマの満了をイベントフレームで通知する機能を有している。
フレーム生成部１３は、子局へ通知するリンクの制御に関する内容を含む下り制御フレームを生成して出力する機能を有している。
【００３６】
状態管理部１５は、上りパーサ部１１およびタイマ部１２からのイベントフレームに応じてリンクの状態を管理する機能と、リンクの状態に応じて、タイマ部１２でのタイマの起動・停止をイベントフレームで指示するとともに、フレーム生成部１３での下り制御フレームの生成をイベントフレームで指示する機能と、これら機能を連携させることによりリンクの接続確立、維持、および切断を制御する機能とを備えている。
【００３７】
また、下りパーサ部１４は、上位ネットワークから受信した下りフレームのうちから子局へ送信すべき下りデータフレームを選択する機能と、選択した下りデータフレームとフレーム生成部１３から出力された下り制御フレームとを多重化するマルチプレクサ（ＭＵＸ）１６へ出力する機能とを有している。
【００３８】
これらハードウェア処理部の各々は、それぞれの処理動作を記述した内部プログラムを格納する内部メモリと、処理動作で用いるパラメータを保持する内部レジスタと、内部プログラムおよびパラメータに従って、それぞれの処理動作を実行するプロセッサとを備えている。また、これら内部プログラムおよびパラメータは、例えば前述の図７で示したような、リンク制御回路１０に外部接続されている上位ＣＰＵにより変更可能なように、内部メモリおよび内部レジスタで保持されている。
【００３９】
また、ハードウェア処理部のうち、上りパーサ部１１、フレーム生成部１３、下りパーサ部１４の構成例として、特許第５９９２８４７号（特開２０１４−１６５７１４号公報）や特願２０１６−２１０２４６の構成を適用してもよい。この場合、これらハードウェア処理部は、プロセッサとして、セレクタ、ＡＬＵ（Arithmetic Logic Unit）、およびレジスタを備えている。セレクタは、入力されたフレームの種別を示すデータを抽出し、ＡＬＵは、セレクタからのデータを減算処理することによりフレーム種別を特定する。内部プログラムからセレクタおよびＡＬＵへ制御信号を出力することで、任意の箇所の抽出、任意の種類の計算が可能となる。同様の構成で、セレクタにおいてフレームデータの順番を入れ替え、レジスタで保持することができる。このため、フレームの生成も可能となる。
【００４０】
また、ハードウェア処理部のうち、タイマ部１２の構成例として、特開２０１７−０２８３８１号公報や特願２０１７−０００９７３の構成を適用してもよい。この場合、タイマ部１２は、プロセッサとして、任意の初期値から任意の粒度（精度）でカウントダウンする、ダウンカウンタを備えている。ダウンカウンタの初期値と粒度を内部プログラムから指定することで、様々な種類のタイマを実現できる。
【００４１】
また、ハードウェア処理部のうち、状態管理部１５の構成例として、特願２０１６−１３１４５３の構成を適用してもよい。この場合、状態管理部１５は、プロセッサとして、状態遷移処理に特化した命令を処理する回路と、その命令のデコーダ、および、その命令に対応するアドレスを決定する回路とを備えている。内部プログラムは、これら命令セットの組み合わせを含んでいる。内部プログラムにより、命令セットの組み合わせを変更することで、様々な種類の状態管理処理を実現する。
【００４２】
［第１の実施の形態の動作］
次に、本実施の形態にかかるリンク制御回路１０の動作について説明する。
状態管理部１５は、上りパーサ部１１、タイマ部１２、フレーム生成部１３、下りパーサ部１４の司令塔となり、子局を識別するためのＩＤごとにステートマシンを管理し、これらハードウェア処理部を制御する。
【００４３】
状態管理部１５は、これらハードウェア処理部との間で、リンクの状態変化を示すイベントや、リンク制御以外の制御フレームの終端処理に関するイベント、例えばＯＡＭ（Operation Administration and Maintenance）などの保守運用管理に関するイベントの内容を、イベントフレームにより通知する。
【００４４】
イベントフレームには、子局を識別するためのＩＤ、処理すべきステートマシンのステート番号、イベント種別を示すイベント番号、フレームの種別を示す種別情報、およびイベントの内容を示すデータ（イベントデータ）が含まれる。イベントデータとしては、例えば、ＩＤごとに有する情報などがある。状態管理部１５の内部プログラムには、イベント内容を記述し、これを後から書き換えられることにより、柔軟性を有するステートマシンとなる。
【００４５】
上りパーサ部１１は、受信したフレームの種別判定および制御フレームの終端処理を行う。タイマ部１２は、状態管理部１５からのタイマ起動・停止指示に応じてタイマが動作する。フレーム生成部１３は、状態管理部１５からの指示に応じた制御フレームを生成する。
【００４６】
下りパーサ部１４は、データ処理回路からの下りデータフレームを受信し、下りデータフレームの中に制御フレームとして処理すべきフレーム情報が入っているかの判定を行う。該当する制御フレームが含まれていた場合は、その終端処理を行い、それ以外のデータフレームはマルチプレクサ１６へ出力する。
【００４７】
上りパーサ部１１と下りパーサ部１４の内部プログラムには、フレーム種別判定の基準や処理内容を記述し、これを後から変更可能ことにより、様々な種類のフレーム判定および処理が可能となる。タイマ部１２の内部プログラムには、タイマの種別に応じた初期値、タイムアウト時間を記述し、これを後から変更することにより、様々な種類のタイマを実現できる。
【００４８】
続いて、図２を参照して、第１の実施の形態にかかる制御フレーム受信側の動作について、ＲｅｇｉｓｔｅｒＡＣＫフレームを受信した場合を例に説明する。
図２に示すように、上りパーサ部１１にＲｅｇｉｓｔｅｒＡＣＫフレームが入力されると（ステップＢ１）、ＴｙｐｅフィールドおよびＯｐｃｏｄｅフィールド内の情報を抽出し、それをもとに上りパーサ部１１は種別判定を行う（ステップＢ２）。
【００４９】
その結果、ＲｅｇｉｓｔｅｒＡＣＫフレームであることが確定すると、次に正常受信／異常受信判定を行う。具体的には、ＤＡ廃棄判定として、上りパーサ部１１内の内部レジスタに保存されている正しいＤＡ情報と入力されたＤＡ情報との比較を行う。また、ドリフトチェック判定として、Ｔｉｍｅｓｔａｍｐフィールドを抽出し、ＲＴＴを計算した上でレジスタに保存されているドリフト判定基準値との比較を行う（ステップＢ３）。ここまでの処理が、図１０におけるフレーム受信処理に該当する。
【００５０】
次に、状態管理部１５の動作について説明する。これらの判定終了後、上りパーサ部１１は状態管理部１５へのイベントフレームを生成する。イベント情報として、ＩＤ、ＭＰＣＰリンクを管理するステートマシンのステート番号、ＲｅｇｉｓｔｅｒＡＣＫ受信を示すイベント番号、ＲｅｇｉｓｔｅｒＡＣＫフレーム内の「Echoed Assigned Port, Echoed Sync Time」をイベントフレームに挿入して、状態管理部１５へ出力する。
【００５１】
上りパーサ部１１から出力されたイベントフレームを受信した状態管理部１５は、まず、ＩＤとステート番号より、状態遷移させるステートマシンを特定する。また受信した「Echoed Assigned Port, Echoed Sync Time」の値と状態管理部１５内の内部レジスタに保存されているＲｅｐｏｒｔ送信時の「Assigned Port、Sync Time」の値とを比較し、一致していた場合に正常受信と確定する。
【００５２】
正常受信と確定した場合、ＯＮＵとＯＬＴのリンクが確立したことになるので、ＭＰＣＰリンクを管理するステートマシンのステートをリンクアップ状態へと遷移させる。続いて、状態管理部１５は、タイマ部１２へ送信するイベントフレームを２種類生成する。１つは、ＲｅｇｉｓｔｅｒＡＣＫの最大受信間隔を測定しているタイマの停止処理イベントで、もう１つはＯＮＵの死活管理を行うためのタイマ起動イベントである。イベントフレーム内の情報には、ＩＤ、タイマ種別、測定時間を挿入する。
【００５３】
以上、ＲｅｇｉｓｔｅｒＡＣＫ受信時の上りパーサ部１１、状態管理部１５、およびタイマ部１２との連携動作について説明した。続いて、図２の続きに対応させて、制御フレーム送信側の上りパーサ部１１、状態管理部１５、およびフレーム生成部１３の連携動作についてＧａｔｅフレーム送信を例にして説明する。
【００５４】
リンク制御回路１０は、Ｒｅｐｏｒｔフレーム受信後（ステップＢ３）、Ｒｅｐｏｒｔフレーム内のＯＮＵの送信フレーム通知量とＤＢＡアルゴリズムを用いて、各ＯＮＵへの帯域割当て量を計算し、送信開始時間をＧａｔｅフレーム用いて通知する。本実施の形態ではＤＢＡアルゴリズムを用いた帯域計算を上りパーサ部１１で行うこととし、Ｇａｔｅフレームに挿入する送信開始時間をイベントフレームを用いて状態管理部１５へ送信するものとする。
【００５５】
上りパーサ部１１で送信開始時間を受信した状態管理部１５は、Ｇａｔｅフレーム生成指示イベントを生成し、フレーム生成部１３へ出力する。Ｇａｔｅフレーム生成指示イベントのイベントデータには、計算した送信開始時間を挿入する。フレーム生成部１３内の内部レジスタにはＩＤごとに異ならないＧａｔｅフレームの雛形が保存してあり、それとイベント内に含まれていた送信開始時間を用いて、Ｇａｔｅフレームを生成し（ステップＢ４）、外部へと出力する（ステップＢ５）。
【００５６】
［第１の実施の形態の効果］
このように、本実施の形態は、リンク制御回路１０が、子局からの上り制御フレームで通知されたリンク制御に関する内容をイベントとして出力する上りパーサ部１１と、タイマを起動・停止し、タイマの満了に応じてリンクに関するイベントを出力するタイマ部１２と、子局へ通知するリンク制御内容を含む下り制御フレームを生成するフレーム生成部１３と、上りパーサ部１１およびタイマ部１２からのイベントに応じてリンク状態を管理し、リンク状態に応じてタイマ部１２でのタイマ起動・停止、フレーム生成部１３での下り制御フレーム生成を指示することにより、リンクの接続確立、維持、および切断を制御する状態管理部１５としてそれぞれ動作するように構成された複数のハードウェア処理部を備えている。
【００５７】
これに加えて、これらハードウェア処理部が、それぞれの処理動作を記述した、外部から変更可能な前記内部プログラムを格納するメモリと、前記内部プログラムにしたがってそれぞれの処理動作を実行するプロセッサとを有しているものである。
より具体的には、ハードウェア処理部が、前記内部プログラムと、それぞれが保持する内部レジスタに保存されている、外部から変更可能なパラメータとにしたがって、それぞれの処理動作を実行するようにしたものである。
【００５８】
これにより、上位ＣＰＵでこれらハードウェア処理部の内部プログラムや内部レジスタのパラメータを書き換えることにより、様々なフレーム種別判定の基準や処理内容、様々種類のタイマを実現することができる。
したがって、リンク制御回路１０を、リンク制御処理に特化したプログラマブルなハードウェア処理部により構成することができ、将来の拡張性を持たせながら、ＩＤ数増加に伴う回路規模の増加と処理速度の低下を解消することが可能となる。
【００５９】
また、本実施の形態によれば、各ハードウェア処理部がイベントフレームを出力する際、処理動作の対象となる子局を識別するためのＩＤをイベントフレームに付与して出力するようにしてもよく、さらには、処理動作の対象となる上り制御フレームまたは下り制御フレームのフレーム種別を識別するための種別情報をイベントフレームに付与して出力するようにしてもよい。
【００６０】
これにより、リンク制御処理に関し、ＩＤごとに持つべき情報はＩＤ数分有し、フレーム種別ごとに持つべき情報はＩＤ共通で１つ有する構成とすることができる。したがって、従来の処理フローで必要だったフレーム蓄積やフレーム転送・フレーム種別判定を行う必要が無くなるため、回路規模を削減することが可能となる。
また、全処理を処理速度差の異なる処理部で実行するのではなく、同一の処理速度を有するハードウェア処理部で分散させて処理させることで、ＩＤ数が増加しても、各ハードウェア処理部の処理能力差がなくなるため、高速に処理することができる。
【００６１】
また、本実施の形態において、ハードウェア処理部として、入力された下りフレームのうちから子局へ送信すべき下りデータフレームを選択し、下りデータフレームとフレーム生成部１３から出力された下り制御フレームとを多重化するマルチプレクサへ出力する下りパーサ部１４をさらに備えてもよい。
これにより、上りフレームに含まれる制御フレームのフレーム判定だけでなく、下りデータフレームに含まれる制御フレームのフレーム判定についても、ハードウェア処理部を用いて、将来の拡張性を持たせながら、ＩＤ数増加に伴う回路規模の増加と処理速度の低下を解消することが可能となる。
【００６２】
［第２の実施の形態］
次に、図３を参照して、本発明の第２の実施の形態にかかるリンク制御回路１０について説明する。
第１の実施の形態では、ハードウェア処理部ごとに内部レジスタを持つ場合を例として説明した。本実施の形態では、図３に示すように、これら内部レジスタに代えて、各ハードウェア処理部からアクセス可能な共用レジスタを設けた場合について説明する。
【００６３】
本実施の形態において、共用レジスタ部１７は、各ハードウェア処理部が共用する複数の共用レジスタを有し、各ハードウェア処理部は、内部プログラムと、共用レジスタ部１７の対応する共用レジスタに保存されている、外部から変更可能なパラメータとにしたがって、それぞれの処理動作を実行する。
この際、共用レジスタ部１７にはＩＤごとに異なる情報を保存しておき、各ハードウェア処理部では、ＩＤをアドレスとして共用レジスタのデータをリード／ライトする。
【００６４】
［第２の実施の形態の効果］
このように、本実施の形態は、リンク制御回路１０に、各ハードウェア処理部が共用する複数の共用レジスタを有する共用レジスタ部１７をさらに備え、各ハードウェア処理部は、自己の内部プログラムと、共用レジスタ部１７の対応する共用レジスタに保存されている、外部から変更可能なパラメータとにしたがって、それぞれの処理動作を実行するようにしたものである。
【００６５】
これにより、ＩＤごとに異なる情報をどの処理部からもアクセス可能となるため、状態管理部１５以外の処理部ではその情報を用いた処理のバリエーションが増える。これにより状態管理部１５と各処理部の間は、より簡潔なイベントを送受信ができるようになり、状態管理部１５の負荷を分散させることが可能となる。
【００６６】
［第３の実施の形態］
次に、図４を参照して、本発明の第３の実施の形態にかかるリンク制御回路１０について説明する。
【００６７】
第１および第２の実施の形態では、帯域計算を上りパーサ部１１で行うと説明したが、これに限定することはない。第３の実施の形態では、図４に示すように、専用のハードウェアアクセラレータ（ＨＷＡ）部１８を設け、イベントフレームを用いてＲｅｐｏｒｔフレームの帯域計算に用いるデータ部分をハードウェアアクセラレータ部１８へ通知して、ハードウェアアクセラレータ部１８でＤＢＡアルゴリズムを用いた帯域計算を実行させている。
【００６８】
［第３の実施の形態の効果］
このように、本実施の形態は、リンク制御回路１０のハードウェア処理部として、上りパーサ部１１における上り制御フレームに対するフレーム処理を高速で実行するハードウェアアクセラレータ部１８をさらに備えるようにしたものである。これにより、他のハードウェア処理部と比較して処理負担が高くなりやすい上りパーサ部１１における処理負担を軽減できる。したがって、他のハードウェア処理部との処理速度差を縮小することができ、リンク制御回路１０全体の高速動作を実現できる。
【００６９】
なお、ハードウェアアクセラレータ部１８は、このような帯域割当て計算ではなく、他の用途に使用しても良い。例えば、ＲｅｇｉｓｔｅｒＲｅｑｕｅｓｔ受信の際のＳＡが登録済かどうかを検索するハードウェアとして用いても良い。また、ハードウェアアクセラレータ部１８は、１つの用途だけでなく複数の用途に使用しても良い。
【００７０】
なお、上りパーサ部１１が、イベントフレームを用いてＲｅｐｏｒｔフレームの帯域計算に用いるデータ部分を状態管理部１５へ通知して、状態管理部１５でＤＢＡアルゴリズムを用いた帯域計算を実行させてもよい。
【００７１】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
【符号の説明】
【００７２】
１０…リンク制御回路、１１…上りパーサ部、１２…タイマ部、１３…フレーム生成部、１４…下りパーサ部、１５…状態管理部、１６…マルチプレクサ、１７…共用レジスタ部、１８…ハードウェアアクセラレータ部。
【図１】
2018016469.tif 000003
【図２】
2018016469.tif 000004
【図３】
2018016469.tif 000005
【図４】
2018016469.tif 000006
【図５】
2018016469.tif 000007
【図６】
2018016469.tif 000008
【図７】
2018016469.tif 000009
【図８】
2018016469.tif 000010
【図９】
2018016469.tif 000011
【図１０】
2018016469.tif 000012
【国際調査報告】
2018016469.tif 000013
2018016469.tif 000014
2018016469.tif 000015