(57)【要約】      （修正有）【課題】読み出しパフォーマンスを向上し、ハングアップ等によるリセット動作にも正常に対応可能とする。【解決手段】プログラムが記憶されているプログラム記憶手段と、プログラムを実行する制御手段と、リセット識別手段とを備える。リセット識別手段が所定のリセット要因以外のリセット要因を検知した場合のみ、プログラム記憶手段に対して所定のコマンドを発行Ｓ９後、プログラム記憶手段へプログラムのリードアクセスを開始Ｓ３する。【選択図】図１
2016206863.tif 000002
【特許請求の範囲】
【請求項１】
プログラムが記憶されているプログラム記憶手段と、
プログラムを実行する制御手段と、
リセット識別手段とを備え、
前記リセット識別手段が所定のリセット要因以外のリセット要因を検知した場合のみ、プログラム記憶手段に対して所定のコマンドを発行後、プログラム記憶手段へプログラムのリードアクセスを開始することを特徴とする制御装置。
【請求項２】
前記所定のリセット要因は、パワーオンリセットであることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記所定のコマンドは、プログラム記憶手段をリセットするコマンドであることを特徴とする請求項１又は請求項２に記載の制御装置。
【請求項４】
前記所定のコマンドは、プログラム記憶手段に対するリセットを有効化するコマンドを含むことを特徴とする請求項１乃至請求項３の何れか一項に記載の制御装置。
【請求項５】
前記所定のコマンドは、プログラム記憶手段の特定のモードを解除または初期化するコマンドであることを特徴とする請求項１又は請求項２に記載の制御装置。
【請求項６】
前記特定のモードは、プログラム記憶手段の読出しパフォーマンスを向上するモードであることを特徴とする請求項５に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、プログラムが格納されている記憶手段の制御に関する。
【背景技術】
【０００２】
近年のシリアルフラッシュＲＯＭ（以下、ＳＲＯＭと記す）には、読出しパフォーマンス向上のために用意されているコマンドや動作モード（以下、ハイパフォーマンスモードと記す）が存在する。一例を挙げると、Ｑｕａｄ  Ｉ／Ｏ  ＲｅａｄコマンドのＰｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅ（Ｃｏｎｔｉｎｕｏｕｓ  Ｒｅａｄ  Ｍｏｄｅと呼ぶＲＯＭメーカもある）がこれに該当する。
【０００３】
通常、ＳＲＯＭに対してリードを行う際には、コマンドを発行後にアドレスを発行することによって、所定のサイクル後にＳＲＯＭからデータが出力される。これに対して、Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅにおいては、コマンドの発行は初回のみでよく、以降はコマンドの発行を省略して、アドレスのみを発行することによって、リードが可能となる。
【０００４】
ただし、Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅによってリードを行っている期間に、ＳＲＯＭに対して別のコマンドを発行する場合、Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅを一旦終了した後に、別のコマンドを発行する必要がある。終了させる方法は２通りあり、一つは、ＳＲＯＭに対してＰｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅ  Ｒｅｓｅｔコマンド（Ｃｏｎｔｉｎｕｏｕｓ  Ｒｅａｄ  Ｍｏｄｅ  Ｒｅｓｅｔコマンドと呼ぶＲＯＭメーカもある）を発行する方法である。もう一つは、ＳＲＯＭ自体をリセットする方法で、ＳＲＯＭに対してＲｅｓｅｔ  Ｅｎａｂｌｅコマンド（Ｅｎａｂｌｅ  Ｒｅｓｅｔコマンドと呼ぶＲＯＭメーカもある）を発行後、Ｒｅｓｅｔコマンドを発行する方法である。
【０００５】
ハイパフォーマンスモードについて、さらに一例を挙げると、Ｑｕａｄ  ＳＰＩ  Ｍｏｄｅと呼ばれる動作モードをサポートするＲＯＭメーカがある。通常、ＳＲＯＭに対するコマンド発行は、１本のデータ線を使用して行う（以下、このモードを通常モードと記す）が、Ｑｕａｄ  ＳＰＩ  Ｍｏｄｅにおいては、４本のデータ線を使用して行う。このため、８ビットのコマンド発行に要するサイクル数は、通常モードにおいては８サイクルだが、Ｑｕａｄ  ＳＰＩ  Ｍｏｄｅにおいては２サイクルで済む。
【０００６】
ただし、Ｑｕａｄ  ＳＰＩ  Ｍｏｄｅにおいては、通常モードによるコマンド発行はサポートされておらず、何らかの要因のために、通常モードでコマンド発行をする場合は、Ｑｕａｄ  ＳＰＩ  Ｍｏｄｅを一旦終了した後に、通常モードによるコマンド発行をする必要がある。終了する方法は２通りあり、一つは、ＳＲＯＭのコンフィグレーションレジスタの設定を変更し、動作モードを通常モード（Ｅｘｔｅｎｄｅｄ  ＳＰＩ  Ｍｏｄｅと呼ぶＲＯＭメーカもある）に変更する方法である。もう一つは、ＳＲＯＭ自体をリセットする方法で、前述と同様の方法である。
【０００７】
一方、複数のＣＰＵが搭載されたマルチプロセッサ・システムなどにおいては、一つのＣＰＵの暴走を別のＣＰＵが検知することによって、暴走したＣＰＵを初期化する方法が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−０２４０５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、一部のＳＲＯＭにはリセットピンを具備されていない。このようなＳＲＯＭを使用したシステムの場合、何らかの理由によってＣＰＵがハングアップした後、ＣＰＵがリセットされても、ＳＲＯＭをリセットする手段がないため、ＳＲＯＭはハイパフォーマンスモードのままである。このため、リセット後にＳＲＯＭが正常動作できなくなる場合がある。このような状況になることは、ＳＲＯＭの仕様上、避けられない。
【００１０】
本発明の目的は、ＳＲＯＭのリセットピンの有無にかかわらず、ハイパフォーマンスモードを使用でき、かつ、ハングアップ等によるリセット動作にも正常に対応可能な制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の制御装置は、プログラムが記憶されているプログラム記憶手段と、プログラムを実行する制御手段と、リセット識別手段とを備え、前記リセット識別手段が所定のリセット要因以外のリセット要因を検知した場合のみ、プログラム記憶手段に対して所定のコマンドを発行後、プログラム記憶手段へプログラムのリードアクセスを開始することを特徴とする。
【発明の効果】
【００１２】
本発明の制御装置によれば、ＳＲＯＭの読出しパフォーマンスを向上でき、かつ、ハングアップ等によってＣＰＵがリセットされた場合でも、システムとして正常動作が可能となる。
【図面の簡単な説明】
【００１３】
【図１】画像処理装置の処理手順を表したフローチャートである。
【図２】画像処理装置の構成を示すブロック図である。
【図３】画像処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態を図面に基づいて説明する。
【００１５】
＜第一の実施形態＞
図２は、本発明による制御装置を搭載した画像処理装置の、第一の実施形態を表したブロック図である。スイッチ群１０７は、撮影モードの設定など、撮影に関わる様々な情報をＣＰＵ１０１へ出力する。またレリーズスイッチが出力する信号は、ＡＥやＡＦの動作開始トリガや、撮影の開始トリガとなる。ＣＰＵ１０１はこれらの開始トリガを受けて、メカ群１０８、撮像部１２１、表示部１２４をはじめとする、画像処理装置の各部の制御を行う。また、ＲＯＭ１３１には、ＣＰＵ１０１のためのプログラムやデータが格納されており、ＣＰＵ１０１は、ＲＯＭＩ／Ｆ１０３を介してＲＯＭ１３１にアクセスする。
【００１６】
撮像部１２１は、Ａ／Ｄ変換部１２２へ画像データを出力する。Ａ／Ｄ変換部１２２は画像データをデジタル化し、画像処理部１２３へ出力する。画像処理部１２３は、ホワイトバランス、色変換等の様々な画像形成処理や、形成後の画像を圧縮する圧縮処理を行う。処理後の画像データは、バス１０２を介してメインメモリ１０４へ一時的に格納される。格納された画像データは、カードＩ／Ｆ１０５を介して外部の記録媒体（図示せず）に記録されるか、もしくは通信Ｉ／Ｆ１０６を介して、パーソナルコンピュータ等の外部装置（図示せず）に送信される。
【００１７】
表示部１２４は、画像処理装置のユーザインターフェース画面を表示するか、電子ビューファインダとして使用するか、もしくは撮影後の画像を表示する。リセット制御部１０９は、画像処理装置の各部のハングアップの検知と、各部に対するリセットの制御を行う。
【００１８】
図３は、本発明による制御装置を搭載した画像処理装置の、第一の実施形態における、ＲＯＭ１３１に対する制御方法を説明するブロック図で、図２から説明に必要な部分のみを抜粋した図である。リセット制御部１０９は、少なくともタイマ部１０９１とリセット識別部１０９２から構成され、いずれも外部リセット（パワーオンリセット）のアサートによってリセットされる。またタイマ部１０９１は、リセット識別部１０９２が出力する内部リセット（詳細は後述）のアサートによってもリセットされる。
【００１９】
タイマ部１０９１はウォッチドックタイマで、画像処理装置がハングアップしたことを検知すると、リセット識別部１０９２に対して所定のパルス幅のハングアップリセット信号を発行する。
【００２０】
本実施形態においては、タイマ部１０９１はアップカウンタを使用している。そして、外部リセットか、リセット識別部１０９２が出力する内部リセットのアサートにより、カウンタ値が初期値（即ち０）になる。その後、前記の外部リセットか内部リセットが解除されると、カウンタはクロック（図示せず）の立上りエッジに同期して、常にカウントを続ける。さらに、カウンタ値が所定の値以上になると、タイマ部１０９１は画像処理装置がハングアップしたと認識するとともに、リセット識別部１０９２に対して２サイクルのパルス幅のハングアップリセット信号を発行する。なお、ハングアップリセット信号のアサート期間は、２サイクル以外の期間でもよい。
【００２１】
ＣＰＵ１０１は、所定の周期（タイマ部１０９１のカウンタ値が前記所定の値以上にならない範囲内の周期）でタイマ部１０９１のカウンタをクリアし、カウンタ値を初期値に戻す（カウンタをクリアするためのブロックや信号は図示せず）。このため、ＣＰＵ１０１が正常動作している期間は、カウンタ値が所定の値以上になることがなく、タイマ部１０９１によるハングアップの検知と、リセット識別部１０９２へのハングアップリセットは発生しない。
【００２２】
一方、ＣＰＵ１０１がハングアップし、タイマ部１０９１のカウンタの周期的なクリアが実行されなくなると、カウンタ値が所定の値以上になり、タイマ部１０９１によってハングアップが検知され、リセット識別部１０９２に対してハングアップリセットが発行される。
【００２３】
なおタイマ部１０９１は、ダウンカウンタを使用してもよい。その場合、カウンタ値の初期値は、カウンタの最大値となる。また、カウンタ値が所定の値以下になると、ハングアップしたと認識する。
【００２４】
リセット識別部１０９２は、外部リセットがアサートされている場合はパワーオンリセットと認識する。一方、外部リセットがアサートされておらず、ハングアップリセットのみがアサートされている場合は、ハングアップによるリセットと認識する。リセット識別部１０９２は、パワーオンリセットの場合もハングアップによるリセットの場合も、当該リセット信号がアサートされている期間、画像処理装置の各部に内部リセットをアサートする。さらにリセット識別部１０９２は、ハングアップによるリセットの場合のみ、ＲＯＭＩ／Ｆ１０３に対して、リセットコマンド発行フラグをアサートする。なお、リセットコマンド発行フラグは、外部リセットのアサートによってネゲートされる。
【００２５】
ＲＯＭＩ／Ｆ１０３は、内部リセットが解除された時にリセットコマンド発行フラグがアサートされていない場合は、通常と同様に直ちにＲＯＭ１３１に対してリードを開始する。一方、内部リセットが解除された時にリセットコマンド発行フラグがアサートされている場合は、まずＲＯＭ１３１に対してリセットコマンドを発行し、その後にリードを開始する。
【００２６】
本実施形態においては、リセットコマンドとしてＲｅｓｅｔ  Ｅｎａｂｌｅコマンド（６６ｈコマンド）を発行後、Ｒｅｓｅｔコマンド（９９ｈコマンド）を発行する。なお、ハイパフォーマンスモードとして、Ｑｕａｄ  Ｉ／Ｏ  ＲｅａｄコマンドのＰｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅのみを使用している場合、リセットコマンドとしてＰｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅ  Ｒｅｓｅｔコマンド（ＦＦｈコマンド）のみを発行する方法もある。
【００２７】
図１は本発明による制御装置を搭載した画像処理装置の、第一の実施形態の処理手順を表したフローチャートである。
【００２８】
ステップＳ１は、処理の開始である。ステップＳ２は、パワーオンリセットの解除である。ステップＳ３は、ＣＰＵ１０１がＲＯＭ１３１に対してリードし、プログラムを実行する。本実施形態においては、最も基本的なＲＥＡＤコマンド（０３ｈコマンド）によってＲＯＭ１３１をリードする。
【００２９】
ステップＳ３において（即ち、パワーオンリセットの解除直後に）、ＲＥＡＤコマンドによってＲＯＭ１３１をリードする理由は、このコマンドが最も多くのＲＯＭメーカがサポートしているためである。ＲＥＡＤコマンドによってリードを開始後、例えばＲＥＡＤ  ＩＤコマンド（９Ｆｈコマンド）によってＲＯＭ１３１のメーカや型番の値をリードし、メーカや型番に応じたハイパフォーマンスモードを設定するよう、プログラムを条件分岐することが可能となる。
【００３０】
ステップＳ４は、ＣＰＵ１０１がＲＯＭ１３１に対してコマンドを発行し、ＲＯＭ１３１をハイパフォーマンスモードに切り替える。発行するコマンドは、一例としてＱｕａｄ  Ｉ／Ｏ  Ｒｅａｄコマンド（ＥＢｈコマンド）のＰｅｒｆｏｒｍａｎｃｅ  Ｅｎｈａｎｃｅ  Ｍｏｄｅである。また、別の例として、ＲＯＭ１３１のコンフィグレーションレジスタの設定を変更するコマンドを発行し、ＲＯＭ１３１の動作モードをＱｕａｄ  ＳＰＩ  Ｍｏｄｅに設定する方法もある（手順の具体例としては、Ｗｒｉｔｅ  Ｅｎｈａｎｃｅｄ  Ｖｏｌａｔｉｌｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｇｉｓｔｅｒコマンド（６１ｈコマンド）を使用して、当該レジスタのＱｕａｄ  Ｉ／Ｏ  Ｐｒｏｔｏｃｏｌのビットに０を書き込む）。
【００３１】
ステップＳ５は、ステップＳ４において設定したハイパフォーマンスモードで、ＣＰＵ１０１がＲＯＭ１３１に対してリードし、プログラムを実行する。ステップＳ６は、リセット制御部１０９がＣＰＵの１０１ハングアップを検知する。検知の方法は図３を用いて説明したとおりである。ステップＳ７は、リセット制御部１０９が画像処理装置の各部をリセットする。
【００３２】
ステップＳ８は、ステップＳ６において検知されたリセットの要因がパワーオンリセットか否かの判定をする。パワーオンリセットの場合はステップＳ３へ進み、パワーオンリセット以外の場合はステップＳ９へ進む。ステップＳ９は、ＲＯＭ１３１に対してリセットコマンドを発行する。リセットコマンドの具体例については、図３を用いて説明したとおりである。
【００３３】
ステップＳ９を実行後はステップＳ３に進む。以降、ステップＳ３からステップＳ５の処理を行い。ＣＰＵ１０１がハングアップした場合は、再びステップＳ６からＳ９の手順を実行する。
【００３４】
なお、図１において、ステップＳ８を省略する方法も考えられる。この場合、ＣＰＵ１０１がハングアップしたか否かに関わらず、パワーオンリセットの度に、ＲＯＭ１３１に対してリセットコマンドが発行される。即ち、ＲＯＭ１３１に対して無駄なコマンドが発行されることになる。
【００３５】
また、上記においては、ＣＰＵ１０１がハングアップしたものとして説明してきたが、ＣＰＵ１０１以外がハングアップした場合にも、本発明による制御方法が同様に適用できる。例えば、図２における通信Ｉ／Ｆ１０６において、通信相手からの応答が無いためにハングアップする場合などである。通信Ｉ／Ｆ１０６がハングアップし、図２におけるバス１０２を占有し続ける状況になると、ＣＰＵ１０１がハングアップした場合と同様の状況になるためである。
【００３６】
以上の処理を行うことによって、ＳＲＯＭの読出しパフォーマンスを向上でき、かつ、ハングアップ等によってＣＰＵがリセットされた場合でも、システムとして正常動作が可能となる。
【００３７】
＜その他の実施形態＞
本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００３９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００４１】
１０７  スイッチ群、１０１  ＣＰＵ
【図２】
2016206863.tif 000003
【図３】
2016206863.tif 000004
【図１】
2016206863.tif 000005