説明

携帯機器および撮像装置

【課題】コスト低減、チップサイズの削減を図るとともに、起動時間の短縮化を図る。
【解決手段】第1CPU201は、第1駆動手段と第2駆動手段を制御するための第1プログラムと第2プログラムをサブマイコン206の揮発性メモリ209に転送する際には、まず第1プログラムと第2プログラムの一方の転送を開始し、サブマイコンから受信完了を受信すると、第1プログラムと第2プログラムの他方の転送を開始するとともに、並行して第1駆動手段または第2駆動手段の制御開始命令を送信し、第2CPU207は、制御開始命令を受信した後、メインマイコンからの第1プログラムと第2プログラムの他方を受信するのと並行して、第1プログラムと第2プログラムの一方にしたがって第1駆動手段または前記第2駆動手段の制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のCPUを有する携帯機器および撮像装置に関するものである。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオ等の携帯機器は、機能の多様化が進んでいる。例えば、手振れ補正機能、高速静音なズーム、および、AF(オートフォーカス)機能、画像認識技術を用いた顔認識機能などが挙げられる。このように、複雑で処理に時間を要する機能を実現するために、CPU(Central Processing Unit;中央演算処理ユニット)を複数持ったシステムを採用する携帯機器が増えてきている。このことによって、一般的な機能の処理を行うメインCPUと、複雑な処理が必要な機能の処理を行うサブCPUとに、CPU負荷を分散することで、高速処理化を実現している。
【0003】
一方、複数のCPUを有することによってコストやチップサイズが増大することが懸念される。その改善策としては、複数のCPUに対して、プログラムを格納しておく不揮発性メモリを一つにすることによって、コストやチップサイズを削減することが図られている。すなわち、不揮発性メモリはメインCPUを含むマイクロコントローラ(以下、メインマイコン)上にのみ持つ。そして、起動時にメインマイコンから、サブCPUを含むマイクロコントローラ(以下、サブマイコン)の揮発性メモリにプログラムを転送し、揮発性メモリ上でサブCPUの処理を実行する。また、プログラムを揮発性メモリで実行することで、不揮発性メモリと比較してメモリアクセス時間が速くなり、高速処理が実現できるという効果も得られる。
【0004】
しかし、このようなシステムにおいては、サブCPUで制御する周辺デバイスを起動させるには、プログラムの転送が終了するまで起動処理を開始できず、機器全体の起動に時間を要するものであった。デジタルカメラやデジタルビデオのような携帯機器においては、電源が切られている状態からでも、すぐに起動し、使用可能な状態になることが望まれている。
【0005】
特許文献1では、転送するプログラムを分割圧縮して不揮発性メモリに格納しておき、送信側のCPUがプログラムを分割して転送した後、受信側のCPUでは揮発性メモリ上に順次展開して実行することで起動時間を短縮するという技術が提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−26318号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、メインCPUおよびサブCPUで制御する周辺デバイスの駆動を行う際、制御開始時に制御回路に突入電流が発生することがある。メインCPUとサブCPUとで、周辺デバイスの制御開始タイミングが同時に発生した場合、それぞれの周辺デバイスの突入電流が重なってしまい、電源電圧が不安定になってしまう。そのため、電池残量が充分あるにも拘らず、バッテリー低下を誤検出する虞があった。
【0008】
また、沈胴式のレンズ鏡筒を有するデジタルカメラにおいては、電源釦が押された後、ズームレンズの動作が開始されるまでに時間を要すると、ユーザーは電源釦を押していないと誤解してしまう。サブCPUでズームレンズを制御するようなシステムでは、プログラム転送に時間がかかるとそのような誤解を生じさせる虞があった。
【0009】
(発明の目的)
本発明の目的は、コスト低減、チップサイズの削減を図るとともに、起動時間の短縮化を図ることのできる携帯機器および撮像装置を提供しようとするものである。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明は、システム全体の制御を行う第1CPU、および複数のプログラムを格納する不揮発性メモリを有するメインマイコンと、第1駆動手段、第2駆動手段を制御するためのプログラムが前記メインマイコンの不揮発性メモリから転送される揮発性メモリ、および前記揮発性メモリに転送されたプログラムにしたがって前記第1駆動手段と前記第2駆動手段の制御を行う第2CPUを有する少なくとも一つのサブマイコンとを有する携帯機器において、前記メインマイコンの不揮発性メモリが、前記第1駆動手段を制御するための第1プログラムと前記第2駆動手段を制御するための第2プログラムとを分割して格納しており、前記第1CPUが、前記第1プログラムと前記第2プログラムを前記サブマイコンの揮発性メモリに転送する際には、まず前記第1プログラムと前記第2プログラムの一方の転送を開始し、前記サブマイコンから受信完了を受信すると、前記第1プログラムと前記第2プログラムの他方の転送を開始するとともに、並行して前記第1駆動手段または前記第2駆動手段の制御開始命令を送信し、前記第2CPUは、前記制御開始命令を受信した後、前記メインマイコンからの前記第1プログラムと前記第2プログラムの他方を受信するのと並行して、前記第1プログラムと前記第2プログラムの一方にしたがって前記第1駆動手段または前記第2駆動手段の制御を行う携帯機器とするものである。
【発明の効果】
【0011】
本発明によれば、コスト低減、チップサイズの削減を図るとともに、起動時間の短縮化を図ることができる携帯機器または撮像装置を提供できるものである。
【図面の簡単な説明】
【0012】
【図1】本発明の実施例1に係る撮像装置の概略構成を示すブロック図である。
【図2】実施例1に係るメインマイコンとサブマイコンを示すブロック図である。
【図3】実施例1に係るサブマイコンのメモリマップを示す図である。
【図4】実施例1に係る第1プログラムの転送処理のフローチャートである。
【図5】実施例1に係る第2プログラムの転送処理のフローチャートである。
【図6】実施例1に係るレンズ鏡筒を示す断面図である。
【図7】実施例1に係る撮像装置の電源投入時の動作を示すフローチャートである。
【図8】実施例1に係るレンズ鏡筒の繰り出し処理のフローチャートである。
【図9】実施例1に係るレンズ鏡筒の沈胴処理のフローチャートである。
【図10】実施例2に係るメインマイコンとサブマイコンを示すブロック図である。
【発明を実施するための形態】
【0013】
本発明を実施するための形態は、以下の実施例1および2に示す通りである。
【実施例1】
【0014】
図1は本発明の実施例1に係るデジタルカメラなどの撮像装置100の概略構成を示すブロック図である。
【0015】
図1において、101はレンズ鏡筒であり、ズームレンズ102、絞りシャッタ103、防振(IS)を実現する補正レンズ104、フォーカスレンズ105を具備している。106はズームレンズ102を制御するズーム制御部、107は絞りシャッタ103を制御する絞りシャッタ制御部、108は補正レンズ104を制御するIS制御部、109はフォーカスレンズ105を制御するフォーカス制御である。110はレンズシステム制御部である。
【0016】
111はCCDやCMOS等からなる撮像素子である。112はAFE(アナログ・フロントエンド)回路であり、タイミングパルス発生(TG)回路や相関2重サンプリング(CDS)回路、A/D変換器などによって構成される。このAFE回路112は、撮像素子111によって変換されたアナログの電気信号を特定のサンプリング周期でデジタル信号へと変換する。113はAFE回路112からの信号に対して画素補間処理や色変換処理を行い、画像データとして、DRAMやSRAMなどで構成される画像メモリ114に転送する画像処理回路である。
【0017】
115はTFT_LCD(薄膜トランジスタ駆動型液晶表示器)等により構成される画像表示部であり、撮影によって得られた画像データの表示を行うと共に、特定の情報(例えば、撮影情報)等を表示する。また、画像表示部115は撮像素子111の出力信号にて生成される画像データを逐次表示することで電子ファインダ機能を実現する。116はカメラシステム制御部であり、ユーザーの操作に応じて、周辺デバイスに制御命令を送る。
【0018】
117は操作部であり、撮影動作においては、この操作部117に含まれるレリーズ釦が押下される。レリーズ釦が押下されると、カメラシステム制御部116は、最適の露出値もしくはユーザーによって設定されている露出値となるようにレンズシステム制御部110に指示する。これにより、絞りシャッタ制御部107および絞りシャッタ103により適正な絞り位置が設定される。また、AFE回路112に対してはゲイン設定を指示する。さらに、カメラシステム制御部116は、被写体の距離に応じてピントが最適となるようにレンズシステム制御部110に指示する。これにより、フォーカス制御部109を介して所望とされるフォーカス位置にフォーカスレンズ105が設定される。その状態で、撮像素子111への露光が開始され、一定時間が経過した後、絞りシャッタ103が閉じられることで露光が終了する。
【0019】
118はI/F(インターフェース)部であり、上記の露光時に生成された画像データを記録部119へ出力する。記録部119は、フラッシュメモリより成るメモリカードなどの記録媒体の制御を行う。なお、記録媒体はカメラに内蔵されたメモリ領域であってもよい。120は電源部である。
【0020】
上記撮像装置100においては、レンズ鏡筒101を制御するレンズシステム制御部110、ズーム制御部106からフォーカス制御部109までの各制御部と、その他のシステムを制御するカメラシステム制御部116とでは、異なるCPU上で処理が行われる。
【0021】
図2に、二つのCPUとその周辺装置(ペリフェラル)のハードウェア構成を示す。
【0022】
メインマイコン200は、CPU201、DMAC(Direct Memory Access Controller)202、RAM203、ROM204およびSIO(Serial Input/Output)205などから構成される。サブマイコン206も同様に、CPU207、DMAC208、RAM209、ROM210およびSIO211などから構成されるが、ROM210は転送プログラムを記憶するだけの小容量のものである。
【0023】
上記撮像装置100においては、メインマイコン200にて、図1のカメラシステム制御部116の処理が行われる。また、サブマイコン206にて、図1のレンズシステム制御部110およびズーム制御部106からフォーカス制御部109までの各制御部の処理が行われる。メインマイコン200内のROM204は不揮発性メモリであるため、電源が供給されていないときでもデータを保持する(格納しておく)ことが可能である。また、サブマイコン206内のROM210は容量が限られている。そのため、電源部120からの電源が供給されていない時の、サブCPU207で実行されるプログラムは、メインマイコン200内のROM204に格納するようにしている。電源投入時には、サブCPU207は、SIO205および211を介してプログラムを受信してRAM209に格納し、格納したプログラムを実行する。
【0024】
ここで、DMAC208について説明する。DMACとは、メモリ−メモリ間、もしくは、メモリ周辺装置間で高速にデータ転送を行うためのコントローラである。CPUでは、データ転送開始時に転送元アドレスおよび転送先アドレス、転送サイズを設定することで、転送中にCPUを介することなく自動的にデータ転送を行うことが可能となる。DMACを使用することによって、プログラム転送と同時に、CPUでは別の処理を行うことができる。
【0025】
メインマイコン200は、転送元アドレスとしてROM204上でサブCPU用プログラムが格納されているメモリ領域を、転送先アドレスとしてSIO205の送信バッファを、それぞれ設定する。サブマイコン206は、転送元アドレスとしてSIO211の受信バッファを、転送先アドレスとしてRAM209上でプログラムを格納するメモリ領域を、それぞれ設定する。転送を開始すると、DMA転送によってROM204からSIO205へとプログラムが転送される。次いで、SIO205とSIO211とのシリアル通信によって、SIO211にデータが転送される。さらには、SIO211とRAM209のDMA転送によってRAM209へと転送される。このようにして、CPUを介することなく、プログラム転送を実現することが可能となる。
【0026】
図3は、サブマイコン206のアドレス空間を示している。本実施例1におけるサブマイコン206では、メモリマップドI/O方式によってI/Oが割り振られており、0x00000000から0xFFFFFFFFまでの4GBの中でメモリおよびI/Oが割り振られている。
【0027】
0x00000000はリセットベクタである。リセットベクタは、サブマイコン206に電源が供給された後、ハードウェアリセットがかかると、最初に処理が実行される領域である。このリセットベクタには、最初に実行するプログラムの先頭アドレスが書かれており、リセットベクタが実行されるとプログラムカウンタ(PC)にそのアドレスが書き込まれる。PCとは、CPUで次に実行すべき命令が書き込まれているレジスタであり、このレジスタにアドレスを書き込むことで処理をジャンプさせることができる。サブマイコン206では、初期状態でプログラムを保持できる領域はROM210のみである。したがって、リセットベクタには、ROM210の先頭アドレスである0x0000F800が書き込まれており、ROM210に格納されている転送プログラムを実行することが可能となる。
【0028】
0x00000004から0x0000F7FFまでは、RAM209のメモリ領域として割り振られている。この領域は、最初に転送されるプログラムが格納されている第1プログラム領域と、第1プログラムが実行されるのと並行して転送されるプログラムが格納されている第2プログラム領域とに分けられている。
【0029】
0x00FFE000以降は、I/O領域として割り振られている。I/Oとしては、SIO211を始め、不図示の汎用入出力ポートやその他のペリフェラルなどがある。メモリマップドI/O方式によってメモリ空間にI/Oが配置されているため、I/Oにアクセスする際にもメモリにアクセスするのと同様のアドレス指定を行うことで、ペリフェラルを利用することが可能である。
【0030】
ここで、プログラムを分割して生成する生成手段と、サブマイコン206上でそれらのプログラムを実行する実行手段について説明する。
【0031】
携帯機器などの組み込み機器においては、CPU上で実行するプログラムの作成手段として、クロスコンパイルという手段が用いられている。これは、一旦、パソコンなどのホストマシンでプログラムを作成し、実行可能なバイナリデータに変換したものをターゲットマシンに転送するという方法である。プログラム言語で書かれたプログラム(ソースコード)は、コンパイラと呼ばれる、プログラム言語から機械語に変換するソフトウェアにて機械語のプログラム(オブジェクトコード)に変換される。機能ごとにソースコードを分割してプログラムを作成することで、生成されるオブジェクトコードも分割されて生成される。分割されたオブジェクトコードからCPU上で実行可能なプログラム(バイナリコード)を生成するには、リンカと呼ばれるオブジェクトコードを結合するソフトウェアにて、一つのプログラムに結合する必要がある。リンカでは、オブジェクトコードを結合する際に、リロケーション情報と呼ばれる、各オブジェクトコードをメモリ上で配置するアドレス情報に基づいて、実アドレスが割りつけられる。この処理によって、分割されたオブジェクトコードから他のコードを参照することが可能となる。
【0032】
第1プログラム領域に割り当てられるオブジェクトコード群と第2プログラム領域に割り当てられるオブジェクトコード群とで別々にリンクを行うことで、二つのバイナリコードを生成することが可能である。それぞれのプログラム間でコードを参照するためには、互いのアドレス情報さえ分かっていれば参照することができる。
【0033】
サブマイコン206上でのプログラムのアクセス方法について、具体的に説明する。
【0034】
第1プログラム領域は、メインマイコン200からの制御命令を受信し、命令内容を解析する命令受信・解析部と、最初に駆動を行うデバイスの起動処理が記述されている起動処理部とで構成される。起動処理は、例えば図8で後述するズーム繰り出し処理や図9で後述するフォーカス沈胴処理である。第2プログラム領域は、起動処理完了後の各デバイスの制御処理が記述されている制御処理部によって構成される。制御処理は、例えば図8で後述するフォーカス繰り出し処理や図9で後述するズーム沈胴処理である。メインマイコン200とサブマイコン206との間では、決められた通信プロトコルによってデータの送受信が行われている。命令受信・解析部では、データを受信し、受信したデータからこの通信プロトコルに従って、命令内容の解析を行う。命令内容が、例えば、起動処理であった場合には、第1プログラム領域の起動処理部を実行する。その他の制御処理であった場合には、第2プログラム領域の制御処理部を実行する。そのため、第2プログラム領域の先頭アドレスである0x00007C00に実際に処理が記述されている領域のオフセットアドレスを加算したアドレスにジャンプして制御処理を実行する。但し、第2プログラムの転送が完了していない場合に、そのアドレスをアクセスしようとするとCPUが誤作動する虞がある。したがって、転送終了していない状態で、メインマイコン200から第2プログラム領域の命令が送信された場合には、メインマイコン200に対してエラーを返信する。
【0035】
次に、サブマイコン206に電源が投入され、すべてのプログラムの受信が完了するまでの一連の処理について、図4および図5のフローチャートを用いて説明する。
【0036】
図4は、電源投入から第1プログラムの受信完了までを示すフローチャートである。
【0037】
サブマイコン206に電源が投入される(S100)と、前述したようにPCに転送プログラムのアドレスを設定し、プログラム転送処理を開始する(S101)。転送プログラムでは、DMAC208に対してデータ転送情報を設定する(S102)。転送元アドレスはI/O領域に割り振られているSIOの受信バッファアドレスであり、転送先アドレスは第1プログラム領域の先頭アドレスである0x00000004、転送サイズは31kバイトである。次に、送受信割り込みを許可して、通信イネーブル信号を有効とすることで通信可能状態とする(S103)。メインマイコン200は、この信号を監視しており、この信号が通信可能状態となると、プログラムの転送を開始する。
【0038】
次のステップS104からステップS107までの処理、および、二回目以降のステップS103の処理は、SIO211とDMAC208とによって行われる。
【0039】
受信データを受信する(S104のYES)と受信割り込みが発生し、通信イネーブル信号を無効として(S105)、次のデータが送信されないようにする。この状態で、受信バッファから転送先のRAM209の第1プログラム領域にプログラムをコピーする(S106)。コピーが終了すると、指定されたサイズのデータ転送が終了したかを判定し(S107)、終了していなければ(S107のNO)再び通信イネーブル信号を有効とする(S103)。この処理を、指定されたサイズのデータ転送が終了するまで順次繰り返すことでプログラム転送を実現する。
【0040】
指定されたサイズのデータ転送が終了したと判定する(S107のYES)と、次にチェックサム計算を行う(S108)。チェックサムとは、データを送受信する際の誤り検出方法の一つである。転送したデータを数値と見なして、その合計を取った値と、予め計算しておいたデータとを比較することで、転送時に通信路のノイズなどによってデータが破壊されていないかのチェックを行うことが可能となる。チェックサムの比較(S109)を行った結果、値が正しい場合(S109のOK)には、正常に受信が完了したことをメインマイコン200に対して返信する(S110)。一方、比較結果が誤っている場合(S109のNG)には、メインマイコン200に転送エラー命令を返す(S111)。
【0041】
メインマイコン200は、転送エラー命令が返ると、再送などの誤り訂正処理を行うか、もしくは、画像表示部115にエラー警告を表示して起動処理を終了する。
図5は、図4で正常に転送処理が終了した後、第2プログラムの受信と並行して第1プログラムでサブマイコン206の制御を行うことを示すフローチャートである。
【0042】
図4のステップS110で正常に第1プログラムの受信を完了すると、PCに第1プログラム領域の先頭アドレスである0x00000004を設定して処理をジャンプさせ、第1プログラムの処理を開始する(S200)。
【0043】
ステップS201からステップS211までの処理は、第1プログラムを受信する処理(S201〜S211)と同様であり、DMAC208に第2プログラム領域の転送情報を設定することでCPUを介さずにプログラム転送を行う。このときの転送元アドレスは受信バッファであり、転送先アドレスは第2プログラム領域の先頭アドレスである0x00007C00、転送サイズは31kバイトである。
【0044】
ステップS203にて第2プログラムのデータの受信の判定を行い、データを受信していない場合(S203のNO)には、メインマイコン200からサブマイコン206に対する制御命令(制御開始命令)を受信したか否かの判定を行う(S213)。制御命令を受信したことを判定する(S213のYES)と、サブCPU207は、送られて来た命令に従ってサブマイコン206に接続されているデバイスの制御を開始する(S214)。
【0045】
第2プログラムデータ及び制御(開始)命令はメインCPU201からサブCPU207にSIO205,211を介して通信される。サブCPU207の第1プログラムの処理として、メインCPU201から送られたデータを受信し、第2プログラムのデータであるか、制御(開始)命令であるかを判定する。判定した結果、第2プログラムのデータであればメモリ上の第2プログラム領域(図3参照)にデータをコピーし、制御(開始)命令であれば、デバイス(ズームまたはフォーカス)の制御を開始する。
【0046】
図5のステップS203とS213では、データ通信が発生しているかを常に監視して、データを受信した場合には、それがプログラムデータか制御(開始)命令のどちらであるかを判定して、その判定に応じて処理を実行する。また、データ通信が発生していない場合にはステップS203,S213がどちらもNOとなり、監視を繰り返すことを示している。プログラムデータはバイト単位で間欠的に送られており、その間に制御開始命令が発生して、プログラムデータのコピーとデバイスの制御演算処理がサブCPU207で同時に行われることを、「並行して」と表現している。
【0047】
次に、図6から図9までを用いて、撮像装置100における具体的な処理の例を示す。
【0048】
図6は、レンズ鏡筒101の光軸方向の断面図を示した図である。レンズ鏡筒101は、沈胴式鏡筒であり、図6(a)は繰り出し状態、図6(b)は沈胴状態を示している。
【0049】
図6において、レンズ鏡筒101は3群構成の鏡筒である。300はズームレンズ102の前群である第1レンズ群、301はズームレンズ102の後群および手振れ補正用の補正レンズ104である。また、絞りシャッタ103からなる第2レンズ群、302はフォーカスレンズ105である第3レンズ群である。各レンズ群は、DCモータやステッピングモータ、超音波モータなどのアクチュエータを動力源として、光軸方向に駆動するメカ機構となっている。第1レンズ群300および第2レンズ群301は、一つのアクチュエータの駆動に連動して撮像素子111からの距離や各群間の距離を変化させることで、ズーム機能を実現している。第3レンズ群302は単独のアクチュエータで駆動することが可能であり、フォーカスレンズ105を移動させることによるビント位置の調整を実現している。また、第2レンズ群301の一部である補正レンズ104は、光軸方向に対して垂直方向に移動させられることで、手振れの軽減を実現する。絞りシャッタ103は、絞りの開口径を変化させることで撮像素子111に露光される露光量の調整を行ったり、シャッタを全閉したりすることで露光を遮断することが可能である。
【0050】
レンズ鏡筒101の沈胴状態(図6(b)参照)は、各レンズ群が最も接近している状態であり、この沈胴長を短くすることで、カメラの小型化を実現している。第1レンズ群300および第2レンズ群301、すなわちズームレンズ102が沈胴した状態で、第3レンズ群302、すなわちフォーカスレンズ105を駆動すると、ズームレンズ102とフォーカスレンズ105とが衝突して破損する虞がある。したがって、この沈胴状態から繰り出し動作を行うためには、先にズームレンズ102を繰り出させた後、フォーカスレンズ105を駆動する必要がある。同様に、沈胴時にはフォーカスレンズ105を沈胴させた後に、ズームレンズ102を沈胴させる必要がある。このとき、フォーカスレンズ105と比較して、ズームレンズ102は沈胴状態から繰り出し状態となるまでの移動量が大きいため、繰り出し動作が完了するのに時間を要してしまう。そのため、レンズ鏡筒101の全体の繰り出し時間を短縮するように、ズームレンズ102の繰り出し動作が完了する前にフォーカスレンズ105の繰り出し動作を開始するようにしている。
【0051】
次に、撮像装置100に電源投入され、レンズ鏡筒101が繰り出され、もしくは、沈胴されるまでの処理の流れを説明する。
【0052】
図7は、電源投入から各モードでの起動までの処理を示すフローチャートである。電源投入(S300)後、起動モードが撮影モードであるか再生モードであるか否かの判定を行う(S301)。撮影モードであれば、レンズ鏡筒101が沈胴状態であるか否かの判定を行い(S302)、沈胴状態であればそのまま繰り出し処理を行う(S303)。一方、撮像装置100の電源ON状態で電池が抜かれるなどして、レンズ鏡筒101が繰り出したまま、電源OFF状態となる場合もあり、その状態で電源投入されると、ズームレンズ102およびフォーカスレンズ105のレンズ位置がリセットされる。そのために、一旦、沈胴処理(S303)を行った後に、通常の起動と同様の繰り出し処理を行う(S304)。その後は、撮影モードで起動(S305)を行う。
【0053】
また、起動モードが再生モードであった場合も、次にレンズ鏡筒101が沈胴状態であるか否かの判定を行い(S306)、沈胴状態であれば、そのまま沈胴状態で再生モードの起動を行う(S308)。一方、レンズ鏡筒1010が繰り出し状態で電源投入された場合には、レンズ鏡筒101の沈胴処理を行い(S307)、その後に再生モードで起動を行う(S308)。
【0054】
前述のように、繰り出し処理では、最初にズームレンズ102を駆動する必要がある。そのため、第1プログラムにはズーム駆動用プログラムが、第2プログラムにはそれ以外のプログラム(実プログラム、フォーカス駆動用プログラムが含まれる)が割り当てられる。沈胴処理では、最初にフォーカスレンズ105を駆動する必要がある。よって、第1プログラムにはフォーカス駆動用プログラムが、第2プログラムにはそれ以外のプログラム(実プログラム)が、それぞれ割り当てられる。メインマイコン200のROM204には、このような2種類のプログラムを格納しておき、起動モードおよび沈胴状態に応じて、転送するプログラムを変更する。
【0055】
次に、図8および図9を用いて、プログラム転送とレンズ鏡筒101の処理の流れを説明する。
【0056】
カメラシステム制御部116(メインマイコン200内のCPU201に相当)は、図7のステップS302での判定において、レンズ鏡筒101が沈胴状態と判定した場合、ステップS304にて図8に示す繰り出し処理を行う。また、ステップS302もしくはステップS306の判定において、レンズ鏡筒101が繰り出し状態と判定した場合には、ステップS303もしくはステップS307にて図9に示す沈胴処理を行う。
【0057】
繰り出し処理では、電源投入後、カメラシステム制御部116は、図8に示すように、レンズシステム制御部110(サブマイコン200内のCPU206に相当)に対してズーム駆動用プログラムの転送を開始する。レンズシステム制御部110は、プログラムを受信後、チェックサム判定が正常であれば、カメラシステム制御部116に対して受信完了命令を返信する。
【0058】
カメラシステム制御部116は、受信完了命令を受信すると、それ以外の実プログラムをレンズシステム制御部110に転送する。それと同時に、撮像素子111やAFE回路112などの撮像回路の電源投入を開始する。実プログラム転送開始後、撮像回路の突入電流を回避するタイミング(ピーク電流が重ならないタイミング)で、レンズシステム制御部110にズーム繰り出し開始命令を送信する。このように、実プログラムの転送とズーム繰り出し開始命令が平行して行われる。突入電流の検出は、電流検出回路により検出したり、あらかじめ突入電流時間を計測しておき、その時間経過を計測したりすることで検出する等がある。
【0059】
ズーム制御部109は、レンズシステム制御部110から制御開始命令を受けると、ズームレンズ102の繰り出し処理を開始する。ズーム制御部109は、駆動開始後、突入電流の発生を検出して、カメラシステム制御部116に通知する。カメラシステム制御部116は、このズーム制御部109の突入電流を回避して画像表示部115の電源を投入する。その後、カメラシステム制御部116には、実プログラムの転送完了と、画像表示部115の突入電流終了の通知がされる。また、ズームレンズ102がフォーカスレンズ105と衝突しない位置まで繰り出されたときに、レンズシステム制御部110からフォーカス制御部106を介してフォーカスレンズ105の駆動開始許可命令が通知される。
【0060】
これらの通知がすべて揃うと、フォーカス制御部106に繰り出し開始命令が送信され、ズームレンズ102とフォーカスレンズ105とが同時に繰り出し動作を行うこととなる。その後、各々のレンズが繰り出し位置まで到達すると、カメラシステム制御部116には繰り出し完了通知がなされ、繰り出し動作が完了する。
【0061】
次に、沈胴処理について、図9にしたがって説明する。
【0062】
電源投入後、カメラシステム制御部116(メインマイコン200内のCPU201)は、レンズシステム制御部110(サブマイコン200内のCPU206)に対してフォーカス駆動用プログラムの転送を開始する。レンズ鏡筒101の沈胴時は、その他の周辺デバイスの駆動は行われない。したがって、フォーカス駆動用プログラムの受信完了後、すぐにカメラシステム制御部116はフォーカス制御部109に沈胴命令を送信する。沈胴開始と同時に、実プログラム(ズーム駆動用プログラムを含む)の転送も開始する。このように、実プログラムの転送とフォーカス沈胴開始命令とが平行して行われる。レンズ鏡筒101の繰り出し時間を短縮するため、ズームレンズ102の駆動速度は、フォーカスレンズ105に対して高速に設定されている。そのため、沈胴時には、ズームレンズ102とフォーカスレンズ105とを同時に駆動すると衝突する虞があるため、沈胴時にはフォーカスレンズ105が沈胴した後、ズームレンズ102の沈胴動作を開始する。ズームレンズ102の沈動が完了した時点で、レンズシステム制御部110はカメラシステム制御部116にレンズ鏡筒101の沈胴完了を通知する。
【0063】
上記実施例1における撮像装置100は、以下の構成要素よりなる。被写体像を撮像して画像信号を出力する撮像手段である撮像素子111を有する。さらに、焦点距離を変更して被写体像の画角を変更するズームレンズ102およびズーム制御部106と、ピント位置を調整するフォーカスレンズ105、フォーカス制御部109とを有する。さらに、システム全体の制御を行う第1CPUであるCPU201、および複数のプログラムを格納する不揮発性メモリであるROM204を有するメインマイコン200を有する。さらに、ズーム制御部106とフォーカス制御部109を制御するプログラムが転送される揮発性メモリであるRAM209を有する。さらに、揮発性メモリに転送されたプログラムにしたがってズーム制御部106とフォーカス制御部109の制御を行う第2CPUを有するサブマイコン206を有する。
【0064】
上記ROM204は、ズーム制御部106を制御するための第1プログラムとフォーカス制御部109を制御するための第2プログラムとを分割して格納している。そして、メインマイコン200のCPU201は、第1プログラムと第2プログラムとをサブマイコン206のRAM209に転送する際には、まず第1プログラムと第2プログラムの一方の転送を開始する。そして、サブマイコン206から受信完了を受信すると、第1プログラムと第2プログラムの他方の転送を開始するとともに、並行してズーム制御部106またはフォーカス制御部109の制御開始命令を送信する。サブマイコン206のCPU207は、制御開始命令を受信した後、第1プログラムと第2プログラムの他方を受信するのと並行して、ズーム制御部106またはフォーカス制御部109の制御を行う。
【0065】
なお、上記ズーム制御部106の制御開始命令を発生するタイミングは、第1CPUによって行われる起動処理とズーム制御部106の制御処理とで生じる電気的な負荷が重ならないタイミングである。具体的には、撮像素子111および画像表示部115を制御する制御回路に流れる電流とズーム制御部106に流れる電流とでピーク電流が重ならないタイミングである。
【0066】
また、上記実施例1における撮像装置100は、以下の構成要素を有する。撮影モードか再生モードかを判定するモード判定手段(図7のステップS301)と、ズーム手段(および前記フォーカス手段に含まれる各レンズ)が繰り出し状態か沈胴状態かを判定する状態判定手段(図7のステップS302,S306)とを有する。
【0067】
そして、メインマイコン200のCPU201は、第1プログラムと第2プログラムとをRAM209に転送する際には、以下のようにする。つまり、図7ないし図9に示すように、モード判定手段によって判定された判定結果、および、状態判定手段によって判定された判定結果に応じて、第1のプログラムと第2のプログラムの順番を変更して転送するようにしている。
【0068】
上記のような構成にすることにより、第1、第2プログラムを格納するためのサブマイコン206内のROM210をなくし、あるいは転送プログラムだけを格納することでそのメモリ領域を減らすようにしている。よって、コストおよびチップサイズの削減を図ることができる。また、プログラム転送と周辺デバイスの制御開始命令を並行して行うようにしているので、起動時間の短縮化を図ることができる。さらに、第1CPU201によって行われる起動処理と第2CPU207によって行われるズーム駆動手段またはフォーカス駆動手段の制御開始とで生じる電気的な負荷が重ならないようにしている。よって、ピーク電流を低減させることができ、省電力化を実現することができる。
【実施例2】
【0069】
次に、本発明の実施例2に係る撮像装置について説明する。図10は、三つのCPUとその周辺装置(ペリフェラル)のハードウェア構成を示すブロック図である。なお。撮像装置の構成は、図1や図6と同様であるものとする。
【0070】
大容量の不揮発性メモリを持つメインマイコン400と、小容量の不揮発性メモリを持つ二つのサブマイコン406および412によって構成されている。メインマイコン400(CPU401)では、カメラシステム制御部116の制御が行われる。サブマイコン406(CPU407)では、レンズシステム制御部110およびズーム制御部106の制御が、サブマイコン412(CPU413)では、レンズシステム制御部110およびフォーカス制御部109の制御が、それぞれ行われる。また、絞りシャッタ制御部107およびIS制御部108は、サブマイコン406およびサブマイコン412のいずれかで制御が行われる。
【0071】
上記実施例1と同様に、サブマイコン406および412上の不揮発性メモリ容量は小容量であるため、電源投入時にプログラムを転送する必要がある。このとき、実施例1で説明したように、起動モード(撮影モードもしくは再生モード)およびズームレンズ102の沈胴状態の判定結果に応じて、ズームレンズ102およびフォーカスレンズ105のいずれかを先に駆動する必要がある。したがって、この判定結果に応じて、メインマイコン400からサブマイコン406または412にプログラムを転送する順番を変更する。
【0072】
また、複数の起動モードから選択されたモードを判定する、つまり撮影モードか再生モードかを判定するモード判定手段と、前記ズーム手段および前記フォーカス手段の状態を判定する状態判定手段とを有する。そして、モード判定手段によって判定された判定結果、および、状態判定手段によって判定された判定結果に応じて、第1のプログラムと前記第2のプログラムを転送する順番を変更して転送するようにしている。
【0073】
よって、実施例2においても、プログラムを格納するための不揮発性メモリをなくし、あるいはそのメモリ領域を減らすようにしているので、コストおよびチップサイズの削減を図ることができる。また、プログラム転送と周辺デバイスの制御開始命令を並行して行うようにしているので、起動時間の短縮化を図ることができる。さらに、実施例1と同様に、ピーク電流を低減でき、省電力化を実現することができる。
【0074】
上記実施例1および2では、CPUが二つまたは三つの場合を説明したが、四つ以上であってもよい。また、CPU間の通信がシリアル通信である例を示したが、バスで直接接続されていてもよい。
【0075】
(発明と実施例の対応)
本発明において、ズーム制御部106が本発明の第1駆動手段、ズーム制御手段に相当し、フォーカス制御部109が本発明の第2駆動手段、フォーカス制御手段に相当する。また、図7のステップS301の動作を行う部分が、本発明の、起動モードを判定するモード判定手段、撮影モードか再生モードかを判定するモード判定手段に相当する。また、図7のステップS302,S306の動作を行う部分が、本発明の、第1駆動手段または第2駆動手段の状態を判定する状態判定手段、ズームレンズが繰り出し状態か沈胴状態かを判定する状態判定手段に相当する。
【符号の説明】
【0076】
200 メインマイコン
201 メインCPU
202 データ転送装置
204 不揮発性メモリ
206 サブマイコン
207 サブCPU
208 データ転送装置
209 揮発性メモリ


【特許請求の範囲】
【請求項1】
システム全体の制御を行う第1CPU、および複数のプログラムを格納する不揮発性メモリを有するメインマイコンと、
第1駆動手段、第2駆動手段を制御するためのプログラムが前記メインマイコンの不揮発性メモリから転送される揮発性メモリ、および前記揮発性メモリに転送されたプログラムにしたがって前記第1駆動手段と前記第2駆動手段の制御を行う第2CPUを有する少なくとも一つのサブマイコンとを有する携帯機器において、
前記メインマイコンの不揮発性メモリは、前記第1駆動手段を制御するための第1プログラムと前記第2駆動手段を制御するための第2プログラムとを分割して格納しており、
前記第1CPUは、前記第1プログラムと前記第2プログラムを前記サブマイコンの揮発性メモリに転送する際には、まず前記第1プログラムと前記第2プログラムの一方の転送を開始し、前記サブマイコンから受信完了を受信すると、前記第1プログラムと前記第2プログラムの他方の転送を開始するとともに、並行して前記第1駆動手段または前記第2駆動手段の制御開始命令を送信し、
前記第2CPUは、前記制御開始命令を受信した後、前記メインマイコンからの前記第1プログラムと前記第2プログラムの他方を受信するのと並行して、前記第1プログラムと前記第2プログラムの一方にしたがって前記第1駆動手段または前記第2駆動手段の制御を行うことを特徴とする携帯機器。
【請求項2】
前記第1プログラムと前記第2プログラムの一方にしたがって前記第1駆動手段または前記第2駆動手段の制御を開始するタイミングは、前記第1CPUによって行われる起動処理と前記第2CPUによって行われる前記第1駆動手段または前記第2駆動手段の制御開始とで生じる電気的な負荷が重ならないタイミングであることを特徴とする請求項1に記載の携帯機器。
【請求項3】
複数の起動モードから選択されたモードを判定するモード判定手段と、
前記第1駆動手段または前記第2駆動手段の状態を判定する状態判定手段とを有し、
前記第1CPUは、前記第1プログラムと前記第2プログラムの一方を前記サブマイコンの揮発性メモリに転送する際には、前記モード判定手段によって判定された判定結果、および前記状態判定手段によって判定された判定結果に応じて、前記第1のプログラムと前記第2のプログラムを転送する順番を変更して転送することを特徴とする請求項1または2に記載の携帯機器。
【請求項4】
前記第2CPUは、転送プログラムを格納する不揮発性メモリを有することを特徴とする請求項1ないし3のいずれかに記載の携帯機器。
【請求項5】
請求項1ないし4のいずれかに記載の携帯機器としての撮像装置であって、
前記第1駆動手段であるズーム制御手段と、
前記第2駆動手段であるフォーカス制御手段とを有することを特徴とする撮像装置。
【請求項6】
請求項3に記載の携帯機器としての撮像装置であって、
前記第1駆動手段であるズーム制御手段と、
前記第2駆動手段であるフォーカス制御手段とを有し、
前記モード判定手段は、起動モードが撮影モードか再生モードかを判定し、
前記状態判定手段は、前記ズーム制御手段により制御されるズームレンズが繰り出し状態か沈胴状態かを判定することを特徴とする撮像装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−204326(P2010−204326A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−48821(P2009−48821)
【出願日】平成21年3月3日(2009.3.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】