(57)【要約】【課題】ホスト装置側のプログラムに特別の変更を必要としないで、ＵＳＢデバイスの製品属性データをホスト装置に送信することができるＵＳＢデバイス提供すること。【解決手段】ホスト装置５０とユニバーサル・シリアル・バス（ＵＳＢ）によりデータ通信を行うＵＳＢ通信部３０と、製品属性データを取得して不揮発性記憶部１２に記憶させる属性データ取得部２３と、ホスト装置５０からのゲット・ディスクリプタ命令に応じて、不揮発性記憶部１２から製品属性データを読み出し、製品名データに製品属性データを付加した送信情報をＵＳＢ通信部３０の送信バッファ３２に転送する属性データ転送部２１とを設けることにより、ホスト装置５０からの標準リクエストであるゲット・ディスクリプタ命令に応じて、ホスト装置５０にＵＳＢデバイス１０の製品属性データを送信する。【選択図】      図２
2004272570.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置とユニバーサル・シリアル・バス（ＵＳＢ）によりデータ通信を行うＵＳＢ通信部と、
製品属性データを取得して不揮発性記憶部に記憶させる属性データ取得部と、
前記ホスト装置からのゲット・ディスクリプタ命令に応じて、前記不揮発性記憶部から前記製品属性データを読み出し、製品名データに前記製品属性データを付加した送信情報を前記ＵＳＢ通信部の送信バッファに転送する属性データ転送部と、
を備えることを特徴とするＵＳＢデバイス。
【請求項２】
前記属性データ取得部は、電源投入時に、前記製品属性データの変更の有無を確認し、変更がある場合には前記不揮発性記憶部の記憶内容を変更することを特徴とする請求項１に記載のＵＳＢデバイス。
【請求項３】
前記属性データ取得部は、前記製品属性データを前記ホスト装置の表示部に表示されないコードに変換して前記不揮発性記憶部に記憶させることを特徴とする請求項１又は２に記載のＵＳＢデバイス。
【請求項４】
前記属性データ転送部は、前記不揮発性記憶部から読み出した前記製品属性データを前記ホスト装置において表示されないコードに変換して前記製品名データに付加することを特徴とする請求項１又は２に記載のＵＳＢデバイス。
【請求項５】
前記ＵＳＢデバイスはプリンタであって、前記製品属性データは前記プリンタの印刷可能色を示す情報を含むことを特徴とする請求項１から４のいずれか１項に記載のＵＳＢデバイス。
【請求項６】
さらに前記属性データ取得部は、前記プリンタの電源投入時にインクカートリッジからインクカートリッジの種類を含む製品属性データを取得し、取得した前記製品属性データを前記不揮発性記憶部に記憶することを特徴とする請求項５に記載のＵＳＢデバイス。
【請求項７】
ホスト装置とユニバーサル・シリアル・バス（ＵＳＢ）によりデータ通信を行うＵＳＢデバイスにおいて、
（ａ）製品属性データを不揮発性記憶部に記憶する工程と、
（ｂ）ＵＳＢデバイスの電源投入後にホスト装置から送信されるゲット・ディスクリプタ命令に応じて、製品属性データを記憶している不揮発性記憶部から製品属性データを読み出して、製品名データに付加した送信情報をＵＳＢ通信部の送信バッファに書き込む工程と、
（ｃ）前記送信バッファから、ホスト装置に前記製品データ及び前記製品属性データを送信する工程と、
を備えるＵＳＢデバイスから製品属性データをホスト装置へ送信する属性データ送信方法。
【請求項８】
前記工程（ａ）は、電源投入時に、前記製品属性データの変更の有無を確認し、変更がある場合には前記不揮発性記憶部の記憶を変更する工程を含むことを特徴とする請求項７に記載の属性データ送信方法。
【請求項９】
前記工程（ａ）は、前記製品属性データを前記ホスト装置の表示部に表示されないコードに変換して前記不揮発性記憶部に記憶させる工程を含むことを特徴とする請求項７又は８に記載の属性データ送信方法。
【請求項１０】
前記工程（ｂ）は、前記不揮発性記憶部から読み出した前記製品属性データを前記ホスト装置において表示されないコードに変換して前記製品名データに付加する工程を含むことを特徴とする請求項７又は８に記載の属性データ送信方法。
【請求項１１】
前記ＵＳＢデバイスはプリンタであって、前記工程（ａ）はインクカートリッジから前記製品属性データを取得して前記不揮発性記憶部に記憶する工程を含むことを特徴とする請求項７から１０のいずれか１項に記載の属性データ送信方法。
【請求項１２】
さらに前記工程（ａ）は、前記プリンタの電源投入時にインクカートリッジからインク残量、インクカートリッジの種類を含む製品属性データを取得し、取得した前記製品属性データを前記不揮発性記憶部に記憶することを特徴とする請求項１１に記載の属性データ送信方法。
【請求項１３】
請求項７から１２のいずれか１項に記載の属性データ送信方法の各工程をコンピュータに実行させるプログラム。
【請求項１４】
請求項７から１２のいずれか１項に記載の属性データ送信方法の各工程をコンピュータに実行させるプログラムを記載した、コンピュータにより読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユニバーサル・シリアル・バス（本明細書では「ＵＳＢ」と称する）によりホスト装置と通信を行う装置（「ＵＳＢデバイス」と称する）に関し、特に、ＵＳＢデバイスの製品属性データをホスト装置に送信するＵＳＢデバイス及びＵＳＢによる属性データ送信方法に関する。
【０００２】
【従来技術】
配線が容易で高速通信が可能である上に、プラグアンドプレイが可能であることから、ＵＳＢによるデータ通信が可能なＵＳＢデバイスが普及している。ＵＳＢによるデータ通信は、業務システムでも採用可能である。例えば、ＰＯＳシステムでは、ホスト装置にプリンタ、スキャナ、ディスプレイ等の多くの周辺装置が接続されており、ホスト装置とこれらの周辺装置とをＵＳＢで接続したものも一部で採用されている。
【０００３】
ＵＳＢ仕様では、全てのＵＳＢデバイスにおいて標準リクエストが可能である。標準リクエストでは、例えば、接続されたＵＳＢデバイスをホスト装置で認識するために、ＵＳＢデバイスの電源投入時にゲット・ディスクリプタ（Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ）等のデバイス・リクエストがＵＳＢデバイスに送信される。これに応じて、ＵＳＢデバイスは、ディスクリプタに記憶されている内容をホスト装置に送信する。ディスクリプタにはデバイス、コンフィギュレーション、インタフェース、エンドポイント等のディスクリプタがあり、これらの記憶内容は仕様により規定されている。ディスクリプタにはさらに、製品名、会社名等の情報を持つストリングディスクリプタも備えられている（非特許文献１参照）。
【０００４】
【非特許文献１】
トランジスタ技術、２０００年６月号、第１９０〜１９３頁
【０００５】
【発明が解決しようとする課題】
このような標準リクエストにより取得可能な情報は、ＵＳＢ仕様により規定されており、標準リクエストによりＵＳＢデバイスの製造メーカー及び製品名についての情報は取得できたが、個別製品の細部に亘る製品属性データは取得することはできなかった。
【０００６】
しかし、ＰＯＳシステム等の業務システムでは、顧客の業務状況に応じて多くの種類のＵＳＢデバイスが接続可能であり、このようなＵＳＢデバイスの中には、同じ製品名の装置であっても、異なる機能を有する製品がある。例えば、ＰＯＳプリンタでは、同じ製品名で、印刷機能としてインクカートリッジを交換するだけで、２色、３色、４色等に印刷色の切り換えが可能なものも存在する。また、自動給紙機構（オート・シート・フィーダ）の有無、印刷用紙の種類等も異なる場合がある。ホスト装置のアプリケーションプログラムは、接続されたこれらのＵＳＢデバイスの機能情報（製品属性データ）を取得して、各ＵＳＢデバイスの機能に応じたアプリケーション処理を実行しなければならない。
【０００７】
これらの製品属性データを取得するため従来技術では、ベンダーリクエストを利用している。ＵＳＢ仕様には、ＵＳＢデバイスを提供するベンダーのためにベンダーリクエストを規定している。ホスト装置はこのベンダーリクエストによりプリンタ等のＵＳＢデバイスからステータス情報、製品属性データ等を取得する。しかし、ベンダーリクエストを用いる場合には、ホスト装置側のアプリケーション、ミドルウェア、デバイスドライバの変更等、種々の変更が必要となり、これらの変更が大きな負担となるという問題があった。
【０００８】
本発明はこのような問題点に鑑みてなされたもので、ホスト装置等に特別の変更を必要としないで、ＵＳＢデバイスの製品属性データをホスト装置に送信することができるＵＳＢデバイス及び属性データ送信方法を提供することを目的の一つとする。
【０００９】
【課題を解決するための手段】
本発明では、標準リクエストのゲット・ディスクリプタ命令があったときに、ストリングディスクリプタの製品名データに製品属性データを付加して送信するよう構成することにより上記課題を達成する。
【００１０】
本発明の第１の態様にかかるＵＳＢデバイスは、ホスト装置とユニバーサル・シリアル・バス（ＵＳＢ）によりデータ通信を行うＵＳＢ通信部と、製品属性データを取得して不揮発性記憶部に記憶させる属性データ取得部と、ホスト装置からのゲット・ディスクリプタ命令に応じて、不揮発性記憶部から前記製品属性データを読み出し、製品名データに前記製品属性データを付加した送信情報をＵＳＢ通信部の送信バッファに転送する属性データ転送部とを備えることを特徴とする。この態様によると、ＵＳＢ通信の標準リクエストにより、属性データを送信することが可能となる。そのため、属性データの送信のためにベンダーリクエスト等を用いる必要がなく、アプリケーションの変更等が不要となる。
【００１１】
本発明の他の態様にかかるＵＳＢデバイスは、属性データ取得部が、電源投入時に、製品属性データの変更の有無を確認し、変更がある場合には不揮発性記憶部の記憶内容を変更することを特徴とする。この態様により、ＵＳＢデバイスの電源投入の度に製品属性データを最新情報に更新することが可能となる。
【００１２】
本発明の他の態様にかかるＵＳＢデバイスは、属性データ取得部が、製品属性データを前記ホスト装置の表示部に表示されないコードに変換して前記不揮発性記憶部に記憶させることを特徴とする。この態様は、不揮発性記憶部に記憶する段階で、製品属性データのみをホスト装置に表示されないデータに変換するものである。この態様によると、製品属性データがホスト装置に表示されないため、属性データを送信しても、表示内容が変更されず（本来のストリングディスクリプタ以外の情報は表示されず）、製品名等の情報が見難くなることがない。
【００１３】
本発明の他の態様にかかるＵＳＢデバイスは、属性データ転送部が、不揮発性記憶部から読み出した前記製品属性データを前記ホスト装置において表示されないコードに変換して前記製品名データに付加することを特徴とする。この態様は、送信バッファに転送する段階で、ホスト装置において表示されないデータコードに変換するものである。この態様でも、表示内容が変更されることはなく、本来のストリングディスクリプタの情報のみをホスト装置に表示させるようにすることが可能となる。
【００１４】
本発明の他の態様は、ＵＳＢデバイスがプリンタであって、製品属性データがプリンタの印刷可能色を示す情報を含むことを特徴とする。
【００１５】
本発明の他の態様にかかるＵＳＢデバイスは、さらに、属性データ取得部が、プリンタの電源投入時にインクカートリッジからインクカートリッジの種類を含む製品属性データを取得し、取得した前記製品属性データを不揮発性記憶部に記憶することを特徴とする。
【００１６】
本発明の第１の態様にかかる属性データ送信方法は、ホスト装置とユニバーサル・シリアル・バス（ＵＳＢ）によりデータ通信を行うＵＳＢデバイスにおいて、（ａ）製品属性データを不揮発性記憶部に記憶する工程と、（ｂ）ＵＳＢデバイスの電源投入後にホスト装置から送信されるゲット・ディスクリプタ命令に応じて、製品属性データを記憶している不揮発性記憶部から製品属性データを読み出して、製品名データに付加した送信情報をＵＳＢ通信部の送信バッファに書き込む工程と、（ｃ）送信バッファからホスト装置に製品データ及び前記製品属性データを送信する工程とを備えることを特徴とする。
【００１７】
本発明の他の態様にかかる属性データ送信方法は、工程（ａ）が、電源投入時に、製品属性データの変更の有無を確認し、変更がある場合には不揮発性記憶部の記憶を変更する工程を含むことを特徴とする。
【００１８】
本発明の他の態様にかかる属性データ送信方法は、工程（ａ）が、製品属性データを前記ホスト装置の表示部に表示されないコードに変換して不揮発性記憶部に記憶させる工程を含むことを特徴とする。
【００１９】
本発明の他の態様にかかる属性データ送信方法は、工程（ｂ）が、不揮発性記憶部から読み出した前記製品属性データを前記ホスト装置において表示されないコードに変換して前記製品名データに付加する工程を含むことを特徴とする。
【００２０】
本発明の他の態様にかかる属性データ送信方法は、ＵＳＢデバイスがプリンタからなり、工程（ａ）はインクカートリッジから製品属性データを取得して不揮発性記憶部に記憶する工程を含むことを特徴とする。
【００２１】
本発明の他の態様にかかる属性データ送信方法は、さらに工程（ａ）が、プリンタの電源投入時にインクカートリッジからインク残量、インクカートリッジの種類を含む製品属性データを取得し、取得した前記製品属性データを前記不揮発性記憶部に記憶することを特徴とする。
【００２２】
本発明の他の態様は、上記属性データ送信方法いずれかに記載の各工程をコンピュータに実行させるプログラムである。コンピュータは、ＣＰＵ、論理回路、メモリ、及び各種制御プログラム等から成り、本プログラムを読み込むことにより、上記属性データ送信方法の各工程を実行する。
【００２３】
本発明の他の態様は、上記属性データ送信方法の各工程をコンピュータに実行させるプログラムを記載した、コンピュータにより読取可能な記録媒体である。コンピュータは、ＣＰＵ、論理回路、メモリ、及び各種制御プログラム等から成り、本記録媒体に記録されたプログラムを読み込むことにより、上記属性データ送信方法の各工程を実行する。
【００２４】
【発明の実施の形態】
以下、本発明の実施形態を、図面を用いて説明する。図１は、本発明の一実施形態にかかるホスト装置５０とこれに接続されるＵＳＢデバイス１０を示している。以下の説明では、説明を明確にするために、ホスト装置５０とＵＳＢデバイス１０として、ＰＯＳシステムのホスト装置及びプリンタを想定して説明するが、本発明はこれらに限定されるものではない。
【００２５】
図１のホスト装置５０は、機能ブロック図であり、アプリケーションプログラム５１、ミドルウェアを含むオペレーティングシステム（ＯＳ）５２、ＵＳＢデバイスドライバ５３、ＵＳＢデバイス１０との通信を管理するＵＳＢホストデバイス５８を備えている。ＵＳＢデバイスドライバ５３のリクエストには、全てのＵＳＢ製品が備えている標準リクエスト５５の他、クラスリクエスト５６、ベンダーリクエスト５７がある。
【００２６】
図１のＵＳＢデバイス（ＰＯＳプリンタ）１０では、ハードウェア構成の概略を示している。ＵＳＢデバイス１０は、ＵＳＢデバイス制御部１１と、不揮発性記憶部１２、ＣＰＵ１５、ＲＯＭ及びＲＡＭからなるメモリ１６、印刷制御等のロジック回路を構成するゲートアレイ（Ｇ／Ａ）１８、印刷機構１９、インクカートリッジ１３とを備えている。構成要素各部１１、１２、１３、１５、１６、１８は、内部バス１７を介して相互に接続されており、ＣＰＵ１５により制御される。
【００２７】
ＵＳＢデバイス制御部１１は、ホスト装置５０のＵＳＢホストデバイス５８との間でのデータ通信を行う。ＣＰＵ１５は、メモリ１６に記憶されている制御プログラム等に従いＵＳＢデバイス１０全体の制御を行う。印刷機構１９はＧ／Ａ１８の制御下、ホスト装置５０から送信された印刷データの印刷を行う。不揮発性記憶部１２は、ＵＳＢデバイス１０の製品属性データを記憶しており、ホスト装置５０からの要求に応じてその内容をホスト装置５０に送信する。インクカートリッジ１３には収容するインク色の違い等に応じて種々の種類があり、プリンタ（ＵＳＢデバイス１０）に交換可能に装着されている。インクカートリッジ１３が交換されると、ＣＰＵ１５がインクカートリッジ１３内に設けられた情報ＩＣ１４からカートリッジ１３の種類及びその他の情報（インク残量、廃液吸収可能量等）を読み出して、不揮発性記憶部１２に記憶する。
【００２８】
図２を用いてより詳しく説明する。図２は図１のＵＳＢデバイス１０の機能ブロック図（ＣＰＵ１５の制御と各部の動作とを機能的に分解して示す図）を示している。図１と同一部分は同じ番号を使用する。ホスト装置５０とデータを送受信するＵＳＢ通信部３０は、ホスト装置５０のＵＳＢホストデバイス５８からのポーリングに応答して、ホスト装置５０とデータ通信を行う。ＵＳＢ通信部３０は、ホスト装置５０から受信したデータを記憶する受信バッファ３１と、ＵＳＢデバイス１０から送信するデータを記憶する送信バッファ３２とを備えている。受信バッファ３１と送信バッファ３２は、通常ＦＩＦＯにより構成される。印刷制御部２５は、受信したデータに基づいて印刷機構１９の動作を制御し、印刷処理を実行する。
【００２９】
ＰＯＳプリンタには、多くの種類があり、また、同じ製品でも印刷可能色等に応じてインクカートリッジの種類を変えることが可能である。インクカートリッジ１３が変更されると、印刷可能な色も変更されるので、ホスト装置５０のアプリケーションは、現在どのようなインクカートリッジ１３が装着されているか等のプリンタ（ＵＳＢデバイス１０）の属性を認識しておく必要がある。そのため、ＵＳＢデバイス１０の製品属性データを容易にホスト装置５０に知らせることが可能な構成が望まれる。
【００３０】
インクカートリッジ１３の変更のようなプリンタの属性を変更する状況が発生すると、属性データ取得部２３は、インクカートリッジ１３の情報ＩＣ１４から製品属性データを取得し、不揮発性記憶部１２に転送し記憶させる。
【００３１】
一方、ホスト装置５０では、ＵＳＢデバイス１０の電源が投入されたかどうか（電源オン状態のＵＳＢデバイス１０が接続されたかどうかを含む）を監視しており、接続されたＵＳＢデバイス１０の電源が投入されると、標準リクエストであるゲット・ディスクリプタを送信する。このようなゲット・ディスクリプタのリクエストに対して、通常、ＵＳＢデバイス１０から、メーカー名、製品名がホスト装置５０に送信される。
【００３２】
本発明では、これらの製品名等のデータに続けて、製品属性データを付加して送信することにより、通常動作である標準リクエストにより、必要な製品属性データをホスト装置５０に送信する。そのため、ゲット・ディスクリプタのリクエストを受信したら、属性データ転送部２１は、不揮発性記憶部１２から製品属性データを読み出し、製品名等のデータに続けて、読み出した製品属性データを付加して送信バッファ３２に転送する。ＵＳＢ通信部３０は、ホスト装置５０からのポーリングに応じて、送信バッファ３２の内容を、ホスト装置５０に送信する。
【００３３】
ホスト装置５０に送信されたデータは、ＵＳＢホストデバイス５８を介して、ＵＳＢデバイスドライバ５７により指定されるの所定のメモリエリアに記憶される。アプリケーション５１は、所定のメモリエリアを読み出すことにより、ＵＳＢデバイス１０の製品属性データを認識することが可能となる。
【００３４】
尚、ゲット・ディスクリプタにより取得した情報は、ホスト装置５０側で表示して確認することができる。製品属性データを含むすべての情報がホスト装置５０に表示されると、ＵＳＢ仕様で規定された情報が見難くなるため、ＵＳＢデバイス１０の属性データ転送部２１により、製品属性データのみをホスト装置５０で表示されないコードに変換して送信バッファに転送するように構成してもよい。例えば、ＯＳ５２がウィンドウズ（登録商標）である場合には、ウィンドウズ（登録商標）の標準フォントでは表示されないＡＳＣＩＩコードに変換すればよい。
【００３５】
以上の説明では、製品属性データとしてインクカートリッジの属性情報のみを示したが、自動給紙機構の有無等その他の製品属性データを送信することも可能である。また、本発明は、ＵＳＢ通信が可能なシステムであれば適用可能であり、ＰＯＳシステム以外のシステムにも適用可能である。また、ＵＳＢデバイスはプリンタに限られず、スキャナ、ディスプレイ、記憶装置その他のデバイスにも適用可能である。
【００３６】
製品属性データの取得は、情報ＩＣ１４等から内部通信により取得する場合に限られず、自動給紙機構の着脱等の製品属性データの変更に伴って、ＵＳＢデバイス１０が備えるキーボード、タッチパネル、又はディップスイッチ等の入力装置（図示せず）から入力される情報を不揮発性記憶部１２に記憶しておき、当該不揮発性記憶部１２から取得することも可能である。ＵＳＢデバイス１０が入力装置を備えていない場合には、ホスト装置５０等から製品属性データに係る情報を不揮発性記憶部１２に記憶させることも可能である。
【００３７】
図３は、本発明の一実施形態にかかるホスト装置とＵＳＢデバイス間における属性データの通信手順を示すフローチャートである。ＵＳＢデバイスは電源投入されると（Ｓ１０１；Ｙｅｓ）、情報ＩＣ１４、ディップスイッチ等の製品属性情報（製品属性データ）が変更されたかどうかを確認し（Ｓ１０２）、変更があると不揮発性記憶部１２に記憶している製品属性データを変更する（Ｓ１０３）。これにより、不揮発性記憶部１４に記憶している製品属性データは、常に最新の状態に更新される。
【００３８】
一方、ホスト装置５０は、ポーリング等により、ＵＳＢデバイス１０の電源が投入されたかどうか（電源オン状態のＵＳＢデバイス１０が接続されたかどうかを含む）を所定の間隔で常時確認しており（Ｓ２０１）、ＵＳＢデバイス１０の電源が投入されると、ＵＳＢデバイスにゲット・ディスクリプタ命令を送信する（Ｓ２０２）。ＵＳＢデバイス１０は、ゲット・ディスクリプタ命令を受信すると（Ｓ１０４；Ｙｅｓ）、送信バッファ３２に製品情報及び製品属性データを書き込む（Ｓ１０５）。送信バッファ３２にこれらの情報が書き込まれると、ＵＳＢ通信部３０からホスト装置５０にこれらのデータが送信される（Ｓ１０６）。
【００３９】
ホスト装置５０はこれらの情報を受信すると、メモリの所定のエリアに受信した製品属性データ等を書き込み（Ｓ２０４）、製品属性データの取得処理は終了する。所定のメモリエリアに書き込まれた製品属性データは、適宜アプリケーション等により参照可能な状態に維持される。
【００４０】
【発明の効果】
以上説明したように、本発明では、製品属性データを不揮発性記憶部に記憶しておき、標準リクエストのゲット・ディスクリプタ命令を受信したとき、ストリングディスクリプタの製品名データに製品属性データを付加して送信するよう構成した。これにより、ＵＳＢ通信の標準リクエストにより、属性データを送信することが可能となる。そのため、属性データの送信のためにベンダーリクエスト等を用いる必要がなく、アプリケーション等の変更が不要となる。
【図面の簡単な説明】
【図１】本発明の一実施態様にかかるホスト装置とこれに接続されるＵＳＢデバイスを示す図である。
【図２】本発明の一実施態様に係るＵＳＢデバイスの機能ブロック図である。
【図３】本発明の一実施形態にかかるホスト装置とＵＳＢデバイス間における属性データの通信手順を示すフローチャートである。
【符号の説明】
１０  ＵＳＢデバイス                  １１  ＵＳＢデバイス制御部
１２  不揮発性記憶部                  １３  インクカートリッジ
１４  情報ＩＣ                        １５  ＣＰＵ
１６  メモリ                          １７  内部バス
１８  ゲートアレイ                    １９  印刷機構
２１  属性データ転送部                ２３  属性データ取得部
２５  印刷制御部                      ３０  ＵＳＢ通信部
３１  受信バッファ                    ３２  送信バッファ
５０  ホスト装置                      ５３  ＵＳＢデバイスドライバ
５５  標準リクエスト                  ５６  クラスリクエスト
５７  ベンダーリクエスト              ５８  ＵＳＢホストデバイスドライバ
【図１】
2004272570.tif 000003
【図２】
2004272570.tif 000004
【図３】
2004272570.tif 000005