(57)【特許請求の範囲】
【請求項１】
各ラインの画データを水平同期信号に同期して少なくとも２メモリ領域を交互に切り換えつつ複数ライン分を一単位としてプリンタヘッドへＤＭＡ転送する際に、前記一単位の画データの転送終了時点でＣＰＵに対して割り込み処理が発生した場合に、次の水平同期信号の発生を、更にその次の水平同期信号の発生時点までに１ライン分の画データの転送が行なわれる範囲内で遅延させることを特徴とする画像形成装置のデータ転送制御方法。
【請求項２】
前記水平同期信号の発生の遅延は、前記ＣＰＵに対する割り込み処理に応じて設定されることを特徴とする請求項１に記載の画像形成装置のデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像形成装置のデータ転送制御方法に関し、特にその画データのメモリからプリンタヘッドへの転送の際のDMA(Direct Memory Access) 転送の制御方法に関する。
【０００２】
【従来の技術】
ファクシミリ装置の記録装置としては電子写真方式による画像形成装置が一般的に利用されている。ところで、ファクシミリ装置が送受信する画データはいわゆるランレングス変換された符号化データであり、それを画像形成装置により記録紙にハードコピー印字するには、復号化した上で画像形成装置へ転送する必要がある。
【０００３】
【発明が解決しようとする課題】
ところで、上述のようにファクシミリ装置では符号化データを復号する必要があるため、復号器で一群の符号化データを復号して通常の２値画データに変換してメモリに一旦格納し、次の一群の符号化データを復号してメモリに格納している間に先に復号してメモリに格納してあった２値画データをプリンタヘッドへ転送するという手順が必要である。従って、復号器には少なくとも二つのメモリ (二つのメモリ領域) が接続されており、これらを切り換えつつデータ転送を行なう必要がある。
【０００４】
一方、上述のメモリとプリンタヘッドとの間のデータ転送には転送時間の縮減の目的で DMA転送が一般的に利用される。 DMA転送はCPU の介在無しにデータの転送を行なうことが可能であるため、CPU が介在してデータ転送を行なう場合に比して高速なデータ転送が可能であるが、データの転送元と転送先とはCPU が割り込み処理により指定する必要がある。このため、一群のデータの一つのメモリ (メモリ領域) からの DMA転送が終了した後に次の一群のデータの他のメモリ (メモリ領域) からの DMA転送を開始する時点でCPU による制御が介在せざるを得ないため、データ転送が途切れることになる。従って、一群のデータが複数のラインのデータを含む場合には、個々のラインのデータを転送するタイミングを規定する水平同期信号HSYNC と合致しない状態が生じることになり、その間にCPU による割り込み処理が完了しない場合には水平同期信号HSYNC に同期したデータ転送が不可能になるか、または誤ったデータが転送されてしまうことになる。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、 DMA転送の送信元の切り換え時にCPU が割り込み処理を行なうような場合にも、次のデータを正常に送信し得る画像形成装置のデータ転送制御方法の提供を目的とする。
【０００６】
【課題を解決するための手段】
本発明に係る画像形成装置のデータ転送制御方法は、各ラインの画データを水平同期信号に同期して少なくとも２メモリ領域を交互に切り換えつつ複数ライン分を一単位としてプリンタヘッドへDMA 転送する際に、一単位の画データの転送終了時点でCPU に対して割り込み処理が発生した場合に、次の水平同期信号の発生を、更にその次の水平同期信号の発生時点までに１ライン分の画データの転送が行なわれる範囲内で遅延させることを特徴とする。
【０００７】
このような本発明の画像形成装置のデータ転送制御方法では、各ラインの画データを水平同期信号に同期しつつ少なくとも２メモリ領域から複数ライン分を一単位としてプリンタヘッドへ DMA転送する際に、一単位の画データの転送終了時点で割り込み処理が発生した場合には次の水平同期信号の発生が、更にその次の水平同期信号の発生時点までに１ライン分の画データの転送が行なわれる範囲内で遅延されるため、次の DMA転送の開始が次の水平同期信号の発生時点に遅れるという事態が回避されると共に、その次の水平同期信号の周期の期間内に１ライン分の画データの転送が行なわれ、更にその次の水平同期信号からは本来の発生時点に戻される。
【０００８】
また本発明に係る画像形成装置のデータ転送制御方法は、水平同期信号の発生の遅延は、CPU に対する割り込み処理に応じて設定されることを特徴とする。
【０００９】
このような本発明の画像形成装置のデータ転送制御方法では、CPU による割り込み処理に必要な時間に応じて次の DMA転送の開始が次の水平同期信号の発生時点が遅延されるので、その必要が無い場合には水平同期信号の発生が遅延されることはない。
【００１２】
【発明の実施の形態】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。図１は本発明に係る画像形成装置のデータ転送制御方法の実施に使用されるファクシミリ装置の構成例を示す機能ブロックである。
【００１３】
図１において、参照符号１はファクシミリ装置の制御部として機能するCPU(中央処理装置) を示しており、 LEDプリンタ装置である記録部９を含むこのファクシミリ装置全体の動作を制御するためのプログラム等を予め記憶したROM (Read Only Memory)２と、CPU １による制御に必要なデータ、あるいは動作時に一時記憶が必要なデータ等を記憶するための記憶手段として機能するRAM(Random Access Memory) ３とバス100 で接続されている。なお、RAM ３には適宜の領域に HSDWRレジスタ33及び HSDRDレジスタ32が設定されている。
【００１４】
また、バス100 にはNCU (Network Control Unit)４, モデム５が接続されている。NCU ４は、CPU １により制御されて、回線Ｌとこのファクシミリ装置との接続を制御すると共に、通信相手の電話番号に応じたダイヤルパルスを送出する機能及び着信を検出する機能を有している。なお、回線Ｌは図示されていない一般公衆電話回線に接続されている。モデム５は、送受信データの変復調、具体的には送信データを音声信号に変調してNCU ４を介して回線Ｌへ送出し、また逆に回線ＬからNCU ４を介して受信した音声信号をディジタル信号に復調する。
【００１５】
バス100 には更に、原稿を読み取る読取部６, 符号メモリ７, コーデック(CODEC) ８,  LEDプリンタ装置である記録部９, 操作部10，プリンタ制御部20, カウンタ21等が接続されている。
【００１６】
なお、読取部６はコーデック(CODEC) ８を介してバス100 と接続されている。読取部６はたとえば CCDイメージセンサ等で構成されており、原稿画像の読み取りを行なう。コーデック８は、読取部６が原稿を読み取った結果の白／黒を表すデジタル信号をファクシミリ方式の圧縮画データに符号化する。
【００１７】
符号メモリ７は、読取部６が読み取った符号データを記憶し、また外部から回線Ｌ及びモデム５を介して受信した符号データを記憶する。
【００１８】
コーデック91は上述のコーデック８とは逆に、符号メモリ７から読み出された符号データを元の画データ、即ち通常の２値画データに復号して白／黒を表すデジタル信号に変換する。この白／黒を表すデジタル信号は記録部９に与えられる。記録部９は、詳細は後述するが、受信画データまたは読取部６が読み取った画データを記録紙（用紙）上に印字することにより記録してハードコピー出力を行なう。
【００１９】
操作部10は電話番号等の数字を入力するためのテンキー, ワンタッチキー, 短縮キー, 種々の動作を指示するための操作キー等で構成されている。なお図１には示されていないが、操作部10の操作により入力された電話番号等の種々の情報をソフトコピー出力して表示する CRTディスプレイまたはLCD(液晶表示装置) 等の表示装置も備えられている。
【００２０】
プリンタ制御部20は、CPU １からの指示を受けて記録部９、即ち LEDプリンタ装置の制御を司る。具体的には、CPU １から所定の制御信号が与えられた場合にそれに従って記録部９を動作させるための種々の信号、たとえば水平同期信号HSYNC を発生して出力する。カウンタ21はCPU １による制御に利用される。
【００２１】
次に、 LEDプリンタ装置である記録部９について、図１を参照して説明する。記録部９はバス100 とは前述のコーデック91で接続されている。コーデック91は、符号メモリ７から供給されるファクシミリ符号データを順次的に復号する。このコーデック91により復号された２値画データは、本実施の形態では、ライン単位で53ライン分が画像メモリ92の二つの領域921, 922にそれぞれ交互に一旦格納される。
【００２２】
参照符号910 は DMA回路であり、画像メモリ92の両領域921, 922とプリントデータ処理回路93との間での DMAデータ転送を制御する。具体的には、最初の DMAサイクルにおいては、領域921 に先に格納された53ライン分の２値画データが DMA回路910 によりプリントデータ処理回路93へライン単位で順次的に DMA転送され、その間に符号メモリ７に格納されている符号データをコーデック91が復号して得られる53ライン分の２値画データが領域922 に格納される。そして、次の DMAサイクルにおいては、領域922 に先に格納された53ライン分の２値画データが DMA回路910 によりプリントデータ処理回路93へライン単位で順次的に DMA転送され、その間に符号メモリ７に格納されている符号データをコーデック91が復号して得られる次の53ライン分の２値画データが領域921 に格納される。
【００２３】
プリントデータ処理回路93は上述のようにしてコーデック91経由で画像メモリ92の両領域921, 922から DMA転送されてくる53ライン分の２値画データを所定のタイミングで LEDプリンタヘッド94へ出力する。この結果、 LEDプリンタヘッド94により１ライン単位で図示されていない感光体ドラム上に静電潜像が形成される。なお、プリントデータ処理回路93は、プリンタ制御部20が発生する水平同期信号HSYNC をトリガとして DMA転送依頼信号DRQ を発生し、 DMA回路910 に与える。
【００２４】
以下、上述のようなファクシミリ装置の記録部９、即ち LEDプリンタ装置による画像形成装置のデータ転送制御方法を実施する場合の LEDプリンタ装置の動作ついて、図２のCPU １の制御手順を示すフローチャート、図３及び図４に示されているタイムチャートを参照して説明する。
【００２５】
記録部９によるプリントを行なう場合、まずCPU １からプリンタ制御部20及びプリントデータ処理回路93へ所定の制御信号が与えられてプリント処理の開始が通知され (ステップS11)、最初の DMA転送の転送元 (画像メモリ92のいずれかの領域921, 922) 及び転送先 (プリントデータ処理回路93) が通知される (ステップS12)。この後、CPU １は割り込みがかかるのを待機する (ステップS13)。
【００２６】
図３(a) に示されているように、プリンタ制御部20は水平同期信号HSYNC を周期的に発生してプリントデータ処理回路93に与える。この水平同期信号HSYNC をトリガとして、図３(c) に示されているように、プリントデータ処理回路93は DMA転送依頼信号DRQ を発生して DMA回路910 に与える。なお、水平同期信号HSYNC の周期は約 900μ秒である。
【００２７】
DMA回路910 はこのプリントデータ処理回路93から与えられる DMA転送依頼信号DRQ に応答して、図３(b) に示されているように、画像メモリ92の一方の領域921 （又は922)から各１ライン分の２値画データを順次的に全部で53ライン分プリントデータ処理回路93へ DMA転送する。図３(b) には、52ライン目, 53ライン目の各１ライン分の２値画データが転送されている状態が示されている。
【００２８】
ところで、前述のように本実施の形態では、画像メモリ92の両領域921, 922はそれぞれ53ライン分の２値画データを格納するので、領域921, 922のいずれかからプリントデータ処理回路93へ53ライン分の２値画データが転送されると、 DMA転送の転送元の切り換えを行なう必要があり、これはCPU １による割り込み処理により DMA回路910 に通知される。
【００２９】
具体的には、53ライン目のデータ転送が終了した時点で、図３(d) に示されているように、CPU １に割り込みがかけられ (ステップS13 で”YES ”) 、CPU １はこれに応じてまず割り込み処理に要する時間の予測を行なう (ステップS14)。この予測は、たとえば画像メモリ92の領域921, 922の切り換えは必ず必要な割り込み処理であるが、その他に何らかの割り込み処理も同時に要求されているような場合にも対処するために行なわれる。そして、この予測結果に応じて、CPU １はカウンタ21の設定値”Ｎ”を設定する (ステップS15)。次に、図３(e) に示されているように、CPU １による割り込み処理が行なわれ (ステップS16)、 DMA転送の転送元の切り換えと、更にその他の割り込み処理の要求があればそれも行なわれる。
【００３０】
この後、CPU １は割り込み処理が終了し (ステップS17 で”YES ”) 、カウンタ21のカウンタ値が設定値”Ｎ”に達すると (ステップS21 で”YES ”) 、遅延信号を解除する (ステップS22)。これにより、プリントデータ処理回路93は水平同期信号HSYNC を発生する。この後はCPU １は次の割り込みがかかるのを待機する。また、割り込み処理が終了する以前にカウンタ21のカウンタ値が設定値”Ｎ”に達した場合には (ステップS17 で”NO”, ステップS18 で”YES ”) 、CPU １は遅延信号を解除し (ステップS19)、その後に割り込み処理が終了すると (ステップS20 で”YES ”) 、次の割り込みがかかるのを待機する。
【００３１】
ところで、上述のCPU １による割り込み処理には約 600μ秒必要である。一方、ファクシミリ通信の場合の１ラインの画素数は4096画素に国際規格で定められているため、８MHz で２値画データの転送を行なう場合には１ライン分の転送に 512μ秒が必要である。従って、53ライン目の DMA転送が終了した後に画像メモリ92の領域921, 922の切り換えのためのCPU １による割り込み処理が約 600μ秒の期間にわたって行なわれると、図３(e) に示されているように、水平同期信号HSYNC の周期である約 900μ秒を大きく超過してしまう。一方、 DMA回路910 は次の水平同期信号HSYNC の発生をトリガとして DMA転送依頼信号DRQ を発生するので、図３(d) に示されているように、そのままでは画像メモリ92の領域921, 922の切り換えが行なわれないままに DMA転送を再開するので、本来とは異なるデータがプリントデータ処理回路93へ転送されてしまう。
【００３２】
そこで本発明方法では、図３(g) に示されているように、CPU １に対して割り込みがかけられると同時にカウンタ21を起動し (ステップS16)、図３(f) に示されているように、そのカウンタ値が設定値”Ｎ”に達するまでの期間においては遅延信号を発生することによりプリントデータ処理回路93での水平同期信号HSYNC の発生を遅延させる。この結果、カウンタ値が設定値”Ｎ”に達した時点で (ステップS18 で”YES ”) 、図３(h) に示されているように、プリントデータ処理回路93が水平同期信号HSYNC を発生し、これに伴って図３(j) に示されているように、 DMA転送依頼信号DRQ が DMA回路910 に与えられ、図３(i) に示されているように、画像メモリ92の新たな領域922 （又は922)から次の53ライン分の２値画データの DMA転送が開始される。
【００３３】
但し、水平同期信号HSYNC は LEDプリンタヘッド94での各１ライン分のデータの出力タイミングと同期しており、このタイミングは変更不可能であるため、プリントデータ処理回路93が出力する DMA転送のための水平同期信号HSYNC を順次的に遅延させることは出来ず、あくまでもCPU １による割り込み処理の際に一つのみを遅延させる。従って、次の新たな53ライン分の２値画データの２ライン目の転送は水平同期信号HSYNC の本来の発生タイミングで行なう必要がある。換言すれば、次の新たな53ライン分の２値画データの１ライン目の転送は次の水平同期信号HSYNC の本来の発生タイミングまでに終了している必要がある。このような事情から、水平同期信号HSYNC を遅延させるためのカウンタ21の設定値”Ｎ”には自ずと上限がある。従って、上述のような本発明方法では、CPU １による割り込み処理が長引いた場合には次の DMA転送の開始が次の水平同期信号HSYNC の発生時点に間に合わない場合があるため、その場合には一旦処理を中止して再処理を行なう。
【００３４】
図４に示されているタイムチャートは上述のような本発明方法を実施した結果を示している。具体的には、図４はCPU １による割り込み処理が終了する以前に次の水平同期信号HSYNC が発生した場合を一点鎖線で、CPU １による割り込み処理が終了した後に次の水平同期信号HSYNC が発生した場合を実線でそれぞれ示している。
【００３５】
図４(a) に示されているように、転送終了割り込み信号が発生した時点で前述のように、また図４(b) に示されているように、CPU １による割り込み処理が開始されるが、同時に、図４(c) に示されているように、CPU １は HSDWRレジスタ33に”１”を書き込む。この後、CPU １は割り込み処理が終了すると HSDWRレジスタ33に”０”を書き込み、更にカウンタ21のカウンタ値が設定値”Ｎ”に達すると遅延信号を解除する。これによりプリントデータ処理回路93は水平同期信号HSYNC を発生する。なお、割り込み処理が終了しないままにカウンタ21のカウンタ値が設定値”Ｎ”に達した場合には、CPU １は遅延信号を解除する。これによりプリントデータ処理回路93は水平同期信号HSYNC を発生する。そして、CPU １は割り込み処理が終了すると HSDWRレジスタ33に”０”を書き込む。
【００３６】
そして、図４(e) に示されているように、プリントデータ処理回路93が次に水平同期信号HSYNC を発生すると、図４(d) に示されているように、CPU １はその時点の HSDWRレジスタ33の保持内容を読み出して HSDRDレジスタ32に書き込む。従って、図４(d) 及び(e) に実線にて示されているように、CPU １による割り込み処理がプリントデータ処理回路93が次に水平同期信号HSYNC を発生する以前に終了した場合には HSDRDレジスタ32は”０”を保持しており、逆に、図４(d) 及び(e) に一点鎖線にて示されているように、CPU １による割り込み処理がプリントデータ処理回路93が次に水平同期信号HSYNC を発生した時点で未だ終了していない場合には HSDRDレジスタ32は”１”を保持している。
【００３７】
CPU １は、割り込み処理が終了した後の最初のプリントデータ処理回路93が水平同期信号HSYNC を発生したタイミングの直後に HSDRDレジスタ32の内容を読み出すことにより、割り込み処理が次の水平同期信号HSYNC の発生タイミングに間に合ったか否かを知ることが出来るため、間に合わなかった場合、即ち HSDRDレジスタ32の内容が”１”であった場合には、その時点でそのページのプリント処理を中断して再処理を行なう。
【００３８】
なお上述の実施の形態においては、CPU １に対する割り込み処理に応じて水平同期信号HSYNC の必要な遅延時間を予測し、それに対応するカウンタ21のカウンタ値が設定値”Ｎ”を設定することとしているが、割り込み処理に必要な時間が基本的には一定であるような場合にはカウンタ21の設定値”Ｎ”は固定値としてもよい。
【００３９】
また、CPU １が割り込み処理の終了と共に割り込み処理終了信号を発生するように構成し、それによってカウンタ21のカウンタ値には拘らずに水平同期信号HSYNC の遅延を停止して次の水平同期信号HSYNC を発生するようにしてもよい。この場合には、水平同期信号HSYNC の必要な遅延時間の予測値が過大であったような場合にも、CPU １による割り込み処理の終了と共に水平同期信号HSYNC の遅延が解除される。
【００４０】
【発明の効果】
以上に詳述したように本発明の画像形成装置のデータ転送制御方法によれば、各ラインの画データを水平同期信号に同期して少なくとも２メモリ領域から複数ライン分を一単位としてプリンタヘッドへ DMA転送する際に、一単位の画データの転送終了時点で次の水平同期信号の発生が遅延されるため、次の DMA転送の開始が次の水平同期信号に遅れるという事態が回避される。また本発明の画像形成装置のデータ転送制御方法によれば、水平同期信号の周期を延長する場合においても、その次の水平同期信号の周期の期間内に１ライン分の画データの転送が行なわれると共に、更にその次の水平同期信号からは本来の発生時点に戻される。
【００４１】
また本発明の画像形成装置のデータ転送制御方法によれば、CPU による割り込み処理に必要な時間に応じて次の DMA転送の開始が次の水平同期信号の発生時点が遅延されるので、その必要が無い場合には水平同期信号の発生が遅延されることはない。
【図面の簡単な説明】
【図１】本発明に係る画像形成装置のデータ転送制御方法が適用される LEDプリンタ装置をファクシミリ装置に適用した場合の一構成例を示す機能ブロックである。
【図２】本発明に係る画像形成装置のデータ転送制御方法の制御手順を示すフローチャートである。
【図３】本発明に係る画像形成装置のデータ転送制御方法を実施した場合のタイムチャートである。
【図４】本発明に係る画像形成装置のデータ転送制御方法を実施した場合のタイムチャートである。
【符号の説明】
１  CPU 、９  記録部、20  プリンタ制御部、21  カウンタ、91  コーデック、910  DMA回路、 92 画像メモリ、94   LEDプリンタヘッド。
【図１】
0004042178.tif 000002
【図２】
0004042178.tif 000003
【図３】
0004042178.tif 000004
【図４】
0004042178.tif 000005