プリンタ装置、通信システム、通信方法
【課題】USBインターフェースにおける通信エラーを容易に検出・修正することのできる通信システム及び通信方法、並びに当該通信システムに用いられるプリンタ装置を提供すること。
【解決手段】本プリンタ装置20は、ホスト10と接続されたUSBケーブル30が接続される接続部22と、ホスト10から定期的に送信され、USBケーブル30の通信状態が正常であることを示すピング信号を、接続部22を介して受信する受信部26と、ピング信号が一定時間以上受信されない場合に、USBケーブル30を一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部26と、を備える
【解決手段】本プリンタ装置20は、ホスト10と接続されたUSBケーブル30が接続される接続部22と、ホスト10から定期的に送信され、USBケーブル30の通信状態が正常であることを示すピング信号を、接続部22を介して受信する受信部26と、ピング信号が一定時間以上受信されない場合に、USBケーブル30を一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部26と、を備える
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタ装置とホストとがUSB(Universal
Serial Bus)インターフェースにより接続された通信システムに関する。
【背景技術】
【0002】
ホストとプリンタ装置とが、USBインターフェースにより接続された通信システムが知られている。上記の通信システムでは、USBケーブルの電源ラインを通じて伝達される電気的なノイズ等により、ホスト側のUSBコントローラに異常が生じ、通信エラーが発生してしまう場合がある。この場合、例えばホスト側でUSBのバスリセットを行うことで、USBインターフェースの接続状態を正常に戻すことができる場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−161444号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の通信システムにおいて、ホスト側では、一度USBケーブルが接続された以降は、次にUSBケーブルが抜かれるまで接続状態であると認識される。このため、上記のようなUSBコントローラの異常に起因する通信エラーは、ホスト側において検出することが難しく、エラーの修正が困難である場合があった。
【0005】
本発明は、上記課題に鑑みなされたものであり、USBインターフェースにおける通信エラーを容易に検出・修正することのできる通信システム及び通信方法、並びに当該通信システムに用いられるプリンタ装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本プリンタ装置は、ホストと接続されたUSBケーブルが接続される接続部と、前記ホストから定期的に送信され、前記USBケーブルの通信状態が正常であることを示すピング信号を、前記接続部を介して受信する受信部と、前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、を備えることを特徴とする。
【0007】
上記構成において、前記ピング信号は、前記ホストが前記プリンタ装置に情報を要求する読み出しリクエストであり、前記制御部は、前記読み出しリクエストに応じて、前記プリンタ装置のエラーステータス情報を前記ホストに送信する構成とすることができる。
【0008】
上記構成において、前記制御部は、前記プリンタ装置の起動時において、前記ピング信号を最初に受信するまでは、前記再接続設定を行わない構成とすることができる。
【0009】
上記構成において、前記ピング信号の周期は、ベンダー固有のリクエストにより設定可能である構成とすることができる。
【0010】
上記構成において、前記制御部は、ベンダー固有のリクエストに基づいて、前記再接続設定を行うか否かを決定する構成とすることができる。
【0011】
上記構成において、前記制御部は、前記再接続設定を行う場合に、前記プリンタ装置におけるプリンタ機能のリセットを行う構成とすることができる。
【0012】
上記構成において、前記制御部は、前記再接続設定が行われた場合に、前記ホストへ通知を行う構成とすることができる。
【0013】
上記構成において、前記ピング信号は、前記ホストから一方的に送信される書き込みリクエストである構成とすることができる。
【0014】
本通信システムは、プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、を備える通信システムであって、前記プリンタ装置は、前記USBケーブルの通信状態が正常であることを示すピング信号を受信する受信部と、前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、を含み、前記ホストは、前記プリンタに対し前記ピング信号を定期的に送信する送信部と、前記再接続設定が行われた場合に、前記USBケーブルのバスリセットを行うリセット部と、を含むことを特徴とする。
【0015】
上記構成において、前記ホストの前記送信部は、前記ピング信号とは別に前記プリンタ装置に対しステータス要求を送信し、前記ステータス要求に対し前記プリンタ装置から通知されたエラーステータス情報に応じて、前記ピング信号の送信を停止する構成とすることができる。
【0016】
本通信方法は、プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、の間における通信方法であって、前記ホストから、前記プリンタ装置に対し、前記USBケーブルの通信状態が正常であることを示すピング信号を定期的に送信するステップと、前記ピング信号が一定時間以上受信されない場合に、前記プリンタ装置側において、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行うステップと、前記再接続設定に応じて、前記ホスト側において、前記USBケーブルのバスリセットを行うステップと、を備えることを特徴とする。
【発明の効果】
【0017】
本発明によれば、プリンタ装置とホストとを接続するUSBインターフェースにおける通信エラーを容易に検出・修正することができる。
【図面の簡単な説明】
【0018】
【図1】図1は、システム全体の構成を示す機能ブロック図である。
【図2】図2は、ハードウェア構成を示すブロック図である。
【図3】図3は、PCとプリンタ装置との間における情報のやり取りを示すシーケンス図である。
【図4】図4は、PC側の動作を示すフローチャート(その1)である。
【図5】図5は、プリンタ装置側の動作を示すフローチャートである。
【図6】図6は、PC側の動作を示すフローチャート(その2)である。
【図7】図7は、PC側の動作を示すフローチャート(その3)である。
【発明を実施するための形態】
【0019】
以下、本発明の実施例について図面を参照し説明する。
【実施例1】
【0020】
図1は、システム全体の構成を示す機能ブロック図である。ホストであるPC(Personal Computer)10とプリンタ装置20とが、USBケーブル30により互いに接続されている。
【0021】
PC10は、USBケーブル30が接続される接続部12、USBケーブル30の接続制御を行うUSB制御部14、プリンタ装置20の制御を行うプリンタドライバ16、及びプリンタ装置20を使用するアプリケーション18を備える。
【0022】
プリンタ装置20は、USBケーブル30が接続される接続部22、USBケーブル30の接続制御を行うUSB制御部24、プリンタ装置20全体の制御を行う全体制御部26、及び印刷を行う印刷部28を備える。プリンタ装置20は、例えばレシートやジャーナル用途のサーマルプリンタとすることができるが、USBインターフェース(I/F)を備えたプリンタ装置であれば上記に限定されるものではない。
【0023】
USBケーブル30は、一端がPC10の接続部12に接続され、他端がプリンタ装置20の接続部22に接続されている。各装置に備えられたUSB制御部(14、24)は、USBインターフェースに関連する各種制御(例えば、接続、切断、バスリセット等)を実行する。
【0024】
PC10のアプリケーション18は、印刷データを生成し、プリンタドライバ16へと送信する。プリンタドライバ16は、プリンタ装置20に印刷を実行させるための印刷コマンドと共に、上記印刷データをUSB制御部14へと送信する。USB制御部14は、接続部12に接続されたUSBケーブル30を介して、データをプリンタ装置20へと送信する。
【0025】
プリンタ装置20側において、USB制御部24は、接続部22を介して受信したデータを全体制御部26へと送信する。全体制御部26は、印刷部28に印刷データを送信すると共に、印刷開始の指示を与える。印刷部28は、受信した印刷データに従って、所定の用紙に印刷を実行する。
【0026】
図2は、システム全体のハードウェア構成を示すブロック図である。PC10は、CPU(Central Processing Unit)40、RAM(Random Access Memory)42、ROM(Read Only
Memory)44、及びUSBインターフェース46を備える。ROM44には、PC10の各機能を実現するためのプログラムが記憶されている。CPU42は、RAM44上に当該プログラムを読み出して実行することにより、図1に示すUSB制御部14、プリンタドライバ16、及びアプリケーション18のそれぞれの機能を実現する。また、USBインターフェース46は、図1における接続部12に相当する。
【0027】
プリンタ装置20は、CPU50、RAM52、ROM54、USBインターフェース56、及び印刷部28を含む。ROM54には、プリンタ装置20の各機能を実現するためのプログラムが記憶され、CPU50及びRAM52により当該プログラムが実行される。また、USBインターフェース56は、図1における接続部22に相当し、印刷部28は図1と共通のハードウェアである。
【0028】
ここで、USBケーブル30を通じて伝播される電気的なノイズ(例えば、用紙に帯電した静電気に起因するノイズ)により、PC10側のUSB制御部14にエラーが生じ、PC10とプリンタ装置20との間でデータの通信が行えなくなる場合がある。このようなエラーは、PC10側においてUSBインターフェースのバスリセットを行うことにより、解消することができる場合がある。しかし、アプリケーション18及びプリンタドライバ16においては、一度USBケーブル30が接続された以降は、次にUSBケーブル30が抜かれるまでは接続状態であると認識される。このため、PC10内のUSB制御部14における、上記エラーを検出及び修正が困難となる場合がある。
【0029】
本実施例に係るプリンタ装置及び通信システムでは、ホストであるPC10側から定期的に送信されるピング信号を用いて、プリンタ装置20側にてUSBインターフェースの接続状態の監視を行い、異常(エラー)が生じた場合に接続状態をリセットすることにより、通信エラーの修正を行う。以下、プリンタ装置及び通信システムの詳細について説明する。
【0030】
図3は、PC10及びプリンタ装置20間における情報のやり取りを示すシーケンス図である。最初に、PC10からプリンタ装置20に対し、ピング信号が定期的に送信される。ピング信号とは、プリンタドライバ16からプリンタ装置20に対し定期的に送信される信号であって、USBインターフェースの接続状態が正常であることを示す信号である。ピング信号は、PC10にインストールされたプリンタドライバ16により生成される。
【0031】
PC10からプリンタ装置20に送信される信号(リクエスト)には、USBのリクエストのうち標準的に定義された標準リクエストと、プリンタ装置20のベンダー(製造者)により独自に定義されたベンダー固有リクエストとがある。本実施例では、上記のピング信号にベンダー固有リクエストを用いる。また、ベンダー固有リクエストには、PC10から一方的に送信される書き込み(Write)リクエストと、プリンタ装置20に所定の情報の送信を要求する読み出し(Read)リクエストとがあるが、本実施例では上記のピング信号に読み出しリクエストを用いる。
【0032】
プリンタ装置20は、ピング信号の読み出しリクエストに応じて、プリンタ装置のエラーステータス情報をPC10へと送信する。また、ピング信号が一定時間以上受信されない場合に、プリンタ装置20の側においてUSBインターフェースの再接続設定(後段にて詳述)を行い、USBインターフェースの再接続が行われたことをPC10へと通知する。
【0033】
図4は、PC10側の動作を示すフローチャート(その1)である。最初に、プリンタドライバ16は、プリンタ装置20側において、ピング信号によるUSB接続状態の監視機能を動作させるか否かの設定を行う(ステップS10)。プリンタドライバ16は、プリンタ装置20における監視機能が動作しているか否かを判定する(ステップS12)。監視機能が動作している場合、プリンタドライバ16は、PC10に定期的に送信するピング信号の周期を設定し(ステップS14)、当該周期に基づいてピング信号をPC10へと送信する(ステップS16)。上記のプリンタ装置20の監視機能の動作設定(ステップS10)、及びピング信号の周期の設定(ステップS14)は、それぞれ前述のベンダー固有リクエストにより行うことができる。
【0034】
図5は、プリンタ装置20側の動作を示すフローチャートである。最初に、電源が投入されてプリンタ装置20が起動すると(ステップS30)、全体制御部26は、PC10からピング信号を受信したか否かの判定を行う(ステップS32)。プリンタ装置20の起動後に最初にピング信号が受信されるまでは、ステップS34以降の再接続設定は行われない。
【0035】
ステップS32でYESと判定された場合(プリンタ装置20の起動後に最初のピング信号を受信した場合)、全体制御部26は、ピング信号の有無を監視するための監視タイマをリセットする(ステップS34)。次に、全体制御部26は、ピング信号の読み出しリクエストに応じて、プリンタ装置のエラーステータス情報をPC10へと送信する(ステップS36)。
【0036】
次に、全体制御部26は、予め定められた所定の時間内に、ピング信号が受信されたか否かを判定する(ステップS38)。時間内にピング信号が受信された場合、ステップS34に戻り、全体制御部26が監視タイマのリセットを行う。一方、時間内にピング信号が受信されなかった場合、全体制御部26は、以下に説明するUSBインターフェースの再接続設定を行う。
【0037】
ステップS38でNOと判定された場合、全体制御部26は、監視タイマを停止する(ステップS40)。次に、全体制御部26は、プリンタ装置20側のUSB制御部24(USBコントロールIC)を停止状態に制御する(ステップS42)。このとき、USBケーブル30における2本の電源線(Vbus)の信号レベルは共にローレベルとなる。USB制御部24が停止してから100msが経過したら(ステップS44)、全体制御部26は、USB制御部24を動作状態に制御する(ステップS46)。このとき、USBケーブル30における2本の電源線(Vbus)の信号レベルは、一方がハイレベル、他方がローレベルとなる。
【0038】
以上のステップS42〜S46の再接続設定動作により、プリンタ装置20側において、USBケーブル30が一度接続部22から抜かれ、再度接続部22に挿入されたのと同じ状態となる。USBケーブル30の電源線(Vbus)における電圧レベルの変化(「L、L」→「H、L」)は、PC10側のUSB制御部14により検出される。換言すれば、上記電圧レベルの変化により、USBインターフェースの再接続が行われた旨がPC10へと通知される。最後に、全体制御部26は、プリンタ装置20側において上記の再接続設定機能が動作した旨を、PC10側へと通知し(ステップS48)、プリンタ装置20の機能全体のリセットを実行する(ステップS50)。
【0039】
図6は、PC10側の動作を示すフローチャート(その2)であり、プリンタ装置20における上記の再接続設定が行われた際の動作を示す。最初に、USB制御部14は、プリンタ装置20にて再接続設定が実行されたか否かを判定(検出)する(ステップS60)。ステップS60でYESと判定された場合、USB制御部14は、USBインターフェースのバスリセットを実行し(ステップS62)、その後エニュメレーションによる再接続を行う(ステップS64)。PC10側でバスリセットを行うことにより、USBインターフェースの通信エラーを修正(解消)することができる。
【0040】
図7は、PC10側の動作を示すフローチャート(その3)であり、プリンタ装置20からエラーステータス情報が送信された場合の処理を示す図である。最初に、プリンタドライバ16は、プリンタ装置20からエラーステータス情報を受信したか否かを判定する(ステップS70)。エラーステータス情報が受信された場合、プリンタドライバ16は、ピング信号の送信を停止する。これにより、一定時間経過後に、プリンタ装置20において再接続接設定機能が動作し、USBインターフェースのバスリセットが実行される。これにより、USBインターフェースの通信エラーを解消することができる。
【0041】
実施例1に係るプリンタ装置及び通信システムによれば、PC10から定期的に送信されるピング信号を用いて、プリンタ装置20の側においてUSBインターフェースの接続状態を監視する。これにより、PC10側のUSB制御部14にエラーが生じ、PC10側において当該エラーが認識できない場合でも、プリンタ装置20側においてエラーの発生を速やかに検出し、プリンタ装置20側の再接続設定によりPC10側にバスリセットを要求するという方法を用いて、通信エラーを修正することができる。なお、本実施例において、PC10のプリンタドライバ16は、ピング信号を送信する送信部の一例であり、プリンタ装置20の全体制御部26は、ピング信号を受信する受信部、及び再接続設定を行う制御部の一例である。
【0042】
実施例1では、ピング信号に読み出しリクエストを用いたが、読み出しリクエストの代わりに書き込みリクエストを用いることも可能である。ただし、ピング信号に読み出しリクエストを用いた場合、当該読み出しリクエストに応じて、全体制御部26がプリンタ装置20のエラーステータス情報をPC10に送信する構成とすることで、USBの通信状態の確認とプリンタ装置20のエラー状態の確認とを同時に行うことができる。
【0043】
実施例1では、図5のステップS32に示すように、プリンタ装置20(全体制御部26)が最初にピング信号を受信するまでは、ステップS34以降の再接続設定を行わない構成としたが、本構成は必須ではない。ただし、本構成によれば、例えばPC10の起動時間がプリンタ装置20より遅い場合でも、PC10の起動を待ってUSB接続状態の監視を開始することができ、監視の効率を向上させることができる。
【0044】
実施例1では、図4のステップS10に示すように、プリンタ装置20における再接続設定機能のオン/オフをベンダー固有リクエスト(例えば、bRequestまたはwValue等のパラメータ)により設定可能としたが、本構成は必須ではない。ただし、本構成によれば、USB接続状態の監視が不要な場合(例えば、PC10が再起動する場合)において、再接続設定機能をオフにすることにより、監視の効率を向上させることができる。また、図4のステップS14に示すように、プリンタドライバ16から送信されるピング信号の周期を、ベンダー固有リクエストにより設定可能としたが、本構成も必須ではない。ただし、本構成によれば、PC10の処理能力及び動作状況等に応じて、ピング信号の周期を適切に変更することができる。
【0045】
実施例1では、図5のステップS50に示すように、全体制御部26がステップS42〜S46の再接続設定を行う場合に、印刷部28(プリンタ機能)のリセットを併せて行う構成としたが、本構成は必須ではない。ただし、本構成によれば、プリンタ装置20におけるエラーをより確実に修正することができる。
【0046】
実施例1では、図5のステップS48に示すように、ステップS42〜S46の再接続設定を行われた場合に、プリンタ装置20側において再接続設定機能が動作した旨をPC10へと通知する構成としたが、本構成は必須のものではない。ただし、本構成によれば、プリンタ装置20に再接続設定機能が動作したことにより、バスリセットが行われた旨の情報を、PC10において得ることができる。
【0047】
実施例1では、ピング信号の読み出しリクエスト(ステータス要求)に対しプリンタ装置20から通知されたエラーステータス情報に応じて、ピング信号の送信を停止する構成としたが、本構成は必須ではない。ただし、本構成によれば、PC10にエラーステータス情報が通知された場合に、ピング信号の送信を停止することにより、プリンタ装置20の再接続設定機能を動作させ、通信エラーを修正することができる。なお、上記のステータス要求は、ピング信号とは別にプリンタ装置20に対し送信する構成としてもよい。
【0048】
以上、本発明の実施例について詳述したが、本発明はかかる特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0049】
10 PC
12、22 接続部
14、24 USB制御部
16 プリンタドライバ
18 アプリケーション
20 プリンタ装置
26 全体制御部
28 印刷部
30 USBケーブル
40、50 CPU
42、52 RAM
44、54 ROM
46、56 USBインターフェース
【技術分野】
【0001】
本発明は、プリンタ装置とホストとがUSB(Universal
Serial Bus)インターフェースにより接続された通信システムに関する。
【背景技術】
【0002】
ホストとプリンタ装置とが、USBインターフェースにより接続された通信システムが知られている。上記の通信システムでは、USBケーブルの電源ラインを通じて伝達される電気的なノイズ等により、ホスト側のUSBコントローラに異常が生じ、通信エラーが発生してしまう場合がある。この場合、例えばホスト側でUSBのバスリセットを行うことで、USBインターフェースの接続状態を正常に戻すことができる場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−161444号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の通信システムにおいて、ホスト側では、一度USBケーブルが接続された以降は、次にUSBケーブルが抜かれるまで接続状態であると認識される。このため、上記のようなUSBコントローラの異常に起因する通信エラーは、ホスト側において検出することが難しく、エラーの修正が困難である場合があった。
【0005】
本発明は、上記課題に鑑みなされたものであり、USBインターフェースにおける通信エラーを容易に検出・修正することのできる通信システム及び通信方法、並びに当該通信システムに用いられるプリンタ装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本プリンタ装置は、ホストと接続されたUSBケーブルが接続される接続部と、前記ホストから定期的に送信され、前記USBケーブルの通信状態が正常であることを示すピング信号を、前記接続部を介して受信する受信部と、前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、を備えることを特徴とする。
【0007】
上記構成において、前記ピング信号は、前記ホストが前記プリンタ装置に情報を要求する読み出しリクエストであり、前記制御部は、前記読み出しリクエストに応じて、前記プリンタ装置のエラーステータス情報を前記ホストに送信する構成とすることができる。
【0008】
上記構成において、前記制御部は、前記プリンタ装置の起動時において、前記ピング信号を最初に受信するまでは、前記再接続設定を行わない構成とすることができる。
【0009】
上記構成において、前記ピング信号の周期は、ベンダー固有のリクエストにより設定可能である構成とすることができる。
【0010】
上記構成において、前記制御部は、ベンダー固有のリクエストに基づいて、前記再接続設定を行うか否かを決定する構成とすることができる。
【0011】
上記構成において、前記制御部は、前記再接続設定を行う場合に、前記プリンタ装置におけるプリンタ機能のリセットを行う構成とすることができる。
【0012】
上記構成において、前記制御部は、前記再接続設定が行われた場合に、前記ホストへ通知を行う構成とすることができる。
【0013】
上記構成において、前記ピング信号は、前記ホストから一方的に送信される書き込みリクエストである構成とすることができる。
【0014】
本通信システムは、プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、を備える通信システムであって、前記プリンタ装置は、前記USBケーブルの通信状態が正常であることを示すピング信号を受信する受信部と、前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、を含み、前記ホストは、前記プリンタに対し前記ピング信号を定期的に送信する送信部と、前記再接続設定が行われた場合に、前記USBケーブルのバスリセットを行うリセット部と、を含むことを特徴とする。
【0015】
上記構成において、前記ホストの前記送信部は、前記ピング信号とは別に前記プリンタ装置に対しステータス要求を送信し、前記ステータス要求に対し前記プリンタ装置から通知されたエラーステータス情報に応じて、前記ピング信号の送信を停止する構成とすることができる。
【0016】
本通信方法は、プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、の間における通信方法であって、前記ホストから、前記プリンタ装置に対し、前記USBケーブルの通信状態が正常であることを示すピング信号を定期的に送信するステップと、前記ピング信号が一定時間以上受信されない場合に、前記プリンタ装置側において、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行うステップと、前記再接続設定に応じて、前記ホスト側において、前記USBケーブルのバスリセットを行うステップと、を備えることを特徴とする。
【発明の効果】
【0017】
本発明によれば、プリンタ装置とホストとを接続するUSBインターフェースにおける通信エラーを容易に検出・修正することができる。
【図面の簡単な説明】
【0018】
【図1】図1は、システム全体の構成を示す機能ブロック図である。
【図2】図2は、ハードウェア構成を示すブロック図である。
【図3】図3は、PCとプリンタ装置との間における情報のやり取りを示すシーケンス図である。
【図4】図4は、PC側の動作を示すフローチャート(その1)である。
【図5】図5は、プリンタ装置側の動作を示すフローチャートである。
【図6】図6は、PC側の動作を示すフローチャート(その2)である。
【図7】図7は、PC側の動作を示すフローチャート(その3)である。
【発明を実施するための形態】
【0019】
以下、本発明の実施例について図面を参照し説明する。
【実施例1】
【0020】
図1は、システム全体の構成を示す機能ブロック図である。ホストであるPC(Personal Computer)10とプリンタ装置20とが、USBケーブル30により互いに接続されている。
【0021】
PC10は、USBケーブル30が接続される接続部12、USBケーブル30の接続制御を行うUSB制御部14、プリンタ装置20の制御を行うプリンタドライバ16、及びプリンタ装置20を使用するアプリケーション18を備える。
【0022】
プリンタ装置20は、USBケーブル30が接続される接続部22、USBケーブル30の接続制御を行うUSB制御部24、プリンタ装置20全体の制御を行う全体制御部26、及び印刷を行う印刷部28を備える。プリンタ装置20は、例えばレシートやジャーナル用途のサーマルプリンタとすることができるが、USBインターフェース(I/F)を備えたプリンタ装置であれば上記に限定されるものではない。
【0023】
USBケーブル30は、一端がPC10の接続部12に接続され、他端がプリンタ装置20の接続部22に接続されている。各装置に備えられたUSB制御部(14、24)は、USBインターフェースに関連する各種制御(例えば、接続、切断、バスリセット等)を実行する。
【0024】
PC10のアプリケーション18は、印刷データを生成し、プリンタドライバ16へと送信する。プリンタドライバ16は、プリンタ装置20に印刷を実行させるための印刷コマンドと共に、上記印刷データをUSB制御部14へと送信する。USB制御部14は、接続部12に接続されたUSBケーブル30を介して、データをプリンタ装置20へと送信する。
【0025】
プリンタ装置20側において、USB制御部24は、接続部22を介して受信したデータを全体制御部26へと送信する。全体制御部26は、印刷部28に印刷データを送信すると共に、印刷開始の指示を与える。印刷部28は、受信した印刷データに従って、所定の用紙に印刷を実行する。
【0026】
図2は、システム全体のハードウェア構成を示すブロック図である。PC10は、CPU(Central Processing Unit)40、RAM(Random Access Memory)42、ROM(Read Only
Memory)44、及びUSBインターフェース46を備える。ROM44には、PC10の各機能を実現するためのプログラムが記憶されている。CPU42は、RAM44上に当該プログラムを読み出して実行することにより、図1に示すUSB制御部14、プリンタドライバ16、及びアプリケーション18のそれぞれの機能を実現する。また、USBインターフェース46は、図1における接続部12に相当する。
【0027】
プリンタ装置20は、CPU50、RAM52、ROM54、USBインターフェース56、及び印刷部28を含む。ROM54には、プリンタ装置20の各機能を実現するためのプログラムが記憶され、CPU50及びRAM52により当該プログラムが実行される。また、USBインターフェース56は、図1における接続部22に相当し、印刷部28は図1と共通のハードウェアである。
【0028】
ここで、USBケーブル30を通じて伝播される電気的なノイズ(例えば、用紙に帯電した静電気に起因するノイズ)により、PC10側のUSB制御部14にエラーが生じ、PC10とプリンタ装置20との間でデータの通信が行えなくなる場合がある。このようなエラーは、PC10側においてUSBインターフェースのバスリセットを行うことにより、解消することができる場合がある。しかし、アプリケーション18及びプリンタドライバ16においては、一度USBケーブル30が接続された以降は、次にUSBケーブル30が抜かれるまでは接続状態であると認識される。このため、PC10内のUSB制御部14における、上記エラーを検出及び修正が困難となる場合がある。
【0029】
本実施例に係るプリンタ装置及び通信システムでは、ホストであるPC10側から定期的に送信されるピング信号を用いて、プリンタ装置20側にてUSBインターフェースの接続状態の監視を行い、異常(エラー)が生じた場合に接続状態をリセットすることにより、通信エラーの修正を行う。以下、プリンタ装置及び通信システムの詳細について説明する。
【0030】
図3は、PC10及びプリンタ装置20間における情報のやり取りを示すシーケンス図である。最初に、PC10からプリンタ装置20に対し、ピング信号が定期的に送信される。ピング信号とは、プリンタドライバ16からプリンタ装置20に対し定期的に送信される信号であって、USBインターフェースの接続状態が正常であることを示す信号である。ピング信号は、PC10にインストールされたプリンタドライバ16により生成される。
【0031】
PC10からプリンタ装置20に送信される信号(リクエスト)には、USBのリクエストのうち標準的に定義された標準リクエストと、プリンタ装置20のベンダー(製造者)により独自に定義されたベンダー固有リクエストとがある。本実施例では、上記のピング信号にベンダー固有リクエストを用いる。また、ベンダー固有リクエストには、PC10から一方的に送信される書き込み(Write)リクエストと、プリンタ装置20に所定の情報の送信を要求する読み出し(Read)リクエストとがあるが、本実施例では上記のピング信号に読み出しリクエストを用いる。
【0032】
プリンタ装置20は、ピング信号の読み出しリクエストに応じて、プリンタ装置のエラーステータス情報をPC10へと送信する。また、ピング信号が一定時間以上受信されない場合に、プリンタ装置20の側においてUSBインターフェースの再接続設定(後段にて詳述)を行い、USBインターフェースの再接続が行われたことをPC10へと通知する。
【0033】
図4は、PC10側の動作を示すフローチャート(その1)である。最初に、プリンタドライバ16は、プリンタ装置20側において、ピング信号によるUSB接続状態の監視機能を動作させるか否かの設定を行う(ステップS10)。プリンタドライバ16は、プリンタ装置20における監視機能が動作しているか否かを判定する(ステップS12)。監視機能が動作している場合、プリンタドライバ16は、PC10に定期的に送信するピング信号の周期を設定し(ステップS14)、当該周期に基づいてピング信号をPC10へと送信する(ステップS16)。上記のプリンタ装置20の監視機能の動作設定(ステップS10)、及びピング信号の周期の設定(ステップS14)は、それぞれ前述のベンダー固有リクエストにより行うことができる。
【0034】
図5は、プリンタ装置20側の動作を示すフローチャートである。最初に、電源が投入されてプリンタ装置20が起動すると(ステップS30)、全体制御部26は、PC10からピング信号を受信したか否かの判定を行う(ステップS32)。プリンタ装置20の起動後に最初にピング信号が受信されるまでは、ステップS34以降の再接続設定は行われない。
【0035】
ステップS32でYESと判定された場合(プリンタ装置20の起動後に最初のピング信号を受信した場合)、全体制御部26は、ピング信号の有無を監視するための監視タイマをリセットする(ステップS34)。次に、全体制御部26は、ピング信号の読み出しリクエストに応じて、プリンタ装置のエラーステータス情報をPC10へと送信する(ステップS36)。
【0036】
次に、全体制御部26は、予め定められた所定の時間内に、ピング信号が受信されたか否かを判定する(ステップS38)。時間内にピング信号が受信された場合、ステップS34に戻り、全体制御部26が監視タイマのリセットを行う。一方、時間内にピング信号が受信されなかった場合、全体制御部26は、以下に説明するUSBインターフェースの再接続設定を行う。
【0037】
ステップS38でNOと判定された場合、全体制御部26は、監視タイマを停止する(ステップS40)。次に、全体制御部26は、プリンタ装置20側のUSB制御部24(USBコントロールIC)を停止状態に制御する(ステップS42)。このとき、USBケーブル30における2本の電源線(Vbus)の信号レベルは共にローレベルとなる。USB制御部24が停止してから100msが経過したら(ステップS44)、全体制御部26は、USB制御部24を動作状態に制御する(ステップS46)。このとき、USBケーブル30における2本の電源線(Vbus)の信号レベルは、一方がハイレベル、他方がローレベルとなる。
【0038】
以上のステップS42〜S46の再接続設定動作により、プリンタ装置20側において、USBケーブル30が一度接続部22から抜かれ、再度接続部22に挿入されたのと同じ状態となる。USBケーブル30の電源線(Vbus)における電圧レベルの変化(「L、L」→「H、L」)は、PC10側のUSB制御部14により検出される。換言すれば、上記電圧レベルの変化により、USBインターフェースの再接続が行われた旨がPC10へと通知される。最後に、全体制御部26は、プリンタ装置20側において上記の再接続設定機能が動作した旨を、PC10側へと通知し(ステップS48)、プリンタ装置20の機能全体のリセットを実行する(ステップS50)。
【0039】
図6は、PC10側の動作を示すフローチャート(その2)であり、プリンタ装置20における上記の再接続設定が行われた際の動作を示す。最初に、USB制御部14は、プリンタ装置20にて再接続設定が実行されたか否かを判定(検出)する(ステップS60)。ステップS60でYESと判定された場合、USB制御部14は、USBインターフェースのバスリセットを実行し(ステップS62)、その後エニュメレーションによる再接続を行う(ステップS64)。PC10側でバスリセットを行うことにより、USBインターフェースの通信エラーを修正(解消)することができる。
【0040】
図7は、PC10側の動作を示すフローチャート(その3)であり、プリンタ装置20からエラーステータス情報が送信された場合の処理を示す図である。最初に、プリンタドライバ16は、プリンタ装置20からエラーステータス情報を受信したか否かを判定する(ステップS70)。エラーステータス情報が受信された場合、プリンタドライバ16は、ピング信号の送信を停止する。これにより、一定時間経過後に、プリンタ装置20において再接続接設定機能が動作し、USBインターフェースのバスリセットが実行される。これにより、USBインターフェースの通信エラーを解消することができる。
【0041】
実施例1に係るプリンタ装置及び通信システムによれば、PC10から定期的に送信されるピング信号を用いて、プリンタ装置20の側においてUSBインターフェースの接続状態を監視する。これにより、PC10側のUSB制御部14にエラーが生じ、PC10側において当該エラーが認識できない場合でも、プリンタ装置20側においてエラーの発生を速やかに検出し、プリンタ装置20側の再接続設定によりPC10側にバスリセットを要求するという方法を用いて、通信エラーを修正することができる。なお、本実施例において、PC10のプリンタドライバ16は、ピング信号を送信する送信部の一例であり、プリンタ装置20の全体制御部26は、ピング信号を受信する受信部、及び再接続設定を行う制御部の一例である。
【0042】
実施例1では、ピング信号に読み出しリクエストを用いたが、読み出しリクエストの代わりに書き込みリクエストを用いることも可能である。ただし、ピング信号に読み出しリクエストを用いた場合、当該読み出しリクエストに応じて、全体制御部26がプリンタ装置20のエラーステータス情報をPC10に送信する構成とすることで、USBの通信状態の確認とプリンタ装置20のエラー状態の確認とを同時に行うことができる。
【0043】
実施例1では、図5のステップS32に示すように、プリンタ装置20(全体制御部26)が最初にピング信号を受信するまでは、ステップS34以降の再接続設定を行わない構成としたが、本構成は必須ではない。ただし、本構成によれば、例えばPC10の起動時間がプリンタ装置20より遅い場合でも、PC10の起動を待ってUSB接続状態の監視を開始することができ、監視の効率を向上させることができる。
【0044】
実施例1では、図4のステップS10に示すように、プリンタ装置20における再接続設定機能のオン/オフをベンダー固有リクエスト(例えば、bRequestまたはwValue等のパラメータ)により設定可能としたが、本構成は必須ではない。ただし、本構成によれば、USB接続状態の監視が不要な場合(例えば、PC10が再起動する場合)において、再接続設定機能をオフにすることにより、監視の効率を向上させることができる。また、図4のステップS14に示すように、プリンタドライバ16から送信されるピング信号の周期を、ベンダー固有リクエストにより設定可能としたが、本構成も必須ではない。ただし、本構成によれば、PC10の処理能力及び動作状況等に応じて、ピング信号の周期を適切に変更することができる。
【0045】
実施例1では、図5のステップS50に示すように、全体制御部26がステップS42〜S46の再接続設定を行う場合に、印刷部28(プリンタ機能)のリセットを併せて行う構成としたが、本構成は必須ではない。ただし、本構成によれば、プリンタ装置20におけるエラーをより確実に修正することができる。
【0046】
実施例1では、図5のステップS48に示すように、ステップS42〜S46の再接続設定を行われた場合に、プリンタ装置20側において再接続設定機能が動作した旨をPC10へと通知する構成としたが、本構成は必須のものではない。ただし、本構成によれば、プリンタ装置20に再接続設定機能が動作したことにより、バスリセットが行われた旨の情報を、PC10において得ることができる。
【0047】
実施例1では、ピング信号の読み出しリクエスト(ステータス要求)に対しプリンタ装置20から通知されたエラーステータス情報に応じて、ピング信号の送信を停止する構成としたが、本構成は必須ではない。ただし、本構成によれば、PC10にエラーステータス情報が通知された場合に、ピング信号の送信を停止することにより、プリンタ装置20の再接続設定機能を動作させ、通信エラーを修正することができる。なお、上記のステータス要求は、ピング信号とは別にプリンタ装置20に対し送信する構成としてもよい。
【0048】
以上、本発明の実施例について詳述したが、本発明はかかる特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0049】
10 PC
12、22 接続部
14、24 USB制御部
16 プリンタドライバ
18 アプリケーション
20 プリンタ装置
26 全体制御部
28 印刷部
30 USBケーブル
40、50 CPU
42、52 RAM
44、54 ROM
46、56 USBインターフェース
【特許請求の範囲】
【請求項1】
ホストと接続されたUSBケーブルが接続される接続部と、
前記ホストから定期的に送信され、前記USBケーブルの通信状態が正常であることを示すピング信号を、前記接続部を介して受信する受信部と、
前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、
を備えることを特徴とするプリンタ装置。
【請求項2】
前記ピング信号は、前記ホストが前記プリンタ装置に情報を要求する読み出しリクエストであり、
前記制御部は、前記読み出しリクエストに応じて、前記プリンタ装置のエラーステータス情報を前記ホストに送信することを特徴とする請求項1に記載のプリンタ装置。
【請求項3】
前記制御部は、前記プリンタ装置の起動時において、前記ピング信号を最初に受信するまでは、前記再接続設定を行わないことを特徴とする請求項1または2に記載のプリンタ装置。
【請求項4】
前記ピング信号の周期は、ベンダー固有リクエストにより設定可能であることを特徴とする請求項1〜3のいずれか1項に記載のプリンタ装置。
【請求項5】
前記制御部は、ベンダー固有リクエストに基づいて、前記再接続設定を行うか否かを決定することを特徴とする請求項1〜4のいずれか1項に記載のプリンタ装置。
【請求項6】
前記制御部は、前記再接続設定を行う場合に、前記プリンタ装置におけるプリンタ機能のリセットを行うことを特徴とする請求項1〜5のいずれか1項に記載のプリンタ装置。
【請求項7】
前記制御部は、前記再接続設定が行われた場合に、前記ホストへ通知を行うことを特徴とする請求項1〜6のいずれか1項に記載のプリンタ装置。
【請求項8】
前記ピング信号は、前記ホストから一方的に送信される書き込みリクエストであることを特徴とする請求項1に記載のプリンタ装置。
【請求項9】
プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、を備える通信システムであって、
前記プリンタ装置は、
前記USBケーブルの通信状態が正常であることを示すピング信号を受信する受信部と、
前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、を含み、
前記ホストは、
前記プリンタに対し前記ピング信号を定期的に送信する送信部と、
前記再接続設定が行われた場合に、前記USBケーブルのバスリセットを行うリセット部と、を含むことを特徴とする通信システム。
【請求項10】
前記ホストの前記送信部は、前記ピング信号とは別に前記プリンタ装置に対しステータス要求を送信し、前記ステータス要求に対し前記プリンタ装置から通知されたエラーステータス情報に応じて、前記ピング信号の送信を停止することを特徴とする請求項9に記載の通信システム。
【請求項11】
プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、の間における通信方法であって、
前記ホストから、前記プリンタ装置に対し、前記USBケーブルの通信状態が正常であることを示すピング信号を定期的に送信するステップと、
前記ピング信号が一定時間以上受信されない場合に、前記プリンタ装置側において、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行うステップと、
前記再接続設定に応じて、前記ホスト側において、前記USBケーブルのバスリセットを行うステップと、
を備えることを特徴とする通信方法。
【請求項1】
ホストと接続されたUSBケーブルが接続される接続部と、
前記ホストから定期的に送信され、前記USBケーブルの通信状態が正常であることを示すピング信号を、前記接続部を介して受信する受信部と、
前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、
を備えることを特徴とするプリンタ装置。
【請求項2】
前記ピング信号は、前記ホストが前記プリンタ装置に情報を要求する読み出しリクエストであり、
前記制御部は、前記読み出しリクエストに応じて、前記プリンタ装置のエラーステータス情報を前記ホストに送信することを特徴とする請求項1に記載のプリンタ装置。
【請求項3】
前記制御部は、前記プリンタ装置の起動時において、前記ピング信号を最初に受信するまでは、前記再接続設定を行わないことを特徴とする請求項1または2に記載のプリンタ装置。
【請求項4】
前記ピング信号の周期は、ベンダー固有リクエストにより設定可能であることを特徴とする請求項1〜3のいずれか1項に記載のプリンタ装置。
【請求項5】
前記制御部は、ベンダー固有リクエストに基づいて、前記再接続設定を行うか否かを決定することを特徴とする請求項1〜4のいずれか1項に記載のプリンタ装置。
【請求項6】
前記制御部は、前記再接続設定を行う場合に、前記プリンタ装置におけるプリンタ機能のリセットを行うことを特徴とする請求項1〜5のいずれか1項に記載のプリンタ装置。
【請求項7】
前記制御部は、前記再接続設定が行われた場合に、前記ホストへ通知を行うことを特徴とする請求項1〜6のいずれか1項に記載のプリンタ装置。
【請求項8】
前記ピング信号は、前記ホストから一方的に送信される書き込みリクエストであることを特徴とする請求項1に記載のプリンタ装置。
【請求項9】
プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、を備える通信システムであって、
前記プリンタ装置は、
前記USBケーブルの通信状態が正常であることを示すピング信号を受信する受信部と、
前記ピング信号が一定時間以上受信されない場合に、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行う制御部と、を含み、
前記ホストは、
前記プリンタに対し前記ピング信号を定期的に送信する送信部と、
前記再接続設定が行われた場合に、前記USBケーブルのバスリセットを行うリセット部と、を含むことを特徴とする通信システム。
【請求項10】
前記ホストの前記送信部は、前記ピング信号とは別に前記プリンタ装置に対しステータス要求を送信し、前記ステータス要求に対し前記プリンタ装置から通知されたエラーステータス情報に応じて、前記ピング信号の送信を停止することを特徴とする請求項9に記載の通信システム。
【請求項11】
プリンタ装置と、前記プリンタ装置とUSBケーブルにより接続されたホストと、の間における通信方法であって、
前記ホストから、前記プリンタ装置に対し、前記USBケーブルの通信状態が正常であることを示すピング信号を定期的に送信するステップと、
前記ピング信号が一定時間以上受信されない場合に、前記プリンタ装置側において、前記USBケーブルを一度未接続状態に切り替えた後、再度接続状態に切り替える再接続設定を行うステップと、
前記再接続設定に応じて、前記ホスト側において、前記USBケーブルのバスリセットを行うステップと、
を備えることを特徴とする通信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【公開番号】特開2013−45354(P2013−45354A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−183851(P2011−183851)
【出願日】平成23年8月25日(2011.8.25)
【出願人】(501398606)富士通コンポーネント株式会社 (848)
【Fターム(参考)】
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願日】平成23年8月25日(2011.8.25)
【出願人】(501398606)富士通コンポーネント株式会社 (848)
【Fターム(参考)】
[ Back to top ]