(57)【特許請求の範囲】
【請求項１】
送信側から送信されてくる同期データと有効データとを含むフレームごとのシリアルデータを非同期に受信するデータ受信装置であって、
送信側クロック信号とほぼ同じ周波数の受信クロック信号を当該送信側クロック信号と非同期に生成する受信クロック信号生成手段と、
前記受信クロック信号に基づいて、受信クロック信号と同周波数で位相が異なる複数の遅延クロック信号を生成する遅延クロック信号生成手段と、
同期データに基づいて、有効データの始めのビットタイムにおいて送信側クロック信号と位相がほぼ合致する遅延クロック信号を、各フレームごとに、各遅延クロック信号の中から選出する遅延クロック信号選出手段と、
送信側クロック信号に対する受信クロック信号の周波数差に基づいて、遅延クロック信号選出手段の選出結果に対する各フレームにおける位相調整量を取得する位相調整量取得手段と、
遅延クロック信号選出手段によって選出された遅延クロック信号と位相調整量分位相が異なる遅延クロック信号を、前記選出結果と前記位相調整量とに基づいて、当該フレームにおける有効データを読み込むための同期クロック信号として選択する選択手段と、
を備えることを特徴とするデータ受信装置。
【請求項２】
前記位相調整量検出手段は、前記周波数差と位相調整量とを対応付けたテーブルを有し、当該テーブルを参照して位相調整量を取得することを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
前記遅延クロック信号選出手段は、選出結果を各遅延クロック信号に割り当てられた２進コードで出力し、
前記位相調整量取得手段は、位相調整量を２進コードで出力し、
前記選択手段は、遅延クロック信号選出手段が出力した２進コードと位相調整量取得手段が出力した２進コードとを加減演算する演算部を有し、当該演算部の加減演算の結果の２進コードに基づいて同期クロック信号となる遅延クロック信号を選択することを特徴とする請求項１または２に記載のデータ受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期シリアル伝送方式のデータ受信装置に関する。
【０００２】
【従来の技術】
データを伝送する方式の１つとして、通信線が１本ですみ、システムを安価に構成することができる非同期シリアル伝送方式がある。
この方式では、送信側は、スタートビットなどからなる同期データと、８ビットのビット列で画像の階調データや文字データなどの有効データとを含むフレームごとのシリアルデータを、送信側クロック信号に同期して１つの通信線を介して送信する。
【０００３】
このシリアルデータを受信する従来のデータ受信装置は、水晶振動子を有し、送信側クロック信号とほぼ同じ周波数の受信クロック信号をこの送信側クロック信号と非同期に生成する発振器と、発振器から出力された受信クロック信号と同周波数で位相が異なる複数の遅延クロック信号を生成する遅延ブロックと、同期データに基づいて、有効データの始めのビットタイムにおいて送信側クロック信号と位相がほぼ合致する遅延クロック信号を、各フレームごとに、各遅延クロック信号の中から選出する位相検出部を備え、同期クロック信号の読取エッジを有効データの初めのビットタイムにおいてこのビットタイムのほぼ中央位相に位置させている。
【０００４】
このデータ受信装置によれば、有効データの初めのビットタイムにおいて送信側クロック信号と同期クロック信号とをほぼ位相を合わせることができ、読取エッジの前後のデータセットアップタイム、データホールドタイムをほぼ等しくすることができる。また、上記水晶振動子に通常の誤差（±数十ｐｐｍ）があった場合であっても、複写機のイメージリーダ部で原稿を４００ｄｐｉで読み取った１ライン分の階調データ程度の量の有効データであれば、この有効データを１フレームで送信したとしても、ビット落ちを生じることなく各有効データを安定的にラッチすることができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、現在は原稿を６００ｄｐｉで読み取る場合のように転送すべきデータ量が益々増加する傾向にあるため、効率よく有効データをデータ受信装置に転送する必要があるが、水晶振動子に誤差があると、この誤差に起因して有効データの初めのビットタイムから終わりのビットタイムに行くにしたがって同期クロック信号の各読取エッジが中央位相から位相進み方向あるいは位相遅れ方向に徐々にずれていく。このため、１フレームの有効データのデータ量を現在の要求まで増やそうとすると、次第にデータセットアップタイムあるいはデータホールドタイムが短くなって最後には受信エラーを引き起こす。したがって、１フレームで受信できるデータ量をこれ以上多くすることができず、データ転送効率を高めることができなかった。
【０００６】
この問題を解決するために、通常より誤差の小さな水晶振動子を用いることが考えられるが、誤差の小さい水晶振動子がきわめて高価であるため、データ受信装置がコストアップすることになる。
【０００７】
本発明は、上述の問題点に鑑みてなされたものであり、周波数誤差を小さくすることなく、１フレームの有効データのデータ量を増加させることができるデータ受信装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るデータ受信装置は、送信側から送信されてくる同期データと有効データとを含むフレームごとのシリアルデータを非同期に受信するデータ受信装置であって、送信側クロック信号とほぼ同じ周波数の受信クロック信号を当該送信側クロック信号と非同期に生成する受信クロック信号生成手段と、前記受信クロック信号に基づいて、受信クロック信号と同周波数で位相が異なる複数の遅延クロック信号を生成する遅延クロック信号生成手段と、同期データに基づいて、有効データの始めのビットタイムにおいて送信側クロック信号と位相がほぼ合致する遅延クロック信号を、各フレームごとに、各遅延クロック信号の中から選出する遅延クロック信号選出手段と、送信側クロック信号に対する受信クロック信号の周波数差に基づいて、遅延クロック信号選出手段の選出結果に対する各フレームにおける位相調整量を取得する位相調整量取得手段と、遅延クロック信号選出手段によって選出された遅延クロック信号と位相調整量分位相が異なる遅延クロック信号を、前記選出結果と前記位相調整量とに基づいて、当該フレームにおける有効データを読み込むための同期クロック信号として選択する選択手段と、を備えることを特徴とする。
【０００９】
また、本発明に係るデータ受信装置は、前記位相調整量検出手段は、前記周波数差と位相調整量とを対応付けたテーブルを有し、当該テーブルを参照して位相調整量を取得することを特徴とする。
【００１０】
さらに、本発明に係るデータ受信装置は、前記遅延クロック信号選出手段は、選出結果を各遅延クロック信号に割り当てられた２進コードで出力し、前記位相調整量取得手段は、位相調整量を２進コードで出力し、前記選択手段は、遅延クロック信号選出手段が出力した２進コードと位相調整量取得手段が出力した２進コードとを加減演算する演算部を有し、当該演算部の加減演算の結果の２進コードに基づいて同期クロック信号となる遅延クロック信号を選択することを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明に係るデータ受信装置の実施の形態を、単色のデジタル複写機（以下、単に「複写機」という。）に適用した例について説明する。
【００１２】
（複写機の全体構成）
図１は、複写機１の全体の構成を示す図である。この複写機１は、原稿画像を読み取るイメージリーダ部１０と、読み取った画像を記録シートやＯＨＰシートなどの記録シートＳ上にプリントして再現するプリンタ部２０とから構成される。
【００１３】
イメージリーダ部１０は、プラテンガラスに載置された原稿画像を１ラインずつスキャンし、これをＣＣＤイメージセンサなどで電気信号に変換し、この電気信号をＡ／Ｄ変換して階調データ（例えば、８ビット階調データ）を得る周知のものである。得られた階調データは、画像メモリ（不図示）に一旦格納された後、必要に応じて画像メモリから１ラインずつ読み出され、１画素ごとにパラレル／シリアル変換され、予め定められた周波数のクロック信号（送信側クロック信号）に同期してシリアルデータの形式でプリンタ部２０のシリアルデータ受信装置３００に非同期シリアル伝送され、レーザダイオード（不図示）を光変調する駆動信号として用いられる。
【００１４】
プリンタ部２０は、電子写真方式により記録シートＳ上に画像を再現するものであって、上記シリアルデータ受信装置３００や、レーザダイオードなどを有し、上記駆動信号によりレーザビームＬＢを出射する露光走査部３０や、画像形成部４０、給紙部５０、シート搬送部６０、定着器７０などからなる。なお、シリアルデータ受信装置３００の詳細は、後述する。
【００１５】
画像形成部４０は、感光体ドラム４１を中心として、その周囲に配設されるクリーナ４２や、イレーサランプ４３、帯電チャージャ４４、現像器４５、転写チャージャ４６、用紙分離用除電チャージャ４７などから構成されており、感光体ドラム４１は、不図示の駆動モータにより予め定められた所定のシステムスピードで矢印ａ方向に回転駆動されるようになっている。
【００１６】
給紙部５０は、所定サイズの記録シートＳを積層収容しておくための複数（図示４つ）の給紙カセット５１ａ〜５１ｄ、この記録シートＳを給紙カセット５１ａ〜５１ｄから選択して繰り出すための給紙ローラ５２ａ〜５２ｄ、記録シートＳを捌くための捌きローラ５３ａ〜５３ｄ、記録シートＳを感光体ドラム４１と転写チャージャ４６との間の転写位置に繰り出すタイミングをとるためのタイミングローラ５９、記録シートＳを捌きローラ５３ａ〜５３ｄからタイミングローラ５９に搬送する縦搬送ローラ５４〜５８、および記録シートの紙詰まりなどを検出するセンサーＳＥ１，ＳＥ２などを備えており、記録シートＳをタイミングローラ５９で一旦停止させ、感光体ドラム４１における画像形成と同期を取って記録シートＳを１枚ずつシステムスピードで転写位置へ送り込むようになっている。
【００１７】
シート搬送部６０は、転写位置を介する記録シートＳを定着器７０まで搬送するものであって、無端状のシート搬送ベルト６１や、当該シート搬送ベルト６１を張架し、感光体ドラム４１に同期して矢印ｂ方向に上記システムスピードで周回駆動する一対のローラ（駆動ローラ６２および従動ローラ６３）などからなる。
【００１８】
感光体ドラム４１は、レーザビームＬＢによる露光を受ける前にクリーナ４２で感光体表面の残留トナーを除去され、さらにイレーサランプ４３に照射されて除電された後、帯電チャージャ４４により一様に帯電されており、このように一様に帯電した状態で露光を受けると、感光体ドラム４１の表面の感光体に静電潜像が形成され、現像器４５により現像されてトナー像が形成される。このトナー像は、当該作像動作と同期して給紙部５０から給紙されてきた記録シートＳ上に転写位置においてドラム・転写チャージャ間の電荷付与で転写される。
【００１９】
トナー像が転写された記録シートＳは、用紙分離用除電チャージャ４７により記録シートＳに帯電された電荷が除電されることにより感光体ドラム４１から分離された後、シート搬送部６０により定着器７０までシステムスピードで搬送され、定着器７０においてトナーが熱定着された後、排紙ローラ７１から排紙トレイ７２上に排出され、これにより原稿の階調データに基づく画像形成が終了する。
【００２０】
（シリアルデータ受信装置３００の構成）
図２は上記シリアルデータ受信装置３００の詳細な構成を示す図であり、図３はシリアルデータＳＤの概略構成と、シリアルデータ受信装置３００のスタートビット抽出部３１０から出力されるスタートビット信号ＳＴＢとを示す図である。
【００２１】
露光走査部３０のシリアルデータ受信装置３００は、イメージリーダ部１０から伝送されたシリアルデータＳＤを受信し、シリアルデータＳＤ中の階調データをラッチするものであって、スタートビット抽出部３１０と、受信クロック信号ＲＣＬＫを出力する発振器３２０と、受信クロック信号ＲＣＬＫに基づいて受信クロック信号ＲＣＬＫと同周波数で位相が異なる複数の遅延クロック信号ＣＬＫ０〜ＣＬＫ１５を出力する遅延ブロック３６０と、遅延クロック信号ＣＬＫ０〜ＣＬＫ１５の中から各フレームごとに所定の遅延クロック信号を１つ選択し、選択した遅延クロック信号を同期クロック信号ＳＣＬＫとして出力するクロック信号選択部３７０と、この選択に際して必要な位相調整量を表す演算係数ＯＰＣＯをクロック信号選択部３７０に対して設定する演算係数設定部３３０と、シリアルデータＳＤ中の階調データを同期クロック信号ＳＣＬＫに基づいてラッチして画素ごとの階調データにシリアル／パラレル変換するデータ変換部３８０と、パラレル変換された階調データを一時記憶するＦＩＦＯメモリ３９０とを備える。クロック信号選択部３７０は、位相検出部３７１と、演算部３７２と、セレクタ３７３とからなる。演算係数設定部３３０は、ＡＮＤゲート３４１，３４２、ＪＫ−ＦＦ３４３およびカウンタ３４４を含む周波数検出部３４０と、ＣＰＵ３５０とからなる。
【００２２】
イメージリーダ部１０から伝送されるシリアルデータＳＤは、図３（ａ）に示すように、有効データＳＰＤ及び有効データＳＰＤの前に配設される同期データＳＩを含んでおり、本実施の形態のデータ転送では、同期データＳＩ及び有効データＳＰＤを１フレームとしたデータ列が、イメージリーダ部１０に設けられた発振器（不図示）の送信側クロック信号（周波数ｆ送、例えば１００ＭＨｚ）の各クロックに同期して繰り返し送信されるようになっている。図３（ｂ）は、同図（ａ）のシリアルデータＳＤの部分αを拡大して示したものである。同期データＳＩは、１ビットタイム「Ｌ」レベルとすることにより有効データＳＰＤの始まりを表すスタートビットＳＢや、スタートビットＳＢの前に配設され、数ビットタイム連続して「Ｈ」レベルとすることによりスタートビットＳＢの検出を容易にするためのアイドルＩＤＬなどからなる。また、有効データＳＰＤは、８ビット（画素１ドットに対応する）の階調データＰＤがシリアルに順次規定長分（１走査ライン分）並べられてなる。なお、同図の例では、データ伝送量を増加させるため８ビット階調データＰＤ間の区切りを省略しているが、１フレーム中に伝送できるデータ量に余裕があれば、８ビット階調データＰＤ間に区切りを挿入するようにしてもよい。このシリアルデータＳＤは、スタートビット抽出部３１０と、データ変換部３８０とにそれぞれ供給される。
【００２３】
スタートビット抽出部３１０は、シリアルデータＳＤ中の同期データＳＩをモニタしており、同期データＳＩの中からスタートビットＳＢを抽出するごとに、１ビットタイム「Ｈ」レベルのパルス（スタートビット信号ＳＴＢ）を出力する（図３（ｃ）参照）。このスタートビット信号ＳＴＢは、演算係数設定部３３０のＣＰＵ３５０、ＡＮＤゲート３４１，３４２と、クロック信号選択部３７０の位相検出部３７１とに供給される。
【００２４】
発振器３２０は、周波数安定度が高くなるように水晶振動子を用いて構成され、送信側クロック信号とほぼ同じ周波数ｆ受の受信クロック信号ＲＣＬＫ（図４（ａ）参照）を送信側クロック信号と非同期で出力する。この受信クロック信号ＲＣＬＫは、演算係数設定部３３０のＪＫ−ＦＦ３４３およびカウンタ３４４と、遅延ブロック３６０とにそれぞれ供給される。なお、図４は、１フレーム（１ラインデータ）における受信クロック信号ＲＣＬＫ（図４（ａ））、遅延クロック信号ＣＬＫ０〜ＣＬＫ１５（図４（ｂ））などを示す波形図であり、説明の便宜のため、送信側クロック信号（図４（ｃ））や、シリアルデータＳＤ（図４（ｄ））、スタートビット信号ＳＴＢ（図４（ｅ））なども併せて図示している。また、同図の左側にスタートビットＳＢのビットタイム付近を、右側に１フレームの終わりのビットタイム付近を図示しており、発振器３２０の水晶振動子の僅かな誤差（数十ｐｐｍ）のためｆ送に対してｆ受が僅かに高い（例えば、数百Ｈｚ）場合を少し誇張して示している。
【００２５】
図２に戻り、遅延ブロック３６０は、受信クロック信号ＲＣＬＫが入力される受信クロック信号入力端子ＣＬＫと、１６個の遅延クロック信号出力端子ＤＬ０〜ＤＬ１５と、受信クロック信号入力端子ＣＬＫ−遅延クロック信号出力端子ＤＬ１〜ＤＬ１５間に配設される複数のゲート（不図示）とからなる。受信クロック信号入力端子ＣＬＫと、遅延クロック信号出力端子ＤＬ０とは、直結されている。また、各ゲートは、半導体で形成され、入力信号の変化を出力側に伝えるのに所定の時間（遅延時間）要する特性を有しており、受信クロック信号入力端子ＣＬＫと、遅延クロック信号出力端子ＤＬ１〜ＤＬ１５との間には、遅延クロック信号出力端子ＤＬ１からＤＬ１５に添え字の数値が大きくなるにしたがって多数のゲートが配設されている。このため、添え字の数値が大きくなるにしたがって受信クロック信号ＲＣＬＫに対して位相差が大きくなるような、すなわち遅延時間が大きくなるような遅延時間の異なる遅延クロック信号が出力される。この各遅延時間は、受信クロック信号ＲＣＬＫに対して２π／１６ずつ位相差が大きくなるような遅延時間に設定されている。したがって、遅延クロック信号出力端子ＤＬ０〜ＤＬ１５から、図４（ｂ）（１）〜（１６）に示すように、２π／１６ずつ位相の異なる複数の遅延クロック信号ＣＬＫ０〜ＣＬＫ１５が出力される。なお、各遅延クロック信号ＣＬＫ０〜ＣＬＫ１５には、４ビット２進コード「００００」〜「１１１１」がそれぞれ割り当てられている。
【００２６】
クロック信号選択部３７０の位相検出部３７１は、スタートビット信号ＳＴＢが入力される入力端子ＳＴＢと、遅延クロック信号ＣＬＫ０〜ＣＬＫ１５がそれぞれ入力される入力端子Ｄ０〜Ｄ１５と、４ビットの２進コードを出力する出力端子ＱＯＯ〜ＱＯ３とを備えている。この位相検出部３７１は、スタートビット信号ＳＴＢが入力されるごとに、スタートビット信号ＳＴＢの立ち上がりエッジ（図４（ｅ）参照）と、この立ち上がりエッジから１ビットタイム中における各遅延クロック信号ＣＬＫ０〜ＣＬＫ１５の立ち上がりエッジとを比較し、遅延クロック信号ＣＬＫ０〜ＣＬＫ１５の中から、スタートビット信号ＳＴＢの立ち上がりエッジ出現後に、最初に立ち上がりエッジを出現させる遅延クロック信号に対応した２進コードを出力端子Ｑ００〜Ｑ０３から出力する。図４に示す例では、遅延クロック信号ＣＬＫ３（図４（ｂ）（４）参照）に割り当てられた２進コード「００１１」が出力されることになる。
【００２７】
ところで、非同期シリアル伝送では、送信側クロック信号と、受信クロック信号ＲＣＬＫとが非同期であるので、両信号が無関係な位相で生成されるため、受信クロック信号ＲＣＬＫの読取エッジがビットタイムのどの位相になるか不定であるけれども、送信側クロック信号と、スタートビット信号ＳＴＢの立ち上がりエッジ出現後に、最初に立ち上がりエッジを出現させる遅延クロック信号との間では、立ち上がりエッジがほぼ一致しているため位相合わせをすることができ、たとえｆ送とｆ受とが多少異なっていたとしても位相合わせ直後においては、この遅延クロック信号の立ち下がりエッジ（読取エッジ）がスタートビットの次のビットタイムのほぼ中央に位置するため、所定量の階調データを安定的にラッチすることが可能になる。
【００２８】
演算部３７２は、位相検出部３７１の出力端子Ｑ００〜Ｑ０３にそれぞれ接続される入力端子Ｄ１０〜Ｄ１３と、演算係数設定部３３０のＣＰＵ３５０から出力された４ビット２進コードの演算係数ＯＰＣＯを格納する演算係数格納部３７２ａと、出力端子Ｑ１０〜Ｑ１３とを備え、入力端子Ｄ１０〜Ｄ１３を介して入力された２進コードと、この２進コードを所定の位相調整量分補正する演算係数とを加算あるいは減算し、加減算の結果（４ビット２進コード：セレクト信号）を出力端子Ｑ１０〜Ｑ１３から出力する。なお、加算あるいは減算の結果５ビット目に桁上げが生じる場合には、桁上げのビット（ＭＳＢ）は無視される。
【００２９】
セレクタ３７３は、遅延ブロック３６０の遅延クロック信号出力端子ＤＬ０〜ＤＬ１５にそれぞれ接続される遅延クロック信号入力端子Ｄ０〜Ｄ１５と、演算部３７２の出力端子Ｑ１０〜Ｑ１３にそれぞれ接続されるセレクト入力端子Ｓ０〜Ｓ３と、同期クロック信号出力端子Ｙとを備えている。このセレクタ３７３は、演算部３７２の出力端子Ｑ１０〜Ｑ１３からセレクト入力端子Ｓ０〜Ｓ３に入力されるセレクト信号に基づいて、遅延クロック信号入力端子Ｄ０〜Ｄ１５に入力された遅延クロック信号の中から遅延クロック信号を１つだけ選択し、選択した遅延クロック信号を同期クロック信号出力端子Ｙから同期クロック信号ＳＣＬＫとして出力するようになっている。なお、セレクト信号の４ビット２進コードの数値が大きくなるにしたがって、遅延時間の大きい（位相の遅れた）遅延クロック信号が同期クロック信号ＳＣＬＫとして選択されるように遅延クロック信号入力端子Ｄ０〜Ｄ１５が配列されている。また、演算部３７２、セレクタ３７３における具体的な処理については後述する。セレクタ３７３から出力された同期クロック信号ＳＣＬＫは、データ変換部３８０に供給される。
【００３０】
データ変換部３８０は、シリアルデータＳＤ中のスタートビットＳＢを検出するスタートビット検出部３８１と、検出したスタートビットＳＢを基準として、同期クロック信号ＳＣＬＫの立ち下がりエッジで階調データＳＰＤを規定長分順次ラッチして、ラッチしたシリアルな階調データを８ビットのパラレルな階調データＰＤに変換するシリアル／パラレル変換部３８２とを備え、８ビットのパラレルな階調データＰＤに変換するごとに、１画素分の８ビット階調データＰＤと、ライト信号ＷＲ信号とを出力する。
【００３１】
ＦＩＦＯメモリ３９０は、ライト信号ＷＲ信号に同期して１画素分の８ビット階調データＰＤを格納する。ＦＩＦＯメモリ３９０に格納された階調データＰＤは、不図示のＤ／Ａ変換器に送られ、レーザダイオードの駆動信号となる。
【００３２】
演算係数設定部３３０は、スタートビット信号ＳＴＢと、受信クロック信号ＲＣＬＫとに基づいて、イメージリーダ部１０の送信側クロック信号の周波数ｆ送に対する発振器３２０の受信クロック信号ＲＣＬＫの微少な周波数の誤差を検出し、演算係数ＯＰＣＯを出力するものであって、受信クロック信号ＲＣＬＫの周波数を検出するための周波数検出部３４０と、周波数検出部３４０各部を制御するＣＰＵ３５０とを備える。
【００３３】
演算係数設定部３３０のＣＰＵ３５０は、内部に送信側クロック信号の周波数ｆ送のデータや、受信クロック信号ＲＣＬＫと送信側のクロック信号との周波数の差と、演算係数との対応関係を示すテーブル（図７参照）などのほか、周波数検出部３４０を制御する制御プログラムなどを予め記憶するＲＯＭ３５１、制御プログラム実行時にワークエリアを提供するＲＡＭ３５２、タイマ３５３などを備えている。このＣＰＵ３５０は、制御プログラムに基づいて後述する周波数検出・演算係数設定ルーチンを実行し、所定のタイミングにカウント開始信号ＳＴＡＲＴ、カウント停止信号ＳＴＯＰを出力して演算係数ＯＰＣＯを求め、求めた演算係数ＯＰＣＯを演算部３７２に出力する。
【００３４】
周波数検出部３４０のＡＮＤゲート３４１は、スタートビット抽出部３１０から入力されるスタートビット信号ＳＴＢと、ＣＰＵ３５０から入力されるカウント開始信号ＳＴＡＲＴとの論理積を、ＪＫ−ＦＦ３４３の入力端子Ｊと、カウンタ３４４のクリア入力端子ＣＬＲに出力する。
【００３５】
ＡＮＤゲート３４２は、スタートビット抽出部３１０から入力されるスタートビット信号ＳＴＢと、ＣＰＵ３５０から入力されるカウント停止信号ＳＴＯＰとの論理積を、ＪＫ−ＦＦ３４３の入力端子Ｋに出力する。
【００３６】
ＪＫ−ＦＦ３４３は、上記入力端子Ｊ，Ｋと、発振器３２０からの受信クロック信号ＲＣＬＫが入力されるクロック入力端子ＣＬＫと、出力端子Ｑとを備えている。このＪＫ−ＦＦ３４３は、受信クロック信号ＲＣＬＫの立ち上がり時に、入力端子Ｊが「Ｈ」レベルで入力端子Ｋが「Ｌ」レベルであれば、出力端子Ｑを「Ｈ」レベルに、この逆に入力端子Ｊが「Ｌ」レベルで入力端子Ｋが「Ｈ」レベルであれば、出力端子Ｑを「Ｌ」レベルに変化させ、両入力端子Ｊ，Ｋともに「Ｌ」レベルであれば、出力端子Ｑの状態を無変化に維持する。
【００３７】
カウンタ３４４は、ＡＮＤゲート３４１の出力に接続されるクリア入力端子ＣＬＲと、ＪＫ−ＦＦ３４３の出力端子Ｑと接続されるイネーブル入力端子ＥＮと、発振器３２０からの受信クロック信号ＲＣＬＫが入力されるクロック入力端子ＣＬＫと、（Ｎ＋１）ビットの出力端子Ｑ［Ｎ：０］とを備えている。このカウンタ３４４は、クリア入力端子ＣＬＲが「Ｌ」レベルでイネーブル入力端子ＥＮが「Ｈ」レベルであれば、クロック入力端子ＣＬＫに入力される受信クロック信号ＲＣＬＫのパルス数をカウントアップし、イネーブル入力端子ＥＮが「Ｌ」レベルであれば、カウント動作を停止し、カウントしたパルス数を出力端子Ｑ［Ｎ：０］から出力する。また、カウンタ３４４は、クリア入力端子ＣＬＲが「Ｈ」レベルであれば、イネーブル入力端子ＥＮ，クロック入力端子ＣＬＫの状態の如何に拘わらず、カウントしたパルス数をクリアする。
【００３８】
次いで、ＣＰＵ３５０が実行する周波数検出・演算係数設定ルーチンを図５に示すフローチャート、図６に示す演算係数設定部３３０の主要な信号の波形図、および図７に示すテーブルを用いて説明する。なお、このルーチンは、イメージリーダ部１０との通信開始時あるいは、時間間隔をあけて定期的に実行される。
【００３９】
周波数検出・演算係数設定ルーチンに入ると、ＣＰＵ３５０は、当該ルーチンにおける第１番目のスタートビット信号ＳＴＢを受信するタイミング（図６（ａ）参照）に（ステップＳ１）、「Ｈ」レベルのカウント開始信号ＳＴＡＲＴを出力する（ステップＳ２、図６（ｂ）参照）。このタイミングは、例えば、ＣＰＵ３５０がスタートビット信号ＳＴＢ間の１フレーム時間を予め求めておいて、スタートビット信号ＳＴＢの受信と同期してタイマ３５３を起動し、１フレーム時間に達する少し前から１フレーム時間より少し後までの間を計測することにより求められる。
【００４０】
ＣＰＵ３５０がカウント開始信号ＳＴＡＲＴを出力すると、ＡＮＤゲート３４１は、この「Ｈ」レベルのカウント開始信号ＳＴＡＲＴと「Ｈ」レベルのスタートビット信号ＳＴＢが入力されるので、スタートビット信号ＳＴＢが「Ｈ」レベルの期間、「Ｈ」レベルの信号をＪＫ−ＦＦ３４３のＪ端子とカウンタ３４４のクリアー端子とにそれぞれ出力する（図６（ｄ）参照）。一方、ＡＮＤゲート３４２は、第１番目のスタートビット信号ＳＴＢが「Ｈ」レベルのときにＣＰＵ３５０から供給されるカウント停止信号ＳＴＯＰが「Ｌ」レベルであるので（図６（ｃ）参照）、出力が「Ｌ」レベルのままである（図６（ｅ）参照）。このため、ＪＫ−ＦＦ３４３は、受信クロック信号ＲＣＬＫの立ち上がりエッジにおいて、入力端子Ｊが「Ｈ」レベル、入力端子Ｋが「Ｌ」レベルとなって、出力端子Ｑを「Ｈ」レベルに変化させる（図６（ｆ）参照）。したがって、カウンタ３４４は、ＡＮＤゲート３４１からの「Ｈ」レベルの信号によってカウント値を一旦クリアーした後、ＪＫ−ＦＦ３４３からの「Ｈ」レベルの信号によってイネーブル状態となり、受信クロック信号ＲＣＬＫのパルス数のカウントを開始する。
【００４１】
次いで、ＣＰＵ３５０は、第（Ｍ＋１）番目のスタートビット信号ＳＴＢを受信するタイミング（図６（ａ）参照）で（ステップＳ３）、「Ｈ」レベルのカウント停止信号ＳＴＯＰを出力する（ステップＳ４、図６（ｃ）参照）。このタイミングは、カウント開始信号ＳＴＡＲＴの場合と同様にして求められる。
【００４２】
ＣＰＵ３５０がカウント停止信号ＳＴＯＰを出力すると、ＡＮＤゲート３４２は、この「Ｈ」レベルのカウント停止信号ＳＴＯＰと「Ｈ」レベルのスタートビット信号ＳＴＢが入力されるので、スタートビット信号ＳＴＢが「Ｈ」レベルの期間、「Ｈ」レベルの信号をＪＫ−ＦＦ３４３のＫ端子に出力する（図６（ｅ））。一方、ＡＮＤゲート３４１は、第（Ｍ＋１）番目のスタートビット信号ＳＴＢが「Ｈ」レベルのときにＣＰＵ３５０から供給されるカウント開始信号ＳＴＡＲＴが「Ｌ」レベルであるので、出力が「Ｌ」レベルのままである（図６（ｄ）参照）。このため、ＪＫ−ＦＦ３４３は、受信クロック信号ＲＣＬＫの立ち上がりエッジにおいて、入力端子Ｊが「Ｌ」レベル、入力端子Ｋが「Ｈ」レベルとなって、出力端子Ｑを「Ｌ」レベルに変化させる（図６（ｆ）参照）。したがって、カウンタ３４４は、ＪＫ−ＦＦ３４３からの「Ｌ」レベルの信号によってイネーブル停止状態となり、受信クロック信号ＲＣＬＫのパルス数のカウントを停止する。これによって、カウンタ３４４には第１番目のスタートビット信号ＳＴＢの後から第（Ｍ＋１）番目のスタートビット信号ＳＴＢまでの間のＭフレームにおける受信クロック信号ＲＣＬＫのパルス数の総数がカウントされる。なお、上記フレーム数Ｍ（２以上の自然数）は、送信側クロック信号に対する受信クロック信号ＲＣＬＫの数十ｐｐｍ（通常の水晶発振器の周波数誤差）の周波数誤差をある程度正確に検出するのに必要な値に設定されている。
【００４３】
ＣＰＵ３５０は、その後カウンタ３４４の出力端子Ｑ［Ｎ：０］を介してカウント値ＣＮＴを読み取り（ステップＳ５）、カウント値ＣＮＴ／Ｍフレーム時間の除算を実行して受信クロック信号ＲＣＬＫの周波数ｆ受を算出する（ステップＳ６）。そして、ＣＰＵ３５０は、算出した受信クロック信号ＲＣＬＫの周波数ｆ受からＲＯＭ３５１に保持している送信側クロック信号の周波数ｆ送を減算して、その周波数の差（ｆ受−ｆ送）を算出する（ステップＳ７）。なお、ＲＯＭ３５１に格納されているｆ送は、このシリアル伝送で予め定められている規定値でもよいが、送信側クロック信号の周波数の誤差も問題になる場合には、送信側クロック信号の周波数ｆ送を予め測定しておき、測定した周波数ｆ送を格納して正確を期すのが望ましい。
【００４４】
周波数の差（ｆ受−ｆ送）を算出し終わると、ＣＰＵ３５０は、ＲＯＭ３５１に保持しているテーブル（図７参照）を参照する。
図７は、上記テーブルの一例を示す図である。
このテーブルにおいては、（ｆ受−ｆ送）が１０Ｈｚより高い場合と、１０Ｈｚ〜−１０Ｈｚの場合と、−１０Ｈｚより低い場合との３つに区分されており、この区分ごとに演算係数として遅れ位相９０゜を表す正の４ビット２進数「０１００」、位相調整なしを表す４ビット２進数「００００」、進み位相９０゜を表す負の４ビット２進数「−０１００」がそれぞれ割り当てられている。
【００４５】
なお、１０Ｈｚ〜−１０Ｈｚの場合の区分を設けているのは、以下の理由による。受信クロックＲＣＬＫの周波数ｆ受の誤差は、１００ＭＨｚに対して多くとも±１０００Ｈｚ程度であり、ｆ送の誤差がきわめて小さい、すなわち｜（ｆ受−ｆ送）｜が±１０Ｈｚの範囲程度に小さいと、同期クロック信号ＳＣＬＫの読取エッジが各ビットタイムにおいて位相進み方向にも位相遅れ方向にもほとんど移動しない。これにも拘わらず、（ｆ受−ｆ送）の正負を検出するためにＭを大きくして、（ｆ受−ｆ送）の正負の検出に時間を費やす必要がある。そこで、時間の無駄を防止すると共に、Ｍを小さくして（ｆ受−ｆ送）が正か負か、｜（ｆ受−ｆ送）｜が大きいか否かを短時間で検出できるようにこの区分を設けている。
【００４６】
ＣＰＵ３５０は、このテーブルを参照して演算部３７２にセットすべき演算係数を求める（ステップＳ８）。具体的には、（ｆ受−ｆ送）が１０Ｈｚより高ければ正の２進数「０１００」を、（ｆ受−ｆ送）が−１０Ｈｚ以上、１０Ｈｚ以下であれば「００００」を、（ｆ受−ｆ送）が−１０Ｈｚより低ければ負の２進数「−０１００」を選択し、求めた演算係数を演算部３７２に出力し（ステップＳ９）、当該ルーチンを終了する。演算部３７２は、この演算係数ＯＰＣＯを演算係数格納部に格納する。
【００４７】
次いで、演算部３７２、セレクタ３７３における具体的な処理について、（ｆ受−ｆ送）が１０Ｈｚより高い場合を、図４を用いて従来例と比較しながら説明する。
【００４８】
従来においては、演算部３７２や演算係数設定部３３０を備えておらず、位相検出部３７１の出力Ｑ００〜Ｑ０３とセレクタ３７３の入力Ｓ０〜Ｓ３とを接続し、セレクタ３７３が出力Ｑ００〜Ｑ０３から出力された２進コード（図４の状態では「００１１」）のセレクト信号に基づいて遅延クロック信号ＣＬＫ３を同期クロック信号ＳＣＬＫとして選択していた。このため、スタートビット信号ＳＴＢ直後のビットタイムにおいては、同期クロック信号ＳＣＬＫの読取エッジがデータセットアップタイムｔｓｕ１とデータホールドタイムｔｈｏｌｄ１とがほぼ等しい中央位相に位置しているが、ｆ受が高いため、１フレームの最後のビットタイムにおいては、同期クロック信号ＳＣＬＫの読取エッジの位相が進み、データセットアップタイムｔｓｕ１の余裕がなくなる（図４（ｄ）参照）。したがって、１フレーム中のデータ量をこれ以上増やすことができない。
【００４９】
これに対して、本実施の形態においては、演算部３７２が位相検出部３７１の出力Ｑ００〜Ｑ０３から出力されたコード「００１１」と（ｆ受−ｆ送）＞１０の場合に演算係数格納部に格納されている演算係数ＯＰＣＯ「０１００」とを加算し、加算した２進コード「０１１１」をセレクト信号として出力し、セレクタ３７３がこの２進コード「０１１１」）のセレクト信号に基づいて遅延クロック信号ＣＬＫ３より位相が９０゜遅れた遅延クロック信号ＣＬＫ７を同期クロック信号ＳＣＬＫとして選択する。このため、ｆ受が高く、同期クロック信号ＳＣＬＫの読取エッジの位相が進んでも、１フレームの最後のビットタイムにおいても、データセットアップタイムｔｓｕ２に従来より９０゜の余裕ができる（図４（ｄ）参照）。したがって、１フレーム中のデータ量を従来より演算係数９０゜分確実に増やすことができ、データ転送効率を高めることができる。
【００５０】
なお、周波数の差（ｆ受−ｆ送）が−１０Ｈｚより低い場合には、演算部３７２は、位相検出部３７１が出力したコード「００１１」と演算係数格納部にセットされている演算係数ＯＰＣＯ「−０１００」とを加算、すなわち減算し、減算結果「１１１１」をセレクト信号として出力する。この結果、セレクタ３７３は、図４（ｂ）（４）に示す遅延クロック信号ＣＬＫ３よりも位相が９０゜進んだ遅延クロック信号ＣＬＫ１５を同期クロック信号ＳＣＬＫとして選択する。このため、ｆ受が低く、同期クロック信号ＳＣＬＫの読取エッジの位相が遅れても、１フレームの最後のビットタイムにおいても、データホールドタイムｔｈｏｌｄ２に従来より９０゜の余裕ができる。したがって、１フレーム中のデータ量を従来より演算係数９０゜分確実に増やすことができ、データ転送効率を高めることができる。
【００５１】
（変形例）
以上、本発明に係るデータ受信装置を実施の形態に基づいて説明してきたが、本発明の内容が、上述の実施の形態に限定されないのは勿論であり、以下のような変形例が考えられる。
【００５２】
上述の実施の形態においては、周波数検出部３４０の検出結果に基づいて受信クロック信号ＲＣＬＫの周波数ｆ受を求めるようにしたが、周波数ｆ受を予め検出しておいてこの周波数ｆ受のデータをＲＯＭ３５１に格納するようにしてもよい。この場合には、図２に示す周波数検出部３４０を省略すると共に、図５に示すステップＳ１〜Ｓ６を省略することができ、構成の簡素化を図ると共に、きわめて短時間に演算係数を求めることができる。また、この場合には、同期クロック信号ＳＣＬＫの各読取エッジが各ビットタイムにおいて位相進み方向と位相遅れ方向とのいずれに移動するかを調べるために、図７に示すテーブルにおける周波数の差（ｆ受−ｆ送）の区分を正負の２つで区分してもよい。
【００５３】
また、上記実施の形態においては、遅延ブロック３６０が出力する遅延クロック信号の数を１６、位相差を２π／１６としたが、数、位相差をこれらと異なる値、例えば３２、２π／３２等としてもよい。この場合には、非同期ゆえに生じる位相検出部３７１が出力する２進コードの遅延クロック信号の読取エッジと、初めのビットタイムの中央位相との最大誤差２π／１６をその分小さくすることができるとともに、その分演算係数を大きくすることができ、１フレーム中のデータ量を増やすことができる。
【００５４】
また、上記実施の形態においては、イメージリーダ部１０から露光走査部３０へのシリアルデータＳＤの転送の場合で実施したが、イメージリーダ部１０から不図示のＦＡＸ部への転送などにも適用できる。また、有効データを階調データで実施したが、テキストなどのデータにも適用できる。
【００５５】
さらに、上記実施の形態では単一の感光体ドラムで構成される単色の複写機で実施したが、単一の感光体ドラムで構成されるカラー複写機や、複数の感光体ドラムで構成されるタンデム型複写機の他、プリンタ、ＦＡＸや、これらの複合機などの画像形成装置にも適用できる。
【００５６】
【発明の効果】
以上のように本発明に係るデータ受信装置によれば、送信側から送信されてくる同期データと有効データとを含むフレームごとのシリアルデータを非同期に受信するデータ受信装置であって、送信側クロック信号とほぼ同じ周波数の受信クロック信号を当該送信側クロック信号と非同期に生成する受信クロック信号生成手段と、前記受信クロック信号に基づいて、受信クロック信号と同周波数で位相が異なる複数の遅延クロック信号を生成する遅延クロック信号生成手段と、同期データに基づいて、有効データの始めのビットタイムにおいて送信側クロック信号と位相がほぼ合致する遅延クロック信号を、各フレームごとに、各遅延クロック信号の中から選出する遅延クロック信号選出手段と、送信側クロック信号に対する受信クロック信号の周波数差に基づいて、遅延クロック信号選出手段の選出結果に対する各フレームにおける位相調整量を取得する位相調整量取得手段と、遅延クロック信号選出手段によって選出された遅延クロック信号と位相調整量分位相が異なる遅延クロック信号を、前記選出結果と前記位相調整量とに基づいて、当該フレームにおける有効データを読み込むための同期クロック信号として選択する選択手段と、を備えるので、周波数誤差を小さくすることなく、１フレームの有効データのデータ量を増加させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るシリアルデータ受信装置３００を備えた複写機１の全体構成を示す図である。
【図２】シリアルデータ受信装置３００の詳細を示す図である。
【図３】シリアルデータＳＤの概略構成などを示す図である。
【図４】１フレームにおける受信クロック信号ＲＣＬＫなどを示す波形図である。
【図５】ＣＰＵ３５０が実行する周波数検出・演算係数設定ルーチンを示すフローチャートである。
【図６】演算係数設定部３３０の主要な信号の波形図である。
【図７】ＲＯＭ３５１に格納されたテーブルの詳細を示す図である。
【符号の説明】
１                      複写機
１０                    イメージリーダ部
３０                    露光走査部
３００                  シリアルデータ受信装置
３１０                  スタートビット抽出部
３２０                  発振器
３３０                  演算係数設定部
３４０                  周波数検出部
３４１，３４２          ＡＮＤゲート
３４３                  ＪＫ−ＦＦ
３４４                  カウンタ
３５０                  ＣＰＵ
３５１                  ＲＯＭ
３５２                  ＲＡＭ
３５３                  タイマ
３６０                  遅延ブロック
３７０                  クロック信号選択部
３７１                  位相検出部
３７２                  演算部
３７３                  セレクタ
３８０                  データ変換部
３９０                  ＦＩＦＯメモリ
ＳＤ                    シリアルデータ
ＳＩ                    同期データ
ＳＰＤ                  階調データ
ＳＴＢ                  スタートビット信号
ＲＣＬＫ                受信クロック信号
ＣＬＫ０〜ＣＬＫ１５    遅延クロック信号
ＳＴＡＲＴ              カウント開始信号
ＳＴＯＰ                カウント停止信号
ＣＮＴ                  カウント値
ＯＰＣＯ                演算係数
ＳＣＬＫ                同期クロック信号
ＷＲ                    ライト信号
ＰＤ                    階調データ
【図１】
0003988291.tif 000002
【図２】
0003988291.tif 000003
【図３】
0003988291.tif 000004
【図４】
0003988291.tif 000005
【図５】
0003988291.tif 000006
【図６】
0003988291.tif 000007
【図７】
0003988291.tif 000008