(57)【要約】【課題】遅延量が変化する使用条件でもアクセスの信頼性を確保する。【解決手段】記録再生装置であって、記録媒体に対してクロック信号を出力する出力手段と、記録媒体に命令を送信すると共に、クロック信号を遅延させることにより得られたタイミング信号に応じて、記録媒体から送信されたデータを受信する通信手段と、所定のデータ列を有するデータの出力命令を、記録媒体に対して送信するように通信手段を制御する制御手段とを有する記録再生装置であって、制御手段は、第１の範囲における複数の遅延量の中からクロック信号を遅延させる設定遅延量を決定する第１の決定処理を実行し、制御手段は、設定遅延量を再決定する第２の決定処理を第１の決定処理の後に実行することを特徴とする記録再生装置。【選択図】図１
2015118571.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に対してクロック信号を出力する出力手段と、
前記記録媒体に命令を送信すると共に、前記クロック信号を遅延させることにより得られたタイミング信号に応じて、前記記録媒体から送信されたデータを受信する通信手段と、
所定のデータ列を有するデータの出力命令を、前記記録媒体に対して送信するように前記通信手段を制御する制御手段とを有し、
前記制御手段は、前記出力命令に応じて前記記録媒体から送信されたデータを、前記クロック信号を第１の範囲に属する複数の遅延量のそれぞれにより遅延させて得られた各タイミング信号に応じて前記通信手段が受信した各受信データが前記所定のデータ列を有しているか否かに基づき、前記第１の範囲における複数の遅延量の中から前記クロック信号を遅延させる設定遅延量を決定する第１の決定処理を実行し、
前記制御手段は、前記出力命令に応じて前記記録媒体から送信されたデータを、前記設定遅延量を含む前記第１の範囲よりも狭い第２の範囲に属する複数の遅延量のそれぞれにより遅延させて得られた各タイミング信号に応じて前記通信手段が受信した受信データが前記所定のデータ列を有しているか否かに基づき、前記設定遅延量を再決定する第２の決定処理を前記第１の決定処理の後に実行することを特徴とする記録再生装置。
【請求項２】
前記第２の範囲は、前記記録媒体からデータを送信する場合のデータ無効期間よりも大きく設定されることを特徴とする請求項１に記載の記録再生装置。
【請求項３】
前記制御手段は、前記第１の決定処理において、前記所定のデータ列を有していると判定された受信データに対応する前記第１の範囲に属する遅延量の群の内から中央値を決定し、該中央値を前記設定遅延量に決定することを特徴とする請求項１または２に記載の記録再生装置。
【請求項４】
前記制御手段は、前記第２の決定処理において、前記所定のデータ列を有していると判定された受信データに対応する前記第２の範囲に属する遅延量に基づき、前記クロックに対する前記記録媒体から送信されたデータのずれ量を決定し、該ずれ量に基づき前記設定遅延量を修正することにより前記再決定を行うことを特徴とする請求項３に記載の記録再生装置。
【請求項５】
前記制御手段は、
前記第１の決定処理を前記記録媒体が前記記録再生装置にマウントされた際に実行し、
前記第２の決定処理を前記マウントの後の任意のタイミングで実行する
ことを特徴とする請求項１乃至４のいずれか１項に記載の記録再生装置。
【請求項６】
被写体を撮像して画像データを生成する画像生成手段を更に備え、
前記制御手段は、前記第２の決定処理を前記画像生成手段が前記画像データを生成している間に実行することをさらに特徴とする請求項５に記載の記録再生装置。
【請求項７】
前記制御手段は、前記生成された画像データが前記記録媒体に送信されるのに先立って前記第２の決定処理を実行することをさらに特徴とする請求項６に記載の記録再生装置。
【請求項８】
前記撮像を指示する指示手段を更に備え、
前記指示の度に前記撮像が行われる場合、前記制御手段は前記指示に応じて前記第１の決定処理を実行することをさらに特徴とする請求項６または７に記載の記録再生装置。
【請求項９】
前記指示に応じて複数回の撮像が行われる場合、前記制御手段は前記指示に応じて前記第２の決定処理を実行することをさらに特徴とする請求項８に記載の記録再生装置。
【請求項１０】
前記制御手段は、前記指示に応じて行われる複数回の撮像のうち、最初の撮像に応じて前記第２の決定処理を実行することをさらに特徴とする請求項９に記載の記録再生装置。
【請求項１１】
前記制御手段は、前記記録再生装置が、電源供給が停止された状態から復帰する場合に、前記第１の決定処理を実行することを特徴とする請求項１乃至１０のいずれか１項に記載の記録再生装置。
【請求項１２】
前記制御手段は、前記記録再生装置が、消費電力が制限された省電力状態から復帰する場合に、前記第２の決定処理を実行することを特徴とする請求項１乃至１１のいずれか１項に記載の記録再生装置。
【請求項１３】
記録媒体に対してクロック信号を出力する出力手段と、
前記記録媒体に命令を送信すると共に、前記クロック信号を遅延させることにより得られたタイミング信号に応じて、前記記録媒体から送信されたデータを受信する通信手段と、
所定のデータ列を有するデータの出力命令を、前記記録媒体に対して送信するように前記通信手段を制御する制御手段と
を有する記録再生装置の制御方法であって、
前記制御手段が、前記出力命令に応じて前記記録媒体から送信されたデータを、前記クロック信号を第１の範囲に属する複数の遅延量のそれぞれにより遅延させて得られた各タイミング信号に応じて前記通信手段が受信した各受信データが前記所定のデータ列を有しているか否かに基づき、前記第１の範囲における複数の遅延量の中から前記クロック信号を遅延させる設定遅延量を決定する第１の決定処理を実行する工程と、
前記制御手段が、前記出力命令に応じて前記記録媒体から送信されたデータを、前記設定遅延量を含む前記第１の範囲よりも狭い第２の範囲に属する複数の遅延量のそれぞれにより遅延させて得られた各タイミング信号に応じて前記通信手段が受信した受信データが前記所定のデータ列を有しているか否かに基づき、前記設定遅延量を再決定する第２の決定処理を前記第１の決定処理の後に実行する工程と
を備えることを特徴とする記録再生装置の制御方法。
【請求項１４】
コンピュータを請求項１乃至１２のいずれか１項に記載の記録再生装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録再生装置及び制御方法等に関し、特に記録媒体に対するデータ書き込み／読み出しに係るタイミング制御技術に関する。
【背景技術】
【０００２】
従来、ＳＤカード等のメモリカードに対してデータの読み出しを行う場合、ホストからカードに与えられるクロックに対する、カードからのデータ送信の遅延量は規格化された固定値であった。したがって、ホスト側はクロック送信に対して規定量の遅延タイミングによってデータラッチを行うことにより、カードアクセスを問題なく行うことが出来た。
【０００３】
しかし近年、メモリカードのアクセス速度向上に伴うクロックの高速化により、前述の遅延量は固定値では規定できなくなっている。このためＳＤメモリカードの高速規格であるＵＨＳ−Ｉ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｓｐｅｅｄ−１）においては、所定の周波数のクロックを使用する場合にデータラッチのタイミング調整が必要であることが規定されている。このラッチタイミングの調整作業はチューニングと呼ばれる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１３４００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、データをラッチするためのクロックの遅延量はカードの温度など外的要因によって変動する。そのため、連続してデータをカードに書き込む際など、長時間にわたりカードアクセスを繰り返している場合、カードの温度の変化に伴って遅延量が変化し、データの読み書きが失敗してしまう可能性がある。このような場合、再度チューニング処理を行うことも考えられるが、チューニング中はカードに対してデータの読み書きができないため、必要以上のチューニングは転送速度の低下につながる。
【０００６】
本発明は以上の点を鑑みてなされたものであり、遅延量が変化する使用条件でも、記録媒体へのデータの転送速度の低下を防ぐと共にアクセスの信頼性を確保することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明は、記録再生装置であって、
記録媒体に対してクロック信号を出力する出力手段と、
前記記録媒体に命令を送信すると共に、前記クロック信号を遅延させることにより得られたタイミング信号に応じて、前記記録媒体から送信されたデータを受信する通信手段と、
所定のデータ列を有するデータの出力命令を、前記記録媒体に対して送信するように前記通信手段を制御する制御手段と
を有し、
前記制御手段は、前記出力命令に応じて前記記録媒体から送信されたデータを、前記クロック信号を第１の範囲に属する複数の遅延量のそれぞれにより遅延させて得られた各タイミング信号に応じて前記通信手段が受信した各受信データが前記所定のデータ列を有しているか否かに基づき、前記第１の範囲における複数の遅延量の中から前記クロック信号を遅延させる設定遅延量を決定する第１の決定処理を実行し、
前記制御手段は、前記出力命令に応じて前記記録媒体から送信されたデータを、前記設定遅延量を含む前記第１の範囲よりも狭い第２の範囲に属する複数の遅延量のそれぞれにより遅延させて得られた各タイミング信号に応じて前記通信手段が受信した受信データが前記所定のデータ列を有しているか否かに基づき、前記設定遅延量を再決定する第２の決定処理を前記第１の決定処理の後に実行する。
【発明の効果】
【０００８】
本発明によれば、遅延量が変化する使用条件でも記録媒体へのデータの転送速度の低下を防ぐと共にアクセスの信頼性を確保することができる。
【図面の簡単な説明】
【０００９】
【図１】発明の実施形態に対応するデジタルカメラ１００の機能構成の一例を示すブロック図。
【図２】発明の実施形態に対応するメモリカードコントローラ１１３及びチューニング回路１１４の内部構成の一例を示すブロック図。
【図３】発明の実施形態に対応するデジタルカメラ１００で実行される全調査チューニングの動作を説明するための図。
【図４】発明の実施形態に対応するデジタルカメラ１００で実行される全調査チューニングの処理の一例を示すフローチャート。
【図５】発明の実施形態に対応するデジタルカメラ１００で実行される部分調査チューニングの処理の一例を示すフローチャート。
【図６】発明の実施形態に対応するデジタルカメラ１００で実行されるチューニング動作を対比説明するための図。
【発明を実施するための形態】
【００１０】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する実施形態では、記録再生装置の一例としての、接続されたメモリカードに対してデータの書き込み／読み出しが可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、記録媒体に対するデータの書き込み／読み出しが可能な任意の機器（ホスト装置）に適用可能であり、デジタルカメラに限定されず、例えば、パソコン、携帯電話、スマートフォン、ＰＤＡ、デジタルビデオカメラ等も含まれる。
【００１１】
図１は、本実施形態のデジタルカメラの構成例を示すブロック図である。メインマイコン１１８は、例えばＣＰＵである。メインマイコン１１８は、デジタルカメラ１００が有する各ブロックの動作を制御する。具体的にはメインマイコン１１８は、ＲＯＭ１１９に記憶された、各ブロックに対して後述の各種シーケンスを実行させるためのプログラムを読み出し、ＳＤＲＡＭ１１６に展開して実行することにより各ブロックの動作を制御する。またメインマイコン１１８は、後述の液晶ドライバ１１２を制御することで液晶パネル１１１の表示制御も行う。
【００１２】
ＲＯＭ１１９は、例えば電気的にデータの消去・記録が可能な不揮発性メモリである。ＲＯＭ１１９は、デジタルカメラ１００が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となる定数等の情報を記憶する。
【００１３】
撮影レンズ１０１は、被写体像をとらえ、絞り１０２によって光量を所定量に制限した後、撮像素子１０３上に被写体像を結像させる。撮像素子１０３は例えばＣＣＤやＣＭＯＳセンサであり、撮像面に結像された被写体像を光電変換し、アナログ画像信号を出力する。撮影レンズ１０１により結像される被写体像の光量は、メインマイコン１１８による絞り１０２の開口量制御により制限される。撮像素子１０３により出力されたアナログ画像信号は、Ａ／Ｄ変換器１０４によりＡ／Ｄ変換処理が適用されることで、デジタルの画像データに変換される。得られた画像データは、画像処理部１０５においてガンマ補正、ホワイトバランス補正、ノイズリダクションに係る処理が適用された後、フレームメモリ１０６に非圧縮画像データとして格納される。このような撮影レンズ１０１、絞り１０２、撮像素子１０３、Ａ／Ｄ変換器１０４、画像処理部１０５、及びフレームメモリ１０６により、本実施形態のデジタルカメラ１００の画像生成部（撮像部）１０が構成される。
【００１４】
以下の実施形態では記録媒体であるメモリカード１１５に画像生成部で生成された画像データを書き込む場合、或いは、書き込まれた画像データをメモリカード１１５から読み出す場合について説明する。しかし、本発明が適用可能な対象は画像データに限定されるものではなく、音声データ或いは、動画像データと音声データとを含むマルチメディアデータであってもよい。これらの種類のデータを総称して情報データと呼ぶことができる。本発明の実施形態としての記録再生装置は、情報データを生成するために、画像生成部１０に追加してマイク、Ａ／Ｄ変換器、音声処理部を含む音声生成部を更に備えることができる。
【００１５】
ＪＰＥＧ符号化部１０８は、本実施形態のデジタルカメラ１００が静止画像を記録する際の符号化形式（ＪＰＥＧ形式）に従って、非圧縮画像データを圧縮符号化し、ＪＰＥＧ静止画像データを生成する。またＭＰＥＧ符号化部１０９は、本実施形態のデジタルカメラ１００が動画像を記録する際の動画符号化形式（ＭＰＥＧ形式）に従って、非圧縮画像データをフレームとして圧縮符号化し、ＭＰＥＧ動画像データを生成する。ＪＰＥＧ符号化部１０８及びＭＰＥＧ符号化部１０９により生成された各種データは、データバス１０７を介してＳＤＲＡＭ１１６に一時的に書き込まれる。ＳＤＲＡＭ１１６は、揮発性メモリである。ＳＤＲＡＭ１１６には、ＪＰＥＧ符号化部１０８及びＭＰＥＧ符号化部１０９により生成されたデータに加え、液晶パネル１１１への表示用に変換された画像データが格納される。またＳＤＲＡＭ１１６は、メモリカード１１５へのデータ書き込みにおいて、書き込み状況に応じたデータ読み出し、及びメモリカード１１５との間の記録速度の調停を行うためのバッファメモリ空間として利用される。またＳＤＲＡＭ１１６は、撮影された画像から再生時のインデックス表示で使用するサムネイル画像を生成する画素数変換回路１１０の作業メモリ空間の提供も行う。
【００１６】
液晶パネル１１１は、例えばＬＣＤ等のデジタルカメラ１００が有する表示装置である。上述したように、液晶パネル１１１の表示制御はメインマイコン１１８により行われる。具体的にはメインマイコン１１８からの命令を受けた液晶ドライバ１１２が、ＳＤＲＡＭ１１６に格納されている表示用の画像データを液晶表示信号に変換して液晶パネル１１１に出力することで、表示制御が行われる。また液晶パネル１１１は、画素数変換回路１１０により液晶パネル１１１の表示画素数に変更された非圧縮画像データが液晶表示信号に変換されて入力されることで、電子ビューファインダとして機能する（スルー表示）。
【００１７】
メモリカード１１５は、デジタルカメラ１００に着脱可能に接続されることで、データの書き込み／読み出しが可能な記録媒体である。本実施形態ではメモリカード１１５は、ＮＡＮＤ型フラッシュメモリで構成されているメモリカードであり、ＰＣ互換性を持つＦＡＴ（File Allocation Table）ファイルシステムに準拠したフォーマットでデータの管理がなされる。メモリカード１１５は、不図示のカードスロットを介してデジタルカメラ１００に接続される。カードスロットは、カード検出スイッチを有していてもよく、カードスロットにメモリカード１１５が装着されたことを検出すると、検出信号をメインマイコン１１８に出力することができる。
【００１８】
メモリカード１１５へのデータの書き込み、及びメモリカード１１５からのデータの読み出し等の通信は、メモリカードコントローラ１１３により行われる。メモリカードコントローラ１１３は、データの書き込み時はＳＤＲＡＭ１１６から記録用のデータを読み出し、メモリカード１１５への書き込みを行う。またメモリカードコントローラ１１３は、データの読み出し時はメモリカード１１５からデータを読み出し、ＳＤＲＡＭ１１６に格納する。
【００１９】
チューニング回路１１４は、メモリカードコントローラ１１３と連携して動作し、メモリカード１１５に対するコマンド発行時のコマンドレスポンス受信および、データ受信の際の、カードクロックを基準とした受信タイミングを調整する。
【００２０】
操作入力部１１７は、ユーザからの各種操作を受け付ける各種スイッチ等のユーザインタフェースである。操作入力部１１７は、静止画の撮影操作を行うシャッターボタンや、動画の撮影開始および撮影停止を指示するトリガーボタン、カメラ撮影モードと再生モードを切り替えるモードスイッチを含む。操作入力部１１７は、デジタルカメラ１００に設けられた各種操作キーがユーザによって操作されると、該操作に応じた信号を受信し、操作に対応する制御信号をメインマイコン１１８に出力する。
【００２１】
次に、本実施形態のメモリカードコントローラ１１３及びチューニング回路１１４の詳細構成について説明する。図２は、図１におけるメモリカードコントローラ１１３およびチューニング回路１１４の機能構成の一例を示すブロック図である。図２において、点線枠１１３は、メモリカードコントローラ１１３を示し、点線枠１１４は、チューニング回路１１４を示している。また、メモリカード１１５、ＳＤＲＡＭ１１６、メインマイコン１１８もそれぞれ、図１の同一ブロックを示している。
【００２２】
まず、メモリカードコントローラ１１３の詳細構成について説明する。メモリカードコントローラ１１３はメモリカード１１５へのデータの書き込み及び読み出しにおいて、ＣＬＫライン、ＣＭＤライン、及びＤＡＴラインを介して信号及びデータの送受信を行う。
【００２３】
ホストコントローラ２０１は、データの読み書きに係るコマンド信号の出力、及びメモリカード１１５からのコマンドに対するレスポンス信号の受信を、ＣＭＤラインを介して行う。またホストコントローラ２０１は、メモリカード１１５に書き込むデータ、あるいはメモリカード１１５から読み出したデータを、ＤＡＴラインを介して送受信する制御を行う。具体的に、ホストコントローラ２０１はメインマイコン１１８からの指示により、メモリカード１１５の動作を制御するコマンドを発行すると共に、メモリカード１１５からのコマンドレスポンスを受信する。
【００２４】
データ送出部２０２は、ＳＤＲＡＭ１１６からの記録用のデータ（ＪＰＥＧ静止画像データやＭＰＥＧ動画像データ）をメモリカード１１５に送出する。データ取込部２０３は、後述するチューニング動作時にメモリカード１１５からのテストデータを受信すると共に、メモリカード１１５に記録されているデータを受信し、受信データをスイッチ２１５ｂに出力する。
【００２５】
クロック発生部２０４は、読み書きのタイミング制御に利用され、クロックパルスで構成されたクロック信号（ＣＬＫ信号）をＣＬＫラインを介して出力する。クロック信号は、メモリカード１１５に対してホスト（デジタルカメラ１００）からカードへのデータ書き込み、および、カードからホストへのデータ読み出しのデータタイミングを与える。それと同時にホストコントローラ２０１に対してデータ送出および受信のタイミングを与える。
【００２６】
送信側Ｄ−フリップフロップ２０５は、ホストコントローラ２０１やデータ送出部２０２から出力されたデータをラッチして、クロック発生部２０４からのクロック信号のタイミングと同期させてメモリカード１１５へ送出する。受信側Ｄ−フリップフロップ２０６は、後述の遅延素子２０７からのタイミング信号に従ってメモリカード１１５からデータをラッチする。遅延素子２０７は、メモリカード１１５からのデータ読出時に、クロック発生部２０４からのクロック信号の位相をメインマイコン１１８からの制御に従って遅延させ、メモリカード１１５から出力されたデータをラッチするタイミング信号を生成する。なお、コマンドの入出力、及び、データの送受信に応じたＣＭＤラインとＤＡＴラインとの間の切り替えは、ホストコントローラ２０１の制御に従って信号分岐部２０８が行う。
【００２７】
次にチューニング回路１１４の詳細構成について説明する。チューニング回路１１４は、メモリカードから受信したテストデータの受信結果に応じて遅延素子２０７における遅延量を決定する決定処理を実行するための回路である。
【００２８】
受信結果テーブル（大）２０９は、後述する図４のフローチャートで説明する、全調査チューニングで作成される受信可否の結果を示す第１のテーブルである。受信結果テーブル（小）２１０は、後述する図５のフローチャートで説明する、部分調査チューニングで作成される受信可否の結果を示す第２のテーブルである。全範囲スキャン部２１１は、後述する図４のフローチャートの動作における、遅延段数の最小値および最大値を定義するとともに、全調査チューニング動作時に遅延ステップ数を変化させる。部分範囲スキャン部２１２は、後述する図５のフローチャートの動作における、遅延段数の最小値および最大値を定義するとともに、部分調査チューニング動作時に遅延ステップ数を変化させる。
【００２９】
最適位相算出部２１３は、受信結果テーブル（大）２０９または受信結果テーブル（小）２１０から、メモリカード１１５からのデータまたはコマンドを受信時に使用する遅延段数の最適値を算出する。チューニング切り替えスイッチ２１４は、実行するチューニング種類に応じた信号経路を選択するためのスイッチである。当該スイッチ２１４は、全調査チューニング時はＡ側およびＡ'側に連動して接続し、また部分調査チューニング時はＢ側およびＢ'側に連動して接続する。カード動作切り替えスイッチ２１５ａおよび２１５ｂは、メモリカード１１５の動作状態に応じて信号経路を選択するためのスイッチである。当該スイッチ２１５ａ及び２１５ｂは、メモリカード１１５のデータアクセス時はａ側およびａ'側に連動して接続し、またチューニング実行時はｂ側およびｂ'側に連動して接続する。遅延量設定部２１６は、遅延段数を設定遅延量として遅延素子２０７に設定する。
【００３０】
次に、以上の構成を有する本実施形態のデジタルカメラでのチューニング処理の概要を説明する。メモリカードコントローラ１１３がメモリカード１１５にテストデータの出力命令としての「テストデータ送信コマンド」を送信すると、メモリカード１１５は、クロック発生部２０４からのクロック信号に同期して、所定パターンの６４バイトのデータ列を送信する。そこでメモリカードコントローラ１１３は、クロック発生部２０４から供給されるラッチタイミング信号に従ってデータ列を受信する。なお、ラッチタイミング信号は、遅延素子２０７に設定される遅延段数の値を変化させることで、クロック信号（ＣＬＫ）との位相関係を変化させることができる。
【００３１】
本実施形態では、遅延素子２０７における１段当たりの遅延量を、クロック信号の１周期よりも短い所定の時間とする。例えば、本実施形態では、遅延素子２０７における１段当たりの遅延量は、メモリカード１１５からのレスポンスデータが、ハイレベル（論理１）とローレベル（論理０）の間での反転に要する期間（反転期間）に基づいて決められる。本実施形態では、遅延素子２０７における１段当たりの遅延量が、反転期間の約１／２となるように決定されるが、これより短い期間とすることも可能である。前述のように、各遅延素子の遅延量は、温度特性等により変動することがある。また、反転期間の長さは、メモリカード１１５に対するデータの書き込み、読み出しのための規格等により規定される。本実施形態では、図３に示すように、カードクロックの１周期分より大きいタイミング幅をカバーするように、遅延素子２０７の遅延段数が設定されることができる。
【００３２】
以下、上述のような構成を有する本実施形態のデジタルカメラ１００において実行される遅延段数の調整処理である全調査チューニング処理について図４のフローチャートを用いて詳細を説明する。なお、本チューニング処理の実行中は、記録処理の開始指示がなされたとしても、メインマイコン１１８は記録処理を実行しなくてもよい。また、全調査チューニング処理では、メインマイコン１１８がメモリカードコントローラ１１３及びチューニング回路１１４を制御することにより、各ブロックが対応する処理を実行する。このため、メインマイコン１１８は、メモリカードコントローラ１１３及びチューニング回路１１４における処理において取得されたデータ等を参照可能であるものとして説明する。
【００３３】
メインマイコン１１８には上位層プログラムとドライバプログラムが格納されている。上位層プログラムはカードマウント実行の指示、動画記録の開始、動画記録中のカード書き込み実行、動画記録の終了、静止画撮影時のカード書き込み実行、再生時のカード読み出しの指示等をドライバプログラムに対して行う。また、ドライバプログラムは上記指示を受けて、ホストコントローラ２０１を通じてメモリカード１１５に対してコマンドを発行してその動作を制御する。
【００３４】
まず、上位層プログラムによって全調査チューニング動作が指示されると、以降はドライバプログラムでの制御となる。メインマイコン１１８は、メモリカードコントローラ１１３のクロック発生部２０４にクロック信号の送信を開始させる。またＳ４０１にて、メインマイコン１１８はチューニング切り替えスイッチ２１４をＡ側およびＡ'側に接続する。続くＳ４０２にて、メインマイコン１１８はカード動作切り替えスイッチ２１５ａをｂ側、カード動作切り替えスイッチ２１５ｂをｂ'側にそれぞれ接続する。続くＳ４０３にて、メインマイコン１１８は、ＳＤＲＡＭ１１６内に保持されていたチューニング済みフラグをクリアする。更に、Ｓ４０４にて、メインマイコン１１８は、全範囲スキャン部２１１を介して遅延素子２０７におけるクロック信号の遅延段数を初期化（「１」に設定）する。
【００３５】
Ｓ４０５にて、ホストコントローラ２０１はメモリカード１１５にテストデータを送信させるためのテストデータ送信コマンドを、メモリカード１１５に対して発行し、ＣＭＤラインを介して送信する。テストデータは、予め定められた所定パターンの６４バイトのデータ列であり、メモリカード１１５は受信しているクロック信号に同期して該データ列を送信するものとする。次にＳ４０７にて、メインマイコン１１８は、ホストコントローラ２０１経由でメモリカード１１５から６４バイトのテストデータを受信する。その際、フリップフロップ２０６は、遅延素子２０７により供給されるタイミング信号に応じてメモリカード１１５からＤＡＴラインを介して受信したデータをラッチし、ホストコントローラ２０１へ供給する。遅延素子２０７により供給されるタイミング信号は、現在設定されている遅延段数に従って遅延素子２０７がクロック信号を遅延させることで生成される。受信データはＳＤＲＡＭ１１６に格納される。
【００３６】
続くＳ４０７にて、メインマイコン１１８は、ＳＤＲＡＭ１１６に格納したデータ列（メモリカード１１５が送信したテストデータ列をフリップフロップ２０６がラッチすることにより得られたパターン）が、テストデータの所定パターンと一致するか否かを判断する。メインマイコン１１８は、受信したデータ列の６４バイト全てが所定パターンと一致すると判断した場合は処理をＳ４０８に移し、受信したデータ列の少なくとも一部が所定パターンと一致しないと判断した場合は処理をＳ４０９に移す。Ｓ４０８では、メインマイコン１１８は、受信結果テーブル（大）２０９に、現在の遅延段数に関連付けて受信成功の情報を記録する。受信結果テーブル（大）２０９の一例は図３に示す通りである。当該受信結果テーブル（大）２０９は、遅延段数とテストデータの受信可否の関係を示すテーブルであり、図中の○は受信成功、×は受信失敗を示す。一方、Ｓ４０９では、現在の遅延段数に関連付けて受信失敗の情報を受信結果テーブル（大）２０９に記録する。
【００３７】
その後Ｓ４１０にて、メインマイコン１１８は、遅延素子２０７に設定した遅延段数が最大遅延段数であるか否かを判断する。遅延素子２０７に設定した遅延段数が最大遅延段数ではない場合、Ｓ４１１で、メインマイコン１１８からの指示に従い全範囲スキャン部２１１が１つ上の遅延段数を遅延量設定部２１６を介して遅延素子２０７に設定し、処理をＳ４０５に戻す。またメインマイコン１１８は、遅延素子２０７に設定した遅延段数が最大遅延段数であると判断した場合、受信結果テーブル（大）２０９が完成したことになるので処理をＳ４１２に移す。
【００３８】
Ｓ４１２では、メインマイコン１１８からの指示に従い最適位相算出部２１３が受信結果テーブル（大）２０９を参照して、メモリカード１１５へのアクセス時に遅延素子２０７に設定すべき最適遅延段数を決定する。決定された最適遅延段数は、設定遅延量として後で遅延素子２０７に設定される。具体的に、以上の処理により、遅延素子２０７におけるクロック信号の遅延量が全範囲スキャン部により段階的に設定される。そして、各遅延量における受信結果に基づき例えば図３に示されるような受信結果テーブル（大）２０９が得られる。よって、最適位相算出部２１３は、Ｓ４１２において受信成功した遅延段数の群（範囲）における中心値を最適遅延段数に決定できる。図３の例では、受信成功した遅延段数（位相）の群（グループ）のうち、該グループにおける中央値である１４１が最適遅延段数として決定される。
【００３９】
その後、Ｓ４１３にて、メインマイコン１１８は最適段数が算出されたことを示す、チューニング済フラグをＳＤＲＡＭ１１６内にセットする。続くＳ４１４にて、メインマイコン１１８はカード動作切り替えスイッチ２１５をａ側およびａ'側に接続する。これにより、最適位相算出部２１３が算出した最適段数が遅延量設定部２１６に供給され、遅延素子２０７に対して最適段数を設定することができる。また、メモリカード１１５から読み出されたデータは、データ取込部２０３からＳＤＲＡＭ１１６に出力される。以上により、一連の処理を終了する。
【００４０】
次に、本実施形態のデジタルカメラ１００において実行される部分調査チューニング処理について図５のフローチャートを用いて詳細を説明する。部分調査チューニングでは、全調査チューニングにおいて決定された最適段数を中心とする所定の調査範囲について再度のチューニングを行い、クロックとデータとのずれに応じた最適段数を再設定する。なお、部分調査チューニングにおける当該調査範囲は、設計時に規定されるデータ遷移期間（データ無効期間）をカバーするように、換言すると該期間よりも大きな範囲となるように設定する。
【００４１】
メインマイコン１１８の上位層プログラムによって部分調査チューニング動作が指示されると、以降はドライバプログラムでの制御となる。Ｓ５０１にて、メインマイコン１１８はチューニング切り替えスイッチをＢ側およびＢ'側に接続する。続くＳ５０２にて、メインマイコン１１８はカード動作切り替えスイッチ２１５をｂ側およびｂ'側に接続する。次に、Ｓ５０３にて、メインマイコン１１８はＳＤＲＡＭ１１６内のチューニング済フラグの値を参照し、フラグがセットされているかを判定する。フラグがセットされていればＳ５０４の処理に移行する。一方、フラグがセットされていなければ、前回チューニング時の最適段数が不明なので、Ｓ５０５にて、エラー終了となる。なおこの場合、上位層プログラムからの指示により、全調査チューニングを実施する。Ｓ５０３にてチューニング済フラグがセットされていることが確認された後は、Ｓ５０４にてメインマイコン１１８はチューニング済みフラグをクリアする。
【００４２】
続くＳ５０６にて、メインマイコン１１８は全調査チューニングで算出された最適段数を、ＳＤＲＡＭ１１６から取得する。次に、Ｓ５０７にてメインマイコン１１８は部分調査チューニングで調査する、遅延段数の範囲を算出する。例えばＳＤＲＡＭ１１６から取得した最適段数が１４１である場合、１４１を中心とした前後の所定段数を調査範囲として設定できる。所定段数は、例えば５０段として合計１０１段でデータ遷移期間をカバーし、９１〜１９１段の調査範囲で受信可否の調査を行うことができる。その後、Ｓ５０８にて、メインマイコン１１８からの指示に従い部分範囲スキャン部２１２は遅延量設定部２１６の遅延段数を調査範囲の下限段数に設定する。上述の例では、「９１」に設定できる。
【００４３】
続くＳ５０９からＳ５１１までの処理は、Ｓ４０５からＳ４０７までの処理と同様である。Ｓ５１１にて、受信テストデータが所定パターンデータと一致している場合、メインマイコン１１８は、Ｓ５１２にて受信結果テーブル（小）２１０に、現在の遅延段数に関連付けて受信成功の情報を記録する。一方、一致しない場合Ｓ５１３にて、メインマイコン１１８は現在の遅延段数に関連付けて受信失敗の情報を受信結果テーブル（小）２１０に記録する。なお、受信結果テーブル（小）２１０は、遅延段数の調査範囲のみのテストデータの受信結果を記録したテーブルであって、当該テーブルはＳＤＲＡＭ１１６に格納される。その後Ｓ５１４にて、メインマイコン１１８は遅延段数が調査範囲の上限段数に到達したかを判定する。上記の例では、この上限段数を１９１段とすることができる。もし上限値でなければ、Ｓ５１５にてメインマイコン１１８からの指示に応じて部分範囲スキャン部２１２は遅延段数を１段増やして、Ｓ５０９からの処理を繰り返す。一方、遅延段数が最大値の場合、受信結果テーブル（小）２１０が完成したことになるので、Ｓ５１６に移行する。Ｓ５１６では、メインマイコン１１８からの指示に従い最適位相算出部２１３が受信結果テーブル（小）２１０を参照して新しい最適段数を判定する。この判定動作の詳細は、図６を参照して後述する。その後、Ｓ５１７にてメインマイコン１１８は、チューニング済フラグをＳＤＲＡＭ１１６にセットする。続くＳ５１８にて、メインマイコン１１８はカード動作切り替えスイッチ２１５をａ側およびａ'側に接続する。これにより、最適位相算出部２１３が算出した新たな最適段数が遅延量設定部２１６に供給され、遅延素子２０７に対して最適段数を再設定することができる。以上により、一連の処理を終了する。
【００４４】
次に図６を参照して、全調査チューニング後に実施する部分調査チューニングの具体例を説明する。図６は、全調査チューニングおよび部分調査チューニングの関係を示す図である。図６（ａ）は全調査チューニングを行った後、データの出力タイミングが変化する以前に部分調査チューニングを行った例を示す図である。図６（ａ）において、クロック発生部２０４からのクロック波形６０１及びメモリカード１１５が出力したデータ波形６０２に対して、ラッチタイミング６０４で全調査チューニングを行った結果が受信結果テーブル（大）２０９における受信結果６０３である。受信結果テーブル（大）２０９の内容は、ラッチタイミング６０４に示す１段〜８８段までが受信ＮＧ、８９段〜１９４段がＯＫ、１９５段〜最大段がＮＧとなっている。全調査チューニングでは、受信結果６０３がＯＫとなっている８９段〜１９４段の中心である１４１段を最適位相として算出する。
【００４５】
なお、図６（ａ）では、ＮＧの段数が９４段となっており、当該段数がデータのデータ遷移期間（データ無効期間）に対応する。そこで、部分調査チューニングにおける調査範囲は、この段数をカバーするようにとなるように設定すればよく、ここでは前後５０段の計１０１段としている。受信結果テーブル（小）２１０の内容６０５は、全調査チューニングの直後に実行される部分位相チューニングの結果を示す。ここでは最適段数である１４１段を中心に、前後所定段数の調査範囲の受信結果を調査し、全てＯＫとなっていることを示している。このように該調査範囲ですべてＯＫの結果となった場合は、最適位相算出部２１３は最適段数の変更は行わず、引き続き１４１段が最適段数として使われる。
【００４６】
次に図６（ｂ）は、全調査チューニングを行った後、メモリカード１１５の温度変化によってデータの出力タイミングが変化した状態で、部分位相チューニングを行った例を示す図である。図６（ｂ）においてクロック波形６０６とデータ波形６０７との関係は、クロック波形６０１とデータ波形６０２との関係に比べてずれが生じている。具体的に、クロック波形６０６に対してデータ波形６０７は時間的に後方にずれている。このような場合に部分位相チューニングを行うと、受信結果テーブル（小）２１０の内容６０８にＮＧの段数が含まれることになる。具体的に９１段〜１３８段がＮＧとなり、１３９段〜１６１段がＯＫとなっている。この場合、少なくとも（１３８−９１＝）４７段分、後方にデータ出力タイミングがずれたことが判るため、当該ずれ分により元の最適段数を修正して新たな最適段数を再決定することができる。具体的に、ずれ分を加算（１４１＋４７）することにより新たな最適段数として１８８段を設定する。なお、上記の場合は時間的に後方にずれたのでずれ分を加算して修正を行ったが、前方にずれる場合にはずれ分を減算する。
【００４７】
本実施形態において全調査チューニングと部分調査チューニングとは、上位層プログラムにより使い分けが可能である。使い分けに関して処理負荷に着目すると、設定遅延段数が全調査チューニングでは２００段であるのに対し、部分調査チューニングでは約１００段なので、メモリカード１１５へのアクセス回数は約１／２となる。これに伴い、チューニングの総時間も約１／２となる。そこで本実施形態の上位層プログラムでは、この特性に鑑み、全調査チューニングをカードマウント直後に行い、部分調査チューニングは、その後に任意のタイミングで行うことができる。より具体的には、例えば動画記録中または静止画記録時のカード書き込み実行の直前、或いは、該実行に先立って部分調査チューニングを行う構成とすることができる。この構成では、カードマウント直後に正確な最適な遅延段数を算出した後、動作時間が短い部分調査チューニングをデータ書き込みの直前に行う。よって、チューニング時間によるカードパフォーマンスへの影響を少なくしながら、データ書き込みの信頼性を確保することができる。
【００４８】
また、静止画撮影時において、シャッターボタンを押す回数分だけ撮影が実行される単写モードと、シャッターボタンが押されている間、連続的に複数回の撮影が実行される連写モードとがある。このような構成において、単写モード時はシャッターボタンの操作に基づく撮像指示の度に全調査チューニングを行うことができる。一方の連写モード時はシャッターボタンの操作に基づく撮像指示に応じて部分調査チューニングを行うことができる。その際、最初のシャッターが切れる時のみに部分調査チューニングを行ってもよい。この構成では、単写時は静止画記録の時間間隔が規定されず、時間の経過による温度変化が起こりうることに対応できる。また、連写時は静止画記録の時間間隔が少ないうえにカードパフォーマンスが求められることに対応できるチューニングシステムを提供することが出来る。
【００４９】
また、デジタルカメラ１００の動作状態として、全てのブロックの電源供給が停止或いは遮断されたＯＦＦ状態（動作停止状態）と、電力供給は停止されていないものの、通常の動作状態に比べて消費電力が制限されたスタンバイ状態（省電力状態）とがある。スタンバイ状態では、例えばボタン操作を検知するブロックのみ通電し、他の非使用ブロックのみ電源を遮断することができる。この場合、動作停止状態からの復帰時、特に起動時のカードマウント直後に全調査チューニングを行い、スタンバイ状態からの復帰直後に部分調査チューニングを行う構成としてもよい。この構成では、特に素早い立ち上がりが求められる省電スタンバイ状態からの復帰時に、より迅速にカード書き込み可能な状態に移行できるシステムを提供できる。
【００５０】
以上によれば、装置の状態に応じて遅延素子２０７に設定する遅延段数の情報がない状態から最適段数が検出できる全調査チューニングと、全調査チューニングの結果を元に、短時間で最適段数の変化に追従する部分調査チューニングとを使い分けることができる。これにより、チューニングによるカードパフォーマンスの低下を抑えつつ、アクセスの信頼性を維持することができる。
【００５１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015118571.tif 000003
【図２】
2015118571.tif 000004
【図３】
2015118571.tif 000005
【図４】
2015118571.tif 000006
【図５】
2015118571.tif 000007
【図６】
2015118571.tif 000008