IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7332783SerDesインターフェース回路および制御装置
<>
  • 特許-SerDesインターフェース回路および制御装置 図1
  • 特許-SerDesインターフェース回路および制御装置 図2
  • 特許-SerDesインターフェース回路および制御装置 図3
  • 特許-SerDesインターフェース回路および制御装置 図4
  • 特許-SerDesインターフェース回路および制御装置 図5
  • 特許-SerDesインターフェース回路および制御装置 図6
  • 特許-SerDesインターフェース回路および制御装置 図7
  • 特許-SerDesインターフェース回路および制御装置 図8
  • 特許-SerDesインターフェース回路および制御装置 図9
  • 特許-SerDesインターフェース回路および制御装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】SerDesインターフェース回路および制御装置
(51)【国際特許分類】
   H03M 9/00 20060101AFI20230816BHJP
   G06F 13/38 20060101ALI20230816BHJP
   G06F 3/00 20060101ALI20230816BHJP
   G05B 19/414 20060101ALI20230816BHJP
【FI】
H03M9/00 100
G06F13/38 340Z
G06F13/38 350
G06F3/00 P
G05B19/414 R
【請求項の数】 13
(21)【出願番号】P 2022501905
(86)(22)【出願日】2021-02-16
(86)【国際出願番号】 JP2021005703
(87)【国際公開番号】W WO2021166906
(87)【国際公開日】2021-08-26
【審査請求日】2022-09-14
(31)【優先権主張番号】P 2020027946
(32)【優先日】2020-02-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】萩原 勁
(72)【発明者】
【氏名】名嘉眞 朝将
【審査官】川口 貴裕
(56)【参考文献】
【文献】特表2018-533791(JP,A)
【文献】特表2010-535453(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 9/00
G06F 13/38
G06F 3/00
G05B 19/414
(57)【特許請求の範囲】
【請求項1】
第1周波数の第1クロック、前記第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックを受け取り、前記第1送信データを前記第2クロックに基づいて、入力された順に出力するFIFOと、
前記第2クロックに基づいて、前記FIFOの出力を取り込んで保持するフリップフロップと、
前記FIFOの出力、および、前記フリップフロップの出力を受け取り、前記第2クロックに基づいて、前記第1送信データに対応した同じデータが連続するパラレルデータを生成する出力ステートマシンと、
を有することを特徴とするSerDesインターフェース回路。
【請求項2】
前記出力ステートマシンが生成したパラレルデータにおいて、前記第1送信データに対応した同じデータが連続するビット数をV、前記第1クロックの周波数をW、前記第2クロックの周波数をX、そして、前記第2クロックに基づいた第2送信データのパラレルデータのビット数をYとしたとき、
前記出力ステートマシンは、以下の式で規定される、前記第2クロックに基づいたVビット同じデータが連続するパラレルデータを出力する、
V=(X×Y)/W
ことを特徴とする請求項1に記載のSerDesインターフェース回路。
【請求項3】
前記出力ステートマシンが出力するパラレルデータのビット数は、前記第2送信データのパラレルデータのビット数Yと同じである、
ことを特徴とする請求項2に記載のSerDesインターフェース回路。
【請求項4】
前記出力ステートマシンは、前記FIFOからのFIFO出力、および、前記FIFOからのFIFO出力を前記第2クロックの1クロック分前に取り込んだ前記フリップフロップからのFF出力を受け取り、前記FIFO出力および前記FF出力に基づいて前記Vビット同じデータが連続するパラレルデータを生成する、
ことを特徴とする請求項2または請求項3に記載のSerDesインターフェース回路。
【請求項5】
前記FIFOは、前記出力ステートマシンからの制御信号により、イネーブル制御される、
ことを特徴とする請求項4に記載のSerDesインターフェース回路。
【請求項6】
前記出力ステートマシンは、前記FIFOからの第1FIFO出力および第2FIFO出力、並びに、前記第2FIFO出力を前記第2クロックの1クロック分前に取り込んだ前記フリップフロップからのFF出力を受け取り、前記第1FIFO出力、前記第2FIFO出力および前記FF出力に基づいて前記Vビット同じデータが連続するパラレルデータを生成する、
ことを特徴とする請求項2または請求項3に記載のSerDesインターフェース回路。
【請求項7】
前記FIFOは、前記出力ステートマシンからの制御信号により、
前記第1FIFO出力を出力せずに前記第2FIFO出力のみを出力するか、或いは、
前記第1FIFO出力を出力し、前記第2FIFO出力として前記第1FIFO出力の次の順番で出力するデータを出力するか、が制御される、
ことを特徴とする請求項6に記載のSerDesインターフェース回路。
【請求項8】
第1周波数の第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックに基づいたYビットパラレルの第2送信データを処理する制御装置であって、
前記第2送信データを所定の通信レートのシリアルデータに変換するSerDesと、
前記第1送信データを受け取り、前記第1送信データに対応した同じデータが連続するYビットパラレル信号に変換して出力するSerDesインターフェース回路と、
前記第2送信データおよび前記SerDesインターフェース回路の出力の一方を選択して前記SerDesに出力するセレクタと、を有し、
前記SerDesインターフェース回路は、請求項1乃至請求項7のいずれか1項に記載のSerDesインターフェース回路である、
とを特徴とする制御装置。
【請求項9】
前記第2クロックの周波数をXとし、前記SerDesにより変換するシリアルデータの所定の通信レートをZとしたとき、前記所定の通信レートZは、Z=X×Yで表される、
ことを特徴とする請求項8に記載の制御装置。
【請求項10】
前記SerDesは、送られてきた所定の通信レートの受信シリアルデータを受信パラレルデータに変換する機能を有し、
前記SerDesにより変換された前記受信パラレルデータを受け取り、前記第1送信データと同じ規格の信号に変換する変換処理回路を、さらに、有する、
ことを特徴とする請求項8または請求項9に記載の制御装置。
【請求項11】
前記制御装置は、対向装置との間でシリアルデータによるデータ伝送を行い、
前記対向装置は、前記制御装置からのシリアルデータに基づいて動作が制御される、
ことを特徴とする請求項8乃至請求項10のいずれか1項に記載の制御装置。
【請求項12】
前記制御装置は、CNC装置であり、
前記対向装置は、前記CNC装置により制御される工作機械である、
ことを特徴とする請求項11に記載の制御装置。
【請求項13】
前記制御装置は、ロボット制御装置であり、
前記対向装置は、前記ロボット制御装置により制御される産業ロボットまたは協働ロボットである、
ことを特徴とする請求項11に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この出願で言及する実施例は、SerDesインターフェース回路および制御装置に関する。
【背景技術】
【0002】
近年、工作機械を制御するコンピュータ数値制御(CNC:Computerized Numerical Control)装置は、様々な機能の実装と共に高速化され、例えば、制御対象となる工作機械とCNC装置間のデータ通信には、大容量の高速データ伝送が可能なSerDes(SERializer/DESerializer:シリアライザ/デシリアライザ)が使用されている。
【0003】
SerDesは、例えば、一方の装置で使用されるパラレルデータをシリアルデータに変換して他方の装置に伝送し、その他方の装置で、受け取ったシリアルデータを再びパラレルデータに変換して使用するためのもので、パラレル通信における各ビット間の配線長や浮遊容量に起因するスキューを考慮することなく、また、配線や端子数を低減して高速データ通信を可能とするものである。
【0004】
ところで、従来、SerDesを使用したデータ通信に関する様々な提案がなされている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2019-140489号公報
【文献】特開2009-109488号公報
【文献】特開2011-193068号公報
【文献】特開2016-072772号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、SerDesは、大容量の高速データ通信が可能なため、様々な分野で利用されている。このSerDesは、例えば、ASIC(Application Specific Integrated Circuit)のメーカやテクノロジによって、通信可能な通信レート範囲が決まっているため、SerDesの下限以下の通信レートでは使用することできない。そのため、通信レートの異なる機種(装置や回路ブロック等を含む)による通信を、同じSerDesを使用して行うことは困難になっている。
【0007】
また、近年、1つの装置において、異なる仕様の複数のデータ(例えば、通信レート(動作クロック)が異なる複数のデータ)が利用されることがある。そこで、例えば、一方の装置(自装置)において、異なる通信レートのデータを、同じ(1つの)SerDesを使用して所定の通信レートのシリアルデータに変換し、他方の装置(対向装置)に伝送することが求められている。なお、対向装置では、伝送されて来たシリアルデータを、SerDesを使用して、或いは、他の通信インターフェースで処理することになる。
【0008】
具体的に、例えば、自装置がCNC装置の場合、180MHzのクロックに基づく16ビットパラレルデータと160MHzのクロックに基づく1ビット信号を、同じSerDesを使用して通信レートが2.88Gbpsのシリアルデータに変換し、対向装置(例えば、工作機械のサーボモータを制御するモータアンプ)に伝送することが求められている。なお、これらの装置は、CNC装置および工作機械に限定されるものではなく、例えば、自装置としてロボット制御装置を適用し、対向装置としてロボット制御装置により制御される産業ロボットや協働ロボット等を適用することもできる。
【0009】
さらに、180MHzの16ビットパラレルデータと160MHzの1ビット信号は、単なる例に過ぎず、180MHzや160MHzといったクロックの周波数は適宜変更され得るものであり、16ビットのパラレルデータも16ビットに限定されるものではない。また、160MHzの1ビット信号も、説明を簡略化するために1ビットとしているが、例えば、32ビットや64ビット等の複数ビットのパラレルデータであってもよいのはもちろんである。
【0010】
本発明は、上述した課題に鑑み、異なる通信レートのデータ伝送を同じSerDesを使用して行うことができるSerDesインターフェース回路および制御装置の提供を目的とする。
【課題を解決するための手段】
【0011】
本発明に係る実施の形態によれば、第1周波数の第1クロック、前記第1クロックに基づいた第1送信データ、および、前記第1周波数とは異なる第2周波数の第2クロックを受け取り、前記第1送信データを前記第2クロックに基づて、入力された順に出力するFIFOと、前記第2クロックに基いて、前記FIFOの出力を取り込んで保持するフリップフロップと、前記FIFOの出力、および、前記フリップフロップの出力を受け取り、前記第2クロックに基いて、前記第1送信データに対応した同じデータが連続するパラレルデータを生成する出力ステートマシンと、を有するSerDesインターフェース回路が提供される。
【発明の効果】
【0012】
開示のSerDesインターフェース回路および制御装置は、異なる通信レートのデータ伝送を同じSerDesを使用して行うことができるという効果を奏する。
【0013】
本発明の目的および効果は、特に請求項において指摘される構成要素および組み合わせを用いることによって認識され且つ得られるだろう。前述の一般的な説明および後述の詳細な説明の両方は、例示的および説明的なものであり、特許請求の範囲に記載されている本発明を制限するものではない。
【図面の簡単な説明】
【0014】
図1図1は、本発明に係る制御装置の一実施形態を示すブロック図である。
図2図2は、図1に示す制御装置におけるSerDesの一例を説明するための図である。
図3図3は、図1に示す制御装置におけるSerDesインターフェース回路の第1実施例を説明するための図である。
図4図4は、図3に示すSerDesインターフェース回路の動作を説明するための図である。
図5図5は、図1に示す制御装置におけるデータリカバリ回路の一例を示すブロック図である。
図6図6は、図5に示すデータリカバリ回路の動作を説明するための図である。
図7図7は、図3に示すSerDesインターフェース回路の他の適用例を説明するための図である。
図8図8は、図7に示すSerDesインターフェース回路の動作を説明するための図である。
図9図9は、図1に示す制御装置におけるSerDesインターフェース回路の変形例を説明するための図である。
図10図10は、図9に示すSerDesインターフェース回路における出力数制御機能付きFIFOを説明するための図である。
【発明を実施するための形態】
【0015】
以下、本発明に係るSerDesインターフェース回路および制御装置の実施例を、添付図面を参照して詳述する。図1は、本発明に係る制御装置の一実施形態を示すブロック図である。
【0016】
図1に示されるように、本実施形態の制御装置10は、新通信制御回路1、互換通信制御回路2、SerDesインターフェース回路3、データリカバリ(Data Recovery:DR)回路4、ビット変換回路5、セレクタ6、および、SerDes(シリアライザ/デシリアライザ)7を有する。
【0017】
制御装置10は、例えば、新通信制御回路1を介した180MHzの16ビットパラレルデータ(周波数が180MHzのクロックに基づく16ビットのパラレルデータ:第2送信データ)、および、互換通信制御回路2を介した160MHzの1ビット信号(周波数が160MHzのクロックに基づく1ビットの信号:第1送信データ)を、SerDes7により、通信レートが2.88Gbps(ビット/秒)のシリアルデータに変換して、対向装置(通信相手側の装置)200との間で授受する。
【0018】
例えば、対向装置200にもSerDesを設け、制御装置10(自装置100)から送られた、2.88Gbpsのシリアルデータをパラレルデータに変換して使用することができる。すなわち、対向装置200のSerDesにより、2.88Gbpsのシリアルデータを、180MHzの16ビットパラレルデータ、および、160MHzの信号に変換し、例えば、180MHzの16ビットパラレルデータにより制御される回路、および、160MHzの信号により制御される回路に入力するようにしてもよい。
【0019】
或いは、対向装置200にSerDesを設けずに、他の通信インターフェース回路を利用して、送られてきたシリアルデータを処理することもできる。なお、互換通信制御回路2を介した160MHzの信号は、説明を簡略化するために1ビットとしているが、複数ビットのパラレルデータであってもよいのは前述した通りである。
【0020】
ここで、自装置100としては、例えば、CNC装置およびロボット制御装置といった様々な制御装置を挙げることができ、また、対向装置200としては、CNC装置により制御される種々の工作機械および産業ロボットや協働ロボットといった装置(或いは、その工作機械およびロボットにおける電動機を制御するためのモータアンプ等)を挙げることができるが、これらに限定されるものではない。
【0021】
SerDesインターフェース回路3は、互換通信制御回路2から160MHzの1ビット信号(第1送信データ)を受け取り、この第1送信データに対応した(同じ)論理値を有する180MHzのクロックに基づいたパラレルの信号に変換して出力する。セレクタ6は、新通信制御回路1からの180MHzの16ビットパラレルデータ(第2送信データ)と、SerDesインターフェース回路3からの180MHzの16ビットパラレルデータを受け取り、その一方を選択してSerDes7の送信用パラレルデータ入力(TX_pData)に出力する。
【0022】
図2は、図1に示す制御装置におけるSerDesの一例を説明するための図である。ここで、図2(a)は、SerDes7の入出力データを示すブロック図、図2(b)は、SerDes7のデータ送信時の処理(パラレル・シリアル変換処理)を説明するための図、そして、図2(c)は、SerDes7のデータ受信時の処理(シリアル・パラレル変換処理)を説明するための図である。なお、SerDesは、特に高速インターフェースにおいて、パラレルインターフェース間をシリアル接続する際などに利用されるが、本実施形態の制御装置10のSerDes7としては、一般的なSerDesを適用することができる。
【0023】
図2(a)において、参照符号TX_pDataは、自装置(制御装置10が設けられたこちら側の装置)100から対向装置200に送る送信パラレルデータ(例えば、180MHzのクロックに基づいた16ビットパラレルの送信パラレルデータ:および、送信パラレルデータの入力)を示し、TX_sDataは、送信パラレルデータTX_pDataをシリアルデータに変換して対向装置200に送る送信シリアルデータ(例えば、通信レートが2.88Gbpsの送信シリアルデータ:および、送信シリアルデータの出力)を示す。
【0024】
また、図2(a)において、参照符号RX_sDataは、対向装置200から送られてきた受信シリアルデータ(例えば、通信レートが2.88Gbpsの受信シリアルデータ:および、受信シリアルデータの入力)を示し、RX_pDataは、受信シリアルデータRX_sDataをパラレルデータに変換した受信パラレルデータ(例えば、180MHzのクロックに基づいた16ビットパラレルの受信パラレルデータ:および、受信パラレルデータの出力)を示す。なお、pCLKは、送信パラレルデータTX_pDataのクロック(例えば、180MHzのクロック:および、送信パラレルデータのクロックの入力)を示し、RCLKは、受信シリアルデータをCDR(Clock Data Recovery)で受け、その受信シリアルデータから再生したリカバリクロック(および、リカバリクロックの出力)を示す。
【0025】
まず、図2(b)に示されるように、データ送信時において、SerDes7は、例えば、180MHzのpCLKに基づいた16ビットの送信パラレルデータTX_pDataを、下位ビットから出力するようにパラレル・シリアル変換し、すなわち、180MHz×16ビットに基いて、通信レートが2.88Gbpsの送信シリアルデータTX_sDataに変換し、対向装置200に出力する。次に、図2(c)に示されるように、データ受信時において、SerDes7は、対向装置200から通信レートが2.88Gbpsの受信シリアルデータRX_sDataを受け取り、16ビットの受信パラレルデータRX_pDataに変換して出力する。
【0026】
このように、SerDes7は、動作クロックの周波数をX(例えば、180MHz)とし、パラレルデータのビット数をY(例えば、16ビット)としたとき、シリアルデータの通信レートZは、Z=X×Y[bps](例えば、180MHz×16ビット=2.88Gbps)とすることができる。
【0027】
図3は、図1に示す制御装置におけるSerDesインターフェース回路の第1実施例を説明するための図である。ここで、図3(a)は、SerDesインターフェース回路の第1実施例を示すブロック図であり、図3(b)および図3(c)は、図3(a)に示すSerDesインターフェース回路における出力ステートマシンの動作を説明するための図である。図3(a)に示されるように、SerDesインターフェース回路3は、FIFO(出力イネーブル(EN)付きFIFO(First In First Out))31、フリップフロップ(FF)32および出力ステートマシン33を有する。
【0028】
FIFO31は、周波数が160MHzの入力用クロック(第1クロック)、160MHzのクロックに基づいた1ビットの信号(160MHzの送信データ:第1送信データ)、および、周波数が180MHzの出力用クロック(第2クロック)を受け取り、第1送信データを第1クロックに基いて取り込み、出力ENが『1』の場合、取り込んだデータを第2クロックに基いて順に出力する。また、出力ENが『0』の場合には、直前の出力を維持する。FIFO31の出力は、信号Aとして出力ステートマシン33に入力されると共に、フリップフロップ32のデータ端子に入力される。ここで、第2クロックの周波数は、図1を参照して説明した新通信制御回路1から出力される16ビットのパラレルデータの動作クロック(180MHz)に対応している。
【0029】
フリップフロップ32のクロック端子には、180MHzの第2クロックが入力され、FIFO31からの第1送信データを、第2クロックに基いて取り込んで保持し、その保持しているデータを、信号Bとして出力ステートマシン33に出力する。すなわち、出力ステートマシン33は、あるタイミングにおけるFIFO31からの第1送信データ(A:FIFO出力)と、そのタイミングよりも、第2クロックの1クロック分前のタイミングにおけるFIFO31からの第1送信データ(B:FF出力)を受け取ることになる。なお、出力ステートマシン33のクロック入力端子には、第2クロックが入力され、また、FIFO31の出力イネーブル端子には、出力ステートマシン33からのイネーブル信号(EN)が入力されるようになっている。
【0030】
出力ステートマシン33は、端子Aに入力された信号(A)と、端子Bに入力された信号(B)に基づいて、例えば、シリアルデータにおいて、18ビット同じデータが連続する(同じ論理値を有する)パラレルデータを生成する。ここで、図3(b)において、例えば、状態「1」におけるデータ「B」は、フリップフロップ32により1つ前のクロック(180MHz)により取り込まれたデータであるため、状態「0」におけるデータ「A」と同じ論理値を有している。そこで、状態「0」におけるデータ「A」の16ビットのパラレルデータに対して、状態「1」におけるデータ「B」の2ビットのパラレルデータを加えることにより、18ビット同じ論理値を有する16ビットのパラレルデータが生成される。
【0031】
同様に、例えば、状態「1」におけるデータ「A」の14ビットのパラレルデータに対して、状態「2」におけるデータ「B」の4ビットのパラレルデータを加えることにより、18ビット同じ論理値を有する16ビットのパラレルデータが生成され、さらに、状態「4」におけるデータ「A」の8ビットのパラレルデータに対して、状態「5」におけるデータ「B」の10ビットのパラレルデータを加えることにより、18ビット同じ論理値を有する16ビットのパラレルデータが生成される。また、状態「7」のENが『0』のため、状態「8」ではFIFO出力が更新されず、状態「7」の「A」と状態「8」の「B」に入力したデータの次のFIFO出力データは、状態「0」の「A」と状態「1」の「B」に入力される。
【0032】
このようにして、例えば、互換通信制御回路2からの160MHzの1ビット信号を8ビット分、状態「0」から状態「8」の間に処理し、それが繰り返されることになる。図3(c)は、図3(a)のFIFO31にD0,D1,D2,…(ここで、D0,D1,D2,…は、それぞれ『0』または『1』)とデータが入力した場合における、1クロック(180MHz)毎のFIFO31、FF32および出力ステートマシン33の入出力信号および内部状態を示す。
【0033】
図3(c)に示されるように、例えば、状態「8」では、「A」が出力ステートマシン33のパラレルデータに現れないため、FIFO31における出力データの更新を止める必要があり、状態「7」でENを『0』にする。また、状態「8」におけるFIFO31の出力「A」と状態「0」におけるFF32の出力「B」は、両方ともD8となっているが、パラレルデータに影響することはない(すなわち、FIFO31のデータ更新を止めたためD8となっているが、別に『0』でも『1』でもかまわない)。このように、図3(c)から、状態「0」から状態「8」までの1セットで8ビットのデータが、18ビットずつパラレルデータとして出力されていることが理解されるであろう。
【0034】
ここで、出力ステートマシン33が生成したパラレルデータ(16ビットパラレルデータ)において、第1送信データ(160MHzの1ビットの信号)に対応した同じデータが連続するビット数をV(18)、第1クロックの周波数をW(160MHz)、第2クロックの周波数をX(180MHz)、そして、第2クロックに基づいた第2送信データにおけるパラレルデータのビット数をY(16)としたとき、同じデータが連続するビット数Vは、V=(X×Y)/Wで表すことができる。
【0035】
以上において、FIFO31に入力する第1送信データが複数ビットの場合、例えば、互換通信制御回路2からの信号が160MHzの複数の信号の場合でも、実質的に同様の処理を行うことが可能である。
【0036】
図4は、図3に示すSerDesインターフェース回路の動作を説明するための図である。上述したように、送信パラレルデータTX_pDataとして、SerDesインターフェース回路3(出力ステートマシン33)により生成した「1111111111111111」のような連続した同じデータをSerDes7に入力することにより、実質的な通信レートを下げることができる。
【0037】
図4に示されるように、例えば、2.88Gbpsの通信レートで160Mbpsの信号を送る場合、160Mbps(MHz)の1ビットの信号を同じSerDes7(同じ通信レート)で送るには、2.88G/160M=18なので、160Mbpsの1ビットの信号を18ビット同じデータが連続するパラレルデータに変換してSerDes7に入力することになる。
【0038】
これにより、SerDesインターフェース回路3(出力ステートマシン33)は、180MHzの16ビットパラレルデータを出力するが、160Mbpsの1ビットに対応するデータは、同じ論理値を18ビット分連続させたパラレルデータとなっているため、実質的に、送信シリアルデータTX_sDataの通信レートを下げてデータ伝送を行うことになる。これにより、異なる通信レート(異なる規格)のデータ伝送を、同じSerDes7を使用して行うことが可能になる。
【0039】
図5は、図1に示す制御装置におけるデータリカバリ回路の一例を示すブロック図であり、図6は、図5に示すデータリカバリ回路の動作を説明するための図である。図5において、参照符号RX_sDataは受信シリアルデータ、REFCLKは基準クロック、RX_pDataはnビットの受信パラレルデータ、RCLKは通信レートの1/nの周波数のリカバリクロック、そして、Edg_dataはエッジ位置データを示す。また、参照符号Calc_edgはエッジ予測位置データ、Sample_pointはサンプリング位置データ、cntupは位相を進めるための位相制御信号、cntdnは位相を遅らせるための位相制御信号、rdataはリカバリデータ、そして、Rdata_enはデータイネーブル信号を示す。
【0040】
図5に示すデータリカバリ(DR)回路4は、先に記載した特許文献4で開示されたデータ再生回路に対応するものである。前に、図1および図2を参照して説明したように、例えば、SerDes7により、通信レートが2.88Gbpsの受信シリアルデータRX_sDataを、180MHzのクロックに基づいた16ビットパラレルの受信パラレルデータRX_pDataに変換する。そして、図1に示されるように、このSerDes7により変換された受信パラレルデータRX_pDataがDR回路4に入力される。なお、DR回路4は、2ビットの信号をデータイネーブルRdata_enと共に、ビット変換回路5に出力し、ビット変換回路5は、データイネーブルRdata_enに基いて1ビットの信号を生成し、互換通信制御回路2に対して、160MHzの1ビット信号を出力する。すなわち、DR回路4およびビット変換回路5は、SerDes7により変換された受信パラレルデータRX_pDataを受け取り、160MHzの1ビット信号(第1送信データ)と同じ規格の信号に変換して、互換通信制御回路2に出力する変換処理回路を構成する。
【0041】
図5に示されるように、DR回路4は、オーバーサンプリング部(SerDes)7からの信号(受信パラレルデータRX_pDataおよびリカバリクロックRCLK)を受け取る。オーバーサンプリング部7は、シリアル通信で受信したシリアルデータ(受信シリアルデータ)RX_sDataをシリアルデータの通信レートよりも高い周波数のクロックでサンプリングし、n(nは2以上の整数)ビットの受信パラレルデータRX_pData、および、そのサンプリングクロックの1/nの周波数のリカバリクロックRCLKを出力する。
【0042】
DR回路4は、エッジ検出部41、エッジ位置計算部42、データサンプリング部43および位相比較部44を有する。エッジ検出部41は、図6に示されるように、パラレルデータのエッジ位置を検出し、エッジデータとして出力する。エッジ位置計算部42は、オーバーサンプリング部7が出力する次回のパラレルデータのエッジ位置を位相比較部44が出力する位相制御信号から予測し、エッジ予測位置データとして出力し、さらに、エッジ予測位置データから半位相ずらしたデータをサンプリング位置データとして出力する。
【0043】
位相比較部44は、エッジ検出部41が出力したエッジデータと、エッジ位置計算部42が出力したエッジ予測位置データとを比較し、位相制御信号(cntup,cntdn)を出力する。データサンプリング部43は、オーバーサンプリング部7が出力するパラレルデータからエッジ位置計算部42が出力するサンプリング位置データによりデータの抽出を行い、すなわち、図6に示されるように、データ中心をサンプリングし、リカバリデータ(再生データ)として、データの有効性を示すデータイネーブルRdata_enと共に出力する。
【0044】
そして、例えば、DR回路4から出力される2ビットの信号は、ビット変換回路5により、データイネーブルRdata_enに基いて1ビットの信号とされ、ビット変換回路5から互換通信制御回路2に対して、160MHzの1ビット信号が出力される。このようにして、制御装置10は、データ送信およびデータ受信の両方において、異なる通信レート(異なる規格)のデータ伝送を同じSerDesを使用して行うことが可能になる。なお、DR回路4およびビット変換回路5は、単なる例であり、様々な変更および変形が可能であり、また、知られている様々な回路を適用することが可能である。
【0045】
図7は、図3に示すSerDesインターフェース回路の他の適用例を説明するための図である。ここで、図7(a)は、SerDesインターフェース回路の他の適用例を示すブロック図であり、図7(b)は、図7(a)に示すSerDesインターフェース回路における出力ステートマシンの動作を説明するための図である。なお、図7(a)の構成は、実質的に、前述した図3(a)と同様であり、その説明は省略する。
【0046】
前述した図3および図4は、180MHzのクロックに基づく16ビットパラレルデータと160MHzのクロックに基づく1ビットの信号を、SerDes7を介して2.88Gbpsのシリアルデータに変換して対向装置200へ伝送する場合のSerDesインターフェース回路3の適用例を示しているが、図7および図8は、120MHzのクロックに基づく18ビットパラレルデータと90MHzのクロックに基づく1ビットの信号を、SerDes7を介して2.16Gbpsのシリアルデータに変換して対向装置200へ伝送する場合のSerDesインターフェース回路3の適用例を示すものである。
【0047】
出力ステートマシン33は、端子Aに入力された信号(A:FIFO出力)と、その信号(A)を1クロック分前のタイミングで取り込んで保持したフリップフロップの出力である端子Bに入力された信号(B:FF出力)を使用して、例えば、シリアルデータにおいて、24ビット同じデータが連続する(同じ論理値を有する)パラレルデータを生成する。この出力ステートマシン33(SerDesインターフェース回路3)が出力する信号は、新通信制御回路1から出力される120MHzの18ビットのパラレルデータに対応している。
【0048】
すなわち、図7(b)に示されるように、出力ステートマシン33は、信号AおよびBから24ビット同じ論理値を有するパラレルデータを生成するが、例えば、状態「1」におけるデータ「B」は、フリップフロップ32により1つ前のクロックにより取り込まれたデータであるため、状態「0」におけるデータ「A」と同じ論理値を有している。そこで、状態「0」におけるデータ「A」の18ビットのパラレルデータに対して、状態「1」におけるデータ「B」の6ビットのパラレルデータを加えることにより、24ビット同じ論理値を有する18ビットのパラレルデータが生成される。
【0049】
同様に、例えば、状態「1」における信号Aの12ビットのパラレルデータに対して、状態「2」における信号Bの12ビットのパラレルデータを加えることにより、24ビット同じ論理値を有する18ビットのパラレルデータが生成される。また、状態「2」のENが『0』のため、状態「3」ではFIFO31の出力が更新されず、状態「2」の「A」と状態「3」の「B」に入力したデータの次のFIFO31の出力データは、状態「0」の「A」と状態「1」の「B」に入力される。このようにして、例えば、互換通信制御回路2からの90MHzの1ビット信号を3ビット分、状態「0」から状態「3」の間に処理し、それが繰り返されることになる。
【0050】
図8は、図7に示すSerDesインターフェース回路の動作を説明するための図である。上述したように、送信パラレルデータTX_pDataとして、SerDesインターフェース回路3(出力ステートマシン33)により生成した「111111111111111111」のような連続した同じデータを入れることにより、実質的な通信レートを下げることができる。
【0051】
すなわち、図8に示されるように、例えば、2.16Gbpsの通信レートで120Mbpsの信号を送る場合、90Mbpsの1ビットの信号を同じSerDes7(同じ通信レート)で送るには、2.16G/120M=24なので、90Mbpsの1ビットの信号を24ビット同じデータが連続するパラレルデータに変換してSerDes7に入力すればよい。
【0052】
これにより、SerDesインターフェース回路3(出力ステートマシン33)は、120MHzの18ビットパラレルデータを出力するが、90Mbpsの1ビットに対応するデータは、同じ論理値を24ビット分連続させたパラレルデータとなるため、実質的に、送信シリアルデータTX_sDataの通信レートを下げてデータ伝送を行うことになる。これにより、異なる通信レートのデータ伝送を、同じSerDes7を使用して行うことが可能になる。
【0053】
ここで、出力ステートマシン33が生成したパラレルデータ(18ビットパラレルデータ)において、第1送信データ(90MHzの1ビットの信号)に対応した同じデータが連続するビット数をV(24)、第1クロックの周波数をW(90MHz)、第2クロックの周波数をX(120MHz)、そして、第2クロックに基づいた第2送信データにおけるパラレルデータのビット数をY(18)としたとき、同じデータが連続するビット数Vは、V=(X×Y)/Wで表すことができる。
【0054】
図9は、図1に示す制御装置におけるSerDesインターフェース回路の変形例を説明するための図である。ここで、図9(a)は、SerDesインターフェース回路の変形例を示すブロック図であり、図9(b)は、図9(a)に示すSerDesインターフェース回路における出力ステートマシンの動作を説明するための図である。なお、図9(a)と、図3(a)および図7(a)の比較から明らかなように、本変形例のSerDesインターフェース回路3では、出力イネーブル付きFIFO31が出力数制御機能付きFIFO31’とされ、それに対応して出力ステートマシン33が出力ステートマシン33’とされている。さらに、本変形例では、80MHzのクロックに基づく16ビットパラレルデータと128MHzのクロックに基づく1ビットの信号を、SerDes7を介して1.28Gbpsのシリアルデータに変換して対向装置へ伝送する場合のSerDesインターフェース回路3の適用例を示している。
【0055】
図9(a)に示されるように、FIFO31’は、周波数が128MHzの入力用クロック(第1クロック)、128MHzのクロックに基づいた1ビットの信号(動作周波数が128MHzの送信データ:第1送信データ)、および、周波数が80MHzの出力用クロック(第2クロック)を受け取り、第1送信データを第1クロックに基いて取り込み、取り込んだデータを第2クロックに基いて順に出力する。FIFO31’の出力(第1FIFO出力)O1は、信号Aとして出力ステートマシン33’に入力され、出力(第2FIFO出力)O2は、信号Bとして出力ステートマシン33’に入力されると共に、フリップフロップ32のデータ端子に入力される。
【0056】
さらに、FIFO31’は、出力ステートマシン33’から出力される出力数制御信号Next_Numを、出力数制御端子Out_Numで受け取る。本変形例において、例えば、80MHzの16ビットパラレルデータと128MHzの1ビットの信号を通信レート1.28GbpsのSerDes7を介して送るには、1.28G/128M=10なので、128MHzの1ビットの信号を10ビット同じデータが連続するパラレルデータに変換してSerDes7に入力すればよいことになる。
【0057】
図10は、図9に示すSerDesインターフェース回路における出力数制御機能付きFIFOを説明するための図であり、図10(a)は、Out_Num=1の場合を示し、図10(b)は、Out_Num=2の場合を示す。
【0058】
まず、図10(a)に示されるように、Out_Num=1の場合、最初に入力されて格納しているデータ(最初に出力するデータ:FIFOの「1」に格納されているデータ)を出力(第1FIFO出力)O2に出力し、出力(第2FIFO出力)O1には何も出力しない。次に、図10(b)に示されるように、Out_Num=2の場合、FIFOの「1」に格納されているデータ)を出力O1に出力すると共に、FIFOの「2」に格納されているデータ(「1」の次に出力するデータ)を出力O2に出力する。これにより、前述した図3および図4を参照して説明した例、並びに、図7および図8を参照して説明した例と同様に、異なる通信レート(異なる規格)のデータ伝送を、同じSerDes7を使用して行うことが可能になる。
【0059】
すなわち、図9(b)に示されるように、出力ステートマシン33’は、端子Aの信号(A:O1)、端子Bの信号(B:O2)および端子Cの信号(C:フリップフロップ32の出力信号)から10ビット同じデータが連続するパラレルデータを生成する。ここで、図9(b)において、例えば、状態「1」におけるデータ「C」は、フリップフロップ32により1つ前のクロックにより出力O2を取り込んだデータであるため、状態「0」におけるデータ「B:O2」と同じ論理値を有している。そこで、状態「0」におけるデータ「A」の10ビット同じデータが連続するパラレルデータが生成されるいうだけでなく、状態「0」におけるデータ「B」の6ビットのパラレルデータに対して、状態「1」におけるデータ「C」の4ビットのパラレルデータを加えた10ビット同じ論理値を有するパラレルデータも生成される。
【0060】
この10ビット同じ論理値を有するパラレルデータの生成は、例えば、状態「2」におけるデータ「B」の8ビットのパラレルデータに対して、状態「3」におけるデータ「C」の2ビットのパラレルデータを加えることによっても同様に行うことができる。このように、出力ステートマシン33’から出力される出力数制御信号Next_NumによりFIFO31’の出力O1およびO2を制御することにより、同様の処理を行うことができる。
【0061】
すなわち、FIFO31’は、出力ステートマシン33’からの制御信号により、第1FIFO出力(O1)を出力せずに第2FIFO出力(O2)のみを出力するか、或いは、第1FIFO出力(O1:「1」のデータ)を出力し、第2FIFO出力(O2)として第1FIFO出力の次の順番で出力するデータ(「2」)を出力するか、が制御されるようになっている。なお、上述したSerDesインターフェース回路3は、単なる例であり、様々な変更よび変形が可能なのはいうまでもない。
【0062】
ここで、出力ステートマシン33’が生成したパラレルデータ(16ビットパラレルデータ)において、第1送信データ(128MHzの1ビットの信号)に対応した同じデータが連続するビット数をV(10)、第1クロックの周波数をW(128MHz)、第2クロックの周波数をX(80MHz)、そして、第2クロックに基づいた第2送信データにおけるパラレルデータのビット数をY(16)としたとき、同じデータが連続するビット数Vは、V=(X×Y)/Wで表すことができる。
【0063】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【0064】
1 新通信制御回路
2 互換通信制御回路
3 SerDesインターフェース回路
4 データリカバリ(DR)回路
6 セレクタ
7 SerDes(シリアライザ/デシリアライザ),オーバーサンプリング部
10 制御装置
31 FIFO(出力イネーブル付きFIFO)
31’ FIFO(出力数制御機能付きFIFO)
32 フリップフロップ(FF)
33,33’ 出力ステートマシン
41 エッジ検出部
42 エッジ位置計算部
43 データサンプリング部
44 位相比較部
100 自装置(制御装置)
200 対向装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10