(57)【要約】【課題】専用のメモリスロットを備えていない周辺装置であっても、簡単に機能拡張が行えるようにする。【解決手段】ＵＳＢポート２１に、ＵＳＢケーブルを介してメモリカード３が接続されているとき、ホストコントローラ２５がメモリカード３のディスクリプタを取得し、ＲＡＭ１５に格納する。このディスクリプタに含まれている情報に基づいて、メモリ３３に記憶されている、機能拡張のための情報を取得してＲＡＭ１５に格納する。そして、ＲＡＭ１５に記憶した機能拡張のための情報に基づいて、ＣＰＵ１３が所定のプログラムを実行して機能拡張のための設定を行う。【選択図】　図１
2004122596.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体を有する外部装置と接続するための接続部と、
前記接続部に前記外部装置が接続されたことを検出する手段と、
前記検出手段が前記外部装置を検出したとき、前記記憶媒体に記憶されている機能拡張のための情報を取得する手段と、
前記取得した情報に基づいて機能拡張のための設定を行う手段と、を備える印刷装置。
【請求項２】
前記取得手段は、前記記憶媒体に記憶されているフォント情報を取得し、
前記設定手段は、前記印刷装置が、前記取得したフォント情報に含まれているフォントを用いて印刷することができるように設定する請求項１記載の印刷装置。
【請求項３】
前記取得手段は、前記記憶媒体に記憶されているオーバレイ印刷のためのオーバレイ情報を取得し、
前記設定手段は、前記印刷装置が、前記取得したオーバレイ情報に含まれているオーバレイデータを用いて印刷することができるように設定する請求項１記載の印刷装置。
【請求項４】
前記取得手段は、前記記憶媒体に記憶されている前記印刷装置の制御プログラムを更新するためのプログラム更新情報を取得し、
前記設定手段は、前記取得したプログラム更新情報に基づいて、前記印刷装置の制御プログラムを更新する請求項１記載の印刷装置。
【請求項５】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｅａｌ　Ｂｕｓ）ポートと、
ＵＳＢケーブルを介して、記憶媒体を有する外部装置が前記ＵＳＢポートに接続されているとき、前記外部装置のディスクリプタを取得する手段と、
前記ディスクリプタに含まれている情報に基づいて、前記記憶媒体に記憶されている、機能拡張のための情報を取得する手段と、
前記取得した機能拡張のための情報に基づいて、機能拡張のための設定を行う手段と、を備える印刷装置。
【請求項６】
前記ＵＳＢポートに前記ＵＳＢケーブルが接続されたとき、前記ＵＳＢケーブルのＩＤピンおよびＶｂｕｓピンの電圧レベルに基づいて、前記外部装置がＵＳＢホストであるかＵＳＢデバイスであるかを判定する手段をさらに備え、
前記取得手段は、前記判定の結果前記印刷装置がホストである場合に前記ディスクリプタを取得する請求項５記載の印刷装置。
【請求項７】
印刷装置の機能拡張のための方法であって、
記憶媒体を有する外部装置と接続するための接続部に前記外部装置が接続されたことを検出するステップと、
前記外部装置の接続を検出したとき、前記記憶媒体に記憶されている機能拡張のための情報を取得するステップと、
前記取得した機能拡張のための情報に基づいて機能拡張のための設定を行うステップと、を有する機能拡張方法。
【請求項８】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｅａｌ　Ｂｕｓ）ポートを有する印刷装置の機能拡張のための方法であって、
ＵＳＢケーブルを介して、記憶媒体を有する外部装置が前記ＵＳＢポートに接続されているとき、前記外部装置のディスクリプタを取得するステップと、
前記ディスクリプタに含まれている情報に基づいて、前記記憶媒体に記憶されている、機能拡張のための情報を取得するステップと、
前記取得した機能拡張のための情報に基づいて、機能拡張のための設定を行うステップと、を有する機能拡張方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置等の機能を拡張するための技術に関し、特に簡単に機能拡張を行うための技術に関する。
【０００２】
【従来の技術】
プリンタなどの周辺装置は、ユーザ自らが操作して機能拡張を行うことができる。この機能拡張を行うときは、外部から所定のデータやプログラムを供給して、設定を行う必要がある。そして、従来は、このデータやプログラムをホストコンピュータからプリンタへ送って、設定を行っている。
【０００３】
また、メモリスロットを備えた周辺装置に拡張機能のデータ等が記憶されたメモリカードを装着し、ブート時に読み込んで機能拡張を実現するものがある。
【０００４】
【発明が解決しようとする課題】
しかしながら、ホストコンピュータから拡張データなどを送り込む場合は、ホストコンピュータを起動して、ユーザがホストコンピュータを操作して行わなければならないので、手間がかかった。
【０００５】
また、メモリスロットにメモリカードを装着してブート時に読み込む場合は、プリンタ等に専用のメモリスロットを設ける必要があった。
【０００６】
本発明は、専用のメモリスロットを備えていない周辺装置であっても、簡単に機能拡張が行えるようにするための技術を提供することである。
【０００７】
【課題を解決するための手段】
本発明の一つの実施形態に従う印刷装置は、記憶媒体を有する外部装置と接続するための接続部と、前記接続部に前記外部装置が接続されたことを検出する手段と、前記検出手段が前記外部装置を検出したとき、前記記憶媒体に記憶されている機能拡張のための情報を取得する手段と、前記取得した情報に基づいて機能拡張のための設定を行う手段と、を備える
好適な実施形態では、前記取得手段は、前記記憶媒体に記憶されているフォント情報を取得し、前記設定手段は、前記印刷装置が、前記取得したフォント情報に含まれているフォントを用いて印刷することができるように設定する。
【０００８】
好適な実施形態では、前記取得手段は、前記記憶媒体に記憶されているオーバレイ印刷のためのオーバレイ情報を取得し、前記設定手段は、前記印刷装置が、前記取得したオーバレイ情報に含まれているオーバレイデータを用いて印刷することができるように設定する。
【０００９】
好適な実施形態では、前記取得手段は、前記記憶媒体に記憶されている前記印刷装置の制御プログラムを更新するためのプログラム更新情報を取得し、前記設定手段は、前記取得したプログラム更新情報に基づいて、前記印刷装置の制御プログラムを更新する。
【００１０】
本発明の一つの実施形態に従う印刷装置は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｅａｌ　Ｂｕｓ）ポートと、ＵＳＢケーブルを介して、記憶媒体を有する外部装置が前記ＵＳＢポートに接続されているとき、前記外部装置のディスクリプタを取得する手段と、前記ディスクリプタに含まれている情報に基づいて、前記記憶媒体に記憶されている、機能拡張のための情報を取得する手段と、前記取得した機能拡張のための情報に基づいて、機能拡張のための設定を行う手段と、を備える。
【００１１】
好適な実施形態では、前記ＵＳＢポートに前記ＵＳＢケーブルが接続されたとき、前記ＵＳＢケーブルのＩＤピンおよびＶｂｕｓピンの電圧レベルに基づいて、前記外部装置がＵＳＢホストであるかＵＳＢデバイスであるかを判定する手段をさらに備え、前記取得手段は、前記判定の結果前記印刷装置がホストである場合に前記ディスクリプタを取得する。
【００１２】
本発明の一つの実施形態に従う印刷装置の機能拡張方法は、記憶媒体を有する外部装置と接続するための接続部に前記外部装置が接続されたことを検出するステップと、前記外部装置の接続を検出したとき、前記記憶媒体に記憶されている機能拡張のための情報を取得するステップと、前記取得した機能拡張のための情報に基づいて機能拡張のための設定を行うステップと、を有する。
【００１３】
本発明の一つの実施形態に従うＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｅａｌ　Ｂｕｓ）ポートを有する印刷装置の機能拡張方法は、ＵＳＢケーブルを介して、記憶媒体を有する外部装置が前記ＵＳＢポートに接続されているとき、前記外部装置のディスクリプタを取得するステップと、前記ディスクリプタに含まれている情報に基づいて、前記記憶媒体に記憶されている、機能拡張のための情報を取得するステップと、前記取得した機能拡張のための情報に基づいて、機能拡張のための設定を行うステップと、を有する。
【００１４】
【発明の実施の形態】
以下、本発明を適用した周辺装置の一例として、プリンタに係る実施形態について図面を用いて説明する。本実施形態では、外部インタフェースとしてＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｅａｌ　Ｂｕｓ）を備えるプリンタに記録媒体を有する装置を接続し、記録媒体に記録された情報をプリンタが取得する。
【００１５】
本実施形態に係るプリンタ１と、記憶媒体を有する装置であるメモリカード３の構成を図１に示す。
【００１６】
プリンタ１は、実際に印刷を行うための印刷機構１１と、印刷機構１１を制御するための印刷機構制御部１２とを有する。印刷機構制御部１２は、さらに、ＣＰＵ１３と、不揮発性の記憶媒体であるＥＥＰＲＯＭ１４と、揮発性の記憶媒体であるＲＡＭ１５と、インタフェース部１６とを備える。ＣＰＵ１３、ＥＥＰＲＯＭ１４、ＲＡＭ１５、およびインタフェース部１６は、それぞれ内部バス１７に接続されている。ＥＥＰＲＯＭ１４に格納され、ＣＰＵ１３で実行される所定のプログラムは、ファームウェアと呼ばれることもある。
【００１７】
印刷機構１１は、いずれも図示しない印刷ヘッド、紙送り機構、これらを制御するための制御回路およびインクやトナーなどの画像形成媒体のカートリッジなどを有し、印刷機構制御部１２から印刷データを受け付けて印刷を実行する。
【００１８】
ＥＥＰＲＯＭ１４には、印刷機構１１を制御するための所定のプログラムや、印刷制御に必要なデータが記憶されている。さらに、後述するように、メモリカード３から読み出された情報がＥＥＰＲＯＭ１４に記憶される。
【００１９】
ＣＰＵ１３は、ＥＥＰＲＯＭ１４に記憶されているプログラムを読み込み、そのプログラムに従って所定の処理を実行し、プリンタの動作を制御する。
【００２０】
本実施形態に係るプリンタ１は、ＵＳＢをインタフェースに採用する。従って、インタフェース部１６は、ＵＳＢの構成を有する。特に、本実施形態に係るプリンタ１は、ＵＳＢホスト（以下、ホストという）およびＵＳＢデバイス（以下、デバイスという）のどちらにもなることができるデュアル・ロール・デバイスである場合を例に説明する。そして、このインタフェース部１６は、ＵＳＢのＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）規格に対応している。
【００２１】
すなわち、インタフェース部１６は、ＵＳＢポート２１と、ホストトランシーバ２２と、デバイストランシーバ２３と、アービタ２４と、ホストコントローラ２５と、デバイスコントローラ２６とを有する。
【００２２】
ＵＳＢポート２１には、外部装置に接続されたＵＳＢケーブルの端部に取り付けられたプラグが挿入される。なお、本実施形態では、プリンタ１に実装されているＵＳＢインタフェースはデュアル・ロール・デバイスなので、ＵＳＢポート２１はｍｉｎｉ−ＡＢと呼ばれる形状のコネクタであり、ｍｉｎｉ−Ａまたはｍｉｎｉ−Ｂプラグが挿入可能な形状である。そして、ｍｉｎｉ−Ａプラグとｍｉｎｉ−Ｂプラグには、従来の標準ＵＳＢコネクタが有している２本の信号線（Ｄ＋とＤ−）と２本の電源線（ＶｂｕｓとＧＮＤ）に加えて、ＩＤピンと呼ばれる信号線が１本含まれている。
【００２３】
アービタ２４は、ｍｉｎｉ−Ａまたはｍｉｎｉ−ＢプラグがＵＳＢポート２１に接続されたことを検出する。例えば、アービタ２４は、ＩＤピンの電圧レベルの検出回路（図示しない）を備える。ＩＤピンはアービタ２４内で抵抗器によってプルアップされていて、図示しないＩＤピン検出回路が、この電圧レベルに基づいてプリンタ１に接続された装置がホストであるかデバイスであるかを判定する。その判定方法は以下の通りである。すなわち、プリンタ１に接続された装置がホストである場合、その装置にはｍｉｎｉ−Ａプラグが接続されている。そして、ｍｉｎｉ−Ａプラグ内のＩＤピンがＧＮＤに接続されているので、ＩＤピン検出回路は、ＩＤピンのレベルを“Ｌ”レベルと認定する。
一方、プリンタ１に接続された装置がデバイスであるときは、その装置にはｍｉｎｉ−Ｂプラグが接続されている。そして、ｍｉｎｉ−Ｂプラグ内のＩＤピンが開放されているので、ＩＤピン検出回路は、ＩＤピンのレベルを“Ｈ”レベルと認定する。
【００２４】
さらに、アービタ２４は、Ｖｂｕｓピンの電圧レベル検出回路（図示しない）を有する。ＩＤピンは、上述の通り通常プルアップされているので、ＩＤピンが開放されているｍｉｎｉ−Ｂプラグが挿入されてもＩＤピン検出回路のレベルは変化しない。そこで、ＩＤピンが“Ｈ”レベルのときは、ｍｉｎｉ−Ｂプラグが接続されたことを検知するため、Ｖｂｕｓピン検出回路がＶｂｕｓピンのレベルを調べてホストが接続されたことを判断することができる。たとえば、ホストはＶｂｕｓピンに電圧を供給するため、ＩＤピンが“Ｈ”レベルでかつＶｂｕｓピンが“Ｈ”レベルのときは、ホストが接続されたと判断することができる。
【００２５】
上述のＩＤピンおよびＶｂｕｓピンの電圧レベルのＨ／Ｌ判定は、上述のそれぞれの検出回路が所定のしきい値を用いて行う。
【００２６】
次に、アービタ２４は、上記判定結果に基づいて、ホストコントローラ２５およびデバイスコントローラ２６のいずれか一方を動作可能な状態にする。例えば、接続された装置がホストであると判定されると、アービタ２４はプリンタ１をデバイスとして動作させるために、デバイスコントローラ２６を動作可能な状態にし、Ｖｂｕｓに電流を供給する。一方、接続された装置がデバイスであると判定されると、アービタ２４はプリンタ１をホストとして動作させるためにホストコントローラ２５を動作可能な状態にする。
【００２７】
ポート２１にホストが接続（すなわち、ｍｉｎｉ−Ｂプラグが挿入）され、デバイスコントローラ２６が有効な状態になると、デバイストランシーバ２３がＤ＋信号をＨレベルにプルアップして、ホストに対して装置が接続されていることを通知する。
【００２８】
デバイスコントローラ２６は、ホストと共にプリンタ１がデバイスとして通信を行うために必要な処理を実行する。例えば、ホストからの指示に従ってデータ送受信などを行うための通信路の確立等を行う。
【００２９】
ポート２１にデバイスが接続（すなわち、ｍｉｎｉ−Ａプラグが挿入）され、ホストコントローラ２５が有効な状態になると、ホストトランシーバ２２はＤ＋信号がＨレベルであることを確認することにより、ポート２１に装置が接続されていることを確認する。
【００３０】
ホストコントローラ２５は、プリンタ１がホストとして通信を行うために必要な処理を実行する。例えば、ホストコントローラ２５は、バスの管理、転送されるフレームの管理、転送順の決定、エラー処理などを行い、ホストトランシーバ２２を介して信号の入出力を行う。ホストコントローラ２５は、例えば、図１に示すようにメモリカード３が接続されたとき、そのメモリカード３との通信を制御する。さらに、ＣＰＵ１３からの指示に基づいてメモリカード３のメモリ３３へデータを書き込んだり、データを読み出すための制御を行う。ホストコントローラ２５がメモリカード３から読み出したデータは、ＥＥＰＲＯＭ１４にコピーされるか、またはＲＡＭ１５に一時的にコピーされる。さらに、読み出されたデータがＲＡＭ１５に一時的にコピーされたときは、後述するようにＣＰＵ１３が所定のプログラムを実行してこのデータを処理し、ＥＥＰＲＯＭ１４に格納する。
【００３１】
例えば、プリンタ１の機能を拡張するためのデータがメモリカード３から読み出されてＲＡＭ１５にコピーされたときは、ＣＰＵ１３がデータを利用して機能を拡張するためのプログラムをＥＥＰＲＯＭ１４から読み出して、これを実行する。これにより、機能拡張のために必要な情報がＥＥＰＲＯＭ１４の所定の領域に記憶され、プリンタ１の機能が拡張される。
【００３２】
プリンタ１と接続されるメモリカード３は、ＵＳＢデバイス（ストレージクラス）として動作する。従って、メモリカード３は、トランシーバ３１と、デバイスコントローラ３２と、メモリ３３とを備える。メモリ３３は、例えば、不揮発性の記憶媒体であるＥＥＰＲＯＭなどで実現することができる。そして、メモリ３３には、例えば、プリンタ３の機能拡張のためのデータを記憶する。機能拡張ためのデータとして、本実施形態では、ＥＥＰＲＯＭ１４に記憶されているプログラムのバーションアップ版、フォントを追加するためのデータ、あるいはオーバレイ印刷用のオーバレイデータなどが記憶されている。
【００３３】
また、メモリカード３は、メモリカード３を製造したベンダーが設定したディスクリプタを備えることができる。このベンダーが設定した固有のディスクリプタの例を図２に示す。
【００３４】
このディスクリプタ３０において、ｄｗＳｉｇｎａｔｕｒｅは、ディスクリプタの種別を示し、図２の例では機能拡張データをを記憶したメモリであることを示している。デバイスタイプ（ｂＤｅｖｉｃｅＴｙｐｅ）は、メモリ３３に記憶されているデータの種類を示す。図２の例では、ＥＥＰＲＯＭ１４のアップデートプログラム（Ｆｉｒｍｗａｒｅ）、フォントデータ（Ｆｏｎｔ）、またはオーバレイデータ（Ｏｖｅｒｌａｙ）のいずれであるかを識別するための情報がセットされる。
【００３５】
次に、本実施形態での処理手順について図３に示すフローチャートを用いて説明する。
【００３６】
アービタ２４の図示しない検出回路がＵＳＢポート２１のＩＤピンおよびＶｂｕｓピンのレベルを検出して、ＵＳＢポート２１にコネクタが接続されたことを検出するとともに、接続された装置がホストであるかデバイスであるかを判定する（Ｓ１１、Ｓ１２）。
【００３７】
そして、接続された装置がホストである場合、アービタ２４はプリンタ１をデバイスとして動作させるため、デバイスコントローラ２６を動作可能な状態にする（Ｓ１３：Ｎｏ）。そして、プリンタ１はデバイスとして動作する（Ｓ２０）。
【００３８】
一方、接続された装置がデバイスである場合、アービタ２４はプリンタ１をホストとして動作させるため、ホストコントローラ２５を動作可能な状態にする（Ｓ１３：Ｙｅｓ）。
【００３９】
そして、ホストコントローラ２５は、接続された装置からディスクリプタを読み出してＲＡＭ１５へ格納する（Ｓ１４）。ホストコントローラ２５はこの読み出したディスクリプタｄｗＳｉｇｎａｔｕｒｅから、機能拡張データを記憶したメモリであることがわかるので、ホストコントローラ２５は、メモリ３３から拡張データファイルを読み出して、ＲＡＭ１５へ格納する（Ｓ１５）。
【００４０】
このとき、そして、ＣＰＵ１３がＥＥＰＲＯＭ１４に記憶されているプログラムを読み込んで、拡張データファイルを使ってプリンタの機能拡張のための処理を行う。このとき、まずＣＰＵ１３は、ディスクリプタのデバイスタイプを判定する（Ｓ１６）。そして、デバイスタイプがＥＥＰＲＯＭ１４のプログラムの更新を示すときは、拡張データファイルに基づいてＥＥＰＲＯＭ１４のプログラムをアップデートする（Ｓ１７）。
【００４１】
デバイスタイプがフォントの追加を示すときは、拡張データファイルに基づいてＥＥＰＲＯＭ１４にフォントデータを登録する（Ｓ１８）。
【００４２】
デバイスタイプがオーバレイデータの登録を示すときは、拡張データファイルに基づいてＥＥＰＲＯＭ１４にオーバレイデータを登録する（Ｓ１９）。
【００４３】
以上説明した通り、本実施形態によれば、機能拡張データを記憶したメモリカードがプリンタに挿入されると、自動的に機能拡張を行うことができる。この結果、プリンタの操作パネルやホストコンピュータで何らかの操作や設定を行うことなく、簡単に機能拡張することができる。
【００４４】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００４５】
上述した実施形態では、プリンタとメモリカードとのインタフェースにＵＳＢを用いたが、例えばＩＥＥＥ１３９４など他のシリアルインタフェースや、ＳＣＳＩなどのパラレルインタフェースでも実現することができる。また、機能拡張データの属性情報の持たせ方として、上述したＵＳＢのディスクリプタのようにトランスポート層の機能を利用する方法と、それ以外の方法として、例えば、メモリカードが接続されたことを検出すると、プリンタは図４に示すような、機能拡張データのファイル名が記述されている属性ファイル４０をメモリカードから読み出すようにすることもできる。そして、この属性ファイルに記述されている拡張データファイルを読み込んで、プリンタの機能を拡張する。この属性ファイルは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）のような汎用的なデータ記述フォーマットで用いてもよい。
【００４６】
また、プリンタは、メモリカードに記憶されている画像データなどを読み込んで印刷しても良い。さらに、この場合メモリカードは、記憶媒体を備えていて、ＵＳＢデバイスとなり得るデジタルカメラなどの他の装置と置き換えることもできる。
【００４７】
さらに、上述の実施形態ではプリンタに適用した場合について説明したが、本発明はプリンタ以外の電子機器にも適用可能である。
【００４８】
【発明の効果】
本発明によれば、専用のメモリスロットを備えていない周辺装置であっても、簡単に機能拡張が行える。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るプリンタおよびメモリカードの構成を示す図である。
【図２】メモリカードのディスクリプタの一例を示す図である。
【図３】機能拡張を行うときの処理手順を示すフローチャートである。
【図４】属性ファイルの一例を示す図である。
【符号の説明】
１…プリンタ
３…メモリカード
１１…印刷機構
１２…印刷機構制御部
１３…ＣＰＵ
１４…ＥＥＰＲＯＭ１４
１５…ＲＡＭ
１６…インタフェース部
２１…ポート
２２…ホストトランシーバ
２３…デバイストランシーバ
２４…アービタ
２５…ホストコントローラ
２６…デバイスコントローラ
３０…ディスクリプタ
３１…トランシーバ
３２…デバイスコントローラ
３３…メモリ
４０…属性ファイル
【図１】
2004122596.tif 000003
【図２】
2004122596.tif 000004
【図３】
2004122596.tif 000005
【図４】
2004122596.tif 000006