液晶表示装置(LCD)やプラズマディスプレイパネルをはじめとするフラットパネルディスプレイ、液晶プロジェクタ、マルチディスプレイシステム等に、情報処理装置からデジタル画像情報を伝送する装置として、例えば図15に示すようなものが公知である。このような表示装置へのデジタル画像情報の伝送手段としては、1対又は複数対の線を用いたLVDS(Low Voltage Differencial Signal:低電圧差動信号)伝送技術が知られている。図15のデータ伝送システムでは、LVDSケーブルを用いて一方の情報処理装置(送信器:LVDS Tx150)側から他方の情報処理装置(受信器:LVDS Rx153)側へ向けてデータ転送を行なっている。
この場合、送信器150では、入力クロックをPLL(Phase Locked Loop)152にて逓倍したクロックに基づいて、送信器150からの映像情報等のパラレルデータを、パラレルシリアル変換部(PARALLEL to LVDS)151にてシリアルデータに変換する。そして、入力クロック同様のクロック及びシリアルデータを、チャンネル毎(この例ではチャンネルCLK,A〜D)に、ドライバ、ケーブル、及びレシーバを介して伝送する。受信器153では、受信したクロックをPLL155にて逓倍したクロックに基づいて、シリアルデータをシリアルパラレル変換部(LVDS to PARALLEL)154にてパラレルデータに変換している。
シリアルデータをパラレルデータに変換するためには、シリアルデータの各データ列の切れ目(先頭位置)を判別する必要があり、この判別のための情報を与えるのが受信したクロックである。つまり、受信したクロックの一周期が単位データ列の長さに対応しているので、クロックの立ち上がり(又は立ち下がり)のタイミングと、シリアルデータの各データ列の先頭位置とは一定の時間間隔が保たれている。そのため、受信したクロックの立ち上がり(又は立ち下がり)により、シリアルデータの各データ列の先頭位置を知ることができるため、ビットずれを起こすことなくパラレルデータへと変換することができる。
しかしながら、送信器150から出力される入力クロックには大きなジッタを伴う場合が多く、受信側ではクロックを抽出したり、入力クロックを逓倍する際にこのジッタの影響を受け、パラレルデータへの変換、データの再生が正常に行われないという問題点があった。
このように、ジッタを伴う場合、すなわちクロック信号とデータ信号との伝播時間が異なる場合には、両信号間に、信号の位相のばらつきであるスキュー(Skew)が生じ、その結果としてクロック信号に対するデータ信号のセットアップ時間やホールド時間が、充分満たされなくなるといった問題が生じることがある。また、高速データ伝送などの場合には、誤ったデータの受信につながってしまうという問題が発生しやすい。
そこで、上述の問題の解決策として、スキュー補正装置に関する技術が開示されている(例えば、特許文献1を参照)。このスキュー補正装置を用いることで、データ信号の遷移があった場合にのみフェーズコンパレータによる可変ディレイラインの制御を有効化することとしたので、セットアップモードのみならず通常動作モードでもクロック信号とデータ信号との間のスキューを補正することができる。従って、温度上昇等の環境変化に応じたスキュー補正が可能になる。しかしながら、このスキュー補正装置では、クロックレートとデータレートとが等しい場合は有効となり得るが、1クロックレートに対し多ビットのシリアルデータが存在し、これらシリアルデータをパラレルに変換するようなシステムに使用するには不適当である。
また、上述の問題の解決策として、送信側でジッタが生じても受信側でのクロックの位相ずれを解消し、表示画像を良好にする技術も開示されている(例えば、特許文献2を参照)。この技術により、シリアルパラレル変換部での変換タイミングのズレを解消し、シリアルデータを正確にパラレルデータに変換し、受信側の表示画像を良好にすることができる。しかしながら、特許文献2に開示された技術では、送信側に予め同期検出ビットをデータにコーディングさせておく必要があり、単純なシリアルデータをパラレルデータに変換する場合には適さない。
そこで、特許文献3には、予め同期検出ビットをデータにコーディングさせることなく、データ信号とクロック信号との間でスキューが生じても、クロック信号に対する入力データ信号を自己補正するシリアル・パラレル変換装置が提案されている。
図16は、従来技術(特許文献3)によるLVDS受信回路の構成例を示す図で、図17は、図16のLVDS受信回路におけるスキュー無しの場合のストローブ選択方法を説明するための図、図18は、図16のLVDS受信回路におけるデータアドバンススキュー有りの場合のストローブ選択方法を説明するための図、図19は、図16のLVDS受信回路におけるデータディレイスキュー有りの場合のストローブ選択方法を説明するための図である。
特許文献3に記載のLVDS受信回路として用いられるシリアル・パラレル変換装置160は、クロック信号を分周して複数のタップ出力信号を出力するPLL回路162と、複数のタップ出力信号を用いて、位相が異なった複数のストローブ信号を作成するストローブ作成(発生)回路164と、シリアル伝送データとクロック信号とのスキューを検出するスキュー検出回路165と、検出したスキューに応じたストローブ信号を選択するストローブ選択回路163と、選択したストローブ信号によってシリアル伝送データをパラレル伝送データに変換するロジック回路(S/P変換回路)161と、を設け、これらによって、シリアル伝送データをパラレル伝送データに変換する。
シリアル・パラレル変換装置160では、まず、PLL回路162において内部のVCO(電圧制御発振器)で、ロック信号を分周して複数のタップ出力信号がストローブ信号として作成・出力される。そして、作成されたストローブ信号に対し、ストローブ作成回路164でさらに規則性を持った複数ストローブ信号を作成し、この複数ストローブ信号を使用してLVDSデータのスキューをスキュー検出回路165で検出し、ストローブ選択回路163で検出結果に応じた最適なストローブ信号を選択する。
スキュー検出回路165では、PLL回路162とストローブ作成回路164で作成した規則性を持った複数のストローブ信号を使用して、LVDS入力データをサンプリングし、このサンプリング結果からスキューの有無及び状態を検出する構成をとる。作成された規則性を持った複数ストローブ信号は、ストローブ選択回路163へも供給されており、ストローブ選択回路163では、この複数ストローブ信号からスキュー検出回路165での検出結果に応じた最適ストローブ信号を選択し、S/P変換回路161へS/P変換用ストローブ信号として供給するマルチプレクサ(MUX)の構成をとることで実現している。
図17を参照して、LVDS受信回路160におけるスキュー無しの場合のストローブ選択方法を説明する。ここでは、7bitシリアルデータがT期間内にデータD[6:0]=[0001000]のマッピングで入力された場合の、データD[4:2]の3bitに着目し、ストローブ作成回路164で作成された規則性を持ったストローブ信号(1bitデータ当たり3本)でサンプリングするものとして説明する。すなわち、この例では、PLL回路162で規則的に作成されたストローブ信号は1データについて3ストローブ構成とし、D4,D3,D2に対するスキュー検出を行い、最適なストローブ信号を選択している。
スキューが無い場合、そのサンプルリング結果はS[8:0]=[000 111 000]となり、シリアルデータ1bitを3本のストローブでサンプリングした結果はすべて等しいデータとなる。この結果S[8:0]=[000 111 000]が、スキュー検出回路165からストローブ選択(MUX)回路163へセレクト信号として供給される。ストローブ選択回路163には、ストローブ作成回路164より複数の規則性を持ったストローブ信号すべてが供給されており、ストローブ選択回路163は、S[8:0]の組み合わせによりスキュー無しとして、最適ストローブ信号(図17中の実線で示した中央の各ストローブ信号)を選択して、S/P変換回路161へ出力する。
図18を参照して、LVDS受信回路160におけるデータアドバンススキュー有りの場合のストローブ選択方法を、図17の例と同様の例を挙げて説明する。スキュー検出用としてストローブ作成回路164より供給される9本のストローブ(1bit当たり3本)でD[4:2]データをサンプリングすると、データがクロックに対してアドバンスしているため、サンプリング結果はS[8:0]=[001 110 000]となる。この検出結果がスキュー検出回路165からストローブ選択回路163へ出力され、ストローブ選択回路163は、スキュー有りとして、図18中の点線で示した各ストローブ信号を選択し、S/P変換回路161へ出力する。このように、データアドバンススキューが存在していても最適なストローブが選択され、S/P変換回路161へ供給されるため、安定したストローブマージンを確保した状態でS/P変換が可能となる。
図19を参照して、LVDS受信回路160におけるデータディレイスキュー有りの場合のストローブ選択方法を、図17の例と同様の例を挙げて説明する。スキュー検出用としてストローブ作成回路164より供給される9本のストローブ(1bit当たり3本)でD[4:2]データをサンプリングすると、データがクロックに対してディレイしているため、サンプリング結果はS[8:0]=[000 011 100]となる。この検出結果がスキュー検出回路165からストローブ選択回路163へ出力され、ストローブ選択回路163は、スキュー有りとして、図19中の破線で示した各ストローブ信号を選択し、S/P変換回路161へ出力する。このように、データディレイスキューが存在していても最適なストローブが選択され、S/P変換回路161へ供給されるため、安定したストローブマージンを確保した状態でS/P変換が可能となる。
特開平11−168365号公報
特開2000−78027号公報
特開2003−133965号公報
図1は、本発明の一実施形態に係るデータ送信装置の概略構成例を示すブロック図で、図2は、本発明の一実施形態に係るデータ受信装置の概略構成例を示すブロック図である。図1及び図2において、1はパラレル・シリアル変換装置を備えたデータ送信装置、2はシリアル・パラレル変換装置を備えたデータ受信装置である。
図1のデータ送信装置1と図2のデータ受信装置2とを、クロック信号用及びデータ信号用の複数のシリアル伝送ケーブルで接続することで、本発明の一実施形態に係るデータ伝送システムを構成するものとする。以下、図1乃至図15を参照して、組み合わせとして好ましいデータ伝送システムについて説明していくが、これらの組み合わせに限ったものではない。例えば、本発明に係るデータ受信装置にデータを送信する装置としては、図1で例示するパラレル・シリアル変換機能を持ったデータ送信装置でなくとも、被テストパターンデータが送信可能であればよい。より具体的には、元々シリアル伝送データを取り扱う機器に設けられたデータ送信装置において、被テストパターンデータが送信できればよい。
詳細については後述するが、本発明では、送信側ではテスト時に被テストパターンを送信する送信回路(被テストパターンデータを発生する発生回路を含むなどする)を設けたことに主たる特徴があり、受信側ではパターン比較手段を設け且つテストパターンが変換前又は変換後のデータと比較可能に格納されていることに主たる特徴がある。このような特徴により、データ信号とクロック信号との間でスキューが生じた場合でも、受信側でシリアル伝送データからパラレル伝送データに変換するに際して、サンプリング数が増えるなどの煩雑な処理を実行する必要なく且つスキュー検出回路も具備する必要なく、クロック信号に対する入力データ信号を補正することが可能になる。換言すると、本発明では、スキューが生じるようなシステムであった場合でも、受信側で、それを補正するような状態で入力データの受信(変換器への入力)が実行できるように、テスト期間で調整することができる。従って、本発明ではテスト時以外のサンプリング数を少なくして処理を軽く消費電力も抑えることも可能となる。
さらに、このようなデータ送信装置とデータ受信装置とがセットとなって機器に組み込まれ、そのような機器間でデータの送受信が可能なようにしてもよい。また、データ送信装置及び/又はデータ受信装置が半導体基板上に形成するよう構成されることで、安定してパラレル・シリアル変換及び/又はシリアル・パラレル変換を行う半導体装置を提供することができる。
データ送信装置1は、パラレル・シリアル変換回路(以下、P/S変換回路)11及びPLL回路12の他に、パターン送信手段10を備え、入力されたパラレル伝送データをシリアル伝送データに変換して送信するものとする。なお、ここでの送信には単に出力することも含まれ、従って、データ送信装置1は、変換後のデータを出力するだけの所謂P/S変換装置の形態を採ることも可能である。
PLL回路12は、クロック信号を分周して複数のタップ出力信号を出力する回路である。P/S変換回路11は、PLL回路12から出力されたタップ出力信号によって、Nビットのパラレル伝送データ(しばしば「パラレルデータ」という)をNビットのシリアル伝送データ(しばしば「シリアルデータ」という)に変換するロジック回路である。シリアルデータの送信は、P/S変換回路11で変換後に実行され、PLL回路12で出力されたタップ出力信号(出力クロック)がクロック信号として共に伝送される。
そして、パターン送信手段10は、テスト実行時に、被テストパターンデータをシリアル伝送により送信する手段である。ここで、被テストパターンデータとは、受信側でテストされるべきパターンデータを指す。パターン送信手段10は、単に被テストパターンデータを格納しておき、PLL回路12からのタップ出力信号によって読み出して出力するといった形態でもよいが、より好ましい形態については後述する。なお、パターン送信手段10における送信にも単に出力することも含まれる。
データ受信装置2は、シリアル・パラレル変換回路(以下、S/P変換回路)21及びPLL回路22の他に、パターン比較手段20及びストローブ選択回路23を備え、シリアル伝送データを受信してパラレル伝送データに変換し出力するものとする。なお、ここでの受信には単に入力することも含まれ、従って、データ受信装置2は、変換するデータを入力して変換を実行するだけの所謂S/P変換装置の形態を採ることも可能である。
PLL回路22は、クロック信号を分周して生成した複数のタップ出力信号をストローブ信号として出力する回路である。このクロック信号は、受信したシリアル伝送データの一つ(クロック信号)として受信した信号であり、例えばPLL回路12から出力された信号などである。
ストローブ選択回路23は、PLL回路22から出力された複数のストローブ信号の中から最適なタイミング(ストローブポジション)のストローブ信号を選択する回路である。S/P変換回路21は、ストローブ選択回路23で選択されたストローブ信号によって、受信したNビットのシリアル伝送データをNビットのパラレル伝送データに変換するロジック回路である。パラレルデータの出力は、S/P変換回路21で変換後に実行され、PLL回路22で出力されたタップ出力信号(出力クロック)がクロック信号として共に出力される。
パターン比較手段20は、テスト実行時に、シリアル伝送された被テストパターンデータを受信し、所定のテストパターンデータとの比較を行う手段で、パターン照合手段とも言える。ストローブ選択回路23は、パターン比較手段20での比較結果に基づいて、最適なタイミングのストローブ信号を選択するよう設定する。このような選択の決定を行うことで、テスト実行後の通常のシリアル伝送データに対して、スキュー無しの最適なタイミングのストローブポジションで、パラレル伝送データへの変換が実行できる。
以下、より具体的な例として、P/S変換装置を備えたデータ送信装置の一例としてのLVDS送信回路(LVDSトランスミッタ)、S/P変換装置を備えたデータ受信装置の一例としてのLVDS受信回路(LVDSレシーバ)を挙げ、本発明に係るデータ伝送システムがこれら回路で構成されるLVDS送受信システムである場合について説明する。
図3は、本発明に係るLVDS送信回路の一構成例を示すブロック図で、図4は、本発明に係るLVDS受信回路の一構成例を示すブロック図である。図3及び図4において、3はLVDS送信回路(LVDS Tx)、4はLVDS受信回路(LVDS Rx)である。
図3で例示するLVDS送信回路3は、上述のパターン送信手段10の一例として、パターン発生回路35及び入力切換回路34を有するものとする。パターン発生回路35は、PLL回路32から出力されたタップ出力信号によってパラレル伝送用の所定の被テストパターンデータを発生する回路である。入力切換回路34は、テスト実行時に、P/S変換回路(PARALLEL to Serial)31への入力を、パターン発生回路35で発生させた被テストパターンデータに切り換える回路である。
入力切換回路34で切り換える前、すなわち通常時(テスト実行時以外)には、入力信号0〜6,7〜13,14〜20,21〜27といったように7bitのパラレル伝送データがP/S変換回路31に入力されている。そして、通常時及びテスト実行時のいずれの場合でも、P/S変換回路31ではPLL回路32からの出力信号によって、入力されたパラレル伝送データがシリアル伝送データに変換され、各伝送チャンネル毎にドライバ群36の対応するドライバによって、LVDSケーブルを介して受信側へと伝送される。ここで、PLL回路32からの出力クロックもLVDSケーブルを介して受信側へと伝送される。
図4で例示するLVDS受信回路4は、上述のパターン比較手段20の一例として、比較回路44及びテストパターンデータ記憶回路45を有するものとする。比較回路44は、テスト実行時に、受信した被テストパターンデータをS/P変換回路41で変換した後のパラレル伝送データと、テストパターン記憶回路45に格納されたパラレル伝送用の所定のテストパターンデータとを比較する回路である。ストローブ選択回路43は、MUX(マルチプレクサ)回路等で構成され、比較回路44での比較結果に基づいて、最適なタイミング(ポジション)のストローブ信号を選択するよう設定する。従って、ストローブ選択回路43は、ストローブポジション調整回路とも言える。なお、LVDSケーブルが1対複数の場合でも、送信側の対応する信号線から受信した被テストパターンデータを用いて比較すればよいだけである。
比較回路44で比較を実行する以外の時、すなわち通常時には、LVDSケーブルを介して、7bitシリアル伝送データが各伝送チャンネル毎にレシーバ群46の対応するレシーバによって受信される。そして、通常時及びテスト実行時のいずれの場合でも、S/P変換回路41では、ストローブ選択回路43によって選択されたタイミングで、入力されたシリアル伝送データ(テスト時にはシリアル伝送された被テストパターンンデータとなる)が、パラレル伝送データに変換される。ここで、PLL回路42は出力クロックとしても後段に信号を出力する。変換後のパラレル伝送データは、バッファ47に7bit分バッファリングされて、出力信号0〜6,7〜13,14〜20,21〜27といったように7bitのパラレル伝送データとして少なくとも各チャンネル同時に出力される。
変換後のパラレル伝送データは、その他、比較回路44にも出力されている。パターン比較手段20(比較回路44及びテストパターンデータ記憶回路45)は、テスト実行時に、存在する伝送チャンネル毎に、受信した被テストパターンデータに対して比較を実行し、ストローブ選択回路43に比較結果を伝送することが好ましい。従って、比較回路44においては、各チャンネル中の一つのチャンネルからの変換後パラレル伝送データ出力のみを受け付け、比較回路44への入力を順次各チャンネル分スイッチングしていくようにすればよい。また、送信側においても、パターン送信手段10が、テスト実行時に、存在する伝送チャンネル毎に被テストパターンデータを送信するようにしておくことが好ましい。また、伝送チャンネル毎に、ストローブ選択回路43での最適なストローブポジションを調整して設定しておくようにしてもよい。
また、テスト実行時としては、送信側のパターン送信手段10や受信側のパターン比較手段20が、省電力(節電)モードへの移行を示す信号Tx PD(Power Down)やRx PDを受信した時であることが好ましい。すなわち、そのような信号の受信を期にテストが実行されることが好ましい。
PD信号がLVDS受信回路4で発せられた場合(省電力モードへ移行した場合)にはその情報がLVDS送信回路3側にも伝えられ、逆にPD信号がLVDS送信回路3から発せられた場合にはその情報がLVDS受信回路4側にも伝えられるようにしてもよい。その結果として、省電力モードへ移行した際に双方が同期してテストが実行でき、最適なストローブ信号の選択がなされ、次回のテストまではその選択結果が維持できる。
また、テスト実行時は、送信側のパターン送信手段10や受信側のパターンン比較手段20が、電源投入を示す信号を受信した時であるとしてもよい。すなわち、LVDS送信回路3又はLVDS受信回路4の双方(いずれか後の方の回路)が電源を投入したという信号を受信した時を期として、テストが実行されるようにしてもよい。ここで、電源投入時とは、例えばLVDS送信回路3やLVDS受信回路4がある機器に搭載されている場合には、搭載されている機器の電源が投入されているか否かに拘わらず、少なくともLVDS送信回路3やLVDS受信回路4の電源が投入された時を指す。
また、送信側のパターン送信手段10は、テスト実行時に、被テストパターンデータを所定のテスト回数だけ送信するようにする。そして、受信側のパターン比較手段20は、テスト実行時に、所定のテスト回数分だけシリアル伝送された被テストパターンデータに基づいて比較を実行する。すなわち、上述したテスト実行時とはテストサイクルへの移行時であるとも言える。
さらに、このようなテストサイクルでテストを実行する場合、ストローブ選択回路43は、比較結果が一致しないテストが存在した場合、その一致しないテストに対応するストローブ信号からできるだけ離れたタイミング(ポジション)のストローブ信号を選択するよう設定することが好ましい。このようなストローブポジション設定方法については、図12乃至図14等を参照しながら後述する。
その他の設定方法としては、テスト実行時(例えば1〜3回のテストデータによるテスト実行の間)のみにフィードバック制御を行ってもよい。この設定方法では、例えば、比較回路44での比較結果が一致しなかった場合、ストローブ選択回路43で最適ストローブポジションとして位相を一つずらせたストローブポジションに設定し、そのストローブポジションに基づくS/P変換回路41の出力結果を、比較回路44にフィードバックする。そして、比較結果が一致するまでこのフィードバック制御を実行する。
図5は、本発明に係るLVDS送信回路の他の構成例を示すブロック図で、図6は、本発明に係るLVDS受信回路の他の構成例を示すブロック図である。図5及び図6において、5はLVDS送信回路、6はLVDS受信回路である。図5及び図6で説明する他の構成例は、図3及び図4で説明した構成例の一部変更例であり、その好ましい形態も含めて同様の箇所は詳細な説明を省略する。
図5で例示するLVDS送信回路5は、上述のパターン送信手段10の一例として、パターン発生回路55及び出力切換回路54を有するものとする。パターン発生回路55はパターン発生回路35と同様である。出力切換回路54は、テスト実行時に、P/S変換回路51からの出力を、パターン発生回路55で発生させた被テストパターンデータに切り換える回路である。
出力切換回路54で切り換える前、すなわち通常時(テスト実行時以外)には、入力信号0〜6,7〜13,14〜20,21〜27といったように7bitのパラレル伝送データがP/S変換回路51に入力され、シリアル伝送データに変換され、各伝送チャンネル毎にドライバ群56の対応するドライバによって、LVDSケーブルを介して受信側へと伝送されている。ここで、PLL回路52からの出力クロックもLVDSケーブルを介して受信側へと伝送される。
図6で例示するLVDS受信回路6は、上述のパターン比較手段20の一例として、比較回路64及びテストパターンデータ記憶回路65を有するものとする。比較回路64は、テスト実行時に、受信したシリアルの被テストパターンデータ(S/P変換回路61で変換されていないデータ)と、テストパターン記憶回路65に格納されたシリアル伝送用の所定のテストパターンデータとを比較する回路である。ストローブ選択回路63は、比較回路64での比較結果に基づいて、最適なタイミング(ポジション)のストローブ信号を選択するよう設定する。なお、LVDSケーブルが1対複数の場合でも、送信側の対応する信号線から受信した被テストパターンデータを用いて比較すればよいだけである。
比較回路64で比較を実行する以外の時、すなわち通常時には、LVDSケーブルを介して、7bitシリアル伝送データが各伝送チャンネル毎にレシーバ群66の対応するレシーバによって受信される。そして、通常時及びテスト実行時のいずれの場合でも、S/P変換回路61では、ストローブ選択回路63によって選択されたタイミングで、入力されたシリアル伝送データ(テスト時にはシリアル伝送された被テストパターンンデータとなる)が、パラレル伝送データに変換される。ここで、PLL回路42は出力クロックとしても後段に信号を出力する。変換後のパラレル伝送データは、バッファ67に7bit分バッファリングされて、出力信号0〜6,7〜13,14〜20,21〜27といったように7bitのパラレル伝送データとして少なくとも各チャンネル同時に出力される。なお、この例では、変換後のパラレル伝送データが比較回路64にも出力されることはない。また、受信したシリアル伝送データがテストパターンデータであった場合、バッファ67でバッファリングされたデータを消去するような構成を採用してもよい。
存在する伝送チャンネル毎に比較を実行する形態では、比較回路64においては、受信した各チャンネル中の一つのチャンネルからのシリアル伝送データ入力のみを受け付け、比較回路44への入力を順次各チャンネル分スイッチングしていくようにすればよい。また、送信側においても、パターン送信手段10が、テスト実行時に、存在する伝送チャンネル毎に被テストパターンデータを送信するようにしておくことが好ましい。また、伝送チャンネル毎に、ストローブ選択回路43での最適なストローブポジションを調整して設定しておくようにしてもよい。また、図5及び図6で説明した構成例であっても、上述したテスト実行時に関する応用例やストローブポジション設定方法に関する応用例が適用できる。
ここで、図7を参照して、上述のPLL回路12,22,32,42に適用できるPLL回路7の構成例を説明する。PLL回路7は、一般的なPLL回路の構成であり、位相比較器71、チャージポンプ72、ループフィルタ73、分周器74、及びVCO(電圧制御発振器)75からなる。
位相比較器71は、基準信号(fr)と、分周器74からの帰還信号(fp)と、の間の位相差を検出し、VCO75の発振周波数を上昇させる制御信号(UP)、又は下降させる制御信号(DN)を出力する。基準信号(fr)に対して帰還信号(fp)が遅れている時は、位相比較器71から、VCO75の発振周波数を上昇させる制御信号(UP)が位相差に相当する期間出力される。逆に、基準信号(fr)に対して帰還信号(fp)が進んでいる時は、位相比較器71から、VCO75の発振周波数を下降させる制御信号(DN)が位相差に相当する期間出力される。このように、位相比較器71は、入力される2つの信号の位相差をパルス幅変換した信号を出力する。
チャージポンプ72は、位相比較器71からの制御信号(UP/DN)をアナログ信号に変換し、ループフィルタ73を通して、その出力信号CPOを制御電圧(Vc)としてVCO75に与える。
ループフィルタ73は、抵抗及びコンデンサで構成されたローパスフィルタ回路であり、チャージポンプ72からの出力信号CPOに含まれるスイッチングノイズ等を低減する目的、及びフィードバックループを安定化する目的で用いられる。
VCO75の出力信号(fo)は、このPLL回路7の出力信号(fo)として出力されるとともに、分周器74で分周されて帰還信号(fp)として位相比較器71へ入力される。その際、出力信号(fo)は、分周器74で1/Nの周波数へ変換されるので、帰還信号(fp)と出力信号(fo)の周波数の関係は、式fp=fo/N(1)で表される。なお、分周器74は、分周比を変更可能である。
PLL回路7は、fr=fpとなるように制御電圧(Vc)を制御するので、出力信号(fo)は、式fo=N×frのように表される。すなわち、基準信号(fr)に対してN倍の周波数の出力信号(fo)が、PLL回路7から出力されることになる。
次に、VCO75の構成について図7(B)を参照して説明する。VCO75は、入力される制御電圧(Vc)に応じて発振周波数が変化するM段(M:奇数)リング発振器76を備えた構成である。ここでは、リング発振器76を構成するM個のインバータ素子の各タップから出力される出力信号phi1〜phi(M)をPLL回路7の出力として利用している。また、出力信号phi1が分周器に入力され、分周されて帰還信号(fp)として位相比較器に帰還される。
このように構成することで、PLL回路7の出力となる出力信号phi1〜phi(M)は、基準信号(fr)の分周比(N)倍の周波数となり、基準信号(fr)の周期をTとすると、それぞれの位相がT/(N・M)ずつ遅延した出力信号となる。
次に、PLL回路7のVCO75に接続するためのストローブ作成回路について、図8を参照して説明する。なお、図8で説明するストローブ作成回路を設けない場合でも、本発明の効果は得られる。図8(A)で例示するストローブ作成回路80や図8(B)で例示するストローブ作成回路81は、PLL回路7に備えられ(実際にはPLL回路7の後段に設置されるが、その出力は図1乃至図6で説明したのと同じ所への出力となる)、クロック信号を分周して生成した複数のタップ出力信号から、位相が異なった複数のストローブ信号を出力する回路である。
ストローブ作成回路80は、Dフリップフロップによる簡単な構成でPLL回路7の出力信号(タップ出力信号)phi1〜phi(M)を用いて、ストローブ信号を作成することができる。例えば、図8(A)に示したように、M個のDフリップフロップd1〜d(M)のクロック入力端子CKに、PLL回路7の出力信号phi1〜phi(M)がそれぞれ入力されるように接続する。また、出力信号phi1をクロック入力端子に入力するDフリップフロップd1のみ、出力端子/Qをデータ入力端子Dに接続する。さらに、Dフリップフロップd1〜d(M−1)の各出力端子Qを、次段のDフリップフロップd2〜d(M)のデータ入力端子Dに、それぞれ接続する。そして、Dフリップフロップd1〜dMの各出力端子Qから出力される信号をストローブ信号stb1〜stb(M)とする。この構成によって、出力信号phi1〜phi(M)を用いて複数のストローブ信号を作成する。また、ストローブ信号を作成するためのストローブ作成回路13への入力信号phi1〜phi(M)の組み合わせについては適宜選択し、出力となる複数のストローブ信号が規則的に作成されるようにしなければならない。
ストローブ作成回路81は、ストローブタイミング発生回路とも言える回路であり、図8(B)に示したように、14個のDフリップフロップd321〜d334を備えている。また、奇数番号のDフリップフロップはクロック入力端子CKがハイアクティブであり、偶数番号のDフリップフロップはクロック入力端子CKがローアクティブである。さらに、Dフリップフロップd321〜d327及びDフリップフロップd328〜d334のクロック入力端子CKに、PLL回路7のタップ出力信号phi1〜phi7が、この順にそれぞれ入力されるように接続されている。また、Dフリップフロップd321のみ、出力端子/Qをデータ入力端子Dに接続する。さらに、Dフリップフロップd321〜d333の各出力端子Qを、次段のDフリップフロップd322〜d334のデータ入力端子Dに、それぞれ接続する。そして、Dフリップフロップd321〜d334の各出力端子Qから出力される信号をストローブ信号とする。
このようにストローブ作成回路は、Dフリップフロップで構成した回路に、タップ出力信号phi1〜phi7を入力することで、容易にストローブ信号を作成できる。また、タップ出力信号phi1〜phi7の組み合わせにより、様々なバリエーションのストローブ信号を作成できる。
このようなストローブ作成回路80,81により、複数のタップ出力信号の1又は数倍の数を規則的にして出力することが可能となる。このようなストローブ作成回路80,81は、送信側及び/又は受信側に設けるようにしてもよい回路である。例えば、ある機器にデータ送信・受信の双方を組み込む場合には、PLL回路を送信・受信共用として一つ設け、受信用にストローブ作成回路80,81を追加して規則的な好ましくは数倍のストローブ信号をストローブ選択回路に出力するようにしてもよい。
次に、図3及び図4や図5及び図6を主として参照して説明したデータ伝送システムにおけるデータ伝送処理について、図9乃至図14を参照し、伝送されるデータを例に挙げて詳細に説明する。
図9は、LVDS送信回路で通常時に送信される送信データの一例を波形のタイミングチャートで示した図で、図10は、LVDS送信回路でテスト実行時に送信される送信データの一例を波形のタイミングチャートで示した図で、図11は、LVDS受信回路で受信される受信データの一例を波形のタイミングチャートで示した図である。
LVDS送信回路において、通常時には、図9で例示するように、1クロック周期Tに各チャンネルに対してD1〜D7の7ビットシリアルデータが送信される。LVDS受信回路では、図11で例示するように、各チャンネルに対して送信された7ビットシリアルデータを、受信クロック周期Tにほぼ受信する。
一方、テスト実行時には、LVDS送信回路は、図10で例示するように、PD端子アサート後(例えば節電モード移行後)の送信データを、ストローブポジション確認用のテストサイクルと定め、予め取り決めたデータ長のテストパターンデータを例えば3回送出する。この被テストパターンデータを受信したLVDS受信回路は、図11で例示するように、各チャンネルに対して送信された7ビットシリアルデータであるテストパターンデータを受信し、ストローブ位置を調整し、受信データと内蔵ROM等に格納されたテストパターンンデータとを比較して、データが一致した場合はそのストローブ位置を真とする。なお、ストローブポジションの調整については、後述する。
そして、調整後、LVDS送信回路は、被テストパターンデータ送信後にアイドル信号IDLEを挟むなどして通常のデータ(ノーマルデータ)を送信し、LVDS受信回路は、そのノーマルデータを受信し、もしスキューが生じていたとしても、クロック信号に対する入力データ信号を自己補正して、安定したシリアル・パラレル変換を行う。
最後に、ストローブポジションの設定(調整)について、従来技術と比較を行いながら説明する。図12は、図4又は図6のLVDS受信回路におけるスキュー無しの場合のストローブ選択方法を説明するための図で、図13は、図4又は図6のLVDS受信回路におけるデータアドバンススキュー有りの場合のストローブ選択方法を説明するための図で、図14は、図4又は図6のLVDS受信回路におけるデータディレイスキュー有りの場合のストローブ選択方法を説明するための図である。
図17乃至図19を参照して説明したように、特許文献3の技術はLVDS受信回路内のストローブ選択回路を工夫することにより、データ信号とクロック信号との間でスキューが生じてもクロック信号に対する入力データ信号を自己補正している。しかしながら、図17乃至図19を参照して説明したように、D[6:0]の7bitに着目した場合、常にデータを21箇所でサンプリングする必要がある。
それに対し、本発明では、LVDS送信回路内で被テストパターンデータを発生させ、且つLVDS受信回路内にテストパターンデータ記憶領域を設けておき、テストモード時にLVDS受信回路で、受信データとLVDS受信回路内のテストデータとを比較することで、最適なストローブポジションを選択するようにしている。
例えば、PD端子アサートの直後の期間に固定データを送信するテストサイクルを設け、ストロープポジョションを変更して受信したデータとROMに格納されているテストデータの期待値とを比較することにより、適切なストローブポジションを検出する。テストサイスクル終了後は求めた最適ストローブポジションで設定し、通常データを受信する。
図12乃至図14では、被テストパターンデータがD[6:0]=[1001011]である場合について、説明する。まず、図12を参照して、LVDS受信回路4又は6におけるスキュー無しの場合のストローブ選択方法を説明する。ここでは、被テストパターンデータとして、7bitシリアルデータがT期間内にデータD[6:0]=[1001011]が受信され入力される。
スキューが無い場合、1回目のテストのストローブポジションでのサンプルリング結果はS[6:0]=[1001011]となり、2回目、3回目でも同様の結果が得られる。このS[6:0]を例えばROM内に格納されたデータD[6:0]=[1001011](送信された被テストパターンデータと同じデータ)と照合すると、どのストローブポジションでも期待値(ROM内のテストパターンデータ)と一致する。このようなときには、例えばセンタのストローブポジション(2回目のストローブポジション)を採用するなど決めておく。
図13を参照して、LVDS受信回路4又は6におけるスキュー有り(データアドバンススキュー)の場合のストローブ選択方法を説明する。ここでは、被テストパターンデータとして、7bitシリアルデータがT期間内にデータD[6:0]=[0001000]が受信され入力される。
スキュー有り(データアドバンススキュー)の場合、1回目と2回目のテストのストローブポジションでのサンプルリング結果はS[6:0]=[1001011]となるが、3回目のテストのストローブポジションでのサンプリング結果はS[6:0]=[0010111]となる。このS[6:0]を例えばROM内に格納されたデータD[6:0]=[1001011](送信された被テストパターンデータと同じデータ)と照合すると、1回目、2回目のストロープポジションでは期待値と一致するが、3回目のストローブポジションでは期待値と異なるので、1回目のストロープポジションを選択する。このように、エラーが1カ所であった場合、その1カ所エラーした所から離れた所を選択するようにするとよい。
図14を参照して、LVDS受信回路4又は6におけるスキュー有り(データディレイスキュー)の場合のストローブ選択方法を説明する。ここでは、同様に、被テストパターンデータとして、7bitシリアルデータがT期間内にデータD[6:0]=[0001000]が受信され入力される。
スキュー有り(データディレイスキュー)の場合、2回目と3回目のテストのストローブポジションでのサンプルリング結果はS[6:0]=[1001011]となるが、3回目のテストのストローブポジションでのサンプリング結果はS[6:0]=[0100101]となる。このS[6:0]を例えばROM内に格納されたデータD[6:0]=[1001011](送信された被テストパターンデータと同じデータ)と照合すると、2回目、3回目のストロープポジションでは期待値と一致するが、1回目のストローブポージションでは期待値と異なるので、3回目のストロープポジションを選択する。このように、エラーが1カ所であった場合、その1カ所エラーした所から離れた所を選択するようにするとよい。
このように、製造ばらつきや動作温度等の動作環境の影響により、クロック信号CLKINに対してシリアルデータ入力信号にスキューが生じた際でも、あるパターンを自己検出し、規則的に作成されたストローブの中からより適切なストローブを選択することができる。このような選択の決定は、実物参照しているようなものであるので効果的であり、安定したシリアル・パラレル変換を実行することができる。
なお、本実施形態においては、テスト回数を3回とし、結果的にシリアルデータの1ビット当たり3通りのストローブを使用した実施形態を示したが、PLL回路の分周器の分周比を変化させることで変更することが可能である。テストするシリアルデータの1ビット当たりのストローブ信号の数を増やすことによって、より最適なストローブポジションを選択・設定することが可能となる。すなわち、PLLの分周比をもっと細かくすれば、さらに細かいピッチでストローブポジションのパターンができる。
1…データ送信装置、2…データ受信装置、3,5…LVDS送信回路(LVDS Tx)、4,6…LVDS受信回路(LVDS Rx)、10…パターン送信手段、11,31,51…P/S変換回路、7,12,22,32,42,52,62…PLL回路、20…パターン比較手段、21,41,61…S/P変換回路、23,43,63…ストローブ選択回路、34…入力切換回路、35,55…パターン発生回路(Test pattern Generator)、36,56…ドライバ群、44,64…比較回路(Comparator)、45,65…テストパターンデータ記憶回路、46,66…レシーバ群、47,67…バッファ、54…出力切換回路、71…位相比較器、72…チャージポンプ、73…ループフィルタ、74…分周器、75…VCO(電圧制御発振器)、76…リング発振器、80,81…ストローブ作成回路。