JP2007213512A - Printer and printer controller - Google Patents
Printer and printer controller Download PDFInfo
- Publication number
- JP2007213512A JP2007213512A JP2006035557A JP2006035557A JP2007213512A JP 2007213512 A JP2007213512 A JP 2007213512A JP 2006035557 A JP2006035557 A JP 2006035557A JP 2006035557 A JP2006035557 A JP 2006035557A JP 2007213512 A JP2007213512 A JP 2007213512A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- data transfer
- processing circuit
- raster
- data
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、印刷装置に係り、特に、メモリアクセスの調停を行なう調停回路を有するプリンタコントローラに関する。 The present invention relates to a printing apparatus, and more particularly to a printer controller having an arbitration circuit that arbitrates memory access.
レーザ方式の印刷装置では、ビットマップ展開されたイメージデータを1ライン(ラスタ)単位で印刷エンジンに転送することで印刷が実行される。 In a laser type printing apparatus, printing is executed by transferring bitmap-developed image data to a print engine in units of one line (raster).
印刷エンジンに出力されるイメージデータは、ラスタバッファにいったん書き込まれ、印刷エンジンのラスタ処理周期に同期して読み出される。 The image data output to the print engine is once written in the raster buffer and read out in synchronization with the raster processing cycle of the print engine.
レーザ方式の印刷方式では、印刷エンジンへのイメージデータ転送を開始すると、ページの途中で処理を止めることはできない。このため、特許文献1に記載されているように、ラスタバッファへのイメージデータの書き込みが間に合わず、印刷エンジンに転送すべきイメージデータがラスタバッファに格納されていないとエラーが発生してしまう。このエラーを一般にアンダーランエラーと称している。 In the laser printing method, when image data transfer to the print engine is started, the process cannot be stopped in the middle of the page. For this reason, as described in Patent Document 1, writing of image data to the raster buffer is not in time, and an error occurs if the image data to be transferred to the print engine is not stored in the raster buffer. This error is generally referred to as an underrun error.
図7は、従来のレーザ方式の印刷装置におけるデータ転送処理関連の構成を説明するブロック図である。 FIG. 7 is a block diagram illustrating a configuration related to data transfer processing in a conventional laser type printing apparatus.
本図に示すように、メインメモリ130へのメモリアクセスを制御するメモリ制御回路110に、CPU120、入出力制御回路140、画像処理回路150が接続されている。メモリ制御回路110は、メインメモリ130へのアクセス処理を行なうメモリアクセス回路111と、CPU120からのアクセス要求・入出力制御回路140からのDMA要求・画像処理回路150からのDMA要求を調停する調停回路112を備えている。
As shown in the figure, a
画像処理回路150は、メインメモリ130に格納された圧縮済画像データを、メモリ制御回路110を介したDMA転送で取得する。このために、DMA要求制御回路151を備えている。
The
画像処理回路150は、DMA転送された圧縮済画像データを解凍回路152により解凍し、得られたイメージデータをラスタバッファ153に一時的に格納する。そして、調整回路154が位置制御処理、画像調整処理等を施したうえで、ラスタ処理開始信号(ラスタスタート信号)に同期して印刷エンジン600に順次出力する。
The
なお、本例では、画像処理回路150は、2本のラスタバッファ153を備えており、交互にイメージデータを印刷エンジン600に出力するようになっている。すなわち、一方のラスタバッファ153がイメージデータを出力している間に、他方のラスタバッファ153が次のラスタのイメージデータを蓄積していることになる。
In this example, the
上述のように、ラスタバッファ153へのイメージデータの書き込みが、印刷エンジン600への転送に間に合わないと、アンダーランエラーが発生してしまう。
As described above, if the writing of the image data to the
そこで、メモリ制御回路110の調停回路112は、アンダーランエラーの発生を防ぐため、画像処理回路150からのDMA要求、特に圧縮済み画像データの読み込みのためのDMA要求を最優先に調停するようにしている。
Therefore, the
このため、印刷エンジン600へのイメージデータ転送開始後は、CPU120からの連続したアクセス要求が発生している場合でも、画像処理回路150からのDMA要求が優先され、CPU120の処理が分断されることになる。
For this reason, after the start of image data transfer to the print engine 600, even if continuous access requests from the
一般に、CPU120における処理は、連続して行なう方が効率が良いため、画像処理回路150からのDMA要求が優先されることにより、CPU120の処理速度が低下することになる。また、CPU120がメモリアクセスを待たされることによる処理速度の低下も起こり得る。
In general, since it is more efficient to perform processing in the
本発明は、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことを目的とする。 An object of the present invention is to prevent a decrease in processing speed of a printing apparatus without causing an underrun error.
上記課題を解決するため本発明の第1の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、CPUと、メモリと、前記画像処理回路からのデータ転送要求と、前記CPUからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記CPUからのメモリアクセス要求を優先して調停し、所定時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
In order to solve the above problems, a printer controller according to a first aspect of the present invention provides:
An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration for arbitrating a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
When there is a data transfer request in raster units from the image processing circuit, the arbitration circuit performs arbitration by giving priority to the memory access request from the CPU within a predetermined time from the start of data transfer, and the predetermined time has elapsed. Thereafter, arbitration is performed with priority given to data transfer requests in raster units from the image processing circuit.
すなわち、データ転送の開始から所定時間内は、画像処理回路へのデータ転送は、CPUからのメモリアクセス要求がない時間に行なわれることになる。これにより、画像処理回路からのデータ転送要求によりCPUの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。特に、所定時間内に画像処理回路へのデータ転送が終わってしまえば、CPUの処理に影響を与えないことになる。一方、所定経過時間後は、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。 That is, within a predetermined time from the start of data transfer, data transfer to the image processing circuit is performed at a time when there is no memory access request from the CPU. As a result, the processing of the CPU is less likely to be divided due to a data transfer request from the image processing circuit, and a reduction in processing speed of the printing apparatus can be prevented. In particular, if the data transfer to the image processing circuit is completed within a predetermined time, the CPU processing is not affected. On the other hand, after a predetermined elapsed time, since the data transfer request from the image processing circuit is given priority, it is possible to prevent the occurrence of an underrun error.
上記課題を解決するため本発明の第2の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、CPUと、メモリと、前記画像処理回路からのデータ転送要求と、前記CPUからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記CPUからのメモリアクセス要求を優先して調停し、所定時間経過後に、前記画像処理回路へのデータ転送が終了しているかどうかを判断し、終了していない場合に、前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
In order to solve the above problem, a printer controller according to a second aspect of the present invention provides:
An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration that arbitrates a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
When there is a data transfer request in raster units from the image processing circuit, the arbitration circuit performs arbitration by giving priority to the memory access request from the CPU within a predetermined time from the start of data transfer, and the predetermined time has elapsed. Thereafter, it is determined whether or not the data transfer to the image processing circuit has been completed. If the data transfer has not been completed, the data transfer request from the image processing circuit is preferentially arbitrated. .
これにより、画像処理回路からのデータ転送要求によりCPUの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。また、所定経過時間後、画像処理回路へのデータ転送が終了していない場合には、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。 As a result, the processing of the CPU is less likely to be divided due to a data transfer request from the image processing circuit, and a reduction in processing speed of the printing apparatus can be prevented. In addition, when the data transfer to the image processing circuit is not completed after the predetermined elapsed time, it is possible to prevent the occurrence of an underrun error because priority is given to the data transfer request from the image processing circuit.
いずれの場合も、前記所定時間は、
イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへの最大データ転送量とに基づいて算出することができる。
In either case, the predetermined time is
It can be calculated based on the output start interval of the image data to the print engine and the maximum data transfer amount to the raster buffer.
より具体的には、前記所定時間の算出は、前記ラスタバッファへの最大データ転送量から最大データ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なうことができる。 More specifically, the predetermined time can be calculated by estimating the maximum data transfer time from the maximum data transfer amount to the raster buffer and subtracting it from the output start interval of the image data to the print engine.
上記課題を解決するため本発明の第3の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、CPUと、メモリと、前記画像処理回路からのデータ転送要求と、前記CPUからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、転送すべきデータ量に基づいて基準時間を設定し、データ転送の開始から前記基準時間内は、前記CPUからのメモリアクセス要求を優先して調停し、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
In order to solve the above-described problem, a printer controller according to a third aspect of the present invention includes:
An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration for arbitrating a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
The arbitration circuit sets a reference time based on the amount of data to be transferred when there is a raster-unit data transfer request from the image processing circuit, and within the reference time from the start of data transfer, the CPU Arbitration is performed with priority given to the memory access request from the memory, and arbitration is performed with priority given to the data transfer request in raster units from the image processing circuit after the reference time has elapsed.
これにより、画像処理回路からのデータ転送要求によりCPUの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。また、転送すべきデータ量から設定された基準時間後は、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。 As a result, the processing of the CPU is less likely to be divided due to a data transfer request from the image processing circuit, and a reduction in processing speed of the printing apparatus can be prevented. Further, after the reference time set from the amount of data to be transferred, it is possible to prevent the occurrence of an underrun error because priority is given to the data transfer request from the image processing circuit.
ここで、前記基準時間は、イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへのデータ転送量とに基づいて算出することができる。 Here, the reference time can be calculated based on an output start interval of image data to the print engine and a data transfer amount to the raster buffer.
より具体的には、前記基準時間の算出は、前記ラスタバッファへのデータ転送量からデータ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なうことができる。 More specifically, the reference time can be calculated by estimating the data transfer time from the data transfer amount to the raster buffer and subtracting it from the output start interval of the image data to the print engine.
上記課題を解決するため本発明の第4の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、CPUと、メモリと、前記画像処理回路からのデータ転送要求と、前記CPUからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始時は、前記CPUからのメモリアクセス要求を優先して調停し、転送すべき残りデータ量とデータ転送開始からの経過時間とが所定の条件を満たした場合に、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
In order to solve the above-described problem, a printer controller according to a fourth aspect of the present invention includes:
An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration for arbitrating a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
The arbitration circuit performs arbitration by giving priority to the memory access request from the CPU at the start of data transfer when there is a data transfer request in raster units from the image processing circuit, and the remaining data amount to be transferred When the reference time elapses, the data transfer request from the image processing circuit is preferentially arbitrated when the reference time elapses.
これにより、画像処理回路からのデータ転送要求によりCPUの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。また、転送すべきデータ残量と経過時間とが所定の条件を満たした場合に、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。 As a result, the processing of the CPU is less likely to be divided due to a data transfer request from the image processing circuit, and a reduction in processing speed of the printing apparatus can be prevented. In addition, when the remaining amount of data to be transferred and the elapsed time satisfy predetermined conditions, it is possible to prevent the occurrence of an underrun error because priority is given to the data transfer request from the image processing circuit.
ここで、前記所定の条件は、データ転送開始からの経過時間から、イメージデータの印刷エンジンへの出力開始までの時間を算出し、この時間と前記転送すべき残りデータ量の転送時間との差があらかじめ定めた範囲内に入ることとすることができる。 Here, the predetermined condition is that the time from the elapsed time from the start of data transfer to the start of output of image data to the print engine is calculated, and the difference between this time and the transfer time of the remaining data amount to be transferred May fall within a predetermined range.
本発明は、上記の各プリンタコントローラを搭載した印刷装置も提供する。 The present invention also provides a printing apparatus equipped with each printer controller described above.
本発明の実施例について図面を参照して説明する。 Embodiments of the present invention will be described with reference to the drawings.
図1は、本発明を適用したレーザ方式の印刷装置におけるデータ転送処理関連の構成を説明するためのブロック図である。 FIG. 1 is a block diagram for explaining a configuration related to data transfer processing in a laser type printing apparatus to which the present invention is applied.
本図に示すように、メインメモリ30へのメモリアクセスを制御するメモリ制御回路10に、CPU20、入出力制御回路40、画像処理回路50が接続されている。メモリ制御回路10は、メインメモリ30へのアクセス処理を行なうメモリアクセス回路11と、CPU20からのアクセス要求・入出力制御回路40からのDMA要求・画像処理回路50からのDMA要求を調停する調停回路12を備えている。
As shown in the figure, a
画像処理回路50は、メインメモリ30に格納された圧縮済画像データを、メモリ制御回路10を介したDMA転送で取得する。このために、DMA要求制御回路51を備えている。なお、圧縮済画像データは、画像データがラスタ単位で圧縮されたものである。
The
この圧縮済画像データを解凍回路52により解凍し、得られたイメージデータをラスタバッファ53に一時的に蓄積する。そして、調整回路54が位置制御処理、画像調整処理等を施したうえで、ラスタ処理開始信号(ラスタスタート信号)に同期して印刷エンジン60に順次出力する。
The compressed image data is decompressed by the
なお、画像処理回路50は、2本のラスタバッファ53を備えており、交互にイメージデータを印刷エンジン60に出力するようになっている。つまり、一方のラスタバッファ53にデータを蓄積している間に、他方のラスタバッファ53からイメージデータを出力していることになる。このため、アンダーランが発生するのは、ラスタバッファからイメージデータを出力後、次のラスタスタート信号までに、1ラスタ分のデータを蓄積できない場合である。
The
ここで、印刷エンジン60の特性上、ラスタスタート信号は、一定の間隔で発生される。ラスタスタート信号の間隔は、印刷の解像度、印刷用紙のサイズ等に応じて定められる。
Here, due to the characteristics of the
本実施例において、調停回路12は、転送カウンタ12aとタイマ12bとを備えている。転送カウンタ12aは、ラスタバッファ53へのDMA転送の回数をカウントする。DMA転送するデータ量は、あらかじめ画像処理回路のDMA要求制御回路51から通知されているため、処理中のラスタについて、何回のDMA転送が必要かを算出することができる。
In this embodiment, the arbitration circuit 12 includes a
したがって、ラスタバッファ53へのDMA転送の回数をカウントすることで、ラスタバッファ53へのDMA転送が終了したかどうか、あるいは、ラスタバッファ53への残り転送量(残り転送回数)等を把握することができる。
Therefore, by counting the number of DMA transfers to the
タイマ12bは、ラスタスタートからの経過時間を計測する。これにより、次のラスタスタートまでの残時間等を把握することができる。したがって、転送カウンタ12aとタイマ12bとは、ラスタスタート毎にリセットされる。
The
つぎに、本発明の第1の実施例におけるデータ転送処理について図2のフロー図を参照して説明する。 Next, data transfer processing in the first embodiment of the present invention will be described with reference to the flowchart of FIG.
本フロー図は、メインメモリ30に格納された圧縮済画像データを画像処理回路50にDMA転送する際の処理を示している。
This flowchart shows processing when DMA transfer of compressed image data stored in the
本実施例では、画像処理回路50へのDMA転送開始時には、画像処理回路50からのDMA要求の優先度を下げておく。その結果、CPU20からのアクセス要求、入出力制御回路40からのDMA要求が、画像処理回路50からのDMA要求より優先されて処理される。
In this embodiment, when the DMA transfer to the
そして、DMA転送開始からの経過時間が所定の基準時間を経過した時点で優先順位を切り替えて、画像処理回路50からのDMA要求を最優先に調停するようにする。
Then, the priority is switched when the elapsed time from the start of the DMA transfer has passed a predetermined reference time, so that the DMA request from the
これにより、CPU20の処理が、画像処理回路50へのDMA処理により分断されることを少なくして、印刷装置の処理速度低下を防ぐようにする。
Thereby, the processing of the
ここで、所定の基準時間は、例えば、以下のようにして決定することができる。すなわち、ラスタバッファ53に転送すべきデータ量から、DMA転送に要する時間をあらかじめ見積もることができる。転送すべきデータ量は、例えば、最も圧縮率の悪いケースを想定して見積もるようにする。また、DMA転送の効率も条件が悪い場合を想定して見積もるようにする。
Here, the predetermined reference time can be determined as follows, for example. That is, the time required for DMA transfer can be estimated in advance from the amount of data to be transferred to the
これにより、次のラスタスタートからどれだけ前にDMA転送を開始すれば、少なくとも、次のラスタスタートまでにラスタバッファ53へのDMA転送が完了するかを算出することができる。そして、所定の基準時間は、ラスタスタートからその時間までの時間と定めることができる。
As a result, it is possible to calculate how long the DMA transfer to the
画像処理回路50からのDMA要求があると、このDMA転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ53に格納される(S101)。
When there is a DMA request from the
そして、ラスタスタート信号(S102)により、印刷エンジン60へのイメージデータ出力が開始される。なお、画像処理回路50へのDMA転送に先立ち、ラスタスタート信号の間隔はすでに定められている。
Then, image data output to the
同時に、タイマ12bの計時がスタートする(S103)。そして、基準時間が経過するまで(S104)、画像処理回路50へのDMA転送が優先順位の低いまま行なわれる。したがって、CPU20からのメインメモリ30へのアクセス要求は、DMA転送により分断されないため、CPU20の処理効率の低下を防ぐことができる。
At the same time, the
そして、基準時間が経過すると(S104:Y)、調停回路12は、画像処理回路50へのDMA転送を最優先に調停する。
When the reference time has elapsed (S104: Y), the arbitration circuit 12 arbitrates the DMA transfer to the
そして、次のラスタスタート信号(S106)で、ラスタバッファ53に蓄積されたイメージデータを印刷エンジン60に出力する。基準時間は、基準時間経過後に画像処理回路50へのDMA転送を開始しても、ラスタバッファ53へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
In response to the next raster start signal (S106), the image data stored in the
処理(S103)移行の処理を、DMA転送すべきラスタが終了するまで(S107)、繰り返すことにより、1ページ分の印刷が実行される。 By repeating the process (S103) until the raster to be DMA transferred is completed (S107), printing for one page is executed.
このように、本発明の第1の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。 Thus, according to the first embodiment of the present invention, it is possible to prevent a decrease in the processing speed of the printing apparatus without causing an underrun error.
図3は、本実施例におけるDMA転送の様子を模式的に示したタイミング図である。本図に示すように、ラスタスタート信号により、ラスタ単位のDMA転送が開始する。DMA転送開始時においては、CPU20からの要求が優先されるため、調停回路12は、CPU20からのCPUリクエストと画像処理回路50からのVDMAリクエストが重なった場合にはCPUリクエストを優先するように調停する。この結果、メモリバスはCPU20が優先的に使用することになる。
FIG. 3 is a timing chart schematically showing the state of DMA transfer in this embodiment. As shown in the figure, DMA transfer in units of rasters is started by a raster start signal. Since the request from the
一方。画像処理回路50からのVDMAリクエストによるDMA転送は、CPUリクエストがないタイミングで行なわれる。
on the other hand. The DMA transfer by the VDMA request from the
そして、基準時間経過後は、調停回路内の内部信号により優先順位が切り替わり、調停回路12は、画像処理回路50からのVDMAリクエストが最優先となるように調停する。この結果、メモリバスは画像処理回路50が優先的に使用することになる。
After the reference time elapses, the priority is switched by an internal signal in the arbitration circuit, and the arbitration circuit 12 arbitrates so that the VDMA request from the
つぎに、本発明の第2の実施例におけるデータ転送処理について図4のフロー図を参照して説明する。 Next, data transfer processing in the second embodiment of the present invention will be described with reference to the flowchart of FIG.
本実施例と第1の実施例との相違点は、基準時間が経過した時点で、画像処理回路50へのDMA転送が終了しているかどうかを判断し、終了していない場合に、画像処理回路50へのDMA転送の優先順位を高くすることである。
The difference between the present embodiment and the first embodiment is that when the reference time has elapsed, it is determined whether or not the DMA transfer to the
このため、画像処理回路50へのDMA転送回数を転送カウンタ12aを用いてカウントし、転送に必要なDMA転送回数と比較することで、画像処理回路50へのDMA転送が終了しているかどうかを判断する。
For this reason, the number of DMA transfers to the
本実施例においても、画像処理回路50からのDMA要求があると、このDMA転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ53に格納される(S201)。
Also in this embodiment, when there is a DMA request from the
そして、ラスタスタート信号(S202)により、印刷エンジン60へのイメージデータ出力が開始される。なお、画像処理回路50へのDMA転送に先立ち、ラスタスタート信号の間隔はすでに定められている。また、画像処理回路50へ転送すべきデータ量が画像処理回路50から通知されるため、必要なDMA転送回数を算出することができる。
Then, image data output to the
同時に、タイマ12bの計時がスタートする(S203)。そして、基準時間が経過するまで(S204)、画像処理回路50へのDMA転送が優先順位の低いまま行なわれる。したがって、CPU20からのメインメモリ30へのアクセス要求は、DMA転送により分断されないため、CPU20の処理効率の低下を防ぐことができる。
At the same time, the
なお、画像処理回路50へのDMA転送が行なわれるたびに転送カウンタ12aの値を増やすようにする。
The value of the
そして、基準時間が経過すると(S204:Y)、調停回路12は、転送カウンタ12aの値と、転送に必要なDMA転送回数と比較することで、画像処理回路50へのDMA転送が終了しているかどうかを判断する(S205)。
When the reference time elapses (S204: Y), the arbitration circuit 12 compares the value of the
その結果、画像処理回路50へのDMA転送が終了していると判断した場合には(S205:Y)、画像処理回路50へのDMA転送の優先順位を上げる必要がないため、優先順位を変更することなく次のラスタスタート信号を待つ。
As a result, when it is determined that the DMA transfer to the
一方、まだ画像処理回路50へのDMA転送が終了していないと判断した場合には(S205:N)、画像処理回路50へのDMA転送を最優先に調停する(S206)。
On the other hand, if it is determined that the DMA transfer to the
そして、次のラスタスタート信号(S207)で、ラスタバッファ53に蓄積されたイメージデータを印刷エンジン60に出力する。基準時間は、基準時間経過後に画像処理回路50へのDMA転送を開始しても、ラスタバッファ53へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
In response to the next raster start signal (S207), the image data stored in the
処理(S203)移行の処理を、DMA転送すべきラスタが終了するまで(S208)、繰り返すことにより、1ページ分の印刷が実行される。なお、必要なDMA転送回数の算出およびDMA転送回数のカウントは、毎ラスタ毎に行なうようにする。 By repeating the process of the process (S203) until the raster to be DMA-transferred is completed (S208), printing for one page is executed. The calculation of the necessary number of DMA transfers and the count of the number of DMA transfers are performed for each raster.
このように、本発明の第2の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。さらに、不要な優先順位の切替を行なわないようにすることができる。 Thus, according to the second embodiment of the present invention, it is possible to prevent a decrease in the processing speed of the printing apparatus without causing an underrun error. Furthermore, unnecessary priority switching can be prevented from being performed.
つぎに、本発明の第3の実施例におけるデータ転送処理について図5のフロー図を参照して説明する。 Next, data transfer processing in the third embodiment of the present invention will be described with reference to the flowchart of FIG.
本実施例と第1の実施例との相違点は、DMA転送すべきデータ量に基づいて、基準時間を各ラスタ毎に算出することである。 The difference between this embodiment and the first embodiment is that the reference time is calculated for each raster based on the amount of data to be DMA transferred.
このため、基準時間がラスタ毎に異なることになる。すなわち、転送すべきデータ量が多いラスタについては基準時間が短くなり、転送すべきデータ量が少ないラスタについては基準時間が長くなる。 For this reason, the reference time differs for each raster. That is, the reference time is short for a raster with a large amount of data to be transferred, and the reference time is long for a raster with a small amount of data to be transferred.
本実施例においても、画像処理回路50からのDMA要求があると、このDMA転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ53に格納される(S301)。この際に、DMA転送の回数をカウントする。
Also in this embodiment, when there is a DMA request from the
そして、ラスタスタート信号(S302)により、印刷エンジン60へのイメージデータ出力が開始される。なお、画像処理回路50へのDMA転送に先立ち、ラスタスタート信号の間隔はすでに定められている。
Then, image data output to the
そして、画像処理回路50から通知された画像処理回路50へ転送すべきデータ量に基づいて、基準時間を設定する(S303)。基準時間は、そのラスタのデータ量を転送するために必要な時間を見積もり、次のラスタスタートからどれだけ前にDMA転送を開始すれば、少なくとも、次のラスタスタートまでにラスタバッファ53へのDMA転送が完了するかを算出することで求めることができる。
Then, a reference time is set based on the amount of data to be transferred to the
同時に、タイマ12bの計時がスタートする(S304)。そして、基準時間が経過するまで(S305)、画像処理回路50へのDMA転送が優先順位の低いまま行なわれる。したがって、CPU20からのメインメモリ30へのアクセス要求は、DMA転送により分断されないため、CPU20の処理効率の低下を防ぐことができる。
At the same time, the
そして、基準時間が経過すると(S305:Y)、調停回路12は、画像処理回路50へのDMA転送を最優先に調停する。
When the reference time has elapsed (S305: Y), the arbitration circuit 12 arbitrates the DMA transfer to the
そして、次のラスタスタート信号(S307)で、ラスタバッファ53に蓄積されたイメージデータを印刷エンジン60に出力する。基準時間は、基準時間経過後に画像処理回路50へのDMA転送を開始しても、ラスタバッファ53へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
In response to the next raster start signal (S307), the image data stored in the
処理(S303)移行の処理を、DMA転送すべきラスタが終了するまで(S308)、繰り返すことにより、1ページ分の印刷が実行される。 By repeating the process (S303) until the raster to be DMA transferred is completed (S308), printing for one page is executed.
このように、本発明の第3の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。さらに、転送すべきデータ量に応じて基準時間を変化させるため、より実態にあった制御が可能となり、印刷装置の処理速度低下を一層防ぐことができる。 Thus, according to the third embodiment of the present invention, it is possible to prevent a decrease in the processing speed of the printing apparatus without causing an underrun error. Furthermore, since the reference time is changed in accordance with the amount of data to be transferred, more realistic control is possible, and a reduction in processing speed of the printing apparatus can be further prevented.
つぎに、本発明の第4の実施例におけるデータ転送処理について図6のフロー図を参照して説明する。 Next, data transfer processing in the fourth embodiment of the present invention will be described with reference to the flowchart of FIG.
本実施例と第1の実施例との相違点は、画像処理回路50へ転送すべき残データ量と、次のラスタスタート信号までの時間をリアルタイムに取得し、これ以上、画像処理回路50へのDMA転送の優先順位が低い状態が続くと、ラスタバッファ53へのデータ蓄積が間に合わなくなるおそれがある時点で優先順位を切り替えるようにすることである。
The difference between the present embodiment and the first embodiment is that the remaining data amount to be transferred to the
このため、調停回路12は、画像処理回路50へのDMA転送回数を転送カウンタ12aを用いてカウントすることで、画像処理回路50へ転送すべき残データ量(残転送回数)を取得し、タイマ12bでラスタスタートからの経過時間を計測することで、次のラスタスタート信号までの時間を取得する。
For this reason, the arbitration circuit 12 counts the number of DMA transfers to the
そして、残データ量の転送に必要な時間を見積もり、その時間が次のラスタスタート信号までの時間とほぼ一致した時点を転送可能限界と判断し、画像処理回路50へのDMA転送を最優先に調停する。一致したかどうかは、厳密なものでなくてもよく、その時間の差があらかじめ定めた範囲内に入ったことで判断すれば足りる。ただし、転送可能限界の判定は、種々の方法を採用することができる。
Then, the time necessary for transferring the remaining data amount is estimated, and when the time almost coincides with the time until the next raster start signal, it is determined that the transfer is possible, and the DMA transfer to the
本実施例においても、画像処理回路50からのDMA要求があると、このDMA転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ53に格納される(S401)。
Also in this embodiment, when there is a DMA request from the
そして、ラスタスタート信号(S402)により、印刷エンジン60へのイメージデータ出力が開始される。なお、画像処理回路50へのDMA転送に先立ち、ラスタスタート信号の間隔はすでに定められている。また、画像処理回路50へ転送すべきデータ量が画像処理回路50から通知されるため、必要なDMA転送回数を算出することができる。そして、DMA転送が行なわれるたびに、残りのDMA転送回数を算出する。
Then, image data output to the
同時に、タイマ12bの計時がスタートする(S403)。DMA転送の開始時においては、画像処理回路50へのDMA転送の優先順位は低く設定されている。したがって、CPU20からのメインメモリ30へのアクセス要求は、DMA転送により分断されないため、CPU20の処理効率の低下を防ぐことができる。
At the same time, the
調停回路12は、残りのDMA転送回数とラスタスタートからの経過時間を取得する(S404)。そして、残りのDMA転送回数に必要な時間を見積もり、その時間と次のラスタスタート信号までの時間とに基づいて、転送可能限界状態になったかどうかを判断する(S405)。ここでは、残データ量の転送に必要な時間と、次のラスタスタート信号までの時間とがほぼ一致した時点を転送可能限界と判断する。 The arbitration circuit 12 acquires the remaining number of DMA transfers and the elapsed time from the raster start (S404). Then, the time required for the remaining number of DMA transfers is estimated, and based on the time and the time until the next raster start signal, it is determined whether or not a transferable limit state has been reached (S405). Here, the time when the time required for transferring the remaining data amount substantially coincides with the time until the next raster start signal is determined as the transferable limit.
その結果、転送可能限界に達していないと判断した場合には(S405:N)、画像処理回路50へのDMA転送の優先順位を上げる必要がないため、優先順位の切替は行なわず、DMA転送を継続する。
As a result, when it is determined that the transfer limit has not been reached (S405: N), there is no need to increase the priority of the DMA transfer to the
一方、転送可能限界に達したと判断した場合には(S405:Y)、画像処理回路50へのDMA転送を最優先に調停する(S406)。なお、CPU20の処理状況等によっては、優先順位の切替が必要ないまま、DMA転送が終了する場合もある。
On the other hand, if it is determined that the transfer limit has been reached (S405: Y), the DMA transfer to the
そして、次のラスタスタート信号(S407)で、ラスタバッファ53に蓄積されたイメージデータを印刷エンジン60に出力する。
In response to the next raster start signal (S407), the image data stored in the
転送可能限界は、その状態となった時点で画像処理回路50へのDMA転送の優先順位を上げても、ラスタバッファ53へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
The transferable limit is set so that the data storage in the
処理(S403)移行の処理を、DMA転送すべきラスタが終了するまで(S408)、繰り返すことにより、1ページ分の印刷が実行される。 By repeating the process (S403) until the raster to be DMA-transferred is completed (S408), printing for one page is executed.
このように、本発明の第4の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。さらに、画像処理回路50へ転送すべき残データ量と、次のラスタスタート信号までの時間をリアルタイムに取得し、これ以上、画像処理回路50へのDMA転送の優先順位が低い状態が続くと、ラスタバッファ53へのデータ蓄積が間に合わなくなるおそれがある時点で優先順位を切り替えるようにしている。これにより、より実態にあった制御が可能となり、CPU20の処理の分断を一層防ぐことができるため、印刷装置の処理速度低下をさらに防ぐことができる。
Thus, according to the fourth embodiment of the present invention, it is possible to prevent a decrease in the processing speed of the printing apparatus without causing an underrun error. Further, the remaining data amount to be transferred to the
10…メモリ制御回路、11…メモリアクセス回路、12…調停回路、12a…転送カウンタ、12b…タイマ、20…CPU、30…メインメモリ、40…入出力制御回路、50…画像処理回路、51…DMA要求制御回路、52…解凍回路、53…ラスタバッファ、54…調整回路、60…印刷エンジン、110…メモリ制御回路、111…メモリアクセス回路、112…調停回路、130…メインメモリ、140…入出力制御回路、150…画像処理回路、151…DMA要求制御回路、152…解凍回路、153…ラスタバッファ、154…調整回路、160…印刷エンジン
DESCRIPTION OF
Claims (10)
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記CPUからのメモリアクセス要求を優先して調停し、所定時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。 An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration for arbitrating a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
When there is a data transfer request in raster units from the image processing circuit, the arbitration circuit performs arbitration by giving priority to the memory access request from the CPU within a predetermined time from the start of data transfer, and the predetermined time has elapsed. Thereafter, the printer controller performs arbitration by giving priority to data transfer requests in raster units from the image processing circuit.
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記CPUからのメモリアクセス要求を優先して調停し、所定時間経過後に、前記画像処理回路へのデータ転送が終了しているかどうかを判断し、終了していない場合に、前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。 An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration that arbitrates a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
When there is a data transfer request in raster units from the image processing circuit, the arbitration circuit performs arbitration by giving priority to the memory access request from the CPU within a predetermined time from the start of data transfer, and the predetermined time has elapsed. Thereafter, it is determined whether or not the data transfer to the image processing circuit has been completed. If the data transfer has not been completed, the data transfer request from the image processing circuit is preferentially arbitrated. Printer controller.
前記所定時間は、
イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへの最大データ転送量とに基づいて算出されることを特徴とするプリンタコントローラ。 The printer controller according to claim 1 or 2,
The predetermined time is
A printer controller, which is calculated based on an output start interval of image data to a print engine and a maximum data transfer amount to the raster buffer.
前記所定時間の算出は、前記ラスタバッファへの最大データ転送量から最大データ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なわれることを特徴とするプリンタコントローラ。 The printer controller according to claim 2,
The printer controller according to claim 1, wherein the predetermined time is calculated by estimating a maximum data transfer time from a maximum data transfer amount to the raster buffer and subtracting it from an output start interval of the image data to the print engine.
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、転送すべきデータ量に基づいて基準時間を設定し、データ転送の開始から前記基準時間内は、前記CPUからのメモリアクセス要求を優先して調停し、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。 An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration for arbitrating a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
The arbitration circuit sets a reference time based on the amount of data to be transferred when there is a raster-unit data transfer request from the image processing circuit, and within the reference time from the start of data transfer, the CPU A printer controller characterized in that arbitration is performed with priority given to a memory access request from the image processing unit, and arbitration is performed with priority given to a data transfer request in raster units from the image processing circuit after the reference time has elapsed.
前記基準時間は、
イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへのデータ転送量とに基づいて算出されることを特徴とするプリンタコントローラ。 The printer controller according to claim 5, wherein
The reference time is
A printer controller, which is calculated based on an output start interval of image data to a print engine and a data transfer amount to the raster buffer.
前記基準時間の算出は、前記ラスタバッファへのデータ転送量からデータ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なわれることを特徴とするプリンタコントローラ。 The printer controller according to claim 6, wherein
The calculation of the reference time is performed by estimating a data transfer time from a data transfer amount to the raster buffer and subtracting it from an output start interval of the image data to the print engine.
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始時は、前記CPUからのメモリアクセス要求を優先して調停し、転送すべき残りデータ量とデータ転送開始からの経過時間とが所定の条件を満たした場合に、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。 An image processing circuit that includes a raster buffer and outputs image data in raster units to the print engine, a CPU, a memory, an arbitration that arbitrates a data transfer request from the image processing circuit and a memory access request from the CPU A printer controller comprising a circuit,
The arbitration circuit performs arbitration by giving priority to the memory access request from the CPU at the start of data transfer when there is a data transfer request in raster units from the image processing circuit, and the remaining data amount to be transferred And an elapsed time from the start of data transfer satisfy a predetermined condition, and after the reference time has elapsed, arbitration is performed with priority given to a raster unit data transfer request from the image processing circuit. .
前記所定の条件は、
データ転送開始からの経過時間から、イメージデータの印刷エンジンへの出力開始までの時間を算出し、この時間と前記転送すべき残りデータ量の転送時間との差があらかじめ定めた範囲内に入ることであることを特徴とするプリンタコントローラ。 The printer controller according to claim 8, comprising:
The predetermined condition is:
Calculate the time from the start of data transfer to the start of output of image data to the print engine, and the difference between this time and the transfer time of the remaining data amount to be transferred falls within a predetermined range. A printer controller characterized by the above.
A printing apparatus equipped with the printer controller according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006035557A JP2007213512A (en) | 2006-02-13 | 2006-02-13 | Printer and printer controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006035557A JP2007213512A (en) | 2006-02-13 | 2006-02-13 | Printer and printer controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007213512A true JP2007213512A (en) | 2007-08-23 |
Family
ID=38491856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006035557A Pending JP2007213512A (en) | 2006-02-13 | 2006-02-13 | Printer and printer controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007213512A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012038065A (en) * | 2010-08-06 | 2012-02-23 | Ricoh Co Ltd | Semiconductor integrated circuit and information storage method |
-
2006
- 2006-02-13 JP JP2006035557A patent/JP2007213512A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012038065A (en) * | 2010-08-06 | 2012-02-23 | Ricoh Co Ltd | Semiconductor integrated circuit and information storage method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7702841B2 (en) | Semiconductor integrated circuit and image processing apparatus having the same | |
US20130254444A1 (en) | Image processing apparatus | |
KR20180088279A (en) | Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus | |
TWI753063B (en) | Data transfer apparatus and data transfer method | |
US9760507B2 (en) | Data processing device and data processing method | |
US9026697B2 (en) | Data processing apparatus | |
JP2007213512A (en) | Printer and printer controller | |
JP4895865B2 (en) | Controller device, line synchronization error determination method, and image processing device | |
JP5583563B2 (en) | Data processing device | |
JP2019220787A (en) | Control device, image forming apparatus, control method, and control program | |
JP4175974B2 (en) | Image data transfer control device | |
JPH0713923A (en) | Bus control method | |
JP2008252748A (en) | Receiving frame processor and receiving frame processing system | |
JP5736847B2 (en) | Image forming apparatus and control method thereof | |
JP5334173B2 (en) | Data transfer system and retry control method | |
JP2005321933A (en) | Data input and output device and data input and output method | |
JP2005182505A (en) | Data transfer controller and image forming apparatus | |
JP2005115421A (en) | Memory access arbiter and memory access arbitration method | |
JP2005174145A (en) | Data processing method, data processor, program, and storage medium | |
JP2006171887A (en) | Bus controller and information processing system | |
JP6213003B2 (en) | Communication control device, image processing device, communication control program | |
JP2010020815A (en) | Fifo access circuit | |
JP2005107818A (en) | Arbitration device and image forming device using it | |
JP3939078B2 (en) | Data write control circuit | |
CN113711192A (en) | Information processing apparatus |