説明

データ転送装置

【課題】複数の回路間のリセットタイミングのずれを小さくし、かつコストを削減する。
【解決手段】クロック生成部100、制御部200、送信部300,400を備えるデータ転送装置において、複数のモジュール内のクロックを同期させるため、複数の送信部の各々において、ビットクロックの連続する立ち上がりエッジを用いてリセット信号を複数回サンプリングすることで、送信部間のリセット信号の位相のずれを低減し、各送信部における分周クロックの位相を揃えることを可能とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ転送装置に関するものである。
【背景技術】
【0002】
SATA(Serial Advanced Technology Attachment)やPCIe(PCI Express)などのシリアル転送インタフェースは、データの送信/受信が行われるレーンを複数有する。消費電流やノイズの観点から、各レーンにクロック信号を分配する信号線の数は少ない方が好ましい。また、データ転送を正しく行うために、レーン間のクロックの位相を揃える(リセットのタイミングを揃える)ことが求められる。
【0003】
上記のような課題を解決するため、自モジュール内で使用されるクロック及び一定周期のリセットパルスを生成する親モジュールと、自モジュール内で使用されるクロックを生成し、前記リセットパルスに基づいて一定周期毎にリセットする子モジュールとを備え、親モジュール内のクロックと子モジュール内のクロックとを同期させる通信システムが提案されている(例えば特許文献1参照)。
【0004】
しかし、上記特許文献1の通信システムでは、親モジュール、子モジュールがそれぞれクロック生成回路(PLL回路)を有するため、回路面積や消費電力が大きくなるという問題があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−127141号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、複数の回路間のリセットタイミングのずれを小さくし、かつコストを削減したデータ転送装置提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様によるデータ転送装置は、第1クロック信号及び前記第1クロック信号をN分周(Nは2以上の整数)した第2クロック信号を生成するクロック生成部と、第1リセット信号及び第1〜第S(Sは2以上の整数)のパラレルデータが与えられ、各パラレルデータを前記第2クロック信号に同期させて出力すると共に、前記第1リセット信号を前記第2クロック信号に同期させた第2リセット信号を出力する制御部と、前記第2リセット信号を前記第1クロック信号を用いて複数回サンプリングし、第3リセット信号を生成するリセット同期化部、前記第3リセット信号に基づいてリセットされ、前記第1クロック信号から第3クロック信号を生成する分周器、及び前記第3クロック信号に基づいて第kのパラレルデータ(kは1≦k≦Sにおける全ての整数)をシリアルデータに変換するシリアライザを有する第kの送信部と、を備えるものである。
【発明の効果】
【0008】
本発明によれば、複数の回路間のリセットタイミングのずれを小さくし、かつコストを削減できる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態に係るデータ転送装置の概略構成図である。
【図2】リセット同期化部の概略構成図である。
【図3】リセット信号及び分周クロックの遷移を示すタイミングチャートである。
【図4】変形例によるデータ転送装置の概略構成図である。
【図5】リセット同期化部の概略構成図である。
【図6】各信号の遷移を示すタイミングチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
【0011】
図1に本発明の実施形態に係るデータ転送装置の概略構成を示す。データ転送装置は、クロック生成部100、制御部200、送信部300及び400を備える。
【0012】
クロック生成部100は、PLL(Phase Locked Loop)回路110、分周器120、バッファ130及び140を有する。PLL回路110は、周波数の高いクロック(ビットクロック)信号ICLKを出力する。分周器120は、PLL回路110から出力されたクロック信号ICLKをN分周し(Nは2以上の整数)、低周波のクロック信号PCLKを出力する。
【0013】
制御部200は、フリップフロップ210、230、及びフリップフロップ群220、240を有する。フリップフロップ210は、クロック信号PCLKの立ち上がりエッジでリセット信号R1(D入力)の値を保持し、リセット信号R2を送信部300へ出力する。リセット信号R1は制御部200の外部において、クロック信号ICLKとは非同期に生成される。
【0014】
フリップフロップ群220は複数のフリップフロップを有する。フリップフロップ群220には複数ビットのパラレルデータであるデータD1が与えられ、データD1の各ビットが対応するフリップフロップに入力される。例えばデータD1が10ビットのパラレルデータであった場合、フリップフロップ群220は各ビットに対応する10個のフリップフロップを有する。各フリップフロップは、クロック信号PCLKの立ち上がりエッジでD入力の値を保持し、送信部300へ出力する。
【0015】
フリップフロップ230は、フリップフロップ210と同様に、クロック信号PCLKの立ち上がりエッジでリセット信号R1(D入力)の値を保持し、リセット信号R2を送信部400へ出力する。
【0016】
また、フリップフロップ群240は、パラレルデータD2の各ビットに対応する複数のフリップフロップを有し、クロック信号PCLKの立ち上がりエッジでD入力の値を保持し、送信部400へ出力する。
【0017】
送信部300は、リセット同期化部310、分周器320、330、及びシリアライザ340を有する。なお、送信部400は送信部300と同様の構成となっているため、説明を省略する。分周器320はクロック信号ICLKを2分周し、クロック信号HSCLKを出力する。分周器330はクロック信号HSCLKの周波数を2/N倍して、クロック信号LSCLKを出力する。つまり、クロック信号LSCLKはクロック信号ICLKをN分周した信号であり、クロック信号PCLKと同じ周波数を有する。
【0018】
リセット同期化部310は、クロック信号ICLKを用いてリセット信号R2を複数回サンプリングし、サンプリングしたリセット信号R3を分周器320、330へ出力する。リセット同期化部310は、クロック信号ICLKの隣接した(連続する)立ち上がりエッジを用いてサンプリングを行う。
【0019】
図2にリセット同期化部310、分周器320及び330の概略構成を示す。リセット同期化部310は、フリップフロップ311、312、及びORゲート313を有する。フリップフロップ311は、D型フリップフロップであり、D入力にハイレベルが与えられ、クロック信号ICLKに同期して動作する。また、フリップフロップ311は、リセット信号R2によりリセットされる。
【0020】
フリップフロップ312のD入力にはフリップフロップ311のQ出力が与えられ、クロック信号ICLKに同期して動作する。また、フリップフロップ312は、リセット信号R2によりリセットされる。ORゲート313にはフリップフロップ312の/Q出力及びリセット信号R2が与えられ、リセット信号R3を出力する。
【0021】
分周器320は、D入力と/Q出力が接続されたフリップフロップにより構成される。クロックが2回変化すると出力が1回変化する。このフリップフロップはクロック信号ICLKをクロックとして動作し、リセット信号R3によりリセットされる。
【0022】
図3に、クロック信号ICLK、リセット信号R2、フリップフロップ311のQ出力、フリップフロップ312の/Q出力、リセット信号R3、クロック信号HSCLKのタイミングチャートの一例を示す。
【0023】
なお、図3には、リセット信号R2と立ち下がり(リセット解除)のタイミングが少しずれたリセット信号R2’と、リセット信号R2’に対応するフリップフロップ311のQ出力、フリップフロップ312の/Q出力、リセット信号R3、クロック信号HSCLKも示す。図3の上段がリセット信号R2に対応するタイミングチャートであり、下段がリセット信号R2’に対応するタイミングチャートである。
【0024】
図3に示すように、リセット信号R2はクロック信号ICLKの立ち上がり(時刻t1)と同時に立ち下がる。これにより、フリップフロップ311、312のリセットが解除される。フリップフロップ311のQ出力は、クロック信号ICLKが次に立ち上がった時(時刻t2)に立ち上がる。これがクロック信号ICLKによるリセット信号R2の1回目のサンプリングに相当する。そして、フリップフロップ312の/Q出力は、クロック信号ICLKが次に立ち上がった時(時刻t3)に立ち下がる。これがクロック信号ICLKによるリセット信号R2の2回目のサンプリングに相当する。
【0025】
リセット信号R2は時刻t1で既に立ち下がっているため、ORゲート313から出力されるリセット信号R3は、フリップフロップ312の/Q出力の立ち下がりに伴い、時刻t3で立ち下がる。これにより、フリップフロップ320はリセットが解除され、動作を開始する。フリップフロップ320は、リセット信号R3が立ち下がってから、次にクロック信号ICLKが立ち上がった時、すなわち時刻t4にクロック信号HSCLKの出力を開始する。
【0026】
また、図3に示すように、リセット信号R2’は時刻t1の少し後に立ち下がる。これにより、フリップフロップ311、312のリセットが解除される。フリップフロップ311のQ出力は、クロック信号ICLKが次に立ち上がった時(時刻t2)に立ち上がる。そして、フリップフロップ312の/Q出力は、クロック信号ICLKが次に立ち上がった時(時刻t3)に立ち下がる。
【0027】
リセット信号R2’は時刻t3より前に立ち下がっているため、ORゲート313から出力されるリセット信号R3は、フリップフロップ312の/Q出力の立ち下がりに伴い、時刻t3で立ち下がる。これにより、フリップフロップ320はリセットが解除され、動作を開始する。フリップフロップ320は、リセット信号R3が立ち下がってから、次にクロック信号ICLKが立ち上がった時、すなわち時刻t4にクロック信号HSCLKの出力を開始する。
【0028】
このように、リセット信号R2、R2’の位相(リセット解除のタイミング)が多少ずれても、クロック信号ICLKに同期して動作する2つのフリップフロップ311、312の出力変化を待つことで、リセット信号R2に対応するリセット信号R3と、リセット信号R2’に対応するリセット信号R3とは位相がずれないことが分かる。
【0029】
リセット信号R3の位相がずれないため、リセット信号R2、R2’の各々に対応するクロック信号HSCLK、クロック信号LSCLKは同期する。
【0030】
なお、リセット信号R2、R2’の各々に対応するリセット信号R3の位相が合うのは、リセット信号R2、R2’の位相差がクロック信号ICLKの1周期以下であり、かつリセット信号R2の立ち下がりとリセット信号R2’の立ち下がりとの間にクロック信号ICLKの立ち上がりがない場合である。
【0031】
このことから、送信部300に与えられるリセット信号R2と、送信部400に与えられるリセット信号R2とに(クロック信号ICLKの1周期以下の)位相差が発生していても、送信部300及び400ではそれぞれ、リセット同期化部310により、分周器320、330に与えられるリセット信号の位相が揃えられる。従って、送信部300と送信部400とで、分周クロック(クロック信号HSCLK、LSCLK)の位相が揃う。
【0032】
図1を用いてシリアライザ340について説明する。シリアライザ340は、フリップフロップ群220、並列入力直列出力形シフトレジスタ(以下PISOと称する)342、343、インバータ344、セレクタ345、及び出力ドライバ346を有する。
【0033】
フリップフロップ群341は、フリップフロップ群220から出力されるパラレルデータD1の各ビットに対応する複数のフリップフロップを有し、クロック信号LSCLKの立ち上がりエッジでD入力の値を保持し、PISO342、343へ出力する。
【0034】
PISO342、343は、入力されたパラレルデータをシリアルデータに変換してセレクタ345へ出力する。PISO342はクロック信号HSCLKに同期して動作し、PISO343はインバータ344により反転されたクロック信号HSCLKに同期して動作する。
【0035】
セレクタ345は、インバータ344の出力に基づいて、PISO342、343から出力されたシリアルデータを交互に選択して出力する。つまり、セレクタ345は、PISO342から出力されるシリアルデータ中の奇数番目のデータと、PISO343から出力されるシリアルデータ中の偶数番目のデータとを出力する。これにより、セレクタ345はクロック信号ICLKと同じ周期でシリアルデータを順番通りに出力することができる。
【0036】
出力ドライバ346は、セレクタ345から出力されたシリアルデータを差動出力する。
【0037】
上述したように、送信部300及び送信部400は、与えられるリセット信号R2の位相がずれていても、内部で生成される分周クロック(クロック信号HSCLK、LSCLK)の位相が揃う。そのため、送信部300及び送信部400は位相が揃ったシリアルデータを出力できる。
【0038】
また、ビットクロック(クロック信号ICLK)を生成するPLL回路110は1つのみ設ければよく、ビットクロックを各送信部に分配し、各送信部内で分周クロックを生成するため、回路面積や消費電力を低減し、コストを削減できる。
【0039】
このように、本実施形態に係るデータ転送装置により、複数の回路間のリセットタイミングのずれを小さくし、かつコストを削減できる。
【0040】
上記実施形態に係るデータ転送装置は、送信部を2つ備えていたが、3つ以上備える構成にしてもよい。
【0041】
上記実施形態に係るデータ転送装置は、パラレルデータをシリアルデータに変換して送信する送信部を複数備えていたが、シリアルデータを受信してパラレルデータに変換する受信部をさらに設けたSerDes(SERializer/DESerializer)を備える構成にしてもよい。
【0042】
上記実施形態では、リセット同期化部310はフリップフロップを2個(フリップフロップ311、312)備え、リセット信号R2を2回サンプリングする構成について説明したが、フリップフロップを3個以上設け、サンプリングを3回以上行ってもよい。
【0043】
上記実施形態では、送信部300に与えられるリセット信号R2と、送信部400に与えられるリセット信号R2との位相差がクロック信号ICLKの1周期以下であり、かつ2つのリセット信号R2の立ち下がりの間にクロック信号ICLKの立ち上がりがない場合に、送信部300及び400のそれぞれで、分周器320、330に与えられるリセット信号R3の位相が揃えられていた。2つのリセット信号R2の立ち下がりの間にクロック信号ICLKの立ち上がりがある場合は、リセット信号R3の位相がクロック信号ICLKの1周期分ずれることになるが、一般的なデータ転送装置では、送信部間のリセット信号の位相ずれはクロック信号ICLKの1周期分まで許容されており、動作上問題は無いと考えられる。
【0044】
2つのリセット信号R2の立ち下がりの間にクロック信号ICLKの立ち上がりがある場合にも、リセット信号R3の位相を合わせることができるデータ転送装置の構成の一例を図4に示す。
【0045】
図4に示すデータ転送装置は、図1に示す上記実施形態に係るデータ転送装置のクロック生成部100において、バッファ140を省略し、インバータ150、リセット同期化部160及びANDゲート170を設けた構成となっている。また、制御部200に、フリップフロップ250が設けられる。フリップフロップ250は、クロック信号PCLKの立ち上がりエッジでリセット信号R1(D入力)の値を保持し、リセット信号R2をリセット同期化部160へ出力する。
【0046】
リセット同期化部160は、インバータ150を介して反転クロック信号/ICLKが与えられる。リセット同期化部160は、反転クロック信号/ICLKを用いてリセット信号R2を複数回サンプリングし、リセット信号R4を生成する。リセット信号R4の生成処理の詳細は後述する。
【0047】
ANDゲート170は、クロック信号ICLK及びリセット信号R4が与えられる。ANDゲート170は、リセット信号R4がハイレベルとなることで、クロック信号ICLKと同じ周波数のクロック信号ICLK0を出力する。クロック信号ICLK0は送信部300、400のリセット同期化部310及び分周器320に与えられる。
【0048】
図5にリセット同期化部160の概略構成を示す。リセット同期化部160は、フリップフロップ161及び162を有する。フリップフロップ161は、D型フリップフロップであり、D入力にハイレベルが与えられ、反転クロック信号/ICLKに同期して動作する。また、フリップフロップ161は、リセット信号R2によりリセットされる。
【0049】
フリップフロップ162は、D入力にフリップフロップ161のQ出力が与えられ、反転クロック信号/ICLKに同期して動作する。また、フリップフロップ162は、リセット信号R2によりリセットされる。ANDゲート170は、フリップフロップ162のQ出力(リセット信号R4)及びクロック信号ICLKが与えられ、クロック信号ICLK0を出力する。
【0050】
図6に、このような構成のデータ転送装置におけるクロック信号ICLK、反転クロック信号/ICLK、クロック信号ICLK0、リセット信号R2〜R4、フリップフロップ161、162、311、312の出力、クロック信号HSCLKのタイミングチャートの一例を示す。
【0051】
時刻t1でリセット信号R2が立ち下がると、フリップフロップ161、162、311、312のリセットが解除され、その後の反転クロック信号/ICLKの立ち上がり時(時刻t2)にフリップフロップ161のQ出力はハイレベルになる。この時点ではクロック信号ICLK0はまだANDゲート170から出力されていない(クロック信号ICLK0はローレベルのままである)。
【0052】
そして、その次の反転クロック信号/ICLKの立ち上がり時(時刻t3)にフリップフロップ162のQ出力(リセット信号R4)がハイレベルとなる。これ以降、ANDゲート170からクロック信号ICLKに対応したクロック信号ICLK0が出力される。
【0053】
クロック信号ICLK0の最初の立ち上がり時(時刻t4)に、フリップフロップ311のQ出力がハイレベルとなる。そして、その次のクロック信号ICLK0の立ち上がり時(時刻t5)に、フリップフロップ312の/Q出力がローレベルとなる。また、リセット信号R2は既にローレベルであるため、ORゲート313から出力されるリセット信号R3はローレベルとなり、フリップフロップ320のリセットが解除される。フリップフロップ320は、その次のクロック信号ICLK0の立ち上がり時(時刻t6)にクロック信号HSCLKの出力を開始する。
【0054】
このように、クロック生成部100は、リセット信号R2を反転クロック信号/ICLKで2回サンプリングしてリセット信号R4を生成し、このリセット信号R4に基づいて、送信部300、400へのクロック信号ICLK0の供給を開始する。そのため、送信部300、400にクロック信号ICLK0が供給される時には、リセット信号R2の値は既にローレベルになっている。
【0055】
従って、送信部300に与えられるリセット信号R2の立ち下がりと送信部400に与えられるリセット信号R2の立ち下がりとの間にクロック信号ICLKの立ち上がりがある場合にも、その時点ではクロック信号ICLK0が供給されていないため、リセット信号R3の位相ずれを抑制することができる。
【0056】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0057】
100 クロック生成部
110 PLL回路
120 分周器
200 制御部
300、400 送信部
310 クロック同期化部
320、330 分周器
340 シリアライザ

