(57)【要約】【課題】既存の通信システムに新たに追加しても、既存のデータ受信装置の回路構成を変更する必要がなく、既存のデータ受信装置よりも高い転送レートでシリアルデータを伝送させることができる通信装置及び、同装置を有する通信システムを提供することを目的とする。【解決手段】異なるクロックに同期して送信されるヘッダ部とデータ部とを含むシリアルデータを受信する通信装置に、外部から入力される所定のクロックに同期してヘッダ部を受信して処理するヘッダ処理部と、所定のクロックの周波数を逓倍するクロック逓倍部と、クロック逓倍部により周波数が逓倍された逓倍クロックに同期して、データ部を受信して処理するデータ処理部とを設けた。【選択図】        図6
2010081104.tif 000002
【特許請求の範囲】
【請求項１】
異なるクロックに同期して送信されるヘッダ部とデータ部とを含むシリアルデータを受信する通信装置であって、
外部から入力される所定のクロックに同期して前記ヘッダ部を受信して処理するヘッダ処理部と、
前記所定のクロックの周波数を逓倍するクロック逓倍部と、
前記クロック逓倍部により周波数が逓倍された逓倍クロックに同期して、前記データ部を受信して処理するデータ処理部と、
を備えたことを特徴とする通信装置。
【請求項２】
前記ヘッダ処理部は、受信した前記ヘッダ部に含まれる識別情報が自装置に対応する識別情報であるか否かを判定する識別情報判定部を備え、
前記データ処理部は、前記データ部を受信するデータ受信部を備え、
前記データ受信部は、前記識別情報判定部により自装置に対応する識別情報であると判定された場合に、前記逓倍クロックに同期して前記データ部を受信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記データ処理部は、前記データ部を他の装置へ送信するデータ送信部を備え、
前記データ送信部は、前記識別情報判定部により自装置に対応する識別情報であると判定された場合に、前記逓倍クロックに同期して前記データ部を送信することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記データ受信部により受信した前記データ部を一次記憶する一次記憶部と、
前記一次記憶部の記憶容量の残量を検知する容量検知部と、
を備え、
前記クロック逓倍部は、前記容量検知部により検知された前記記憶容量の残量に応じて、前記逓倍クロックの逓倍率を変更することを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項５】
ヘッダ部とデータ部とを含むシリアルデータを送信するデータ送信装置と、前記データ送信装置から前記シリアルデータを受信するデータ受信装置とを有する通信システムであって、
前記データ送信装置は、
外部から入力される所定のクロックに同期して前記ヘッダ部を送信するヘッダ処理部と、
前記所定のクロックの周波数を逓倍するクロック逓倍部と、
前記クロック逓倍部により周波数が逓倍された逓倍クロックに同期して、前記データ部を送信するデータ処理部と、
を備え、
前記データ受信装置は、
前記所定のクロックに同期して前記ヘッダ部を受信して処理するヘッダ処理部と、
前記所定のクロックの周波数を逓倍するクロック逓倍部と、
前記クロック逓倍部により周波数が逓倍された逓倍クロックに同期して、前記データ部を受信して処理するデータ処理部と、
を有することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信システムに関するものである。また、ヘッダ部とデータ部とを含むシリアルデータを受信する通信装置、及び、同装置を有する通信システムに関するものである。
【背景技術】
【０００２】
従来、一台のデータ送信装置と、このデータ送信装置に並列接続された複数台のデータ受信装置とを備え、データ送信装置からデータ受信装置へシリアルデータを送信する通信システムが知られている。
【０００３】
かかるデータ通信システムには、データ送信装置から各データ受信装置へそれぞれ異なる転送レート(転送速度)でシリアルデータの送信を行うように構成したものがある（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開平９−６７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のようにデータ送信装置から各データ受信装置へシリアルデータの転送を行うシステムに、さらに高速な転送レートでシリアルデータの受信が可能なデータ受信装置を追加する場合、既存の通信システムの回路構成を大きく設定変更する必要があった。
【０００６】
シリアルデータの転送を行う通信システムでは、データ送信装置が、所定のフォーマットに従って構成されたヘッダ部とデータ部とを含むシリアルデータを全てのデータ受信装置へ送信する。
【０００７】
そのため、通信システムに、既存のデータ受信装置よりも転送レートの高いデータ受信装置を新たに追加する場合には、新たに追加するデータ受信装置の転送レートに対応するように、既存のデータ受信装置の回路構成を変更する必要があり、システム全体として大きく回路構成を変更しなければならなかった。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、既存の通信システムに新たに追加しても、既存のデータ受信装置の回路構成を変更する必要がなく、既存のデータ受信装置よりも高い転送レートでシリアルデータを伝送させることができる通信装置及び、同装置を有する通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本願に開示する通信装置は、異なるクロックに同期して送信されるヘッダ部とデータ部とを含むシリアルデータを受信する通信装置であって、外部から入力される所定のクロックに同期して前記ヘッダ部を受信して処理するヘッダ処理部と、前記所定のクロックの周波数を逓倍するクロック逓倍部と、前記クロック逓倍部により周波数が逓倍された逓倍クロックに同期して、前記データ部を受信して処理するデータ処理部とを備える。
【発明の効果】
【００１０】
本願に開示する通信装置及び同通信装置を有する通信システムによれば、既存の通信システムに新たに追加しても、既存のデータ受信装置の回路構成を変更することなく、既存のデータ受信装置よりも高い転送レートでシリアルデータを伝送させることができる。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明の一実施形態に係る通信装置及び同装置を有する通信システムの実施例1と実施例2について詳細に説明する。なお、以下の各実施例では、本実施形態に係る通信装置及び同装置を有する通信システムを、携帯通信端末間で送受信されるデータの転送を行う基地局に設けられ、ベースバンド処理等に用いる各種データの送受信を行う制御基盤に適用した場合について説明する。
【実施例１】
【００１２】
まず、第１実施例の通信装置及び通信システムが追加して設ける前の既存の回路構成等について説明する。図１に示すように、既存の回路100には、データ送信装置としてのデータ送信カード(1)110と、データ送信装置(1)110から送信されるシリアルデータを受信するデータ通信（受信）装置としてのデータ受信カード(A)120及びデータ受信カード(B)130と、これらデータ送信カード(1)110、データ受信カード(A)120、データ受信カード(B)130にそれぞれ所定のクロックとしてのマスタクロック(以下、「MCLK」という。)を供給するクロックカード(以下、「CLKカード140」という。)とが設けられている。
【００１３】
データ送信カード(1)110は、データ受信カード(A)120、及びデータ受信カード(B)130へのシリアルデータの送信（書き込み）、データ受信カード(A)120、及びデータ受信カード(B)130からのシリアルデータの受信（読み出し）を行うようにプログラミングされたFPGA（Field Programmable Gate Array）(1)111を備えている。
【００１４】
また、データ受信カード(A)120は、FPGA(1)111から送信されるシリアルデータの受信（書き込み）、FPGA(1)111へのシリアルデータの送信（読み出し）を行うようにプログラミングされたFPGA(A)121を備えている。
【００１５】
データ受信カード(B)130も、FPGA(1)111から送信されるシリアルデータの受信（書き込み）、FPGA(1)111へのシリアルデータの送信（読み出し）を行うようにプログラミングされたFPGA(B)131を備えている。
【００１６】
FPGA(1)111とFPGA(A)121との間、及び、FPGA(1)111とFPGA(B)131との間は、シリアルデータの送受信を行う際のトリガとなるストローブ（STLB）信号を伝送するためのSTLB信号線によって接続されている。
【００１７】
また、FPGA(1)111とFPGA(A)121との間、及び、FPGA(1)111とFPGA(B)131との間は、FPGA(1)111からFPGA(A)121及びFPGA(B)131とへ送信されるシリアルデータ(ライトデータ：WDATA)を伝送するRDATA線と、FPGA(A)121及びFPGA(B)131からFPGA(1)111へ送信されるシリアルデータ(リードデータ：RDATA）を伝送するためのRDATA線とによっても接続されている。
【００１８】
CLKカード140は、MCLKを生成するクロック生成部(以下、「CLK141」という。)と、CLK141により生成されたMCLKをFPGA(1)111、FPGA(A)121、FPGA(B)131へそれぞれ出力するドライバ（DRV）142とを備えている。
【００１９】
このように構成された既存の回路100では、データ送信カード(1)110とデータ受信カード(A)120又はデータ受信カード(B)130との間では、所定の通信データフォーマットに従って構成されたシリアルデータの伝送が行われる。
【００２０】
図2は、データ送信カード(1)110と、データ受信カード(A)120又はデータ受信カード(B)130との通信データフォーマットを示す説明図である。図2に示すように、この通信データフォーマットでは、MCLKに同期したタイミングでSTLB信号が送信され、STLB信号が立ち上がっている期間にシリアルデータ（WDATA又はRDATA）の伝送が行われる。
【００２１】
この通信データフォーマットに従って伝送されるシリアルデータは、ヘッダ部とデータ部とを含んでいる。ヘッダ部は、シリアルデータの送信先を特定するための識別情報であるカードIDや、送信先の装置内においてシリアルデータを書き込むカード内アドレス、そのシリアルデータがリードデータかライトデータかを識別するためのW/R等のデータが格納されている。一方、データ部には、送信先の装置に実際に書き込まれるデータや、送信先の装置から実際に読み出されるデータが格納されている。
【００２２】
既存の回路100では、データ送信カード(1)110とデータ受信カード(A)120又はデータ受信カード(B)との間で、MCLKの周波数に同期した転送レートでシリアルデータの伝送が行われる。
【００２３】
図3は、図1に示した既存の回路100に、本発明を適用したデータ受信カード(C)10を追加した回路構成1を示す説明図である。図3に示すデータ受信カード(C)10を追加した回路構成1において、CLK140とデータ受信カード(A)120、データ受信カード(B)130は、図1に示したものと同一である。
【００２４】
新たに追加したデータ受信カード(C)10は、既存のデータ受信カード(A)120及びデータ受信カード(B)と同様に、STLB線とRDATA線とWDATA線とによって、データ送信カード(2)110aに接続されている。また、このデータ受信カード(C)10はCLKカード140に接続され、CLKカード140からMCLKが入力される。
【００２５】
このデータ受信カード(C)10は、内部に既存のデータ受信カード(A)120及びデータ受信カード(C)130よりも高い転送レートでシリアルデータの伝送を行うようにプログラミングしたFPGA(C)11を備えている。
【００２６】
このFPGA(C)11は、シリアルデータの送受信を行う際、ヘッダ部に関しては、データ受信カード(A)120及びデータ受信カード(B)130と同様にMCLKに同期して送受信するように構成しているが、データ部に関しては、MCLKよりも周波数の高いクロックに同期して送受信を行うように構成している。
【００２７】
図4は、データ送信カード(2)110aとデータ受信カード(C)10との通信データフォーマット（例：データ転送3倍の場合）を示す説明図である。図4に示すように、この通信データフォーマットにおいても、シリアルデータ（WDATA又はRDATA）は、図2に示した通信データフォーマットと同様に、ヘッダ部とデータ部とを含んでいるが、データ部の伝送時間間隔が図2に示したデータの伝送時間間隔より短く（ここでは、1/3に）なっている。
【００２８】
この図4から分かるように、データ送信カード(2)110aとデータ受信カード(C)10との間では、シリアルデータの伝送を行う際、ヘッダ部は既存のデータ受信カード(A)120又はデータ受信カード(B)130と同じ転送レートで伝送されるが、データ部だけは、既存のデータ受信カード(A)120の3倍の転送レートで伝送される。
【００２９】
ここで、図2に示した通信データフォーマットでシリアルデータの伝送を行う既存のFPGA(A)121及びFPGA(B)131の構成と、図4に示した通信データフォーマットでシリアルデータの伝送を行うFPGA(C)11及びFPGA(2)111aの構成との違いについて、図5及び図6を参照して説明する。
【００３０】
図5は、FPGA(A)121の構成を示す説明図であり、図6は、FPGA(C)11及びFPGA(2)111aの構成を示す説明図である。なお、FPGA(A)121とFPGA(B)131とは同一の構成であるため、以下の説明では、FPGA(B)131については、その説明を省略する。
【００３１】
図5に示すように、FPGA(A)121は、内部にFPGA(2)111aとの間でシリアルデータの送受信を行うデータ受信/送信部122を備えている。このデータ受信/送信部122は、CLKカード140から入力されるMCLKに同期したタイミングでシリアルデータに含まれるヘッダ部とデータ部とを受信して処理する。
【００３２】
これに対して、FPGA(C)11は、図6に示すように、内部にFPGA(2)111aとの間でシリアルデータの送受信を行うデータ受信/送信部12を備え、これに加えて、CLKカード140から入力されるMCLKに基づいて、周波数がMCLKの逓倍（ここでは、3倍）の逓倍クロック（以下、「逓倍CLK」という。）を生成するクロック逓倍部（以下、「CLK逓倍部15」という。）を備えている。
【００３３】
また、このFPGA(C)11が備えるデータ受信/送信部12は、シリアルデータのヘッダ部を処理するヘッダ処理部13と、データ部を処理するデータ処理部14とを備えている。
【００３４】
ヘッダ処理部13は、CLKカード140から入力されるMCLKに同期したタイミングでシリアルデータのヘッダ部を処理する。すなわち、このFPGA(C)11は、既存のFPGA(A)と同じ処理速度でヘッダ部を受信して処理する。
【００３５】
一方、データ処理部14は、CLK逓倍部15から入力される逓倍CLKに同期したタイミングでシリアルデータのデータ部を処理する。すなわち、このFPGA(C)は、既存のFPGA(A)の処理速度の3倍の処理速度でデータ部を受信して処理する。
【００３６】
次に、FPGA(2)111aの構成について説明する。このFPGA(2)111aの構造は、前述のFPGA(C)11の構成と同様であるため、ここでは、図6を用いて説明する。なお、図6では、WDATAが入力され、RDATAが出力されるように図示しているが、これはFPGA(C)11として機能する場合を示しており、FPGA(2)111aとして機能する場合には、WDATAが出力され、RDATAが入力される。
【００３７】
図6に示すように、FPGA(2)111aは、データ受信/送信部12と、CLK逓倍部15とを備えている。また、データ受信/送信部12は、FPGA(C)11のデータ受信/送信部12と同様に、ヘッダ処理部13とデータ処理部14とを備えている。
【００３８】
ヘッダ処理部13は、データ受信カード(A)120、データ受信カード(B)130、データ受信カード(C)10のいずれかにデータ部の書き込みを行う場合、CLKカード140から入力されるMCLKに同期したタイミングで、これらデータ受信カード(A)120、データ受信カード(B)130、データ受信カード(C)10のいずれかにヘッダ部を送信する。
【００３９】
一方、ヘッダ処理部13は、データ受信カード(A)120、データ受信カード(B)130、データ受信カード(C)10のいずれかから、データ部の読み出しを行う場合、これらデータ受信カード(A)120、データ受信カード(B)130、データ受信カード(C)10のいずれかから送信されたヘッダ部を、CLKカード140から入力されるMCLKに同期したタイミングで受信する。
【００４０】
また、データ処理部14は、データ受信カード(A)120又はデータ受信カード(B)130との間でデータ部の送受信を行うときと、データ受信カード(C)10との間でデータ部の送受信を行うときとでは、異なる転送レートでデータの送受信を行うように構成している。
【００４１】
すなわち、このFPGA(2)111aでは、既存のデータ受信カード(A)120又はデータ受信カード(B)130にデータ部の書き込みを行う場合、及び既存のデータ受信カード(A)120又はデータ受信カード(B)130からデータ部の読み出しを行う場合に、CLK逓倍部15がCLKカードから入力されるMCLKをそのままデータ処理部14へ出力する。
【００４２】
一方、このFPGA(2)111aでは、新規に追加したデータ受信カード(C)10へデータ部の書き込みを行う場合、及び新規に追加したデータ受信カード(C)10からデータ部の読み出しを行う場合に、CLK逓倍部15がCLKカードから入力される逓倍CLKをデータ処理部14へ出力する。
【００４３】
そして、データ処理部14は、既存のデータ受信カード(A)120又はデータ受信カード(B)130との間で、MCLKに同期してデータ部の送受信を行う一方、新規に追加したデータ受信カード(C)10との間では、逓倍CLKに同期してデータ部の送受信を行う。
【００４４】
すなわち、このFPGA(2)111aは、既存のデータ受信カード(A)120又はデータ受信カード(B)130との間でデータ部の送受信を行うときには、既存の回路100のときと同一の転送レートでデータ部の送受信を行う一方、新規に追加したデータ受信カード(C)10との間でデータ部の送受信を行う場合には、既存の回路100のときの3倍の転送レートで、データ部の送受信を行うように構成している。
【００４５】
本実施例では、各データ受信カード（データ受信カード(A)120、データ受信カード(B)130、データ受信カード(C)10）に対して、各データ受信カードを識別可能とした固有のカードIDを割当てている。
【００４６】
そして、FPGA(2)111aは、シリアルデータの送信を行う場合、ヘッダ部にシリアルデータの送信先を示すカードIDを格納して、データ部と共に送信する。このカードIDは、各データ受信カード(データ受信カード(A)130、データ受信カード(B)、データ受信カード(C)10)を特定するために、各データ受信カードに予め割当てられた固有の識別情報である。
【００４７】
このFPGA(2)111aは、新規に追加した受信カード(C)10のカードIDをヘッダ部に格納したシリアルデータのデータ部を送信するときにだけ、逓倍CLKに同期したタイミングでデータ部の送信を行い、それ以外のカードIDをヘッダ部に格納したシリアルデータのデータ部を送信するときには、MCLKに同期したタイミングでシリアルデータのデータ部を送信するようにプログラミングしている。
【００４８】
ここで、新規に追加したデータ受信カード(C)10に設けたFPGA(C)11の構成について、図7を参照して更に具体的に説明する。図7は、FPGA(C)11の構成を示す機能ブロック図である。
【００４９】
図7に示すように、FPGA(C)11は、データ受信/送信部12と、CLK逓倍部15とを備えている。また、データ受信/送信部15は、前述のように、ヘッダ処理部13とデータ処理部14とを備えている。
【００５０】
さらに、ヘッダ処理部13は、カードIDチェック部16とリードライトチェック部17と備えている。また、データ処理部14は、データ受信部18とデータ送信部19と内部メモリ20とを備えている。
【００５１】
カードIDチェック部16は、受信したヘッダ部に格納されているカードIDが自装置に対応するカードIDであるか否かを判定し、その判定結果を示すフラグをたてた後、ヘッダ部をリードライトチェック部17へ入力する。このカードIDチェック部16は、既存のデータ受信カード(A)120、データ受信カード(B)130にも設けられているものである。
【００５２】
リードライトチェック部17は、カードIDチェック部16から入力されたヘッダ部に含まれるW/Rから、このシリアルデータが書き込みを要求するものか、それとも、読み出しを要求するものかを判定する。
【００５３】
そして、リードライトチェック部17は、W/Rが書き込みを要求するものであると判定した場合に、その旨を示すフラグをたてた後、ヘッダ部をデータ受信部へ入力する。一方、リードライトチェック部17は、W/Rがデータ部の読み出しを要求するものであると判定した場合に、その旨を示すフラグをたてた後、ヘッダ部をデータ送信部18へ入力する。このリードライトチェック部17は、既存のデータ受信カード(A)120、データ受信カード(B)130にも設けられている。
【００５４】
そして、本実施例では、これらカードIDチェック部16及びリードライトチェック部17が、CLKカード140からそれぞれ入力されるMCLKに同期して動作することにより、既存のデータ受信カード(A)120及びデータ受信カード(B)130と同一の転送レートでヘッダ部を受信して処理する。
【００５５】
データ受信部18は、ヘッダ部に格納されていたカードIDが自装置に対応するカードIDであることを示すフラグがたっていた場合、受信したシリアルデータのデータ部を内部メモリ20に記憶させる。このとき、データ受信部18は、ヘッダ部に含まれているカード内アドレスに対応した所定の記憶領域にデータ部を記憶させることによって、データ部（WDATA）の書き込みを行う。一方、データ受信部18は、ヘッダ部に格納されていたカードIDが自装置に対応するカードIDでないことを示すフラグがたっていた場合、受信したシリアルデータを削除（廃棄）する。
【００５６】
データ送信部19は、ヘッダ部に含まれているカード内アドレスに対応した記憶領域に記憶しているデータ部(RDATA)を内部メモリ20から読み出して、データ送信カード(2)110aへ送信する。
【００５７】
本実施例では、これらデータ受信部18とデータ送信部19とが、CLK逓倍部15から入力される逓倍CLKに同期して動作することにより、既存のデータ受信カード(A)120及びデータ受信カード(B)130の3倍の転送レートでデータの送受信を行う。
【００５８】
次に、上記のように構成したデータ受信カード(C)10を追加した回路1において、データ受信カード(C)10宛にデータをライトする場合のシーケンスについて、図8を参照して説明する。なお、データ受信カード(B)130に関するシーケンスは、受信カード(A)と同様であるため、ここでは説明を省略する。
【００５９】
データ送信カード(2)110aからデータ受信カード(C)10へデータ部の書き込み（ライト）を行う際、データ送信カード(2)110aは、全てのデータ受信カード(データ受信カード(A)120、データ受信カード(C)10)に対して、シリアルデータ(ここでは、WDATA)を送信する。このとき、データ送信カード(2)110aは、ヘッダ部をMCLKに同期させ、データ部を逓倍CLKに同期させて送信する（図8中(1)）。
【００６０】
新規に追加されたデータ受信カード(C)10では、カードIDチェック部16により受信されたシリアルデータのヘッダ部に格納されているカードIDがチェックされる（図8中(2)）。ここで、データ受信カード(C)10では、受信したカードIDが自装置に割当てられているカードIDと一致するため、データ受信部18によりデータ部が逓倍CLKに同期して受信される（図8中(3)）。その後、データ受信カード(C)10では、データ受信部18により内部メモリ20にデータ部の書き込み（ライト）が行われる（図8中(4)）。
【００６１】
一方、データ受信カード(A)120では、カードIDのチェックが行われる(図8中(5))。ここでは、カードIDが自装置に割当てられているカードIDと不一致であるため、データ部が廃棄される。
【００６２】
このように、本実施例では、データ受信カード(2)110aが、データ受信カード(C)10へ逓倍CLKに同期させてデータ部を送信し、データ受信カード(C)10がそのデータ部を逓倍CLKに同期して受信するので、データ部をMCLKに同期させて送信するときの逓倍(ここでは3倍)の転送レートで送信することができる。
【００６３】
しかも、データ送信カード(2)110aからデータ受信カード(A)120及びデータ受信カード(C)10に送信されるヘッダ部は、MCLKに同期して送信されるので、既存のデータ受信カード(A)120は、内部の回路構成を変更しなくても、このヘッダを受信してカードIDのチェック及び廃棄を行うことができる。
【００６４】
次に、データ受信カード(A)120宛にライトする場合のシーケンスについて、図9を参照して説明する。
【００６５】
データ送信カード(2)110aからデータ受信カード(A)120へデータ部の書き込み（ライト）を行う際、データ送信カード(2)110aは、全てのデータ受信カード(データ受信カード(A)120、データ受信カード(C)10)に対して、シリアルデータ(ここでは、WDATA)を送信する。このとき、データ送信カード(2)110aは、ヘッダ部及びデータ部の両方をMCLKに同期させて送信する（図9中(1)’）。
【００６６】
データ受信カード(C)10では、カードIDのチェックが行われる(図9中(2)’)。ここでは、カードIDが自装置に割当てられているカードIDと不一致であるため、データ部が廃棄される(図9中(3)’)。
【００６７】
既存のデータ受信カード(A)120では、受信したシリアルデータのヘッダ部に格納されているカードIDがチェックされる（図9中(4)’）。ここで、データ受信カード(A)120では、受信したカードIDが自装置に割当てられているカードIDと一致するため、データ部がMCLKに同期して受信される（図9中(5)’）。その後、データ受信カード(A)120では、内部メモリ20にデータ部の書き込み（ライト）が行われる（図9中(6)’）。
【００６８】
このように、本実施例では、データ送信カード(2)110aが既存のデータ受信カード(A)120に対してデータ部の書き込みを行う際、データ部をMCLKに同期させて送信し、データ受信カード(A)120は、そのデータ部をMCLKに同期したタイミングで受信するので、既存のデータ受信カード(A)120は、内部の回路構成を変更しなくてもよい。
【００６９】
次に、データ受信カード(C)10宛にリードする場合のシーケンスについて、図10を参照して説明する。
【００７０】
データ送信カード(2)110aがデータ受信カード(C)10からデータ部の読み出し(リード)を行う際、データ送信カード(2)110aは、全てのデータ受信カード(データ受信カード(A)120、データ受信カード(C)10)に対して、ヘッダ部をMCLKに同期させて送信する（図10中(1)）。
【００７１】
データ受信カード(C)10では、受信したヘッダ部に格納されているカードIDのチェックが行われる（図10中(2)）。ここでは、カードIDが自装置に割当てられているカードIDと一致するため、データ送信部19によりシリアルデータ（ここでは、RDATA）の送信準備が行われる(図10中(3))。
【００７２】
その後、データ受信カード(C)10では、データ送信部19により、内部メモリ20からデータ部が読み出され、データ送信装置(2)110aへ逓倍CLKに同期して送信される(図10中(4))。データ送信カード(2)110aは、このデータ部（RDATA）を逓倍CLKに同期して受信する(図10中(5))。
【００７３】
一方、データ受信カード(A)120では、受信したカードIDのチェックが行われる（図10中(6)）。ここでは、受信したカードIDが自装置に割り当てられているカードIDと不一致であるため、処理が終了される(図10中(7))。
【００７４】
このように、本実施例では、データ受信カード(C)10がデータ部(RDATA)を逓倍CLKに同期させて送信し、そのデータ部(RDATA)をデータ送信カード(2)110ａが逓倍CLKに同期して受信するので、データ部をMCLKに同期させて送信するときの逓倍(ここでは3倍)の転送レートでデータ部の読み出しを行うことができる。
【００７５】
しかも、データ送信カード(2)110aからデータ受信カード(A)120及びデータ受信カード(C)10に送信されるヘッダ部は、MCLKに同期して送信されるので、既存のデータ受信カード(A)120は、内部の回路構成を変更しなくても、このヘッダを受信してカードIDのチェックを行うことができる。
【００７６】
次に、データ受信カード(A)120宛にリードする場合のシーケンスについて、図11を参照して説明する。
【００７７】
データ送信カード(2)110aがデータ受信カード(A)120からデータ部の読み出し（リード）を行う際、データ送信カード(2)110aは、全てのデータ受信カード(データ受信カード(A)120、データ受信カード(C)10)に対して、ヘッダ部をMCLKに同期させて送信する(図11中(1)’)。
【００７８】
データ受信カード(C)10では、受信したカードIDのチェックが行われる(図11中(2)’)ここでは、カードIDが自装置に割当てられているカードIDと不一致であるため、処理が終了される(図11中(3)’)。
【００７９】
一方、データ受信カード(A)120では、受信したヘッダ部に格納されているカードIDのチェックが行われる(図11中(4)’)。ここでは、カードIDが自装置に割当てられているカードIDと一致するため、シリアルデータ(ここでは、RDATA)の送信準備が行われる(図11中(5)’)。
【００８０】
その後、データ受信カード(A)120では、シリアルデータ(RDATA)がMCLKに同期してデータ送信カード(2)110aへ送信される(図11中(6)’)。データ送信カード(2)110aは、このシリアルデータ（RDATA）をMCLKに同期して受信する(図11中(7)’)。
【００８１】
このように、本実施例では、データ送信カード(2)110aが既存のデータ受信カード(A)120からデータ部の読み出しを行う際、データ受信カード(A)120は、データ部をMCLKに同期させて送信し、データ送信カード(2)110aは、そのデータ部をMCLKに同期したタイミングで受信するので、既存のデータ受信カード(A)120は、内部の回路構成を変更しなくてもよい。
【００８２】
以上説明してきたように、第1実施例では、データ送信カード(2)110aは、既存のデータ受信カード(A)120、又は新規に追加したデータ受信カード(C)10にデータ部を書き込む際に、ヘッダ部については、MCLKに同期させて送信し、データ部については、新規のデータ受信カード(C)10に送信するときにだけ、逓倍CLKに同期させて送信し、既存のデータ受信カード(A)120に送信するときには、MCLKに同期させて送信するように構成している。
【００８３】
そして、既存のデータ受信カード(A)120と新規のデータ受信カード(C)10は、MCLKに同期して受信したヘッダ部に基づいて、自装置宛のシリアルデータであると判断した場合に、そのシリアルデータのデータ部を受信するように構成している。
【００８４】
このとき、既存のデータ受信カード(A)120は、従来どおりMCLKに同期してデータ部を受信し、新規のデータ受信カード(C)10は、逓倍CLKに同期してデータ部を受信するように構成している。
【００８５】
かかる構成により、データ送信カード(2)110aと新規のデータ受信カード(C)10との間では、データ部をMCLKに同期してデータ部を伝送するときの逓倍(ここでは3倍)の転送レートでデータ部を伝送することができるようになり、データ部の転送効率が向上する。
【００８６】
しかも、データ送信カード(A)110aから送信されるヘッダ部は、その宛先に関わらず、常にMCLKに同期して送信されるため、既存のデータ受信カード(A)120は、受信したヘッダ部に基づいて、自装置宛のシリアルデータであるのか否かを判定することができるので、新規のデータ受信カード(C)10を追加した場合であっても、回路構成を変更しなくてもよい。
【実施例２】
【００８７】
次に、本実施形態に係る通信装置及び通信システムの第2実施例について、図12〜図14を参照して説明する。本実施例の通信装置(以下、「データ受信カード(C’)という。」)は、第1実施例におけるデータ受信カード(C)10に代えて、既存の回路構成100に追加して設ける装置である。
【００８８】
データ受信カード(C’)は、内部にデータ送信カード(2)110ａとの間でシリアルデータの送受信を行うようにプログラミングされたFPGA(C’)11aを備えている。図12は、データ受信カード(C’)が備えるFPGA（C’）11aの構成を示す説明図である。
【００８９】
このFPGA(C’)11aは、データ部を既存のデータ受信カード(A)120及びデータ受信カード(B)130の逓倍の転送レートで伝送可能に構成されている。
【００９０】
図12に示すように、このFPGA(C’)11ａは、その基本的な構成については、図7に示した第1実施例のFPGA(C)11と同様の構成をしているが、データ受信/送信部12a内のデータ処理部14aの構成と、CLK逓倍部15ａが有する機能だけが、第1実施例のFPGA(C)11と異なる。
【００９１】
このFPGA(C’)11aが備えるCLK逓倍部15aは、CLKカード140から入力されるMCLKの周波数を任意に変更(n倍又は1/n倍)することができるように構成している。
【００９２】
また、このFPGA(C’)11aが備えるデータ処理部14aは、データ受信部18により受信したデータ部を一次記憶して、内部メモリ20へ順次出力するバッファ21と、このバッファ21の空き領域の残量を検知するバッファ容量チェック部22とを備えている。
【００９３】
そして、CLK逓倍部15aは、バッファ容量チェック部22により検知されたバッファ21の空き領域の残量に応じて、逓倍CLKの逓倍率を変更するように構成している。
【００９４】
バッファ容量チェック部22は、バッファ21の空き領域の残量が所定の値を下回った場合に、バッファ21がデータで満杯(FULL)の状態に近いと判定して、CLK逓倍部15aへ逓倍CLKの周波数を下げさせるための制御信号を送信する。また、このときバッファ容量チェック部22は、バッファ21が満杯(FULL)状態に近いことを示す信号(FULL)を、データ送信部19を介してデータ送信カード(2)111aに送信する。
【００９５】
一方、バッファ容量チェック部22は、バッファ21の空き領域の残量が所定の値を超えた場合に、バッファ21が空(EMPTY)状態に近いと判定して、CLK逓倍部15aへ逓倍CLKの周波数を上げさせるための制御信号を送信する。このときバッファ容量チェック部22は、バッファ21が空(EMPTY)の状態に近いことを示す信号(EMPTY)を、データ送信部19を介してデータ送信カード(2)111aに送信する。
【００９６】
また、このデータ受信カード(C’)を追加して設ける場合には、データ送信カード(2)110ａに、データ受信カード(C’)と同様に逓倍CLKの周波数を任意に変更可能なCLK逓倍部を設ける。
【００９７】
このデータ送信カード(2)110ａは、データ受信カード(C’)から信号(FULL)を受信すると、逓倍CLKの周波数を下げてデータ受信カード(C’)の逓倍CLKの周波数と合わせ、そのクロックに同期させてデータ部の送信を行う。
【００９８】
また、データ送信カード(2)110ａは、データ受信カード(C’)から信号(EMPTY)を受信すると、逓倍CLKの周波数を上げてデータ受信カード(C’)の逓倍CLKの周波数と合わせ、そのクロックに同期させてデータ部の送信を行う。
【００９９】
このように、本実施例では、CLK逓倍部15aがバッファ21の記憶容量の残量が比較的大きい場合には、逓倍CLKの周波数を高めるので、データ部の転送速度が高くなりデータ部の受信効率とデータ部の記憶効率を向上させることができる。
【０１００】
また、バッファ21の容量の残量が比較的小さい場合には、CLK逓倍部15aが逓倍CLKの周波数を低くするので、データ部の転送速度が低くなり、バッファ21へデータ部を入力する際に、データのオーバーフローが発生することを未然に防止することができる。
【０１０１】
ここで、FPGA(C’)によるデータ部の転送速度可変時のシーケンス（EMPTY時）について、図13を参照して説明する。ここでは、データ送信カード(2)110aがデータ受信カード(C’)にデータ部の書き込み（ライト）を行う場合を例に挙げて説明する。
【０１０２】
図13に示すように、データ送信カード(2)110aは、まず、全てのデータ受信カード（ここでは、データ受信カード(C’)とデータ受信カード(A)120）に対して、シリアルデータの送信を行う。このとき、データ送信カード(2)110aは、ヘッダ部をMCLKに同期させ、データ部を逓倍CLK(ここでは、周波数がMCLKの3倍のクロック)に同期させて送信する(図13中(1))。
【０１０３】
データ受信カード(C’)では、受信したヘッダ部に格納されているカードIDがチェックされる（図13中(2)）。ここでは、受信したカードIDと自装置に割当てられているカードIDとが一致するので、データ受信部18によりデータ部が逓倍CLKに同期してデータ部の受信が行われる（図13中(3)）。
【０１０４】
そして、データ受信部18により受信されたデータ部は、バッファ21に順次記憶された後、内部メモリ20に記憶(ライト)される(図13中(4))。このとき、バッファ21の記憶容量の残量に極端な変動がなく、データ部が正常に内部メモリ20に記憶された場合には、その旨を示す信号(ACK)がデータ受信カード(C’)からデータ送信カード(2)110aへ送信され、データ送信カード(2)110aにより受信されて確認される(図13中(5))。
【０１０５】
また、データ受信カード(A)110aでは、ヘッダ部を受信すると、そのヘッダ部に格納されているカードIDのチェックが行われる(図13中(6))。ここでは、受信したカードIDと自装置に割当てられているカードIDとが不一致であるため、データ部が廃棄される(図13中(7))。
【０１０６】
一方、データ受信カード(C’)によるデータ部の受信中に、バッファ21の空き領域(メモリ)の残量が増大してバッファEMPTYが発生すると、バッファ容量チェック部22がデータ送信カード(2)110ａに信号(EMPTY)を送信する(図13中(8))。
【０１０７】
データ送信カード(2)110aは、データ受信カード(C’)から信号(EMPTY)を受信することによって、送信側（データ受信カード(C’)）のバッファ21がEMPTY状態であることを検出する(図13中(9))。
【０１０８】
その後、データ送信カード(2)110aは、データ受信カード(C’)に対してデータ部の転送速度を変更して、データ部の送信を行う。このとき、データ送信カード(2)110aは、逓倍CLKの周波数を更に逓倍(ここでは、3倍)に上げたクロックに同期させた転送レートでデータ部を送信すると共に、受信側(データ受信カード(C’)とデータ受信カード(A)120）に対して、EMPTY ACK(データ受信カード(C’)におけるバッファEMPTY発生を確認したことを示すデータ)をヘッダ部に格納して送信する(図13中(10))。このヘッダ部については、MCLKに同期して送信される。
【０１０９】
データ受信カード(A)120では、受信したヘッダ部に含まれるカードIDのチェックが行われる(図13中(16))。ここでは、受信したカードIDと予めデータ受信カード(A)120に割当てられているカードIDとが不一致であるため、受信したデータが廃棄される(図13中(17))。
【０１１０】
一方、データ受信カード(C’)では、受信したヘッダ部に含まれるカードIDのチェック、及び、受信したヘッダ部に含まれる送信側バッファ（データ受信カード(C’)のバッファ21）に関するEMPTY ACKのチェックが行われる(図13中(11))。
【０１１１】
ここでは、受信したカードIDが受信カード(C’)に割当てられているカードIDと一致するので、データ受信カード(C’)では、データ受信部18により、逓倍CLKの更に3倍(MCLKの9倍)の周波数のクロックに同期してデータ部の受信が行われる(図13中(12))。
【０１１２】
そして、データ受信カード(C’)では、データ受信部18により受信されたデータ部の内部メモリ20への書き込み(ライト)が行われる(図13中(13))。その後、データ部の書き込み中に、バッファ21の空き領域の残量が所定の値まで減少(メモリ残量低)すると、データ受信カード(C’)では、バッファEMPTY解除が行われ(図13中(14))、その旨を示す信号(ACK)がデータ送信カード(2)110ａへ送信される。
【０１１３】
データ送信カード(2)110aでは、このバッファEMPTY解除を示す信号(ACK)の受信が確認される(図13中(15))。その後、データ送信カード(2)110aとデータ受信カード(C’)との間では、逓倍CLK(周波数がMCLKの3倍のクロック)に同期してデータ部の送受信が行われる。
【０１１４】
このように、本実施例の通信システムでは、データ受信カード(C’)によるデータ部の受信中に、データ受信カード(C’)のバッファ21の空き容量が所定の値よりも大きくなった場合に、データ送信カード(2)110aとデータ受信カード(C’)との間におけるデータ部の転送レートを高め、データ受信カード(C’)のバッファ21の空き容量が所定値に戻った場合には、データ部の転送レートを高める前の状態に戻すように構成している。
【０１１５】
かかる構成により、データ受信カード(C’)のバッファ21にオーバーフローが発生することを防止しつつ、データ部の転送効率を向上させることができる。しかも、このように、データ送信カード(2)110aとデータ受信カード(C’)との間におけるデータ部の転送レートを変更する場合であっても、既存のデータ受信カード(A)110aに対しては、MCLKに同期してヘッダ部を送信するので、データ受信カード(A)110aの回路構成を変更しなくてもよい。
【０１１６】
次に、FPGA(C’)によるデータ部の転送速度可変時のシーケンス（FULL時）について、図14を参照して説明する。ここでは、データ送信カード(2)110aがデータ受信カード(C’)にデータ部の書き込み（ライト）を行う場合を例に挙げて説明する。
【０１１７】
図14に示すように、データ送信カード(2)110aは、まず、全てのデータ受信カード（ここでは、データ受信カード(C’)とデータ受信カード(A)120）に対して、シリアルデータの送信を行う。このとき、データ送信カード(2)110aは、ヘッダ部をMCLKに同期させ、データ部を逓倍CLK(ここでは、周波数がMCLKの3倍のクロック)に同期させて送信する(図14中(1))。
【０１１８】
データ受信カード(C’)では、受信したヘッダ部に格納されているカードIDがチェックされる（図14中(2)）。ここでは、受信したカードIDと自装置に割当てられているカードIDとが一致するので、データ受信部18によりデータ部が逓倍CLKに同期してデータ部の受信が行われる（図14中(3)）。
【０１１９】
そして、データ受信部18により受信されたデータ部は、バッファ21に順次記憶された後、内部メモリ20に記憶(ライト)される(図14中(4))。このとき、バッファ21の空き領域の残量に極端な変動がなく、データ部が正常に内部メモリ20に記憶された場合には、その旨を示す信号(ACK)がデータ受信カード(C’)からデータ送信カード(2)110aへ送信され、データ送信カード(2)110aにより受信されて確認される(図14中(5))。
【０１２０】
また、データ受信カード(A)120では、ヘッダ部を受信すると、そのヘッダ部に格納されているカードIDのチェックが行われる(図14中(6))。ここでは、受信したカードIDと自装置に割当てられているカードIDとが不一致であるため、データ部が廃棄される(図14中(7))。
【０１２１】
一方、データ受信カード(C’)によるデータ部の受信中に、バッファ21の空き領域(メモリ)残量が低下してバッファFULLが発生すると、バッファ容量チェック部22がデータ送信カード(2)110ａに信号(FULL)を送信する(図14中(8))。
【０１２２】
データ送信カード(2)110aは、データ受信カード(C’)から信号(FULL)を受信することによって、送信側（データ受信カード(C’)）のバッファ21がFULL状態であることを検出する(図14中(9))。
【０１２３】
その後、データ送信カード(2)110aは、データ受信カード(C’)に対してデータ部の転送速度を変更して、データ部の送信を行う。このとき、データ送信カード(2)110aは、逓倍CLKの周波数を逓倍(ここでは、1/3倍)に下げたクロックに同期させた転送レートでデータ部を送信すると共に、受信側(データ受信カード(C’)とデータ受信カード(A)120）に対して、FULL ACK(データ受信カード(C’)におけるバッファFULL発生を確認したことを示すデータ)をヘッダ部に格納して送信する(図14中(10))。このヘッダ部については、MCLKに同期して送信される。
【０１２４】
データ受信カード(A)120では、受信したヘッダ部に含まれるカードIDのチェックが行われる(図14中(16))。ここでは、受信したカードIDと予めデータ受信カード(A)120に割当てられているカードIDとが不一致であるため、受信したデータが廃棄される(図14中(17))。
【０１２５】
一方、データ受信カード(C’)では、受信したヘッダ部に含まれるカードIDのチェック、及び、受信したヘッダ部に含まれる送信側バッファ（データ受信カード(C’)のバッファ21）に関するFULL ACKのチェックが行われる(図14中(11))。
【０１２６】
ここでは、受信したカードIDが受信カード(C’)に割当てられているカードIDと一致するので、データ受信カード(C’)では、データ受信部18により、逓倍CLKの更に1/3倍(MCLKと同一)の周波数のクロックに同期してデータ部の受信が行われる(図14中(12))。
【０１２７】
そして、データ受信カード(C’)では、データ受信部18により受信されたデータ部の内部メモリ20への書き込み(ライト)が行われる(図14中(13))。その後、データ部の書き込み中に、バッファ21の記憶容量の残量が増大(メモリ残量増)すると、データ受信カード(C’)では、バッファFULL解除が行われ(図14中(14))、その旨を示す信号(ACK)がデータ送信カード(2)110ａへ送信される。
【０１２８】
データ送信カード(2)110aでは、このバッファFULL解除を示す信号(ACK)の受信が確認される(図14中(15))。その後、データ送信カード(2)110aとデータ受信カード(C’)との間では、逓倍CLK(周波数がMCLKの3倍のクロック)に同期してデータ部の送受信が行われる。
【０１２９】
このように、本実施例の通信システムでは、データ受信カード(C’)によるデータ部の受信中に、データ受信カード(C’)のバッファ21の空き容量が所定の値よりも小さくなった場合に、データ送信カード(2)110aとデータ受信カード(C’)との間におけるデータ部の転送レート(転送速度)を低くし、データ受信カード(C’)のバッファ21の空き容量が所定値に戻った場合には、データ部の転送レートを下げる前の状態に戻すように構成している。
【０１３０】
かかる構成により、データ受信カード(C’)のバッファ21にアンダーランが発生することを防止しつつ、データ部の転送効率を向上させることができる。しかも、このように、データ送信カード(2)110aとデータ受信カード(C’)との間におけるデータ部の転送レートを変更する場合であっても、既存のデータ受信カード(A)110aに対しては、MCLKに同期してヘッダ部を送信するので、データ受信カード(A)110aの回路構成を変更しなくてもよい。
【図面の簡単な説明】
【０１３１】
【図１】既存の回路構成を示す説明図である。
【図２】データ受信カード(A)またはデータ受信カード(B)との通信データフォーマットを示す説明図である。
【図３】データ受信カード(C)を追加した回路構成を示す説明図である。
【図４】データ受信カード(C)との通信データフォーマットを示す説明図である。
【図５】FPGA(A)の構成を示す説明図である。
【図６】FPGA(C)およびFPGA(2)の構成を示す説明図である。
【図７】FPGA(C)の構成を示す説明図である。
【図８】データ受信カード(C)宛にライトする場合のシーケンスを示す説明図である。
【図９】データ受信カード(A)宛にライトする場合のシーケンスを示す説明図である。
【図１０】データ受信カード(C)宛にリードする場合のシーケンスを示す説明図である。
【図１１】データ受信カード(A)宛にリードする場合のシーケンスを示す説明図である。
【図１２】FPGA(C’)の構成を示す説明図である。
【図１３】転送速度可変時のシーケンス（EMPTY時）を示す説明図である。
【図１４】転送速度可変時のシーケンス（FULL時）を示す説明図である。
【符号の説明】
【０１３２】
100  既存の回路
110  データ送信カード(1)
110a  データ送信カード(2)
111  FPGA（1）
111a  FPGA(2)
120  データ受信カード(A)
121  FPGA(A)
122  データ受信/送信部
130  データ受信カード(B)
131  FPGA(B)
140  CLKカード
141  CLK：クロック発生器
142  DRV：ドライバ
10  データ受信カード(C)
11  FPGA(C)
11a  FPGA(C’)
12、12a  データ受信/送信部
13  ヘッダ処理部
14、14a  データ処理部
15、15a  CLK逓倍部
16  カードIDチェック部
17  リードライトチェック部
18  データ受信部
19  データ送信部
20  内部メモリ
21  バッファ
22  バッファ容量チェック部
【図１】
2010081104.tif 000003
【図２】
2010081104.tif 000004
【図３】
2010081104.tif 000005
【図４】
2010081104.tif 000006
【図５】
2010081104.tif 000007
【図６】
2010081104.tif 000008
【図７】
2010081104.tif 000009
【図８】
2010081104.tif 000010
【図９】
2010081104.tif 000011
【図１０】
2010081104.tif 000012
【図１１】
2010081104.tif 000013
【図１２】
2010081104.tif 000014
【図１３】
2010081104.tif 000015
【図１４】
2010081104.tif 000016