(57)【要約】【課題】  ノイズ等の影響をより低減しうるデータ転送装置を提供する。【解決手段】  データ転送装置の送信部は、テストデータを基準信号に同期させて送信する。遅延部は、送信部から送信されたデータ信号の遅延量を基準信号に基づいて調整する。判定部は、遅延量が同じ条件でテストデータを複数回取得し、所定の遅延量でテストデータを取り込んだときの信号値の信頼性を判定する。制御部は、遅延量を変化させながらテストデータを取り込んだ結果に基づいて、正規のデータ通信で適用する遅延量（調整値）を決定する。また、制御部は、取り込んだ信号値のうちで信頼性が高いと判定されたものを用いて、ハイレベルが最も長く連続する第１区間と、ローレベルが最も長く連続する第２区間とをそれぞれ求める。そして、制御部は、第１区間および第２区間に基づいて調整値を決定する。【選択図】  図１
2010198590.tif 000002
【特許請求の範囲】
【請求項１】
正規のデータ通信に先立って、信号値が交互に変化する２値のテストデータを基準信号に同期させて送信する送信部と、
配線により前記送信部と接続されるとともに、前記送信部から送信されたデータ信号の遅延量を前記基準信号に基づいて調整する遅延部と、
前記遅延量が同じ条件で前記テストデータを複数回取得し、所定の前記遅延量で前記テストデータを取り込んだときの前記信号値の信頼性を判定する判定部と、
前記遅延量を変化させながら前記テストデータを取り込んだ結果に基づいて、前記正規のデータ通信で適用する前記遅延量を示す調整値を決定する制御部と、を備え、
前記制御部は、取り込んだ前記信号値のうちで前記判定部により信頼性が高いと判定されたものを用いて、前記テストデータでのハイレベルが最も長く連続する第１区間と、前記テストデータでのローレベルが最も長く連続する第２区間とをそれぞれ求め、前記第１区間および前記第２区間に基づいて前記調整値を決定することを特徴とするデータ転送装置。
【請求項２】
請求項１に記載のデータ転送装置において、
前記制御部は、前記第１区間または前記第２区間の長さが閾値未満か否かを判定し、前記第１区間または前記第２区間の長さが閾値未満であると判定したときには、前記調整値を所定の初期値に設定することを特徴とするデータ転送装置。
【請求項３】
請求項１または請求項２に記載のデータ転送装置において、
前記制御部は、前記第１区間と前記第２区間との変化点の間隔が閾値未満か否かを判定し、前記間隔が閾値未満であると判定したときには、前記調整値を所定の初期値に設定することを特徴とするデータ転送装置。
【請求項４】
請求項１または請求項２に記載のデータ転送装置において、
前記制御部は、前記第１区間と前記第２区間との変化点の間隔が閾値で規定される範囲内にあるか否かを判定し、前記間隔が前記範囲外であると判定したときには、前記調整値を所定の初期値に設定することを特徴とするデータ転送装置。
【請求項５】
請求項２から請求項４のいずれか１項に記載のデータ転送装置において、
前記制御部は、前記調整値を前記初期値に設定したか否かに応じて、次回の判定に適用する前記閾値を変化させることを特徴とするデータ転送装置。
【請求項６】
請求項２から請求項５のいずれか１項に記載のデータ転送装置において、
前記制御部は、前記調整値を前記初期値に設定したか否かに応じて、次回に前記調整値を求めるときの前記信号値のサンプリング間隔を変化させることを特徴とするデータ転送装置。
【請求項７】
請求項２から請求項６のいずれか１項に記載のデータ転送装置において、
前記制御部は、各々が異なるパラメータに対応付けされた複数種類の判定処理を実行し、前記判定処理のいずれかに起因して前記調整値が前記初期値に設定された場合には、前記起因となった判定処理に対応付けされたパラメータの値を変化させることを特徴とするデータ転送装置。
【請求項８】
請求項２から請求項６のいずれか１項に記載のデータ転送装置において、
前記制御部は、各々が異なるパラメータに対応付けされた複数種類の判定処理を実行し、前記判定処理のいずれかに起因して前記調整値が前記初期値に設定された後、次回の判定において前記起因となった判定処理で前記調整値が前記初期値に設定されない場合には、前記起因となった判定処理に対応付けされたパラメータの値をラッチすることを特徴とするデータ転送装置。
【請求項９】
請求項１から請求項８のいずれか１項に記載のデータ転送装置において、
前記制御部は、決定した前記調整値を適用して前記テストデータをさらに複数回取得し、取得される信号値が連続して同じ値か否かを判定することを特徴とするデータ転送装置。
【請求項１０】
請求項１から請求項９のいずれか１項に記載のデータ転送装置を備えることを特徴とするカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置およびカメラに関する。
【背景技術】
【０００２】
近年、撮像素子の高画素化などに伴って、電子カメラなどの電子機器は、ディジタルデータの転送の高速化がより一層要求されている。ディジタルデータの高速転送を目的とする電子機器の設計では、伝送路のインピーダンスコントロール、等長配線、プリント基板等の材質の選定を行い、その後に信号波形のシミュレーションなどが行われている。
【０００３】
また、特許文献１には、ディジタルデータの転送において、信号間の遅延ばらつきを補正するデータ転送装置の例が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１７１２５４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記の従来技術では、ノイズ、ジッタ、スキューなどによる対策が十分でない点でなお改善の余地があった。
【０００６】
そこで、本発明は、ノイズ等の影響をより低減しうるデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一の態様に係るデータ転送装置は、送信部と、遅延部と、判定部と、制御部とを備える。送信部は、正規のデータ通信に先立って、信号値が交互に変化する２値のテストデータを基準信号に同期させて送信する。遅延部は、配線により送信部と接続されるとともに、送信部から送信されたデータ信号の遅延量を基準信号に基づいて調整する。判定部は、遅延量が同じ条件でテストデータを複数回取得し、所定の遅延量でテストデータを取り込んだときの信号値の信頼性を判定する。制御部は、遅延量を変化させながらテストデータを取り込んだ結果に基づいて、正規のデータ通信で適用する遅延量を示す調整値を決定する。また、制御部は、取り込んだ信号値のうちで判定部により信頼性が高いと判定されたものを用いて、テストデータでのハイレベルが最も長く連続する第１区間と、テストデータでのローレベルが最も長く連続する第２区間とをそれぞれ求める。そして、制御部は第１区間および第２区間に基づいて調整値を決定する。
【０００８】
上記の一の態様において、制御部は、第１区間または第２区間の長さが閾値未満か否かを判定してもよい。そして、制御部は、第１区間または第２区間の長さが閾値未満であると判定したときには、調整値を所定の初期値に設定してもよい。
【０００９】
上記の一の態様において、制御部は、第１区間と第２区間との変化点の間隔が閾値未満か否かを判定してもよい。そして、制御部は、上記の間隔が閾値未満であると判定したときには、調整値を所定の初期値に設定してもよい。
【００１０】
上記の一の態様において、制御部は、第１区間と第２区間との変化点の間隔が閾値で規定される範囲内にあるか否かを判定してもよい。また、制御部は、上記の間隔が上記の範囲外であると判定したときには、調整値を所定の初期値に設定してもよい。
【００１１】
また、制御部は、調整値を初期値に設定したか否かに応じて、次回の判定に適用する閾値を変化させてもよい。また、制御部は、調整値を初期値に設定したか否かに応じて、次回に調整値を求めるときの信号値のサンプリング間隔を変化させてもよい。
【００１２】
上記の一の態様において、制御部は、各々が異なるパラメータに対応付けされた複数種類の判定処理を実行してもよい。また、制御部は、判定処理のいずれかに起因して調整値が初期値に設定された場合には、起因となった判定処理に対応付けされたパラメータの値を変化させてもよい。
【００１３】
上記の一の態様において、制御部は、各々が異なるパラメータに対応付けされた複数種類の判定処理を実行してもよい。また、制御部は、判定処理のいずれかに起因して調整値が初期値に設定された後、次回の判定において起因となった判定処理で調整値が初期値に設定されない場合には、起因となった判定処理に対応付けされたパラメータの値をラッチしてもよい。
【００１４】
上記の一の態様において、制御部は、決定した調整値を適用してテストデータをさらに複数回取得し、取得される信号値が連続して同じ値か否かを判定するようにしてもよい。
【００１５】
なお、上記の一の態様のデータ転送装置を備えたカメラまたは電子機器も本発明の具体的態様として有効である。
【発明の効果】
【００１６】
本発明では、信頼性が高いと判定された信号値を用いて、テストデータでのハイレベルおよびローレベルがそれぞれ最も長く連続する区間を求め、これらの区間に基づいて正規のデータ通信での遅延量を決定する。これにより、ノイズ等の影響をより低減しうるデータ転送装置を提供できる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態でのデータ転送装置の構成例を示す模式図
【図２】遅延調整部の構成例を示す模式図
【図３】第１実施形態での遅延調整処理の動作例を示す流れ図
【図４】第１実施形態におけるデータ転送装置の動作を示すタイミングチャート
【図５】（ａ）：テストデータの理想的な波形を示す図、（ｂ）：ノイズ等で乱れたテストデータの波形の例を示す図、（ｃ）：（ｂ）の波形を時間軸方向にサンプリングして２値化した例を示す図
【図６】第２実施形態での遅延調整処理の動作例を示す流れ図
【図７】図６の続きの流れ図
【図８】第３実施形態での遅延調整処理の動作例を示す流れ図
【図９】図８の続きの流れ図
【発明を実施するための形態】
【００１８】
＜第１実施形態の説明＞
（データ転送装置の構成例）
図１は、第１実施形態でのデータ転送装置の構成例を示す模式図である。図１のデータ転送装置は電子カメラに実装されるものであり、送信部１と、受信部２と、ＣＰＵ３とを有している。ここで、上記の送信部１および受信部２は、ディジタルのデータ信号の転送を行うものであれば、いかなる種類の回路の組み合わせであってもよい。
【００１９】
この第１実施形態のデータ転送装置は、正規のデータ通信に先立って、テストデータを用いてデータ信号の遅延量を調整する機能を有している。なお、第１実施形態のデータ転送装置では、基準信号となるクロック信号の周期を５００ＭＨｚとし、１ＧｂｐｓのレートでＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）方式によりディジタルのデータ信号を送信するものとする。
【００２０】
送信部１は、ディジタルのデータ信号（画像信号など）を出力する回路である。この送信部１は、後述のテストデータを送信するテストデータ出力部４を内蔵している。
【００２１】
また、送信部１には、並列するｎ本のデータ信号線ＤＡＴＡ１−ＤＡＴＡｎの一端と、クロック信号を送信する基準信号線ＣＬＫの一端とがそれぞれ接続されている。上記のデータ信号線は、いずれもデータ信号をシリアル方式で送信するための配線である。また、各データ信号線ＤＡＴＡ１−ＤＡＴＡｎおよび基準信号線ＣＬＫの他端は、それぞれ受信部２に接続されている。そのため、第１実施形態のデータ転送装置では、送信部１から受信部２にｎ本のチャネルでデータ信号がシリアル転送される。
【００２２】
受信部２は、送信部１から入力されたディジタルのデータ信号に対して、信号処理を施す回路である。この受信部２は、ｎ個の遅延調整部５と、上記の信号処理を実行する信号処理部６とを有している。なお、信号処理部６は、転送されたデータ信号から判別コードと必要なデータとを分別するとともに、データ形式の変換などを行う機能を有している。
【００２３】
遅延調整部５は、データ信号線のチャネルごとに１つずつ配置される。そして、各遅延調整部５には、それぞれ対応するチャネルのデータ信号線と基準信号線ＣＬＫとがそれぞれ接続されている。また、各遅延調整部５の後段には信号処理部６が接続されている。なお、図１に示す各遅延調整部５の構成はいずれも共通する。そのため、第１実施形態ではデータ信号線ＤＡＴＡ１に接続される遅延調整部５の構成を説明し、他の遅延調整部についての説明は省略する。
【００２４】
図２は、遅延調整部５の構成例を示す模式図である。遅延調整部５は、遅延部１１と、取込部１２と、制御部１３と、判定部１４と、記憶部１５とを有している。遅延部１１、判定部１４、記憶部１５は、それぞれ制御部１３と接続されている。
【００２５】
遅延部１１は、複数段直列に接続された複数の遅延素子２１（インバータなど）と、各々の遅延素子２１の出力と接続された複数のパス２２と、上記の各パス２２に接続されたセレクタ２３とを有している。上記のセレクタ２３は、制御部１３の指示に応じていずれかのパス２２を選択し、遅延部１１から出力されるデータ信号の遅延量を調整する。なお、遅延部１１の出力は、取込部１２に接続されている。
【００２６】
ここで、遅延部１１での１段ごとの遅延量や遅延段数は、転送するデータに応じて適宜設計すればよい。一例として、クロック信号の周期が５００ＭＨｚの場合、１．５周期分のデータをみるためには合計で３０００ｐｓ以上となる遅延量の調整幅が必要となる。そのため、第１実施形態では、１段ごとの遅延量が２０ｐｓで、１７０段分（０〜１６９）の切り替えが可能な遅延部１１を採用する。
【００２７】
取込部１２は、基準信号線ＣＬＫからのクロック信号の立ち上がりまたは立ち下がりのタイミングに同期して、遅延部１１から出力されたデータ信号の信号値を取り込む。取込部１２の出力は、信号処理部６と、制御部１３および判定部１４とにそれぞれ接続されている。
【００２８】
制御部１３は、遅延調整部５の各種動作を制御するプロセッサである。この制御部１３は、テストデータを用いた後述の遅延調整処理により、正規のデータ通信のときに各チャネルに適用する遅延量を求める。
【００２９】
判定部１４は、遅延調整処理において、所定の遅延量でテストデータを取り込んだときの信号値の信頼性を判定する。この判定部１４は、テストデータの取込回数を示すレジスタＭと、テストデータの信号値がハイレベルとなる回数を示すレジスタＡと、テストデータの信号値がローレベルとなる回数を示すレジスタＢと、を有している。
【００３０】
記憶部１５は、遅延量の初期値ＩＮＩＤＡＴＡ（遅延部１１の工場出荷時の遅延段数）や、遅延調整処理での各種の処理結果を示すデータや、遅延調整処理で適用する各種の変数やフラグの値などを記憶するフラッシュメモリである。
【００３１】
図１に戻って、ＣＰＵ３は、データ転送装置の統括的な制御を行うプロセッサである。このＣＰＵ３は、送信部１と、受信部２の各遅延調整部５に対して、通常の画像データの転送と、遅延調整処理との切り替えを指示するモード信号ｍｏｄｅを出力する。なお、第１実施形態において、モード信号ｍｏｄｅのローレベル（０）は通常の画像データの転送に対応し、モード信号ｍｏｄｅのハイレベル（１）は遅延調整処理に対応するものとする。
【００３２】
（データ転送装置の動作例）
次に、図３の流れ図を参照しつつ、第１実施形態におけるデータ転送装置での遅延調整処理の動作例を説明する。なお、遅延調整処理は、データ信号線の各チャネルで同様の処理がそれぞれ並行して行われるが、以下の例では、簡単のためデータ信号線ＤＡＴＡ１の場合のみを説明する。
【００３３】
ここで、以下の遅延調整処理は、例えば、電子カメラの電源投入後や、記録画像の画像信号を転送する直前などにおいて、ＣＰＵ３が遅延調整処理を指示することで実行される。また、ＣＰＵ３は、所定時間毎に遅延調整処理を実行してもよい。
【００３４】
ステップＳ１０１：遅延調整部５は、ＣＰＵ３から遅延調整処理の指示（モード信号ｍｏｄｅ：１）を受け付けると初期化動作を実行する。
【００３５】
このＳ１０１において、制御部１３は、モニタする遅延段数を示す変数Ｎの値を「０」にリセットする（Ｎ＝０）。これにより、遅延部１１のセレクタ２３は、テストデータを最初に読み込むときには、先頭側のパス２２を選択することとなる。また、制御部１３は、それぞれ遅延調整処理でのエラーを示すフラグＥＲＲ１，ＥＲＲ２の状態を「０」にリセットする（ＥＲＲ１＝０，ＥＲＲ２＝０）。
【００３６】
ステップＳ１０２：また、送信部１は、ＣＰＵ３から遅延調整処理の指示（モード信号ｍｏｄｅ：１）を受け付けると、テストデータ出力部４からテストデータの出力を開始する。なお、第１実施形態でのテストデータは、信号値のハイレベル（「１」）とローレベル（「０」）とがクロック信号と同じ周期で交互に繰り返される２値のデータ列で構成される（図４参照）。
【００３７】
ステップＳ１０３：判定部１４は、レジスタＡ、レジスタＢおよびレジスタＭの各値をそれぞれ「０」値にリセットする（Ａ＝０，Ｂ＝０，Ｍ＝０）。
【００３８】
ステップＳ１０４：遅延調整部５の取込部１２は、遅延部１１を通過して入力されるテストデータの信号値を、クロック信号の立ち上がりのタイミングに同期して取り込む。そして、判定部１４は、Ｓ１０４で取り込んだ信号値が「１」であれば、レジスタＡの値をインクリメントする。また、判定部１４は、Ｓ１０４で取り込んだ信号値が「０」であれば、レジスタＢの値をインクリメントする。
【００３９】
ステップＳ１０５：判定部１４は、レジスタＭの値が閾値ＧＥＴＭ未満であるか否かを判定する。ここで、上記の閾値ＧＥＴＭは、同じ遅延量でテストデータの信号値を取得する回数を規定する値である。第１実施形態では、同じ遅延量でテストデータの信号値を１０回取得するものとし、閾値ＧＥＴＭは「９」に設定される。なお、上記の閾値ＧＥＴＭは、データ通信の伝送路の安定度に応じて適宜変更することもできる。
【００４０】
上記要件を満たす場合（ＹＥＳ側）には、判定部１４はレジスタＭの値をインクリメントするとともに、Ｓ１０４に戻って上記の処理を繰り返す。このＳ１０４からＳ１０５のＹＥＳ側のループにより、第１実施形態では、変数Ｎに対応する遅延量において、テストデータの信号値がそれぞれ１０回分ずつ取得される。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ１０６に処理が移行する。
【００４１】
ステップＳ１０６：判定部１４は、レジスタＡおよびレジスタＢの値を解析し、現在の遅延量でテストデータを取り込んだときの信号値の信頼性を判定する。すなわち、Ｓ１０６での判定部１４は、レジスタＡまたはレジスタＢの値が所定値以上（例えば同じ遅延量での取り込み回数が１０回の場合には９以上）となるか否かを判定する。
【００４２】
レジスタＡの値が所定値以上となる場合には、判定部１４は、現在の遅延量で取り込んだテストデータの信号値は「１」であり、かつ信号値の信頼性が高いと判定する。また、レジスタＢの値が所定値以上となる場合には、判定部１４は、現在の遅延量で取り込んだテストデータの信号値は「０」であり、かつ信号値の信頼性が高いと判定する。一方、レジスタＡおよびレジスタＢの値がいずれも所定値未満の場合、信号値のばらつきが大きいことから、判定部１４は信号値の信頼性が低い不定区間であると判定する。なお、上記の判定結果は、制御部１３により、現在の変数Ｎの値と対応付けされて記憶部１５に記録される。
【００４３】
ステップＳ１０７：制御部１３は、現在の変数Ｎの値が遅延部１１の最終段の値（「１６９」）より小さいか（Ｎ＜１６９）否かを判定する。上記の要件を満たす場合（ＹＥＳ側）には、Ｓ１０８に処理が移行する。一方、上記の要件を満たさない場合（ＮＯ側）には、Ｓ１０９に処理が移行する。
【００４４】
ステップＳ１０８：制御部１３は、変数Ｎの値にＩＮＴＤを加算する（Ｎ＝Ｎ＋ＩＮＴＤ）。上記のＩＮＴＤは、遅延部１１の段数の増加量（信号値のサンプリング間隔）を規定する変数であって、その初期値は「１」である。
【００４５】
その後、制御部１３は、Ｓ１０３に戻って上記動作を繰り返す。このＳ１０３からＳ１０８のループにより、遅延量を変化させながらテストデータの信号値の取り込みが行われることとなる。
【００４６】
ステップＳ１０９：制御部１３は、記憶部１５の判定結果（Ｓ１０６で記録されたもの）に基づいて、テストデータの波形において時間軸方向にハイレベルが最も長く連続する第１区間と、時間軸方向にローレベルが最も連続する第２区間とをそれぞれ求める。上記の第１区間および第２区間を求めるときには、制御部１３は、上記の不定区間は信号値がないものとして扱い、判定部１４により信頼性が高いと判定された信号値のみを用いる。
【００４７】
そして、制御部１３は、第１区間での始点の遅延段数（Ｈ１）および終点の遅延段数（Ｈ２）と、第２区間での始点の遅延段数（Ｌ１）および終点の遅延段数（Ｌ２）とをそれぞれ取得する。なお、Ｈ１はテストデータの波形で第１区間の立ち上がり位置に相当し、Ｈ２はテストデータの波形で第１区間の立ち下がり位置に相当する。また、Ｌ１はテストデータの波形で第２区間の立ち下がり位置に相当し、Ｌ２はテストデータの波形で第２区間の立ち上がり位置に相当する（図５（ｃ）参照）。
【００４８】
図５は、第１実施形態のＳ１０９での処理を示す概要図である。テストデータの理想的な波形は、図５（ａ）に示すような矩形波となる。しかし、ノイズ、ジッタ、スキューなどによって、テストデータの波形が図５（ｂ）のように乱れる場合がある。
【００４９】
図５（ｃ）は、図５（ｂ）の波形を時間軸方向にサンプリングして２値化した例を示している。この場合には、本来は１つのハイレベルの区間が２つに割れてしまい、信号値の立ち上がりや立ち下がりのみに注目して遅延調整を行うと、遅延調整の精度が著しく低下してしまう。そこで、第１実施形態では、上記の第１区間および第２区間に基づいて遅延量を決定し、正規のデータ通信での符号誤りを抑制する。
【００５０】
ステップＳ１１０：制御部１３は、第１区間の長さが閾値Ｔｈ１未満であるか否かを判定する。すなわち、Ｓ１１０での制御部１３は、Ｈ２からＨ１を引いた遅延段数が閾値Ｔｈ１未満であるか（Ｈ２−Ｈ１＜Ｔｈ１）否かを判定する。なお、第１実施形態での閾値Ｔｈ１は、例えば初期状態において「１５」に設定される。
【００５１】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ１１３に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ１１１に処理が移行する。
【００５２】
ステップＳ１１１：制御部１３は、第２区間の長さが閾値Ｔｈ１未満であるか否かを判定する。すなわち、Ｓ１１１での制御部１３は、Ｌ２からＬ１を引いた遅延段数が閾値Ｔｈ１未満であるか（Ｌ２−Ｌ１＜Ｔｈ１）否かを判定する。
【００５３】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ１１３に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ１１２に処理が移行する。
【００５４】
ステップＳ１１２：制御部１３は、第１区間と第２区間との変化点の間隔が閾値Ｔｈ２未満か否かを判定する。すなわち、Ｓ１１２での制御部１３は、Ｌ１とＨ１との差の絶対値の遅延段数が閾値Ｔｈ２未満であるか（｜Ｌ１−Ｈ１｜＜Ｔｈ２）否かを判定する。なお、第１実施形態での閾値Ｔｈ２は、例えば初期状態において「２０」に設定される。
【００５５】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ１１３に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ１１４に処理が移行する。
【００５６】
ステップＳ１１３：制御部１３は、フラグＥＲＲ１の状態を「１」にする。なお、Ｓ１１３の場合は、第１区間，第２区間の長さが短いことでデータの安定度が低いと考えられる場合や、あるいは、変化点の間隔が近すぎる（または遠すぎる）ことで正しい遅延調整が困難となる場合に相当する。
【００５７】
ステップＳ１１４：制御部１３は、正規のデータ通信で適用する遅延量（遅延部１１での遅延段数の調整値ＮＡ）を決定する。Ｓ１１４での制御部１３は、Ｌ１とＨ１との差の絶対値を２で割って、調整値ＮＡを求める（ＮＡ＝｜Ｌ１−Ｈ１｜／２）。
【００５８】
ステップＳ１１５：制御部１３は、セレクタ２３に対して、調整値ＮＡ（Ｓ１１４）のパス２２を選択する指示を出し、遅延部１１の遅延量を調整する。
【００５９】
ステップＳ１１６：制御部１３は、調整値ＮＡを適用してテストデータを１０回分取り込む確認動作を行うとともに、確認動作で取り込んだ各々の信号値が１０回とも連続して同じであるか否かを判定する。
【００６０】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ１１８に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ１１７に処理が移行する。
【００６１】
ステップＳ１１７：制御部１３は、フラグＥＲＲ２の状態を「１」にする。なお、Ｓ１１７の場合は、確認動作（Ｓ１１６）において調整値ＮＡで取り込んだ信号値にばらつきが生じ、遅延調整が正しく行われていない場合に相当する。
【００６２】
ステップＳ１１８：制御部１３は、フラグＥＥＲ１およびＥＲＲ２の状態がいずれも「０」であるか（ＥＥＲ１＝０およびＥＲＲ２＝０）否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、Ｓ１１９に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ１２０に処理が移行する。
【００６３】
ステップＳ１１９：制御部１３は、閾値Ｔｈ１，Ｔｈ２および変数ＩＮＴＤの値をそれぞれ１ずつ増加させる。Ｓ１１９で変更された閾値Ｔｈ１，Ｔｈ２および変数ＩＮＴＤの値は、制御部１３の制御によって記憶部１５に記録される。
【００６４】
上記のＳ１１８のＹＥＳ側は、遅延調整処理が正しく行われた場合に相当し、データ転送時の信号値の安定性が比較的高いと推定される。そのため、制御部１３は、次回の遅延調整処理において、信号値のサンプリング間隔をより広くして遅延調整処理の所要時間を短縮する。一方で、制御部１３は、次回の遅延調整処理において、第１区間および第２区間の安定性や、第１区間と第２区間との変化点の間隔をより高い基準でそれぞれ判定する。
【００６５】
その後、ＣＰＵ３は、遅延調整処理を終了させる。なお、この場合には、正規のデータ通信における遅延量として、Ｓ１１５で設定された調整値ＮＡが適用される。
【００６６】
ステップＳ１２０：制御部１３は、記憶部１５から遅延量の初期値ＩＮＩＤＡＴＡを読み出す。そして、制御部１３は、セレクタ２３に対して、ＩＮＩＤＡＴＡのパス２２を選択する指示を出し、遅延部１１の遅延量を再調整する。
【００６７】
上記のＳ１１８のＮＯ側は、遅延調整処理が正しく行われない場合に相当する。この場合には、遅延量の初期値を用いることで、より妥当性の高い遅延調整を制御部１３が行うことが可能となる。
【００６８】
ステップＳ１２１：制御部１３は、閾値Ｔｈ１，Ｔｈ２および変数ＩＮＴＤの値をそれぞれリセットして初期状態に復帰させる。Ｓ１２１で戻された閾値Ｔｈ１，Ｔｈ２および変数ＩＮＴＤの値は、制御部１３の制御によって記憶部１５に記録される。その後、ＣＰＵ３は、遅延調整処理を終了させる。
【００６９】
すなわち、遅延調整処理が正しく行われなかった場合には、制御部１３は、閾値Ｔｈ１，Ｔｈ２および変数ＩＮＴＤの値を元に戻し、きめの細かい遅延調整処理を実行する。以上で、図３の流れ図の説明を終了する。
【００７０】
上記の第１実施形態において、判定部１４は、所定の遅延量でテストデータを取り込んだときの信号値の信頼性を判定する（Ｓ１０４からＳ１０６）。制御部１３は、信頼性が高いと判定された信号値を用いて、テストデータでのハイレベルが最も長く連続する第１区間と、テストデータでのローレベルが最も長く連続する第２区間とをそれぞれ求める（Ｓ１０９）。そして、制御部１３は、第１区間の立ち上がり（Ｈ１）および第２区間の立ち下がり（Ｌ２）に基づいて、正規のデータ通信での遅延部１１の調整値ＮＡを決定する（Ｓ１１４）。
【００７１】
これにより、第１実施形態では、信号値の信頼性の高い区間を基準として遅延量の調整を行うことができ、正規のデータ通信で信号値を取り込むときにノイズ、ジッタ、スキューの影響をより低減できる。
【００７２】
また、第１実施形態では、第１区間または第２区間の長さが閾値Ｔｈ１未満の場合（Ｓ１１０，Ｓ１１１）や、第１区間と第２区間との変化点の間隔が閾値Ｔｈ２未満の場合（Ｓ１１２）、制御部１３は、遅延量の初期値ＩＮＩＤＡＴＡを適用して遅延調整を行う（Ｓ１２０）。これにより、より妥当性の高い遅延調整を制御部１３が行うことができる。
【００７３】
また、第１実施形態では、制御部１３は、調整値ＮＡを適用してテストデータを複数回取り込む確認動作を行う（Ｓ１１６）。そして制御部１３は、この確認動作で取り込んだ信号値がばらつく場合には遅延量の初期値ＩＮＩＤＡＴＡを適用して遅延調整を行う（Ｓ１２０）。これにより、より妥当性の高い遅延調整を制御部１３が行うことができる。
【００７４】
また、第１実施形態では、遅延量の初期値ＩＮＩＤＡＴＡを適用しない場合、制御部１３は、次回の遅延調整処理に用いるＴｈ１，Ｔｈ２，ＩＮＴＤの値を増加させる（Ｓ１１９）。一方、遅延量の初期値ＩＮＩＤＡＴＡを適用する場合、制御部１３は、次回の遅延調整処理に用いるＴｈ１，Ｔｈ２，ＩＮＴＤの値をリセットする（Ｓ１２１）。これにより、データ転送時の信号値の安定性に応じて、制御部１３は適切なパラメータで遅延調整処理を行うことができる。
【００７５】
また、第１実施形態では、例えば、遅延調整部５などにおいて配線長や素子のばらつきによる誤差がある場合でも、遅延制御部１３は、かかる誤差分を含めた実測値によって適切な遅延量を決定できる。したがって、上記の遅延調整動作によって、配線長および素子のばらつきや環境変化による誤差も吸収されるので、データ転送装置の信頼性をより向上させることができる。
【００７６】
また、第１実施形態では、データ信号線ＤＡＴＡ１−ＤＡＴＡｎの遅延調整部５ごとに独立して遅延調整を行うことにより、各々のチャネルでの等長配線設計を回避することが可能となり、回路設計における素子、配線のレイアウトの自由度も大きく向上する。
【００７７】
＜第２実施形態の説明＞
図６、図７は、第２実施形態におけるデータ転送装置での遅延調整処理の動作例を示す流れ図である。この第２実施形態の動作例は上記の第１実施形態の変形例である。なお、第２実施形態でのデータ転送装置の構成は、図１に示す第１実施形態のものと共通するので重複説明は省略する。
【００７８】
ステップＳ２０１：遅延調整部５は、ＣＰＵ３から遅延調整処理の指示（モード信号ｍｏｄｅ：１）を受け付けると初期化動作を実行する。
【００７９】
このＳ２０１において、制御部１３は、モニタする遅延段数を示す変数Ｎの値を「０」にリセットする（Ｎ＝０）。これにより、遅延部１１のセレクタ２３は、テストデータを最初に読み込むときには、先頭側のパス２２を選択することとなる。また、制御部１３は、それぞれ遅延調整処理でのエラーを示すフラグＥＲＲ１からフラグＥＲＲ５の状態をそれぞれ「０」にリセットする（ＥＲＲ１＝ＥＲＲ２＝ＥＲＲ３＝ＥＲＲ４＝ＥＲＲ５＝０）。
【００８０】
ステップＳ２０２：また、送信部１は、ＣＰＵ３から遅延調整処理の指示（モード信号ｍｏｄｅ：１）を受け付けると、テストデータ出力部４からテストデータの出力を開始する。なお、Ｓ２０２での処理は、図３のＳ１０２の処理と共通するので重複説明は省略する。
【００８１】
ステップＳ２０３：判定部１４は、レジスタＡ、レジスタＢおよびレジスタＭの各値をそれぞれ「０」値にリセットする（Ａ＝０，Ｂ＝０，Ｍ＝０）。
【００８２】
ステップＳ２０４：遅延調整部５の取込部１２は、遅延部１１を通過して入力されるテストデータの信号値を、クロック信号の立ち上がりのタイミングに同期して取り込む。なお、Ｓ２０４での処理は、図３のＳ１０４の処理と共通するので重複説明は省略する。
【００８３】
ステップＳ２０５：判定部１４は、レジスタＭの値が閾値ＧＥＴＭ未満であるか否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、判定部１４はレジスタＭの値をインクリメントするとともに、Ｓ２０４に戻って上記の処理を繰り返す。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２０６に処理が移行する。なお、Ｓ２０５での処理は、図３のＳ１０５の処理と共通するので重複説明は省略する。
【００８４】
ステップＳ２０６：判定部１４は、レジスタＡおよびレジスタＢの値を解析し、現在の遅延量でテストデータを取り込んだときの信号値の信頼性を判定する。なお、Ｓ２０６での処理は、図３のＳ１０６の処理と共通するので重複説明は省略する。
【００８５】
ステップＳ２０７：制御部１３は、現在の変数Ｎの値が遅延部１１の最終段の値（「１６９」）より小さいか（Ｎ＜１６９）否かを判定する。上記の要件を満たす場合（ＹＥＳ側）には、Ｓ２０８に処理が移行する。一方、上記の要件を満たさない場合（ＮＯ側）には、Ｓ２０９に処理が移行する。
【００８６】
ステップＳ２０８：制御部１３は、変数Ｎの値にＩＮＴＤを加算する（Ｎ＝Ｎ＋ＩＮＴＤ）。上記のＩＮＴＤは、遅延部１１の段数の増加量（信号値のサンプリング間隔）を規定する変数であって、その初期値は「１」である。また、一例としてＩＮＴＤは１−１０の範囲で変化するものとする。
【００８７】
その後、制御部１３は、Ｓ２０３に戻って上記動作を繰り返す。このＳ２０３からＳ２０８のループにより、遅延量を変化させながらテストデータの信号値の取り込みが行われることとなる。
【００８８】
ステップＳ２０９：制御部１３は、記憶部１５の判定結果（Ｓ２０６で記録されたもの）に基づいて、テストデータの波形において時間軸方向にハイレベルが最も長く連続する第１区間と、時間軸方向にローレベルが最も連続する第２区間とをそれぞれ求める。なお、Ｓ２０９での処理は、図３のＳ１０９の処理と共通するので重複説明は省略する。
【００８９】
ステップＳ２１０：制御部１３は、第１区間の長さが閾値Ｔｈ１未満であるか否かを判定する。すなわち、Ｓ２１０での制御部１３は、Ｈ２からＨ１を引いた遅延段数が閾値Ｔｈ１未満であるか（Ｈ２−Ｈ１＜Ｔｈ１）否かを判定する。なお、第２実施形態での閾値Ｔｈ１は、例えば初期状態において「２０」に設定される。また、一例としてＴｈ１は１５−４０の範囲で変化するものとする。
【００９０】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ２１１に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２１２に処理が移行する。
【００９１】
ステップＳ２１１：制御部１３は、フラグＥＲＲ１の状態を「１」にする。その後、制御部１３は、Ｓ２１２に処理を移行させる。なお、Ｓ２１１の場合は、第１区間の長さが短いことでデータの安定度が低いと考えられる場合に相当する。
【００９２】
ステップＳ２１２：制御部１３は、第２区間の長さが閾値Ｔｈ２未満であるか否かを判定する。すなわち、Ｓ２１２での制御部１３は、Ｌ２からＬ１を引いた遅延段数が閾値Ｔｈ２未満であるか（Ｌ２−Ｌ１＜Ｔｈ２）否かを判定する。なお、第２実施形態での閾値Ｔｈ２は、例えば初期状態において「２０」に設定される。また、一例としてＴｈ２は１５−４０の範囲で変化するものとする。
【００９３】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ２１３に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２１４に処理が移行する。
【００９４】
ステップＳ２１３：制御部１３は、フラグＥＲＲ２の状態を「１」にする。その後、制御部１３は、Ｓ２１４に処理を移行させる。なお、Ｓ２１３の場合は、第２区間の長さが短いことでデータの安定度が低いと考えられる場合に相当する。
【００９５】
ステップＳ２１４：制御部１３は、第１区間と第２区間との変化点の間隔が閾値Ｔｈ３未満か否かを判定する。すなわち、Ｓ２１４での制御部１３は、Ｌ１とＨ１との差の絶対値の遅延段数が閾値Ｔｈ３未満であるか（｜Ｌ１−Ｈ１｜＜Ｔｈ３）否かを判定する。なお、第２実施形態での閾値Ｔｈ３は、例えば初期状態において「２０」に設定される。また、一例としてＴｈ３は１０−５０の範囲で変化するものとする。
【００９６】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ２１５に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２１６に処理が移行する。
【００９７】
ステップＳ２１５：制御部１３は、フラグＥＲＲ３の状態を「１」にする。その後、制御部１３は、Ｓ２１６に処理を移行させる。なお、Ｓ２１５の場合は、変化点の間隔が近すぎることで正しい遅延調整が困難となる場合に相当する。
【００９８】
ステップＳ２１６：制御部１３は、第１区間と第２区間との変化点の間隔が閾値Ｔｈ４を超えるか否かを判定する。すなわち、Ｓ２１６での制御部１３は、Ｌ１とＨ１との差の絶対値の遅延段数が閾値Ｔｈ４を超えるか（｜Ｌ１−Ｈ１｜＞Ｔｈ４）否かを判定する。なお、第２実施形態での閾値Ｔｈ４は、例えば初期状態において「３０」に設定される。また、一例としてＴｈ４は１０−５０の範囲で変化するものとする。
【００９９】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ２１７に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２１８に処理が移行する。
【０１００】
ステップＳ２１７：制御部１３は、フラグＥＲＲ４の状態を「１」にする。その後、制御部１３は、Ｓ２１８に処理を移行させる。なお、Ｓ２１７の場合は、変化点の間隔が遠すぎることで正しい遅延調整が困難となる場合に相当する。
【０１０１】
ステップＳ２１８：制御部１３は、正規のデータ通信で適用する遅延量（遅延部１１での遅延段数の調整値ＮＡ）を決定する。Ｓ２１８での制御部１３は、Ｌ１とＨ１との差の絶対値を２で割って、調整値ＮＡを求める（ＮＡ＝｜Ｌ１−Ｈ１｜／２）。
【０１０２】
ステップＳ２１９：制御部１３は、セレクタ２３に対して、調整値ＮＡ（Ｓ２１８）のパス２２を選択する指示を出し、遅延部１１の遅延量を調整する。
【０１０３】
ステップＳ２２０：制御部１３は、調整値ＮＡを適用してテストデータを１０回分取り込む確認動作を行うとともに、確認動作で取り込んだ各々の信号値が１０回とも連続して同じであるか否かを判定する。
【０１０４】
上記要件を満たす場合（ＹＥＳ側）には、Ｓ２２２に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２２１に処理が移行する。
【０１０５】
ステップＳ２２１：制御部１３は、フラグＥＲＲ５の状態を「１」にする。なお、Ｓ２２１の場合は、確認動作（Ｓ２２０）において調整値ＮＡで取り込んだ信号値にばらつきが生じ、遅延調整が正しく行われていない場合に相当する。
【０１０６】
ステップＳ２２２：制御部１３は、フラグＥＥＲ１からフラグＥＲＲ５の状態が全て「０」であるか否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、Ｓ２２３に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ２２４に処理が移行する。
【０１０７】
ステップＳ２２３：制御部１３は、変数ＩＮＴＤ，閾値Ｔｈ１，Ｔｈ２，Ｔｈ３の値をそれぞれ１ずつ増加させるとともに、閾値Ｔｈ４の値を１減少させる。Ｓ２２３で変更された閾値Ｔｈ１，Ｔｈ２，Ｔｈ３，Ｔｈ４および変数ＩＮＴＤの各値は、制御部１３の制御によって記憶部１５に記録される。なお、Ｓ２２３での処理は、図３のＳ１１９の処理と共通するので重複説明は省略する。
【０１０８】
その後、ＣＰＵ３は、遅延調整処理を終了させる。なお、この場合には、正規のデータ通信における遅延量として、Ｓ２１９で設定された調整値ＮＡが適用される。
【０１０９】
ステップＳ２２４：制御部１３は、記憶部１５から遅延量の初期値ＩＮＩＤＡＴＡを読み出す。そして、制御部１３は、セレクタ２３に対して、ＩＮＩＤＡＴＡのパス２２を選択する指示を出し、遅延部１１の遅延量を再調整する。なお、Ｓ２２４での処理は、図３のＳ１２０の処理と共通するので重複説明は省略する。
【０１１０】
ステップＳ２２５：制御部１３は、フラグＥＥＲ１からフラグＥＲＲ５の状態に応じて閾値Ｔｈ１−Ｔｈ４および変数ＩＮＴＤの値を調整する。
【０１１１】
具体的には、フラグＥＥＲ１が「１」の場合、制御部１３は閾値Ｔｈ１の値を１減少させる。また、フラグＥＥＲ２が「１」の場合、制御部１３は閾値Ｔｈ２の値を１減少させる。また、フラグＥＥＲ３が「１」の場合、制御部１３は閾値Ｔｈ３の値を１減少させる。また、フラグＥＥＲ４が「１」の場合、制御部１３は閾値Ｔｈ４の値を１増加させる。また、フラグＥＥＲ５が「１」の場合、制御部１３は、閾値Ｔｈ１，Ｔｈ２，Ｔｈ３および変数ＩＮＴＤの値をそれぞれ１ずつ減少させるとともに、閾値Ｔｈ４の値を１増加させる。
【０１１２】
Ｓ２２５で調整された閾値Ｔｈ１−Ｔｈ４および変数ＩＮＴＤの値は、制御部１３の制御によって記憶部１５に記録される。その後、ＣＰＵ３は、遅延調整処理を終了させる。
【０１１３】
すなわち、遅延調整処理が正しく行われなかった場合には、制御部１３は、各フラグに対応付けされているパラメータ（Ｔｈ１−Ｔｈ４，ＩＮＴＤ）を調整し、きめの細かい遅延調整処理を実行する。以上で、図６、図７の流れ図の説明を終了する。
【０１１４】
上記の第２実施形態では、第１区間または第２区間の長さが閾値Ｔｈ１，Ｔｈ２未満の場合（Ｓ２１０，Ｓ２１２）や、第１区間と第２区間との変化点の間隔が閾値Ｔｈ３未満の場合（Ｓ２１４）や、第１区間と第２区間との変化点の間隔が閾値Ｔｈ４を超える場合（Ｓ２１６）には、制御部１３は、遅延量の初期値ＩＮＩＤＡＴＡを適用して遅延調整を行う（Ｓ２２４）。これにより、より妥当性の高い遅延調整を制御部１３が行うことができる。
【０１１５】
また、第２実施形態では、制御部１３は、調整値ＮＡを適用してテストデータを複数回取り込む確認動作を行う（Ｓ２２０）。そして制御部１３は、この確認動作で取り込んだ信号値がばらつく場合には遅延量の初期値ＩＮＩＤＡＴＡを適用して遅延調整を行う（Ｓ２２４）。これにより、より妥当性の高い遅延調整を制御部１３が行うことができる。
【０１１６】
また、第２実施形態では、遅延量の初期値ＩＮＩＤＡＴＡを適用しない場合、制御部１３は、次回の遅延調整処理に用いる変数ＩＮＴＤ，閾値Ｔｈ１，Ｔｈ２，Ｔｈ３の値をそれぞれ１ずつ増加させるとともに、閾値Ｔｈ４の値を１減少させる（Ｓ２２３）。一方、遅延量の初期値ＩＮＩＤＡＴＡを適用する場合、制御部１３は、フラグＥＥＲ１からフラグＥＲＲ５の状態に応じて閾値Ｔｈ１−Ｔｈ４および変数ＩＮＴＤの値を調整する（Ｓ２２５）。これにより、データ転送時の信号値の安定性に応じて、制御部１３は適切なパラメータで遅延調整処理を行うことができる。
【０１１７】
＜第３実施形態の説明＞
図８、図９は、第３実施形態におけるデータ転送装置での遅延調整処理の動作例を示す流れ図である。なお、第３実施形態でのデータ転送装置の構成は、図１に示す第１実施形態のものと共通するので重複説明は省略する。
【０１１８】
また、第３実施形態の動作例は上記の第２実施形態の変形例であって、図８、図９に示すＳ３０４−Ｓ３２３の各処理は、図６、図７に示すＳ２０２−Ｓ２２１の各処理にそれぞれ対応する。そのため、第３実施形態の説明では、第２実施形態と共通する処理（Ｓ３０４−Ｓ３２３）に関する重複説明はいずれも省略する。
【０１１９】
ステップＳ３０１：遅延調整部５は、ＣＰＵ３から遅延調整処理の指示（モード信号ｍｏｄｅ：１）を受け付けると初期化動作を実行する。
【０１２０】
Ｓ３０１において、制御部１３は、モニタする遅延段数を示す変数Ｎの値を「０」にリセットする（Ｎ＝０）。これにより、遅延部１１のセレクタ２３は、テストデータを最初に読み込むときには、先頭側のパス２２を選択することとなる。また、制御部１３は、それぞれ遅延調整処理でのエラーを示すフラグＥＲＲ１からフラグＥＲＲ５の状態をそれぞれ「０」にリセットする（ＥＲＲ１＝ＥＲＲ２＝ＥＲＲ３＝ＥＲＲ４＝ＥＲＲ５＝０）。
【０１２１】
ステップＳ３０２：遅延調整部５は、リセット条件に該当するか否かを判定する。リセット条件に該当する場合（ＹＥＳ側）はＳ３０３に処理が移行し、リセット条件に該当しない場合（ＮＯ側）はＳ３０４に処理が移行する。
【０１２２】
ここで、リセット条件とは、前回の調整時の状態と現在の状態とが大きく異なるか否かを判定する条件であり、一例として、前回調整を行った時の温度と現在の温度との温度差が所定値以上ある場合である。具体的には、前回調整時に記憶した温度Ｔ（後述のＳ３３１参照）と測定した現在の温度との差が所定値以上ある場合は、遅延調整部５がリセット条件に該当すると判定する。
【０１２３】
なお、リセット条件は、前回の調整時の状態と現在の状態とが大きく異なるか否かを判定可能であれば温度のみに限るものではない。例えば、前回調整を行った時の時間Ｔ（後述のＳ３３１参照）と現在の時間とを比較し所定時間以上経過している場合には、遅延調整部５は、リセット条件に該当すると判定してもよい。また、遅延調整部５は、これらの温度および時間による判定を組み合わせてリセット条件を判定しても良い。また、電源投入時は、前回の調整から時間が経過し状態が変化している可能性が高いため、本フローが電源投入に応じて実施されている場合は、遅延調整部５は、リセット条件に該当すると判定してもよい。また、電子カメラでの画像の取得枚数が所定枚数を超えるごとに、遅延調整部５はリセット条件に該当すると判定してもよい。
【０１２４】
ステップＳ３０３：遅延調整部５は、リセット条件に該当すると判定されると、ラッチされているフラグパラメータのラッチを解除するとともに、後述する前回の判定値ＥＲＲ１Ａ−ＥＲＲ５Ａを０にセットし、ステップＳ３０４へ移行する。
【０１２５】
ステップＳ３２４：制御部１３は、フラグＥＥＲ１からフラグＥＲＲ５の状態が全て「０」であるか否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、Ｓ３２８に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ３２５に処理が移行する。
【０１２６】
なお、Ｓ３２４で各フラグＥＲＲが全て「０」であると判定された場合は、正規のデータ通信における遅延量として、Ｓ３２１（第２実施形態のＳ２１９に対応）で設定された調整値ＮＡがそのまま適用される。
【０１２７】
ステップＳ３２５：制御部１３は、記憶部１５から遅延量の初期値ＩＮＩＤＡＴＡを読み出す。そして、制御部１３は、正規のデータ通信における遅延量として、よみだされた初期値ＩＮＩＤＡＴＡを設定する。この場合は、遅延調整処理が正しく行われない場合に相当し、遅延量の初期値を用いることで、より妥当性の高い遅延調整を制御部１３が行うことが可能となる。
【０１２８】
ステップＳ３２６：制御部１３は、前回の判定結果（後述のＳ３３１参照）と今回の判定結果とを照合し、フラグＥＥＲ１からフラグＥＲＲ５のうちで「０」から「１」に切り替わったフラグがあるか否かを判定する。なお、制御部１３は、フラグＥＲＲ１からフラグＥＲＲ５と、それぞれ対応する前回の判定値ＥＲＲ１Ａ〜ＥＲＲ５Ａ（後述のＳ３３１参照）と比較して判定する。上記要件を満たす場合（ＹＥＳ側）には、Ｓ３２７に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ３２８に処理が移行する。
【０１２９】
ステップＳ３２７：制御部１３は、「０」から「１」に切り替わったフラグに対応するパラメータがラッチされている場合はそのラッチを解除する。フラグの値が「０」から「１」に切り替わったときは、対応するパラメータが最適な状態でなくなったと推定され、再調整が必要になるからである。
【０１３０】
ステップＳ３２８：制御部１３は、前回の判定結果（後述のＳ３３１参照）と今回の判定結果とを照合し、フラグＥＥＲ１からフラグＥＲＲ５のうちで「１」から「０」に切り替わったフラグがあるか否かを判定する。上記要件を満たす場合（ＹＥＳ側）には、Ｓ３２９に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、Ｓ３３０に処理が移行する。
【０１３１】
ステップＳ３２９：制御部１３は、「１」から「０」に切り替わったフラグに対応するパラメータの値をラッチする。フラグの値が「１」から「０」に切り替わったときは、対応するパラメータが最適な状態にあると推定できるからである。
【０１３２】
なお、Ｓ３２９でラッチされた値は、その後にＳ３０３又はＳ３２７でラッチが解除されるまで、制御部１３の制御により記憶部１５に保持される。
【０１３３】
ステップＳ３３０：制御部１３は、ラッチされている値を除いて、フラグＥＥＲ１からフラグＥＲＲ５の状態に応じて閾値Ｔｈ１−Ｔｈ４および変数ＩＮＴＤの値を調整し、ステップＳ３３１へ移行する。具体的には、フラグＥＥＲ１が「１」の場合、制御部１３は閾値Ｔｈ１の値を１減少させ、フラグＥＥＲ１が「０」の場合、制御部１３は閾値Ｔｈ１の値を１増加させる。また、フラグＥＥＲ２が「１」の場合、制御部１３は閾値Ｔｈ２の値を１減少させ、フラグＥＥＲ２が「０」の場合、制御部１３は閾値Ｔｈ２の値を１増加させる。また、フラグＥＥＲ３が「１」の場合、制御部１３は閾値Ｔｈ３の値を１減少させ、フラグＥＥＲ３が「０」の場合、制御部１３は閾値Ｔｈ３の値を１増加させる。また、フラグＥＥＲ４が「１」の場合、制御部１３は閾値Ｔｈ４の値を１増加させ、フラグＥＥＲ４が「０」の場合、制御部１３は閾値Ｔｈ４の値を１減少させる。また、フラグＥＥＲ５が「１」の場合、制御部１３は、変数ＩＮＴＤの値を１減少させ、フラグＥＥＲ５が「０」の場合、制御部１３は、変数ＩＮＴＤの値を１増加させる。
【０１３４】
なお、Ｓ３３０で調整された閾値Ｔｈ１−Ｔｈ４および変数ＩＮＴＤの値は、制御部１３の制御によって記憶部１５に記録される。
【０１３５】
ステップＳ３３１：制御部１３は、現在のＥＲＲ１からＥＲＲ５の値をそれぞれＥＲＲ１ＡからＥＲＲ５Ａへ代入し、記憶部１５に記憶させる。また、制御部１３は、検出した現在の温度をＴへ代入し、検出した現在の時刻情報をＤへ代入し、これらの値を記憶部１５に記憶させる。その後、制御部１３は遅延調整処理を終了する。
【０１３６】
なお、Ｓ３３１の処理で記憶された値（ＥＲＲ１Ａ−ＥＲＲ５Ａ、Ｔ、Ｄ）は、次回の調整処理において、上述のＳ３０２、Ｓ３２６、Ｓ３２８の判定で前回の値として利用される。以上で、図８、図９の流れ図の説明を終了する。
【０１３７】
第３実施形態での制御部１３は、各フラグＥＲＲが「０」である場合、次回の判定で第１区間および第２区間の安定性や、第１区間と第２区間との変化点の間隔をより高い基準でそれぞれ判定するようにパラメータを調整する。また、制御部１３は、各フラグＥＲＲが「１」である場合、次回の判定で第１区間および第２区間の安定性や、第１区間と第２区間との変化点の間隔の基準を緩めて判定するようにパラメータを調整する。
【０１３８】
そして、上記の調整を繰り返すうちにいずれかのフラグが「１」から「０」に変化する場合、制御部１３は、そのフラグに対応するパラメータの値が最適となったとみなしてラッチすることで最適なパラメータを設定していく。
【０１３９】
一方、上記の調整を繰り返すうちにいずれかのフラグが「０」から「１」に変化する場合、制御部１３は、そのフラグに対応するパラメータの値が最適な値から外れたとみなす。このとき、制御部１３は、当該パラメータがラッチされている場合にはそのラッチを解除することで適宜最適なパラメータに再調整することが可能となる。
【０１４０】
＜実施形態の補足事項＞
（１）本発明のデータ転送装置は、例えば、電子カメラの撮像素子と信号処理回路とのデータ転送や、電子カメラ内の２つの信号処理回路間でのデータ転送などに広く適用できる。また、本発明のデータ転送装置は、カメラに限定されず、他の電子機器に組み込まれるディジタル処理回路にも適用できる。
【０１４１】
（２）上記実施形態では、複数チャネルでのシリアル転送を行うデータ転送装置の例を説明した。しかし、本発明のデータ転送装置はこれに限定されることなく、１つのチャネルでシリアル転送を行うデータ転送装置に適用してもよい。
【０１４２】
（３）上記実施形態では、画像信号の転送方式をシリアル方式としたが、本発明に係るデータ転送装置はパラレル方式のデータ転送の場合にも適用できる。
【０１４３】
（４）上記実施形態において、ＣＰＵ３に温度センサ（不図示）を接続し、温度センサが測定する温度（または温度の変化量）が所定値より大きくなったときに、ＣＰＵ３が遅延調整処理を実行するようにしてもよい。この場合には、撮影環境等の変化による遅延誤差を吸収することができ、データ転送装置の信頼性をさらに向上させることができる。
【０１４４】
（５）上記の各実施形態でのパラメータの調整量は適宜変更してもよい。また、本発明では、上記の各パラメータの一部を固定値としてもよい。
【０１４５】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【０１４６】
１…送信部、２…受信部、３…ＣＰＵ、４…テストデータ出力部、５…遅延調整部、６…信号処理部、１１…遅延部、１２…取込部、１３…制御部、１４…判定部、１５…記憶部
【図１】
2010198590.tif 000003
【図２】
2010198590.tif 000004
【図３】
2010198590.tif 000005
【図４】
2010198590.tif 000006
【図５】
2010198590.tif 000007
【図６】
2010198590.tif 000008
【図７】
2010198590.tif 000009
【図８】
2010198590.tif 000010
【図９】
2010198590.tif 000011