【特許請求の範囲】
【請求項1】
第1クロック信号及び前記第1クロック信号をN分周(Nは2以上の整数)した第2クロック信号を生成するクロック生成部と、
第1リセット信号及び第1〜第S(Sは2以上の整数)のパラレルデータが与えられ、各パラレルデータを前記第2クロック信号に同期させて出力すると共に、前記第1リセット信号を前記第2クロック信号に同期させた第2リセット信号を出力する制御部と、
前記第2リセット信号を前記第1クロック信号を用いて複数回サンプリングし、第3リセット信号を生成するリセット同期化部、前記第3リセット信号に基づいてリセットされ、前記第1クロック信号から第3クロック信号を生成する分周器、及び前記第3クロック信号に基づいて第kのパラレルデータ(kは1≦k≦Sにおける全ての整数)をシリアルデータに変換するシリアライザを有する第kの送信部と、
を備えるデータ転送装置。
【請求項2】
前記第kの送信部は、
前記第3リセット信号に基づいてリセットされ、前記第1クロック信号を2分周して前記第3クロック信号を生成する第1分周器と、
前記第3リセット信号に基づいてリセットされ、前記第3クロック信号をN/2分周して第4クロック信号を生成する第2分周器と、
を有し、
前記シリアライザは、前記第4クロック信号に基づいて前記制御部から前記第kのパラレルデータを受け取り、前記第kのパラレルデータを前記第3クロック信号に基づいてシリアルデータに変換して外部送信することを特徴とする請求項1に記載のデータ転送装置。
【請求項3】
前記リセット同期化部は、
ハイレベルの信号が与えられるD端子を有し、前記第1クロック信号に基づいて動作し、前記第2リセット信号によりリセットされる第1のD型フリップフロップと、
前記第1のD型フリップフロップのQ端子からの出力を受けるD端子を有し、前記第1クロック信号に基づいて動作し、前記第2リセット信号によりリセットされる第2のD型フリップフロップと、
前記第2のD型フリップフロップの/Q端子からの出力と前記第2リセット信号とが与えられ、前記第3リセット信号を出力するORゲートと、
を有することを特徴とする請求項1又は2に記載のデータ転送装置。
【請求項4】
前記第kの送信部の前記シリアライザは、
前記第kのパラレルデータの各ビットを前記第4クロック信号に基づいて保持して出力する複数のフリップフロップを含むフリップフロップ群と、
前記フリップフロップ群から出力される前記第kのパラレルデータを前記第3クロック信号に基づいて第1シリアルデータに変換する第1シフトレジスタと、
前記フリップフロップ群から出力される前記第kのパラレルデータを前記第3クロック信号を反転した信号に基づいて第2シリアルデータに変換する第2シフトレジスタと、
前記第1シリアルデータと前記第2シルアルデータとを、前記第3クロック信号を反転した信号に基づいて交互に選択して出力するセレクタと、
前記セレクタの出力を外部送信するドライバと、
を有することを特徴とする請求項1乃至3のいずれかに記載のデータ転送装置。
【請求項5】
前記第1クロック信号の反転を用いて、前記制御部から出力される前記第2リセット信号を複数回サンプリングし、前記第kの送信部への前記第1クロック信号の供給を制御する第4リセット信号を生成する第2リセット同期化部をさらに備えることを特徴とする請求項1乃至4のいずれかに記載のデータ転送装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−66621(P2011−66621A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−214616(P2009−214616)
【出願日】平成21年9月16日(2009.9.16)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】