JP2004054504A - Print control system - Google Patents

Print control system Download PDF

Info

Publication number
JP2004054504A
JP2004054504A JP2002209780A JP2002209780A JP2004054504A JP 2004054504 A JP2004054504 A JP 2004054504A JP 2002209780 A JP2002209780 A JP 2002209780A JP 2002209780 A JP2002209780 A JP 2002209780A JP 2004054504 A JP2004054504 A JP 2004054504A
Authority
JP
Japan
Prior art keywords
data
print
packet
host computer
print control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002209780A
Other languages
Japanese (ja)
Inventor
Tsutomu Kubota
久保田 勉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002209780A priority Critical patent/JP2004054504A/en
Publication of JP2004054504A publication Critical patent/JP2004054504A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To quickly transfer print data by using the isochronous transfer of a UBS interface. <P>SOLUTION: Print data are added with a header, and divided into packet sizes set by a USB interface, and the packet data are copied so that a plurality of packets whose data are the same can be prepared. Those packets are assigned with numbers. The packet whose data error is detected is not basically used, and only the correctly received data are linked so that print data can be prepared. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、USBインタフェースをデータ転送に使用する印字制御装置に関するものである。
【0002】
【従来の技術】
従来、USBのシリアルインタフェースのアイソクロナスプロトコルを用いて印刷データを転送することはなかった。
【0003】
【発明が解決しようとする課題】
しかしながら上記従来例では、以下のような問題点があった。
【0004】
バルク転送を使用すると、実際にいつデータが転送されるのか分からない。
【0005】
アイソクロナス転送を使用すると、データエラーが発生しても再送要求ができない。
【0006】
上記問題点を解決する為、プリンタがデータ転送に必用な転送レート以上のデータ転送レートを確保し、同じデータパケットを複数送出し、プリンタ側で受信データをチェックし、正しいデータをつなげて一つの印刷データとし、そのデータを使って印刷する印字制御装置の提供を目的とする。
【0007】
【課題を解決するための手段】
本発明は下記構成を備えることにより上記課題を解決できた。
【0008】
(1)ホストコンピュータとUSBインタフェースで接続され、アイソクロナスプロトコルで印刷データを転送する印字制御装置において、
a.パケットに分割されたデータにパケット番号を付加し、同じデータが入っているパケットには同じパケット番号を振ること
b.同じデータが入っているパケットを複数繰り返して出力すること
c.印字制御装置からの繰り返し回数の指定に従って、繰り返す回数を決め、送信するデータを作成すること
d.以上の印刷データをホストコンピュータから出力すること
e.受信したデータをチェックし、データが正しく受信されたかどうかを確認すること
f.正しく受信されたデータを接続して印刷データを作成すること
g.繰り返されたデータがすべてエラーだった場合には、そのうちの1つのパケットのデータを使用して印刷データを作成すること
h.データ転送でのデータエラーの確率を保持すること
i.データエラーの確率に基づいて同じデータを繰り返す回数を変更すること
の上記aないしiを特徴とする印字制御装置。
【0009】
【発明の実施の形態】
(第1の実施例)
図1は本発明における印字装置の構成を示した図である。同図において、101は印刷データを出力するホストコンピュータ、102は印字制御部、103は102の印字制御部全体の制御を行うCPU、104は102の印字制御部の各ブロックからのデータアクセスに対する制御を行うコントローラ部、105はUSBインタフェース部、106はCPU103の動作プログラム及びフォントデータの入ったROM、107はCPU103のワークメモリ、受信データを格納する為のバッファ、及び作成したビットマップデータを格納する為の領域からなるRAM、108は109の記録部と同期を取りビデオデータを出力するエンジンインタフェース部、109は実際に紙に印字出力する記録部である。
【0010】
図2および図3を用いて、以下に一般的に行われるホストコンピュータとプリンタの動作の流れを説明する。
【0011】
図2は本実施例におけるホストコンピュータ内のプリンタドライバソフトウエアの動作のフローチャートである。
【0012】
図3は本実施例におけるCPU103の動作のフローチャートである。
【0013】
101のホストコンピュータのアプリケーションソフトウエアにおいて印刷を指示すると、アプリケーションソフトウエアはホストコンピュータ101のOSに対して印刷データを作成し印刷を要求する。プリンタドライバソフトウエアはOSからの指示により印刷データを受け取り、プリンタが理解できるように印刷データを作成する。USBインタフェースにおいてはコード情報を転送する為、データ転送プロトコルにはバルクモードが指定され、印刷データはパケットに分割されホストコンピュータ101より印字装置に出力される。
【0014】
次に本実施例での動作を説明する。
【0015】
先ず、印字装置が101のホストコンピュータに接続されると、102の印字制御装置は105のUSBインタフェース部を介して101のホストコンピュータと通信を行い、使用するデータ転送のプロトコルをアイソクロナスで接続する。この時印字装置はホストコンピュータ101に必要とするデータ転送幅の2倍をデータ転送幅として報告する。
【0016】
101のホストコンピュータのアプリケーションソフトウエアにおいて印刷が指示されると、アプリケーションソフトウエアはホストコンピュータ101のOSに対して印刷データを作成し印刷を要求する。プリンタドライバソフトウエアはOSからの指示により印刷データを受け取り、そのデータからビットマップデータを作成する。作成したビットマップデータをインタフェースで規定されたパケットサイズからヘッダ分減らしたサイズに分割し、そのパケットの先頭にパケット番号データ等のヘッダを追加する。そして、そのパケットと同じデータをコピーし、同じデータパケットを連続させた印刷データを作成する。作成された印字データは101のホストコンピュータより102の印字制御部の105USBインタフェース部に送られる。105のUSBインタフェース部で受信されたデータはCRCによるチェックが行われる。103のCPUはCRCの結果を見、そして105のUSBインタフェース部のバッファの先頭データを読み出す。先頭データはヘッダなのでこのパケットの番号を保持しておく。もし前のパケットのパケット番号と異なっていてかつデータエラーが発生していた場合には、103のCPUは105のUSBインタフェース部のバッファに蓄えられていたデータをすべて読み出し読み捨てる。そして次のパケットの受信データを105のUSBインタフェース部のバッファから読み出しヘッダを取り除いて107のRAMに転送する。一つ目のパケットが正しく受信されれば、103のCPUは105のUSBインタフェース部のバッファから読み出しヘッダを取り除いて107のRAMに転送し、次のパケットの受信データを空読みする。できるだけ正しく受信されたパケットをヘッダのパケット番号に従って繋げることでもとのビットマップの印字データにする。受信されたデータ量とデータの転送量と印刷スピードからオーバーランしないだけのビットマップデータが107のRMAに蓄えられたら、108のエンジンインタフェース部にビットマップデータのスタートアドレス等をセットして起動をかける。起動した108のエンジンインタフェース部は、107のRAMからビットマップデータの読み出しを開始する。一方109の記録部に対し印刷開始を指示し、109からの同期信号に合わせてビットマップデータをビデオデータに変換して出力する。109の記録部では、108のエンジンインタフェース部から受信したビデオデータによりレーザダイオードを発行させ、印刷を行う。
【0017】
(第2の実施例)
以下、第2の実施例についてその動作を説明する。
【0018】
印字装置が過去にホストコンピュータ101からの印刷データの受信時にデータエラーが発生した回数を記憶しておき、同じデータのパケットを何回送ればエラーの発生割合をどのくらいにできるという確率から、パケットを繰り返す回数を決定する場合を以下に示す。
【0019】
図4は本実施例におけるホストコンピュータ内のプリンタドライバソフトウエアの動作のフローチャート。
【0020】
図5は本実施例におけるCPU103の動作のフローチャートである。
【0021】
102の印字制御装置は過去に行ったデータ転送のエラー確率を保持しておく。例えば受信したパケット数に対するエラーの発生回数である。エラーの発生確率が高いシステム(環境)であった場合、同じパケットを2回繰り返しても未だ発生するようであれば、同じデータを3回送信できるデータ転送幅を101のホストコンピュータに要求する。
【0022】
あとは第1の実施例と同様に実行する。
【0023】
【発明の効果】
以上説明したように、プリンタがデータ転送に必用な転送レート以上のデータ転送レートを確保し、同じデータパケットを複数送出し、プリンタ側で受信データをチェックし、正しいデータをつなげて一つの印刷データとし、そのデータを使って印刷することにより、データ転送のスピードが確定できる為、必要とする印刷データの出力を高速に行うことができる。また、受信バッファの容量についても、十分なデータ転送レートが確保できれば少ないバッファで印刷が可能となる。
【図面の簡単な説明】
【図1】本発明における印字装置の構成を示した図
【図2】第1の実施例におけるホストコンピュータ内のプリンタドライバソフトウエアの動作のフローチャート
【図3】第1の実施例におけるCPUの動作のフローチャート
【図4】第2の実施例におけるホストコンピュータ内のプリンタドライバソフトウエアの動作のフローチャート
【図5】第2の実施例におけるCPUの動作のフローチャート
【符号の説明】
101 ホストコンピュータ
102 印字制御部
103 CPU
104 コントローラ部
105 USBインタフェース部
106 ROM
107 RAM
108 エンジンインタフェース部
109 記録部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a print control device that uses a USB interface for data transfer.
[0002]
[Prior art]
Conventionally, print data has not been transferred using the isochronous protocol of the USB serial interface.
[0003]
[Problems to be solved by the invention]
However, the above conventional example has the following problems.
[0004]
With bulk transfer, you do not know when the data is actually transferred.
[0005]
When isochronous transfer is used, a retransmission request cannot be made even if a data error occurs.
[0006]
In order to solve the above problem, the printer secures a data transfer rate higher than the transfer rate necessary for data transfer, sends out the same data packet multiple times, checks the received data on the printer side, connects the correct data, and An object of the present invention is to provide a print control device that prints data using the data.
[0007]
[Means for Solving the Problems]
The present invention has solved the above problem by providing the following configuration.
[0008]
(1) In a print control device that is connected to a host computer via a USB interface and transfers print data using an isochronous protocol,
a. A packet number is added to data divided into packets, and the same packet number is assigned to a packet containing the same data. B. Outputting a plurality of packets containing the same data repeatedly c. Determine the number of repetitions according to the designation of the number of repetitions from the print control device, and create data to be transmitted d. Outputting the above print data from the host computer e. Check the received data to see if the data was received correctly. F. Create print data by connecting correctly received data g. If all the repeated data are errors, create print data using the data of one of the packets h. Maintaining the probability of data error in data transfer i. The print control device according to any one of the above a to i, wherein the number of times the same data is repeated is changed based on the probability of a data error.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
(First embodiment)
FIG. 1 is a diagram showing a configuration of a printing apparatus according to the present invention. In the figure, 101 is a host computer for outputting print data, 102 is a print control unit, 103 is a CPU for controlling the entire print control unit 102, and 104 is control for data access from each block of the print control unit 102. 105, a USB interface unit; 106, a ROM containing an operation program and font data of the CPU 103; 107, a work memory of the CPU 103; a buffer for storing received data; and a created bitmap data. A RAM 108 is an engine interface for synchronizing with the recording unit 109 and outputting video data, and a recording unit 109 for actually printing and outputting on paper.
[0010]
With reference to FIG. 2 and FIG. 3, the flow of operations of the host computer and the printer that are generally performed will be described below.
[0011]
FIG. 2 is a flowchart of the operation of the printer driver software in the host computer in the present embodiment.
[0012]
FIG. 3 is a flowchart of the operation of the CPU 103 in the present embodiment.
[0013]
When printing is instructed by the application software of the host computer 101, the application software creates print data and requests printing to the OS of the host computer 101. The printer driver software receives the print data according to an instruction from the OS, and creates the print data so that the printer can understand the print data. In the USB interface, in order to transfer code information, a bulk mode is designated as a data transfer protocol, and print data is divided into packets and output from the host computer 101 to a printing device.
[0014]
Next, the operation in this embodiment will be described.
[0015]
First, when the printing apparatus is connected to the host computer 101, the printing control apparatus 102 communicates with the host computer 101 via the USB interface unit 105, and connects the data transfer protocol to be used in an isochronous manner. At this time, the printing device reports twice the required data transfer width to the host computer 101 as the data transfer width.
[0016]
When printing is instructed by application software of the host computer 101, the application software creates print data and requests printing to the OS of the host computer 101. The printer driver software receives print data according to an instruction from the OS, and creates bitmap data from the data. The created bitmap data is divided into a packet size reduced by the header from the packet size specified by the interface, and a header such as packet number data is added to the head of the packet. Then, the same data as the packet is copied, and print data in which the same data packet is continued is created. The created print data is sent from the host computer 101 to the 105 USB interface unit of the print control unit 102. The data received by the USB interface unit 105 is checked by CRC. The CPU of 103 checks the result of the CRC, and reads the head data of the buffer of the 105 USB interface unit. Since the first data is a header, the number of this packet is held. If the packet number is different from the packet number of the previous packet and a data error has occurred, the CPU of 103 reads and discards all the data stored in the buffer of the USB interface unit of 105. Then, the received data of the next packet is read from the buffer of the USB interface unit 105, the header is removed, and transferred to the RAM 107. If the first packet is received correctly, the CPU of 103 removes the read header from the buffer of the USB interface unit of 105, transfers it to the RAM of 107, and reads the next packet of received data without reading. The packets received as correctly as possible are connected according to the packet number in the header to make the original bitmap print data. If bitmap data that does not overrun is stored in the RMA 107 based on the received data amount, the data transfer amount, and the printing speed, the start address and the like of the bitmap data are set in the engine interface unit 108 to start up. Multiply. The activated engine interface unit 108 starts reading bitmap data from the RAM 107. On the other hand, it instructs the recording unit 109 to start printing, converts bitmap data into video data in accordance with the synchronization signal from 109, and outputs the video data. In the recording unit 109, a laser diode is issued based on the video data received from the engine interface unit 108, and printing is performed.
[0017]
(Second embodiment)
Hereinafter, the operation of the second embodiment will be described.
[0018]
The printing apparatus stores the number of times a data error has occurred in the past when receiving print data from the host computer 101, and based on the probability that the number of times the same data packet is sent and the error occurrence rate can be increased, the The case where the number of repetitions is determined is shown below.
[0019]
FIG. 4 is a flowchart of the operation of the printer driver software in the host computer according to the present embodiment.
[0020]
FIG. 5 is a flowchart of the operation of the CPU 103 in the present embodiment.
[0021]
The print control device 102 holds the error probability of the data transfer performed in the past. For example, the number of occurrences of an error with respect to the number of received packets. In a system (environment) where the error occurrence probability is high, if the same packet is still generated even if it is repeated twice, a data transfer width capable of transmitting the same data three times is requested to the host computer 101.
[0022]
The rest is executed in the same manner as in the first embodiment.
[0023]
【The invention's effect】
As described above, the printer secures a data transfer rate higher than the transfer rate necessary for data transfer, sends out the same data packet multiple times, checks the received data on the printer side, connects the correct data, and connects one print data By performing printing using the data, the data transfer speed can be determined, so that the required print data can be output at high speed. As for the capacity of the receiving buffer, if a sufficient data transfer rate can be secured, printing can be performed with a small number of buffers.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a printing apparatus according to the present invention; FIG. 2 is a flowchart of an operation of printer driver software in a host computer in a first embodiment; FIG. 3 is an operation of a CPU in the first embodiment; FIG. 4 is a flowchart of the operation of the printer driver software in the host computer in the second embodiment. FIG. 5 is a flowchart of the operation of the CPU in the second embodiment.
101 Host computer 102 Print control unit 103 CPU
104 controller 105 USB interface 106 ROM
107 RAM
108 engine interface unit 109 recording unit

