(57)【要約】  【課題】パケット通信において、簡単な構成で全てのデータパケットの受信の完了を判断する。  【解決手段】ダミーデータ付加部４３が印字データにダミーデータを付加し、データ分割部４４がこのデータを規定のデータ量毎に分割してそのうちの１つのみが規定のデータ量未満のデータパケット（ショートパケット）になるデータパケットを生成し、データ送信部４２がデータ受信部５１にデータパケットを送信する。データ受信部５１においてショートパケットが受信された後、記憶部５５からこのショートパケットが読み出されたと判断部５７が判断すると、通知部５６が制御部５３に対してデータ転送終了を通知する。すると、制御部５３は読み出し終了処理を行う。【選択図】図３
2006270639.tif 000002
【特許請求の範囲】
【請求項１】
予め決められたデータ量を規定データ量とし、
前記規定データ量以下の１又は複数のデータパケットとして通信データを送信する第１の通信装置と、前記第１の通信装置から送信された前記データパケットを受信する第２の通信装置とを含んでおり、
前記第１の通信装置が、
前記通信データから、最後に送信されるデータパケットが前記規定データ量未満であり、且つ、前記最後に送信されるデータパケット以外のデータパケットが前記規定データ量をそれぞれ有するようにデータパケットを生成するパケット生成手段と、前記パケット生成手段により生成された前記データパケットを送信する送信手段とを備えており、
前記第２の通信装置が、
前記第１の通信装置から送信されたデータパケットを受信し、一時的に記憶する受信手段と、前記受信手段に記憶された前記データパケットを読み出す読み出し手段と、前記読み出し手段による前記データパケットの読み出しを指示する制御手段とを備えており、
前記受信手段は、前記受信されたデータパケットを一時的に記憶する記憶手段と、前記規定データ量未満のデータパケットを受信したことを前記制御手段に通知する通知手段を含んでいることを特徴とするパケット通信システム。
【請求項２】
前記第１の通信装置と、第２の通信装置とがＵＳＢ（ユニバーサルシリアルバス）で接続されていることを特徴とする請求項１に記載のパケット通信システム。
【請求項３】
前記パケット生成手段が、
前記通信データのデータ量が前記規定データ量で割り切れないように、前記通信データにダミーデータを付加するダミーデータ付加手段と、
前記ダミーデータ付加手段によりダミーデータが付加された前記通信データを、データパケットに分割する分割手段とを備えていることを特徴とする請求項１又は２に記載のパケット通信システム。
【請求項４】
前記ダミーデータ付加手段が、全ての前記通信データに同一のデータ量を有する前記ダミーデータを付加することを特徴とする請求項３に記載のパケット通信システム。
【請求項５】
前記通知手段は、前記受信手段により前記規定データ量未満のデータパケットが受信された後に前記制御手段に対する割り込み信号を発生し、
前記制御手段は、前記割り込み信号を受けて読み出し終了処理を行うことを特徴とする請求項１〜４の何れかに記載のパケット通信システム。
【請求項６】
前記通知手段は、前記受信手段により前記規定データ量未満のデータパケットが受信されたか否かを判断する判断手段を有し、
前記受信手段により前記規定データ量未満のデータパケットが受信されたと前記判断手段が判断したときに、前記通知手段が前記割り込み信号を発生し、
前記制御手段は、前記読み出し手段により前記規定データ量未満のデータパケットが読み出されるのを待って、前記読み出し終了処理を行うことを特徴とする請求項５に記載のパケット通信システム。
【請求項７】
前記通知手段は、前記記憶手段から前記規定データ量未満のデータパケットが読み出されたか否かを判断する判断手段を有し、
前記判断手段が前記記憶手段から前記規定データ量未満のデータパケットが読み出されたと判断したときに前記通知手段が前記割り込み信号を発生することを特徴とする請求項５に記載のパケット通信システム。
【請求項８】
予め決められたデータ量を規定データ量とし、
前記規定データ量以下の１又は複数のデータパケットとして送信される通信データのうち、
最後に送信されるデータパケットが前記規定データ量未満であり、且つ、前記最後に送信されるデータパケット以外のデータパケットが前記規定データ量をそれぞれ有するようなデータパケットを受信するパケット通信装置であって、
前記データパケットを受信し、一時的に記憶する受信手段と、
前記受信手段に記憶された前記データパケットを読み出す読み出し手段と、
前記読み出し手段による前記データパケットの読み出しを指示する制御手段とを備えており、
前記受信手段は、前記受信されたデータパケットを一時的に記憶する記憶手段と、前記規定データ量未満のデータパケットを受信したことを前記制御手段に通知する通知手段とを含んでいることを特徴とするパケット通信装置。
【請求項９】
前記通知手段は、前記記憶手段から前記読み出し手段により前記規定データ量未満のデータパケットが読み出されたか否かを判断する判断手段を有し、前記判断手段により前記規定データ量未満のデータパケットが読み出されたと判断されたとき、前記制御手段に割り込み信号を発生し、
前記割り込み信号を受けた制御手段は、前記読み出し手段によるデータパケットの読み出しの終了処理を行うことを特徴とする請求項８に記載のパケット通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、規定のデータ量を有するデータパケットに分割された通信データを送受信するためのパケット通信システム及びパケット通信装置に関する。
【背景技術】
【０００２】
通信データを送受信する方法として、通信データを規定のデータ量を有する複数のデータパケットに分割して送受信を行うパケット通信がある。このようなパケット通信においては、通信データを形成する全てのデータパケットの受信を完了した後に、通信データを復元することになる（例えば、特許文献１）。このため、受信したデータパケットの数をカウントする受信確認用カウンタを備え、受信確認カウンタのカウント数を監視することにより、全てのデータパケットの受信が完了したか否かを判断する技術が知られている（特許文献１参照）。
【０００３】
【特許文献１】特開平７−２５４９０９（図２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術によると、受信確認カウンタや受信確認カウンタを監視するための回路を備える必要がある。しかしながら、画像データのようにデータ量の大きいデータを受信する場合には、受信すべきデータパケットの数が膨大になるため、受信確認カウンタの回路構成が大きくなる。また、受信確認カウンタを監視するための回路の負担が大きくなる。
【０００５】
本発明の目的は、簡単な構成で、全てのデータパケットの受信の完了を判断することが可能なパケット通信システム及びパケット通信装置を提供することである。
【課題を解決するための手段及び発明の効果】
【０００６】
本発明の、パケット通信システムは、予め決められたデータ量を規定データ量とし、規定データ量以下の１又は複数のデータパケットとして通信データを送信する第１の通信装置と、第１の通信装置から送信されたデータパケットを受信する第２の通信装置とを含んでいる。第１の通信装置は、通信データから、最後に送信されるデータパケットが規定データ量未満であり、且つ、最後に送信されるデータパケット以外のデータパケットが規定データ量をそれぞれ有するようにデータパケットを生成するパケット生成手段と、パケット生成手段により生成されたデータパケットを送信する送信手段とを備えている。第２の通信装置は、第１の通信装置から送信されたデータパケットを受信し、一時的に記憶する受信手段と、受信手段に記憶された前記データパケットを読み出す読み出し手段と、読み出し手段によるデータパケットの読み出しを指示する制御手段とを備えている。受信手段は、受信されたデータパケットを一時的に記憶する記憶手段と、規定データ量未満のデータパケットを受信したことを制御手段に通知する通知手段を含んでいる。
【０００７】
これによると、第１通信装置から送信される最後のデータパケットが必ず規定データ量未満のデータ量を有するショートパケットとなるため、ショートパケットを受信したことを通知手段が制御手段に通知するという簡単な構成で、全てのデータパケットの受信が完了したことを制御手段が判断することができる。これにより、第２通信装置がデータパケットの受信数をカウントするためのカウンタ回路等を備える必要がなくなるため回路構成が簡素化される。さらに、受信したデータパケットの数を監視する必要もなくなるため、回路の負担を低減することができる。
【０００８】
また、本発明のパケット通信システムにおいては、第１の通信装置と、第２の通信装置とがＵＳＢ（ユニバーサルシリアルバス）で接続されていてもよい。これによると、第１の通信装置及び第２の通信装置の汎用性を高くすることができる。
【０００９】
また、本発明のパケット通信システムにおいては、パケット生成手段が、通信データのデータ量が規定のデータ量で割り切れないように、通信データにダミーデータを付加するダミーデータ付加手段と、ダミーデータ付加手段によりダミーデータが付加された通信データを、データパケットに分割する分割手段とを備えていてもよい。これによると、ダミーデータ付加手段が予め通信データにダミーデータを付加することにより、規定値未満のデータ量を有するデータパケットを容易に生成することができる。
【００１０】
このとき、ダミーデータ付加手段が、全ての通信データに同一のデータ量を有するダミーデータを付加してもよい。これによると、常に、同一のデータ量を有するダミーデータを付加して規定値未満のデータ量を有するデータパケットを生成するので、このようなデータパケットを一層容易に生成することができる。
【００１１】
また、本発明のパケット通信システムにおいては、通知手段は、受信手段が規定データ量未満のデータパケットを受信した後に制御手段に対する割り込み信号を発生し、制御手段は、割り込み信号を受けて読み出し終了処理を行ってもよい。これによると、最後に送信されたデータパケットを受信した後に、制御手段に割り込み信号を発生させたときに即座に終了処理が行われるので、通信処理を高速化することができる。
【００１２】
このとき、通知手段は、受信手段が規定データ量未満のデータパケットを受信したか否かを判断する判断手段を有し、受信手段が規定データ量未満のデータパケットを受信したと判断手段が判断したときに、通知手段が割り込み信号を発生し、制御手段は、読み出し手段により規定データ量未満のデータパケットが読み出されるのを待って、読み出し終了処理を行ってもよい。これによると、全てのデータパケットの読み出しを確実に完了させてから読み出し終了処理を行うことができる。
【００１３】
また、通知手段においては、記憶手段から規定データ量未満のデータパケットが読み出されたか否かを判断する判断手段を有し、判断手段が記憶手段から規定データ量未満のデータパケットが読み出されたと判断したときに通知手段が割り込み信号を発生してもよい。これによると、判断手段が、記憶手段から最後に送信されたデータパケットが読み出されたのを確認してから読み出し終了処理を行うための割り込み信号を発生させるため、制御手段が全てのデータパケットが受信されたかどうかを監視する必要がなくなる。
【００１４】
本発明のパケット通信装置は、最後に送信されるデータパケットが規定データ量未満であり、且つ、最後に送信されるデータパケット以外のデータパケットが規定データ量をそれぞれ有するようなデータパケットを受信するパケット通信装置であって、データパケットを受信し、一時的に記憶する受信手段と、受信手段に記憶されたデータパケットを読み出す読み出し手段と、読み出し手段によるデータパケットの読み出しを指示する制御手段とを備えている。受信手段は、受信されたデータパケットを一時的に記憶する記憶手段と、規定データ量未満のデータパケットを受信したことを制御手段に通知する通知手段を含んでいる。
【発明を実施するための最良の形態】
【００１５】
［第１の実施の形態］
本発明の第１の実施の形態について、図面を参照しつつ説明する。本実施の形態は、本発明のパケット通信システムを、ＰＣ（Personal Computer）からプリンタへの印字データの送信に適用した一例である。
【００１６】
図１は、本実施の形態に係るパケット通信システム１の概略構成図である。図１に示すように、パケット通信システム１は、ＰＣ（第１通信装置）２とプリンタ（第２通信装置）３とを含んでいる。ＰＣ２及びプリンタ３は、それぞれＵＳＢインターフェイスを有しており、各インターフェイスに接続されたＵＳＢケーブル４を介してパケット通信可能となっている。ＰＣ２には、印字データを作成する各種アプリケーションソフト及びプリンタ３を制御するためのドライバソフトがインストールされている。プリンタ３は、印字データに基づいてマゼンタ（Ｍ）、イエロー（Ｙ）、シアン（Ｃ）、及びブラック（Ｋ）の各インクを適宜印刷用紙に吐出することによって印字を行うカラーインクジェットプリンタである。ユーザがＰＣ２を操作することにより、各種アプリケーションソフトにより作成された印字データや予め記憶されている印字データなどをプリンタ３に送信すると共に、プリンタ３により印字データの印字を行う。
【００１７】
次に、図１のパケット通信システム１の電気的構成について、図２を用いて説明する。図２は、図１の電気的構成を表す回路ブロック図である。図２に示すように、ＰＣ２は、ＣＰＵ（Central Processing Unit）５、ＲＯＭ（Read Only Memory）６、ＲＡＭ（Random Access Memory）７及びＨＤ（Hard Disc）８を有している。ＣＰＵ５は、演算処理装置である。ＲＯＭ６は、ＣＰＵ５に各種演算処理を行わせるためのコマンド群をプログラムとして記憶している不揮発性記憶装置である。ＲＡＭ７は、ＣＰＵ５が各種演算を行うときに使用されるデータを一時的に記憶する揮発性記憶装置である。ＨＤ８は、ＰＣ２を機能させるためのＯＳ（Operating System）のデータ、ＯＳ上で動作する各種アプリケーションソフトのデータ、プリンタ３を制御するためのドライバソフトのデータなどが保存されている。さらに、ＨＤ８にはプリンタ３に印字させる印字データなどが保存されている。
【００１８】
プリンタ３は、プリンタ３の動作を制御する制御装置９と、印刷用紙を搬送する搬送機構（図示せず）を駆動するための搬送モータ３１、搬送機構により搬送された印刷用紙にインクを吐出する４つのインクジェットヘッド（図示せず）、インクジェットヘッドの温度を監視する温度センサ３２ａ及びインクタンク（図示せず）のインク残量を監視するインク残量センサ３２ｂを有している。制御装置９は、コントローラ基板１１、エンジン基板１２、Ｉ／Ｏ基板１３及びヘッド基板３３を有している。コントローラ基板１１は、制御内容に基づいてエンジン基板１２、Ｉ／Ｏ基板１３及びヘッド基板３３の制御信号を制御するための回路基板である。また、コントローラ基板１１は、ＵＳＢデバイス２１、ＣＰＵ２２、メインメモリ２３、ブリッジＩＣ２４及びグラフィックメモリ２６を有している。ＵＳＢデバイス２１、ＣＰＵ２２、メインメモリ２３及びブリッジＩＣ２４は、ローカルバス２７を介して互いに接続されている。また、ＵＳＢデバイス２１、ブリッジＩＣ２４及びグラフィックメモリ２６は、ローカルバス２７から独立している分離バス２８により互いに接続されている。
【００１９】
ＵＳＢデバイス２１は、ＵＳＢ規格に基づいてパケット通信を行うためのインターフェイス装置である。本実施の形態において、ＵＳＢデバイス２１は通信の相手側であるＰＣ２との間で各種コマンドや印字データの送受信を行う。なお、本実施の形態においては、印字データの送受信をするとき、ＵＳＢ規格におけるバルク転送モードが使用される。バルク転送モードは、比較的大きなデータ量を有するデータの送受信に用いられる転送モードであり、規定のデータ量（本実施の形態においては５１２Ｋバイト）を有するデータパケットを連続送受信するものである。ＵＳＢデバイス２１は、バルク転送モードにおいて規定のデータ量未満のデータ量を有するショートパケットを受信したときにショートパケット受信信号を出力する。そして、ショートパケット受信信号を出力する出力信号端子が、割り込み配線１９を介してＣＰＵ２２の割り込み信号入力端子に接続されている。
【００２０】
ＣＰＵ２２は、制御装置９を制御するためのワンチップマイコンであり、制御装置９を構成する各手段間でデータ転送を各手段固有の機能に基づいて行うための指示をする。そしてその内部に演算処理装置、ＲＯＭ及びＲＡＭを含んでいる。メインメモリ２３は、ＣＰＵ２２が演算や命令の処理を行ったときに生成されるデータなどを一時的に記憶する記憶装置である。ブリッジＩＣ２４は、ＣＰＵ２２の指示に従って制御装置９内におけるデータ転送をするための装置であり、ＤＭＡ（Direct Memory Access）コントローラ２９も含んでいる。さらに、ブリッジＩＣ２４はエンジン基板１２と接続されていると共にエンジン基板１２を介してＩ／Ｏ基板１３と接続されている。ＤＭＡコントローラ２９は、分離バス２８を介してＵＳＢデバイス２１からグラフィックメモリ２６にデータ転送を行うものである。これにより、ＣＰＵ２２がデータ転送の直接的な作業から開放される。また、分離バス２８を介してデータ転送が行われるため、データ転送時にＣＰＵ２２が取り扱うデータの転送に使用されるローカルバス２７が占有されない。グラフィックメモリ２６は、ＤＭＡコントローラ２９によってＵＳＢデバイス２１から転送されたデータを記憶する記憶装置である。なお、グラフィックメモリ２６に記憶されるデータはプリンタ３が印字すべき印字データである。
【００２１】
エンジン基板１２は、例えば、図示しないインクジェットヘッドの駆動に関連した制御を行うための回路基板であり、４つのヘッド基板３３に接続されている。エンジン基板１２は、ブリッジＩＣ２４を介して入力されたＣＰＵ２２からの指示内容に従ってヘッド基板３３を制御する制御信号を生成すると共に、生成した制御信号を各ヘッド基板３３に出力する。ヘッド基板３３は、エンジン基板１２からの制御信号に基づいて、インクジェットヘッドを駆動するための駆動信号を生成する。生成された駆動信号はインクジェットヘッドを駆動するアクチュエータに入力される。これにより、インクジェットヘッドからインクが吐出される。Ｉ／Ｏ基板１３は、ＣＰＵ２２からブリッジＩＣ２４及びエンジン基板１２を介して入力された指示内容に従って、搬送モータ３１を駆動するための駆動信号を生成すると共に生成した駆動信号を搬送モータ３１に入力する。また、温度センサ２３ａ及びインク残量センサ３２ｂなどの各種センサからの入力信号の内容が、ＣＰＵ２２によりブリッジＩＣ２４及びエンジン基板１２を介して参照可能となっている。
【００２２】
次に、ＰＣ２のドライバソフト及びプリンタ３のコントローラ基板１１の機能について図３を用いてより詳細に説明する。図３は、図２に示すパケット通信システム１の機能ブロック図である。図３に示すように、ＰＣ２においてドライバソフトが起動されることによりパケット生成部４１とデータ送信部４２とが実現される。パケット生成部４１は、印字データをプリンタ３に送信するためのデータパケットを生成するものである。前述したように、データパケットは規定のデータ量（例えば、ＵＳＢハイスピードのバルク転送では５１２バイト）以下のデータを有するパケット通信におけるデータの送信単位である。
【００２３】
パケット生成部４１は、ダミーデータ付加部４３及びデータ分割部４４を有している。ダミーデータ付加部４３及びデータ分割部４４について図４を参照しつつ説明する。図４は、印字データがパケット生成部４１によりデータパケット化される手順を説明するための図である。なお、図４（ａ）、図４（ｂ）においては、５１２バイトで割り切れない印字データをデータパケット化した場合を、図４（ｃ）、図４（ｄ）においては、５１２バイトで割り切れる印字データをデータパケット化した場合をそれぞれ示している。図４（ａ）及び図４（ｃ）に示すように、ダミーデータ付加部４３は、印字データに所定のデータ量を有するダミーデータを付加するものである。図４（ｂ）及び図４（ｄ）に示すように、データ分割部４４は、ダミーデータ付加部４３によりダミーデータが付加された印字データを先頭から順に規定データ量毎に分割してデータパケットを生成するものである。本実施の形態では５１２バイト毎に分割する。このとき、印字データのデータ量に係わらず、最後に生成されたデータパケットが、５１２バイト未満のデータ量を有するショートパケットとなっており、これ以外のデータパケットが規定のデータ量を有するフルパケットとなっている。このように、本実施の形態においては、データパケットの規定のデータ量と、印字データが取りうるデータ量との関係から、最後に生成されたデータパケットが必ずショートパケットとなるような所定のデータ量を有するダミーデータが存在することが前提条件となっている。
【００２４】
このように、印字データにダミーデータを付加し、それを規定データ量毎に分割するという方法で、送信するデータパケットを生成すれば、ショートパケットを容易に生成することができる。また、ダミーデータのデータ量は、印字データのデータ量に関わらず常に一定であるので、ショートパケットの生成はさらに容易になっている。
【００２５】
データ送信部４２は、パケット生成部４１により生成されたデータパケットを先頭から順にプリンタ３に送信するものである。このとき、データ送信部４２が送信する印字データに関するデータパケットの最後のデータパケットが必ずショートパケットとなっている。また、データ送信部４２は、印字データを送信するときに、所定のプロトコルに従ってプリンタ３との間で信号の送受信を行う。
【００２６】
次に、コントローラ基板１１について説明する。図３に示すように、コントローラ基板１１は、制御部５３と、データ受信部５１と、読み出し部５２と、データ記憶部５４とを有している。制御部５３は、ＣＰＵ２２及びメインメモリ２３によって実現される機能部であり、データ受信部５１に信号の送信を許可する信号を送信して、後述するようにデータ受信部５１からＰＣ２にデータ転送開始の信号を送信させ、データ受信部５１から読み出し部５２に読み出しの指示を行う信号を送信させる。また、制御部５３は、読み出し部５２の読み出しが終了したときに読み出し終了処理を行う。即ち、データ受信部５１及び読み出し部５２に読み出し終了処理の信号を送信する。
【００２７】
データ受信部５１は、ＵＳＢデバイス２１が実現する機能部であり、ＰＣ２から送信されたデータパケットを受信するものである。また、データ受信部５１は、記憶部５５と通知部５６とを有している。記憶部５５は、データ受信部５１が受信したデータパケットを一時的に記憶するものである。
【００２８】
通知部５６は、データ受信部５１において印字データに関する全てのデータパケットが受信されたことを制御部５３に通知するものであり、レジスタ５８及び判断部５７を有している。レジスタ５８は、データ受信部５１のステータスを記憶するものである。ステータスの内容としては、データ受信部５１がショートパケットを受信したか否かを示すもの、及び、当該ショートパケットが記憶部５５から読み出されたか否かを示すものがある。判断部５７は、レジスタ５８の記憶内容を参照して、データ受信部５１がショートパケットを受信したか否か、及び、当該ショートパケットが記憶部５５から読み出されたか否かを判断するものである。通知部５６は、判断部５７において、データ受信部５１がショートパケットを受信した後に当該ショートパケットが記憶部５５から読み出されたと判断されたときに、データ受信部５１が印字データに関するデータパケットを全て受信し、そのデータパケットが読み出し部５２により全て読み出されたと判断して、その旨を制御部５３に通知する。具体的には、読み出し終了の信号を割り込み信号として割り込み配線１９を介してＣＰＵ２２に出力する。この通知を受けた制御部５３は、読み出し終了処理を行う。
【００２９】
読み出し部５２は、ブリッジＩＣ２４のＤＭＡコントローラ２９によって実現される機能部である。読み出し部５２は、データ受信部５１が１つのデータパケットを受信したときに送信するデータ読み出し要求の信号が入力されたときに、記憶部５５から当該データパケットを読み出し、さらに、読み出したデータパケットをグラフィックメモリ２６に相当するデータ記憶部５４に記憶させる。
【００３０】
次に、ＰＣ２からプリンタ３に印字データを送信するときの動作手順を、図５〜図７のフローチャートを用いて説明する。図５、は、印字データを送信するＰＣ２の動作手順を表すフローチャートである。図６は、ＰＣ２から送信された印字データを受信するコントローラ基板１１の動作手順を表すフローチャートである。図７は、データ受信部５１が受信した印字データを読み出す読み出し部５２の動作手順を表すフローチャートである。
【００３１】
ＰＣ２において、プリンタ３に印字データを送信するときには、図５に示すように、まず、ＰＣ２のダミーデータ付加部４３が印字データにダミーデータを付加する（ステップＳ１００：以下Ｓ１００と称する。他のステップも同様）。そして、データ分割部４４が、ダミーデータ付加部４３によりダミーデータが付加された印字データをデータパケットに分割する（Ｓ１０１）。このとき、分割されたデータパケットのうち最後に送信されるデータパケットが５１２Ｋバイト未満のデータ量を有するショートパケットとなっており、これ以外のデータパケットが５１２Ｋバイトのデータ量を有するフルパケットとなっている（図４参照）。次に、プリンタ３に印字を開始することを通知するために、ＵＳＢ転送モードのひとつであるコントロール転送モードにより、データ送信部４２からプリンタ３へデータ印字開始の信号を送信する（Ｓ１０２）。ここで、コントロール転送モードとは、双方向通信が可能な転送モードであり、設定データのようなデータ量の小さいデータを転送する際に用いられる。
【００３２】
そして、データ印字開始の信号に対するプリンタ３からのデータ転送開始の信号（図６のＳ２０２参照）を受信するまで待機する（Ｓ１０３：Ｎｏ）。プリンタ３からのデータ転送開始の信号を受信する（Ｓ１０３：Ｙｅｓ）と、データ送信部４２が、バルク転送モードによりプリンタ３にデータパケットを先頭から順に送信する（Ｓ１０４）。そして、全てのデータパケットの送信が完了するまで、データパケットの送信を繰り返す（Ｓ１０５：Ｎｏ）。最後にショートパケットを送信して全てのデータパケットの送信が完了すると（Ｓ１０５：Ｙｅｓ）、印字データの送信を終了する（Ｓ１０６）。
【００３３】
プリンタ３のコントローラ基板１１において、ＰＣ２から送信された印字データを受信するときには、図６に示すように、まず、データ受信部５１がＰＣ２から送信されたデータ印字開始の信号（図５のＳ１０２参照）を受信するまで待機する（Ｓ２００：Ｎｏ）。データ受信部５１がＰＣ２から送信されたデータ印字開始の信号を受信する（Ｓ２００：Ｙｅｓ）と、データ受信部５１が、制御部５３にデータ転送準備処理開始の信号を送信する。制御部５３は、この信号を受けて、読み出し部５２のデータ記憶部５４への書き込みを行うためのアドレスの設定等、データ転送準備処理を行う（Ｓ２０１）。データ転送準備処理が完了すると、制御部５３はデータ受信部５１にデータ転送準備処理完了の信号を送信する。データ受信部５１は、この信号を受けて、コントロール転送により、ＰＣ２にデータの送信の開始を指示するデータ転送開始の信号を送信する（Ｓ２０２）。
【００３４】
そして、データ受信部５１がＰＣ２から送信されたデータパケット（図５のＳ１０４参照）を受信する。このとき、実際には１つのデータパケットがシリアルデータとして送信されるため、受信したシリアルデータを順に記憶部５５に記憶していく（Ｓ２０３）。そして、データ受信部５１が、１つのデータパケットを形成するシリアルデータの受信を完了するまで、シリアルデータの受信を継続する（Ｓ２０４：Ｎｏ）。データ受信部５１が、１つのデータパケットを形成するシリアルデータの受信を完了したとき（Ｓ２０４：Ｙｅｓ）、判断部５７が受信したデータパケットがフルパケットであるか否かを判断する（Ｓ２０５）。なお、レジスタ５８には、データ受信部５１が１つのパケットを形成するデータの受信を完了したときに、そのデータパケットがフルパケットであるか否かのデータが記憶されており、判断部５７は、このレジスタ５８に記憶されたデータに基づいてこの判断を行う。
【００３５】
判断部５７が、受信したデータパケットがフルパケットであると判断した場合（Ｓ２０５：Ｙｅｓ）には、データ受信部５１が読み出し部５２に読み出し要求の信号を送信する。また、データ受信部５１において次のデータパケットの受信を行う（Ｓ２０３）。このように、読み出し部５２の読み出し動作は、制御部５３から独立してなされる。
【００３６】
他方、判断部５７が、受信したデータパケットがフルパケットではない（ショートパケットである）と判断した場合（Ｓ２０５：Ｎｏ）には、データ受信部５１が読み出し部５２に読み出し要求の信号を送信し、さらに、判断部５７において、記憶部５５に記憶されているショートパケットが読み出し部５２により読み出されたか否かを判断する（Ｓ２０６）。なお、レジスタ５８には、記憶部５５からショートパケットが読み出されたか否かが記憶されており、判断部５７は、レジスタ５８に記憶されたデータに基づいてこの判断を行う。
【００３７】
判断部５７が、記憶部５５に記録されたショートパケットがまだ読み出されていないと判断したとき（Ｓ２０６：Ｎｏ）には、読み出し部５２が記憶部５５に記憶されたショートパケットを読み出すまで待機する。判断部５７が、記憶部５５に記録されたショートパケットが読み出されたと判断したとき（Ｓ２０６：Ｙｅｓ）には、通知部５６が、制御部５３に読み出し終了処理を行わせるための割り込み信号（ショートパケット受信信号）を発生させる（Ｓ２０７）。この段階ではデータ受信部５１は、再びＰＣ２からデータ印字開始の信号が送信されるのを待つ（Ｓ２０８：Ｎｏ）。一方、制御部５３は、図７に示すように、この割り込み信号が入力される（Ｓ２０８：Ｙｅｓ）と、読み出し終了処理を行う（Ｓ２０９）。即ち、読み出し部５２及びデータ受信部５１に読み出し終了の信号を送信する。
【００３８】
読み出し部５２においては、図８に示すようにデータ転送準備処理（図６のＳ２０１参照）の際に、前述のアドレスの設定などの初期化が行われる（Ｓ３００）。その後、データ受信部５１からＰＣ２に対する読み出し要求信号が入力されるまで待機し（Ｓ３０１：Ｎｏ）、データ受信部５１から読み出し要求信号が入力されたとき（Ｓ３０１：Ｙｅｓ）に、記憶部５５に記憶されているデータパケットを読み出してデータ記憶部５４に記憶する（Ｓ３０２）。
【００３９】
その後、制御部５３から読み出し終了の指示がない場合には（Ｓ３０３：Ｎｏ）、データ受信部５２から次の読み出し要求信号が入力されるまで待機する（Ｓ３０１：Ｎｏ）。制御部５３から読み出し終了の指示の信号を受信したときには（Ｓ３０３：Ｙｅｓ）、読み出しを終了する（Ｓ３０４）。
【００４０】
このようにして、コントローラ基板１１においては、ＰＣ２から送信された印字データを受信し、受信した印字データをデータ記憶部５４に記憶させる。その後、印字データは、データ記憶部５４からブリッジＩＣ２４を介してエンジン基板１２に転送される。エンジン基板１２は、転送された印字データに基づいて４つのヘッド基板３３にインクジェットヘッドを駆動する駆動信号を出力させる。インクジェットヘッドは、駆動信号に基づいてインクを吐出する。
【００４１】
以上、説明した第１の実施の形態によると、ＰＣ２からプリンタ３に最後に送信されるデータパケットがショートパケットであるので、ショートパケットの受信によりデータ受信部５１が全てのデータパケットの受信を完了したことを知ることができる。このため、受信したデータパケットの数をカウントするためにカウンタ回路等を設けることなく、全てのデータパケットの受信が完了したか否かを判断することができ、プリンタ３の回路構成が簡素化される。また、受信したデータパケットの数を監視する必要がなくなるので、制御部５３にかかる負担を低減することができる。
【００４２】
また、ＰＣ２とプリンタ３とは、ＵＳＢにより接続することが可能であるので、これらの汎用性を高くすることができる。さらに、全ての印字データにダミーデータを付加し、５１２バイトで割り切れないデータ量を有するデータを生成し、それを先頭から５１２バイト毎に分割するという方法により、５１２バイト未満のデータ量を有するショートパケットを容易に生成することができる。加えて、本実施の形態の場合、全ての印字データに同一のデータ量を有するダミーデータを付加するため、ショートパケットをさらに容易に生成することができる。
【００４３】
また、判断部５７が、記憶部５５から規定のデータ量未満のショートパケットを読み出されたと判断したときに、通知部５６が制御部５３に対する割り込み信号を発生するため、制御部５３が全てのデータパケットが受信されたかどうかを監視する必要がなくなる。これにより、制御部５３の負担が低減する。
【００４４】
さらに、ショートパケットを受信した後に、記憶部５５からそのショートパケットが読み出されたと判断部５７が判断したときに、通知部５６は制御部５３に対する割り込み信号を発生するため、全てのデータパケットの読み出しが確実に完了してから読み出し終了処理を行うことができる。
【００４５】
加えて、通知部５６が、全データパケットの読み出しが完了したことを割り込み信号により制御部５３に通知するので、全データパケットの読み出しが完了したときに制御部５３が即座に読み出し終了処理を行うことができ、通信処理を高速化することができる。
【００４６】
［第２の実施の形態］
次に第２の実施の形態について説明する。第２の実施の形態は、制御部５３のみが第１の実施の形態と異なるため、制御部５３の動作に係るコントローラ基板１１の動作について説明する。
【００４７】
図９は、第２の実施の形態のコントローラ基板１１の動作手順を表すフローチャートである。図９に示すように、第１の実施の形態の場合と同様、ＰＣ２から送信されたデータ印字開始の信号を受信する（Ｓ４００：Ｙｅｓ）と、データ転送準備処理を行い（Ｓ４０１）、データ転送準備処理が完了すると、ＰＣ２にデータの送信の開始を指示するデータ転送開始の信号を送信する（Ｓ４０２）。そして、ＰＣ２から送信されたデータパケットを受信し記憶部５５に記憶していく（Ｓ４０３）。そして、データ受信部５１が、１つのデータパケットを形成するシリアルデータの受信を完了するまで、シリアルデータの受信を繰り返す（Ｓ４０４：Ｎｏ）。データ受信部５１が１つのデータパケットを形成するシリアルデータの受信を完了したとき（Ｓ４０４：Ｙｅｓ）、通知部５６は、読み出し部５２にデータパケットが受信されたことを通知する信号を送信する。さらに、読み出し部５２によりこのデータパケットが読み出されると、通知部５６は制御部５３に対してデータパケットの読み出しが終了したことを通知する信号を割り込み信号として送信する（Ｓ４０５）。この信号を受けて制御部５３は、受信したデータパケットがフルパケットであるかどうかを調べるための問い合わせの信号を通知部５６に送信することになる。
【００４８】
レジスタ５８には、データ受信部５１が１つのデータパケットを形成するシリアルデータを受信したときに、そのデータパケットがフルパケットであるか否かを示すデータが記憶される。判断部５７は、レジスタ５８に記憶されたデータに基づいて、受信したデータパケットがフルパケットであるか否かを判断する（Ｓ４０６）。受信したデータパケットがフルパケットである場合（Ｓ４０６：Ｙｅｓ）には、データ受信部５１において次のデータパケットの受信を行う（Ｓ４０３）。
【００４９】
他方、受信したデータパケットがフルパケットではない場合（Ｓ４０６：Ｎｏ）には、読み出し部５２が記憶部５５に記憶されたショートパケットを読み出すまで待つ。判断部５７がこのショートパケットが読み出されたと判断したとき（Ｓ４０７：Ｙｅｓ）、データ受信部５１は、再びＰＣ２からデータ印字開始の信号が送信されるのを待つ（Ｓ４０８）。
【００５０】
一方、制御部５３においては、図１０に示すように、データ受信部５１からの割り込み信号が入力されると、レジスタ５８の記憶内容を読み出す（Ｓ５０１）。さらに、データ受信部５１で受信されたデータパケットがフルパケットであるか否かを判断する（Ｓ５０２）。制御部５３が、データ受信部５１でフルパケットが受信された（ショートパケットは受信されていない）と判断したとき（Ｓ５０２：Ｙｅｓ）には、このショートパケットが受信されるまで待つ。本実施の形態では、データパケットが受信されるたびに、制御部５３はレジスタ５８の記憶内容を読み出し、ショートパケットが受信されるまでこれを繰り返す。また、制御部５３が、ショートパケットが受信されたと判断したとき（Ｓ５０２：Ｎｏ）、読み出し終了の処理を行う（Ｓ５０３）。すなわち、制御部５３は、その読み出し終了が完了したときに、読み出し部５２及びデータ受信部５１に読み出し終了の信号を送信する。
【００５１】
以上、説明した第２の実施の形態によると、ＰＣ２からプリンタ３に最後に送信されるデータパケットはショートパケットであるので、ショートパケットの受信によりデータ受信部５１が全てのデータパケットの受信を完了したことを知ることができる。このため、受信したデータパケットの数をカウントするためにカウンタ回路等を設けることなく、全てのデータパケットの受信が完了したか否かを判断することができ、プリンタ３の回路構成が簡素化される。また、受信したデータパケットの数を監視する必要がなくなるので、制御部５３にかかる負担を低減することができる。
【００５２】
さらに、制御部５３が、データ受信部５１がショートパケットを受信した後、読み出し部５２にショートパケットを読み出したかどうかを問い合わせ、このショートパケットが読み出されるのを待ってから読み出し終了処理を行う。したがって、全データパケットの受信及び読み出しを確実に完了してから読み出し終了処理を行うことができる。
【００５３】
次に、第１の実施の形態及び第２の実施の形態に種々の変更を加えた変形例について説明する。尚、本実施の形態と同じ構成を有するものには同じ符号を付し、適宜その説明を省略する。
【００５４】
パケット生成部４１が、ダミーデータ付加部４３において、印字データのデータ量がデータパケットのデータ量で割り切れるかどうかを判断し、割り切れる場合にはダミーデータを付加してからデータ分割部４４でデータパケットに分割し、割り切れない場合には、ダミーデータを付加せずにデータ分割部４４でデータパケットに分割するように構成されていてもよい。この場合でも、ＰＣ２からプリンタ３に転送される最後のデータパケットはショートパケットになるので、データ受信部５１でこのショートパケットを受信することにより全データパケットの受信の完了を判断することができる。また、ダミーデータを付加しなくてもデータパケットに分割したときにショートパケットが生成される場合には、余分なダミーデータを付加しない分、転送するデータ量を低減することができる。例えば、印字データのサイズが規定データ量で割り切れないような印字データ及び規定データ量の組み合わせとなるように印字データのサイズが規定データ量を予め決めておいてもよい。
【００５５】
第１、第２の実施の形態では、全ての印字データに同一のデータ量を有するダミーパケットを付加したが、これに限られず、各印字データのデータ量に応じて、データ量の異なるダミーパケットを付加してもよい。この場合でも、印字データのデータ量に応じてデータ量の異なるダミーデータを付加することによりショートパケットを生成することができる。また、最後に生成されたデータパケットが必ずショートパケットとなるような所定のデータ量を有するダミーデータが存在するという前提条件がない場合でも、印字データのデータ量に応じて、ショートパケットが生成されるように、データパケットのデータ量を自由に選択することができる。
【００５６】
第１、第２の実施の形態では、ＰＣ２とプリンタ３とはＵＳＢにより接続が行われているが、これに限られず、パケット通信を行うことができる別の規格により接続が行われていてもよい。この場合でも、第１、第２の実施の形態に示す方法によりＰＣ２からプリンタ３へのデータ転送を行うことができる。
【００５７】
第１、第２の実施の形態では、ＰＣ２からプリンタ３に印字データを転送する場合について説明したが、これに限られず、印字データ以外のデータを転送するパケット通信システムに本発明を適用することもできる。また、ＰＣ及びプリンタ以外の装置間のデータの送受信においても本発明を適用することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施の形態に係るパケット通信システムの概略構成図である。
【図２】図１の電気的構成を表した回路ブロック図である。
【図３】図２のＰＣのドライバソフト及びコントローラ基板の機能を表した機能ブロック図である。
【図４】図１のパケット通信システムにおいて印字データがデータパケット化される手順を示す図である。
【図５】ＰＣからプリンタに印字データを転送するときのＰＣにおける処理を表すフローチャートである。
【図６】ＰＣからプリンタに印字データを転送するときのデータ受信部及び制御部における処理を表すフローチャートである。
【図７】図６の処理の際の制御部の動作手順を表すフローチャートである。
【図８】ＰＣからプリンタに印字データを転送するときの読み出し部における処理を表すフローチャートである。
【図９】図８の処理の際の制御部の動作手順を表すフローチャートである。
【図１０】本発明の第２の実施の形態に係るパケット通信システムにおける処理を表すフローチャートである。
【符号の説明】
【００５９】
１  パケット通信システム
２  ＰＣ
４  ＵＳＢケーブル
１１  コントローラ基板
４１  パケット生成部
４２  データ送信部
４３  ダミーデータ付加部
４４  データ分割部
５１  データ受信部
５２  読み出し部
５３  制御部
５４  データ記憶部
５５  記憶部
５６  通知部
５７  判断部
【図１】
2006270639.tif 000003
【図２】
2006270639.tif 000004
【図３】
2006270639.tif 000005
【図４】
2006270639.tif 000006
【図５】
2006270639.tif 000007
【図６】
2006270639.tif 000008
【図７】
2006270639.tif 000009
【図８】
2006270639.tif 000010
【図９】
2006270639.tif 000011
【図１０】
2006270639.tif 000012