(57)【要約】【課題】データに含まれる同期クロック信号を復元するための構成を簡易化する。【解決手段】ＣＤＲ回路３１は、シリアルデータに同期クロック信号を重畳してなる受信データＲＸ＿ＤＡＴに、同期クロック信号より周波数が高いシステムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫを用いてオーバーサンプリング処理を施し、受信データＲＸ＿ＤＡＴのパルスの立ち下がり検知信号ＤＷＤＴＣを作成するオーバーサンプリング回路３１Ａと、同期クロック信号の周期に関する受信データ周期情報ＣＹＣを用いて、立ち下がり検知信号ＤＷＤＴＣの補足を行うとともに立ち上がり検知信号ＵＰＤＴＣを作成するエッジカウント回路３１Ｂと、補足済みの立ち下がり検知信号ＤＷＤＴＣと作成した立ち上がり検知信号ＵＰＤＴＣとを用いて、復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）する復元同期クロック生成回路３１Ｃとを備える。【選択図】図２
2018050197.tif 000002
【特許請求の範囲】
【請求項１】
シリアルデータに同期クロック信号を重畳してなるデータに、当該同期クロック信号より周波数が高い標本化クロック信号を用いて標本化処理を施し、当該データにおける立ち上がりまたは立ち下がりのタイミングを検出する検出手段と、
前記同期クロック信号の周期を用いて、前記検出手段が検出した前記タイミングの補足を行う補足手段と、
補足済みの前記タイミングを用いて、前記同期クロック信号を復元する復元手段と
を含む同期クロック復元装置。
【請求項２】
前記同期クロック信号の前記周期を記憶する記憶手段をさらに含み、
前記補足手段は、前記データからではなく、前記記憶手段から前記周期を取得すること
を特徴とする請求項１記載の同期クロック復元装置。
【請求項３】
前記記憶手段は、読み書き可能であるとともに電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリで構成され、
前記不揮発性メモリには、前記検出手段が前記タイミングを検出するよりも前に、前記周期が記憶されていること
を特徴とする請求項２記載の同期クロック復元装置。
【請求項４】
前記検出手段が、前記タイミングとして前記データにおける立ち下がりのタイミングを検出する場合に、
前記同期クロック信号の周期と補足済みの前記立ち下がりのタイミングとを用いて、前記データにおける立ち上がりのタイミングを作成する作成手段をさらに含み、
前記復元手段は、補足済みの前記立ち下がりのタイミングと作成した前記立ち上がりのタイミングとを用いて、前記同期クロック信号を復元すること
を特徴とする請求項１乃至３のいずれか１項記載の同期クロック復元装置。
【請求項５】
シリアルデータに同期クロック信号を重畳してなるデータに、当該同期クロック信号より周波数が高い標本化クロック信号を用いて標本化処理を施し、当該データにおける立ち上がりまたは立ち下がりのタイミングを検出する検出手段と、
前記同期クロック信号の周期を用いて、前記検出手段が検出した前記タイミングの補足を行う補足手段と、
補足済みの前記タイミングを用いて、前記同期クロック信号を復元する復元手段と、
復元した前記同期クロック信号を用いて、前記データから前記シリアルデータを取り出す取出手段と
を含むシリアルデータ取出装置。
【請求項６】
前記データを遅延させて前記取出手段に供給する遅延手段をさらに含むことを特徴とする請求項５記載のシリアルデータ取出装置。
【請求項７】
前記遅延手段は、前記標本化クロック信号の周期を用いて、前記データを遅延させることを特徴とする請求項６記載のシリアルデータ取出装置。
【請求項８】
シリアルデータに同期クロック信号を重畳してなるデータを送信する送信部と、
前記データを受信する受信部とを備え、
前記受信部は、
受信した前記データに、前記同期クロック信号より周波数が高い標本化クロック信号を用いて標本化処理を施し、当該データにおける立ち上がりまたは立ち下がりのタイミングを検出する検出手段と、
前記同期クロック信号の周期を用いて、前記検出手段が検出した前記タイミングの補足を行う補足手段と、
補足済みの前記タイミングを用いて、前記同期クロック信号を復元する復元手段と、
復元した前記同期クロック信号を用いて、前記データから前記シリアルデータを取り出す取出手段と
を含むことを特徴とするデータ送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期クロック復元装置、シリアルデータ取出装置、データ送受信システムに関する。
【背景技術】
【０００２】
送信側から、シリアルデータにこのシリアルデータ用の同期クロック信号を重畳したデータを送信し、このデータを受信した受信側にて、データから同期クロック信号を復元するとともに、復元した同期クロック信号を用いて、データからシリアルデータを取り出すようにしたものが知られている。ここで、データから同期クロックを復元する技術は、クロック・データ・リカバリ（Clock Data Recovery：ＣＤＲ）と呼ばれている。
【０００３】
特許文献１には、同期クロックを含み且つシリアル転送されてきたデータを、所定周波数のクロックを所定位相ずつずらして生成された多相クロックによりオーバーサンプリングし、データ位相状態に応じて、位相状態が互いに異なるクロックパターンを生成し、データから生成した第１の位相パターンと、クロックパターンから生成した第２の位相パターンとを比較し、抽出するビット数を制御する位相状態制御と、第１の位相パターンと第２の位相パターンとに基づき、位相誤差を検出する位相誤差検出と、クロックパターンの位相状態と位相誤差検出により検出された位相誤差とに基づき、オーバーサンプリングデータから抽出するビットを選択してデータを復元することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２６２１６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、位相が異なる複数のクロック信号（多相クロック）を用いて、データから同期クロック信号を復元する構成を採用した場合には、クロック信号を生成する回路の他に、クロック信号の位相をずらすための複数の回路が必要となる。このため、多相クロックによってデータから同期クロック信号を復元する構成を採用した場合、その構成が複雑化することになる。
【０００６】
本発明は、データに含まれる同期クロック信号を復元するための構成を簡易化することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１記載の発明は、シリアルデータに同期クロック信号を重畳してなるデータに、当該同期クロック信号より周波数が高い標本化クロック信号を用いて標本化処理を施し、当該データにおける立ち上がりまたは立ち下がりのタイミングを検出する検出手段と、前記同期クロック信号の周期を用いて、前記検出手段が検出した前記タイミングの補足を行う補足手段と、補足済みの前記タイミングを用いて、前記同期クロック信号を復元する復元手段とを含む同期クロック復元装置である。
請求項２記載の発明は、前記同期クロック信号の前記周期を記憶する記憶手段をさらに含み、前記補足手段は、前記データからではなく、前記記憶手段から前記周期を取得することを特徴とする請求項１記載の同期クロック復元装置である。
請求項３記載の発明は、前記記憶手段は、読み書き可能であるとともに電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリで構成され、前記不揮発性メモリには、前記検出手段が前記タイミングを検出するよりも前に、前記周期が記憶されていることを特徴とする請求項２記載の同期クロック復元装置である。
請求項４記載の発明は、前記検出手段が、前記タイミングとして前記データにおける立ち下がりのタイミングを検出する場合に、前記同期クロック信号の周期と補足済みの前記立ち下がりのタイミングとを用いて、前記データにおける立ち上がりのタイミングを作成する作成手段をさらに含み、前記復元手段は、補足済みの前記立ち下がりのタイミングと作成した前記立ち上がりのタイミングとを用いて、前記同期クロック信号を復元することを特徴とする請求項１乃至３のいずれか１項記載の同期クロック復元装置である。
請求項５記載の発明は、シリアルデータに同期クロック信号を重畳してなるデータに、当該同期クロック信号より周波数が高い標本化クロック信号を用いて標本化処理を施し、当該データにおける立ち上がりまたは立ち下がりのタイミングを検出する検出手段と、前記同期クロック信号の周期を用いて、前記検出手段が検出した前記タイミングの補足を行う補足手段と、補足済みの前記タイミングを用いて、前記同期クロック信号を復元する復元手段と、復元した前記同期クロック信号を用いて、前記データから前記シリアルデータを取り出す取出手段とを含むシリアルデータ取出装置である。
請求項６記載の発明は、前記データを遅延させて前記取出手段に供給する遅延手段をさらに含むことを特徴とする請求項５記載のシリアルデータ取出装置である。
請求項７記載の発明は、前記遅延手段は、前記標本化クロック信号の周期を用いて、前記データを遅延させることを特徴とする請求項６記載のシリアルデータ取出装置である。
請求項８記載の発明は、シリアルデータに同期クロック信号を重畳してなるデータを送信する送信部と、前記データを受信する受信部とを備え、前記受信部は、受信した前記データに、前記同期クロック信号より周波数が高い標本化クロック信号を用いて標本化処理を施し、当該データにおける立ち上がりまたは立ち下がりのタイミングを検出する検出手段と、前記同期クロック信号の周期を用いて、前記検出手段が検出した前記タイミングの補足を行う補足手段と、補足済みの前記タイミングを用いて、前記同期クロック信号を復元する復元手段と、復元した前記同期クロック信号を用いて、前記データから前記シリアルデータを取り出す取出手段とを含むことを特徴とするデータ送受信システムである。
【発明の効果】
【０００８】
請求項１記載の発明によれば、データに含まれる同期クロック信号を復元するための構成を簡易化することができる。
請求項２記載の発明によれば、データから演算等によって周期を取得する場合と比較して、周期の取得に要する時間を低減することができる。
請求項３記載の発明によれば、タイミングを検出するよりも後に不揮発性メモリに周期を記憶させる場合と比較して、周期の取得に要する時間を低減することができる。
請求項４記載の発明によれば、立ち上がりあるいは立ち下がりの一方のタイミングを用いて同期クロック信号を復元する場合と比較して、得られる同期クロック信号の精度を高めることができる。
請求項５記載の発明によれば、データに含まれる同期クロック信号を復元するための構成を簡易化することができる。
請求項６記載の発明によれば、データと同期クロック信号とのスキューを抑制することができる。
請求項７記載の発明によれば、同期クロック信号の周期を用いてデータを遅延させる場合と比較して、より細かい単位にてデータの遅延を調整することができる。
請求項８記載の発明によれば、データに含まれる同期クロック信号を復元するための構成を簡易化することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態が適用される制御システムの構成を示す図である。
【図２】第２制御回路に設けられた第２ＡＳＩＣの構成を示す図である。
【図３】第２ＡＳＩＣに設けられた受信データ処理回路が実行する処理の手順を説明するためのフローチャートである。
【図４】受信データ処理回路に設けられたＣＤＲ回路が実行する同期クロック信号復元処理の手順を説明するためのフローチャートである。
【図５】第２ＡＳＩＣに設けられた受信データ処理回路が実行する処理の一例を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
［制御システムの構成］
図１は、本実施の形態が適用される制御システム１の構成を示す図である。
この制御システム１は、第１制御回路１０と、第２制御回路２０とを備えている。この制御システム１は、例えば複写機等の画像形成装置に設けられる。そして、例えば、第１制御回路１０は画像形成装置の全体を制御し、第２制御回路２０は第１制御回路１０による指示のもと、画像形成装置に設けられた各部（モータ等）を制御する。すなわち、本実施の形態では、第１制御回路１０がメインコントローラとして、第２制御回路２０がサブコントローラとして、それぞれ機能している。
【００１１】
これらのうち、第１制御回路１０は、第１ＣＰＵ（Central Processing Unit）１１と、第１ＡＳＩＣ（Application Specific Integrated Circuit）１２とを有している。第１制御回路１０では、第１ＣＰＵ１１および第１ＡＳＩＣ１２が協働して、制御対象となる機器の制御を行う。
【００１２】
また、第２制御回路２０は、第２ＣＰＵ２１と、第２ＡＳＩＣ２２とを有している。第２制御回路２０では、第２ＣＰＵ２１および第２ＡＳＩＣ２２が協働して、制御対象となる機器の制御を行う。
【００１３】
そして、第１制御回路１０に設けられた第１ＡＳＩＣ１２と、第２制御回路２０に設けられた第２ＡＳＩＣ２２とは、全二重方式の高速シリアルバスを用いて接続されている。本実施の形態では、送信側（例えば第１ＡＳＩＣ１２）が、シリアルデータに同期クロック信号を重畳した（埋め込んだ）データを送信する。また、本実施の形態では、受信側が、受信したデータから同期クロック信号を復元するとともに、復元した同期クロック信号を用いて、受信したデータからシリアルデータを取り出す。このような全二重方式の高速シリアルバスとしては、例えば、イーサネット（登録商標）（１０００ＢＡＳＥ−Ｔ）、ファイバーチャネル、ＩＥＥＥ１３９４、ＰＣＩＥｘｐｒｅｓｓ、ＳｅｒｉａｌＡＴＡ、ＵＳＢ３．０、ＤｉｓｐｌａｙＰｏｒｔ等が挙げられる。
【００１４】
なお、以下の説明では、第２制御回路２０側を基準として考え、第２制御回路２０が第１制御回路１０から受け取るデータを受信データＲＸ＿ＤＡＴと称し、第２制御回路２０が第１制御回路１０へと送るデータを送信データＴＸ＿ＤＡＴと称する。また、本実施の形態では、第１ＡＳＩＣ１２と第２ＡＳＩＣ２２とを接続する、全二重方式の高速シリアルバスにおける同期クロック信号の周波数（周期）が、例えば１００ＭＨｚ（１０ｎｓ）に設定されているものとする。
【００１５】
［第２制御回路に設けられた第２ＡＳＩＣの構成］
図２は、第２制御回路２０に設けられた第２ＡＳＩＣ２２の構成を示す図である。なお、ここでは、第２ＡＳＩＣ２２に設けられた受信データＲＸ＿ＤＡＴの処理系統のみを示しており、送信データＴＸ＿ＤＡＴの処理系統については、その記載を省略している。
この第２ＡＳＩＣ２２は、受信データ処理回路３０と、内部回路４０と、不揮発性メモリ５０とを備えている。
【００１６】
受信データ処理回路３０は、第１制御回路１０（第１ＡＳＩＣ１２：図１参照）から入力されてくる受信データＲＸ＿ＤＡＴに、内部回路４０から入力されてくるシステムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫと、不揮発性メモリ５０から読み出した受信データ周期情報ＣＹＣとを用いて、各種処理を施す。また、受信データ処理回路３０は、受信データＲＸ＿ＤＡＴに各種処理を施すことで、受信データＲＸ＿ＤＡＴから取り出したシリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）をパラレル化したパラレル入力データＩＮ＿ＤＡＴ（Ｐａｒａ）を、内部回路４０に出力する。
【００１７】
内部回路４０は、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫを生成して受信データ処理回路３０に出力するとともに、受信データ処理回路３０から入力されてくるパラレル入力データＩＮ＿ＤＡＴ（Ｐａｒａ）に基づく処理（制御等）を行う。このシステムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの周波数は、受信データＲＸ＿ＤＡＴに埋め込まれている同期クロック信号の周波数よりも高く設定される。なお、本実施の形態では、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの周波数が、同期クロック信号の周波数の６倍（６００ＭＨｚ）に設定されているものとする。
【００１８】
不揮発性メモリ５０は、受信データＲＸ＿ＤＡＴに埋め込まれている同期クロック信号の周期である受信データ周期情報ＣＹＣを記憶する。不揮発性メモリ５０は、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）やフラッシュメモリなど、書き換え可能な不揮発性メモリで構成されている。そして、図１に示す制御システム１が構築された際に、予め、不揮発性メモリ５０に対する受信データ周期情報ＣＹＣの書き込みが行われる。なお、本実施の形態の不揮発性メモリ５０には、受信データ周期情報ＣＹＣとして、「１０ｎｓ」が記憶されていることになる。
【００１９】
［第２ＡＳＩＣに設けられた受信データ処理回路の構成］
次に、受信データ処理回路３０の詳細について説明を行う。
受信データ処理回路３０は、ＣＤＲ（Clock Data Recovery）回路３１と、遅延回路３２と、ラッチ回路３３と、シリパラ変換回路３４とを備えている。また、ＣＤＲ回路３１は、オーバーサンプリング回路３１Ａと、エッジカウント回路３１Ｂと、復元同期クロック生成回路３１Ｃとを備えている。
【００２０】
ＣＤＲ回路３１には、第１制御回路１０の第１ＡＳＩＣ１２（図１参照）から、受信データＲＸ＿ＤＡＴが入力される。また、ＣＤＲ回路３１には、内部回路４０から、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫが入力される。さらに、ＣＤＲ回路３１には、不揮発性メモリ５０から、受信データ周期情報ＣＹＣが入力される。そして、ＣＤＲ回路３１は、これら受信データＲＸ＿ＤＡＴと、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫと、受信データ周期情報ＣＹＣとを用いて、受信データＲＸ＿ＤＡＴに埋め込まれた同期クロック信号に対応する復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）する。そして、ＣＤＲ回路３１は、生成した復元同期クロック信号ＣＤＲ＿ＣＬＫを、ラッチ回路３３に出力する。
【００２１】
より具体的に説明すると、オーバーサンプリング回路３１Ａには、受信データＲＸ＿ＤＡＴと、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫとが入力される。そして、オーバーサンプリング回路３１Ａは、受信データＲＸ＿ＤＡＴに対し、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫを用いたオーバーサンプリング処理を行う。これにより、オーバーサンプリング回路３１Ａは、受信データＲＸ＿ＤＡＴにおける、パルスの立ち下がり（「Ｈ」→「Ｌ」）に対応する立ち下がり検知信号ＤＷＤＴＣを作成する。また、オーバーサンプリング回路３１Ａは、作成した立ち下がり検知信号ＤＷＤＴＣを、エッジカウント回路３１Ｂに出力する。
【００２２】
エッジカウント回路３１Ｂには、立ち下がり検知信号ＤＷＤＴＣと、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫと、受信データ周期情報ＣＹＣとが入力される。そして、エッジカウント回路３１Ｂは、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫのパルスの立ち上がりエッジの数を、予め設定された設定回数ずつカウントすることを繰り返す、エッジカウント信号ＥＤＧＣＯＵＮＴ（後述する図５参照）を作成する。この設定回数は、受信データＲＸ＿ＤＡＴに埋め込まれている同期クロック信号の周波数に対する、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの周波数（サンプリング周波数）の倍率で決まる。本実施の形態では、同期クロック信号の周波数が１００ＭＨｚであり、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの周波数が６００ＭＨｚであることから、設定回数は６００／１００＝６となる。また、エッジカウント回路３１Ｂは、自身で作成したエッジカウント信号ＥＤＧＣＯＵＮＴを用いて、オーバーサンプリング回路３１Ａが作成した立ち下がり検知信号ＤＷＤＴＣに対しパルスの立ち下がりタイミングの補足（補完）を行う。さらに、エッジカウント回路３１Ｂは、補足済みの立ち下がり検知信号ＤＷＤＴＣと、受信データ周期情報ＣＹＣとを用いて、受信データＲＸ＿ＤＡＴにおける、パルスの立ち上がり（「Ｌ」→「Ｈ」）に対応する立ち上がり検知信号ＵＰＤＴＣを作成する。さらにまた、エッジカウント回路３１Ｂは、補足済みの立ち下がり検知信号ＤＷＤＴＣと、作成した立ち上がり検知信号ＵＰＤＴＣとを、復元同期クロック生成回路３１Ｃに出力する。
【００２３】
復元同期クロック生成回路３１Ｃには、補足済みの立ち下がり検知信号ＤＷＤＴＣと、立ち上がり検知信号ＵＰＤＴＣとが入力される。そして、復元同期クロック生成回路３１Ｃは、補足済みの立ち下がり検知信号ＤＷＤＴＣと、立ち上がり検知信号ＵＰＤＴＣとを用いて、復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）する。また、復元同期クロック生成回路３１Ｃは、生成した復元同期クロック信号ＣＤＲ＿ＣＬＫを、ラッチ回路３３に出力する。
【００２４】
遅延回路３２には、受信データＲＸ＿ＤＡＴと、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫとが入力される。そして、遅延回路３２は、入力されてくる受信データＲＸ＿ＤＡＴを、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１クロック（１周期）分だけ遅延させる。また、遅延回路３２は、遅延済みの受信データＲＸ＿ＤＡＴを、ラッチ回路３３に出力する。
【００２５】
ラッチ回路３３には、遅延済みの受信データＲＸ＿ＤＡＴと、復元同期クロック信号ＣＤＲ＿ＣＬＫとが入力される。そして、ラッチ回路３３は、受信データＲＸ＿ＤＡＴと、復元同期クロック信号ＣＤＲ＿ＣＬＫとを用いて、受信データＲＸ＿ＤＡＴに含まれているシリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）を取り出す。また、ラッチ回路３３は、取り出したシリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）を、シリパラ変換回路３４に出力する。
【００２６】
シリパラ変換回路３４には、シリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）が入力される。そして、シリパラ変換回路３４は、シリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）をシリアル／パラレル変換することで、パラレル入力データＩＮ＿ＤＡＴ（Ｐａｒａ）を作成する。また、シリパラ変換回路３４は、作成したパラレル入力データＩＮ＿ＤＡＴ（Ｐａｒａ）を、内部回路４０に出力する。
【００２７】
［受信データ処理回路による受信データの処理の手順］
図３は、第２ＡＳＩＣ２２に設けられた受信データ処理回路３０が実行する処理の手順を説明するためのフローチャートである。
【００２８】
受信データ処理回路３０が受信データＲＸ＿ＤＡＴを受信すると、ＣＤＲ回路３１は、受信データＲＸ＿ＤＡＴから、同期クロック信号に相当する復元同期クロック信号ＣＤＲ＿ＣＬＫを取り出す同期クロック信号復元処理を実行する（ステップ１０）。なお、ステップ１０の詳細については後述する。
【００２９】
また、遅延回路３２は、ステップ１０と平行して、受信データ処理回路３０が受信した上記受信データＲＸ＿ＤＡＴを、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期（１クロック）分だけ遅延させる遅延処理を実行する（ステップ２０）。
【００３０】
次に、ラッチ回路３３は、ステップ２０でシステムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期（１クロック）分だけ遅延させた受信データＲＸ＿ＤＡＴに対し、ステップ１０で受信データＲＸ＿ＤＡＴから取り出した復元同期クロック信号ＣＤＲ＿ＣＬＫに基づくラッチ処理を実行し（ステップ３０）、受信データＲＸ＿ＤＡＴからシリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）を生成（復元）する。
【００３１】
そして、シリパラ変換回路３４は、ステップ３０で生成されたシリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）に対するシリアル／パラレル変換処理を実行し（ステップ４０）、得られたパラレル入力データＩＮ＿ＤＡＴ（Ｐａｒａ）を、内部回路４０に出力する。
【００３２】
［ＣＤＲ回路による同期クロック信号復元処理の手順］
図４は、受信データ処理回路３０に設けられたＣＤＲ回路３１が実行する同期クロック信号復元処理の手順を説明するためのフローチャートである。すなわち、図４は、図３に示すステップ１０の詳細を示すものである。
【００３３】
まず、オーバーサンプリング回路３１Ａは、受信データＲＸ＿ＤＡＴと、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫとを用いて、立ち下がり検知信号ＤＷＤＴＣを作成する（ステップ１１）。
【００３４】
次に、エッジカウント回路３１Ｂは、立ち下がり検知信号ＤＷＤＴＣと、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫとを用いて、エッジカウント信号ＥＤＧＣＯＵＮＴを作成する（ステップ１２）。続いて、エッジカウント回路３１Ｂは、エッジカウント信号ＥＤＧＣＯＵＮＴと、受信データ周期情報ＣＹＣとを用いて、上記立ち下がり検知信号ＤＷＤＴＣの補足を行う（ステップ１３）。それから、エッジカウント回路３１Ｂは、補足済みの立ち下がり検知信号ＤＷＤＴＣと、受信データ周期情報ＣＹＣとを用いて、立ち上がり検知信号ＵＰＤＴＣを作成する（ステップ１４）。
【００３５】
そして、復元同期クロック生成回路３１Ｃは、補足済みの立ち下がり検知信号ＤＷＤＴＣと、立ち上がり検知信号ＵＰＤＴＣとを用いて、復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）する（ステップ１５）。その後、生成された、復元同期クロック信号ＣＤＲ＿ＣＬＫは、ラッチ回路３３へと出力される。
【００３６】
ここで、本実施の形態では、制御システム１がデータ送受信システムの一例として、第１制御回路１０が送信部の一例として、第２制御回路２０が受信部の一例として、それぞれ機能している。また、本実施の形態では、ＣＤＲ回路３１が同期クロック復元装置の一例として、受信データ処理回路３０がシリアルデータ取出装置の一例として、それぞれ機能している。また、本実施の形態では、オーバーサンプリング回路３１Ａが検出手段の一例として、エッジカウント回路３１Ｂが補足手段および作成手段の一例として、復元同期クロック生成回路３１Ｃが復元手段の一例として、それぞれ機能している。さらに、本実施の形態では、遅延回路３２が遅延手段の一例として、ラッチ回路３３が取出手段の一例として、それぞれ機能している。さらにまた、本実施の形態では、不揮発性メモリ５０が記憶手段の一例として機能している。そして、本実施の形態では、受信データＲＸ＿ＤＡＴがデータに、オーバーサンプリング処理が標本化処理に、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫが標本化クロック信号に、それぞれ対応している。
【００３７】
［受信データ処理回路による受信データの処理の一例］
では、受信データ処理回路３０による受信データＲＸ＿ＤＡＴの処理に関し、タイミングチャートを用いて、さらに詳細な説明を行う。
【００３８】
図５は、第２ＡＳＩＣ２２に設けられた受信データ処理回路３０が実行する処理の一例を説明するためのタイミングチャートである。図５に示す処理は、図３および図４に対応するものである。ここで、図５の上段（図中の下向き矢印よりも上側）には、受信データＲＸ＿ＤＡＴ（Ｉｎｐｕｔ）と、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫと、立ち下がり検知信号ＤＷＤＴＣと、エッジカウント信号ＥＤＧＣＯＵＮＴと、立ち上がり検知信号ＵＰＤＴＣ、復元同期クロック信号ＣＤＲ＿ＣＬＫとの関係を示している。また、図５の下段（図中の下向き矢印よりも下側）には、受信データＲＸ＿ＤＡＴ（Ｄｅｌａｙ）と、復元同期クロック信号ＣＤＲ＿ＣＬＫと、シリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）との関係を示している。ここで、受信データＲＸ＿ＤＡＴ（Ｉｎｐｕｔ）は、ＣＤＲ回路３１および遅延回路３２に入力される受信データＲＸ＿ＤＡＴを意味しており、受信データＲＸ＿ＤＡＴ（Ｄｅｌａｙ）は、遅延回路３２を通過することで、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期（クロック）分だけ遅延した遅延済みの受信データＲＸ＿ＤＡＴを意味している。なお、初期状態において、立ち下がり検知信号ＤＷＤＴＣ、立ち上がり検知信号ＵＰＤＴＣおよび復元同期クロック信号ＣＤＲ＿ＣＬＫは、すべて「Ｌ」に設定されている。
【００３９】
まず、図５の上段側、すなわち、ＣＤＲ回路３１での処理について説明を行う。
【００４０】
ＣＤＲ回路３１におけるオーバーサンプリング回路３１Ａは、受信データＲＸ＿ＤＡＴ（Ｉｎｐｕｔ）に対し、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫを用いた６倍のオーバーサンプリング処理を行う。このとき、オーバーサンプリング回路３１Ａは、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの立ち上がりタイミングにて、受信データＲＸ＿ＤＡＴ（Ｉｎｐｕｔ）が、「Ｈ」→「Ｌ」に移行したときに、立ち下がり検知信号ＤＷＤＴＣを、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期分だけ「Ｈ」に維持する処理を行う。図５に示す例では、受信データＲＸ＿ＤＡＴ（Ｉｎｐｕｔ）が、「Ｈ」→「Ｌ」に２回移行していることから、オーバーサンプリング回路３１Ａが作成する立ち下がり検知信号ＤＷＤＴＣにおいても、パルスの立ち上がりは２回となる（図中の実線部分参照）。
【００４１】
ＣＤＲ回路３１におけるエッジカウント回路３１Ｂは、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの周期を単位とするカウントを行う。このとき、エッジカウント回路３１Ｂは、オーバーサンプリング回路３１Ａが作成した立ち下がり検知信号ＤＷＤＴＣの立ち下がりタイミングにてカウント値を０にリセットするとともに、設定回数（この例では、「０」、「１」、「２」、「３」、「４」、「５」の６回）だけカウント値をインクリメントする、という処理を繰り返す。
【００４２】
また、エッジカウント回路３１Ｂは、エッジカウント信号ＥＤＧＣＯＵＮＴのカウント値が「０」にリセットされるタイミングにおいて、立ち下がり検知信号ＤＷＤＴＣを、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期分だけ「Ｈ」に維持することで、立ち下がり検知信号ＤＷＤＴＣを補足する処理を行う。ただし、エッジカウント信号ＥＤＧＣＯＵＮＴのカウント値が「０」にリセットされるタイミングにおいて、オーバーサンプリング回路３１Ａが作成した立ち下がり検知信号ＤＷＤＴＣが既に「Ｈ」となっている場合、エッジカウント回路３１Ｂは、立ち下がり検知信号ＤＷＤＴＣを補足する処理を行わない。図５に示す例では、エッジカウント信号ＥＤＧＣＯＵＮＴのカウント値が「０」にリセットされたときに、立ち下がり検知信号ＤＷＤＴＣが「Ｈ」となっていない状態が３回存在することから、立ち下がり検知信号ＤＷＤＴＣに対してエッジカウント回路３１Ｂが補足するパルスの立ち上がりは３回となる（図中の破線部分参照）。そして、図中に実線で記載した部分と破線で記載した部分とを組み合わせたものが、補足済みの立ち下がり検知信号ＤＷＤＴＣとなる。
【００４３】
さらに、エッジカウント回路３１Ｂは、補足済みの立ち下がり検知信号ＤＷＤＴＣに対し、受信データ周期情報ＣＹＣの半周期（この例では１０ｎｓ）分だけ遅延させることで、立ち上がり検知信号ＵＰＤＴＣを作成する。
【００４４】
復元同期クロック生成回路３１Ｃは、立ち上がり検知信号ＵＰＤＴＣが、「Ｈ」→「Ｌ」に移行する立ち下がりタイミングで、復元同期クロック信号ＣＤＲ＿ＣＬＫを「Ｌ」→「Ｈ」に移行させる。また、復元同期クロック生成回路３１Ｃは、補足済みの立ち下がり検知信号ＤＷＤＴＣが、「Ｈ」→「Ｌ」に移行する立ち下がりタイミングで、復元同期クロック信号ＣＤＲ＿ＣＬＫを「Ｈ」→「Ｌ」に移行させる。復元同期クロック生成回路３１Ｃは、この処理を繰り返して行うことで、復元同期クロック信号ＣＤＲ＿ＣＬＫの生成（復元）を行う。
【００４５】
次に、図５の下段側、すなわち、遅延回路３２およびラッチ回路３３での処理について説明を行う。
【００４６】
遅延回路３２は、図５の最上段に示す受信データＲＸ＿ＤＡＴ（Ｉｎｐｕｔ）を、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期分だけ遅延させた受信データＲＸ＿ＤＡＴ（Ｄｅｌａｙ）を作成する。
【００４７】
ラッチ回路３３は、復元同期クロック信号ＣＤＲ＿ＣＬＫが、「Ｌ」→「Ｈ」に移行する立ち上がりタイミングで、受信データＲＸ＿ＤＡＴ（Ｄｅｌａｙ）をラッチし、次の復元同期クロック信号ＣＤＲ＿ＣＬＫの立ち上がりタイミングまで、ラッチした状態（「Ｌ」または「Ｈ」）を維持することで、シリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）を作成（復元）する。なお、図示はしていないが、シリパラ変換回路３４は、シリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）を予め設定されたビット数（例えば２４ビット）毎にパラレル化し、パラレル入力データＩＮ＿ＤＡＴ（Ｐａｒａ）として出力することになる。
【００４８】
［まとめ］
以上説明したように、本実施の形態では、受信データＲＸ＿ＤＡＴに埋め込まれた同期クロック信号に対応する復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）する際に、まず、単相のシステムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫを用いて、復元同期クロック信号ＣＤＲ＿ＣＬＫのトリガとなる立ち下がりタイミングの検出を行うことで立ち下がり検知信号ＤＷＤＴＣを作成した。また、本実施の形態では、作成した立ち下がり検知信号ＤＷＤＴＣに対し、既知の受信データ周期情報ＣＹＣを用いて、立ち下がりタイミングに関する補足（補完）を行った。これにより、立ち下がり検知信号ＤＷＤＴＣにおける立ち下がりタイミングと周期とを、より正確にすることができる。
【００４９】
そして、本実施の形態では、このようにして得られた補足済みの立ち下がり検知信号ＤＷＤＴＣと既知の受信データ周期情報ＣＹＣとを用いて、立ち上がり検知信号ＵＰＤＴＣを作成するとともに、補足済みの立ち下がり検知信号ＤＷＤＴＣと作成した立ち上がり検知信号ＵＰＤＴＣとを用いて、復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）するようにした。これにより、多相のクロック信号を用いて同期クロック信号を生成（復元）する場合と比較して、同期クロック信号を復元するための回路構成を簡易なものとすることができる。
【００５０】
また、本実施の形態では、復元同期クロック信号ＣＤＲ＿ＣＬＫの生成で使用する受信データ周期情報ＣＹＣを、予め、受信データ処理回路３０とともに第２ＡＳＩＣ２２に設けられる不揮発性メモリ５０に記憶させておくようにした。これにより、受信データ処理回路３０（ＣＤＲ回路３１）が受信データ周期情報ＣＹＣの取得に要する時間を、低減することができる。
【００５１】
また、本実施の形態では、ＣＤＲ回路３１で受信データＲＸ＿ＤＡＴから復元同期クロック信号ＣＤＲ＿ＣＬＫを生成（復元）してラッチ回路３３に供給するとともに、遅延回路３２でこの受信データＲＸ＿ＤＡＴを遅延させてラッチ回路３３に供給するようにした。これにより、ラッチ回路３３における受信データＲＸ＿ＤＡＴと復元同期クロック信号ＣＤＲ＿ＣＬＫとの時間的なずれ（スキュー）を抑制することが可能となり、より正確なシリアル入力データＩＮ＿ＤＡＴ（Ｓｅｒ）を得ることができる。
【００５２】
そして、本実施の形態では、遅延回路３２における受信データＲＸ＿ＤＡＴの遅延量（時間的な長さ）を、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの周期に基づいて決定するようにした。これにより、例えば復元同期クロック信号ＣＤＲ＿ＣＬＫの周期に基づいて遅延量を決定する場合と比較して、周期が短い（周波数が高い）分、より細かな単位にて遅延量を調整することが可能になる。
【００５３】
［その他］
なお、本実施の形態では、高速シリアルバスで用いる復元同期クロック信号の周波数を１００ＭＨｚとしていたが、これは一例に過ぎず、いかなる周波数であってもよい。
【００５４】
また、本実施の形態では、遅延回路３２における受信データＲＸ＿ＤＡＴの遅延量を、システムクロック信号Ｓｙｓｔｅｍ＿ＣＬＫの１周期分としていたが、これは一例に過ぎず、ＣＤＲ回路３１での処理時間に応じて変更してもかまわない。
【００５５】
さらに、本実施の形態では、第２ＡＳＩＣ２２に不揮発性メモリ５０を内蔵させていたが、これに限られるものではなく、第２ＡＳＩＣ２２に対し、不揮発性メモリ５０を外付けする構成としてもかまわない。
【００５６】
さらにまた、本実施の形態では、制御システム１を、画像形成装置の制御系に適用した場合を例として説明を行ったが、これに限られるものではない。この制御システム１を、各種機器の制御系や、コンピュータ装置等に適用してもよい。
【符号の説明】
【００５７】
１…制御システム、１０…第１制御回路、１１…第１ＣＰＵ、１２…第１ＡＳＩＣ、２０…第２制御回路、２１…第２ＣＰＵ、２２…第２ＡＳＩＣ、３０…受信データ処理回路、３１…ＣＤＲ回路、３１Ａ…オーバーサンプリング回路、３１Ｂ…エッジカウント回路、３１Ｃ…復元同期クロック生成回路、３２…遅延回路、３３…ラッチ回路、３４…シリパラ変換回路、４０…内部回路、５０…不揮発性メモリ
【図１】
2018050197.tif 000003
【図２】
2018050197.tif 000004
【図３】
2018050197.tif 000005
【図４】
2018050197.tif 000006
【図５】
2018050197.tif 000007