Claims (1)

ホストコンピュータとUSBインタフェースで接続され、アイソクロナスプロトコルで印刷データを転送する印字制御装置において、
a.パケットに分割されたデータにパケット番号を付加し、同じデータが入っているパケットには同じパケット番号を振ること
b.同じデータが入っているパケットを複数繰り返して出力すること
c.印字制御装置からの繰り返し回数の指定に従って、繰り返す回数を決め、送信するデータを作成すること
d.以上の印刷データをホストコンピュータから出力すること
e.受信したデータをチェックし、データが正しく受信されたかどうかを確認すること
f.正しく受信されたデータを接続して印刷データを作成すること
g.繰り返されたデータがすべてエラーだった場合には、そのうちの1つのパケットのデータを使用して印刷データを作成すること
h.データ転送でのデータエラーの確率を保持すること
i.データエラーの確率に基づいて同じデータを繰り返す回数を変更すること
の上記aないしiを特徴とする印字制御装置。
In a print control device that is connected to a host computer via a USB interface and transfers print data using an isochronous protocol,
a. A packet number is added to data divided into packets, and the same packet number is assigned to a packet containing the same data. B. Outputting a plurality of packets containing the same data repeatedly c. Determine the number of repetitions according to the designation of the number of repetitions from the print control device, and create data to be transmitted d. Outputting the above print data from the host computer e. Check the received data to see if the data was received correctly. F. Create print data by connecting correctly received data g. If all the repeated data are errors, create print data using the data of one of the packets h. Maintaining the probability of data error in data transfer i. The print control device according to any one of the above a to i, wherein the number of times the same data is repeated is changed based on the probability of a data error.
JP2002209780A 2002-07-18 2002-07-18 Print control system Withdrawn JP2004054504A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002209780A JP2004054504A (en) 2002-07-18 2002-07-18 Print control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002209780A JP2004054504A (en) 2002-07-18 2002-07-18 Print control system

