説明

電子機器および電子機器の起動方法

【課題】 起動時間を短くすること。
【解決手段】 デジタルビデオカメラは、複数の周辺回路31〜37と、複数の周辺回路31〜37それぞれを制御するCPU13と、複数の周辺回路31〜37にそれぞれに設定される複数の設定データを記憶するROM15と、CPU13とは別に設けられ、CPU13から指令が出力されることに応じて、ROM13に記憶された複数の設定データを複数の周辺回路31〜37に順に設定するシーケンス回路21と、を備え、CPU13は、電源投入後に、シーケンス回路が複数の周辺回路31〜37それぞれに設定データを設定するのと並行して、予め定められた初期設定処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電子機器および電子機器の起動方法に関し、特に電源投入後の起動時間を短くした電子機器および電子機器の起動方法に関する。
【背景技術】
【0002】
デジタルビデオカメラで代表される電子機器は、機器を制御するためにASIC(Application Specific Integrated Circuit)が搭載されている。ASICは、通常、中央演算装置(CPU)と、複数の周辺回路とで構成される。複数の周辺回路は、メモリ、カメラ、液晶表示装置等の周辺回路をそれぞれ制御するためのメモリ制御回路、カメラ制御回路、表示制御回路等である。デジタルビデオカメラに電源が投入されるとASICが起動され、起動時にCPUは、予め定められた初期化プログラムを実行することによって、複数の周辺回路に初期値を設定した後、メモリ、カメラ、液晶表示装置等の周辺回路を初期化する。複数の周辺回路それぞれが有するレジスタがメモリ空間に割り当てられており、このメモリ空間に初期値を設定することにより、複数の周辺回路に初期値が設定される。
【0003】
例えば、特開2007−264978号公報(引用文献1)には、不揮発性メモリからなる第1記憶手段から揮発性メモリからなる第2記憶手段に転送されたプログラムに従ってCPUが処理を実行する情報処理装置の起動方法であって、情報処理装置の起動時にCPUのリセットを保持して、CPU以外のハードウェアにより、プログラムの転送を開始させ、プログラム転送中の予め指定された解除タイミングでCPUのリセットを解除し、該CPUのリセット解除後は、CPUによる所定の初期化処理とプログラムの転送とを並列に実行することを特徴とする情報処理装置の起動方法が記載されている。
【0004】
従来の起動方法は、CPU以外のハードウェアによりプログラムが転送されるので、CPUは、プログラムの転送をする処理を実行する必要がないが、CPUが実行する初期化処理は、CPUのみが実行するので、初期化処理の時間を短くすることができないといった問題がある。
【特許文献1】特開2007−264978号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
この発明は、上述した問題点を解決するためになされたもので、この発明の目的の1つは、起動時間を短くした電子機器を提供することである。
【0006】
この発明の他の目的は、起動時間を短くした電子機器の起動方法を提供することである。
【課題を解決するための手段】
【0007】
上述した目的を達成するためにこの発明のある局面によれば、電子機器は、複数の周辺制御手段と、複数の周辺制御手段それぞれを制御する主制御手段と、複数の周辺制御手段にそれぞれに設定される複数の設定データを記憶する記憶手段と、主制御手段とは別に設けられ、主制御手段から指令が出力されることに応じて、記憶手段に記憶された複数の設定データを複数の周辺制御手段に順に設定する設定手段と、を備え、主制御手段は、電源投入後に、設定手段が複数の周辺制御手段それぞれに設定データを設定するのと並行して、予め定められた初期設定処理を実行する。
【0008】
この局面によれば、主制御手段によって、電源投入後に、設定手段が複数の周辺制御手段それぞれに設定データを設定するのと並行して、予め定められた初期設定処理が実行される。このため、2つの処理が並行して実行されるので、起動時間を短くした電子機器を提供することができる。
【0009】
好ましくは、1以上の周辺装置をさらに備え、複数の周辺制御手段は、1以上の周辺装置をそれぞれ制御する1以上の周辺制御手段を含み、主制御手段が実行する初期設定処理は、1以上の周辺装置を初期化する処理を含む。
【0010】
好ましくは、記憶手段は、複数の周辺制御手段それぞれに対応して、制御データと、設定データを設定するための記憶領域の先頭アドレスと、1以上の設定データとからなる組を連続して記憶しており、制御データは、最後の組か否かを示すフラグを含み、設定手段は、記憶手段に記憶されている複数の組のうち主制御部からの指令に含まれる組から最後の組を示すフラグが設定された組までを順に読出し、設定する。
【0011】
この局面に従えば、制御データと、設定データを設定するための記憶領域の先頭アドレスと、1以上の設定データとからなる組が連続して記憶されるので、設定手段は、先頭アドレスから順に複数の周辺制御手段それぞれに対応する設定データを容易に読み出すことができる。このため、設定データを読み出し、設定する処理を簡単にすることができる。
【0012】
好ましくは、制御データは、組に含まれる設定データの数をさらに含む。
【0013】
この局面に従えば、次の組の始まりを容易に検出することができる。
【0014】
この発明の他の局面によれば、電子機器の起動方法は、複数の周辺制御手段と、複数の周辺制御手段それぞれを制御する主制御手段と、複数の周辺制御手段にそれぞれに設定される複数の設定データを記憶する記憶手段と、主制御手段とは別に設けられた設定手段と、を備えた電子機器で実行される起動方法であって、電源投入後、主制御手段に設定手段に起動指令を出力させるステップと、主制御装置に、起動指令の出力後に所定の初期設定処理を実行させるステップと、設定手段に、主制御手段から指令が出力されることに応じて、記憶手段に記憶された複数の設定データを複数の周辺制御手段に順に設定させるステップと、を含む。
【0015】
この局面に従えば、起動時間を短くした電子機器の起動方法を提供することができる。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【0017】
本実施の形態においては、電子機器の一例としてデジタルビデオカメラを説明する。なお、電子機器は、デジタルビデオカメラに限られず、ASICを備えた機器であればよい。
【0018】
図1は、本発明の実施の形態の1つにおけるデジタルビデオカメラの構成の概略を示すブロック図である。図1を参照して、デジタルビデオカメラ1は、デジタルビデオカメラ1の全体を制御するASIC11と、イメージセンサ43と、音を集音するマイクロホン44と、画像を表示する液晶表示装置(CLD)45と、通信インターフェース46と、外部記憶装置47と、を含む。イメージセンサ43、マイクロホン44、LCD45、通信インターフェース46および外部記憶装置47は、ASIC11により制御される周辺装置の一例であり、ここでは、それらを総称して周辺装置43〜47という。
【0019】
ASIC11は、中央演算装置(CPU)13と、プログラムおよび初期値を不揮発的に記憶するROM15と、メモリコントローラ17と、CPU13の作業領域として用いられるRAM19と、CPU13とは別に設けられたシーケンス回路21と、バスマトリックス(Bus Matrix)23と、クロック生成回路31と、画像信号処理回路32と、画像入力制御回路33と、音声信号処理回路34と、表示制御回路35と、通信制御回路36と、外部メモリ制御回路37と、を含む。クロック生成回路31と、画像信号処理回路32と、画像入力制御回路33と、音声信号処理回路34と、表示制御回路35と、通信制御回路36と、外部メモリ制御回路37とは、周辺回路であり、以下それらを総称して周辺回路31〜37という。周辺回路31〜37それぞれは、動作条件を定めるパラメータが設定されるレジスタを有する。レジスタは、ここでは、フリップフロップ回路で構成される。
【0020】
メモリコントローラ17、CPU13、シーケンス回路21および周辺回路31〜37は、メモリバス25によって接続されている。バスマトリックス23は、メモリバス25を切り換え、CPU13とシーケンス回路21のいずれかをメモリバス25に接続する。メモリコントローラ17は、ROM15からのデータの読み出しを制御する。
【0021】
クロック生成回路31は、クロックを生成し、他の周辺回路32〜37へクロックを供給する。クロック生成回路31が、他の周辺回路32〜37へ供給するクロックの周波数またはゲーティングは、他の周辺回路32〜37ごとに異なる。このため、クロック生成回路31は、他の周辺回路32〜37ごとに供給するクロックの周波数およびゲーティングの時期等のパラメータが初期設定値として設定されるレジスタを備える。クロック生成回路31は、レジスタに設定された初期設定値を読み出すことにより、他の周辺回路32〜37それぞれに供給するクロックの周波数およびゲーティングの時期を決定する。クロック生成回路31が備えるレジスタには、論理アドレスが割り当てられる。
【0022】
画像信号処理回路32は、CPU11により制御され、画像データに対して種々の信号処理を施す。画像信号処理回路32は、画像信号処理の内容を定めるパラメータ、例えば出力する画像のサイズ、画質等を定めるパラメータが初期設定値として設定されるレジスタを備える。画像信号処理回路32は、レジスタに記憶された初期設定値を読み出すことにより、初期設定値によって定まるサイズおよび画質に画像データを変換し、出力する。画像信号処理回路32が備えるレジスタには、論理アドレスが割り当てられる。
【0023】
画像入力制御回路33は、CPU13により制御され、周辺装置であるイメージセンサ43を制御する。イメージセンサ43は、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の光電変換素子であり、画像入力制御回路33により制御される。イメージセンサ43は、その結像面に結像する被写体の光学画像を光電変換し、画像データを画像入力制御回路33に出力する。画像入力制御回路33は、制御対象となるイメージセンサ43の性能、例えば、垂直または水平サイズ等に応じた制御信号をイメージセンサ43に出力し、イメージセンサ43から入力される画像データを解釈する。画像入力制御回路33は、イメージセンサ43の性能を定めるパラメータが初期設定値として設定されるレジスタを備える。画像入力制御回路33は、レジスタに記憶された初期設定値を読み出すことにより、イメージセンサ43を制御する。画像入力制御回路33が備えるレジスタには、論理アドレスが割り当てられる。
【0024】
音声信号処理回路34は、CPU13により制御され、周辺装置であるマイクロホン44を制御する。音声信号処理回路34は、マイクロホン44から入力される音声データを受け付け、音声データを、ノイズ低減などの信号処理をし、画像信号処理回路32に出力する。音声信号処理回路34は、マイクロホン44の性能を定めるパラメータ、例えば音声データのフォーマットを定めるパラメータが初期設定値として設定されるレジスタを備える。音声信号処理回路34は、レジスタに記憶された初期設定値を読み出すことにより、マイクロホン44を制御する。音声信号処理回路34が備えるレジスタには、論理アドレスが割り当てられる。
【0025】
表示制御回路35は、CPU11により制御され、周辺装置であるLCD45を制御する。表示制御回路45は、制御対象となるLCD45の性能を定めるパラメータ、例えば、垂直または水平サイズ等のパラメータが初期設定値として設定されるレジスタを備える。表示制御回路35は、レジスタに記憶された初期設定値を読み出すことにより、LCD45を制御する。表示制御回路35が備えるレジスタには、論理アドレスが割り当てられる。
【0026】
通信制御回路36は、CPU11により制御され、周辺装置である通信I/F46を制御する。通信I/F46は、外部機器と接続するためのシリアル通信ポートを含む。通信I/F46は、シリアル通信ポートに接続された外部機器との間で通信する。通信制御回路36は、制御対象となる通信I/F46の性能を定めるパラメータ、例えば、シリアル通信ポートの種類等のパラメータが初期設定値として設定されるレジスタを備える。表示制御回路35は、レジスタに記憶された初期設定値を読み出すことにより、通信I/F46を制御する。通信制御回路36は、外部機器から入力されるデータを処理し、CPU13から入力されるデータを外部機器に出力する。通信制御回路36が備えるレジスタには、論理アドレスが割り当てられる。
【0027】
外部メモリ制御回路37は、CPU11により制御され、周辺装置である外部記憶装置47を制御する。外部メモリ制御回路37は、制御対象となる外部記憶装置47の性能を定めるパラメータ、例えば、装着される記録媒体の種類を定めるパラメータが初期設定値として設定されるレジスタを備える。外部メモリ制御回路37は、レジスタに記憶された初期設定値を読み出すことにより、外部記憶装置47を制御する。外部メモリ制御回路37が備えるレジスタには、論理アドレスが割り当てられる。
【0028】
ここでは、外部記憶装置47は、不揮発性メモリを備えたメモリカードが装着される。CPU11は、外部メモリ制御回路37を制御して、外部記憶装置47に装着されたメモリカード47にアクセス可能である。
【0029】
CPU13は、ROM15に記憶されたファームウェアをRAM19にロードして実行することにより、デジタルビデオカメラの全体を制御する。具体的には、CPU13は、電源が投入された後、ROM15に記憶されたファームウェアをRAM19に転送する。CPU13は、ファームウェアの転送が完了すると、ファームウェアを実行可能となる。CPU13は、ファームウェアを実行可能になると、シーケンス回路21に指令を出力する。指令は、ROM15に記憶されている初期値データの先頭アドレスを含む。CPU13は、シーケンス回路21に指令を出力した後、周辺装置43〜47をそれぞれ初期化する。
【0030】
シーケンス回路21は、CPU13から指令が入力されると、指令に含まれる先頭アドレスを参照して、ROM15の先頭アドレスに記憶されている初期データを読み出す。
【0031】
ここで、初期データについて説明する。図2は、初期データの一例を示す図である。図2を参照して、初期データは、7つの周辺回路31〜37それぞれに対応する7組の初期データで構成される。1組の初期データは、2つの制御データと1以上の設定データとで構成され、2つの制御データと1以上の設定データの配列は予め定められている。
【0032】
2つの制御データは、SETデータとベースアドレスデータである。SETデータは、初期データの組の順番が、最終の組か否かを示すフラグと、初期データの組に含まれる設定データの数とが設定される。ベースアドレスデータは、周辺回路31〜37のうち初期データの組に対応する周辺回路のレジスタの先頭論理アドレスが設定される。
【0033】
図3は、SETデータのフォーマットの一例を示す図である。ここでは、データの処理単位を、32bitとする場合を例に説明する。SETデータは、インデックスの項目と、データ長の項目とを含む。インデックスの項目は、(32−n)ビット(nは、正の整数)が割り当てられ、初期データの組の順番が、最終の組か否かを示すフラグが設定される。ここでは、最終の組を示すフラグとして「0x0」が設定され、最終でない中間の組を示すフラグとして「0x1」が設定される。データ長の項目は、nビットが割り当てられ、初期データの組に含まれる設定データの数が設定される。設定データの数は、ビット数で表されてもよい。この場合、1つの設定データは32ビットなので、設定データの数がm個(mは正の整数)ならば32×m(ビット)が設定される。
【0034】
図2に戻って、クロック生成回路31に対応する初期データの組を第1組、外部メモリ制御回路37に対応する初期データの組を第2組、画像信号処理回路32に対応する初期データの組を第3組、画像入力制御回路33に対応する初期データの組を第4組、音声信号処理回路34に対応する初期データの組を第5組、表示制御回路35に対応する初期データの組を第6組、通信制御回路36に対応する初期データの組を第7組とする。
【0035】
まず、クロック生成回路31に対応する第1組の初期データを例に説明する。制御データは、SETデータSET0と、それに続くベースアドレスデータBase0である。クロック生成回路31に対応する第1組の初期データは、ROM15に記憶される最初の初期データの組なので、最終組でない。このため、SETデータSET0にはインデックスの項目に「0x0」が設定され、データ長の項目には設定データの数「4」が設定される。ベースアドレスデータBase0には、クロック生成回路31が有するレジスタの先頭論理アドレスが設定される。さらに、ベースアドレスデータBase0に続いて、4つの設定データD00,D01,D02,D03それぞれに、クロック生成回路31が有するレジスタの先頭論理アドレスから4つのレジスタにそれぞれ設定される4つの設定データが設定される。
【0036】
第2組〜第6組の初期データは、第1組の初期データと同様に、外部メモリ制御回路37、画像信号処理回路32、画像入力制御回路33、音声信号処理回路34、表示制御回路35それぞれに対応する初期データが設定される。
【0037】
通信制御回路36に対応する第7組の初期データは、最終組である。このため、第7組の初期データは、SETデータSET6にはインデックスの項目に「0x1」が設定され、データ長の項目には設定データの数「6」が設定される。ベースアドレスデータBase6には、通信制御回路36が有するレジスタの先頭論理アドレスが設定される。さらに、ベースアドレスデータBase6に続いて、6つの設定データD60,D61,D62,D63,D64,D65それぞれに、通信制御回路36が有するレジスタの先頭論理アドレスから6つのレジスタにそれぞれ設定される6つの設定データが設定される。
【0038】
CPU11がシーケンス回路21に出力する指令には、第1組の初期化データの先頭アドレスが含まれる。ここでは、クロック生成回路31に対応する初期データのSETデータSET0のアドレスが、指令に含まれる。シーケンス回路21は、CPU13から指令が入力されると、SET0から32ビットずつ順に読み出し、周辺回路31〜37それぞれのレジスタに設定データを設定する。
【0039】
図4は、論理アドレスの一例を示す図である。周辺回路31〜37それぞれが備える7つのレジスタは、メモリ空間へ離散的にマッピングされる。図4においては、クロック生成回路31が有するレジスタがメモリ空間にマッピングされる領域31A、外部メモリ制御回路37が有するレジスタがメモリ空間にマッピングされる領域37A、画像信号処理回路32が有するレジスタがメモリ空間にマッピングされる領域32A、画像入力制御回路33が有するレジスタがメモリ空間にマッピングされる領域33A、音声信号処理回路34が有するレジスタがメモリ空間にマッピングされる領域34A、表示制御回路35が有するレジスタがメモリ空間にマッピングされる領域35A、通信制御回路36が有するレジスタがメモリ空間にマッピングされる領域36A、を示している。初期データのベースアドレスBase0〜6には、領域31A、37A、32A〜36Aそれぞれの先頭の論理アドレスが設定される。
【0040】
図5は、起動処理の流れの一例を示すフローチャートである。起動処理は、CPU13が、電源が投入された後に、ROM15に記憶されたブートプログラムおよびファームウェアを実行することにより、CPU13により実行される処理である。図5を参照して、COU13は、ROM15に記憶されているブートプログラムを実行し、ROM15に記憶されているファームウェアを、RAM19にロードする(ステップS01)。ファームウェアのロードが終了すると、ファームウェアを実行可能となり、ファームウェアを実行する。ステップS02移行の処理は、CPU13がファームウェアを実行することにより実行される処理である。
【0041】
次のステップS02においては、シーケンス回路21に指令を出力する。指令は、ROM15に記憶されている初期値データの先頭アドレスを含む。そして、シーケンス回路21に指令を出力した後、周辺装置43〜47をそれぞれ初期化する。周辺装置43〜47は、周辺回路33〜37によって制御されるので、周辺回路33〜37に設定されている必要がある。周辺回路33〜37には、指令を受取ったシーケンス回路21によって設定データが設定される。このため、CPU13が周辺装置43〜47を初期化する処理の順番は、シーケンス回路21によって周辺回路33〜37に設定データが設定されるタイミングと同期が取れるように、予め定められている。
【0042】
ステップS04においては、周辺装置43〜47の初期化が終了したか否かを判断する。初期化が終了していなければ処理をステップS03に戻し、初期化を継続する。初期化が終了したならば起動処理を終了し、スタンバイ状態となる。スタンバイ状態とは、デジタルビデオカメラを駆動可能な状態であり、ユーザの操作を受け付けて、受け付けられた操作にしたがって、撮像、記録、再生等の処理を実行することが可能な状態である。
【0043】
図6は、シーケンス制御の流れの一例を示すフローチャートである。シーケンス制御は、シーケンス回路21が実行する処理の流れを示す。図6を参照して、シーケンス回路21は、CPU13から指令が入力されるまで待機状態となり(ステップS11でNO)、指令が入力されると(ステップS11でYES)、処理をステップS12に進める。ステップS13においては、変数iに「0」を設定する。変数iは、設定データの数をカウントするための変数であり、後述するステップS23でインクリメントとされる。
【0044】
次のステップS14においては、ROM13にアクセスすることによりSETデータを読み出す。ROM13のアクセスするアドレスは、ステップS11においてCPU13から入力された指令に含まれる初期データの先頭アドレスである。初期データの先頭アドレスは、最初の組の初期データの先頭アドレスである。ROM13において最初の組の初期データの先頭アドレスに記憶されているSETデータを読み出す。一方、後述するステップS22が実行された後は、ROM13のアクセスするアドレスは、次の組の初期データの先頭アドレスである。ROM13において次の組の初期データの先頭アドレスに記憶されているSETデータを読み出す。
【0045】
ステップS14においては、SETデータのインデックスの項目に「0x0」が設定されているか否かを判断する。インデックスの項目に「0x0」が設定されているならば処理をステップS15に進めるが、そうでなければ処理をステップS16に進める。ステップS15においては終了フラグを「1」に設定し、処理をステップS17に進める。ステップS16においては、終了フラグを「0」に設定し、処理をステップS17に進める。終了フラグは、初期データの組が最終組か否かを示すもので、最終組ならば「1」が設定され、最終組でなければ「0」が設定される。終了フラグは、後述するステップS25において、処理を終了するか否かの判断に用いられる。
【0046】
ステップS17においては、SETデータのデータ長の項目に設定されている設定データ数を、定数Nに設定する。定数Nには、処理対象となる初期データの組に含まれる設定データの数が設定される。
【0047】
次のステップS18においては、ROM13の次のアドレスに記憶されているベースアドレスデータを読み出す。そして、読み出されたベースアドレスデータで内部アドレスを更新する(ステップS19)。内部アドレスは、設定データを書き込みするためのメモリ空間の論理アドレスを示す。具体的には、周辺回路31〜37のうち処理対象となっている組の初期データに対応するものが備えるレジスタに割り当てられた先頭論理アドレスである。
【0048】
次のステップS20においては、ROM13の次のアドレスに記憶されている設定データを読み出す。そして、読み出された設定データを、メモリ空間の内部アドレスに書き込む。次のステップS22においては、内部アドレスをインクリメントし、処理をステップS23に進める。ステップS23においては、変数iを、それに1を加算した値に変更し、処理をステップS24に進める。ステップS24においては、変数iが定数Nと同じになったか否かを判断する。変数iが定数Nと同じならば処理をステップS25に進めるが、そうでなければ処理をステップS20に戻す。
【0049】
ステップS20〜ステップS24のループが繰り返されることにより、処理対象となる組の初期データに含まれる設定データのすべてが、周辺回路31〜37のうち処理対象となっている組の初期データに対応するものが備えるレジスタに書き込まれる。
【0050】
ステップS25においては、終了フラグが「1」に設定されているか否かを判断する。終了フラグが「1」に設定されていれば処理をステップS26に進めるが、そうでなければ処理をステップS12に戻す。ステップS26においては、CPU13に終了信号を出力し、処理を終了する。
【0051】
ここで、図2を参照してシーケンス回路21において実行されるシーケンス制御を説明する。CPU13から入力される指令には、ROM15の初期データの先頭アドレスが含まれる。したがって、SETデータSET0が読み出される。SET0には、インデックスの項目に「0x1」が設定されているので、終了フラグに「0」が設定される。そして、図6のステップS19において内部アドレスには、ベースアドレスデータBase0に設定されている先頭論理アドレスが設定されている。ベースアドレスデータBase0に設定されている先頭論理アドレスは、クロック生成回路31が備えるレジスタのアドレスである。ステップS20〜ステップS24の処理が、ステップS17において定数Nに設定された設定データ数と同じ回数だけ繰り返されるので、ステップS21において、ROM15に記憶されている8つの設定データD00〜D07が、クロック生成回路31が備える8つのレジスタにそれぞれ書き込まれる。
【0052】
ステップS25において終了フラグが「1」でないと判断されると、ステップS13において、ROM13の次のアドレスに記憶されている第2番目の組の初期データのSETデータSET1が読み出される。そして、上述したのと同様に、図6のステップS19において内部アドレスには、ベースアドレスデータBase1に設定されている先頭論理アドレスが設定される。ベースアドレスデータBase1に設定されている先頭論理アドレスは、外部メモリ制御回路37が備えるレジスタのアドレスである。ステップS20〜ステップS24の処理が、ステップS17において定数Nに設定された設定データ数と同じ回数だけ繰り返されるので、ステップS21において、ROM15に記憶されている4つの設定データD10〜D13が、外部メモリ制御回路37が備える4つのレジスタにそれぞれ書き込まれる。
【0053】
第3番目〜第6番目の組の初期データは、画像信号処理回路32、画像入力制御回路33、音声信号処理回路34、表示制御回路35にそれぞれ対応し、第2番目の組の初期データに対応する外部メモリ制御回路37と同様に、設定データがそれぞれのレジスタに設定される。
【0054】
第7番目の初期データは、通信制御回路36に対応し、SETデータSET6が読み出される。SET6には、インデックスの項目に「0x0」が設定されているので、終了フラグに「1」が設定される。そして、図6のステップS19において内部アドレスには、ベースアドレスデータBase6に設定されている先頭論理アドレスが設定されている。ベースアドレスデータBase6に設定されている先頭論理アドレスは、通信制御回路36が備えるレジスタのアドレスである。ステップS20〜ステップS24の処理が、ステップS17において定数Nに設定された設定データ数と同じ回数だけ繰り返されるので、ステップS21において、ROM15に記憶されている6つの設定データD60〜D65が、通信制御回路36が備える6つのレジスタにそれぞれ書き込まれる。その後、ステップS25において、終了フラグが「1」に設定されているので、CPU13に終了信号を出力し、処理を終了する。
【0055】
図7は、CPUおよびシーケンス回路が実行する処理を概念的に示すタイムチャートである。図7を参照して、デジタルビデオカメラ1に電源が投入されると、CPU13およびシーケンス回路21がリセットされる。CPU13は、ブートプログラムの実行およびファームウェア(F/W)をROM15からRAM19に転送する。CPU13は、ブートプログラムの実行およびファームウェア(F/W)の転送を終了すると、シーケンス回路21に指令を出力し、その後、周辺装置43〜47を初期化を開始する。
【0056】
なお、図では、周辺装置43〜47を初期化する処理を一本の線分で示しているが、実際には、周辺装置43〜47それぞれは、CPU13からの指令に従って初期化する処理に所定の時間を要する場合があり、この間にCPU13は、別の周辺装置に指令を出力することができるので、CPU13は、周辺装置43〜47のうちから選ばれた複数を初期化する処理を並列して実行する。
【0057】
シーケンス回路21は、CPU21から指令が入力されると、周辺回路31〜37に、設定値を設定することにより、周辺回路31〜37を初期化する。シーケンス回路21は実行する処理が単純なので、プログラムを実行する汎用的なハードウェアではなく、実行する処理が予め定められた専用のハードウェアである。このため、汎用的なハードウェアに比較して処理速度が速い。
【0058】
本実施の形態におけるデジタルビデオカメラ1は、起動時に、CPU13が周辺装置の初期化のみを実行し、シーケンス回路21が周辺回路の初期化のみを実行し、CPU13とシーケンス回路21とが、並行して初期化を実行する。このため、従来、シリアルに実行されていた初期化処理を並行して実行するので、起動時間を短くすることができる。さらに、周辺回路31〜47の初期化処理を、専用の処理がハードウェアに組み込まれたシーケンス回路21で実行するので、周辺回路31〜47の初期化処理の時間を短縮することができる。
【0059】
なお、上述した実施の形態においては電子機器の一例としてデジタルビデオカメラ1を説明したが、図5に示した起動処理および図6に示したシーケンス制御をCPU13およびシーケンス回路21を備えた電子機器で実行するための起動方法およびその撮像方法をCPU13およびシーケンス回路21に実行させるための起動プログラムとして発明を捉えることができるのはいうまでもない。
【0060】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0061】
【図1】本発明の実施の形態の1つにおけるデジタルビデオカメラの構成の概略を示すブロック図である。
【図2】初期データの一例を示す図である。
【図3】SETデータのフォーマットの一例を示す図である。
【図4】論理アドレスの一例を示す図である。
【図5】起動処理の流れの一例を示すフローチャートである。
【図6】シーケンス制御の流れの一例を示すフローチャートである。
【図7】CPUおよびシーケンス回路が実行する処理を概念的に示すタイムチャートである。
【符号の説明】
【0062】
1 デジタルビデオカメラ、11 ASIC、13 CPU、15 ROM、17 メモリコントローラ、19 RAM、21 シーケンス回路、23 バスマトリックス、25 メモリバス、31 クロック生成回路、32 画像信号処理回路、33 画像入力制御回路、34 音声信号処理回路、35 表示制御回路、36 通信制御回路、37 外部メモリ制御回路、43 イメージセンサ、44 マイクロホン、45 表示制御回路、46 通信I/F、47 外部記憶装置。


