図1は、伝送装置の一例を示す構成図である。伝送装置は、ネットワークインターフェース(INF)部80と、スイッチ部81と、複数のクライアントインターフェース(INF)部82とを有する。なお、伝送装置は、一例としてITU−T勧告G.709に規定された技術に基づき信号伝送を行うが、これに限定されない。
ネットワークINF部80、スイッチ部81、及び複数のクライアントINF部82は、例えば電子部品などが実装された回路基板であり、伝送装置の筐体に設けられたスロットにそれぞれ収容される。ネットワークINF部80は、光ファイバなどの伝送路90,91を介して他の伝送装置との間で光信号を送受信する。クライアントINF部82は、端末装置との間でクライアント信号を送受信する。
スイッチ部81は、光ファイバなどの装置内伝送路を介しネットワークINF部80及び複数のクライアントINF部82とそれぞれ接続されている。スイッチ部81は、ネットワークINF部80及び複数のクライアントINF部82の間で、クライアント信号を交換する。このため、クライアント信号は、ネットワークINF部80からスイッチ部81に入力され、その宛先に応じたクライアントINF部82に出力される。
ネットワークINF部80は、光送受信器800,802と、FPGA801と、CPLD(Complex Programmable Logic Device)803と、CPU(Central Processing Unit)804とを有する。光送受信器800は、LD(Laser Diode)やPD(Photo Detector)などを含み、伝送路90,91を介して他の伝送装置と接続されている。光送受信器800は、伝送路90から入力された光信号を電気信号に変換してFPGA801に出力し、FPGA801から入力されたクライアント信号を光信号に変換し、伝送路91を介して他の伝送装置に送信する。
また、光送受信器802は、LDやPDなどを含み、装置内伝送路を介してスイッチ部81に接続されている。光送受信器802は、スイッチ部81から入力されたクライアント信号を電気信号に変換してFPGA801に出力し、FPGA801から入力されたクライアント信号を光信号に変換してスイッチ部81に出力する。
FPGA801は、コンフィグレーションデータに基づき内部の回路を自在に構成可能なデバイスである。FPGA801は、Serdes部83,87と、データ変換部84,86と、フレーム処理部85とを有する。CPLD803及びCPU804は、Serdes部83,87、データ変換部84,86、及びフレーム処理部85に対して各種の設定や制御を行う。
Serdes部83は、入力されたクライアント信号SのデータをシリアルデータからパラレルデータDTに変換して、クロック信号CLKとともにデータ変換部84に出力する。本例において、クライアント信号Sは100(Gbps)のCBR(Constant Bit Rate)のものであり、パラレルデータDTの本数は640であり、クロック信号CLKの周波数は174(MHz)であるとするが、これに限定されない。なお、Serdes部83及びデータ変換部84の間、及びSerdes部87及びデータ変換部86の間は、それぞれ、OTL(Optical channel Transport Lane)4.10と呼ばれる伝送レーンで接続されている。
データ変換部84は、クライアント信号をOTUフレームのフォーマットに変換して、パラレルデータDTとしてフレーム処理部85に出力する。なお、クロック信号CLKは、Serdes部83,87、データ変換部84,86、及びフレーム処理部85を順次に伝送される。このため、Serdes部83,87、データ変換部84,86、及びフレーム処理部85は同期して信号処理を行う。
図2は、OTUフレームの一例を示すフレーム構成図である。OTUフレームは、オーバーヘッド、ペイロード、及びFEC(Forward Error Correction)をそれぞれ格納する3つの領域を有する。本例では、フレーム信号のフォーマットとして、ITU−T勧告G.709に規定されたOTUフレームを挙げるが、これに限定されることはなく、他形式のフレームを採用してもよい。なお、図2中の「OH」は、オーバーヘッドを表す。
オーバーヘッド領域は、FAS(Frame Alignment Signal)オーバーヘッド、OTUオーバーヘッド、ODU(Optical Data Unit)オーバーヘッド、及びOPU(Optical channel Payload Unit)オーバーヘッドを含む。各オーバーヘッドは、各種の制御情報を含む。また、ペイロード領域は、論理チャネルである1以上のTS(Tributary Slot)(図示せず)が設けられ、TSごとにクライアント信号を収容する。
FEC領域には、オーバーヘッド領域及びペイロード領域のデータ誤りの訂正符号が収容される。OTUフレーム内のデータの位置は、カラム(「Column」参照)及びロウ(「Row」参照)により特定される。なお、1つのカラムには、1(Byte)のデータが含まれる。
再び図1を参照すると、フレーム処理部85は、OTUフレームに対して各種の処理を行う。フレーム処理部85は、OTUフレームを処理した後、OTUフレームをパラレルデータDTとしてデータ変換部86に出力する。なお、OTUフレームはフレーム信号の一例である。
データ変換部86は、OTUフレームをクライアント信号に変換して、パラレルデータDTとしてSerdes部87に出力する。Serdes部87は、クライアント信号SのデータをパラレルデータDTからシリアルデータに変換して出力する。
図3は、比較例のフレーム処理部85を示す構成図である。フレーム処理部85は、同期検出部10aと、FEC処理部11aと、制御信号処理部12aと、OH信号処理部13aとを有する。
同期検出部10aは、符号10xで示されるように、OTUフレームの同期処理を行うことによりフレームパルスFPを生成する。フレームパルスFPは、OTUフレームに同期したパルス信号の一例であり、OTUフレームの先頭を示す。フレームパルスFP及びパラレルデータDTは、FEC処理部11a、制御信号処理部12a、及びOH信号処理部13aに順次に伝送される。
FEC処理部11aは、OTUフレームのFECに関する処理を行う。制御信号処理部12aは、OTUフレームのAIS信号などの制御信号に関する処理を行う。オーバーヘッド(OH)処理部13aは、OTUフレームのオーバーヘッドに関する処理を行う。
同期検出部10a、FEC処理部11a、制御信号処理部12a、及びOH信号処理部13aの間のインターフェースは、フレームパルスFP及びパラレルデータDTから構成されるために共通し、各々の処理は各部10a〜13a内で完結する。このため、フレーム処理部85は、新たな機能部14a(点線参照)の追加や不要な機能部14aの削除が容易であり、設計変更が容易である。
しかし、FEC処理部11a、制御信号処理部12a、及びOH信号処理部13aは、それぞれ、以下の信号処理回路に構成されるため、回路規模が大きい。
図4は、比較例の信号処理回路を示す構成図である。FEC処理部11a、制御信号処理部12a、及びOH信号処理部13aは、複数の信号処理回路(#1,#2,・・・#N(N:正の整数))2aと、再生回路7とを有する。複数の信号処理回路2aは、直列に接続されており、複数の信号処理回路2aには、それぞれ、フレームパルスFP及びクロック信号CLKが入力される。
各信号処理回路2aは、カラムカウンタ20と、ロウカウンタ21と、デコーダ22と、データ処理部23とを有する。カラムカウンタ20は、フレームパルスFPに基づき、クロック信号CLKに従ってOTUフレームのカラム(図2の「Column」参照)を計数する。ロウカウンタ21は、カラムカウンタ20の計数値Ncに基づきセットされ、クロック信号CLKに従ってOTUフレームのロウ(図2の「Row」参照)を計数する。
デコーダ22は、カラムカウンタ20の計数値Nc及びロウカウンタ21の計数値Nrがそれぞれ所定値になったとき、データ処理部23にパラレルデータDTの処理を指示する。つまり、デコーダ22は、カラムカウンタ20の計数値Nc及びロウカウンタ21の計数値Nrに基づき、パラレルデータDTの処理のタイミングを検出する。データ処理部23は、パラレルデータDTに所定の処理を行った後、パラレルデータDTを後段の信号処理回路2aに出力する。
また、前段の信号処理回路2aから後段の信号処理回路2aには、データ処理部23の処理の遅延時間を示す遅延情報Kaが通知される。カラムカウンタ20及びロウカウンタ21は、データ処理部23における処理タイミングを補正するため、遅延情報Kaに応じ、計数値Nc,Nrの初期値(つまり、ロード時の値)を調整する。なお、再生回路7は、全ての信号処理回路2aにおける遅延時間に基づき、フレームパルスFPを再生する。
図5は比較例の信号処理回路2aのタイムチャートである。図5には、フレームパルスFP、クロック信号CLK、前段の信号処理回路(#1)2a及び後段の信号処理回路(#2)2aのカラムカウンタ20及びロウカウンタ21の計数値Nc,Nr、及び入出力されるOTUフレームのデータD1〜D204が示されている。なお、データD1〜D204は、80(Byte)ずつのパラレルデータDTを表す。
信号処理回路(#1)2a及び信号処理回路(#2)2aは、それぞれ、個別のタイミングでOTUフレームに対して個別の信号処理を行う。例えば、信号処理回路(#1)2aは、入力されたOTUフレームのパラレルデータDTのうち、カラム「0」のロウ「0」の位置のデータD1を処理する。このため、信号処理回路(#1)2aは、カラムカウンタ20の計数値Nc=0及びロウカウンタ21の計数値Nr=0となるタイミングT1をデコーダ22により検出して、データ処理部23によりデータD1を処理する。なお、タイミングT1は、フレームパルスFPの示すタイミングに一致する。
また、例えば、信号処理回路(#2)2aは、入力されたOTUフレームのパラレルデータDTのうち、カラム「240」のロウ「0」の位置のデータD4を処理する。しかし、前段の信号処理回路(#1)2aから出力されるパラレルデータDTの先頭データD1は、データ処理部23の処理の遅延時間のため、フレームパルスFPに対してクロック信号CLKの1クロック分だけ遅延している。
このため、信号処理回路(#2)2aは、前段の信号処理回路(#1)2aから、1クロックの遅延時間を示す遅延情報Kaの通知を受け、遅延情報Kaに基づきカラムカウンタ20及びロウカウンタ21の計数値Nc,Nrの初期値を調整する。これにより、フレームパルスFPの示すタイミングT2において、カラムカウンタ20は計数値Nc=4000にロードし、ロウカウンタ21は計数値Nr=3にロードする。信号処理回路(#2)2aは、カラムカウンタ20の計数値Nc=240及びロウカウンタ21の計数値Nr=0となるタイミングT3をデコーダ22により検出して、データ処理部23によりデータD4を処理する。
このように、信号処理回路2aは、カラムカウンタ20、ロウカウンタ21、及びデコーダ22を有するため、信号処理回路2aを構成するためには、パラレルデータDTの数が多いほど、多くのFF及びLUTを備えたFPGA801が必要となる。さらに、FPGA801内の各信号処理回路2aの配置が密集することにより、回路内のタイミングを調整するためのFF及びLUTも必要となる。例えば、カラムカウンタ20、ロウカウンタ21、デコーダ22、及びデータ処理部23は複製され、複製元とは異なる位置に配置される。このため、信号処理回路2aの規模が増加して、大容量のFPGA801が必要となり、装置コストが増加する
そこで、実施例では、OTUフレームに同期したフレームパルスFPからシフトレジスタ回路により複数のタイミングパルスを生成し、複数の信号処理回路2aが、個別のタイミングパルスから検出したタイミングでOTUフレームのパラレルデータDTを処理することで、回路規模を低減する。
図6は、実施例のフレーム処理部を示す構成図である。フレーム処理部85は、シフトレジスタ回路3と、同期検出部10と、FEC処理部11と、制御信号処理部12と、OH信号処理部13とを有する。なお、同期検出部10、FEC処理部11、制御信号処理部12、及びOH信号処理部13は、図3の同期検出部10a、FEC処理部11a、制御信号処理部12a、OH信号処理部13aとそれぞれ同一の信号処理を行う。
同期検出部10は、OTUフレームの同期処理を行うことによりフレームパルスFPを生成して、シフトレジスタ回路3に出力する。シフトレジスタ回路3は、フレームパルスFPから互いに異なるタイミングを示す複数のタイミングパルスTP[0]〜TP[203]を生成する。
符号10yは、シフトレジスタ回路3において生成されたタイミングパルスTP[0]〜TP[203]のタイムチャートが示されている。タイミングパルスTP[0]〜TP[203]は、クロック信号CLKの1クロック分だけ互いにずれている。タイミングパルスTP[0]は、フレームパルスFPと一致し、OTUフレームの先頭を示す。また、タイミングパルスTP[203]はOTUフレームの最後尾を示す。なお、タイミングパルスTP[0]〜[203]の幅は、それぞれ、クロック信号CLKの1クロック幅に相当する。また、タイミングパルスTP[0]〜[203]の個数(204)は、一例として、OTU4フレームのパラレルデータDTの長さ(204クロック分)に基づき決定される。
タイミングパルスTP[0]〜TP[203]は、FEC処理部11、制御信号処理部12、及びOH信号処理部13に入力される。FEC処理部11、制御信号処理部12、及びOH信号処理部13は、タイミングパルスTP[0]〜TP[203]によりパラレルデータDTの処理のタイミングを検出する。
また、OTUフレームのパラレルデータDTとタイミングパルスTP[0]〜TP[203]の時間軸上の位置関係は、パラレルデータDTの処理の遅延時間のために一定ではない。このため、同期検出部10、FEC処理部11、制御信号処理部12、及びOH信号処理部13の間には、各処理の遅延時間を示す遅延情報Kが順次に伝送される。
FEC処理部11、制御信号処理部12、及びOH信号処理部13は、遅延情報Kに基づき、タイミング検出のためのタイミングパルスTP[0]〜TP[203]を選択する。これにより、FEC処理部11、制御信号処理部12、及びOH信号処理部13における信号処理のタイミングのずれが補正される。
また、同期検出部10、FEC処理部11、制御信号処理部12、及びOH信号処理部13の間のインターフェースは、遅延情報K及びパラレルデータDTから構成されるために共通し、各々の処理は各部10〜13内で完結する。このため、フレーム処理部85は、新たな機能部14(点線参照)の追加や不要な機能部14の削除が容易であり、設計変更が容易である。
図7は、実施例の信号処理回路を示す構成図である。FEC処理部11、制御信号処理部12、及びOH信号処理部13は、複数の信号処理回路(#1,#2,・・・#N)2を有する。複数の信号処理回路2は、互いに直列に接続されており、複数の信号処理回路2には、それぞれ、タイミングパルスTP[0]〜TP[203]及びクロック信号CLKが入力される。
複数の信号処理回路(#1〜#N)2は、タイミングパルスTP[0]〜TP[203]のうち、1以上のタイミングパルスが示すタイミングに基づきOTUフレームを順次に処理する。このため、複数の信号処理回路2は、比較例の信号処理回路2aとは異なり、多くのFF及びLUTを消費するカラムカウンタ20及びロウカウンタ21を用いずにOTUフレームの処理のタイミングを検出できる。したがって、FPGA801の回路規模が低減される。
各信号処理回路2は、タイミング検出部24と、遅延加算部25と、データ処理部26とを有し、クロック信号CLKに従って動作する。タイミング検出部24は、タイミングパルスTP[0]〜TP[203]からパラレルデータDTの処理のタイミングを検出して、データ処理部26に通知する。データ処理部26は、前段の信号処理回路2から入力されたパラレルデータDTを処理して後段の信号処理回路2に出力する。
また、前段の信号処理回路2は、後段の信号処理回路2に、データ処理部26の処理の遅延時間を示す遅延情報Kを通知する。後段の信号処理回路2は、遅延情報Kに応じてタイミングパルスTP[0]〜TP[203]から1以上のタイミングパルスを選択し、選択したタイミングパルスが示すタイミングに基づきOTUフレームを処理する。
例えば、信号処理回路(#2)2のタイミング検出部24は、前段の信号処理回路(#1)2から遅延情報Kの通知を受ける。遅延情報Kは、前段の信号処理回路(#1)2のデータ処理部26における処理の遅延時間を、例えばクロック信号CLKのクロック単位で示す。
信号処理回路(#2)2のタイミング検出部24は、遅延情報K=0の場合、タイミングパルスTP[2]に基づきタイミングを検出し、遅延情報K=1の場合、タイミングパルスTP[3](=TP[2+1])に基づきタイミングを検出する。これにより、各信号処理回路2における信号処理のタイミングのずれが補正される。
各信号処理回路2は、前段の信号処理回路2から通知された遅延情報Kの遅延時間に、データ処理部26のOTUフレームの処理の遅延時間を加算して、後段の信号処理回路2に通知する。より具体的には、遅延加算部25は、前段の信号処理回路2から入力された遅延情報Kが示す遅延時間に、データ処理部26の遅延時間を加算して、その加算値を示す遅延情報Kを後段の信号処理回路2に出力する。
このため、遅延情報Kは各信号処理回路2の遅延時間の累積値を示し、各信号処理回路2は、前段の信号処理回路2の全てにおける信号処理のタイミングのずれを補正することができる。なお、遅延加算部25は、加算する遅延時間を予め設定されている。
図8は実施例の信号処理回路2のタイムチャートである。図8には、フレームパルスFP、クロック信号CLK、タイミングパルスTP[0]〜[3](TP[4]以下は略)、及び前段の信号処理回路(#1)2及び後段の信号処理回路(#2)2の入出力されるOTUフレームのデータD1〜D204が示されている。
信号処理回路(#1)2及び信号処理回路(#2)2は、それぞれ、個別のタイミングでOTUフレームに対して個別の信号処理を行う。例えば、信号処理回路(#1)2は、入力されたOTUフレームのパラレルデータDTのうち、先頭データD1を処理する。このため、信号処理回路(#1)2は、タイミングパルスTP[0](フレームパルスFP)の示すタイミングT4をタイミング検出部24により検出して、データ処理部26によりデータD1を処理する。
また、例えば、信号処理回路(#2)2は、入力されたOTUフレームのパラレルデータDTのうち、データD3を処理する。しかし、前段の信号処理回路(#1)2から出力されるパラレルデータDTの先頭データD1は、データ処理部26の処理の遅延時間のため、フレームパルスFPに対してクロック信号CLKの1クロック分だけ遅延している。
このため、信号処理回路(#2)2のタイミング検出部24は、前段の信号処理回路(#1)2から、1クロックの遅延時間を示す遅延情報K(=1)の通知を受け、遅延情報Kに基づきタイミングパルスTP[3](=TP[2+1])を選択する。このため、タイミング検出部24は、タイミングパルスTP[2]が示すタイミングT6ではなく、タイミングパルスTP[3]が示すタイミングT5を検出し、データ処理部26は、タイミングT5でデータD3を処理する。これにより、信号処理回路(#2)2における信号処理のタイミングのずれが補正される。
(OTU4のAIS信号の生成処理)
次に、信号処理回路2の処理の例として、OTU4のAIS信号の生成処理を挙げて説明する。AIS信号は、下流の伝送装置に対して警報の発生を通知するものであり、OTU4フレーム内の所定領域のデータを「1」に変換することにより生成される。
図9及び図10には、OTU4フレームのAIS信号の変換対象のデータ領域P1〜P4を示す。C1〜C4、PD、ST、及びFCは、図2に示されたOTUフレーム内のデータの種類を示す。C1はFASオーバーヘッドのデータを示し、C2はOTUオーバーヘッドのデータを示す。C3はODUオーバーヘッドのデータを示し、C4はOPUオーバーヘッドのデータを示す。
また、PDはペイロード領域のデータを示し、FCはFEC領域のデータを示す。STはスタッフバイトのデータを示す。「Column No.」及び「Row No.」は、図2の「Column」及び「Row」をそれぞれ示す。「TP」は、該当データを検出するタイミングパルスTP[0]〜TP[203]の識別番号(0〜203)を示す。「Byte」及び「Bit」は、パラレルデータDTのバイト及びビットの位置をそれぞれ示す。
例えば、FASオーバーヘッドのデータC1は、OTU4フレームのカラム「1」〜「7」のロウ「0」に位置し、パラレルデータDTの1〜7バイト目(584〜639ビット目)に収容される。FASオーバーヘッドのデータC1は、処理の遅延時間がない場合、タイミングパルスTP[0]のタイミングで検出される。
また、ODUオーバーヘッドのデータC3は、OTU4フレームのカラム「1」〜「14」のロウ「2」〜「4」にそれぞれ位置し、パラレルデータDTの1〜14バイト目(528〜639ビット目)に収容される。ODUオーバーヘッドのデータC3は、処理の遅延時間がない場合、タイミングパルスTP[51]、TP[102]、TP[153]のタイミングでそれぞれ検出される。
点線の枠で囲まれたデータ領域P1〜P4は、信号処理回路2がAll「1」に変換する対象領域である。本例の信号処理回路2は、変換対象のデータ領域P1〜P4が変換対象外のデータ領域より広いため、タイミングパルスTPにより変換対象外のデータ領域を検出し、その検出がないときのデータを変換対象のデータ領域P1〜P4と判別してAll「1」に変換する。なお、信号処理回路2は、上記の方法に限定されず、タイミングパルスTPc、TPfにより変換対象のデータ領域P1〜P4を検出し、All「1」に変換してもよい。
信号処理回路2は、変換対象のデータ領域P1〜P4に合わせて、パラレルデータDTの0〜639ビットを、4つのデータ群A〜Dに分けて変換する。データ群AにはパラレルデータDTの536〜639ビットが含まれ、データ群BにはパラレルデータDTの528〜535ビットが含まれる。データ群CにはパラレルデータDTの128〜527ビットが含まれ、データ群DにはパラレルデータDTの0〜127ビットが含まれる。
図11は、変換処理を行う信号処理回路2の一例を示す回路図である。信号処理回路2は、TP選択部201〜204と、OR回路205〜208と、セレクタ(SEL)221〜224と、FF225〜228とを有する。TP選択部201〜204及びOR回路205〜208は図7のタイミング検出部24に対応し、セレクタ221〜224及びFF225〜228は図7のデータ処理部26に対応する。
TP選択部201、OR回路205、セレクタ221、及びFF225はデータ群Aの変換処理を行い、TP選択部202、OR回路206、セレクタ222、及びFF226はデータ群Bの変換処理を行う。また、TP選択部203、OR回路207、セレクタ223、及びFF227はデータ群Cの変換処理を行い、TP選択部204、OR回路208、セレクタ224、及びFF228はデータ群Dの変換処理を行う。
TP選択部201〜204には、シフトレジスタ回路3からタイミングパルスTP[0]〜[203]が入力され、前段の信号処理回路2から遅延情報Kが入力される。TP選択部201〜204は、データ群A〜Dの変換対象外のデータ領域に対応するタイミングパルスTP[0]〜[203]から、遅延情報Kに基づきタイミングパルスTP[0]〜[203]を選択する。
例えば、TP選択部201は、タイミングパルス[0]〜[203]から、TPデータ群Aの変換対象外のデータ領域に対応するタイミングパルスTP[0]、TP[48]〜[50]、TP[99]〜[101]、TP[150]〜[152]、TP[201]〜[203](図9及び図10参照)を取得する。TP選択部201は、取得したタイミングパルスTPから、遅延情報K(=2)に基づきタイミングパルスTP[2]、TP[50]〜[52]、TP[101]〜[103]、TP[152]〜[154]、TP[203]、TP[0]、TP[1]を選択する。
例えば、TP選択部201は、取得したタイミングパルスTP[0]をタイミングパルスTP[2](=TP[0+2])に変更し、取得したタイミングパルスTP[48]〜[50]をタイミングパルスTP[50]〜[52](=TP[48+2]〜[50+2])にそれぞれ変更する。また、TP選択部201は、取得したタイミングパルスTP[201]〜[203]をタイミングパルスTP[203]、TP[0]、TP[1](=TP[201+2]、TP[202→0]、TP[203→1])にそれぞれ変更する。
これにより、信号処理回路2における信号処理のタイミングのずれが補正される。なお、他のTP選択部202〜204も、データ群B〜Dについて、TP選択部201と同様の手法でタイミングパルスTPを選択する。
OR回路205〜208には、TP選択部201〜204が選択したタイミングパルスTPが入力される。OR回路205〜208は、入力された各タイミングパルスTPの論理和(OR)を演算して、演算値をセレクタ221〜224に出力する。
つまり、OR回路205〜208は、入力された各タイミングパルスTPの何れかが示すタイミングを検出したとき、「1」をセレクタ221〜224に出力する。このため、OR回路205〜208の出力する演算値が「1」であるとき、データ群A〜Dの変換対象外のデータ領域が検出される。逆に、OR回路205〜208の出力する演算値が「0」であるとき、データ群A〜Dの変換対象のデータ領域P1〜P4が検出される。
セレクタ221〜224には、データ群A〜DのパラレルデータDTと、All「1」のデータと、OR回路205〜208の演算値が入力される。セレクタ221〜224は、OR回路205〜208の演算値「0」,「1」に応じて、パラレルデータDTとAll「1」のデータの一方を選択してFF225〜228に出力する。
セレクタ221〜224は、OR回路205〜208の演算値が「1」である場合、パラレルデータDTを選択してFF225〜228に出力する。また、セレクタ221〜224は、OR回路205〜208の演算値が「0」である場合、All「1」のデータを選択してFF225〜228に出力する。これにより、演算値が「0」である場合、変換対象のデータ領域P1〜P4がAll「1」に変換されて出力され、演算値が「1」である場合、変換対象外のデータ領域が変換されずに出力される。
FF225〜228には、クロック信号CLKと、セレクタ221〜224からのパラレルデータDTが入力される。FF225〜228は、入力されたパラレルデータDTを保持し、クロック信号CLKのエッジ入力に応じて、後段の信号処理回路2に出力する。このため、パラレルデータDTは、FF225〜228で保持されることにより、タイミングパルスTP[0]〜[203]に対してクロック信号CLKの1クロック分だけ遅延する。
遅延加算部25は、FF225〜228における遅延時間を、遅延情報Kの遅延時間に加算する。このため、遅延加算部25は、遅延情報K=2に1クロックを加えて、遅延情報K=3として後段の信号処理回路2に出力する。このため、各信号処理回路2は、遅延時間の累積値に基づきタイミングパルスTPを選択することができる。
図12は、変換処理を行う信号処理回路2のタイムチャートの一例である。図12には、クロック信号CLKと、タイミングパルスTP[0]〜[3](TP[4]以下は略)と、図11の信号処理回路2に入出力されるOTUフレームのデータD1〜D204及び遅延情報Kとが示されている。
信号処理回路2に入力される先頭データD1は、タイミングパルスTP[0](フレームパルスFP)の示すタイミングT7に対して2クロック分だけ遅延している。このため、信号処理回路2は、遅延情報K=2に基づき、タイミングパルスTP[0]より2クロック分遅いタイミングパルスTP[2]の示すタイミングT8で先頭データD1を検出する。また、信号処理回路2は、遅延情報K=2に基づき、タイミングパルスTP[203]より2クロック分遅いタイミングパルスTP[1]の示すタイミングT9で最後尾データD204を検出する。
(OTU1のAIS信号の生成処理)
次に、信号処理回路2の処理の例として、OTU1のAIS信号の生成処理を挙げて説明する。AIS信号は、OTU1フレーム内の所定領域のデータを「1」に変換することにより生成される。
OTU1フレームのパラレルデータDTの幅は、OTU4フレームより狭く、16(Bit)である。また、OTU1フレームのパラレルデータDTの長さは、OTU4フレームより長く、8160クロック分である。このため、OTU1フレームの場合のように、シフトレジスタ回路3だけでタイミングを検出する場合、シフトレジスタ回路3を構成するために多数のFFが必要となる。
そこで、本例では、シフトレジスタ回路とカウンタを併用することにより、FPGA801の回路規模を抑える。より具体的には、各信号処理回路2により共用されるカラムカウンタ回路及びロウカウンタ回路と、オーバーヘッド領域の処理用のタイミングパルスを生成するシフトレジスタ回路と、FEC領域の処理用のタイミングパルスを生成するシフトレジスタ回路とが用いられる。なお、回路構成については、図15を参照して後述する。
図13及び図14には、OTU1フレームのAIS信号の変換対象のデータ領域P11〜P14が示されている。図13及び図14において、図9及び図10と共通する項目については同様の名称を付し、その説明を省略する。
OHは、図2に示されたOTUフレーム内のオーバーヘッド領域のデータを示す。「カラムカウンタ値」及び「ロウカウンタ値」は、カラムカウンタの計数値及びロウカウンタの計数値をそれぞれ示す。「TPc」は、オーバーヘッド領域のデータ処理のタイミングを示すタイミングパルスTPc[0]〜[Lc]の識別番号0〜Lcを示し、「TPf」は、FEC領域のデータ処理のタイミングを示すタイミングパルスTPf[0]〜[Lf]の識別番号0〜Lfを示す。なお、Lc,Lfは、遅延情報Kにより決定される。
タイミングパルスTPc[0]〜[Lc]は、カラムカウンタ値が2039 を示したときに動作を開始し、オーバーヘッド領域のデータOHの処理のタイミングを示す。また、タイミングパルスTPf[0]〜[Lf]は、カラムカウンタ値が1911を示したときに動作を開始し、FEC領域のデータFCの処理のタイミングを示す。信号処理回路2は、ロウカウンタ値、タイミングパルスTPc[0]〜[Lc]、及びタイミングパルスTPf[0]〜[Lf]から、パラレルデータDTの処理のタイミングを検出する。
信号処理回路2は、変換対象のデータ領域P11〜P14に合わせて、パラレルデータDTの0〜15ビットを、2つのデータ群A,Bに分けて変換する。データ群AにはパラレルデータDTの8〜15ビットが含まれ、データ群BにはパラレルデータDTの0〜7ビットが含まれる。
なお、本例の信号処理回路2も、変換対象のデータ領域P11〜P14が変換対象外のデータ領域より広いため、タイミングパルスTPc、TPfにより変換対象外のデータ領域を検出し、その検出がないときのデータを変換対象のデータ領域P11〜P14と判別してAll「1」に変換する。しかし、信号処理回路2は、上記の方法に限定されず、タイミングパルスTPc、TPfにより変換対象のデータ領域P11〜P14を検出し、All「1」に変換してもよい。
図15は、変換処理を行う信号処理回路2の他例を示す回路図である。図15には、信号処理回路2に接続されたカラムカウンタ回路40、ロウカウンタ回路41、シフトレジスタ回路30,31、及びデコーダ51〜53も示されている。
カラムカウンタ回路40及びロウカウンタ回路41は、カウンタ回路の一例であり、フレームパルスFPの入力に応じOTU1フレームのカラム及びロウをそれぞれ計数する。カラムカウンタ回路40の計数値Nc’はデコーダ51,52に入力され、ロウカウンタ回路41の計数値Nr’はデコーダ53に入力される。
ロウカウンタ回路41及びデコーダ53は、検出回路の一例であり、フレームパルスFPに基づき、OTU1フレーム内のロウ「0」及び「1」のデータを検出する。より具体的には、デコーダ53は、Nr’=0のとき、Nr’=0を示す検出パルスを信号処理回路2に出力し、Nr’=1のとき、Nr’=1を示す検出パルスを信号処理回路2に出力する。
このように、デコーダ53は、ロウカウンタ回路41の計数値Nr’に基づきロウ「0」及び「1」のパラレルデータDTを検出するため、例えばデータパタンを比較する回路でデータを検出する場合より回路構成が簡単である。
また、デコーダ51は、カラムカウンタ回路40の計数値Nc’=2039を検出し、その検出パルスをロウカウンタ回路41及びシフトレジスタ回路30に出力する。つまり、デコーダ53は、OTU1フレームの各ロウの最後尾のパラレルデータDTを検出してロウカウンタ回路41及びシフトレジスタ回路30に通知する。
ロウカウンタ回路41は、デコーダ51からの検出パルスの入力またはフレームパルスFPの入力に応じてロードされ、計数値Nr’が初期値に設定される。このため、ロウカウンタ回路41は、各カラム内の最後尾のパラレルデータDTの後、計数値Nr’を1つ加算できる。
シフトレジスタ回路30は、デコーダ51からの検出パルスの入力に応じ、オーバーヘッド領域のパラレルデータDTのタイミングを示す複数のタイミングパルスTPc[0]〜[25]を生成して信号処理回路2に出力する。
デコーダ52は、カラムカウンタ回路40の計数値Nc’=1911を検出し、その検出パルスをシフトレジスタ回路31に出力する。つまり、デコーダ52は、OTU1フレームのペイロード領域のデータPDの最後尾のパラレルデータDTを検出してシフトレジスタ回路31に通知する。
シフトレジスタ回路31は、デコーダ52からの検出パルスの入力に応じ、FEC領域のパラレルデータDTのタイミングを示す複数のタイミングパルスTPc[0]〜[137]を生成して信号処理回路2に出力する。
信号処理回路2は、TP選択部201b,202bと、AND回路203b〜205bと、OR回路206b,207bと、セレクタ221b,222bと、FF223b,224bと、遅延加算部25とを有する。なお、遅延加算部25については、図11を参照して説明済みであるため、その説明を省略する。
TP選択部201b、AND回路203b、OR回路206b、セレクタ221b、及びFF223bはデータ群Aの変換処理を行う。また、TP選択部202b、AND回路204b,205b、OR回路207b、セレクタ222b、及びFF224bはデータ群Bの変換処理を行う。
TP選択部201b,202bには、シフトレジスタ回路30,31からタイミングパルスTPc[0]〜[25],TPf[0]〜[137]が入力され、デコーダ53から検出パルス(Nr’=0または1)が入力される。さらに、TP選択部201b,202bには前段の信号処理回路2から遅延情報Kが入力される。TP選択部201b,202bは、データ群A,Bの変換対象外のデータ領域に対応するタイミングパルスTPc[0]〜[25],TPf[0]〜[137]から、遅延情報Kに基づきタイミングパルスTPc,TPfを選択する。
例えば、TP選択部201bは、タイミングパルスTPc[0]〜[25],TPf[0]〜[137]から、データ群Aの変換対象外のデータ領域に対応するタイミングパルスTPc[0]〜[6]、TPf[0]〜[127](図13及び図14参照)を取得する。TP選択部201は、取得したタイミングパルスTPc、TPfから、遅延情報K(=2)に基づきタイミングパルスTPc[2]〜[8]、TPf[2]〜[129]を選択する。
これにより、信号処理回路2における信号処理のタイミングのずれが補正される。なお、TP選択部202bも、TP選択部201bと同様の手法で、遅延情報K(=2)に基づきタイミングパルスTPc[2]〜[8]、TPc[8]、TPf[2]〜[129]を選択する。
AND回路203b〜205bには、TP選択部201b,202bからタイミングパルスTPc、TPfが入力され、デコーダ53から検出パルス(Nr’=0またはNr’=1)が入力される。AND回路203b〜205bは、入力されたタイミングパルスTPc、TPf及び検出パルスの論理積(AND)を演算し、その演算値をOR回路206b,207bに出力する。
AND回路203b〜205bは、OTU1フレームのロウ「1」〜「4」のうち、Nr’=0に対応するロウ「1」とNr’=1に対応するロウ「2」のパラレルデータDTを、入力されたタイミングパルスTPc、TPfが示すタイミングで検出する。例えば、AND回路203bは、ロウ「1」のカラム「1」〜「14」に位置するオーバーヘッド領域のデータOHを、タイミングパルスTPc[2]〜[8]のタイミングで検出する。また、AND回路205bは、ロウ「2」のカラム「13」,「14」に位置するオーバーヘッド領域のデータOHを、タイミングパルスTPc[8]のタイミングで検出する。
OR回路206b,207bには、AND回路203b〜205bから演算値が入力され、TP選択部201b,202bからタイミングパルスTPf[2]〜[129]が入力される。OR回路206b,207bは、入力された各タイミングパルスTPf及びAND回路203b〜205bの演算値の論理和(OR)を演算して、演算値をセレクタ221b,222bに出力する。
つまり、OR回路206b,207bは、入力された各タイミングパルスTPf及びAND回路203b〜205bの何れかが示すタイミングを検出したとき、「1」をセレクタ221b,222bに出力する。このため、OR回路206b,207bの出力する演算値が「1」であるとき、データ群A,Bの変換対象外のデータ領域が検出される。逆に、OR回路206b,207bの出力する演算値が「0」であるとき、データ群A,Bの変換対象のデータ領域P11〜P14が検出される。
セレクタ221b,222bには、データ群A,BのパラレルデータDTと、All「1」のデータと、OR回路206b,207bの演算値が入力される。セレクタ221b,222bは、OR回路206b,207bの演算値「0」,「1」に応じて、パラレルデータDTとAll「1」のデータの一方を選択してFF223b,224bに出力する。
セレクタ221b,222bは、OR回路206b,207bの演算値が「1」である場合、パラレルデータDTを選択してFF223b,224bに出力する。また、セレクタ221b,222bは、OR回路206b,207bの演算値が「0」である場合、All「1」のデータを選択してFF223b,224bに出力する。これにより、演算値が「0」である場合、変換対象のデータ領域P11〜P14がAll「1」に変換されて出力され、演算値が「1」である場合、変換対象外のデータ領域が変換されずに出力される。
FF223b,224bには、クロック信号CLKと、セレクタ221b,222bからのパラレルデータDTが入力される。FF223b,224bは、入力されたパラレルデータDTを保持し、クロック信号CLKのエッジ入力に応じて、後段の信号処理回路2に出力する。このため、パラレルデータDTは、FF223b,224bで保持されることにより、タイミングパルスTPc、TPfに対してクロック信号CLKの1クロック分だけ遅延する。
このように、信号処理回路2は、ロウカウンタ回路41及びデコーダ53によりOTU1フレームのロウ「0」,「1」のパラレルデータDTが検出されたとき、タイミングパルスTPc[2]〜[8]が示すタイミングに基づきパラレルデータDTを処理する。このため、信号処理回路2の規模は、シフトレジスタ回路のみを用いた場合より低減される。
図16は、変換処理を行う信号処理回路2のタイムチャートの他例である。図16には、クロック信号CLKと、フレームパルスFPと、タイミングパルスTPc[0]〜[3](TPc[4]以下は略)と、タイミングパルスTPf[0],[1](TPf[2]以下は略)と、図11の信号処理回路2に入出力されるOTUフレームのデータD1〜D204及び遅延情報Kとが示されている。
シフトレジスタ回路30は、デコーダ51により、カラムカウンタ回路40の計数値Nc’=2039となるタイミングT9において、TPc[0]を1にセットする。これにより、タイミングパルスTPc[0]〜[25]が順次に出力される。
また、シフトレジスタ回路31は、デコーダ52により、カラムカウンタ回路40の計数値Nc’=1911となるタイミングT10でTPf[0]を1にセットして、動作を開始する。これにより、タイミングパルスTPf[0]〜[137]が順次に出力される。
このように、本例の信号処理回路2は、ロウカウンタ回路41及びカラムカウンタ回路40が設けられているため、シフトレジスタ回路30,31のFFの個数が低減される。なお、ロウカウンタ回路41及びカラムカウンタ回路40は、信号処理回路2ごとに設けられるものではなく、複数の信号処理回路2の間で共用されるものであるため、回路規模への影響は小さい。
これまで述べたように、実施例に係る信号処理回路2は、シフトレジスタ回路3,30,31と、複数の信号処理回路2とを有する。シフトレジスタ回路3,30,31は、OTUフレームに同期したフレームパルスFPから、互いに異なるタイミングを示す複数のタイミングパルスTP,TPc,TPfを生成する。複数の信号処理回路2は、複数のタイミングパルスTP,TPc,TPfのうち、1以上のタイミングパルスが示すタイミングに基づきOTUフレームを順次に処理する。
上記の構成によると、複数の信号処理回路2は、比較例の信号処理回路2aとは異なり、多くのFF及びLUTを消費するカラムカウンタ20及びロウカウンタ21を用いずにOTUフレームの処理のタイミングを検出できる。したがって、FPGA801の回路規模が低減される。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。