Publications (1)

Publication Number Publication Date
JP2004054504A true JP2004054504A (en) 2004-02-19

Family

ID=31933540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002209780A Withdrawn JP2004054504A (en) 2002-07-18 2002-07-18 Print control system

Country Status (1)

Country Link
JP (1) JP2004054504A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447976B2 (en) 2005-03-31 2008-11-04 Fujitsu Limited Data transfer apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447976B2 (en) 2005-03-31 2008-11-04 Fujitsu Limited Data transfer apparatus

Similar Documents

Publication Publication Date Title
US7675643B2 (en) Print controller, control method therefor and program
US20080276027A1 (en) Interrupt control apparatus, bus bridge, bus switch, image processing apparatus, and interrupt control method
JP3226095B2 (en) Network printer
US6804018B1 (en) Printer and its control method for creating link information between a transfer data position and a print data position
US5926650A (en) Method and system utilizing a negotiation phase to transfer commands and data in separate modes over a host/peripheral interface
JP2004054504A (en) Print control system
JP3189269B2 (en) Network printer
JP2003248558A (en) Method and device for data transfer
US6917435B2 (en) Method, device and computer program element for transmitting print data
JP4589768B2 (en) Information processing device
JP4211375B2 (en) Data transfer control method, data transfer circuit device, and printing apparatus having the same
JP5004322B2 (en) Data transfer control method, apparatus, and image forming apparatus
JP4400097B2 (en) Printing apparatus, printing control method, program, and recording medium
JP2004058501A (en) Printing control system
JP2004195661A (en) Data output device and host device
JP3208851B2 (en) Printer control device
JP2011101249A (en) Image processing system and apparatus, data transfer control method, program and recording medium
JP2004054505A (en) Print controller
JP3713699B2 (en) Printing system
JP2009211307A (en) Image forming apparatus
JP3700410B2 (en) Printer system and print control method
JP2002091716A (en) Device and method for controlling printing
JP2008093942A (en) Printer
JP2004181769A (en) Printing device
JP2002019196A (en) Printer and data receiver

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051004