【特許請求の範囲】
【請求項1】
複数の周辺制御手段と、
前記複数の周辺制御手段それぞれを制御する主制御手段と、
前記複数の周辺制御手段にそれぞれに設定される複数の設定データを記憶する記憶手段と、
前記主制御手段とは別に設けられ、前記主制御手段から指令が出力されることに応じて、前記記憶手段に記憶された複数の設定データを前記複数の周辺制御手段に順に設定する設定手段と、を備え、
前記主制御手段は、電源投入後に、設定手段が前記複数の周辺制御手段それぞれに設定データを設定するのと並行して、予め定められた初期設定処理を実行する、電子機器。
【請求項2】
1以上の周辺装置をさらに備え、
前記複数の周辺制御手段は、前記1以上の周辺装置をそれぞれ制御する1以上の周辺制御手段を含み、
前記主制御手段が実行する前記初期設定処理は、前記1以上の周辺装置を初期化する処理を含む、請求項1に記載の電子機器。
【請求項3】
前記記憶手段は、前記複数の周辺制御手段それぞれに対応して、制御データと、前記設定データを設定するための記憶領域の先頭アドレスと、1以上の設定データとからなる組を連続して記憶しており、前記制御データは、最後の組か否かを示すフラグを含み、
前記設定手段は、前記記憶手段に記憶されている複数の組のうち前記主制御部からの指令に含まれる組から最後の組を示すフラグが設定された組までを順に読出し、設定する、請求項2に記載の電子機器。
【請求項4】
前記制御データは、組に含まれる設定データの数をさらに含む、請求項3に記載の電子機器。
【請求項5】
複数の周辺制御手段と、
前記複数の周辺制御手段それぞれを制御する主制御手段と、
前記複数の周辺制御手段にそれぞれに設定される複数の設定データを記憶する記憶手段と、
前記主制御手段とは別に設けられた設定手段と、を備えた電子機器で実行される起動方法であって、
電源投入後、前記主制御手段に前記設定手段に起動指令を出力させるステップと、
前記主制御装置に、前記起動指令の出力後に所定の初期設定処理を実行させるステップと、
前記設定手段に、前記主制御手段から指令が出力されることに応じて、前記記憶手段に記憶された複数の設定データを前記複数の周辺制御手段に順に設定させるステップと、を含む電子機器の起動方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate