(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-19
(45)【発行日】2024-04-30
(54)【発明の名称】通信装置、通信装置の制御方法
(51)【国際特許分類】
H04L 12/28 20060101AFI20240422BHJP
【FI】
H04L12/28 200Z
(21)【出願番号】P 2019083331
(22)【出願日】2019-04-24
【審査請求日】2022-04-14
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】四宮 岳史
(72)【発明者】
【氏名】池田 宏治
【審査官】大石 博見
(56)【参考文献】
【文献】米国特許出願公開第2003/0120820(US,A1)
【文献】特開2018-061284(JP,A)
【文献】特開2009-081800(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
外部装置と通信するための通信デバイスと、
前記通信デバイスを制御する制御部と、を備える通信装置であって、
非動作状態の前記通信デバイスを起動して外部装置との通信を開始する場合、前記制御部は前記通信デバイスが有する所定の通信方式の通信インターフェースの使用を指示する信号を前記通信デバイスに入力し、
前記通信デバイスは、
電源オフ状態から起動する場合、前記通信デバイスのシステムソフトウェアを起動する起動シーケンスに先立ち、前記通信デバイスが有する所定の通信方式の通信インターフェースについての通信設定を行う設定シーケンスを開始し、
前記通信デバイスは、
電源オフ状態から起動する場合、前記設定シーケンスの完了を待つことなく前記通信デバイスのシステムソフトウェアを起動する起動シーケンスを実行することを特徴とする通信装置。
【請求項2】
前記通信デバイスに制御信号を送信する送信部を備え、
前記制御部が、前記通信デバイスを起動する起動シーケンスを動作させるとともに、前記所定の通信方式の通信インターフェースを外部装置との通信に用いるか否かを判断し、前記送信部は、判断結果に応じて、前記通信デバイスに前記設定シーケンスを実行させる制御信号を送信することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記通信デバイスに制御信号を送信する送信部を備え、
前記制御部が、前記起動シーケンスと前記設定シーケンスを並行して実行されるように前記通信デバイスを制御した後に、前記所定の通信方式の通信インターフェースを前記外部装置との通信に用いるか否かを判断し、前記送信部は、判断結果に応じて、前記通信デバイスに前記設定シーケンスを停止する制御信号を送信することを特徴とする請求項1に記載の通信装置。
【請求項4】
前記通信デバイスは、前記所定の通信方式に従う通信インターフェースと、前記所定の通信方式以外の通信インターフェースを有し、いずれの通信インターフェースを通信に用いるかをユーザに選択させるインターフェースを備えることを特徴とする請求項1から3の何れか1項に記載の通信装置。
【請求項5】
前記所定の通信方式は、Ethernet(登録商標)規格に則した有線通信であることを特徴とする請求項1から4の何れか1項に記載の通信装置。
【請求項6】
前記設定シーケンスは、通信相手に応じて通信設定を自動的に行うシーケンスであることを特徴とする請求項5に記載の通信装置。
【請求項7】
前記送信部は、専用の信号線を介して前記制御信号を送信することを特徴とする請求項2または3に記載の通信装置。
【請求項8】
前記制御信号は1ビットの信号であることを特徴とする請求項7に記載の通信装置。
【請求項9】
前記通信デバイスは、前記通信デバイスを制御するオペレーティングシステムを有し、前記起動シーケンスにおいて前記オペレーティングシステムを起動することを含むことを特徴とする請求項1から8の何れか1項に記載の通信装置。
【請求項10】
前記オペレーティングシステムは、Linux(登録商標)であることを特徴とする請求項9に記載の通信装置。
【請求項11】
外部装置と通信するための通信デバイスを備える通信装置の制御方法であって、
非動作状態の前記通信デバイスを起動して外部装置との通信を開始する場合、前記通信デバイスが有する所定の通信方式の通信インターフェースの使用を指示する信号を前記通信デバイスに入力し、
電源オフ状態から起動する場合、前記通信デバイスのシステムソフトウェアを起動する起動シーケンスに先立ち、前記通信デバイスが有する所定の通信方式の通信インターフェースについての通信設定を行う設定シーケンスを開始し、
電源オフ状態から起動する場合、前記設定シーケンスの完了を待つことなく前記通信デバイスのシステムソフトウェアを起動する起動シーケンスを実行することを特徴とする通信装置の制御方法。
【請求項12】
コンピュータを請求項1に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置と通信を行うための通信デバイスを備える通信装置における、通信デバイスを起動時の制御に関する。
【背景技術】
【0002】
1000Base-T(IEEE 802.3ab)で示される通信システムにおける物理層回路では、通信先との通信の物理的な設定(リンク)を確立するために、オートネゴシエーション(automatic negotiation)機能が利用される。
【0003】
このオートネゴシエーション機能を用いて通信設定を行う場合、物理層回路や接続ケーブルなどの条件により変化するものの、一般には2~5秒程度の時間を要する。そして、オートネゴシエーション機能の実行中は通信を行うことができないという制約がある。
【0004】
従って、外部装置と通信を開始するに際して未だオートネゴシエーションが完了していないとすると、オートネゴシエーションが完了するまで(2~5秒程度の時間)通信を開始することができないという課題がある。
【0005】
この課題に対し、特許文献1は、過去にオートネゴシエーションした結果を不揮発性メモリに保存しておき、不揮発性メモリに保存した情報に基づいて物理層回路を設定することのできる通信装置を開示している。
【0006】
また、特許文献2は、通信相手が省電力モードに遷移する際に物理層回路の設定内容(オートネゴシエーションの結果)を保持しておき、通信相手が省電力モードから復帰する場合に保持していた設定内容を使う通信装置を開示している。
【先行技術文献】
【特許文献】
【0007】
【文献】国際公開2016-120976号公報
【文献】特開2014-082602号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、これらの特許文献で開示された先行技術には次のような課題がある。
【0009】
すなわち、特許文献1や特許文献2で開示された先行技術を用いたとしても、過去にオートネゴシエーションを行って物理層回路の通信設定内容を保存してから、その保存した通信設定内容を使用するまでにネットワーク構成に変更が生じた場合は、再度オートネゴシエーションが必要となる。
【0010】
つまり、このような場合は、オートネゴシエーションが完了するまで通信の開始を待つ必要がある。
【課題を解決するための手段】
【0011】
上記課題を解決するために本発明の通信装置は、外部装置と通信するための通信デバイスと、前記通信デバイスを制御する制御部と、を備える通信装置であって、非動作状態の前記通信デバイスを起動して外部装置との通信を開始する場合、前記制御部は前記通信デバイスが有する所定の通信方式の通信インターフェースの使用を指示する信号を前記通信デバイスに入力し、前記通信デバイスは、電源オフ状態から起動する場合、前記通信デバイスのシステムソフトウェアを起動する起動シーケンスに先立ち、前記通信デバイスが有する所定の通信方式の通信インターフェースについての通信設定を行う設定シーケンスを開始し、前記通信デバイスは、電源オフ状態から起動する場合、前記設定シーケンスの完了を待つことなく前記通信デバイスのシステムソフトウェアを起動する起動シーケンスを実行することを特徴とする。
【発明の効果】
【0012】
通信デバイスを起動して通信を開始する際、通信デバイスの起動処理とオートネゴシエーション処理を並行して動作させることで、通信デバイスによる通信が可能になるまでの時間を短縮することができる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態による通信装置の構成を説明するための図である。
【
図2】第1の実施形態による通信装置の外観を説明するための図である。
【
図3】第1の実施形態による通信装置を利用する際のネットワーク構成を説明するための図である。
【
図4】第1の実施形態による通信装置のGUIを説明するための図である。
【
図5】第1の実施形態による通信装置の動作を示すフローチャートである。
【
図6】第1の実施形態による通信装置が有する通信デバイスの動作を示すフローチャートである。
【
図7】第1の実施形態による通信装置の動作タイミングを示すタイムチャートである。
【
図8】第2の実施形態による通信装置の動作を示すフローチャートである。
【
図9】第3の実施形態による通信装置の構成を説明するための図である。
【
図10】第3の実施形態による通信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下に、本発明の通信装置の実施形態を添付の図面に基づいて詳細に説明する。
【0015】
(第1の実施形態)
第1の実施形態としてネットワーク機能を備えたデジタルカメラを例示して説明する。
【0016】
<装置説明>
図1は、デジタルカメラの構成を示すブロック図である。
【0017】
A100は、デジタルカメラ本体である。デジタルカメラA100は、カメラ装置部B100と、外部装置との通信機能を担う通信装置部C100から構成される。
【0018】
カメラ装置部B100と通信装置部C100は、高速I/F部(B111、C105)などで電気的に接続されており、互いに協調して動作することで、デジタルカメラとしての機能を実現する。
【0019】
カメラ装置部B100について、より詳細に説明する。
【0020】
システムバスB114に対して、CPU(B101)、メモリB102、不揮発性メモリB103、操作部B104、表示部B105、記憶媒体I/F(B106)、撮像部B108、画像処理部B109、GPIO出力部B110、高速I/F部B111、バッテリB112、電源出力部B113が接続されている。
【0021】
CPU(B101)は、カメラ装置部B100の全体についての制御をつかさどる。CPU(B101)は、カメラ装置部B100の各構成を制御し、ユーザによる設定と操作に応じて、撮影した画像を記録する。
【0022】
メモリB102は書き換え可能なメモリであり、カメラ装置部B100を制御するプログラムの作業領域として機能する。メモリB102は、例えばRAM(半導体素子を利用した揮発性のメモリ)などからなる。
【0023】
不揮発性メモリB103は、カメラ装置部B100を制御するプログラム、画像データ、音声データ、プログラムが使用するデータ、その他データを格納する。また、不揮発性メモリB103は、デジタルカメラA100のユーザ設定情報などの電源サイクルを超えて保持する必要のあるデータも格納する。
【0024】
デジタルカメラA100に電源が投入されると、カメラ装置部B100にも同時に電源が投入される。そして、CPU(B101)は、不揮発性メモリB103からプログラムを読み込み、カメラ装置部B100の制御を開始する。不揮発性メモリB103は、例えばフラッシュメモリやEEPROMなどからなる。
【0025】
操作部B104は、複数のボタンやダイヤルなどから構成される入力デバイスであり、ユーザ入力による指示をデジタルカメラA100に伝えるために使用される。
【0026】
表示部B105は、CPU(B101)の制御に基づいて画像やGUI(Graphical User Interface)を構成する画面を表示する。表示部B105は、例えば、液晶表示装置(LCD)とそれをコントロールするLCDドライバユニットなどで構成される。CPU(B101)は、プログラムに従って、表示制御信号を生成し、映像信号に応じた表示が表示部B105に出力されるように、カメラ装置部B100の各部を制御する。
【0027】
記憶媒体I/F(B106)は、メモリカードなどの記憶媒体B107を装着するためのインターフェースである。CPU(B101)の制御に基づいて、記憶媒体I/F(B106)に装着された記憶媒体B107からのデータの読み出しや、記憶媒体B107に対するデータの書き込みを行う。
【0028】
記憶媒体B107は、撮影で得られた画像データやその他データを保持するための書き換え可能な不揮発性メモリである。記憶媒体B107として、例えば、SDカードやコンパクトフラッシュ(登録商標)カードが用いられる。
【0029】
撮像部B108は、CPU(B101)の制御に基づいて、映像(光)を電気的な映像信号に変換し、映像信号を内部バスB114に出力する。撮像部B108は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、例えば、CMOS撮像素子(CMOSイメージセンサ)やCCD撮像素子(CCDイメージセンサ)が用いられる。
【0030】
画像処理部B109は、CPU(B101)の制御に基づいて、不揮発性メモリB103や記録媒体B107に格納された画像データや、撮像部B108が出力する映像信号に対して各種の画像処理を施す。画像処理部B109が行う画像処理としては、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理、顔検出処理などが含まれる。画像処理部B109は、特定の画像処理を施すための専用の回路で構成されていてもよい。なお、画像処理の種別によっては画像処理部B109を用いずに、CPU(B101)がプログラムに従って画像処理を施すことも可能である。
【0031】
GPIO出力部B110は、CPU(B101)の制御に基づいて、GPIO(General Purpose Input Output)コネクタに出力する電圧レベル(HighあるいはLow)を制御する。カメラ装置部側のGPIO出力部B110と通信装置側のGPIO入力部C104は、電気的に接続されており、GPIO出力部B110で出力した電圧レベルをGPIO入力部C104で読み取ることができる。本実施形態では、GPIO出力部B110とGPIO入力部C104の間で、有線LAN部C107を外部装置との通信に使用するか否かを示す信号と、通信装置部C100を省電力状態や電源オフ状態などの非動作状態から起動して動作状態に復帰させるための信号との2つのGPIOが接続されている。すなわち、GPIO出力部は、外部装置との通信に有線LANを使用するか否かの判断結果に応じて制御信号を送信する送信部として機能する。
【0032】
高速I/F部B111は、CPU(B101)の制御に基づいて、高速I/Fに接続されている機器と各種データの送受信を行うことができる。高速I/Fとして、例えば、PCI ExpressやInfinibandなどの拡張バスが用いることができ、その場合、高速I/F部B111は、PCI ExpressコントローラやInfinibandコントローラに相当する。
【0033】
カメラ装置部側の高速I/F部B111と通信装置側の高速I/F部C104は電気的に接続されており、高速I/F部B111が出力したデータを、高速I/F部C105が受信することができる。同様に、高速I/F部C105が出力したデータを、高速I/F部B111が受信することも可能である。この高速I/Fの接続により、カメラ装置部B100と通信装置部C100の間でデータや制御コマンドの送受信を行うことができる。
【0034】
バッテリB112は、デジタルカメラA100が動作するための電力を供給する電源ユニットである。バッテリB112は、充電可能な二次電池からなるユニットで、図示しない外部のバッテリ充電器により充電することができる。バッテリB112は、カメラ装置部B100に電力を供給するとともに、電力出力部B113を介して通信装置部C100にも電力を供給することもできる。
【0035】
電力出力部B113は、CPU(B101)の制御に基づいて、バッテリB112が出力する電力をカメラ装置部B100の外部に出力する。電力出力部B113と電力入力部C106は電気的に接続されており、電力出力部B113が出力した電力を電力入力部C106が受け取ることができる。CPU(B101)は、電力出力部B113が電力を出力するか否かを制御することにより、通信装置部C100への電源ON・OFFを制御することができる。
【0036】
システムバスB114は、システムバスB114に接続された各構成がシステムバスB114を介して互いにデータの送受信を行うことを可能にしている。
【0037】
次に通信装置部C100について説明する。
【0038】
システムバスC109に対して、CPU(C101)、メモリC102、不揮発性メモリC103、GPIO入力部C104、高速I/F部C105、電力入力部C106、有線LAN部C107、無線LAN部C108が接続されている。
【0039】
CPU(C101)は、通信装置部C100の全体の制御をつかさどる。CPU(C101)は通信装置部C100の各構成を制御し、カメラ装置部B100からの制御に応じて、図示しない外部装置とのデータ通信を行う。
【0040】
メモリC102は、書き換え可能なメモリであり、通信装置部C100を制御するプログラムの作業領域として使用することができる。メモリC102は、例えばRAM(半導体素子を利用した揮発性のメモリ)などで構成される。
【0041】
不揮発性メモリC103は、通信装置部C100を制御するプログラム、プログラムが使用する各種データなどを格納する。また、不揮発性メモリC103は、電源サイクルを超えて保持する必要のあるデータを格納することができる。通信装置部C100は、電源が投入されて非動作状態から動作状態に移行すると、CPU(C101)が不揮発性メモリC103からプログラムを読み込み、通信装置部C100の全体の制御を開始する。なお、不揮発性メモリC103は、例えば、フラッシュメモリやEEPROMなどで構成される。
【0042】
GPIO入力部C104は、CPU(C101)の制御に基づいて、GPIOコネクタに入力された信号レベル(HighあるいはLow)を取得する。GPIO入力部C104は、GPIO出力部B110と電気的に接続されており、GPIO出力部B110が出力した電圧レベルを読み取ることができる。また、GPIO入力部C104の信号レベルの変化に応じて、GPIO入力部C104からCPU(C101)に対して割り込み信号を通知することができる。なお、GPIOで通知される信号は、信号レベルを2値で表現した1ビットの信号を用いることができる。
【0043】
高速I/F部C105は、CPU(C101)の制御に基づいて、高速I/Fに接続されている機器と各種データの送受信を行うことができる。高速I/F部C105は、高速I/F部B111と電気的に接続されており、高速I/F部C105と高速I/F部B111を介して、カメラ装置部B100と通信装置部C100は相互にデータ通信を行うことができる。
【0044】
電力入力部C106は、電力出力部B113が出力する電力を受信し、通信装置部C100が動作するための電力を供給する。
【0045】
有線LAN部C107は、図示しない外部装置と有線通信を実現するための通信ユニット(通信インターフェース)である。有線LAN部C107は、有線通信のためのコネクタと有線信号を処理するためのコントローラから構成されており、Ethernet(登録商標)あるいはIEEE802.3シリーズ(例えば、IEEE 802.3ab)で規格化された通信方式に基づいた有線通信を実現する。
【0046】
有線LAN部C107は、複数の通信速度(例えば、1000Mbps、100Mbps、10Mps)、および、複数の通信モード(例えば、全二重通信、半二重通信)に対応しており、通信相手が利用可能な通信速度・通信モードを検知して、自動的に切り替える機能(オートネゴシエーション機能)を有する。
【0047】
無線LAN部C108は、図示しない外部装置と無線通信を実現するための通信ユニットである。無線LAN部C108は、無線通信のためのアンテナと無線信号を処理するための通信コントローラから構成され、例えば、IEEE802.11a・b・g・n・acで規格化された通信方式に基づく無線通信を実現する。
【0048】
システムバスC109は、システムバスC109に接続された各構成がシステムバスC109を介して互いにデータの送受信を行うことを可能にしている。
【0049】
図2は、デジタルカメラA100の外観を示す図である。
図2(A)はレンズが取り付けられるデジタルカメラA100の正面側を示し、
図2(B)はデジタルカメラA100の背面側を示している。
【0050】
撮像素子201は、撮像部B108を構成するイメージセンサである。
【0051】
シャッターボタン202はレリーズを行うためのボタンであり、制御ボタン群203は各種操作を行うためのボタンである。シャッターボタン202および制御ボタン群203は、操作部B104を構成する。
【0052】
モニタ204は、例えば液晶ディスプレイであり、表示部B105を構成する。なお、モニタ204は、制御アイコンを表示して画面上でユーザ操作を可能にすることで、操作部B104を構成することもできる。
【0053】
図3は、デジタルカメラA100の通信機能を使用する際の形態を説明するための図である。デジタルカメラA100は、外部装置であるパーソナルコンピュータ301と通信し、デジタルカメラA100の撮影で得られた画像データの送信などを行う。
【0054】
図3(A)は、デジタルカメラA100とパーソナルコンピュータ301が直接有線LANで接続される例を示している。具体的には、有線LAN部C107とパーソナルコンピュータ301の通信部を直接ネットワークケーブルで接続することになる。このような接続形態では、パーソナルコンピュータ301がオートネゴシエーション機能を有していると、実際の通信に先立ち、有線LAN部C107はオートネゴシエーション機能によりパーソナルコンピュータ301が対応している通信速度・通信モードを検知し、最適な通信速度・通信モードを選択する。
【0055】
図3(B)は、デジタルカメラA100とパーソナルコンピュータ301がスイッチングハブ302を介して有線LAN方式で接続される例を示している。具体的には、有線LAN部C107とスイッチングハブ302の通信部を直接ネットワークケーブルで接続することになる。また、パーソナルコンピュータ301がスイッチングハブ302の間は別途ネットワークケーブルで接続する。このような接続形態では、スイッチングハブ302がオートネゴシエーション機能を有していると、実際の通信に先立ち、有線LAN部C107はオートネゴシエーション機能によりスイッチングハブ302が対応している通信速度・通信モードを検出し、最適な通信速度・通信モードを選択する。
【0056】
図3(C)は、デジタルカメラA100とパーソナルコンピュータ301がアクセスポイント303を介して接続される例を示している。具体的には、無線LAN部C108とアクセスポイント303の間は無線LAN方式で通信を行うことになる。また、アクセスポイント303とパーソナルコンピュータ301の間は別途ネットワークケーブルで接続する。
【0057】
図4は、デジタルカメラA100の表示部B105に表示されるGUIのうち、デジタルカメラA100の動作設定を行うメニューを説明するためのものである。
【0058】
図4(A)は、デジタルカメラA100の設定メニューの画面を示しており、ユーザが制御ボタン群203を用いてメニュー項目401を選択すると、通信機能の動作設定を行うことができる。
図4(B)および
図4(C)は、デジタルカメラA100の通信機能を設定するための画面を示しており、
図4(A)の画面でメニュー項目401を選択することで表示される。
【0059】
図4(B)は、通信機能を設定するための画面において、ユーザが制御ボタン群203を利用してメニュー項目402を選択したときに表示される画面である。この画面では、ユーザは、デジタルカメラA100の通信機能について、「使わない(メニュー項目403)」「有線LANを使う(メニュー項目404)」「無線LANを使う(メニュー項目405)」のいずれかを選択することができる。つまり、
図4(B)が示す画面は、ユーザが通信に用いる通信方式をユーザが選択可能にするインターフェースに対応する。
【0060】
メニュー項目403を選択した場合は、デジタルカメラA100は、静止画の撮影時における画像データの送信を行わない。
【0061】
メニュー項目404を選択した場合は、デジタルカメラA100は、静止画の撮影が行われるとその画像データをあらかじめ設定しておいた外部装置に転送するように動作する。この時、画像データの転送については、所定の通信方式である有線LAN部C107を用いて行う。
【0062】
メニュー項目405を選択した場合は、デジタルカメラA100は、静止画の撮影が行われるとその画像データをあらかじめ設定しておいた外部装置に転送するように動作する。この時、画像データの転送については、無線LAN部C108を用いて行う。無線LAN部C108は、上述の所定の通信方式以外の通信方式である。
【0063】
図4(C)は、通信機能を設定するための画面において、ユーザが制御ボタン群203を用いてメニュー項目406を選択したときに表示される画面である。この場面では、ユーザは、デジタルカメラA100が通信機能を利用中に、消費電力を削減するように動作するか否かを選択することができる。
【0064】
メニュー項目407を選択した場合は、デジタルカメラA100は、明示的に通信機能を無効にするか、デジタルカメラA100の電源がオフになるまで、デジタルカメラA100の通信機能を利用可能な状態とする。すなわち、電力出力部B113は、通信装置部C100に対して電力供給を継続する。
【0065】
一方、メニュー項目408とメニュー項目409を選択した場合は、デジタルカメラA100は、外部装置との通信が一定期間(例えば1分)内に発生しない場合にデジタルカメラA100の通信機能を一時的に無効にする。
【0066】
メニュー項目408を選択した場合は、電力出力部B113による通信装置部C100への電力供給を停止するように動作することで、デジタルカメラA100全体の消費電力を削減するように動作する。
【0067】
メニュー項目409を選択した場合は、電力出力部B113による通信装置部C100への電力供給を停止せず、通信装置部C100の各部を省電力状態に移行することで、通信装置部C100における消費電力を削減する。
【0068】
メニュー項目409が選択されて、モード2で動作する場合、例えば、通信装置部C100において、CPU(C101)のクロックを停止する、メモリC102を低消費電力モード(セルフリフレッシュモード)にする、高速I/F部C105や有線LAN部C107、無線LAN部C108への電力供給を停止する等の制御を行う。こうすることで、消費電力を削減することができる。
【0069】
<動作説明>
デジタルカメラA100の動作を、
図5および
図6のフローチャート、
図7のタイミングチャートを用いて説明する。
【0070】
デジタルカメラA100において撮影動作を行い、画像データを生成した後の動作について、カメラ装置部B100と通信装置部C100のそれぞれの動作を説明する。
【0071】
図5は、カメラ装置部B100の動作を示すフローチャートである。
【0072】
ステップS501では、CPU(B101)は、撮影した画像データを外部装置に送信する要求があるかを判断する。具体的には、
図4(B)において、メニュー項目403が選択されている場合は送信する要求がないと判断し、メニュー項目404あるいは405が選択されている場合は送信する要求があると判断する。画像データを送信する要求がある場合は、ステップS502へ進み、送信する要求がない場合は本フローチャートを終了する。
【0073】
ステップS502では、CPU(B101)は、通信装置部C100が停止している非動作状態にあるか否かを判定する。ここでは、通信装置部C100が電源オフの状態(電力出力部B113が通信装置部C100に対して電力を出力していない場合)と、通信装置部C100が省電力状態(電力出力部B113が通信装置部C100に対して電力を出力しているが、通信装置部C100の各部が省電力状態になっている場合)を、通信装置部C100が停止している非動作状態と判断して、ステップS503へ進む。その他の場合は、通信装置部C100は動作していると判断して、ステップS507へ進む。
【0074】
ステップS503では、CPU(B101)は、画像データの送信を有線LANで行うか否かを判定する。具体的には、
図4(B)において、メニュー項目404が選択されている場合にはYESとなり、メニュー項目405が選択されている場合には有線LANではなく無線LANを使用することになるためNOとなる。画像データの送信を有線LANで行う場合にはステップS504へ進み、無線LANを用いて行う場合はステップS507へ進む。
【0075】
ステップS504では、CPU(B101)は、GPIO出力部B110を制御し、GPIO入力部C104と接続されているGPIOのうち、有線LAN部C107を使用することを示すGPIOの信号レベルをHighに変更する。
【0076】
ステップS505では、CPU(B101)は、高速I/F部B111を制御して、高速I/F部B111と通信可能な状態に設定する(初期化する)。具体的には、CPU(B101)は、高速I/F部B111のリセットを解除したり、動作に必要なクロックを供給したりする。
【0077】
ステップS506では、CPU(B101)は、ステップS502で非動作状態であり停止中と判定された通信装置部C100を起動して動作を再開させる。例えば、通信装置部C100が電源オフ状態の場合は、CPU(B101)は、電力出力部B113を制御し、バッテリB112が出力する電力が電源出力部B113を介して電力入力部C106に供給されるようにする。
【0078】
また、通信装置部C100が省電力状態である場合は、CPU(B101)は、GPIO出力部B110を制御し、通信装置部C100を省電力状態から復帰させるためGPIO接続の電圧レベルを変化させる。これらの処理により、通信装置部C100は動作を開始して、後述する
図6に従った動作をおこなう。
【0079】
ステップS507では、CPU(B101)は、高速I/F部B111を用いて通信装置部C100と通信が可能になるまで待つ。
【0080】
ステップS508では、CPU(B101)は、高速I/F部B111を介して通信装置部C100と通信し、ネットワーク設定に必要な情報を送信する。ここで、ネットワーク設定に必要な情報は、使用するネットワークの種類(有線LANあるいは無線LAN)、IPアドレスの設定(固定あるいはDHCP)を含み、無線LANを使用する場合は接続するアクセスポイントのSSIDとパスワードなども含む。なお、ステップS506において、省電力状態の通信装置部C100を復帰させた場合は、通信装置部C100はネットワーク設定をすでに有しているため、本ステップは省略してもよい。
【0081】
ステップS509では、CPU(B101)は、通信装置部C100を用いて外部装置に送信するデータがあるか否かを判定する。送信するデータがある場合はステップS510へ進み、送信するデータがない場合はステップS511へ進む。
【0082】
ステップS510では、CPU(B101)は、高速I/F部B111を介して外部装置へ送信するデータを通信装置部C100に転送する。例えば、
図5のフローチャートを開始する前の撮影で生成された画像データを転送する。この時、送信する外部装置に関する情報(IPアドレス、転送先ディレクトリ、ユーザ名、パスワード)なども合わせて転送してもよい。
【0083】
ステップS511では、CPU(B101)は、高速I/F部B111のステータスを確認し、通信装置部C100がカメラ装置部B100に対してデータを送信しようとしているか否かを判定する。通信装置部C100がデータ送信を行おうとしている場合はステップS512へ進む。
【0084】
ステップS512では、CPU(B101)は、高速I/F部B111を介して通信装置部C100からデータを受信する。受信するデータには、例えば、ステップS510で通信装置部C100に転送したデータを外部装置へ送信完了したかどうかというステータス情報などがある。
【0085】
ステップS513では、CPU(B101)は、
図4(B)で示した通信機能の設定がメニュー項目403「使わない」に変更されたか否かを判定する。メニュー項目403が選択された場合は、それ以降は外部装置と通信を行わないため、ステップS514へ進み、通信装置部C100の動作を終了する。一方、メニュー項目403が選択されていない場合はステップS515に進み、処理を継続する。
【0086】
ステップS514では、CPU(B101)は、通信装置部C100の動作を終了する。具体的には、高速I/F部B111を介して通信装置部C100に終了を意味するコマンドを送付する。その後、電力出力部B113を制御して、通信装置部C100への電力供給を停止し、本フローチャートを終了する。
【0087】
一方、ステップS515では、CPU(B101)は、
図4(C)で示した省電力動作の設定に基づいて省電力動作の有無を判定する。
【0088】
メニュー項目407「しない」が選択されている場合には、省電力動作を行わないため、ステップS509に戻り、次なる送信データの有無を確認する。メニュー項目408あるいはメニュー項目409が選択されている場合には、省電力動作を行うためにステップS516へ進む。
【0089】
ステップS516では、CPU(B101)は、ステップS510でデータ送信を行ってからの経過時間に基づき、通信装置部C100を省電力モードに入れるか否かの判定を行う。所定の時間(例えば1分)を経過していた場合はステップS517へ進み、経過していない場合はステップS509に戻り、次なる送信データの有無を確認する。
【0090】
ステップS517では、CPU(B101)は、
図4(C)で選択されているメニュー項目に基づいて、通信装置部C100を電源オフあるいは省電力状態に変更し、本フローチャートを終了する。
【0091】
具体的には、メニュー項目408が選択されていた場合は、CPU(B101)は、ステップS514と同様の処理を行って通信装置部C100への電力供給を停止する(通信装置部C100を電源オフ)。一方、メニュー項目409が選択されていた場合は、高速I/F部B111を介して、通信装置部C100に対して通信装置部C100の各部を省電力状態に移行するように指示をする。通信装置部C100は、この指示を受けると、CPU(C101)のクロックを停止する、メモリC102を低消費電力モード(セルフリフレッシュモード)にする、高速I/F部C105や有線LAN部C107、無線LAN部C108への電力供給を停止する等の制御を行う。こうすることで、消費電力を削減する。
【0092】
図6は、通信装置部C100の動作を示すフローチャートである。
【0093】
図6のフローチャートは、ステップS506の処理に基づいて、通信装置部C100が動作を再開した場合に実行される。具体的には、通信装置部C100が電源オフ状態である場合は、電力入力部106に対して電力供給を開始することにより、通信装置部C100が電源オンとなり、本フローチャートを開始する。また、通信装置部C100が省電力状態である場合は、GPIO入力部104における省電力状態から復帰させるためのGPIO接続の電圧レベルが変化して、CPU(C101)に対して起動割り込みが発生した場合に本フローチャートを開始する。
【0094】
ステップS601では、CPU(C101)は、GPIO入力部C104を制御して、有線LAN部C107を使用することを示すGPIOの信号レベルを取得する。ここで信号レベルを取得しているGPIOは、ステップS504で操作するGPIOに接続されている。したがって、ステップS504で、GPIO出力部B110のGPIOの信号レベルをHightに変更すると、本ステップで取得するGPIOの信号レベルもHighとなっている。取得した信号レベルがHighである場合はステップS602へ進み、電圧レベルがLowである場合はステップS603へ進む。
【0095】
ステップS602では、CPU(C101)は、有線LAN部C107を制御して、有線LAN部C107が動作可能な状態とする。具体的には、有線LAN部C107に対して電力を供給してリセット状態を解除する。この処理を行うことによって、例えば、
図3(A)や
図3(B)で示す形態のように、有線LAN部C107が通信相手と接続されている場合は、オートネゴシエーション処理を開始する。
【0096】
ステップS603では、CPU(C101)は、以降の処理を行うために通信装置部C100全体を動作可能な状態とする。例えば、電源オフ状態から電源オン状態となったことにより本フローチャートを開始した場合は、ステップS603では、不揮発性メモリC103から通信装置部C100の動作に必要なプログラムやデータをメモリC102展開した後、通信装置部C100の全体の制御を開始する。
【0097】
ここで、通信装置部C100のファームウェア構成が、ハードウェアの基本的な初期化のみを行って高速に起動するブートローダと、ブートローダによりメモリにロードされシステム全体の初期化を行うシステムソフトウェアで構成されているとする。このような構成では、ステップS601~S602の処理はブートローダにより実行され、ステップS603以降の処理はシステムソフトウェアで実行されることになる。
【0098】
一方、省電力状態から復帰することにより本フローチャートを開始した場合は、ステップS603では、通信装置部C100の各部を省電力状態から復帰させる処理を行う。例えば、メモリC102をセルフリフレッシュモードから復帰させる、高速I/F部C105へ電力供給を再開するなどの処理を行う。
【0099】
ここで、通信装置部C100のシステムソフトウェアにおいては、ステップS601~S602の処理は省電力状態から復帰するための割り込み処理において実行され、ステップS603以降の処理は通常のシステムソフトウェアで実行されることになる。
【0100】
ステップS604では、CPU(C101)は、高速I/F部C105を制御して、カメラ装置部B100と通信可能になるのを待つ。ステップS604は、
図5のステップS507に対応している。
【0101】
ステップS605では、CPU(C101)は、高速I/F部C105を介してカメラ装置部B100からネットワーク設定を受信する。ここで、ネットワーク設定に必要な情報は、使用するネットワークの種類(有線LANあるいは無線LAN)、IPアドレスの設定(固定あるいはDHCP)を含み、無線LANを使用する場合は接続するアクセスポイントのSSIDとパスワードなども含む。ステップS605は、
図5のステップS508に対応している。なお、本フローチャートが省電力状態から復帰することにより開始した場合は、通信装置部C100はすでにネットワーク設定を有しているので本ステップは省略してもよい。
【0102】
ステップS606では、CPU(C101)は、ステップS605で受信したネットワーク設定に基づき、有線LAN部C107を用いて通信を行うか否かを判定する。有線LAN部C107を使用する場合はステップS607へ進み、有線LAN部C107を使用しない場合はステップS608へ進む。
【0103】
ステップS607では、CPU(C101)は、有線LAN部C107のステータスを取得し、ステップS602で開始したオートネゴシエーション処理を終了するのを待つ。
【0104】
ステップS608では、CPU(C101)は、無線LAN部C108を制御して、無線LAN部C108とアクセスポイント間の無線LAN接続を確立する。
【0105】
ステップS609では、CPU(C101)は、ステップS605で取得したネットワーク設定に基づき、有線LAN部C107あるいは無線LAN部C108の設定を行う。例えば、ネットワーク設定としてIPアドレスが指定されていた場合は、有線LAN部C107あるいは無線LAN部C108に指定されたIPアドレスを付与する。
【0106】
ステップS610では、CPU(C101)は、高速I/F部C105のステータスを確認し、そのステータスに応じてステップS611~S615の処理を行う。
【0107】
ステップS611は、高速I/F部C105において外部装置に送信するためのデータをカメラ装置部B100から受信した場合の処理であり、
図5のステップS510に対応している。ステップS611において、CPU(C101)は、高速I/F部C105を介して受信したデータ(ステップS510でカメラ装置部B100が送信したデータ)を、有線LAN部C107あるいは無線LAN部C108を用いて、外部装置に送信する。
【0108】
ステップS612~S613は、高速I/F部C105においてカメラ装置部B100からデータを受信していない場合の処理である。
【0109】
ステップS612において、CPU(C101)は、有線LAN部C107あるいは無線LAN部C108が外部装置からデータを受信したか否かを判定する。例えば、ステップS6110で外部装置へ送信したデータが送信完了した場合に、送信完了というステータス情報を外部装置から受信する。外部装置からデータを受信した場合はステップS613へ進み、受信していない場合はステップS610へ戻る。
【0110】
ステップS613では、CPU(C101)は、有線LAN部C107あるいは無線LAN部C108が外部装置から受信したデータを、高速I/F部C105を用いてカメラB100へ送信する。この処理は、
図5のステップS511とステップS512に対応している。
【0111】
ステップS614は、高速I/F部C105においてカメラ装置部B100から終了指示を受信した場合の処理であり、
図5のステップS514と対応している。ステップS614において、CPU(C101)は、有線LAN部C107や無線LAN部C108を停止させるなど、システム全体の動作を停止させ、電源入力部C106に対する電力供給が停止されると本フローチャートを終了する。
【0112】
ステップS615では、高速I/F部C105においてカメラ装置部B100から停止指示を受信した場合の処理であり、
図5のステップS517に対応している。ステップS615において、CPU(C101)は、
図4(C)で選択されているメニュー項目に基づいて、通信装置部C100の動作状態を変更し、本フローチャートを終了する。
【0113】
具体的には、メニュー項目408が選択されていた場合は、CPU(C101)は、ステップS614と同様の処理を行ってシステム全体を停止させる。一方、メニュー項目409が選択されていた場合は、CPU(C101)は、CPU(C101)のクロックを停止する、メモリC102を低消費電力モード(セルフリフレッシュモード)にする、高速I/F部C105や、有線LAN部C107・無線LAN部C108への電力供給を停止する等の制御をおこない、消費電力を削減した状態(省電力状態)とする。
【0114】
図7(A)および
図7(B)は、デジタルカメラA100において、通信装置部C100が電源オフ状態から外部装置と有線LANを用いて通信を行うまでの動作を説明するためのタイミングチャートである。また、
図7(C)は、本発明の効果を説明するためタイミングチャートである。
【0115】
図7(A)~(C)では、横軸を時間経過として、下段をカメラ装置部B100におけるCPU(B101)の処理を、中段を通信装置部C100におけるCPU(C101)処理を、上段を通信装置部C100の有線LAN部C107の処理の実行タイミングを表している。
【0116】
図7(A)および
図7(B)では、タイミングt1において、カメラ装置部B100は通信装置部C100の電源をオンにする(ステップS506に対応)。その後、高速I/F部B111を介して通信装置部C100と通信可能になるのを待つ(ステップS507に対応)。通信装置部C100は、電源がオンになり動作を開始するとGPIO入力部C104の状態に応じて有線LAN部C107を有効化する(ステップS601~S602に対応)。その後、システム全体を起動し、高速I/F部C105でカメラ装置部B100と通信が可能になるのを待つ(ステップS603~S604に対応)。ここで、タイミングt2において、有線LAN部C107が有効化されると、有線LAN部C107はオートネゴシエーション処理(701あるいは702)を開始する。このオートネゴシエーション処理は、CPU(C101)の処理と同時並行に行うことができる。
【0117】
図7(A)では、オートネゴシエーション処理701にかかる時間が短く、オートネゴシエーション処理701が終了するタイミングt3が、高速I/F部B111と高速I/F部C105の間で通信が可能になるタイミングt4より早い場合を示している。このような場合では、デジタルカメラA100は、タイミングt4以降に直ちに外部装置と有線LANを用いて通信を行うことができる。
【0118】
図7(B)では、オートネゴシエーション処理702にかかる時間が長く、オートネゴシエーション処理702が終了するタイミングt5が、高速I/F部B111と高速I/F部C105の間で通信が可能になるタイミングt4より遅い場合を示している。このような場合では、CPU(C101)は、タイミングt4~タイミングt5の間はオートネゴシエーション処理702が完了するのを待つ(ステップS607に対応)。そして、デジタルカメラA100は、タイミングt5以降に外部装置と有線LANを用いて通信を行うことができる。
【0119】
一方、本発明を適用しない
図7(C)では、カメラ装置部B100と通信装置部C100が高速I/Fを介して通信できるようになった後(タイミングt4以降)、ネットワーク設定を行う。この時にCPU(C101)は、有線LAN部C107を使用することがわかるので、有線LAN部C107を初期化する。オートネゴシエーション処理703はこの初期化に応じて開始する。そしてこのオートネゴシエーション処理703がタイミングt6において終了すると、外部装置と有線LANを用いて通信を行うことができる。
【0120】
これらのタイムチャートからわかるように、本発明を適用することにより、外部装置と有線LANを用いて通信が可能になるタイミングを、t6からt4あるいはt5に早めることができる。
【0121】
以上、本実施形態によれば、有線LANを用いて通信する設定が行われている状態で通信要求が発生し、通信装置を電源オン状態あるいは省電力状態の非動作状態から動作状態に復帰させる際に、有線LANを用いることをGPIO信号で通知することのできる通信装置を提供することができる。
【0122】
また、通信装置が動作状態に復帰する際に、カメラ装置部からGPIO信号により有線LANを用いることを通知されていると、通信装置の全体の起動に先立ち、オートネゴシエーションを開始することができる。
【0123】
したがって、非動作状態からの復帰した直後に通信を行う際、通信装置の起動処理と、オートネゴシエーション処理を時間的に並行して動作させることで、通信が可能になるまでの時間を短縮することができる。
【0124】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
【0125】
第2の実施形態にかかる通信装置としてのデジタルカメラは、基本的には、第1の実施形態と同じ構成を有しており、非動作状態にある通信装置を起動する際の制御が異なる。以下の説明において、第1の実施形態と異なる制御について主に説明し、共通する内容については説明を省略する。
【0126】
図8は、第2の実施形態によるデジタルカメラの動作を示すフローチャートである。
【0127】
図8のフローチャートは、通信装置部C100に電源を供給して起動する際の動作を示しており、図の左側に通信装置部C100が起動するシーケンスを、図の右側に有線LAN部C107が起動するシーケンスを示している。
【0128】
最初に、通信装置部C100の電源をONにすることで、電源出力部B113からの電源供給が開始される。そして、通信装置部C100の通信プロセッサであるCPU(C101)の電源がオン状態になる(ステップS801)。
【0129】
そして、同じく電源に接続されている有線LAN部C107の電源も同時にON状態になり、電源供給が開始される(ステップS811)。
【0130】
次に、CPU(C101)の仕様として十分な電圧まで電源が立ち上がり、内部も安定したら、CPU(C101)のリセット解除(ステップS802)を行う。こうして、通信プロセッサの起動シーケンスが開始される。
【0131】
また、起動シーケンスと並行して、有線LAN部C108の仕様として十分な電圧まで電源が立ち上がり、内部も安定したら、リセット解除(ステップS812)を行い、有線LAN部C108の起動シーケンスを実行する。
【0132】
なお、それぞれのリセット解除のタイミングは、通信プロセッサやEthernetの物理回路の仕様に基づき決められる。
【0133】
通信プロセッサは、リセット解除後、通信プロセッサを最小システムで動作させるためのBootシステムを起動させる(ステップS803)。通信プロセッサとして、Linux(登録商標)等の規模の大きいオペレーティングシステム(Operating System(OS))を用いている場合は、その起動に時間がかかるため、最小構成でまず起動させてから、その後にOS(Linux)を起動させる。なお、本実施の形態では、通信プロセッサの起動とともに、有線LAN部C107を起動して、オートネゴシエーションを開始して設定シーケンスを開始させておく。そして、専用通信線(GPIO)で、カメラ装置部B100から有線LAN(Ethernet)を通信に使うかどうかの情報の通知を受信する。
【0134】
通信プロセッサは、GPIOで受信した信号に基づき、有線LAN(Ethernet)を使うか否かを判断する(ステップS804)。ここで、Yes(有線LANを使用する)であれば、通信の開始に備えて、OSを起動する(ステップS806)。そして、オートネゴシエーションによってリンクが確立されるのを待つ(ステップS807)。
【0135】
また、No(有線LANを使用しない)のであれば、オートネゴシエーションによるリンク確立を中断するように、有線LAN部C107に中断の指示を送る(ステップS805)。リンク確立を中断する手段としては、有線LAN部C107のデバイスの電源を切るか、カメラ装置部B100もしくは通信プロセッサから有線LAN部107にリセット信号を送ってリセット状態にするか、通信プロセッサと通信して停止信号を送るか、通信装置部C100自体を外部との通信機能を止める省エネモードにするか、いずれかの1つ、又は複数の手段を用いてオートネゴシエーションによるリンク確立シーケンスを中断することができる。
【0136】
その後、YSEを選択した時と同様にOS(Linux)の起動を開始する(ステップS806)。その後、有線LANを使わないので、他の通信手段(例えば無線LAN部108)が起動シーケンスを始める。そして、他の通信手段によるリンクが確立されるのを待つ(ステップS807)。
【0137】
有線LAN部107、無線LAN部108といった複数の通信手段がある場合、同時にすべての通信手段を同時に起動してリンク確立し、通信に使用する通信手段が判断できるようになったタイミングで、使用する通信手段だけ残して他の通信手段のリンク確立を停止する、という方法も考えられる。そうすれば、どの通信手段を使用することになっても、通信を開始するまでの時間を早める効果を得ることができる。
【0138】
一方、優先して使用したい1つの通信手段を先行させ、残りの通信手段は後から必要に応じて起動させるという方法も考えられる。通信手段(通信方式)により、起動とリンク確立に要する時間に大きな差があり、ユーザが気にならない程度の短時間で起動とリンク確立を完了する通信手段を備えていた場合、後から必要に応じて起動させてもよい。すなわち、起動とリンク確立の時間の長い通信手段だけ先行して起動させる、というやり方でもよい。
【0139】
有線LAN部107のリセット解除(ステップS812)後に、通信プロセッサと独立して、起動シーケンスを走らせ、リンク確立、すなわちオートネゴシエーションを開始する(ステップS813)。ここで、オートネゴシエーションによるリンク確立の処理を、設定シーケンスという。
【0140】
オートネゴシエーションの実施中に、通信プロセッサからリンク確立を中断する指示(ステップS805)を受けた場合(ステップS814でYES)、リンクの確立を中断する(ステップS115)。なお、オートネゴシエーションが既に完了していた場合は、オートネゴシエーションで設定された通信設定を破棄してリンクを切断する。
【0141】
また、通信プロセッサからリンク確立を中断する指示を受けなかった場合は、(ステップS114でNO)、オートネゴシエーションを中断せず、継続してオートネゴシエーションを完了させる(ステップS816)。
【0142】
このように、通信プロセッサと有線LAN通信部107を同時に起動させ、通信プロセッサの起動シーケンスと有線LANの設定シーケンスを並列処理することで、それぞれのシーケンスを順次処理する従来の手順に比べて、Ethernetのオートネゴシエーション完了までの時間を短縮することができ、通信開始を早めることができる。
【0143】
また、通信プロセッサと有線LAN部107を同時に起動させなくても、通信プロセッサが、有線LANを使用するか否かを判断できるようになるのを待たずに、有線LAN部107を起動させることで、Ethernetのオートネゴシエーション完了までの時間を短縮する効果を得ることができる。
【0144】
また、有線LANを使わない場合も、通信プロセッサが、有線LANを使用するか否かの判断をできるようになり次第、Ethernetのオートネゴシエーションによるリンク確立を中断させるので、不要な消費電力の増加も抑える事が出来る。
【0145】
なお、カメラ装置部B100が通信プロセッサであるCPU(C101)と通信を行う際、PCI Express(登録商標)を用い、状態通知用の専用信号(GPIO端子)が無い構成とすることも可能である。OS(Linux)を起動(ステップS806)した後に、PCI Expressの通信で、どの通信手段を使用するかの情報を伝えることで、通信プロセッサは有線LANを使用するか否かを判断する(ステップS804)。こうすることで、専用信号線を使用しない構成にすることができる。その分、カメラ装置部B100が使用するポート数を減らしたり、又は他の機能に割り当てたりすることが可能となり、設計の自由度の向上やコストダウンにつながる。
【0146】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
【0147】
第2の実施形態では、特定の通信方式として有線LAN(Ethernet)を用いた例を示した。しかし、有線LAN以外の通信方式であっても、データ通信を行う前にリンク確立をする通信方式であれば、同様の効果を得ることができる。例えば、USB(登録商標)規格、PCI(登録商標)規格、Wi-Fi(登録商標)規格、HDMI(登録商標)規格、DisplayPort(登録商標)規格、MIPI(登録商標)規格など、リンク確立を行う方式でリンク確立部が独立した構成であれば、本発明を適用可能である。
【0148】
第3の実施形態は、USB3.0規格を用いた形態である。
【0149】
図9は、本実施形態の通信装置の構成を簡略化して示した図である。
【0150】
複数の通信デバイスとして、有線LAN部107の代わりにUSBコントローラ901が、無線LAN部108としてWi-Fiコントローラ902がある。第2の実施形態では、有線LAN部107に通信のPHY(Physical Layer)を、通信プロセッサにMAC(Media Access Control)の機能を有していた。一方、本実施形態では、PHYとMACとで区切るのではなく、PHYを含み、MACの機能も有する通信の制御を行っている部分と、そこに接続されている通信プロセッサとで分けている。接続先の通信機器とのリンク確立を担う部分が、接続先に送るデータを有している部分と別れていることが、本発明の効果を得る構成上のポイントである。
【0151】
図10において、本実施形態における通信装置の起動開始からリンクの確立までのシーケンスについて説明する。左側に通信プロセッサ、右側にUSBコントローラのシーケンスを記載している。通信プロセッサの動作は、
図8と同じである。
【0152】
最初に、通信プロセッサの電源をONする(ステップS901)。ほぼ同じタイミングで、USBコントローラの電源をONして、VBUSも供給する(ステップS911)。
【0153】
次に、通信プロセッサの仕様として十分な電圧まで電源が立ち上がり、内部も安定したら、リセット解除(ステップS902)を行い、通信プロセッサ内の起動シーケンスを走らせる。
【0154】
また、並行して、USBコントローラも起動シーケンスを開始する。まず、レシーバ検出(ステップS912)を行う。次に、リンク確立のシーケンスとして、リンクトレーニング、アドレスセット、コンフィグレーションを順番に行う(ステップS913)。
【0155】
通信プロセッサはリセット解除後、通信プロセッサの最小システムで動作させるためのBootシステムを起動させる(ステップS903)。最小構成でまず起動させ、制御部と専用通信線(GPIO)で、USBコントローラを使うかどうかの情報の通知を貰う。
【0156】
制御部からの通知に基づき、通信プロセッサは、USBコントローラを使うか使わないかを判断する(ステップS904)。ステップS904でYes(USBコントローラーを使う)であれば、USBコントローラで通信を開始するのに備えて、OS(Linux)を起動する(ステップS906)。そして、USBのリンクが確立されるのを待つ(ステップS907)。
【0157】
ステップS904でNO(USBコントローラーを使わない)であれば、USBコントローラのリンク確立を中断するように、USBコントローラに中断の指示を送る(ステップS905)。その後、YSEを選択した時と同様に、OS(Linux)の起動を開始する(ステップS906)。その後、USBコントローラを使わないので、他の通信デバイス(Wi-Fiコントローラー)に起動の指示を送る。そして、Wi-Fiのリンクが確立されるのを待つ(ステップS907)。
【0158】
複数の通信デバイスがある場合、同時にすべての通信デバイスを起動してリンク確立すし、使う通信だけ残して他を止める、という方法も考えられる。しかし、同時に複数の通信デバイスを起動させると起動時のピーク電流が大きくなってしまうので、優先したい通信デバイスを先行し、残りの通信デバイスは後から必要に応じて起動させる方がより好ましい。何を優先させるかは、予め決めておいてもよいし、コネクタに通信ケーブルが接続されているかどうかを検出して、ケーブル接続の有無に応じて切り替えてもよい。
【0159】
USBコントローラは、通信プロセッサの動きとは独立して起動シーケンスを走らせ、リンク確立を開始する(ステップS913)。
【0160】
リンク確立中、又は完了後に、通信プロセッサからリンク確立を中断する指示(ステップS905)を受けた場合は(ステップS914)、リンクの確立を中断する(ステップS915)。もしリンクが完了していたら、設定したパラメータを破棄して、リンクを切断する。
【0161】
通信プロセッサからリンク確立を中断する指示を受けなかった場合は、(ステップS914)、リンク確立を中断はせず、そのまま継続してリンクを確立させる(ステップS916)。
【0162】
このように、通信プロセッサとUSBのコントローラを同時に起動させ、起動シーケンスを並列処理することで、起動シーケンスを順次処理する従来の手順に比べて、USBのリンク確立までの時間を短縮することができ、その結果早く通信開始できるようになる。
【0163】
また、通信プロセッサとUSBのコントローラを同時に起動させなくても、通信プロセッサが、USBのコントローラを使うか使わないかの判断をできるようになるのを待たずに、USBのコントローラを起動させることで、本発明のリンク確立までの時間を短縮する効果を得ることができる。
【0164】
また、USBコントローラを使わない場合も、通信プロセッサが、USBのコントローラを使うか使わないかの判断をできるようになり次第、USBの電源をオフさせるため、不要な消費電力の増加も抑える事が出来る。
【0165】
(その他の実施形態)
本発明の通信装置として、デジタルカメラを用いたが、本発明はこれに限定されるわけではなく、パーソナルコンピュータ・タブレットコンピュータ・スマートフォン・PDA・メディアプレーヤ・ゲーム機・複合機など他の装置であってもよい。
【0166】
また、本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。