(57)【要約】【課題】  機器間，ボード間，チップ間における大容量・高速データ伝送を、ＣＤＲ回路などの大規模回路を用意する必要なく、簡単な構成で行う。【解決手段】  入力データを受信クロックに基づいて受信するデータ受信手段と、送信データをデータ受信手段に送信するデータ送信手段とを有しているシリアルデータ通信システムにおいて、データ受信手段は、受信クロックの周期を逓倍した周期をもつ同期クロックを生成し、また、入力データと受信クロックの位相が同期しているか否かを判定する位相判定信号を生成し、データ送信手段は、受信クロックの周波数よりも十分高速な高周波クロックを生成し、同期クロックと位相判定信号を用いて受信クロックに周波数同期および位相同期した送信データを、高周波クロックに基づいて生成する。【選択図】      図１
2008099228.tif 000002
【特許請求の範囲】
【請求項１】
入力データを受信クロックに基づいて受信するデータ受信手段と、送信データを前記データ受信手段に送信するデータ送信手段とを有しているシリアルデータ通信システムにおいて、
前記データ受信手段は、前記受信クロックの周期を逓倍した周期をもつ同期クロックを生成し、また、前記入力データと前記受信クロックの位相が同期しているか否かを判定する位相判定信号を生成するようになっており、
また、前記データ送信手段は、前記受信クロックの周波数よりも十分高速な高周波クロックを生成し、前記同期クロックと前記位相判定信号を用いて前記受信クロックに周波数同期および位相同期した送信データを、前記高周波クロックに基づいて生成するようになっていることを特徴とするシリアルデータ通信システム。
【請求項２】
請求項１記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記同期クロックの周期を検出し、該検出値と、前記受信クロックと前記同期クロックとの周波数比から設定される目標値とを比較し、その誤差を出力する比較手段と、
前記比較手段から出力される誤差に従って、送信クロック周波数を演算し周波数指示信号を出力する周波数演算手段と、
前記高周波クロックの周期を演算単位時間とし、前記周波数指示信号に従って計数することにより送信クロックの立ち上がり時刻及び立ち下がり時刻を算出する計数手段とを有していることを特徴とするシリアルデータ通信システム。
【請求項３】
請求項２記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、前記高周波クロックを基準として、前記計数手段により算出された送信クロックの立ち上がり時刻及び立ち下がり時刻に従って送信クロックを生成するようになっていることを特徴とするシリアルデータ通信システム。
【請求項４】
請求項２または請求項３記載のシリアルデータ通信システムにおいて、前記データ送信手段は、前記計数手段により算出された送信クロックの立ち上がり時刻あるいは前記送信クロックに基づいて、データを変調した送信データを生成するようになっていることを特徴とするシリアルデータ通信システム。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、予め定められた位相補正用データを送信するタイミングを指示する位相補正情報を、前記位相判定信号に従って設定し、保持するようになっていることを特徴とするシリアルデータ通信システム。
【請求項６】
請求項５記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を、前記送信データと前記受信クロックの位相調整を行う位相補正期間とし、該位相補正期間において、前記位相補正用データの初期値は前記受信クロックの周期の逓倍のパルス幅をもつパルスであり、前記位相判定信号に基づいて前記位相補正情報を更新し、前記位相補正情報に従って前記位相補正用データの立ち上がり時刻を前記高周波クロックの周期を演算単位時間として遅延させ、前記位相判定信号に基づいて適切な前記位相補正情報を確定することを特徴とするシリアルデータ通信システム。
【請求項７】
請求項５記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を、前記送信データと前記受信クロックの位相調整を行う位相補正期間とし、該位相補正期間において、前記位相補正用データは前記受信クロックの周期の逓倍のパルス幅よりも予め定められた時間だけ短いパルス幅をもつパルスであり、前記位相判定信号に基づいて前記位相補正情報を更新し、前記位相補正情報に従って前記位相補正用データのパルスを前記高周波クロックの周期を演算単位時間として遅延させ、前記位相判定信号に基づいて適切な前記位相補正情報を確定することを特徴とするシリアルデータ通信システム。
【請求項８】
請求項２乃至請求項７のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、前記送信クロックの周期を時分割し１周期あたり複数ビットのデータを送信することを特徴とするシリアルデータ通信システム。
【請求項９】
請求項１乃至請求項８のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記高周波クロックは周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックであり、前記演算単位時間は前記位相差Ｔ／Ｐであることを特徴とするシリアルデータ通信システム。
【請求項１０】
請求項１乃至請求項９のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、
前記送信データを受信して受信データを生成する受信データ生成手段と、
前記受信クロックを分周し前記同期クロックを生成する同期クロック生成手段と、
前記位相補正用データの受信時に、前記送信データと前記受信クロックの位相が同期しているか否かを判定する位相判定信号を生成する位相判定信号生成手段と、
を備えていることを特徴とするシリアルデータ通信システム。
【請求項１１】
入力データを受信クロックに基づいて受信するデータ受信手段と、送信データを前記データ受信手段に送信するデータ送信手段とを備えるシリアルデータ通信システムにおいて、
前記データ受信手段は、前記入力データを受信するために前記入力データに位相同期した前記受信クロックを生成し、また前記受信クロックの周期を逓倍した周期をもつ同期クロックを生成するようになっており、
また、前記データ送信手段は、前記受信クロックの周波数よりも十分高速な高周波クロックを生成し、前記同期クロックを用いて前記受信クロックに周波数同期した前記送信データを、前記高周波クロックに基づいて生成するようになっていることを特徴とするシリアルデータ通信システム。
【請求項１２】
請求項１１記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記同期クロックの周期を検出し、該検出値と、前記受信クロックと前記同期クロックとの周波数比から設定される目標値とを比較し、その誤差を出力する比較手段と、
前記比較手段から出力される誤差に従って、送信クロック周波数を演算し周波数指示信号を出力する周波数演算手段と、
前記高周波クロックの周期を演算単位時間とし、前記周波数指示信号に従って計数することにより送信クロックの立ち上がり時刻及び立ち下がり時刻を算出する計数手段と、
を備えていることを特徴とするシリアルデータ通信システム。
【請求項１３】
請求項１２に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記高周波クロックを基準として、前記計数手段により算出される送信クロックの立ち上がり時刻及び立ち下がり時刻に従って送信クロックを生成する送信クロック出力手段、
を備えていることを特徴とするシリアルデータ通信システム。
【請求項１４】
請求項１２または請求項１３に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記計数手段により算出される送信クロックの立ち上がり時刻あるいは前記送信クロックに基づいて、データを変調した送信データを生成する送信データ生成手段、
を備えていることを特徴とするシリアルデータ通信システム。
【請求項１５】
請求項１１乃至請求項１４のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、複数のシリアルデータが入力され、前記受信クロックの基準となる基準受信クロック及び前記同期クロックを生成する基準受信クロック生成手段を備え、また前記受信クロックを生成し前記受信クロックを用いて受信データを生成する受信データ生成手段を前記複数のシリアルデータそれぞれに対応して複数備えており、
前記データ送信手段は、複数の前記受信データ生成手段のそれぞれに対応する前記送信データ生成手段を備えていることを特徴とするシリアルデータ通信システム。
【請求項１６】
請求項１２乃至請求項１４のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段を複数備え、
前記データ送信手段は、複数の前記データ受信手段のそれぞれに対応する前記比較手段及び前記周波数演算手段及び前記計数手段を備えていることを特徴とするシリアルデータ通信システム。
【請求項１７】
請求項１１乃至請求項１６のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、周期Ｔｒｘで互いに位相差Ｔｒｘ／Ｐｒｘずつ位相をずらした相数Ｐｒｘの多相クロックを生成する多相クロック生成手段を備え、前記多相クロックの中から前記入力データを受信するために最適なクロックを選択することにより前記受信クロックを生成することを特徴とするシリアルデータ通信システム。
【請求項１８】
請求項１７記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を位相補正期間とし、前記送信データと前記受信クロックの位相調整を行う前記位相補正期間において、
前記データ送信手段は予め定められたデータパターンを前記送信データとして送信し、
前記データ受信手段は、前記多相クロックを用いて前記入力データのエッジ位置を検出することによって、前記多相クロックの中から前記入力データを受信するために最適なクロックを決定することにより前記受信クロックを生成することを特徴とするシリアルデータ通信システム。
【請求項１９】
請求項１１乃至請求項１６のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、周期Ｔｒｘで互いに位相差Ｔｒｘ／Ｐｒｘずつ位相をずらした相数Ｐｒｘの多相クロックを生成する多相クロック生成手段を備え、前記多相クロックの中から前記同期クロックを生成するための同期クロック生成クロックを選択することにより前記送信データの位相を前記受信クロックに同期させることを特徴とするシリアルデータ通信システム。
【請求項２０】
請求項１９記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を位相補正期間とし、前記送信データと前記受信クロックの位相調整を行う前記位相補正期間において、
前記データ送信手段は予め定められたデータパターンを前記送信データとして送信し、
前記データ受信手段は、前記多相クロックを用いて前記入力データのエッジ位置を検出することによって、前記多相クロックの中から最適な前記同期クロック生成クロックを決定することにより前記同期クロックを生成することを特徴とするシリアルデータ通信システム。
【請求項２１】
画像形成装置において、該画像形成装置内の半導体チップ間もしくはボード間の画像データ通信に、請求項１乃至請求項２０のいずれか一項に記載のシリアルデータ通信システムが用いられていることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルデータ通信システムおよび画像形成装置に関する。
【背景技術】
【０００２】
近年、機器間，ボード間，チップ間における大容量・高速データ伝送の要求を満たすため、様々な高速インターフェイス規格が提唱されている。それらのインターフェイス規格の多くは、シリアル転送方式が採用されており、予め定められた周波数を基にデータが伝送される。伝送されるデータにはその周波数のクロックが重畳され（エンベデッドクロック）、データ受信部では、受信したデータからこのクロックを抽出し、抽出されたクロック信号に基づいて受信データを復元している。これらの復元動作を行う回路をクロックデータリカバリ（ＣＤＲ）回路と呼んでいる（特許文献１参照）。
【０００３】
従来のＣＤＲ回路では、一般にＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路が用いられ、ＰＬＬに含まれるＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）の発振クロックが受信データの位相に同期するように制御され、再生クロックとして抽出される。そしてこの再生クロックを基準として受信データをラッチすることにより、正確に受信データが復元される。また、別の方式としてオーバーサンプリング型のＣＤＲ回路も用いられている。オーバーサンプリング型では、基準クロックから所定位相ずつシフトした多層クロックによって受信データを取り込み、データが反転するタイミングを検出する。そのタイミングに同期する位相のクロックを多層クロックの中から選択し、再生クロックとして復元する。また、再生クロックと所定の位相差を持つクロックで取り込んだデータを再生データとして選択し、出力する。オーバーサンプリング型のＣＤＲ回路では、多層クロック生成部以外はディジタル回路で構成できるので、実現が比較的容易になる。
【０００４】
以上のようなＣＤＲ回路は、受信側に比較的微細な半導体プロセスを用いて高速大規模な回路を搭載できる場合、もしくは多少チップ面積が大きくなっても構わない場合に有効である。しかし例えば、受信側チップを何らかの理由で小型にする必要があったり、高電源電圧が必要なため微細な半導体プロセスを使用できないといった場合には、上記のようなＣＤＲ回路をチップ内部に搭載することが困難になってくる。例えば図５５のような画像形成装置内部において、メインコントローラから画像データをエンジン側に送信する場合、エンジン側においてはＣＤＲ回路のような大規模な回路を載せられない場合や、発光素子を光らせるため高電圧が必要で大きなプロセスルールを使用することでスピード的に不足である場合、また画像エンジンチップの数が多くそのチップサイズを小さくしたい場合などが考えられる。そのような場合に、受信側チップにＣＤＲ回路を搭載することは困難である。
【特許文献１】特開２００５−１９２１９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、機器間，ボード間，チップ間における大容量・高速データ伝送を、ＣＤＲ回路などの大規模回路を用意する必要なく、簡単な構成で行なうことの可能なシリアルデータ通信システムおよび画像形成装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１記載の発明は、入力データを受信クロックに基づいて受信するデータ受信手段と、送信データを前記データ受信手段に送信するデータ送信手段とを有しているシリアルデータ通信システムにおいて、
前記データ受信手段は、前記受信クロックの周期を逓倍した周期をもつ同期クロックを生成し、また、前記入力データと前記受信クロックの位相が同期しているか否かを判定する位相判定信号を生成するようになっており、
また、前記データ送信手段は、前記受信クロックの周波数よりも十分高速な高周波クロックを生成し、前記同期クロックと前記位相判定信号を用いて前記受信クロックに周波数同期および位相同期した送信データを、前記高周波クロックに基づいて生成するようになっていることを特徴としている。
【０００７】
また、請求項２記載の発明は、請求項１記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記同期クロックの周期を検出し、該検出値と、前記受信クロックと前記同期クロックとの周波数比から設定される目標値とを比較し、その誤差を出力する比較手段と、
前記比較手段から出力される誤差に従って、送信クロック周波数を演算し周波数指示信号を出力する周波数演算手段と、
前記高周波クロックの周期を演算単位時間とし、前記周波数指示信号に従って計数することにより送信クロックの立ち上がり時刻及び立ち下がり時刻を算出する計数手段とを有していることを特徴としている。
【０００８】
また、請求項３記載の発明は、請求項２記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、前記高周波クロックを基準として、前記計数手段により算出された送信クロックの立ち上がり時刻及び立ち下がり時刻に従って送信クロックを生成するようになっていることを特徴としている。
【０００９】
また、請求項４記載の発明は、請求項２または請求項３記載のシリアルデータ通信システムにおいて、前記データ送信手段は、前記計数手段により算出された送信クロックの立ち上がり時刻あるいは前記送信クロックに基づいて、データを変調した送信データを生成するようになっていることを特徴としている。
【００１０】
また、請求項５記載の発明は、請求項１乃至請求項４のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、予め定められた位相補正用データを送信するタイミングを指示する位相補正情報を、前記位相判定信号に従って設定し、保持するようになっていることを特徴としている。
【００１１】
また、請求項６記載の発明は、請求項５記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を、前記送信データと前記受信クロックの位相調整を行う位相補正期間とし、該位相補正期間において、前記位相補正用データの初期値は前記受信クロックの周期の逓倍のパルス幅をもつパルスであり、前記位相判定信号に基づいて前記位相補正情報を更新し、前記位相補正情報に従って前記位相補正用データの立ち上がり時刻を前記高周波クロックの周期を演算単位時間として遅延させ、前記位相判定信号に基づいて適切な前記位相補正情報を確定することを特徴としている。
【００１２】
また、請求項７記載の発明は、請求項５記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を、前記送信データと前記受信クロックの位相調整を行う位相補正期間とし、該位相補正期間において、前記位相補正用データは前記受信クロックの周期の逓倍のパルス幅よりも予め定められた時間だけ短いパルス幅をもつパルスであり、前記位相判定信号に基づいて前記位相補正情報を更新し、前記位相補正情報に従って前記位相補正用データのパルスを前記高周波クロックの周期を演算単位時間として遅延させ、前記位相判定信号に基づいて適切な前記位相補正情報を確定することを特徴としている。
【００１３】
また、請求項８記載の発明は、請求項２乃至請求項７のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、前記送信クロックの周期を時分割し１周期あたり複数ビットのデータを送信することを特徴としている。
【００１４】
また、請求項９記載の発明は、請求項１乃至請求項８のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記高周波クロックは周期Ｔで互いに位相差Ｔ／Ｐずつ位相をずらした相数Ｐの多相クロックであり、前記演算単位時間は前記位相差Ｔ／Ｐであることを特徴としている。
【００１５】
また、請求項１０記載の発明は、請求項１乃至請求項９のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、
前記送信データを受信して受信データを生成する受信データ生成手段と、
前記受信クロックを分周し前記同期クロックを生成する同期クロック生成手段と、
前記位相補正用データの受信時に、前記送信データと前記受信クロックの位相が同期しているか否かを判定する位相判定信号を生成する位相判定信号生成手段と、
を備えていることを特徴としている。
【００１６】
また、請求項１１記載の発明は、入力データを受信クロックに基づいて受信するデータ受信手段と、送信データを前記データ受信手段に送信するデータ送信手段とを備えるシリアルデータ通信システムにおいて、
前記データ受信手段は、前記入力データを受信するために前記入力データに位相同期した前記受信クロックを生成し、また前記受信クロックの周期を逓倍した周期をもつ同期クロックを生成するようになっており、
また、前記データ送信手段は、前記受信クロックの周波数よりも十分高速な高周波クロックを生成し、前記同期クロックを用いて前記受信クロックに周波数同期した前記送信データを、前記高周波クロックに基づいて生成するようになっていることを特徴としている。
【００１７】
また、請求項１２記載の発明は、請求項１１記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記同期クロックの周期を検出し、該検出値と、前記受信クロックと前記同期クロックとの周波数比から設定される目標値とを比較し、その誤差を出力する比較手段と、
前記比較手段から出力される誤差に従って、送信クロック周波数を演算し周波数指示信号を出力する周波数演算手段と、
前記高周波クロックの周期を演算単位時間とし、前記周波数指示信号に従って計数することにより送信クロックの立ち上がり時刻及び立ち下がり時刻を算出する計数手段と、
を備えていることを特徴としている。
【００１８】
また、請求項１３記載の発明は、請求項１２に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記高周波クロックを基準として、前記計数手段により算出される送信クロックの立ち上がり時刻及び立ち下がり時刻に従って送信クロックを生成する送信クロック出力手段、
を備えていることを特徴としている。
【００１９】
また、請求項１４記載の発明は、請求項１２または請求項１３に記載のシリアルデータ通信システムにおいて、
前記データ送信手段は、
前記計数手段により算出される送信クロックの立ち上がり時刻あるいは前記送信クロックに基づいて、データを変調した送信データを生成する送信データ生成手段、
を備えていることを特徴としている。
【００２０】
また、請求項１５記載の発明は、請求項１１乃至請求項１４のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、複数のシリアルデータが入力され、前記受信クロックの基準となる基準受信クロック及び前記同期クロックを生成する基準受信クロック生成手段を備え、また前記受信クロックを生成し前記受信クロックを用いて受信データを生成する受信データ生成手段を前記複数のシリアルデータそれぞれに対応して複数備えており、
前記データ送信手段は、複数の前記受信データ生成手段のそれぞれに対応する前記送信データ生成手段を備えていることを特徴としている。
【００２１】
また、請求項１６記載の発明は、請求項１２乃至請求項１４のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段を複数備え、
前記データ送信手段は、複数の前記データ受信手段のそれぞれに対応する前記比較手段及び前記周波数演算手段及び前記計数手段を備えていることを特徴としている。
【００２２】
また、請求項１７記載の発明は、請求項１１乃至請求項１６のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、周期Ｔｒｘで互いに位相差Ｔｒｘ／Ｐｒｘずつ位相をずらした相数Ｐｒｘの多相クロックを生成する多相クロック生成手段を備え、前記多相クロックの中から前記入力データを受信するために最適なクロックを選択することにより前記受信クロックを生成することを特徴としている。
【００２３】
また、請求項１８記載の発明は、請求項１７記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を位相補正期間とし、前記送信データと前記受信クロックの位相調整を行う前記位相補正期間において、
前記データ送信手段は予め定められたデータパターンを前記送信データとして送信し、
前記データ受信手段は、前記多相クロックを用いて前記入力データのエッジ位置を検出することによって、前記多相クロックの中から前記入力データを受信するために最適なクロックを決定することにより前記受信クロックを生成することを特徴としている。
【００２４】
また、請求項１９記載の発明は、請求項１１乃至請求項１６のいずれか一項に記載のシリアルデータ通信システムにおいて、
前記データ受信手段は、周期Ｔｒｘで互いに位相差Ｔｒｘ／Ｐｒｘずつ位相をずらした相数Ｐｒｘの多相クロックを生成する多相クロック生成手段を備え、前記多相クロックの中から前記同期クロックを生成するための同期クロック生成クロックを選択することにより前記送信データの位相を前記受信クロックに同期させることを特徴としている。
【００２５】
また、請求項２０記載の発明は、請求項１９記載のシリアルデータ通信システムにおいて、
通信初期化時もしくはデータ送信を行っていない期間を位相補正期間とし、前記送信データと前記受信クロックの位相調整を行う前記位相補正期間において、
前記データ送信手段は予め定められたデータパターンを前記送信データとして送信し、
前記データ受信手段は、前記多相クロックを用いて前記入力データのエッジ位置を検出することによって、前記多相クロックの中から最適な前記同期クロック生成クロックを決定することにより前記同期クロックを生成することを特徴としている。
【００２６】
また、請求項２１記載の発明は、画像形成装置において、該画像形成装置内の半導体チップ間もしくはボード間の画像データ通信に、請求項１乃至請求項２０のいずれか一項に記載のシリアルデータ通信システムが用いられていることを特徴としている。
【発明の効果】
【００２７】
請求項１乃至請求項２１記載の発明によれば、機器間，ボード間，チップ間における大容量・高速データ伝送を、ＣＤＲ回路などの大規模回路を用意する必要なく、簡単な構成で行なうことができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施形態を図面に基づいて説明する。
【００２９】
図１は、本発明に係るシリアルデータ通信システムの全体構成例を示す図である。図１において、送信側チップにはデータ送信部５０１が搭載され、受信側チップにはデータ受信部５０２が搭載されている。データ送信部５０１は、ＲｅｆＣＬＫＴｘ、データ、ＲｅｆＮ、Ｒｘ同期クロック、位相判定信号が入力され、送信データを出力するようになっている。また、データ受信部５０２は、ＲｅｆＣＬＫＲｘと送信データが入力され、受信データ、位相判定信号、Ｒｘ同期クロックを出力するようになっている。送信側チップと受信側チップは、同一ボード上もしくは異なるボード上に実装される。異なるボード上に実装された場合、ボード間の接続はコネクタにおいて直接接続かもしくはハーネスやツイストペアケーブルなどで接続されることを想定している。また、送信データは、ＧＮＤ基準のシングルエンド出力でもよいし、差動出力にしてもよい。
【００３０】
図２は本発明のデータ送信部（図１のシリアルデータ通信システムにおけるデータ送信部５０１）の第１の構成例を示す図である。図２のデータ送信部１１１において、高周波クロック生成部１は、基準クロックＲｅｆＣＬＫＴｘを基に、逓倍した高周波クロックＶＣＬＫを生成するものであり、一般的なＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路により構成される。入力する基準クロックＲｅｆＣＬＫＴｘに例えば精度のよい水晶発振器出力を用いることにより、精度のよい高周波クロックＶＣＬＫが得られる。この高周波クロックＶＣＬＫを基準に送信クロックＴｘＣＬＫが生成される。これは、例えばＭ進カウンタにより構成され、カウント値ｃｏｕｎｔＭを出力する。ここで、Ｒｘ同期クロックの立ち上がりでカウントを開始するようにすれば、Ｒｘ同期クロックに位相同期した送信クロックＴｘＣＬＫが生成できる。また、分周比Ｍは周波数演算部７からの送信クロック周波数指示信号Ｍｎｏｗに従って変更される。このように、送信クロックＴｘＣＬＫは、安定かつ高精度に発振させた高周波クロックＶＣＬＫを分周することにより生成されるので、この分周比を変更することにより、瞬時にかつ安定に送信クロック周波数を変更することが可能となる。
【００３１】
また、Ｒｘ同期検出部２は、Ｒｘ同期クロックの立ち上がりエッジを高周波クロックＶＣＬＫを基準として検出するものであり、Ｒｘ同期クロックの立ち上がりを検出すると送信クロックＴｘＣＬＫに同期した検出パルスＲＤｐｌｓとカウント値ＲＤｍを出力する。
【００３２】
また、比較部５は、ＲＤｐｌｓの時間間隔Ｔｒｘを検出し、通信データレートとＲｘ同期クロックの設定周期に応じて予め定められた基準時間と計測した時間Ｔｒｘとの差を誤差Ｌｅｒｒとして算出する。つまり、適正な基準時間と計測時間Ｔｒｘとの差が、送信側と受信側の周波数の差として現れる。この誤差Ｌｅｒｒは、高周波クロックＶＣＬＫを基準としてカウントし演算を行っても良いが、高周波クロックＶＣＬＫは非常に高周波であり、またカウントするビット数も非常に大きくなるので、回路規模，消費電力の点で不利である。そこで、本発明では、時間Ｔｒｘを送信クロックＴｘＣＬＫを基準としてカウントし、基準値ＲｅｆＮとの比較をし、最後に高周波クロック基準の誤差Ｌｅｒｒとして変換している。
【００３３】
また、フィルタ６は、誤差Ｌｅｒｒをフィルタリングして誤差データＥｒｒを出力するディジタルフィルタであり、例えば簡単には、直近の数周期分の誤差Ｌｅｒｒを平均して誤差データＥｒｒを得る。
【００３４】
また、周波数演算部７は、誤差データＥｒｒに従って適正な送信クロック周波数を算出し、これを送信クロック周波数指示信号Ｍｎｏｗに変換して出力する。高周波クロック周期をＴｖ、送信クロック周期をＴｔｘとし、今、Ｔｔｘ＝ＫＴｖとして送信クロック周波数を設定して送信した時、目標値Ｔｔｘ’（Ｔｔｘ’＝Ｋ’Ｔｖ）との誤差Ｅｒｒが入力される。従って、ＲｅｆＮ・Ｔｔｘ’＝ＲｅｆＮ・Ｔｔｘ＋Ｅｒｒ・Ｔｖであるので、
Ｋ’＝Ｋ＋Ｅｒｒ／ＲｅｆＮ（式１）
としてＫ’を設定するようにすれば、送信クロック周波数を目標値に制御することが出来る。
【００３５】
つまり、分周器４と比較部５とフィルタ６と周波数演算部７とでディジタルＰＬＬ制御を行っている。そして、フィルタ６の特性がこのＰＬＬ制御特性を決定し、制御系が安定になるようにフィルタ特性が決定される。また、Ｋ’＝Ｋ＋α・Ｅｒｒ／ＲｅｆＮとしてループゲインを変えるようにしても良い。
【００３６】
また、分周器４の分周数Ｍは自然数であるので、送信クロックの設定値Ｋを次のようにして送信クロック周波数指示信号Ｍｎｏｗに変換すると、まるめ誤差を低減することが出来、より精度のよい送信クロックが得られる。例えば、通常は設定値Ｋを四捨五入して整数にまるめた値をＭとし、Ｍｎｏｗ＝Ｍとし、送信クロックのＣサイクルに１回、Ｍｎｏｗ＝Ｍ＋１またはＭ−１とすることにより、Ｋ＝（Ｍ±１／Ｃ）となり、丸め誤差を低減できる。また、丸め誤差の振り分けも均等に行えるので、送信クロックの局所的な偏差も抑えられる。この場合は前記Ｍ値とＣ値を制御するようにすればよい。
【００３７】
図３は、図２の一部の信号の一例を示すタイミング図である。また、図４は比較部５の詳細構成例を示す図である。図３，図４を参照して、比較部５の動作の詳細説明を行う。
【００３８】
図３において、（ａ）Ｒｘ同期クロックはデータ受信部の取り込みタイミングを表す同期信号であり、Ｒｘ同期検出部２に入力される。（ｃ）ＶＣＬＫは高周波クロック生成部１で生成される高周波クロックの立ち上がりエッジを示している。（ｄ）ｃｏｕｎｔＭは分周器４で高周波クロックＶＣＬＫを基準としてカウントされるカウント値であり、（ｅ）ＴｘＣＬＫは（ｄ）ｃｏｕｎｔＭが０の時立ち上がる送信クロックである。（ｆ）ＲＤｐｌｓは（ａ）Ｒｘ同期クロックの立ち上がりを示すＴｘＣＬＫに同期したパルスであり、（ｇ）ＲＤｍは、（ａ）Ｒｘ同期クロックの立ち上がり時の（ｄ）ｃｏｕｎｔＭの値である。（ｈ−１）ｃｏｕｎｔＮ’は比較部５にある送信クロックＴｘＣＬＫ基準でカウントするカウンタの値であり、（ｆ）ＤＲｐｌｓで０にリセットされる。また（ｈ−２）ｃｏｕｎｔＮは（ｈ−１）ｃｏｕｎｔＮ’が０にリセットされる直前の値を保持する。
【００３９】
図４の比較部５において、カウンタ１１は、送信クロックＴｘＣＬＫを基準にカウントするカウンタであり、ＲＤｐｌｓで０にリセットされ、その直前の値をｃｏｕｎｔＮに保持する。減算器１２は、ｃｏｕｎｔＮから基準カウント値ＲｅｆＮの減算を行い、減算結果ｄｉｆｆＮを出力する。誤差演算部１３は、下記の演算を行い高周波クロックＶＣＬＫ周期Ｔｖを単位とする誤差Ｌｅｒｒを出力する。
Ｌｅｒｒ＝ｄｉｆｆＮ・Ｋ＋ＲＤｍ
ここで、ｄｉｆｆＮ＝ｎ−ＲｅｆＮ，ＲＤｍ＝ｍ２，Ｔｔｘ＝Ｋ・Ｔｖ
Ｔｔｘ：ＴｘＣＬＫの周期である。
【００４０】
図５は周波数演算部７の詳細構成例を示す図である。
【００４１】
図５において、演算部１６は、現在の設定値Ｍ，Ｃ，Ｒと誤差データＥｒｒとから次の設定値ＮｅｘｔＭ，ＮｅｘｔＣ，ＮｅｘｔＲを演算する。このＭ，Ｃ，Ｒの関係は、Ｔｔｘ＝（Ｍ±１／Ｃ）Ｔｖであり、Ｃ＝ＲｅｆＮ／Ｒである。これらの式と（式１）より、
Ｍ’＝ＮｅｘｔＭ，Ｃ’＝ＮｅｘｔＣ，Ｒ’＝ＮｅｘｔＲ，Ｎｒ＝ＲｅｆＮと略記して、Ｍ’＋Ｒ’／Ｎｒ＝Ｍ＋Ｒ／Ｎｒ＋Ｅｒｒ／Ｎｒ，Ｃ’＝Ｎｒ／Ｒ’
であるので、演算は次の手順で行う。
（１）Ｒ＋Ｅｒｒ（＝ＴｍｐＲとする）を計算する。
（２）ＴｍｐＲ＞Ｎｒ／２であれば、Ｍ’＝Ｍ＋１としてＲ’＝ＴｍｐＲ−Ｎｒとする。ＴｍｐＲ＜−Ｎｒ／２であれば、Ｍ’＝Ｍ−１としてＲ’＝ＴｍｐＲ＋Ｎｒとする。それ以外は、Ｍ’＝Ｍ，Ｒ’＝ＴｍｐＲとする。
（３）Ｎｒ÷Ｒ’の商をＣ’とする。なお、Ｒ’＝０であれば、Ｃ’＝０とする。
【００４２】
また、レジスタ１７は上記の演算により求めたＭ値を保持しておくデータ保持部である。また、更新信号Ｒｅｎｅｗに従い、レジスタ値をＮｅｘｔＭに更新する。同様に、レジスタ１８は現在設定しているＣ値を保持しておくデータ保持部であり、レジスタ１９は現在設定しているＲ値を保持しておくデータ保持部である。それぞれ更新信号Ｒｅｎｅｗに従いレジスタ値をＮｅｘｔＣ，ＮｅｘｔＲに更新する。なお、ＣｓｉｇｎはＣ値の符号を示す。
【００４３】
また、カウンタ２３は、ＴｘＣＬＫを基準としてＣ値をカウント（０からＣ−１まで）するもので、カウント値がＣ−１となったとき、Ｃｓｉｇｎが正を示していれば＋１を、負を示していれば−１を出力し、それ以外の時は０を出力する。なお、Ｃ＝０の時は常に０を出力する。
【００４４】
また、加算部２２は、レジスタ１７の出力するＭとカウンタ２３の出力する値を加算し、結果を送信クロック周波数指示信号Ｍｎｏｗとして出力する。よって、ＴｘＣＬＫのＣサイクルに１回、Ｍ値が＋１または−１されるように変換され、送信クロックの平均周期は（Ｍ±１／Ｃ）Ｔｖとなる。
【００４５】
演算制御部１５は、上述した演算を制御するものであり、ＲＤｐｌｓを検出してから誤差データＥｒｒ及びＮｅｘｔＭ，ＮｅｘｔＣ，ＮｅｘｔＲの演算が確定するまで待って、更新信号Ｒｅｎｅｗをアクティブにし、各レジスタの値をＮｅｘｔ値に更新する。なおこの際、ＴｘＣＬＫに同期して更新すれば、ｃｏｕｎｔＭの値が更新された後のＭを越えていることはないため、誤動作の可能性を防ぐことができる。
【００４６】
図６は周波数演算部７の別の構成例を示す図である。図６の構成例においても、演算制御部１５は図５のそれと同様にして、この演算を制御するものである。演算部２５は、現在の設定値Ｍ，Ｆと誤差データＥｒｒとから次の設定値ＮｅｘｔＭ，ＮｅｘｔＦを演算するものである。図６の構成例では、送信クロック周波数の設定値Ｋは、次のようにして送信クロック周波数指示信号Ｍｎｏｗに変換する。すなわち、設定値Ｋの整数部をＭとし、小数部をａ桁（２進数表記）の値Ｆに丸める。そして２＾ａ（＝Ｎａとする）サイクルにＦ回、Ｍｎｏｗ＝Ｍ＋１とすることにより、Ｋ＝（Ｍ＋Ｆ／Ｎａ）と設定される。ここで、設定値による丸め誤差は最大Ｎｒｅｆ／Ｎａとなるので、所望の誤差許容値に収まるように小数部の桁数ａを決定すればよい。また、局所的な周波数偏差を抑えるため＋１するＦ回のサイクルは均等に振り分けられるようにする。この機能は変換部３１が担う。よって、（式１）とこのＫの関係式により、Ｆ’＝ＮｅｘｔＦと記して
Ｋ’＋Ｆ’／Ｎａ＝Ｍ＋Ｆ／Ｎａ＋Ｅｒｒ／Ｎｒ
であるので、演算は次の手順で行う。
【００４７】
（１）Ｆ＋Ｅｒｒ／Ｎｒ＊Ｎａ（＝ＴｍｐＦとする）を計算する。Ｎａは２＾ａであるので、＊Ｎａは被乗数（Ｅｒｒ／Ｎｒ）の上位ａビットを取ればよく、またＮｒはこの周波数制御を行っている間は固定であるので、予めＮｒの逆数を計算しておいてこれをＥｒｒに乗算すれば演算は簡便に行える。
【００４８】
（２）ＴｍｐＦ＞Ｎａであれば、Ｍ’＝Ｍ＋１、Ｆ’＝ＴｍｐＦ−Ｎａとする。
ＴｍｐＦ＜０であれば、Ｍ’＝Ｍ−１、Ｆ’＝ＴｍｐＦ＋Ｎａとする。
【００４９】
図５の場合と同様に、レジスタ２６は上記の演算により求められたＭ値を保持しておくデータ保持部であり、レジスタ２７は、同様にＦ値を保持しておくデータ保持部である。そして、それぞれ更新信号Ｒｅｎｅｗに従い、レジスタ値をＮｅｘｔＣ、ＮｅｘｔＲに更新する。
【００５０】
カウンタ３０は、ＴｘＣＬＫを基準にカウントするａビットカウンタであり、そのカウント値ｃｏｕｎｔＡを出力する。変換部３１は、カウント値ｃｏｕｎｔＡに従い、Ｎａ（＝２＾ａ）サイクル中、Ｆサイクルは「１」を、残りのＮａ−Ｆサイクルは「０」として信号ＵＰを出力する。このＵＰ信号の生成は、カウント値ｃｏｕｎｔＡ［ａ−１：０］のビット並びを逆転させたｃｏｕｎｔＡ［０：ａ−１］をＡｒｅｖとした時、ＡｒｅｖがＦより小さい場合１とするようにすれば（ＵＰ＝（Ａｒｅｖ＜Ｆ））、Ｎａサイクル中均等にＦ回「１」が生成される。
【００５１】
加算部３２は、レジスタ２６の出力するＭと変換部３１の出力するＵＰを加算し、結果を送信クロック周波数指示信号Ｍｎｏｗとして出力する。よって、ＴｘＣＬＫのＮａサイクルにＦ回、Ｍ値が＋１されるように変換され、送信クロックの平均周期は（Ｍ＋Ｆ／Ｎａ）Ｔｖとなる。
【００５２】
前述したように、送信クロック周波数の制御はＲｘ同期クロック１周期毎に誤差Ｌｅｒｒを検出し、これが０になるようにディジタルＰＬＬ制御を行っている。フィルタ６は制御ループ内に置かれたディジタルフィルタであり、このフィルタ特性を変更することにより、制御帯域を設定できる。以下にフィルタの設定例を示す。
【００５３】
図７はフィルタ特性の設定例を説明するための図である。まず、ループフィルタを除くＤＰＬＬ制御系のループゲインは図７の（ａ）のようになる。ここで、ｆｓはサンプリング周波数で、つまりここではＲｘ同期クロック周波数である。この制御系に（ｂ）のような特性を持つラグリードフィルタを挿入し、（ｃ）のループゲインとすることにより、制御系を安定化させることができる。
【００５４】
τ１＝１／２πｆ１、τ２＝１／２πｆ２とすると、ループフィルタの伝達関数Ｈ（ｓ）は次式のようになる。
Ｈ（ｓ）＝（１＋τ２ｓ）／（１＋τ１ｓ）
上式を、双一次変換（ｓ＝２／Ｔ・（１−ｚ＾−１）／（１＋ｚ＾−１））してｚ変換形式にし、さらにＴ＝１として正規化すれば、ループフィルタの伝達関数Ｈ（ｚ）は次式となる。
Ｈ（ｚ）＝（ｂ０＋ｂ１ｚ＾−１）／（１＋ａ１ｚ＾−１）
ここで、ａ１＝（１−２τ１）／（１＋２τ１）、ｂ０＝（１＋２τ２）／（１＋２τ１）、ｂ１＝（１−２τ２）／（１＋２τ１）
【００５５】
図８は上式の伝達関数Ｈ（ｚ）を実現するフィルタ６の詳細構成例を示す図である。フィルタ６は、一次のＩＩＲ型フィルタであり、加算器４０及び４５はそれぞれの入力を加算し、乗算器４２，４３，４４はそれぞれ入力に対し、係数−ａ１，ｂ１，ｂ０を掛けた値を出力し、遅延素子４１は中間変数ｗを１サンプル毎遅延させる。このフィルタ６に誤差Ｌｅｒｒを入力すれば、誤差データＥｒｒを得る。
【００５６】
また、乗算器４２，４３，４４の各係数を変更する手段を設ければ、動的にフィルタ特性を変更可能となる。
【００５７】
なお、本例のフィルタ特性及び構成は一例であり、本発明はその他の構成のフィルタでも適用できる。ディジタルフィルタについては公知技術であるので、その他の構成の例示は省略する。
【００５８】
次に、図２のデータ送信部１１１において、送信クロックＴｘＣＬＫを基準にデータに従い変調する送信データ生成部１１３の好適な変調方法を説明する。
【００５９】
図９は、送信データ生成部１１３の動作を説明するタイミング図である。ここでは、データＤａｔａは１ｂｉｔデータとし、送信データＭｄａｔａを生成した。図９において、（ａ）ＶＣＬＫは高周波クロック（周期Ｔｖ）の立ち上がりを示し、（ｂ）ｃｏｕｎｔＭは分周器４でカウントしたカウント値であり、今、Ｍｎｏｗ＝１６と設定されているものとする。（ｃ）ＴｘＣＬＫは送信クロックであり、ここでは周期は１６Ｔｖとなっている。（ｄ）ＤａｔａはＴｘＣＬＫに同期して入力されるデータであり、この値Ｄｍに従って出力する送信データ（ｅ）Ｍｄａｔａのパルス幅ＴｗはＴｘＣＬＫ周期と同一となっている。送信データＭｄａｔａの生成は高周波クロックＶＣＬＫを基準にして行われ、Ｄｍ＝１であれば、ｃｏｕｎｔＭ＝０の時「Ｈ」とする。またＤｍ＝０であれば、ｃｏｕｎｔＭ＝０の時「Ｌ」とする。
【００６０】
また、図１０は、図９においてＤａｔａを２ｂｉｔとした場合を示す図である。送信データＭｄａｔａの生成は高周波クロックＶＣＬＫを基準にして行われ、Ｄｍの０ｂｉｔが１であればｃｏｕｎｔＭ＝０の時に「Ｈ」とする。またＤｍの０ｂｉｔが０であればｃｏｕｎｔＭ＝０の時に「Ｌ」とする。またＤｍの１ｂｉｔが１であればｃｏｕｎｔＭ＝８の時に「Ｈ」とし、Ｄｍの１ｂｉｔが０であればｃｏｕｎｔＭ＝８の時に「Ｌ」とする。このようにすれば送信クロックを擬似的に２倍にすることができ、通信データレートをあげることが出来る。（ただし、受信側のクロックを合わせることは必要である。）
【００６１】
図１１は、図９においてＤａｔａを４ｂｉｔにした場合を示す図であり、送信クロックが擬似的に４倍となっている。動作としては図１０と同様なので説明は省略する。以上説明したように、データ送信部の第１の構成例によれば、高精度に生成された高周波クロックＶＣＬＫを基準として送信クロックを生成し、Ｒｘ同期クロックの変動に合わせて送信クロック周波数を制御しているので、Ｒｘ動作周波数の変動があってもこの誤差を高精度に補正できる送信クロックが生成できる。
【００６２】
また、図１２は本発明のデータ送信部（図１のシリアルデータ通信システムにおけるデータ送信部５０１）の第２の構成例を示す図である。図１２のデータ送信部１１８において、高周波クロック生成部５１は、基準クロックＲｅｆＣＬＫＴｘを基に逓倍し、位相差が等間隔の多相クロックを生成するものであり（この構成例では、１６位相の多相クロックＶＣＬＫ０〜１５を生成するものとする）、また、多相クロックのうちの１つをＱ分周（ここではＱ＝４とする）した内部動作用クロックＧＣＬＫを生成し、図示しないがデータ送信部１１８の各部へ供給する。
【００６３】
図１３は、高周波クロック生成部５１で生成する各クロックのタイミングを示す図である。図１３中の信号（ａ−０）〜（ａ−１５）は、多相クロックＶＣＬＫ０〜１５のそれぞれのクロックであり、互いに等間隔の位相差を有しており、この時間間隔をＴｖとする。また、信号（ｂ）ＧＣＬＫは（ａ−０）ＶＣＬＫ０を４分周したクロックである。図１２のデータ送信部１１８は、基本的にこのクロックＧＣＬＫを動作クロックとして動作し、ＧＣＬＫを４分割した期間を順にＱＴ０，ＱＴ１，ＱＴ２，ＱＴ３と称し、また多相クロックＶＣＬＫ０〜１５の立ち上がりにそれぞれ対応した時刻をＰＨ０〜ＰＨ１５と称し、この期間ＱＴと位相ＰＨとによりＧＣＬＫ中の時間情報ＱＰを表す。
【００６４】
ここで、時間情報ＱＰは０〜６３の６４値であり、この第２の構成例では、この多相クロックの等間隔の位相差Ｔｖを基準として送信クロックＴｘＣＬＫを生成する。つまり送信クロック周波数の制御演算を動作クロックＧＣＬＫを基準に時間情報ＱＰ（ＱＴ，ＰＨ）の演算を行うことにより行う。
【００６５】
図１２に戻り、Ｒｘ同期検出部５２は、Ｒｘ同期クロックの立ち上がりエッジを多相クロックＶＣＬＫ０〜１５を基準として検出し、Ｒｘ同期クロックの立ち上がりを検出するとクロックＧＣＬＫに同期した検出パルスＲＤｐｌｓと立ち上がり時の期間ＱＴと位相ＰＨを示す時間情報ＲＤｑｐを出力する。
【００６６】
計数部５４は、周波数演算部５７からの送信クロック周波数指示信号Ｍｎｏｗに従って時間を計数し、Ｍｎｏｗに達する度にＳｅｔ信号（ＧＣＬＫに同期したＳＥＴｐｌｓ信号と時間情報ＳＥＴｑｐからなる）を生成し、またＳｅｔ信号からＭｎｏｗ／２にあたる時間を計数し、Ｒｓｔ信号（ＧＣＬＫに同期したＲＳＴｐｌｓ信号と時間情報ＲＳＴｑｐからなる）を生成する。この計数する時間単位は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖである。
【００６７】
送信クロック出力部５８は、計数部５４より供給されるＳｅｔ信号及びＲｓｔ信号に従って「Ｈ」と「Ｌ」を切り替えて送信クロックＴｘＣＬＫを生成し出力する。これらの詳細構成及び動作説明は後述する。
【００６８】
比較部５５は、Ｒｘ同期クロックの周期Ｔｒｘを検出し、通信データレートとＲｘ同期クロックの設定周期に応じて予め定められた基準時間と計測した時間Ｔｒｘとの差を誤差Ｌｅｒｒとして算出する。つまり適正な基準時間とＲｘ同期クロックの周期Ｔｒｘとの差が送信側と受信側の周波数の差として現れる。ここでは、ＲＤｐｌｓが立ち上がってから次に立ち上がるまでの期間中に入力されるＳＥＴｐｌｓの数をカウントし、この値と基準値ＲｅｆＮとの比較をし、さらに各パルスの時間情報とから誤差Ｌｅｒｒとして変換している。この誤差の単位は位相差Ｔｖである。
【００６９】
フィルタ５６は、誤差Ｌｅｒｒをフィルタリングして誤差データＥｒｒを出力するディジタルフィルタである。周波数演算部５７は誤差データＥｒｒに従って適正な送信クロック周波数を算出し、これを送信クロック周波数指示信号Ｍｎｏｗに変換して出力する。
【００７０】
送信クロック周期をＴｔｘとし、今、Ｔｔｘ＝ＫＴｖとして送信クロック周波数を設定して送信した時、目標値Ｔｔｘ’（Ｔｔｘ’＝Ｋ’Ｔｖ）との誤差Ｅｒｒが入力される。よって、前述と同様に（式１）により求めたＫ’を設定するようにすれば、送信クロック周波数を目標値に制御することができる。
【００７１】
なお、これらフィルタ５６及び周波数演算部５７は、図２のフィルタ６及び周波数演算部７と同様の機能を果たし、構成も同様に適用できるので詳細な説明は省略する。
【００７２】
次に、データ送信部の第２の構成例の各部を説明する。図１４は高周波クロック生成部５１の構成例を示す図である。この高周波クロック生成部５１は、基準クロックＲｅｆＣＬＫＴｘから、多相クロックＶＣＬＫ０〜１５と内部動作用クロックＧＣＬＫとを生成する。
【００７３】
電圧制御発振器ＶＣＯ６３は、８段の差動バッファ６４ａ〜ｈを接続したリングオシレータで構成され、１６位相のクロックＶＣＬＫ０〜１５を生成する。分周器６０はこの多相クロックのうちの１つ（ここではＶＣＬＫ８）をＮｖ分周する。
【００７４】
位相周波比較器ＰＦＤ６１は、基準クロックＲｅｆＣＬＫＴｘと分周器６０出力との位相比較を行い、この位相差情報に基づき内在するチャージポンプを駆動する。ローパスフィルタＬＰＦ６２はチャージポンプ出力を平滑化し制御電圧ＶｃをＶＣＯ６３に供給する。
【００７５】
ＶＣＯ６３内の差動バッファ６４ａ〜ｈはこの制御電圧Ｖｃに従って遅延量が変化し、位相同期制御が行われる。例えば基準クロックＲｅｆＣＬＫＴｘとして１００ＭＨｚのクロックを供給し、分周比Ｎｖを２０とすると、多相クロックＶＣＬＫ０〜１５は２ＧＨｚで互いに等間隔の位相差を有するクロックが生成できる。また、分周器６５は多相クロックＶＣＬＫ０〜１５のうちの１つ（ここではＶＣＬＫ０）をＱ分周（ここではＱ＝４とする）してクロックＧＣＬＫを生成する。なお、適用しうる多相クロックの相数は、この例の１６に限らないが、演算の簡便性より２のべき乗がもっとも望ましい。同様にＧＣＬＫを生成するための分周比Ｑも２のべき乗がもっとも望ましい。
【００７６】
図１５は、計数部５４の構成例を示す図である。また図１６は送信クロック出力部５８の構成例を示す図である。さらに、図１７は計数部５４及び送信クロック出力部５８の各信号のタイミングの一例を示す図である。これらの図を参照して、送信クロック周波数指示信号Ｍｎｏｗに従って送信クロックＴｘＣＬＫを生成する詳細な構成および動作を説明する。
【００７７】
図１５において、各部はクロックＧＣＬＫに同期して動作する。ＳＥＴ時間演算部７０は、現在のＴｘＣＬＫ立ち上がり時間情報に送信クロック周波数指示信号Ｍｎｏｗを加算し、次のＴｘＣＬＫの立ち上がり時間を表すセット時間情報ｎｅｘｔＳを演算するものであり、この演算の更新はｐＳｅｔ信号により行う。なお、セット時間情報ｎｅｘｔＳを６４で割った商をｎｅｘｔＳｃ、余りをｎｅｘｔＳｑｐとする。つまりｎｅｘｔＳｃ＝ｎｅｘｔＳ［ＭＳＢ：６］、ｎｅｘｔＳｑｐ＝ｎｅｘｔＳ［５：０］とする。
【００７８】
また、Ｒｘ同期クロックの立ち上がりに位相同期してＴｘＣＬＫの生成を始めるので（正確には所定の信号処理時間後でここでは２ＧＣＬＫ後）、最初のＴｘＣＬＫ立ち上がり時間情報はＲＤｑｐとする。
【００７９】
同様にして、ＲＳＴ時間演算部７１は、現在のＴｘＣＬＫ立ち上がり時間情報に送信クロック周波数指示信号Ｍｎｏｗの１／２を加算し、次のＴｘＣＬＫの立ち下がり時間を表すリセット時間情報ｎｅｘｔＲを演算するものであり、この演算の更新はｐＳｅｔ信号により行う。また、ｎｅｘｔＲｃ＝ｎｅｘｔＲ［ＭＳＢ：６］、ｎｅｘｔＲｑｐ＝ｎｅｘｔＲ［５：０］とする。なお、Ｍｎｏｗ／２を加算するのはＴｘＣＬＫのデューティをほぼ５０％にするためであり、デューティ５０％を要求しない場合はこの演算を簡略化できるような値を加算するようにしても良い。
【００８０】
カウンタ７２は、クロックＧＣＬＫを基準としてｎｅｘｔＳｃサイクルのカウントを行い、ｐＳｅｔ信号を生成する。このｐＳｅｔ信号が「Ｈ」の時カウンタは「１」にクリアされ、カウント値がｎｅｘｔＳｃと一致する時、ｐＳｅｔ信号を「Ｈ」とする。
【００８１】
Ｆ／Ｆ７３はｐＳｅｔ信号及びＲＤｐｌｓ信号を１ＧＣＬＫ遅延させてＳＥＴｐｌｓ信号を生成するフリップフロップである。Ｆ／Ｆ７４は、ｐＳｅｔ信号をイネーブルとしてｎｅｘｔＳｑｐを、また、ＳＰｐｌｓをイネーブルとしてＳＰｑｐをラッチし、ＳＥＴｑｐ信号を生成するフリップフロップである。このＳＥＴｐｌｓ信号はＴｘＣＬＫの立ち上がりをＧＣＬＫ単位で指定し、これに同期したＳＥＴｑｐ信号によりそのＧＣＬＫサイクル内での立ち上がり時間情報を指定する。これらをＳｅｔ信号と称し、送信クロック出力部５８に供給する。
【００８２】
カウンタ７５は、クロックＧＣＬＫを基準としてｎｅｘｔＲｃサイクルのカウントを行い、ＲＳＴｐｌｓ信号を生成する。ＳＥＴｐｌｓが「Ｈ」の時カウンタを「１」にクリアし、カウント値がｎｅｘｔＲｃに一致する時、ＲＳＴｐｌｓ信号を「Ｈ」とする。Ｆ／Ｆ７６は、ＳＥＴｐｌｓをイネーブルとしてｎｅｘｔＲｑｐをラッチし、ＲＳＴｑｐ信号を生成するフリップフロップである。このＲＳＴｐｌｓ信号はＴｘＣＬＫの立ち下がりをＧＣＬＫ単位で指定し、ＲＳＴｑｐ信号によりそのＧＣＬＫサイクル内での立ち下がり時間情報を指定する。これらをＲｓｔ信号と称し、送信クロック出力部５８に供給する。
【００８３】
なお、ＳＥＴｑｐ信号及びＲＳＴｑｐ信号は、それぞれＳＥＴｐｌｓ及びＲＳＴｐｌｓ信号が「Ｈ」の時有効となってればよいので、各部の制御タイミングはこの構成例のみに限定されるものではない。
【００８４】
図１６において、遅延部７７は、多相クロックＶＣＬＫ０〜１５を基準として、計数部５４から供給されるＳＥＴｐｌｓを時間情報ＳＥＴｑｐに従って遅延させたパルスＳを出力するものであり、また、ＧＣＬＫサイクル中の期間ＱＴを特定するためクロックＧＣＬＫも入力する。あるいは期間を示す期間信号ＱＴを入力しても良く、この場合は高周波クロック生成部５１でこのＱＴ信号を生成する。つまり、パルスＳはＳＥＴｐｌｓをＳＥＴｑｐ・Ｔｖだけ遅延させたパルスとなる。
【００８５】
遅延部７８は、同様に、多相クロックＶＣＬＫ０〜１５を基準として、計数部５４から供給されるＲＳＴｐｌｓを時間情報ＲＳＴｑｐに従って遅延させたパルスＲを出力するものであり、パルスＲはＲＳＴｐｌｓをＲＳＴｑｐ・Ｔｖだけ遅延させたパルスとなる。
ＳＲ−Ｆ／Ｆ７９は、パルスＳの立ち上がりでセット「Ｈ」し、パルスＲの立ち上がりでリセット「Ｌ」した送信クロックＴｘＣＬＫを出力するＳｅｔ−Ｒｅｓｅｔフリップフロップである。
【００８６】
図１７において、（ａ）はＧＣＬＫである。Ｒｘ同期検出部５２では、（ｂ）Ｒｘ同期クロックの立ち上がりを検出すると、その次のＧＣＬＫ１サイクルが「Ｈ」となる（ｃ−１）ＲＤｐｌｓ信号を出力し、またＧＣＬＫサイクル内のどの時刻で立ち上がったかを示す（ｃ−２）ＲＤｑｐ信号（本例では１０とする）も出力する。
【００８７】
（ｄ）Ｍｎｏｗは、周波数演算部５７から供給される送信クロック周波数指示信号であり、図示したように入力されるものとする。（ｅ−１）ｎｅｘｔＳは、ＳＥＴ時間演算部７０で演算される次のＴｘＣＬＫの立ち上がり時間を表す。最初は、Ｒｘ同期クロックの立ち上がりに同期してＴｘＣＬＫが立ち上がるようになっているので、次のＴｘＣＬＫの立ち上がりはＳＰｑｐ＋Ｍｎｏｗ＝２５０Ｔｖ後となる。ここで右辺のカンマの前の数値はｎｅｘｔＳｃを、カンマの後の数値はｎｅｘｔＳｑｐを表す。またその次のｎｅｘｔＳは、ｎｅｘｔＳｑｐ＋Ｍｎｏｗ＝２９８となる。
【００８８】
（ｅ−２）ｎｅｘｔＲは、ＲＳＴ時間演算部７１で演算される次のＴｘＣＬＫの立ち下がり時間を表す。まずはＲｘ同期クロックの立ち上がりにＭｎｏｗ／２を加算した値（＝１３０）がＴｘＣＬＫの立下り時間となり、（ｅ−１）ｎｅｘｔＳと同様に右辺のカンマの前の数値はｎｅｘｔＲｃを、カンマの後の数値はｎｅｘｔＲｑｐを表す。
【００８９】
（ｆ）ｐＳｅｔは、ＳＥＴｑｐ信号を更新するためにＳＥＴｐｌｓの１ＧＣＬＫ前に出力するパルスであり、カウンタ７２のカウント値がｎｅｘｔＳｃと一致した時「Ｈ」となる。なお、図中示した丸数字はｎｅｘｔＳｃのカウント値を表す。
【００９０】
（ｇ−１）ＳＥＴｐｌｓは、ＲＤｐｌｓとｐＳｅｔ信号を１ＧＣＬＫ遅延させたパルスであり、ＴｘＣＬＫの立ち上がりをＧＣＬＫ単位で指定する。（ｇ−２）ＳＥＴｑｐはこのＳＥＴｐｌｓの遅延値を示すＴｘＣＬＫ立ち上がり時間情報であり、（ｆ）ｐＳｅｔが「Ｈ」の時の（ｅ−１）ｎｅｘｔＳｑｐの値に更新していく。（ｈ−１）ＲＳＴｐｌｓはＴｘＣＬＫの立ち下がりをＧＣＬＫ単位で指定したパルスであり、カウンタ７５のカウント値がｎｅｘｔＲｃと一致した時「Ｈ」となる。（ｈ−２）ＲＳＴｑｐはＲＳＴｐｌｓの遅延値を示すＴｘＣＬＫ立ち下がり時間情報である。
【００９１】
（ｉ−１）Ｓは、（ｇ−１）ＳＥＴｐｌｓを対応する（ｇ−２）ＳＥＴｑｐの値だけ遅延させたパルスであり、遅延値の単位は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖである。同様に、（ｉ−２）Ｒは、（ｈ−１）ＲＳＴｐｌｓを対応する（ｈ−２）ＲＳＴｑｐの値だけ遅延させたパルスである。（ｊ）ＴｘＣＬＫは、（ｉ−１）Ｓの立ち上がりで「Ｈ」に、（ｉ−２）Ｒの立ち上がりで「Ｌ」として生成される送信クロックである。
【００９２】
図１８は、比較部５５の詳細構成例を示す図である。また、図１９は各信号のタイミングの一例を示す図である。図１８，図１９を参照して、比較部５５の詳細な動作を説明する。
【００９３】
図１９において、（ａ）はＧＣＬＫである。（ｂ）はＲｘ同期クロックである。Ｒｘ同期クロックの立ち上がりの時間間隔がＴｒｘである。（ｃ）はＲＤｐｌｓである。また、（ｄ−２）ＲＤｑｐはＲｘ同期クロックの時間情報である。さらに、（ｅ−１）ＳＥＴｐｌｓ、（ｅ−２）ＳＥＴｑｐはＴｘＣＬＫの立ち上がりを表す時間情報である。これらは前述したので説明は省略する。
【００９４】
（ｅ−３）ＳＥＴｃｎｔは、カウンタ７２のカウント値である。本例では、Ｍｎｏｗ＝１９２で一定とする。このとき（ｆ）ＴｘＣＬＫが生成される。ＴｘＣＬＫは、Ｒｘ同期クロックの丁度２ＧＣＬＫ後に同期して生成される。よって、（ｃ）ＲＤｐｌｓを１ＧＣＬＫ遅延させた（ｄ−１）ＲＤｄｅｔが「Ｈ」の時の各信号値から誤差Ｌｅｒｒを検出する。
【００９５】
（ｇ）はｐＳｅｔであり、（ｈ）ｃｏｕｎｔＮは、（ｃ）ＲＤｐｌｓで‘０’クリアされ、（ｇ）ｐＳｅｔによりインクリメントされるカウンタ８１のカウント値である。これらより、Ｒｘ同期クロックの立ち上がりから次の立ち上がりまでのＴｘＣＬＫのサイクル数ｎと位相誤差ｍ２を検出する。
【００９６】
図１８において、カウンタ８１は、ＲＤｐｌｓで‘０’クリアし、ｐＳｅｔによりインクリメントするカウンタであり、そのカウント値ｃｏｕｎｔＮを出力する。減算部８２は、ＲＤｄｅｔが「Ｈ」の時のカウンタ８１の値ｃｏｕｎｔＮ（図１９ではｎ）から基準カウント値ＲｅｆＮの減算を行い、減算結果ｄｉｆｆＮ（＝ｎ−ＲｅｆＮ）を出力する。
【００９７】
誤差検出部８４は、ＲＤｄｅｔが「Ｈ」の時のＳＥＴｑｐ及びＳＥＴｃｎｔをそれぞれＥｎｄｑｐ、Ｅｎｄｃｎｔとすると、次式の演算を行い位相差ｄｉｆｆＭを算出する。
ｄｉｆｆＭ＝Ｅｎｄｃｎｔ・Ｍｐ＋（ＲＤｑｐ−Ｅｎｄｑｐ）
ここで、ＭｐはＧＣＬＫの時間情報分割数であり、この例では６４である。また図１９の例ではｄｉｆｆＭ＝１４４となる。
【００９８】
誤差演算部８３は、下記の演算を行い多相クロックＶＣＬＫ０〜１５の位相差Ｔｖを単位とする誤差Ｌｅｒｒを出力する。
Ｌｅｒｒ＝ｄｉｆｆＮ・Ｋ＋ｄｉｆｆＭ
ここで、Ｔｔｘ＝Ｋ・Ｔｖ，Ｔｔｘ：ＴｘＣＬＫの周期である。
【００９９】
次に、図１２のデータ送信部１１８で生成した送信クロックＴｘＣＬＫを基準にデータに従い変調する送信データ生成部１１９の好適な構成及びその動作を説明する。
【０１００】
図２０は送信データ生成部１１９の詳細構成例を示す図である。また、図２１は、送信データ生成部１１９の各信号のタイミングの一例を示す図である。図２０，図２１を参照して、詳細な動作を説明する。なお、本例では、データＤａｔａは８ｂｉｔであり、従って、送信クロック１周期を８分割して送信データＭＤａｔａを生成する場合とする。
【０１０１】
図２０において、送信データ生成部１１９は、ＧＣＬＫが各部へ供給され、基準クロックとして動作する。クロックパターン生成部９０は、ＳＥＴｐｌｓ及びＳＥＴｑｐ信号から構成されるＳｅｔ信号と送信クロック周波数指示信号Ｍｎｏｗとから、送信クロックＴｘＣＬＫの所定の位相差を持ったクロックに相当するクロックパターン信号ＣＫＰ（ここではＣＫＰ０〜３で、ＴｘＣＬＫとそれぞれ、０、π／８、π／４、３π／８位相の遅れたクロックのパターン）を生成する。このクロックパターン信号ＣＫＰは、ＧＣＬＫを基準に変化する信号で、ＧＣＬＫサイクルを時間情報ＱＰで区切った６４の期間Ｔｑｐにそれぞれ対応する６４ビットのデータであり、期間Ｔｑｐが「Ｈ」の場合は対応するビットが「１」であり、「Ｌ」の場合は「０」となる。
【０１０２】
そしてクロックパターンの生成手順は次のようにして行う。まず各クロックパターンの立ち上がりを示すオフセットデータｓｏｆｓ０〜３及び立下りオフセットデータｒｏｆｓ０〜３を求める。それぞれ、ｓｏｆｓ０＝ＳＥＴｑｐ、ｓｏｆｓ１＝ＳＥＴｏｆｓ＋Ｍｎｏｗ／８、ｓｏｆｓ２＝ＳＥＴｏｆｓ＋Ｍｎｏｗ／４、ｓｏｆｓ３＝ＳＥＴｏｆｓ＋３Ｍｎｏｗ／８であり、ｒｏｆｓ０〜３はそれぞれｓｏｆｓ０〜３にＭｎｏｗ／２を加算する。次にＧＣＬＫのサイクル毎クロックパターンＣＫＰのＭＳＢから順にｓｏｆｓまでは「０」に、ｓｏｆｓからｒｏｆｓまでは「１」に、ｒｏｆｓからは「０」へと変換する。
【０１０３】
なお各オフセットデータが６４以上であれば、６４毎に１ＧＣＬＫ遅らせて、この変換を行う。例えば、Ｍｎｏｗ＝１９２、ＳＥＴｑｐ＝１６の場合、ＣＫＰ１は、ｓｏｆｓ＝４０、ｒｏｆｓ＝１３６（＝２ＧＣＬＫ＋８）であるので、第１のＧＣＬＫサイクルのパターンはＭＳＢ（＝６３）〜２４ビット目までは「０」、２３〜０ビットは「１」に、第２のＧＣＬＫサイクルのパターンは全て「１」に、第３のＧＣＬＫサイクルのパターンは６３〜５６ビットは「１」、５５〜０ビットは「０」になる。
【０１０４】
変調パターン生成部９２は、データＤａｔａとクロックパターン信号ＣＫＰ０〜３とから、変調パターン信号ＭＤＰを生成する。この変調パターン信号ＭＤＰは、クロックパターン信号ＣＫＰと同様に、ＧＣＬＫを基準に変化する信号で、ＧＣＬＫサイクルを時間情報ＱＰで区切った６４の期間Ｔｑｐにそれぞれ対応する６４ビットのデータである。
【０１０５】
シリアライザ９３は、変調パターン信号ＭＤＰを多相クロックＶＣＬＫ０〜１５を基準として、ＭＳＢから順に（つまり時間順に）Ｔｖ時間ずつシリアル出力した送信データＭＤａｔａを生成する。
【０１０６】
図２１において、具体的数値例を挙げて説明する。（ａ）は基準クロックとなるＧＣＬＫである。今、Ｓｅｔ信号を構成する（ｂ−１）ＳＥＴｐｌｓ及び（ｂ−２）ＳＥＴｑｐが図のように供給される時、送信クロックは（ｃ−１）ＴｘＣＬＫのように生成されている。また、送信クロック周波数指示信号Ｍｎｏｗ＝１９２であるとする。また実際には生成しないが、ＴｘＣＬＫをそれぞれπ／８、π／４、３π／８だけ位相を遅らせたクロックを（ｃ−２）ＴｘＣＬＫ１、（ｃ−３）ＴｘＣＬＫ２、（ｃ−４）ＴｘＣＬＫ３に説明のため示す。
【０１０７】
（ｄ−１）〜（ｄ−４）はそれぞれＴｘＣＬＫ、ＴｘＣＬＫ１〜３を表すクロックパターンＣＫＰ０〜３である。それぞれ６４ビットのデータでＭＳＢからＬＳＢに時間順であり、ＨＥＸ表記している。よってこれらのクロックパターンＣＫＰ０〜３から、送信クロックＴｘＣＬＫを８つに時分割した期間（ｔｐ０〜ｔｐ７）を示すパターン（それぞれ時間順にＰＴ０〜７と称する）が生成できる。すなわち、ＰＴ０＝ＣＫＰ０＆〜ＣＫＰ１、ＰＴ１＝ＣＫＰ１＆〜ＣＫＰ２、・・・、ＰＴ７＝〜ＣＫＰ３＆〜ＣＫＰ０である。ここで、＆は論理積を、〜は否定論理を示す。
【０１０８】
（ｅ）Ｄａｔａはパルス幅変調データであり、図のような値とする。（ｆ）ＭＤＰは変調パターン信号であり、まずｉを０〜７まで変化させた時の（｛６４｛ＤｅｃＤａｔａ［７−ｉ］｝｝＆ＰＴｉ）を演算し、次にこれらの論理和を演算することにより得られる。ここで、｛６４｛ＤｅｃＤａｔａ［ｉ］｝｝はＤｅｃＤａｔａ［ｉ］を６４ビット分連接させたデータである。
【０１０９】
こうして生成された変調パターン信号をシリアライズすることにより（ｇ）ＭＤａｔａの送信データが生成できる。この例ではＰＣＬＫ周期Ｔｐのうち最初の３／８の期間が「Ｈ」で、残りが「Ｌ」となるようにパルス幅変調されたパルスが生成される。
【０１１０】
また、送信クロックをπ／８ずつ位相をずらしたクロックパターンＣＫＰ０〜３を生成する代わりに、送信クロックＴｘＣＬＫの１サイクルを８つに時分割したそれぞれの期間を示すパターンＰＴ０〜ＰＴ７を生成し、これらとパルス幅変調データＤｅｃＤａｔａとから変調パターン信号ＭＤＰを生成するようにしても良い。
【０１１１】
さらに、上記の例では、送信クロックの８倍のパルス幅変調を行う場合について説明したが、他の変調方式であっても適用できる。例えば１６倍のパルス幅変調を行う場合は、データＤａｔａを１６ビットのパルス幅変調データとし、クロックパターン生成部９０は、送信クロックＴｘＣＬＫとπ／１６ずつ位相をずらした８つのクロックパターンＣＫＰ０〜７を生成し、変調パターン生成部９２で同様にして変調パターン信号ＭＤＰを生成するようにすればよい。
【０１１２】
また、この構成例は図１２の送信クロック出力部５８に適用してもよい。つまり、送信クロックＴｘＣＬＫのクロックパターンＴｘＣＫＰを生成し（前述のクロックパターン信号ＣＫＰ０を用いればよい）、これを多相クロックＶＣＬＫ０〜１５を基準として、ＭＳＢから順に（つまり時間順に）Ｔｖ時間ずつシリアル出力すれば送信クロックＴｘＣＬＫを生成できる。
【０１１３】
以上説明したように、このデータ送信部の第２の構成例（図１２のデータ送信部１１８）によれば、高精度に生成された多相クロックＶＣＬＫ０〜１５を基準として送信クロックを生成し、Ｒｘ同期クロックの変動に合わせて送信クロック周波数を制御しているので、Ｒｘ同期クロックの変動があってもこの誤差を高精度に補正できる送信クロックが生成できる。また、送信クロックの生成は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖの単位で正確に制御できるので、多相クロックの発振周波数を高くしないでもよいので、回路の設計が容易となり消費電流も低減できる。例えば、前述の第１の構成例と同等の分解能で送信クロックを生成する場合は、多相クロックの発振周波数は１／１６でよい。逆にいえば、同等の発振周波数とした場合、送信クロック生成分解能を１６倍に向上できる。つまり高精度な送信クロックが生成できる。さらには、送信クロック生成部の大部分は多相クロックの１つをさらに分周したクロックＧＣＬＫで動作するようにしているので、動作周波数がさらに低下され、消費電流の低減ができる。
【０１１４】
図２２は、送信データ生成部１１９の別の構成例を示す図である。図２２において、データ変換部３０１は、ＤａｔａをＰＷＭ変調パルス幅データＤｏｕｔに変換するものである。上述してきたように送信クロックＴｘＣＬＫの１周期は高周波クロックＶＣＬＫ０〜１５の位相差Ｔｖを単位とするＭ値で表され、目標の送信クロック周波数がＭｔａｒｇｅｔで定められているとする。このときデータＤａｔａの最大値をｄｍａｘとすると（例えばデータが４ｂｉｔで表されるとすると最大値ｄｍａｘ＝１５）、Ｄｏｕｔ＝Ｍｔａｒｇｅｔ＊Ｄａｔａ／ｄｍａｘなる演算をして変換データＤｏｕｔを得る。この変換はその都度演算をして求めてもよいが、予めデータに対応する変換データを定めた変換データ表ＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）を変換データ生成部３０７により生成しておき、これをデータ変換部３０１に供給して、この変換データに従って変換するようにしておけばよい。あるいは、変換データ生成部３０７は、別途求めた変換データを格納するものであっても良い。また、データ変換部３０１は、データが０であるときにＤｚｅｒｏをＨに、データがフル濃度（ｄｍａｘ）であるときにＤｆｕｌｌをＨとする信号を生成する。
【０１１５】
実際は送信クロックＴｘＣＬＫ周波数はその都度制御されており、そのときの送信クロック周波数はＭｔａｒｇｅｔと一致しないこともある。その場合はその差分を補正データとして供給し、データ補正部３０２により、その差分を補正し、補正したＰＷＭ変調データＤｐｗｍを生成する。
【０１１６】
位相補正情報保持部３０３は、位相補正情報を保持するレジスタであり、この位相補正情報とは、送信側と受信側の動作クロックの位相差を補正するための情報である。生成方法の詳細は後述する。
【０１１７】
エッジ時刻演算部３０４は、ＰＷＭ変調データＤｐｗｍ、フル濃度信号Ｄｆｕｌｌ、ゼロ濃度信号Ｄｚｅｒｏに従い、また送信クロック生成部より供給される送信クロックＴｘＣＬＫの立ち上がり時刻情報などを表すＴｘＣＬＫデータを基準として、送信データの立ち上がり時刻情報ＷＰＳ及び立下り時刻情報ＷＰＲを後述する演算により生成するものである。
【０１１８】
Ｓｅｔ／Ｒｓｔパルス生成部３０５は、送信データの立ち上がり及び立下り時刻情報ＷＰＳ、ＷＰＲからセットパルスＷＰＳｐｌｓ、リセットパルスＷＰＲｐｌｓ及びその位相情報ＷＰＳｑｐ、ＷＰＲｑｐを生成するものである。
【０１１９】
変調データ出力部３０６は、セットパルスＷＰＳｐｌｓ、リセットパルスＷＰＲｐｌｓ及びその位相情報ＷＰＳｑｐ、ＷＰＲｑｐから送信データを生成し出力するものである。
【０１２０】
次に、図２２の各部の詳細構成及び動作を説明する。図２３は、データ補正部３０２の一例を示す図である。図２３のデータ補正部３０２は、目標送信クロック周波数Ｍｔａｒｇｅｔと現在の送信クロック周波数Ｍとの差分をΔＭとした時、Ｄｐｗｍ＝Ｄｏｕｔ（１＋ΔＭ／Ｍｔａｒｇｅｔ）なる演算を行ってデータの補正を行う。データ補正部３０２において、まず割算器３１０はΔＭ÷Ｍｔａｒｇｅｔの演算を行う。なお、通常、高速な割算器を構成するのは困難なので、Ｍｔａｒｇｅｔの逆数を与え、ΔＭ×１／Ｍｔａｒｇｅｔの演算を行う掛算器としてもよい。また、掛算器３１１は、入力したＰＷＭ変調データＤｏｕｔに割算器３１０の出力を掛け、Ｄｏｕｔ・ΔＭ／Ｍｔａｒｇｅｔを求める掛算器である。また、遅延部３１２は、掛算器３１１の演算時間分ＰＷＭ変調データＤｏｕｔを遅延させる。また、加算器３１３は、遅延部３１２出力と掛算器３１１出力とを加算し、補正したＰＷＭ変調データＤｐｗｍ（＝＝Ｄｏｕｔ（１＋ΔＭ／Ｍｔａｒｇｅｔ））を出力する。
【０１２１】
図２４は、エッジ時刻演算部３０４で行なう演算を表す表を示す図であり、図２５は、演算の一例を示す信号波形図である。いまの例では、送信クロックＴｘＣＬＫの立ち上がり時刻情報などを表すＴｘＣＬＫデータとして、内部動作クロックＧＣＬＫを基準に生成されたデータであり、送信クロックの立ち上がりを表すセットパルスＰＣＫｓｅｔとその位相情報ｓｅｔｐｈ、セットパルスＰＣＫｓｅｔ立ち上がりエッジを起点としその送信クロックの中心位置を表すデータｃｅｎｔｐｏｓ、及びセットパルスＰＣＫｓｅｔ立ち上がりエッジを起点とし次の送信クロックの立ち上がり位置を表すデータｎｅｘｔｐｏｓと、からなる情報が供給されている。
【０１２２】
ある送信クロック１周期が全てハイの期間であるかを示すフル濃度信号Ｄｆｕｌｌ（Ｈがフル濃度時）、その期間が全てローであるかを示すゼロ濃度信号Ｄｚｅｒｏ（Ｈがゼロ濃度時）、位相データＤｐｈ（ここでは左／右／中の３つのドット位相状態があるものとする）と、前ドットが点灯状態で終わっているか否かを示す信号ｐｒｅｖ’の各状態（Ｓ１〜Ｓ１０）に応じて、変調データの立ち上がり時刻情報ＷＰＳ及び立下り時刻情報ＷＰＲと前ドット立下り時刻情報ｐｒｅｖＲＳＴと、当該ドットが点灯状態で終わるか否かを示す信号ｐｒｅｖ（次ドットでのｐｒｅｖ’になる）が図２４に示すように生成される。ここで、Ｘは、その信号の状態が何であっても良いという意味であり、ＷＰＳ等の欄に示す‘−’はそのドットでは有効データではないことを表す。一例を説明すると、フル濃度信号Ｄｆｕｌｌ＝Ｈの時は、他の信号がどの状態であってもｐｒｅｖ＝Ｈとし、ｐｒｅｖ’＝ＬであればＷＰＳ＝ｓｅｔｐｈを代入し出力する。このとき他の情報は有効データではない。
【０１２３】
図２５に基づき、さらに演算例を説明する。ここではＤｐｗｍ＝ｆｕｌｌの時、Ｄｆｕｌｌ＝Ｈを示し、Ｄｐｗｍ＝ｚｅｒｏの時、Ｄｚｅｒｏ＝Ｈであり、その他は変調データの値を記す。まず、（１）のドットサイクルでは、Ｄｐｗｍ＝ｄ０であり（つまりＤｆｕｌｌ＝Ｌ、Ｄｚｅｒｏ＝Ｌ）、Ｄｐｈ＝左、またｐｒｅｖ’＝Ｌであるので、図２４のＳ５の状態であるので、ＷＰＳ＝ｓｅｔｐｈ、ＷＰＲ＝ｓｅｔｐｈ＋ｄ０、ｐｒｅｖＲＳＴ＝無効、ｐｒｅｖ＝Ｌとなる。図中各時刻情報を矢印で記す、記入の無いサイクルで無効を表す。
以降、ドットサイクル（２）では、Ｓ７の状態であるので、ＷＰＳ＝ｎ１−ｄ１、ＷＰＲ，ｐｒｅｖＲＳＴ＝無効、ｐｒｅｖ＝Ｈ
ドットサイクル（３）では、状態Ｓ４で、ｐｒｅｖＲＳＴ＝ｓｅｔｐｈ、他無効、ｐｒｅｖ＝Ｌ
と演算される（以降サイクルの記述は省略）。
【０１２４】
また、（ｋ）ＴｘＣＬＫ及び（ｌ）送信データは、説明のため、送信クロックと変調データを実時間で表したものである。
【０１２５】
次に、Ｓｅｔ／Ｒｓｔパルス生成部３０５は、変調データの立ち上がり時刻情報ＷＰＳが、ＧＣＬＫのカウント数ＷＰＳｃｎｔと位相情報ＷＰＳｑｐに分けられ（具体的には、例えば、下位６ビットが位相情報、それ以上がカウント数を示す）、ＰＣＫｓｅｔパルスをＧＣＬＫのカウント数ＷＰＳｃｎｔ分遅延させたパルスをセットパルスＷＰＳｐｌｓとして出力し、その出力に合わせて位相情報ＷＰＳｑｐも出力する。また同様に、ｐｒｅｖＲＳＴ時刻情報が無効であれば、変調データの立ち下がり時刻情報ＷＰＲをＧＣＬＫのカウント数ＷＰＲｃｎｔと位相情報ＷＰＲｑｐに分け、ＣＫｓｅｔパルスをＷＰＲｃｎｔ分遅延させたパルスをリセットパルスＷＰＲｐｌｓとして出力し、合わせて位相情報ＷＰＲｑｐを出力する。ｐｒｅｖＲＳＴ時刻情報が有効であれば、その前にＰＣＫｓｅｔパルスと同一サイクルでリセットパルスＷＰＲｐｌｓと位相情報ｓｅｔｐｈを出力し、続いて変調データの立ち下がり時刻情報ＷＰＲに基づいた生成を行う。
【０１２６】
図２６は変調データ出力部３０６の構成例を示す図である。図２６において、遅延部３２０は、多相クロックＶＣＬＫ０〜１５を基準として、Ｓｅｔ／Ｒｓｔパルス生成部３０５から供給されるＷＰＳｐｌｓを位相情報ＷＰＳｑｐに従って遅延させたパルスＳを出力するものであり、また、ＧＣＬＫサイクル中の期間ＱＴを特定するためクロックＧＣＬＫも入力する。あるいは期間を示す期間信号ＱＴを入力しても良い（この場合は高周波クロック生成部５１でこのＱＴ信号を生成する）。つまり、パルスＳはＷＰＳｐｌｓをＷＰＳｑｐ・Ｔｖだけ遅延させたパルスとなる。また、遅延部３２１は、同様に、多相クロックＶＣＬＫ０〜１５を基準として、Ｓｅｔ／Ｒｓｔパルス生成部３０５から供給されるＷＰＲｐｌｓを位相情報ＷＰＲｑｐに従って遅延させたパルスＲを出力するものであり、パルスＲはＷＰＲｐｌｓをＷＰＲｑｐ・Ｔｖだけ遅延させたパルスとなる。ＳＲ−Ｆ／Ｆ３２２は、パルスＳの立ち上がりでセット「Ｈ」し、パルスＲの立ち上がりでリセット「Ｌ」した送信データを出力するＳｅｔ−Ｒｅｓｅｔフリップフロップである。
【０１２７】
図２７は本発明によるデータ受信部（図１のデータ受信部５０２）の構成例を示す図である。
【０１２８】
図２７のデータ受信部４０４において、受信データ生成部４０１は、送信データを受信し、受信データを生成する。また、基準クロックＲｅｆＣＬＫＲｘに基づいて受信クロックを生成し、その受信クロックに基づいて送信データを受信する。受信クロックの周波数は、その通信システムの通信レートに合わせて設定し、ＲｅｆＣＬＫＲｘをそのまま用いてもよいし、逓倍もしくは分周して生成してもよい。
【０１２９】
同期クロック生成部４０２は、受信データ生成部４０１から受信クロックを受け取り、その受信クロックをその通信システムで定められた分周比Ｍｒｘに従って分周し、Ｒｘ同期クロックを生成する。この分周比Ｍｒｘは、受信クロックと同期クロックとの周波数比から設定される目標値（請求項２における目標値）に相当し、図２におけるＲｅｆＮとなる。ただし、データ送信部において、送信クロック１周期あたりＮビットのデータを送信する場合には、Ｍｒｘ／Ｎが目標値ＲｅｆＮとなる。位相判定信号生成部４０３は、送信データと受信クロックの位相調整を行う位相補正期間内に、受信データ生成部４０１から受信データを受け取り、その通信システムにおいて予め定められたパターンと一致するかどうかを判定することによって位相判定信号を生成する。詳しい説明は後述する。
【０１３０】
図２８に受信データ生成部４０１の構成例を示す。この受信データ生成部４０１は、基準となるＲｅｆＣＬＫＲｘを逓倍して受信クロックを生成し、その受信クロックで送信データを取り込み受信データを生成している。位相周波数比較器ＰＦＤ４５５はＲｅｆＣＬＫＲｘと分周器４５７の出力の位相周波数比較を行い、この位相差情報に基づき内在するチャージポンプを駆動する。ローパスフィルタＬＰＦ４５６はチャージポンプ出力を平滑化し制御電圧をＶＣＯ４５８に供給する。電圧制御発振器ＶＣＯ４５８はこの制御電圧によって発振周波数が変化する。分周器４５７はＶＣＯ４５８で出力された受信クロックをＮ分周する。ＰＦＤ４５５、ＬＰＦ４５６、ＶＣＯ４５８、分周器４５７によってＰＬＬ（位相同期ループ）が構成されている。なお、図２８では、ＰＬＬによってＲｅｆＣＬＫＲｘを逓倍して受信クロックを生成しているが、通信データレートやＲｅｆＣＬＫＲｘの周波数によって、ＲｅｆＣＬＫＲｘをそのまま受信クロックとする場合や、ＲｅｆＣＬＫＲｘを分周して受信クロックとする場合なども考えられる。Ｆ／Ｆ４５９は受信クロックによって送信データを取り込むためのフリップフロップである。取り込まれたデータはシリパラＳ／Ｐ４６０によってパラレルデータに変換される。
【０１３１】
図２９は同期クロック生成部４０２の構成例を示す図である。分周器４６１は受信データ生成部４０１で生成された受信クロックをＭｒｘ分周してＲｘ同期クロックを生成するカウンタである。Ｍｒｘの値はその通信システムによって予め定められた値である。
【０１３２】
また、図２７において、位相判定信号生成部４０３は、位相補正期間内に受信データ生成部で生成された受信データにある特定のデータパターンが含まれるかを判定し位相判定信号を生成する。データパターンの実施例については後述する。
【０１３３】
次に、送信データと受信クロックの間の位相調整を行うシーケンスについて図３０を用いて説明する。この位相調整は、通信初期化時において行い、場合によってはデータ通信を行っていない期間にも実施してもよい。位相調整をどのようなタイミングで行うかについては後述する。図３０のフローチャートにおいて、Ｓｔｅｐ１は送信データを受信クロックの周波数に合わせるための周波数引き込み工程であり、この工程は既に説明してきたデータ送信部によって行われる。Ｓｔｅｐ２は送信クロック周波数制御がロックしているか否かを示すロックフラグＬｏｃｋに従い分岐する。ここでロックフラグＬｏｃｋは、例えば、所定期間（例えばＲｘ同期クロック６周期分）図２や図１２における誤差Ｌｅｒｒ（あるいは誤差データＥｒｒ）が所定の範囲内（データ通信のエラー許容範囲などから決めればよく、例えば±１６Ｔｖ以内とする）に収まっていれば、ロックしているとみなす信号で、この信号の生成部は例えばフィルタ６内に備えればよい。あるいは制御応答性より予め制御開始からの所定時間（Ｒｘ同期クロック周期数などで指定）を決めておき、この時間が経過したらＬｏｃｋ信号をアクティブにするようにしても良い。
【０１３４】
図３１は、この制御方法による引き込み過程の様子の一例を示す図であり、横軸は時間、縦軸は誤差Ｌｅｒｒであり、黒丸が一定期間許容範囲内に収まった時点でＬｏｃｋが立つ。
【０１３５】
図３０に戻りＳｔｅｐ２においてはＬｏｃｋ判定がＮｏの場合には引き続き周波数引き込み工程を行う。Ｌｏｃｋ判定がＹｅｓとなった場合には、次の工程へ進む。Ｓｔｅｐ３は位相補正情報設定工程であり、位相補正情報は０もしくは自然数であり、初期値は０であるとする。Ｓｔｅｐ４は位相補正用データ送信工程であり、位相補正用データとはその通信システムによって予め定められたデータパターンであり、送信データ生成部により出力される。詳細は後述する。Ｓｔｅｐ５は送信データと受信クロックが位相同期しているか否かを示す位相判定信号により分岐する。位相判定信号は、データ受信部において位相補正用データを受信することにより生成される。位相判定がＮｏの場合にはＳｔｅｐ３に戻り位相補正情報を１インクリメントする。そして再び位相補正用データを送信し、位相判定信号により判断する。以上のルーチンを位相判定がＹｅｓになるまで繰り返す。位相判定がＹｅｓになったら、その時点での位相補正情報から算出される位相補正情報を設定する。具体的な算出方法は後述する。
【０１３６】
図３２，図３３には位相補正用データの第１の例が示されている。
【０１３７】
図３２において、位相補正情報は０であり、位相補正用データは受信クロックの周期Ｔｒｘの５倍のパルス幅をもつパルスである。この位相補正用データをデータ受信部に送信した時、位相補正用データと受信クロックがどのような位相関係であったとしても、受信データとしてはデータ１を５回連続で検出する。この時、位相判定情報は０のままである。
【０１３８】
次に図３３において、位相補正情報は２４であり、その時の位相補正用データは図３２の位相補正用データよりも立ち上がり時刻が２４＊Ｔｖ遅れたパルスとなる。パルス幅としては５＊Ｔｒｘ−２４＊Ｔｖとなる。ここで、Ｔｖは演算単位時間（高周波クロックの周期もしくは多相クロックの位相差）である。この時、受信データは、データ１の数が１つ減り４つとなる。その場合に位相判定信号はフラグが立つ。このとき、位相補正用データの立ち上がりと受信クロックの立ち上がりはほぼ同時刻であり、位相補正情報を１ずつインクリメントしていった場合には、演算単位時間の精度で合わせることが出来る。この後、実際に送信側に設定する位相補正情報は、現在の位相補正情報の値に、受信クロック周期の半周期を演算単位時間で表した数だけ足すか、もしくは、引くことにより算出する。例えば、位相判定終了時の位相補正情報をＮｐｃ’とし、実際に設定する位相補正情報をＮｐｃとし、Ｔｒｘ＝１６０＊Ｔｖとすると、
Ｎｐｃ＝Ｎｐｃ’＋Ｔｒｘ／Ｔｖ／２
から求まるＮｐｃを設定する。図３３の場合にはＮｐｃ＝１０４となる。
ただし、Ｎｐｃ’＞Ｔｒｘ／Ｔｖ／２の場合には、
Ｎｐｃ＝Ｎｐｃ’−Ｔｒｘ／Ｔｖ／２
とした方がよい。
【０１３９】
実際のデータ通信時にこの設定された位相補正情報に従って、送信クロックをＮｐｃ＊Ｔｖだけ遅延させてやることにより、送信データのエッジ位置は受信クロックの立ち上がり位置のほぼ中央となり、データ受信部においてデータ取り込みミスが起こりにくくなる。この送信クロックを遅延させる機能は、図２の分周器４や図１２の計数部５４においてカウンタのリセットを位相補正情報に従って遅らせることで実現できる。詳細は後述する。
【０１４０】
また、一般の通信システムにおいて、伝送路はある周波数特性を持ち、周波数が高くなると信号の振幅が減衰し、パルス幅を正確に伝送できなくなるといったことが起こる。実際の位相補正用データのパルス幅を設定するときには、この伝送路特性を考慮し、設定する必要がある。図３２では、位相補正用データのパルス幅は、受信クロックの周期の５倍としたが、実際はその通信システムにおける伝送路特性を考慮し、その伝送路によって影響を受けない（パルス幅が縮まらない）パルス幅に設定する。
【０１４１】
図３４，図３５には、位相補正用データの第２の例が示されている。
【０１４２】
図３４において、位相補正情報は０であり、位相補正用データは、受信クロックの周期Ｔｒｘの５倍からある定められた時間ΔＴを引いた５＊Ｔｒｘ−ΔＴのパルス幅をもつパルスである。この位相補正用データをデータ受信部に送信した時、位相補正用データと受信クロックの位相関係により、受信データのデータ１が５回連続の場合と４回連続の場合が発生する。図３４は５回連続の場合である。この時、位相判定情報は０のままである。
【０１４３】
次に図３５において、位相補正情報は２４であり、その時の位相補正用データは図３４の位相補正用データよりも立ち上がり時刻、立ち下がり時刻共に２４＊Ｔｖ遅れたパルスとなる。ここで、Ｔｖは演算単位時間（高周波クロックの周期もしくは多相クロックの位相差）である。この時、受信データは、データ１の数が１つ減り４つとなる。その場合に、位相判定信号はフラグが立つ。このとき、位相補正用データの立ち上がりと受信クロックの立ち上がりはほぼ同時刻であり、位相補正情報を１ずつインクリメントしていった場合には、演算単位時間の精度で合わせることが出来る。この後、実際に設定する位相補正情報は、現在の位相補正情報の値に、受信クロック周期の半周期を演算単位時間で表した数だけ足すか、もしくは、引くことにより算出する。例えば、位相判定終了時の位相補正情報をＮｐｃ’とし、実際に設定する位相補正情報をＮｐｃとし、Ｔｒｘ＝１６０＊Ｔｖとすると、
Ｎｐｃ＝Ｎｐｃ’＋Ｔｒｘ／Ｔｖ／２
から求まるＮｐｃを設定する。図３５の場合にはＮｐｃ＝１０４となる。
ただし、Ｎｐｃ’＞Ｔｒｘ／Ｔｖ／２の場合には、
Ｎｐｃ＝Ｎｐｃ’−Ｔｒｘ／Ｔｖ／２
とした方がよい。
【０１４４】
またΔＴの時間としては、位相判定が正確に行えるくらい十分大きく設定する必要があるが、あまり大きくし過ぎると位相同期精度が悪くなるので、その点を考慮して設定する必要がある。
【０１４５】
以上のような、位相補正機能により位相補正を行った後に実際にデータ通信を行っている時のタイミング関係を表す図を図３６，図３７に示す。ただし、図中では伝送路による遅延やフリップフロップの出力遅延などは無視している。
【０１４６】
図３６において、Ｒｘ同期クロックは、受信クロックを１０分周したクロックである。また、送信クロックは、受信クロックと周波数が合うように周波数制御がされている（つまりＴｔｘ＝Ｔｒｘ）。そして、送信クロックおよび送信データの位相は、位相補正情報により調整されており、初期値の位相よりＮｐｃ＊Ｔｖだけ遅延している。これにより送信データのほぼ中央で受信クロックが立ち上がるようになっている。また、図３７では、送信クロック１周期あたり２ｂｉｔのデータを送信する場合であり、この場合はＴｔｘ＝２＊Ｔｒｘとなるように周波数制御されている。また、送信クロックおよび送信データの位相は、位相補正情報により調整されており、初期値の位相よりＮｐｃ＊Ｔｖだけ遅延している。これにより、送信データのほぼ中央で受信クロックが立ち上がるようになっており、データ取り込みミスが起こりにくくなり良好な通信システムを実現することができる。
【０１４７】
図３８は図２のデータ送信部の構成において位相補正情報を保持しておくための位相補正情報保持部４５１を追加した場合の構成を示す図である。高周波クロック生成部１、Ｒｘ同期検出部２、分周器４、比較部５、フィルタ６、周波数演算部７、送信データ生成部１１３については、図２のそれと同様の構成で実現できるので説明は省略する。位相補正情報保持部４５１はＲｘ同期クロックが入力され、前述したように設定された位相補正情報に従ってＶＣＬＫを単位時間としてＲｘ同期クロックを遅延する。その遅延されたＲｘ同期クロックでカウンタ４をリセットすることにより、Ｒｘ同期クロックと送信クロックＴｘＣＬＫの位相関係をコントロールすることが出来る。
【０１４８】
図３９に位相補正情報保持部の構成例を示す。遅延部４５２にはＲｘ同期クロックが入力され、設定された位相補正情報に従ってＶＣＬＫを単位として遅延されたＲＤＣＬＫを出力する。位相補正情報生成部は、前述したように位相補正期間内にデータ受信部から入力される位相判定信号に従って位相補正情報を決定する。Ｒｅｇ４５４はその位相補正情報を保持するためのレジスタである。このようにＲｘ同期クロックと送信クロックの位相関係をコントロールすることにより、データ送信部から送信されるデータとデータ受信部の受信クロックとの間の位相差を調整でき良好な通信システムを実現することが可能となる。
【０１４９】
図４０に、本発明によるシリアルデータ通信システムの第２の実施形態の全体構成を示す。図４０は受信側において送信データと受信クロックの位相調整を行う場合の構成例である。データ送信部５０３はＲｅｆＣＬＫＴｘ、データ、ＲｅｆＮ、Ｒｘ同期クロックが入力され送信データを出力する。またデータ受信部５０４はＲｅｆＣＬＫＲｘと送信データが入力され受信データ、Ｒｘ同期クロックを出力する。データ送信部５０３は図２の構成で実現できる。この場合、データ送信部にはＴｘＣＬＫの位相調整機能はもたない。データ受信部５０４の構成例を図４１に示す。図４１においてＰＬＬ５０５はＲｅｆＣＬＫＲｘを逓倍し受信クロック周波数のクロックを生成する。分周器５０６はＰＬＬ５０５で生成されたクロックをＭｒｘ分周しＲｘ同期クロックを生成するカウンタである。Ｍｒｘの値はその通信システムによって予め定められた値である。遅延同期ループＤＬＬ５０７はＰＬＬ５０５で生成されたクロックから同じ周波数で互いに等間隔の位相差を有する多相クロックを生成する。受信クロック選択部５０８はその多相クロックの中から選択信号ｓｅｌにより受信クロックを選択する。Ｆ／Ｆ５０９，５１０は受信クロック選択部から出力された受信クロックＲｘＣＬＫ１、ＲｘＣＬＫ０によりそれぞれ送信データを取り込むフリップフロップである。比較部５１１はＦ／Ｆ５０９，５１０で取り込まれたデータを比較し選択信号を生成するブロックである。Ｓ／Ｐ５１２はＦ／Ｆ５１０で取り込まれたデータをシリパラ変換し受信データを生成する。
【０１５０】
図４２にＤＬＬ５０７の構成例を示す。図４２では多相クロックとして８相クロックを生成する場合の構成を示している。またＰＬＬから入力されるクロックは差動クロックＰＬＬＣＬＫ、ＰＬＬＣＬＫＢとしている。差動クロックＰＬＬＣＬＫ、ＰＬＬＣＬＫＢはディレイ部５１５に入力されＶＣＬＫ０〜７を生成する。また位相比較器ＰＤ５１３はＰＬＬＣＬＫとＶＣＬＫ７との位相比較を行い、この位相差情報に基づき内在するチャージポンプを駆動する。ローパスフィルタＬＰＦ５１４はチャージポンプ出力を平滑化し制御電圧Ｖｃをディレイ部５１５に供給する。
【０１５１】
図４３に受信クロック選択部５０８の構成例を示す。多相クロックＶＣＬＫ０〜７はマルチプレクサＭＵＸに入力される。それぞれのＭＵＸはクロック選択信号ｓｅｌ（本例では３ｂｉｔ）のいずれかによって出力選択される。ＲｘＣＬＫ０、ＲｘＣＬＫ１の組み合わせとしてはＲｘＣＬＫ０＝ＶＣＬＫ４、ＲｘＣＬＫ１＝ＶＣＬＫ５などＲｘＣＬＫ１はＲｘＣＬＫ０から１位相遅れたクロックが出力される。
【０１５２】
図４４と図４５のタイミング図を用いて比較部５１１及び送信データと受信クロックの位相調整方法について説明する。位相調整は通信初期化時またはデータ通信を行っていない期間に行い、送信データの周波数が一定になっている状態で行う。位相調整をどのようなタイミングで行うかについては後述する。位相調整時の送信データとしては例えば１０１０…のような信号のエッジが多いデータが望ましい。図４４において（ａ）送信データとして１０１０…というデータが送られてきている。クロック位相選択信号（ｂ）ｓｅｌ［２：０］は０００が設定されている。その時（ｃ−１）ＲｘＣＬＫ０としてはＶＣＬＫ０が、（ｃ−２）ＲｘＣＬＫ１としてはＶＣＬＫ１が出力される。そのＲｘＣＬＫ０で取り込んだデータ（Ｆ／Ｆ５１０の出力）が（ｄ−１）データ０であり、ＲｘＣＬＫ１で取り込んだデータ（Ｆ／Ｆ５０９の出力）が（ｄ−２）データ１である。図４４においてデータ０とデータ１は判定時刻において同一データが出力されているため比較結果としては０が出力される。判定時刻としてはＲｘＣＬＫ０の立ち上がりからＴｒｘ／２遅れた時刻などにすればよい。そして比較結果が０の場合にはクロック位相選択信号を１インクリメントし、同様なデータ比較を繰り返す。図４５においては（ｂ）ｓｅｌ［２：０］が１００に設定されている。その時、（ｃ−１）ＲｘＣＬＫ０としてはＶＣＬＫ４が、（ｃ−２）ＲｘＣＬＫ１としてはＶＣＬＫ５が出力される。そのＲｘＣＬＫ０で取り込んだデータ（Ｆ／Ｆ５１０の出力）が（ｄ−１）データ０であり、ＲｘＣＬＫ１で取り込んだデータ（Ｆ／Ｆ５０９の出力）が（ｄ−２）データ１である。図４５においてデータ０とデータ１は判定時刻において異なるデータが出力されているため比較結果としては１が出力される。比較結果として１が出力された時点において、その時点でのｓｅｌ［２：０］から受信クロックが反転するようなｓｅｌをクロック位相選択信号として設定する。つまり図４５の場合、ｓｅｌ［２：０］＝０００が設定される。このようにすることにより送信データのエッジ位置から十分余裕のある位置の受信クロックを選択できる。このようにデータ受信部の受信クロックの位相を調整することにより取り込みミスを抑制し良好な通信システムを実現することが可能となる。
【０１５３】
図４６にデータ受信部５０４の別の構成例について示す。図４６においてＰＬＬ５２８、分周器５２９、受信クロック選択部５３０、ＤＬＬ５３１、Ｆ／Ｆ５３２，５３３、比較部５３４、Ｓ／Ｐ５３５は図４２〜図４５の説明と同様の構成で実現できる。図４６ではＲｘＣＬＫ０、ＲｘＣＬＫ１はＤＬＬ５３１で生成された多相クロックのうち固定の２クロックであり、例えばＲｘＣＬＫ０＝ＶＣＬＫ０、ＲｘＣＬＫ１＝ＶＣＬＫ１のように１位相ずらしたもので固定とする。受信クロック選択部５３０はＲｘ同期クロックを生成するためのクロックを選択し、受信クロック選択部５３０に入力される信号ｓｅｌを変えることによりＲｘ同期クロックの位相が変化する。このように図４６では受信クロックは固定としＲｘ同期クロックの位相を調整することにより送信データの位相を変化させることによって図４１の構成と同じように位相調整を行うことが出来る。
【０１５４】
図４７を用いて位相調整を行う期間について説明する。位相調整は初期化時には必ず行うが、初期化時に送信データと受信クロックの位相を合わせたとしても送信側受信側それぞれの電源電圧変化や温度変化によってデータ送信中に徐々に位相がずれてしまうことが考えられる。そのような場合にはある一定期間中に一度位相調整を行う必要がある。図４２では（ａ）位相補正期間をある一定間隔ごとに（ｂ）データ送信期間の間に設けている。この間隔は予め決めておいてもよいし、ある決められたデータパターンをデータ送信期間の始点としてそのデータパターンを検出することでデータ送信期間を判別してもよい。データ受信部としてはデータ送信期間以外に受信するデータは位相調整用に用いるだけでデータとしては破棄するようにしておく。このようにして一定期間ごとに位相調整を行うことにより良好な通信システムを維持することができる。
【０１５５】
図４８に通信チャンネルを２チャンネルにした場合の構成例を示す。送信側チップとしてはデータ送信部５１６を備える。データ送信部５１６はＲｅｆＣＬＫＴｘ、Ｒｘ同期クロック、ＲｅｆＮ、データ１、データ２が入力され、送信データ１、送信データ２を出力する。受信側チップとしてはデータ受信部１５１７、データ受信部２５１８、受信クロック生成部５１９を備える。データ受信部１５１７は送信データ１と受信クロックが入力され、受信データ１を出力する。データ受信部２５１８は送信データ２と受信クロックが入力され、受信データ２を出力する。受信クロック生成部５１９はＲｅｆＣＬＫＲｘが入力され、受信クロックとＲｘ同期クロックを出力する。本構成例は２チャンネルの場合を想定しているが、それ以上の多チャンネルの場合でも同様に実現できる。その場合でも、受信側としてはＲｅｆＣＬＫＲｘが共通であれば受信クロック生成部を共通にでき、データ受信部のみをチャンネル分備えればよいので、消費電力や面積の点で有利である。
【０１５６】
図４９にデータ送信部５１６の構成例を示す。図４９は図２のデータ送信部において送信データ生成部を２つ備えた構成である。高周波クロック生成部５１７、分周器５１８、Ｒｘ同期検出部５１９、比較部５２０、周波数演算部５２１、フィルタ５２２については図２のそれと同様であるので説明は省略する。送信データ生成部１５２３はデータ１、Ｍｎｏｗ、ＶＣＬＫ、ｃｏｕｎｔＭ、ＴｘＣＬＫが入力され送信データ１を出力する。送信データ生成部２５２４はデータ２、Ｍｎｏｗ、ＶＣＬＫ、ｃｏｕｎｔＭ、ＴｘＣＬＫが入力され送信データ２を出力する。それぞれの送信データ生成部は図２の送信データ生成部１１３と同様に図１１で説明したデータ変調動作を行う。以上のように本構成であれば、通信チャンネル数が多くなった場合でも送信データ生成部だけをチャンネル数分用意しその他のブロックは共通に出来るため、消費電力や面積の点で有利である。
【０１５７】
図５０に受信クロック生成部５１９の構成例を示す。ＰＬＬ５２１はＲｅｆＣＬＫＲｘを逓倍し受信クロックを生成する。また分周器５２０は受信クロックをＭｒｘ分周しＲｘ同期クロックを生成する。Ｍｒｘの値はその通信システムによって予め定められた値である。Ｒｘ同期クロックはデータ送信部へ送られ、受信クロックはデータ受信部１５１７、データ受信部２５１８にそれぞれ供給される。
【０１５８】
図５１にデータ受信部１５１７の構成例を示す。遅延同期ループＤＬＬ５２２は受信クロック生成部５１９で生成されたクロックから同じ周波数で互いに等間隔の位相差を有する多相クロックを生成する。受信クロック選択部５２３はその多相クロックの中から選択信号ｓｅｌにより受信クロックを選択する。Ｆ／Ｆ５２４，５２５は受信クロック選択部から出力された受信クロックＲｘＣＬＫ１、ＲｘＣＬＫ０によりそれぞれ送信データ１を取り込むフリップフロップである。比較部５２６はＦ／Ｆ５２４，５２５で取り込まれたデータを比較し選択信号を生成するブロックである。Ｓ／Ｐ５２７はＦ／Ｆ５２５で取り込まれたデータをシリパラ変換し受信データ１を生成する。ＤＬＬ５２２、受信クロック選択部５２３、Ｆ／Ｆ５２４，５２５、比較部５２６、Ｓ／Ｐ５２７については図５４〜５７の説明と同様に実現できるので説明は省略する。またデータ受信部２５１８についても同様の構成で実現できる。そして前述した受信クロック選択を行うことにより各チャンネルにとって最適な受信クロックを選択することができる。つまり本実施例では、送信データの周波数制御を送信側で行い、受信側において各チャンネルの受信クロックの位相調整を行うため、多チャンネルの場合でも共通化できる部分が多く消費電流や面積の点で有利である。
【０１５９】
図５２に受信側チップが２つである場合の構成例を示す。送信側チップとしてはデータ送信部５３６を備える。データ送信部５３６はＲｅｆＣＬＫＴｘ、Ｒｘ同期クロック１、Ｒｘ同期クロック２、ＲｅｆＮ、データ１、データ２が入力され、送信データ１、送信データ２を出力する。受信側チップ１としてはデータ受信部１５３７を備え、データ受信部１５３７は送信データ１とＲｅｆＣＬＫＲｘ１が入力され、受信データ１、Ｒｘ同期クロック１を出力する。受信側チップ２としてはデータ受信部２５３８を備え、データ受信部２５３８は送信データ２とＲｅｆＣＬＫＲｘ２が入力され、受信データ２、Ｒｘ同期クロック２を出力する。本構成例は２チャンネルの場合を想定しているが、それ以上の多チャンネルの場合でも同様に実現できる。
【０１６０】
図５３にデータ送信部５３６の構成例を示す。図５３において高周波クロック生成部５３７はＲｅｆＣＬＫＴｘが入力され高周波クロックＶＣＬＫを生成する。データ送信制御部１５３８はデータ１、ＲｅｆＮ、ＶＣＬＫ、Ｒｘ同期クロック１が入力され送信データ１を出力する。データ送信制御部２５３９はデータ２、ＲｅｆＮ、ＶＣＬＫ、Ｒｘ同期クロック２が入力され送信データ２を出力する。データ送信制御部の構成例について図５４を用いて説明する。図５４はデータ送信制御部１の構成例を示す図である。分周器５４０、Ｒｘ同期検出部５４１、比較部５４２、フィルタ５４３、周波数演算部５４４、送信データ生成部５４５は図２のそれと同様の構成で実現できる。またデータ送信制御部２も同様の構成で実現できる。また図５２のデータ受信部１５３７、データ受信部２５３８は図４１の構成で実現することができる。つまり、図５２のような多チャンネルの構成の場合にでも、データ送信部としては高周波クロック生成部を共通にすることができる。一般に高周波クロック生成部はアナログＰＬＬで構成され、面積消費電流ともに大きい。本構成であればその高周波クロック生成部を共通化できるため多チャンネルの場合でも消費電流や面積の点で有利である。
【０１６１】
以上説明してきた実施例を図５５のように画像形成装置内での画像データ通信に適用することにより、以下のような利点がある。一般的なシリアル通信方式において、伝送されるデータにはクロックが重畳され（エンベデッドクロック）、データ受信部で受信したデータからそのクロックを抽出する。受信側でクロック抽出を行うためには伝送されるデータにデータ遷移エッジが多く存在することが必要であり、そのために８Ｂ／１０Ｂ変換といった符号化を行う。８Ｂ／１０Ｂ変換とは任意の８ｂｉｔデータをデータ遷移エッジの多い伝送に適した１０ｂｉｔデータに変換してから伝送し、伝送後に受信側でもとの８ｂｉｔデータに復元するという方法である。その場合、もし仮に伝送時にエラーが発生し１ｂｉｔだけデータが反転してしまったとすると、そのビットを含むシンボル（１０ｂｉｔデータ）は変換後正確な８ｂｉｔデータにはならずエラーとなる。つまり１０ｂｉｔ中１ｂｉｔでもエラーをおこすとそのシンボルは誤ったデータとなるため、通信品質を保証するためには非常に低いエラーレートが要求される。本実施例のようにエンベデッドクロックを用いない方式であれば８Ｂ／１０Ｂ変換のようなデータ変換を行う必要がなく、１ｂｉｔエラーを起こしてもその前後のデータにまで影響を与えることはない。また画像データはそれ自身１ｂｉｔだけエラーを起こしたとしても一般に画像としての影響は大きくないので、通信システムとして要求されるエラーレートは一般的なシリアル通信方式よりも高く（緩く）することが出来る。
【０１６２】
上述したように、本発明では、送信側チップ内に送信データの周波数をディジタル的に変調する機能を持ち、受信側のデータ取り込みクロックの周波数に合わせて送信データを変調する。また送信データと取り込みクロックの位相関係も通信初期化時などにおいて調整する機能をもつ。また、送信側の送信データ生成の基準となる高周波クロックを多相クロックにすることにより、さらに高精度な周波数制御が可能となる。
【０１６３】
より詳細に、本発明では、データ送信部において、高精度に生成された多相クロックＶＣＬＫ０〜１５を基準として送信クロックを生成し、Ｒｘ同期クロックに合わせて送信クロック周波数を制御しているので、受信クロックの周波数に変動があってもこの誤差を高精度に補正できる送信クロックが生成でき、さらに位相補正期間内に送信データと受信クロックの位相関係を調整するシーケンスをもつことにより、受信クロックに位相同期した送信データを生成でき、データ受信エラーのほとんどない通信システムを実現できる。
【０１６４】
さらに、送信クロックの生成及び送信データの生成は多相クロックＶＣＬＫ０〜１５の位相差Ｔｖの単位で正確に制御できるので、多相クロックの発振周波数を高くしないでもよく、回路の設計が容易となり消費電流も低減できる。さらには、多相クロックの１つをさらに分周したクロックＧＣＬＫで動作するようにしているので、動作周波数がさらに低下され、消費電流の低減ができる。
【０１６５】
また、本発明では、送信データを受信側の取り込みクロックに合わせて変調することにより、受信側ではＣＤＲなどの大規模回路を用意する必要はなく、簡易な構成で実現することが可能となる。また送信側ではディジタル的に周波数変調を行うため、受信チップの数に合わせてアナログＰＬＬを用意する必要がなく、基準となるクロックは全ての通信チャンネルにおいて同一にすることが出来る。また、送信データを受信側の取り込みクロックに合わせて変調しているため、受信側でクロックを再生する必要がなくエンベデッドクロックにする必要はない。そのため一般のシリアル通信で用いられるような８Ｂ／１０Ｂ変換といった符号化をする必要がなく、そのためのエンコーダ，デコーダを省略することが出来る。さらに画像形成装置内での画像データ通信に適用することにより一般的なシリアル通信方式に比べて通信システムとして要求されるエラーレートを高く（緩く）することができる。
【０１６６】
すなわち、本発明では、画像形成装置内の半導体チップ間もしくはボード間の画像データ通信に、上述した本発明のシリアルデータ通信システムを用いることができる。
【０１６７】
この場合、本発明では、例えば図３６のような画像形成装置内部において、メインコントローラから画像データをエンジン側に送信する場合、エンジン側においてはＣＤＲ回路のような大規模な回路を載せられない場合や、発光素子を光らせるため高電圧が必要で大きなプロセスルールを使用することでスピード的に不足である場合、また画像エンジンチップの数が多くそのチップサイズを小さくしたい場合などに有用である。
【産業上の利用可能性】
【０１６８】
本発明は、レーザプリンタ、デジタル複写機などに利用可能である。
【図面の簡単な説明】
【０１６９】
【図１】本発明に係るシリアルデータ通信システムの全体構成例を示す図である。
【図２】本発明のデータ送信部の第１の構成例を示す図である。
【図３】図２の一部の信号の一例を示すタイミング図である。
【図４】比較部の詳細構成例を示す図である。
【図５】周波数演算部の詳細構成例を示す図である。
【図６】周波数演算部の別の構成例を示す図である。
【図７】フィルタ特性の設定例を説明するための図である。
【図８】フィルタの詳細構成例を示す図である。
【図９】送信データ生成部の動作を説明するタイミング図である。
【図１０】図９においてＤａｔａを２ｂｉｔとした場合を示す図である。
【図１１】図９においてＤａｔａを４ｂｉｔにした場合を示す図である。
【図１２】本発明のデータ送信部の第２の構成例を示す図である。
【図１３】高周波クロック生成部で生成する各クロックのタイミングを示す図である。
【図１４】高周波クロック生成部の構成例を示す図である。
【図１５】計数部の構成例を示す図である。
【図１６】送信クロック出力部の構成例を示す図である。
【図１７】計数部及び送信クロック出力部の各信号のタイミングの一例を示す図である。
【図１８】比較部の詳細構成例を示す図である。
【図１９】各信号のタイミングの一例を示す図である。
【図２０】送信データ生成部の詳細構成例を示す図である。
【図２１】送信データ生成部の各信号のタイミングの一例を示す図である。
【図２２】送信データ生成部の別の構成例を示す図である。
【図２３】データ補正部の一例を示す図である。
【図２４】エッジ時刻演算部で行なう演算を表す表を示す図である。
【図２５】演算の一例を示す信号波形図である。
【図２６】変調データ出力部の構成例を示す図である。
【図２７】本発明によるデータ受信部の構成例を示す図である。
【図２８】受信データ生成部の構成例を示す図である。
【図２９】同期クロック生成部の構成例を示す図である。
【図３０】送信データと受信クロックの間の位相調整を行うシーケンスを示す図である。
【図３１】引き込み過程の様子の一例を示す図である。
【図３２】位相補正用データの第１の例を示す図である。
【図３３】位相補正用データの第１の例を示す図である。
【図３４】位相補正用データの第２の例を示す図である。
【図３５】位相補正用データの第２の例を示す図である。
【図３６】位相補正機能により位相補正を行った後に実際にデータ通信を行っている時のタイミング関係を表す図である。
【図３７】位相補正機能により位相補正を行った後に実際にデータ通信を行っている時のタイミング関係を表す図である。
【図３８】図２のデータ送信部の構成において位相補正情報を保持しておくための位相補正情報保持部を追加した場合の構成を示す図である。
【図３９】位相補正情報保持部の構成例を示す図である。
【図４０】本発明によるシリアルデータ通信システムの第２の実施形態の全体構成を示す図である。
【図４１】データ受信部の構成例を示す図である。
【図４２】ＤＬＬの構成例を示す図である。
【図４３】受信クロック選択部の構成例を示す図である。
【図４４】比較部及び送信データと受信クロックの位相調整方法について説明するためのタイミング図である。
【図４５】比較部及び送信データと受信クロックの位相調整方法について説明するためのタイミング図である。
【図４６】データ受信部の別の構成例について示す図である。
【図４７】位相調整を行う期間について説明するための図である。
【図４８】通信チャンネルを２チャンネルにした場合の構成例を示す図である。
【図４９】データ送信部の構成例を示す図である。
【図５０】受信クロック生成部の構成例を示す図である。
【図５１】データ受信部の構成例を示す図である。
【図５２】受信側チップが２つである場合の構成例を示す図である。
【図５３】データ送信部の構成例を示す図である。
【図５４】データ送信制御部の構成例を示す図である。
【図５５】画像形成装置の構成例を示す図である。
【符号の説明】
【０１７０】
５０１          データ送信部
５０２          データ受信部
１１１，１１８  データ送信部
１，５１        高周波クロック生成部
２，５２        Ｒｘ同期検出部
４              分周器
５，５５        比較部
６，５６        フィルタ
７，５７        周波数演算部
１１３，１１９  送信データ生成部
１１            カウンタ
１２            減算部
１３            誤差演算部
１５            演算制御部
１６，２５      演算部
１７，１８，１９，２６，２７    レジスタ
２３，３０      カウンタ
３１            変換部
７０            ＳＥＴ時間演算部
７１            ＲＳＴ時間演算部
７２，７５      カウンタ
７３，７４，７６    フリップフロップ
７７，７８      遅延部
７９            ＳＲ−Ｆ／Ｆ
８１            カウンタ
８２            減算部
８３            誤差演算部
８４            誤差検出部
９０            クロックパターン生成部
９２            変調パターン生成部
９３            シリアライザ
３０１          データ変換部
３０２          データ補正部
３０３          位相補正情報保持部
３０４          エッジ時刻演算部
３０５          Ｓｅｔ／Ｒｓｔパルス生成部
３０６          変調データ出力部
３０７          変換データ生成部
３２０，３２１  遅延部
３２３          ＳＲ−Ｆ／Ｆ
４０１          受信データ生成部
４０２          同期クロック生成部
４０３          位相判定信号生成部
４０４          データ受信部
【図１】
2008099228.tif 000003
【図２】
2008099228.tif 000004
【図３】
2008099228.tif 000005
【図４】
2008099228.tif 000006
【図５】
2008099228.tif 000007
【図６】
2008099228.tif 000008
【図７】
2008099228.tif 000009
【図８】
2008099228.tif 000010
【図９】
2008099228.tif 000011
【図１０】
2008099228.tif 000012
【図１１】
2008099228.tif 000013
【図１２】
2008099228.tif 000014
【図１３】
2008099228.tif 000015
【図１４】
2008099228.tif 000016
【図１５】
2008099228.tif 000017
【図１６】
2008099228.tif 000018
【図１７】
2008099228.tif 000019
【図１８】
2008099228.tif 000020
【図１９】
2008099228.tif 000021
【図２０】
2008099228.tif 000022
【図２１】
2008099228.tif 000023
【図２２】
2008099228.tif 000024
【図２３】
2008099228.tif 000025
【図２４】
2008099228.tif 000026
【図２５】
2008099228.tif 000027
【図２６】
2008099228.tif 000028
【図２７】
2008099228.tif 000029
【図２８】
2008099228.tif 000030
【図２９】
2008099228.tif 000031
【図３０】
2008099228.tif 000032
【図３１】
2008099228.tif 000033
【図３２】
2008099228.tif 000034
【図３３】
2008099228.tif 000035
【図３４】
2008099228.tif 000036
【図３５】
2008099228.tif 000037
【図３６】
2008099228.tif 000038
【図３７】
2008099228.tif 000039
【図３８】
2008099228.tif 000040
【図３９】
2008099228.tif 000041
【図４０】
2008099228.tif 000042
【図４１】
2008099228.tif 000043
【図４２】
2008099228.tif 000044
【図４３】
2008099228.tif 000045
【図４４】
2008099228.tif 000046
【図４５】
2008099228.tif 000047
【図４６】
2008099228.tif 000048
【図４７】
2008099228.tif 000049
【図４８】
2008099228.tif 000050
【図４９】
2008099228.tif 000051
【図５０】
2008099228.tif 000052
【図５１】
2008099228.tif 000053
【図５２】
2008099228.tif 000054
【図５３】
2008099228.tif 000055
【図５４】
2008099228.tif 000056
【図５５】
2008099228.tif 000057