(57)【特許請求の範囲】
【請求項１】
送信側と受信側がクロック信号により同期して送信側から受信側にデータをシリアル送信する半導体デバイスであって、
データ転送の合間に、同期判定用のコードを送信する同期判定コード送信手段と、
送信側と受信側に共通のクロック信号を提供するクロック信号提供手段と、
クロック信号に同期して同じデータを送信する複数の伝送路と、
受信側に提供されたクロック信号の位相を、それぞれ異なる所定量遅延させ複数の遅延クロック信号を生成するクロック生成手段と、
前記複数の遅延クロック信号に同期して、前記複数の伝送路を介して送信されたデータをそれぞれ取り込む複数の受信バッファと、
前記コードを予め定められた規則に基づき検証して前記複数の受信バッファから１つの受信バッファを選択すると共に、前記受信バッファが同期に用いた遅延クロック信号を選択する選択手段と、を有し、
前記選択手段は、選択した前記遅延クロック信号に同期して前記受信バッファに取り込まれた前記データを後段に出力する、半導体デバイス。
【請求項２】
前記クロック生成手段の数をＸ、クロック信号の１クロックサイクルの周期をＴとした場合、各クロック生成手段は、Ｔ／Ｘの位相に相当する時間、クロック信号の位相を遅延させる、ことを特徴とする請求項１記載の半導体デバイス。
【請求項３】
前記複数の受信バッファのバッファ段数は、前記受信バッファがデータの受信を開始してから、前記選択手段が前記複数の受信バッファから１つの受信バッファを選択するまでのクロック数又は前記複数の遅延クロック信号から１つの遅延クロック信号を選択するまでのクロック数以上である、
ことを特徴とする請求項１又は２記載の半導体デバイス。
【請求項４】
前記複数の受信バッファのバッファ段数は、前記選択手段が前記複数の受信バッファから１つの受信バッファを選択した後、又は、前記複数の遅延クロック信号から１つの遅延クロック信号を選択した後、後段のブロックの動作クロックの切り替えに必要なクロック数をさらに加えたクロック数以上である、
ことを特徴とする請求項３記載の半導体デバイス。
【請求項５】
前記コードは、クロック信号に同期して規則的に増大する数値である、ことを特徴とする請求項１〜４いずれか１項記載の半導体デバイス。
【請求項６】
前記コードは、ライン同期信号が埋め込まれた後に続く一定の数値である、ことを特徴とする請求項１〜４いずれか１項記載の半導体デバイス。
【請求項７】
前記選択手段は、検証が成立した前記コードを記憶した前記複数の受信バッファのうち、タイミング的に中央の前記遅延クロック信号が供給されている前記受信バッファを選択する、ことを特徴とする請求項１〜６いずれか１項記載の半導体デバイス。
【請求項８】
前記選択手段は、フレームゲート信号の有効開始時からラインゲート信号の有効開始時まで、又は、ラインゲート信号の有効終了時からフレームゲート信号の有効終了時までをデータ転送の前記合間として、前記受信バッファに記憶されたデータから前記コードを抽出する、ことを特徴とする請求項１〜７いずれか１項記載の半導体デバイス。
【請求項９】
前記選択手段は、ライン同期信号が有効を示した時から予め固定の時間をデータ転送の前記合間として、前記受信バッファに記憶されたデータから前記コードを抽出する、
ことを特徴とする請求項１〜７いずれか１項記載の半導体デバイス。
【請求項１０】
請求項１〜９いずれか１項記載の半導体デバイスを搭載した画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルデータを伝送する半導体デバイスに関する。
【背景技術】
【０００２】
ＡＳＩＣ等のＬＳＩデバイス間のデータ転送において、複数のシリアル伝送路上を伝達されるデータの同期をＬＳＹＮＣ信号を用いて取る方式が知られている。画像データのデータ転送にはよくＬＶＤＳ（Low voltage differential signaling）が用いられ、ＬＳＹＮＣ信号を用いて同期を取る技術が提案されている（例えば、特許文献１参照。）。
【０００３】
特許文献１には、デバイス間Ｉ/Ｆの同期をとる目的で、シリアル伝送路上に流されるＬＳＹＮＣ信号を用いてタイミング同期を取る画像転送装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された画像転送装置は、比較的高価なＬＶＤＳ Ｉ/Ｆを複数個、使用するためＡＳＩＣの実装上のコスト増となるという問題がある。また、ＬＶＤＳ Ｉ/Ｆによる信号レベルの同期にはトレーニング等の手順が必要となるため、こちらもコスト増をもたらす。
【０００５】
本発明は、上記課題に鑑み、複数のデータ伝送路のタイミングを低コストで同期可能な半導体デバイスを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明は、送信側と受信側がクロック信号により同期して送信側から受信側にデータをシリアル送信する半導体デバイスであって、データ転送の合間に、同期判定用のコードを送信する同期判定コード送信手段と、送信側と受信側に共通のクロック信号を提供するクロック信号提供手段と、クロック信号に同期して同じデータを送信する複数の伝送路と、受信側に提供されたクロック信号の位相を、それぞれ異なる所定量遅延させ複数の遅延クロック信号を生成するクロック生成手段と、前記複数の遅延クロック信号に同期して、前記複数の伝送路を介して送信されたデータを取り込む複数の受信バッファと、前記コードを予め定められた規則に基づき検証して前記複数の受信バッファから１つの受信バッファを選択すると共に、前記受信バッファが同期に用いた遅延クロック信号を選択する選択手段と、を有し、前記選択手段は、選択した前記遅延クロック信号に同期して前記受信バッファに取り込まれた前記データを後段に出力することを特徴とする。
【発明の効果】
【０００７】
複数のデータ伝送路のタイミングを低コストで同期可能な半導体デバイスを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置のハードウェア構成図の一例である。
【図２】データ伝送装置の構成図の一例である。
【図３】データ伝送装置の動作を示すタイミングチャート図の一例である。
【図４】ラインバッファが正常に取り込めるものと、そうでないものの違いを説明する図の一例である。
【図５】画像データの転送時の同期信号等の一例を示す図である。
【図６】ライン同期信号、ラインゲート信号及び画像データ信号を１ライン転送分に着目して拡大した図の一例である。
【図７】ラインゲート信号を省略した信号のタイミングチャート図の１例である。
【図８】同期判定データが含まれた画像データの無効域を説明する図の一例である。
【図９】画像データ送信側デバイスにおいて無効域にインクリメントデータを伝送する構成例を示す図である。
【図１０】各比較器がインクリメントパターンが正常か否かを判定する手順を示すフローチャート図の一例である。
【図１１】画像データ送信側デバイスにおいて無効域にインクリメントデータを伝送する構成例を示す図の一例である。
【図１２】画像データ送信側デバイスにおいて無効域にライン同期信号を埋め込む構成例を示す図の一例である。
【図１３】ラインバッファが正常に画像データ信号を取り込んだか否かを判定する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図１は、画像処理装置２００のハードウェア構成図の一例を示す。本実施形態のデータ伝送装置は、ＡＳＩＣ２１６と印刷部２２８や、撮像部２２７とＡＳＩＣ２１６の間の画像データの伝送を行う。ＡＳＩＣ２１６と印刷部２２８に着目した場合はＡＳＩＣ２１６が送信側で印刷部２２８が受信側になり、撮像部２２７とＡＳＩＣ２１６に着目した場合は撮像部２２７が送信側でＡＳＩＣ２１６が受信側になる。
【００１０】
画像処理装置２００の構成は公知なので簡単に説明する。画像処理装置２００は、コントローラ２３０と、オペレーションパネル２２５と、ファクシミリコントロールユニット（ＦＣＵ）２２６と、撮像部２２７及び印刷部２２８が有する。
【００１１】
コントローラ２３０は、ＣＰＵ２１４と、ＡＳＩＣ２１６と、ＮＢ（ノースブリッジ）２１５と、ＳＢ（サウスブリッジ）２１７と、ＭＥＭ−Ｐ（システムメモリ）２１１と、ＭＥＭ−Ｃ（ローカルメモリ）２１２と、ＨＤＤ（ハードディスクドライブ）２１３と、メモリカードスロット２２３と、ＮＩＣ（ネットワークインタフェースコントローラ）２１８と、ＵＳＢデバイス２１９と、ＩＥＥＥ１３９４デバイス２２１と、セントロニクスデバイス２２２とを有する。
【００１２】
ＣＰＵ２１４は、種々の情報処理を実行するためのＩＣであり、アプリケーションやプラットフォーム等をＵＮＩＸ（登録商標）等のＯＳによりプロセス単位で並列的に実行する。ＡＳＩＣ２１６は、画像処理用のＩＣである。ＡＳＩＣ２１６は、端末から受信した印刷データをレンダリングして文字、図形、背景などオブジェクト毎に適切なディザ処理を行うなどして印刷部２２８に送信する。また、ＡＳＩＣ２１６は、撮像部２２７が撮影した画像データに対し、写真や文字などに像域分離して、文字のエッジ強調、写真の階調補完等を行う。
【００１３】
ＮＢ２１５は、ＣＰＵ２１４とＡＳＩＣ２１６を接続するためのブリッジである。ＳＢ２１７は、ＮＢ２１５と周辺機器等を接続するためのブリッジである。ＡＳＩＣ２１６とＮＢ２１５は、ＡＧＰ（Accelerated Graphics Port）を介して接続されている。
【００１４】
ＭＥＭ−Ｐ２１１は、ＮＢ２１５に接続されたメモリである。ＭＥＭ−Ｃ２１２は、ＡＳＩＣ２１６に接続されたメモリである。ＨＤＤ２１３は、ＡＳＩＣ２１６に接続されたストレージであり、画像データ蓄積・文書データ蓄積・プログラム蓄積・フォントデータ蓄積・フォームデータ蓄積等を行うために使用される。
【００１５】
メモリカードスロット２２３は、ＳＢ２１７に接続され、メモリカード２２４をセット（挿入）するために使用される。ＮＩＣ２１８は、ネットワーク５００等を介してＭＡＣアドレス等を使用したデータ通信を行うためのコントローラである。ＵＳＢデバイス２１９は、ＵＳＢ規格に準拠したシリアルポートを提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２２１は、ＩＥＥＥ１３９４規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス２２２は、セントロニクス仕様に準拠したパラレルポートを提供するためのデバイスである。ＮＩＣ１２１８と、ＵＳＢデバイス２１９と、ＩＥＥＥ１３９４デバイス２２１と、セントロニクスデバイス２２２と、ＰＣＩ（Peripheral Component Interconect）バスを介してＮＢ２１５とＳＢ２１７に接続されている。
【００１６】
オペレーションパネル２２５は、ユーザが機器１００に入力を行うためのハードウェア（操作部）であると共に、画像処理装置２００がオペレータに可視情報を提供するためのハードウェア（表示部）である。オペレーションパネル２２５は、ＡＳＩＣ２１６に接続されている。ＦＣＵ２２６と、撮像部２２７と、印刷部２２８は、ＰＣＩバスを介してＡＳＩＣ２１６に接続されており、本実施形態のデータ伝送装置は、例えば、ＰＣＩバスの代わりに適用されることが想定される。
【００１７】
図２は、データ伝送装置１００の構成図の一例を示す。データ伝送装置１００は、画像データ送信側デバイス１０１及び画像データ受信側デバイス１０２を有する。画像データ送信側デバイス１０１は、画像データ出力用ＦＦ（フリップフロップ）１０７、画像データ送信用出力バッファ１０８、ＰＬＬ１０５及びクロックツリー１２１を有する。
【００１８】
画像データ送信側デバイス１０１及び画像データ受信側デバイス１０２は、上記のＡＳＩＣ２１６の他、ＦＰＧＡのようなＬＳＩデバイス、ＭＰＵやＤＳＰなどであり、データを送信又は受信するＩＣであればよい。画像データ送信側デバイス１０１は画像データの送信元デバイスで、画像データ受信側デバイス１０２は画像データの受信先デバイスである。
【００１９】
画像データ受信側デバイス１０２は、画像データ受信用入力バッファ１０９、複数のラインバッファ１１１、それぞれのラインバッファ１１１に接続された複数の比較器１１２、セレクタ１１４、ＰＬＬ１０４、遅延バッファ１１０、クロックツリー１２２、及び、セレクタ１１５を有する。なお、ＰＬＬ１０４にはＯＳＣ１０３が接続されている。
【００２０】
画像データ送信側デバイス１０１のＰＬＬ１０５の出力側はクロックツリー１２１と接続され、クロックツリー１２１は複数の画像データ出力用ＦＦ１０７とそれぞれ接続されている。また、各画像データ出力用ＦＦ１０７はそれぞれ各画像データ送信用出力バッファ１０８と接続されている。
【００２１】
画像データ受信用入力バッファ１０９は、データ伝送路１１７毎に画像データ送信用出力バッファ１０８と接続され、複数のラインバッファ１１１はデータ伝送路１１７毎に設けられている。セレクタ１１３の入力側には、１対のラインバッファ１１１と比較器１１２の間からそれぞれデータ線が接続され、出力側は受信画像データ出力線１１４が接続されている。また、各比較器１１２から２つのセレクタ１１３、１１５にセレクタ信号線がそれぞれ接続されている。
【００２２】
ＰＬＬ１０４は、データ伝送路１１７と同じ数の遅延バッファ１１０に接続され、各遅延バッファ１１０はそれぞれ対応するクロックツリー１２２と接続されると共に、セレクタ１１５の入力側に接続される。クロックツリー１２２はそれぞれラインバッファ１１１に接続される。セレクタ１１５の出力側にはクロックツリー１２３と配信信号線１１６が接続されている。
【００２３】
画像データ出力用ＦＦ１０７は、ＰＬＬ１０５からのクロックに同期して画像データを画像データ送信用出力バッファ１０８に出力する。画像データ送信用出力バッファ１０８は、画像データを一時的に記憶するバッファである。
【００２４】
画像データ受信用入力バッファ１０９は画像データを一時的に記憶するバッファである。ラインバッファ１１１はデータ伝送経路１１７毎に受信した画像データを取り込む。ラインバッファ１１１が取り込む画像データは、１ライン分の場合も、１ライン分よりも少ない又は大きい場合もある。比較器１１２は、ラインバッファ１１１が受信した画像データに含まれる特定のコード（以下、同期判定コードという）を抽出して、正常に画像データを受信するラインバッファ１１１を選択する。
【００２５】
セレクタ１１３は、比較器１１２の選択結果を用いて、複数のラインバッファ１１１の出力から１つの画像データを選択する。遅延バッファ１１０は、ＰＬＬ１０４から供給されるクロック信号のクロック位相をずらす（遅延させる）。セレクタ１１５は、各遅延バッファ１１０が出力するクロック信号から、比較器１１２の選択結果を用いて１つのクロック信号を選択する。
【００２６】
本実施形態の画像データ送信側デバイス１０１及び画像データ受信側デバイス１０２は、ＯＳＣ１０３が発振するクロックで同期通信を行う。ＯＳＣ１０３が発信するクロックは、いったん画像データ受信側デバイス１０２内を通過して、クロック配信用信号線１０６を介して画像データ送信側デバイス１０１に入力される。
【００２７】
ＯＳＣ１０３が発信するクロックは画像データ送信側デバイス１０１及び画像データ受信側デバイス１０２に共通だが、配線長や経路の関係で２つのデバイス間で位相差が生じてると考えらえる。したがって、ある程度の位相差という意味では、ＯＳＣ１０３が発信するクロックの配信経路は図示以外の構成でもよい。
【００２８】
クロック配信用信号線１０６を介して画像データ送信側デバイス１０１に入力されたクロックは、ＰＬＬ１０５を経由して、各画像データ出力用ＦＦ１０７に配信される。各画像データ出力用ＦＦ１０７にはクロックツリー１２１から共通にクロックが供給されるので、各画像データ出力用ＦＦ１０７は画像データ送信側デバイス１０１の同期回路となる。画像データ出力用ＦＦ１０７は画像データ送信側デバイス１０１から画像データを出力する最終段ＦＦ（フリップフロップ）で、配信されたクロックに同期して画像データを出力する。
【００２９】
画像データ出力用ＦＦ１０７から出力された画像データは画像データ送信用出力バッファ１０８から、各データ伝送路１１７を介して画像データ受信側デバイス１０２に入力される。
【００３０】
画像データ受信側デバイス１０２は、画像データ受信用入力バッファ１０９に画像データを一時的に記憶した後、ラインバッファ１１１に取り込む。ラインバッファ１１１はＦＦとして構成されており、各ラインバッファ１１１にはＰＬＬ１０４からクロックが供給されているので、各ラインバッファ１１１はクロックに同期して重複した画像データを同期受信する。
【００３１】
本実施形態では、各ラインバッファ１１１に供給されるクロックの位相が、遅延バッファ１１０にて明示的にずらされている。すなわち、各遅延バッファ１１０は、位相が互いに異なるクロックを複数生成するよう、ラインバッファ１１１と同じ数だけ用意されている。このため、各ラインバッファ１１１が取り込む画像データは、同じものとそうでないものが生じる。遅延バッファ１１０が供給するクロックのうち、画像データ送信側デバイス１０１のクロックと同じ位相のクロックが供給されるラインバッファ１１１が、画像データ送信側デバイス１０１と"同期"したと称される。
【００３２】
このラインバッファ１１１のバッファ段数（容量）は、同期したラインバッファ１１１を判定するのに必要なクロックサイクル数と、同期したラインバッファ１１１の画像データを処理する後段ブロックとのＩ／Ｆを確立するまでのサイクル数分を最低バッファ段数とする。例えば、比較器１１２でラインバッファ１１１の同期判定コードを検証するまでのクロック数と、そのクロック数で受信された画像データをセレクタ１１３，１１５が選択するためのクロック数とで計５クロック必要で、さらに、セレクタ１１５が出力するクロックに後段のブロック（不図示）の同期クロックが切り替わるまでに３クロック必要な場合は、ラインバッファ１１１のバッファ段数はそれぞれ５＋３＝８段分となる。また、仮に、後段のブロックの同期クロックの切り替えにクロックの消費が不要なら、ラインバッファ１１１のバッファ段数はそれぞれ５段分となる。このようにバッファ段数を設計することで、ラインバッファ１１１のバッファ段数を最小限にすることができる。
【００３３】
１つのクロックで画像データの１段がラインバッファ１１１に取り込まれるが、図４で後述する、各クロックのタイミング（位相）による画像データの取りこぼしを考慮すると、最大でラインバッファ１１１のバッファ段数と同じ数のラインバッファ１１１があることが好ましい。したがって、ラインバッファ１１１の数は、最大ではラインバッファ１１１のバッファ段数と同じになる。
【００３４】
画像データ受信側デバイス１０２は、セレクタ１１４が出力する同期化された画像データと、セレクタ１１５が出力する同期クロックを用いて、受信した画像データを処理する（例えば、後段に出力する）。
【００３５】
図３は、データ伝送装置１００の動作を示すタイミングチャート図の一例である。各信号の意味が以下のとおりである。
Send Clock   ：画像データ送信側デバイス内のクロック信号
Send Data    ：画像データ出力信号
Receive Clock：画像データ受信側デバイス内のクロック信号
Receive Data ：画像データ入力信号
ClockA       ：画像データ受信側デバイス内で、遅延バッファにて一定量位相をずらしたクロック信号Ａ
ClockB       ：画像データ受信側デバイス内で、遅延バッファにて一定量位相をずらしたクロック信号Ｂ
ClockC       ：画像データ受信側デバイス内で、遅延バッファにて一定量位相をずらしたクロック信号Ｃ
ClockX       ：画像データ受信側デバイス内で、遅延バッファにて一定量位相をずらしたクロック信号Ｘ
Receive DataA：ClockAでReceive Dataを取り込んだ画像データ
Receive DataB：ClockBでReceive Dataを取り込んだ画像データ
Receive DataC：ClockCでReceive Dataを取り込んだ画像データ
Receive DataX：ClockXでReceive Dataを取り込んだ画像データ
Send Dataは、画像データ送信側デバイス１０１が送信する画像データである。Send Clockは、例えばクロックツリー１２１の出力するクロックである。
【００３６】
Send Dataは画像データ出力用ＦＦ１０７から画像データ受信側デバイス１０２に向けて出力され、ラインバッファ１１１によって受信される。このとき、画像データ受信側デバイス１０２のＰＬＬ１０４から出力される動作クロックがReceive Clockであり、配線遅延や信号間スキューによる遅延を受けた画像データがReceive Dataである。
【００３７】
配線遅延や信号間スキューによる遅延がない理想的なデータ転送であれば、複数のReceive Dataは時間的にずれることなく画像データの変化点がクロックの立ち上がりエッジと一致する。しかしながら、図３に示すように、クロックの立ち上がりエッジは、複数のReceive Dataの画像データの変化点と前後したり重なっており、Receive Clockの立ち上がりエッジをトリガーにしてラインバッファ１１１がReceive Dataを取り込むと正常に受信することができない場合がある。
【００３８】
そこで、各遅延バッファ１１０は、Receive Clockの位相を一定時間づつずらしたクロックClockA、ClockB、ClockC、・・・ClockXを生成する。それぞれのクロックClockA、ClockB、ClockC、・・・ClockXがラインバッファ１１１に供給され、ラインバッファ１１１がクロックClockA、ClockB、ClockC、・・・ClockXの立ち上がりエッジをトリガーにReceiveDataを取り込むことで、画像データReceive DataA〜Xがそれぞれ生成される。
【００３９】
このため、ラインバッファ１１１が受信する画像データReceive DataA〜Xのうち、ClockA〜XとReceive Dataとのタイミングの関係で、ラインバッファ１１１が正常に取り込めたものと、そうでないものが生じる。
【００４０】
図４は、ラインバッファ１１１が正常に取り込めるものと、そうでないものの違いを説明する図の一例である。図４は、Receive Dataの一部を表示したものであり、複数の「○」「×」で示す各タイミングは、各クロックの画像データ取り込みのタイミングを示す。ラインバッファ１１１がクロックにより正常に取り込めるタイミングを「○」で、正常に取り込めないタイミングを「×」でそれぞれ示している。図４に示すように、正常に取り込めるか否かは、Receive Dataと各クロックの立ち上がりエッジ（画像データ取り込みタイミング）の相対的な関係で決まる。
【００４１】
複数のReceive DataA〜Xは最大でも１クロックの１周期分までは遅延しないという前提では、遅延バッファ１１０は、ClockA〜Xを１周期の範囲で分散させれば、ClockA〜Xのいずれかでラインバッファ１１１の１つは必ずReceive Dataを取り込めると考えられる。したがって、遅延バッファ１１０が位相をずらす量は、画像データを取り込む１クロックサイクルの周期を１／Ｘにした時間とする必要があることがわかる。
【００４２】
例えばＸ（ラインバッファのバッファ段数）= ４で１クロックサイクルの周期が２０nsの場合、遅延バッファ１１０がClockA〜Xの１つをずらすべき時間は「２０÷4≒５ns」である。したがって、遅延バッファ１１０は、位相差０ns（源振クロック）、5ns、10ns、15nsの４つのクロックを生成する。４つのラインバッファ１１１は、それぞれのクロックで受信動作する。
【００４３】
Ｘの値は、源振クロックの周波数や受信時のタイミング特性（正常に取り込めるタイミング幅）等を考慮して決定することで、ラインバッファ１１１のバッファ段数よりも小さくできる。Ｘを適切に決定すれば、複数のClockA〜Xに適切な分解能が得られ、複数個用意したClockA〜Xのどれかが必ず正しく画像データを取り込むことができる。
【００４４】
このようにラインバッファ１１１には、正常に画像データを取り込んだものと正常でない画像データを取り込んだものが存在する。このため、ラインバッファ１１１のどれが正しく受信したかを判別するのが比較器１１２である。なお、比較器１１２が正常に受信された画像データを見極める方法については後述する。
【００４５】
比較器１１２が正常に受信された画像データを特定すると、比較器１１２は一致信号をセレクタ１１３、１１５に出力するので、セレクタ１１３は正常に受信したラインバッファ１１１の画像データを選択して受信画像データ出力線１１４に出力し、セレクタ１１５は正常に受信したラインバッファ１１１に供給されていたクロックを選択して配信信号線１１６に出力する。このようにして、画像データ受信側デバイス１０２は同期化された画像データを受信することができる。
【００４６】
〔比較器による抽出方法〕
各ラインバッファ１１１がそれぞれ異なるクロックで画像データを取り込んだ場合、比較器１１２が、どのクロックで取り込んだ画像データが正常受信されたものかを判別する手順について説明する。
【００４７】
図５は、画像データの転送時の同期信号等の一例を示す。図６，７は図５の一部を拡大した図である。
【００４８】
画像データは１枚の原稿を撮像部２２７で読み込んだものや、画像処理装置２００において印刷部２２８に送出されるものである。すなわち、この画像データはラスタライズされたビットマップデータである。
【００４９】
１ページの画像データが転送される際に、画像データの有効域を示す信号として、例えばフレームゲート信号がある。この信号が有効（Highアクティブ信号の場合は"１"、Lowアクティブ信号の場合は"０"）を示している間に転送される画像データは、１ページ分の画像データとして有効なデータである。撮像部２２７と接続されたＡＳＩＣ２１６、ＡＳＩＣ２１６と接続された印刷部２２８は、フレームゲート信号を監視して受信すべき画像データがあることを検出する。
【００５０】
同様に、画像データのライン転送の開始を示す同期タイミング信号として、ライン同期信号がある。撮像部２２７と接続されたＡＳＩＣ２１６、ＡＳＩＣ２１６と接続された印刷部２２８は、ライン同期信号の有効パルスを起点に１ラインのデータ転送開始を検出する。
【００５１】
ラインゲート信号は、画像データの1ライン分の転送において、有効画像域を示す信号である。この信号が有効を示している間に転送される画像データは、１ライン分の画像データとして有効なデータである。なお、図ではＨｉｇｈアクティブとしている。
【００５２】
したがって、フレームゲート信号が有効（"１"）の間に、画像データのライン数分だけライン同期信号の有効を示し、各ライン同期信号の後のラインゲート信号が1ライン毎に有効データを示す。
【００５３】
画像データの受信側はこれらの制御信号を検出して画像データを取り込むことで、画像データを受信することができる。
【００５４】
図６は、ライン同期信号、ラインゲート信号及び画像データ信号を１ライン転送分に着目して拡大した図の一例である。図６で示している画像データ信号は、ラインゲート信号が有効な領域以外は無効データであることになるので、画像データの有効域以外で送信元は無効データを転送している。
【００５５】
画像データの無効データは、一律"０"固定であったり"１"固定であったり、又は、全くのランダムデータ（不定値）である場合もある。この無効データが存在する無効域は、スキャナやプロッタ装置のメカ制御制約上生ずるもので、現在のスキャナ装置やプロッタ装置の制御手法では必ず存在する。本実施形態では、この無効域に、比較器１１２がラインバッファ１１１の選択に使用する同期判定コードを含めて転送する。
【００５６】
なお、図６のライン同期信号とラインゲート信号はどちらか一方を省略することも可能である。図７（ａ）は、ラインゲート信号を省略した信号のタイミングチャート図の１例であり、図７（ｂ）は、ライン同期信号を省略した信号のタイミングチャート図の１例である。
【００５７】
ラインゲート信号がない図７（ａ）の例では、ライン同期信号から何クロック目から有効画像データが開始するかを予め固定しておくことで、画像データ受信側デバイス１０２は、ライン同期信号から固定のクロック数をカウントすることで画像データを受信することができる。換言すれば、ライン同期信号から固定長の領域が無効域である。
【００５８】
ライン同期信号がない図７（ｂ）の例では、画像データ受信側デバイス１０２はラインゲート信号が有効を示す間に、画像データを受信する。換言すれば、ラインゲート信号が有効を示さない領域が無効域である。
【００５９】
図８は、同期判定コードが含まれた画像データの無効域を説明する図の一例である。図８のハッチングされた画像データの信号は画像データとしては無効であるが、本実施形態では、同期化判定のための同期判定コードを転送する領域として利用されている。ライン同期信号（フレームゲート信号、ラインゲート信号も）は画像データ信号やクロック信号と共に、画像データ送信側デバイス１０１から画像データ受信側デバイス１０２に送信されるので、比較器１１２はライン同期信号を検出してから画像データが開始されるまでの間の無効域の同期判定コードを利用して、ラインバッファ１１１に画像データが正しく取り込まれたか否かを判定できる。
【００６０】
図９（ａ）は、画像データ送信側デバイス１０１において無効域に同期判定コードを埋め込む構成例を、図９（ｂ）はセレクタ３０１が出力する画像データ信号を説明する図の一例をそれぞれ示す。図９（ａ）ではインクリメントパターンが同期判定コードである。セレクタ３０１の入力側に送信画像とパターンジェネレータ３０２が接続されている。セレクタ３０１の出力側は画像データ出力用ＦＦ１０７に分岐して接続される。パターンジェネレータ３０２にはフレームゲート信号とラインゲート信号が入力され、ラインゲート信号はセレクタ線を介してセレクタ３０１に供給されている。
【００６１】
パターンジェネレータ３０２はフレームゲート信号がアサートされると（図ではHighアクティブになると）起動して、インクリメントパターンを生成する。図では１クロック毎に１つカウントアップされたインクリメントパターンを生成するが、規則的なパターンであれば２つずつインクリメントしてもよい。また、パターンジェネレータ３０２は、フレームゲート信号がネゲートされると、出力値を初期値（図では１）に戻す。
【００６２】
また、パターンジェネレータ３０２は、ラインゲート信号がアサートされるとインクリメントを停止する。したがって、パターンジェネレータ３０２は、
・フレームゲート信号がアサートされてからラインゲート信号がアサートされるまでの間、カウントパターンをインクリメントし、
・ラインゲート信号がアサートされている間は一定値を出力し、
・ラインゲート信号がネゲートされてからフレームゲート信号がネゲートされるまでの間は、カウントパターンをインクリメントし、
・フレームゲート信号がネゲートされると、初期値を出力する。
【００６３】
セレクタ３０１は、ラインゲート信号が有効を示す場合は送信画像を出力し、ラインゲート信号が有効を示さない場合はインクリメントパターンを出力する。
【００６４】
図９（ｂ）に示すように、フレームゲート信号がアサートされるとインクリメントパターンがクロック毎に１つずつ増大する。そして、ラインゲート信号がアサートされるとインクリメントパターンは一定値（図では８）になり、ラインゲート信号がネゲートされるとインクリメントパターンはクロック毎に１つずつ増大する。これにより図では、インクリメントパターンが１〜１３までカウントアップされている。
【００６５】
セレクタ３０１は、ラインゲート信号がアサートされている間、送信画像を出力するので、セレクタが出力する画像データ信号は、インクリメントパターンが８の部分が送信画像に置き換わった信号になる。
【００６６】
したがって、ラインバッファ１１１は、数値の１〜８、送信画像、及び、数値の９〜１３を受信する。フレームゲート信号の開始からラインゲート信号の開始までのクロック数、及び、ラインゲート信号の終了からフレームゲート信号の終了までのクロック数は固定であるので、ラインバッファ１１１は、正常に画像データ信号を受信できた場合、数値の１〜８と数値の９〜１３を受信できるはずである。このことは、ライン同期信号からラインゲート信号の開始までにインクリメントパターンを埋め込んだ場合も同様である。したがって、比較器１１２は、数値の１〜８と数値の９〜１３を受信できたか否かにより、正常に画像データ信号を取り込むことができるラインバッファ１１１を特定することができる。なお、数値によってビット数が異なるので、最大の数値のビット数が格納可能なビット数単位でインクリメントパターンを格納すればよい。
【００６７】
図１０は、各比較器１１２がインクリメントパターンが正常か否かを判定する手順を示すフローチャート図の一例である。この手順は、ページ転送の最初にだけ実施して、以降は、ページの全体の転送が終了するまで、比較器１１２が一致すると判定したラインバッファ１１１の画像データ信号を受信画像データ出力線１１４に出力すればよい。また、セレクタ１１３，１１５がより確実に正常なラインバッファ１１１を選択するため、ライン毎にこの手順を実行してもよい。
【００６８】
比較器１１２は、フレームゲート信号がアサートされると（Ｓ１０）、インクリメントパターンの検出を開始して、予め定められたインクリメントパターンと一致するか否かを判定する（Ｓ２０）。図では１〜８の数値が順番に（所定のクロック数ずつ）検出されるか否かを判定する。
【００６９】
ラインバッファ１１１から１〜８の数値が１つでも検出されない場合（Ｓ２０のＮｏ）、比較器１１２は不一致信号をセレクタに出力する（Ｓ６０）。
【００７０】
ラインバッファ１１１から１〜８の数値が全て検出された場合（Ｓ２０のＹｅｓ）、比較器１１２はラインゲート信号がネゲートされるまで待機する（Ｓ３０）。
【００７１】
ラインゲート信号がネゲートされると、比較器１１２はインクリメントパターンの検出を再開して、予め定められたインクリメントパターンと一致するか否かを判定する（Ｓ４０）。図では９〜１３の数値が順番に（所定のクロック数ずつ）検出されるか否かを判定する。
【００７２】
ラインバッファ１１１から９〜１３の数値が１つでも検出されない場合（Ｓ４０のＮｏ）、比較器１１２は不一致信号をセレクタに出力する（Ｓ６０）。
【００７３】
ラインバッファ１１１から９〜１３の数値が全て検出された場合（Ｓ４０のＹｅｓ）、比較器１１２は一致信号をセレクタに出力する（Ｓ５０）。
【００７４】
こうすることで、比較器１１２は、複数のラインバッファ１１１のうち正常に画像データ信号を取り込めるラインバッファ１１１、及び、複数のクロックClockA〜Xのうち正常に画像データ信号を取り込めるクロックを特定することができる。なお、ステップＳ３０、Ｓ４０の判定を省略してもよいし、ステップ１０、Ｓ２０の判定を省略してもよい。
【００７５】
なお、ラインバッファ１１１は複数あるので、２つ以上のラインバッファ１１１が正常に画像データ信号を取り込むことができる場合もある。この場合、セレクタ１１３，１１５は、一番初めに一致信号を出力した比較器１１２に接続されたラインバッファ１１１とクロックを選択することもできるし、一番最後に一致信号を出力した比較器１１２に接続されたラインバッファ１１１とクロックを選択することもできる。また、クロック信号の位相が乱れた際により安定したラインバッファ１１１を選ぶため、正常に画像データを取り込んだ２つ以上のラインバッファ１１１のうち、供給されるクロック信号の位相差が中央のラインバッファ１１１（図４の真ん中の「○」のラインバッファ）を選択することが好適となる。
【００７６】
上述したように、無効域に埋め込まれるインクリメントパターンは、規則的に変化する値や知られた一定値であればどのようなものでもよい。
図１１（ａ）は画像データ送信側デバイス１０１において無効域にインクリメントデータを伝送する別の構成例を示す。図１１（ａ）において図９（ａ）と同一部の説明は省略する。図１１（ａ）ではラインゲート信号がパターンジェネレータ３０２に供給されていない。このような構成では、パターンジェネレータ３０２は、ラインゲート信号がアサートされている間は一定値を出力するのでなく、フレームゲート信号がアサートされている間、クロックに同期してカウントアップを継続する。
【００７７】
図１１（ｂ）はセレクタ３０１が出力する画像データ信号を説明する図の一例である。フレームゲート信号がアサートされるとインクリメントパターンがクロック毎に１つずつ増大するので、図では一例として１〜６０までカウントアップされている。セレクタ３０１は、ラインゲート信号がアサートされている間、インクリメントパターンでなく送信画像を送信するので、画像データ信号は、数値の１〜８、送信画像、及び、数値の５６〜６０となる。
【００７８】
したがって、比較器１１２は、数値の１〜８と数値の５６〜６０を受信できたか否かにより、正常に画像データ信号を取り込むことができるラインバッファ１１１を特定することができる。この場合の比較器１１２の動作手順は、図１０のステップＳ４０で検出する数値が変わるだけである。このように、画像データ受信側デバイス１０２は、画像データ送信側デバイス１０１が無効域に埋め込む同期判定コードがどのようなものか分かっていれば、画像データを取り出すべきラインバッファ１１１を決定できる。例えば、インクリメントパターンでなく、デクリメントパターンでもよいし、一定値（例えば、０〜９の同じの数値の繰り返し）でもよい。デクリメントパターンの場合、比較器１１２は例えば１つずつ小さくなる数値を順番に検出できるか否かにより、ラインバッファ１１１を決定する。一定値が埋め込まれる場合、比較器１１２は、予め定められた回数だけ、同じ数値が検出できるか否かによりラインバッファ１１１を決定する。
【００７９】
また、画像データ送信側デバイス１０１がパターンジェネレータ３０２のような、無効域に数値を埋め込む構成を有していない場合でも、無効域が常に"０"又は常に"１"となる送信画像であれば、比較器１１２はほぼ同様にラインバッファ１１１を選択することが可能である。
【００８０】
図１２（ａ）は、画像データ送信側デバイス１０１において無効域にライン同期信号を埋め込む構成例を示す。セレクタ３０１の入力側には送信画像とライン同期信号が入力され、ライン同期信号はセレクタ３０１のセレクタ線になっている。セレクタ３０１は、ライン同期信号が有効を示さない状態では送信画像を出力し、ライン同期信号が有効を示す状態になった時だけライン同期信号を出力する。このような構成により、ライン同期信号を画像データ信号に含めることができる。
【００８１】
図１２（ｂ）は、ライン同期信号が無効域に埋め込まれた画像データ信号の一例を示す図である。上記のように、ライン同期信号から送信画像の有効域までのクロック数は固定である。そして、図１２（ｂ）では無効域の値は"０"になっている。このような送信画像とライン同期信号がセレクタ３０１に入力されると、ライン同期信号に同期して無効域に"１"が埋め込まれた画像データ信号が出力される。ラインバッファ１１１にはそれぞれ画像データ信号が取り込まれるが、固定のクロック数だけ"０"が取り込まれるものとそうでないものが生じる。よって、比較器１１２は、ライン同期信号を基準に、１つの"１"が検出されるかどうかと、"０"の数が固定長の数だけ検出されるかどうかにより、ラインバッファ１１１が正常に画像データ信号を取り込んでいるか否かを判定できる。無効域に"０"でなく"１"が埋め込まれる送信画像の場合、画像データ送信側デバイス１０１はライン同期信号に同期して"０"を送信画像に埋め込めばよい。
【００８２】
図１３は、ラインバッファ１１１が正常に画像データ信号を取り込んだか否かを判定する手順を示すフローチャート図の一例である。
【００８３】
比較器１１２は、ライン同期信号が有効を示すと比較を開始する（Ｓ１１０）。
ライン同期信号が検出された際、比較器１１２は"１"が検出されたか否かを判定する（Ｓ１２０）。
【００８４】
ラインバッファ１１１から"１"が検出されない場合（Ｓ１２０のＮｏ）、比較器１１２は不一致信号をセレクタに出力する（Ｓ１５０）。
【００８５】
ラインバッファ１１１から"１"が検出された場合（Ｓ１２０のＹｅｓ）、比較器１１２は決まった数の"０"が検出されたか否かを判定する（Ｓ１３０）。
【００８６】
ラインバッファ１１１から決まった数の"０"が検出されない場合（Ｓ１３０のＮｏ）、比較器１１２は不一致信号をセレクタ１１３，１１５に出力する（Ｓ１５０）。
【００８７】
ラインバッファ１１１から決まった数の"０"が検出された場合（Ｓ１３０のＹｅｓ）、比較器１１２は一致信号をセレクタ１１３，１１５に出力する（Ｓ１４０）。
【００８８】
以上のような処理により、画像データ送信側デバイス１０１がパターンジェネレータ３０２を有していなくても、画像データ受信側デバイス１０２は無効域を利用して正常に画像データ信号を取り込むラインバッファ１１１を選択できる。
【００８９】
したがって、以上説明したように、本実施形態のデータ伝送装置１００は、温度条件や経年劣化その他の外的要因でデバイス間のＩ／Ｆ状況が変動しても、位相の異なるクロックで取り込んだ複数のラインバッファ１１１から、正常に画像データ信号を取り込んだラインバッファ１１１を選択するので、外的要因による変動に追従して同期を確立することができる。開発者がＡＳＩＣ上で実装面積やアナログ的な調整をしたり、ＬＶＤＳ用の専用ＩＰを配置することなく、比較的小規模で安価なコストで、タイミング設計も容易なＡＳＩＣを提供することができる
【符号の説明】
【００９０】
１００    データ伝送装置
１０１    画像データ送信側デバイス
１０２    画像データ受信側デバイス
１０３    ＯＳＣ（クロック発振源）
１０４、１０５    ＰＬＬ
１０６    クロック配信用信号線
１０７    画像データ出力用FF（フリップフロップ）
１０８    画像データ送信用出力バッファ
１０９    画像データ受信用入力バッファ
１１０    遅延バッファ
１１１    ラインバッファ
１１２    比較器
１１３、１１５    セレクタ
１１４    受信画像データ出力線
１１６    配信信号線
【先行技術文献】
【特許文献】
【００９１】
【特許文献１】特開２００６−０８０８７７号公報
【図１】
0005720212.tif 000002
【図２】
0005720212.tif 000003
【図３】
0005720212.tif 000004
【図４】
0005720212.tif 000005
【図５】
0005720212.tif 000006
【図６】
0005720212.tif 000007
【図７】
0005720212.tif 000008
【図８】
0005720212.tif 000009
【図９】
0005720212.tif 000010
【図１０】
0005720212.tif 000011
【図１１】
0005720212.tif 000012
【図１２】
0005720212.tif 000013
【図１３】
0005720212.tif 000014