JP2007034488A - Dma制御装置及びその方法 - Google Patents
Dma制御装置及びその方法 Download PDFInfo
- Publication number
- JP2007034488A JP2007034488A JP2005214334A JP2005214334A JP2007034488A JP 2007034488 A JP2007034488 A JP 2007034488A JP 2005214334 A JP2005214334 A JP 2005214334A JP 2005214334 A JP2005214334 A JP 2005214334A JP 2007034488 A JP2007034488 A JP 2007034488A
- Authority
- JP
- Japan
- Prior art keywords
- address
- dma
- ring buffer
- jump
- control unit
- 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
Links
Images
Abstract
【課題】 順方向に格納されたリングバッファ仕様のビットマップデータに対して、パラメータ設定のみで左右スキャン及び表裏面印刷の何れの場合にも簡易に対応することができるDMA制御装置及びその方法を提供する。
【解決手段】 1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納したリングバッファにおける先頭アドレス及び終了アドレスの跨ぎの発生の有無を判別する。また、前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、リングバッファの先頭アドレス及び終了アドレスの跨ぎの発生の有無を判別する。そして、そのアドレス飛び越しがリングバッファの終了アドレスから先頭アドレスへの跨ぎか、その逆かを判別する。そして、現在のDMAアドレスから、リングバッファの終了アドレス及び先頭アドレスの設定値までの残容量を検出する。
【選択図】 図2
【解決手段】 1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納したリングバッファにおける先頭アドレス及び終了アドレスの跨ぎの発生の有無を判別する。また、前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、リングバッファの先頭アドレス及び終了アドレスの跨ぎの発生の有無を判別する。そして、そのアドレス飛び越しがリングバッファの終了アドレスから先頭アドレスへの跨ぎか、その逆かを判別する。そして、現在のDMAアドレスから、リングバッファの終了アドレス及び先頭アドレスの設定値までの残容量を検出する。
【選択図】 図2
Description
本発明は、メモリと周辺装置との間のデータ転送をDMA(Direct Memory Access)方式で行うDMA制御装置及びその方法に関する。
従来から、メモリと周辺装置との間のデータ転送を、CPUを介さずにDMA方式で行うことは、例えば印字制御装置においてよく行われている。また、使用するメモリ領域の削減、及びアドレスの非連続性から来る画像データの再格納をさせないためのバッファメモリとして、リングバッファ形式を用いることも一般的である。
さらに、近年の印字制御装置の低コスト化に伴い、レーザー光路上にあるミラーの個数を減らしてスキャン方向を通常の逆方向、すなわち、記録紙の右側から左側へスキャンする構成の印字制御装置も市場に提供され始めている。
図4は、従来のDMA制御装置を用いた印刷制御装置の構成を示すブロック図である。図4を用いて、従来のDMA制御装置において、右スキャン対応の印字制御装置を使用する場合について説明する。図4では、プリントエンジン部103に出力するビデオ信号のベースとなるビットマップデータは、描画制御部111にて定義されている方向(すなわち、左スキャン方向)に格納されている。
そのため、一構成例としては、外部の記憶装置(例えば、MRAM115及びBRAM116)内のビットマップデータをライン単位に分割する。そして、そのStartPoint(左側)とEndPoint(右側)を入れ替えたデータに書き替えて、圧縮/伸長制御部110及びビデオI/F制御部113に出力する。或いは、別の構成例としては、ラインバッファ部118のような回路ブロックを圧縮/伸長制御部110とビデオI/F制御部113の間に追加する。そして、圧縮/伸長制御部110の出力するビットマップデータを一旦ライン単位でラインバッファ部118に格納する。そして、ラインバッファのStartPointとEndPointを入れ替えてビデオ制御部113に出力する。
次に、印字制御装置に対して両面印刷が指定された場合について説明する。裏面印刷時には、プリントエンジン部103に出力するビデオ信号のベースとなるビットマップデータは描画制御部111にて定義されている方向(すなわち、表面印刷に対して上→下の方向)にページ単位で格納されている。そこで、外部の記憶装置内のビットマップデータをライン単位に分割し、そのラインデータ毎、上下入れ替えたデータに書き替える。そして、圧縮/伸長制御部110及びビデオ制御部113、若しくはラインバッファ部118に出力する。
特開平9−190308号公報
しかしながら、上記従来例では、ラインバッファ部118を追加することで、その前後に位置する回路ブロックとのI/Fをとらなければならない。また、ASIC104の回路規模が増えるため、回路構成が複雑になるという欠点があった。
また、右スキャン対応の印字制御装置を使用する場合の、外部の記憶装置に対するビットマップデータの左右入れ替え処理の1ページ処理時間中に占める割合が大きかった。また、裏面印刷時の、ページ単位のビットマップデータの上下入れ替え処理の1ページ処理時間中に占める割合が大きかった。そのために、印字制御装置全体のパフォーマンス劣化につながるという欠点があった。
さらに、外部の記憶装置について前述のリングバッファ形式を用いた場合には、従来のDMA制御装置の構成では、ビットマップデータの入れ替え処理が更に複雑になるという欠点があった。
本発明は、このような事情を考慮してなされたものであり、以下に示すようなDMA制御装置及びその方法を提供することを目的とする。すなわち、順方向に格納されたリングバッファ仕様のビットマップデータに対して、パラメータ設定のみで左右スキャン及び表裏面印刷の何れの場合にも簡易に対応することができるようにする。
上記課題を解決するため、本発明は、リングバッファに格納された画像データの周辺装置へのデータ転送をDMA方式で行うDMA制御装置であって、
1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納した前記リングバッファにおける先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第1の判別手段と、
前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、前記リングバッファの先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第2の判別手段と、
前記第1及び第2の判別手段によってアドレス飛び越しが発生したと判別された場合、該アドレス飛び越しが前記リングバッファの終了アドレスから先頭アドレスへの跨ぎか、先頭アドレスから終了アドレスへの跨ぎかを判別する第3の判別手段と、
現在のDMAアドレスに基づいて、前記リングバッファの終了アドレス及び先頭アドレスの設定値までの該リングバッファの残容量を検出する検出手段と
を備えることを特徴とする。
1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納した前記リングバッファにおける先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第1の判別手段と、
前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、前記リングバッファの先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第2の判別手段と、
前記第1及び第2の判別手段によってアドレス飛び越しが発生したと判別された場合、該アドレス飛び越しが前記リングバッファの終了アドレスから先頭アドレスへの跨ぎか、先頭アドレスから終了アドレスへの跨ぎかを判別する第3の判別手段と、
現在のDMAアドレスに基づいて、前記リングバッファの終了アドレス及び先頭アドレスの設定値までの該リングバッファの残容量を検出する検出手段と
を備えることを特徴とする。
また、本発明に係る上記DMA制御装置は、前記第2の判別手段によってアドレス飛び越しが発生したと判別された場合、前記検出手段によって検出された前記リングバッファの残容量を次ライン処理のためのアドレス更新量から減算した容量をアドレス飛び越し先からさらに減算する補正手段をさらに備えることを特徴とする。
さらに、本発明に係る上記DMA制御装置は、前記リングバッファに格納された前記画像データに対する出力設定に基づいて、前記第1、第2及び第3の判別手段、前記検出手段、及び前記補正手段の動作を切り替える切替手段をさらに備えることを特徴とする。
さらにまた、本発明に係る上記DMA制御装置は、
前記画像データの記録紙に対する記録方向を指定する第1の指定手段と、
前記画像データの前記記録紙の記録処理が該記録紙の表面への記録処理であるか裏面への記録処理であるかを指定する第2の指定手段とをさらに備え、
前記切替手段は、前記第1及び第2の指定手段による指定に基づく前記出力設定に基づいて切替処理を行うことを特徴とする。
前記画像データの記録紙に対する記録方向を指定する第1の指定手段と、
前記画像データの前記記録紙の記録処理が該記録紙の表面への記録処理であるか裏面への記録処理であるかを指定する第2の指定手段とをさらに備え、
前記切替手段は、前記第1及び第2の指定手段による指定に基づく前記出力設定に基づいて切替処理を行うことを特徴とする。
本発明によれば、順方向に格納されたリングバッファ仕様のビットマップデータに対して、パラメータ設定のみで左右スキャン及び表裏面印刷の何れの場合にも簡易に対応することができる。
以下、図面を参照して、本発明の一実施形態に係るDMA制御装置の構成及び動作について詳細に説明する。
図1は、本発明の一実施形態に係るDMA制御装置を用いた印字制御装置の構成を示すブロック図である。図1において、101は、外部装置102から供給される各種入力情報(PDL・イメージ)を処理し、プリントエンジン部103にビデオ信号を出力するプリントコントロール部である。外部装置102は、IEEE1284、USB等所定の外部インターフェースを介してプリントコントロール部101と接続され、各種アプリケーションの記録情報を送出する。尚、外部インターフェースとしては、LAN等のネットワークを介する処理であっても有効であることは言うまでもない。プリントエンジン部103は、プリントコントロール部101からの出力ビデオ信号をもとに、記録媒体となる記録紙に画像形成する。
次に、プリントコントロール部101内の構成について説明する。104は、外部装置102、プリントエンジン部103及び外部素子に対するアクセス制御全般を行い、且つ画像処理機能も含む高集積回路であるASICである。また、105は、CPU114と各種デバイス間のアクセスを制御するCPU制御部である。さらに、106は、MRAM115へのアクセス全般を制御し、且つ各種デバイスからのDMAアクセスの調停機能をもつMRAM制御部である。さらにまた、107は、ROM117へのアクセス全般を制御するROM制御部である。さらにまた、108は、外部装置102との通信制御、及び入力情報から描画処理可能な形式に変換を行うホストI/F制御部である。
また、109は、BRAM116へのアクセス全般を制御し、且つ各種デバイスからのDMAアクセスの調停機能をもつBRAM制御部である。さらに、110は、圧縮/伸長制御部であり、MRAM115及びBRAM116の容量増加を回避するために、印字出力情報をJBIG等のアルゴリズムで圧縮して一旦格納する。そして、圧縮/伸長制御部は、それを伸長して後段のビデオI/F制御部113に送出する。
さらに、111は、MRAM115上に構成された描画コマンドリストから各種ビットマップデータを作成して、それを指定位置および指定論理でBRAM116上に描画するための制御全般を行う描画制御部である。さらにまた、112は、VH回転器であり、描画制御部111の作成したBRAM116上のバンドレベルのビットマップデータを基本となるブロック単位に分割する。そして、VH回転器112は、それを更に複数の回転単位に分割して、その回転単位毎に縦横変換をかけ、90度、180度若しくは270度回転した新たなビットマップデータを生成する。
さらにまた、113は、本発明の一実施形態に係るDMA制御装置を含むビデオI/F制御部である。ビデオI/F制御部113は、プリントエンジン部103と通信制御を行い、同期信号をやり取りする。これにより、ビデオI/F制御部113は、外部の記憶装置上のビットマップデータから、若しくは圧縮/伸長制御部110の伸長データからシリアルなビデオ信号を出力する。尚、ビデオI/F制御部113の詳細な構成図は図2に示す。
さらにまた、114は、ROM117上の制御プログラムに基づき、内部メインバスに接続される各種デバイスのアクセスを総括的に制御するCPUである。さらにまた、115は、CPU114の主メモリとして機能し、且つ描画処理に係るワーク領域や印字出力情報の展開領域に使用される読み書き可能な記憶装置であるMRAMである。さらにまた、116は、描画制御部111で解析/処理し、その結果作成されるバンドレベルのビットマップデータの展開領域として使用される読み書き可能な記憶装置であるBRAMである。さらにまた、117は、CPU114の制御プログラムや、印字出力情報生成の際に使用されるフォントデータを格納する読み出し可能な記憶装置であるROMである。
図2は、本発明の一実施形態に係るDMA制御装置を含む特徴的なビデオI/F制御部113の細部構成を示すブロック図である。以下、図2を用いて、ビデオI/F制御部113の細部について説明する。201は、MRAM制御部106若しくはBRAM制御部109とDMAでデータの受け渡しを行い、SHIPPING制御部202と同期をとりながら内部のFIFOを経由してデータを送信するSHIP_DMA制御部である。202は、プリントエンジン部103と通信制御を行い、同期信号をやり取りする一方、印字領域に関する各種パラメータをセットして記録紙上に印字するビデオ信号を生成するSHIPPING制御部である。
また、図2において、203は、CPU制御部106との間でビデオI/F制御部113用のIOレジスタを制御するSHIPレジスタ部である。さらに、204は、SHIP_DMA制御部201全体の動作の起動・クリアを管理するDMA起動/クリア部である。さらに、205は、MRAM制御部106若しくはBRAM制御部109とDMAリクエスト及びDMAアクノリッジをやり取りしハンドシェークを行うDMAリクエストハンドシェーク部である。DMAリクエストハンドシェーク部205は、さらに、FIFO部208の書き込みアドレス管理、DMAアドレス制御部207とDMAアドレスパラメータのやり取りを行う。
さらに、206は、SHIP_DMA制御部201全体の動作シーケンスを管理し、SHIPPING制御部202とタイミングをとりながら各ブロックにイネーブル情報を出力するDMAシーケンス部である。207は、DMAアドレス制御部であり、DMA起動信号をトリガにして、DMAリクエストに相当するDMAアドレスを生成する。且つ、DMAアドレス制御部207は、Video生成部210にLine先頭ロード信号及びLine先頭カットデータ幅を出力する。さらに、DMAアドレス制御部207は、リングバッファのアドレス空間管理及び次ライン処理のためのアドレス更新量の管理を行う。
さらにまた、208は、MRAM制御部106若しくはBRAM制御部109からDMAデータを受け取り、DMAリクエストハンドシェーク部205が管理するアドレスパラメータに基づき書き込みを行うFIFO部である。さらにまた、209は、記録紙上の縦横座標を管理し、ライン終了及びバンド終了信号をSHIP_DMA制御部201内の各ブロックに出力するParameter制御部である。さらにまた、210は、Parameter制御部209からの情報に基づき、FIFO部208のデータを取り込み、パラレルシリアル変換を行いVideo信号を生成するVideo生成部である。
図3は、DMAアドレス制御部207の細部構成を示すブロック図である。図3において、301はアドレスセレクト部である。アドレスセレクト部301によって選択されるDMAアドレスには次のようなものがある。SHIPレジスタ部203で設定されるバンドレベルでのDMAスタートアドレス。Nextアクセス制御部305が発生する、次アクセス用に更新したDMAアドレス。オフセット制御部304が発生する、次ライン用にアドレス更新量(オフセット量)を更新したDMAアドレス。そして、アドレスセレクト部301は、これらのDMAアドレスの何れかを選択する。
また、302は、アドレスセレクト部301で選択されたDMAアドレスをセットしてDMAアクセス用のアドレスを生成するアドレスセット部である。さらに、303は、アドレスセット部302で生成されたDMAアドレスからスタートアドレス情報を生成するスタートアドレス制御部である。スタートアドレス制御部302での当該処理は、DMAアドレス制御部207とDMAリクエストハンドシェーク部205間で規定されたアドレスパラメータに合致させるために行われる。さらにまた、304は、リングバッファの先頭アドレス及び終了アドレスの跨ぎが発生するか否かを判別して、次ライン用にアドレス更新量(オフセット量)を更新したDMAアドレスを発生するオフセット制御部である。この処理は、アドレスセット部302で生成されたDMAアドレスから、前ライン処理終了後、次ライン処理に至るまでにDMAアドレスの更新を行う場合に行われる。
さらに、305は、リングバッファの先頭アドレス及び終了アドレスの跨ぎが発生するか否かを判別して、次アクセス用に更新したDMAアドレスを発生するNextアクセス制御部である。この処理は、アドレスセット部302で生成されたDMAアドレスから、1ライン内で継続してDMA処理を行う場合に行われる。さらにまた、306は、SHIPレジスタ部203からのバンドサイズ情報を基に、アドレスセット部302で生成されたDMAアドレスからエンドアドレス情報を生成するエンドアドレス制御部である。この処理は、DMAアドレス制御部207とDMAリクエストハンドシェーク部205間で規定されたアドレスパラメータに合致させるために行われる。
さらにまた、307は、アドレス生成部である。アドレス制御部307は、スタートアドレス制御部303及びエンドアドレス制御部306が生成するDMAアクセス用のスタート/エンドアドレスから、DMAリクエストハンドシェーク部205にDMAアドレスパラメータを送信する。そして、アドレス制御部307は、Video生成部210にLine先頭ロード信号及びLine先頭カットデータ幅を出力する。
次に、上記構成に基づいて、本発明の一実施形態に係るDMA制御装置の動作例について図5及び図6A、Bを用いて説明する。図5は、リングバッファ上の画像データとDMAアドレス進行方向の相関を示す図である。また、図6A、Bは、本発明の一実施形態に係るDMA制御装置の動作を説明するためのフローチャートである。
<実施例1>
まず、本実施形態に係るDMA制御装置を含む印字制御装置を動作させる。そのために、現在接続されているプリントエンジン部103固有の記録紙に対する画像データのスキャン方向、及び記録紙の表面/裏面のどちらに印字するかを指定する印刷面指定をSHIPレジスタ部203により設定する(S601)。また、外部の記憶装置であるMRAM115若しくはBRAM116がリングバッファ形式になっているので、そのスタートアドレス及びエンドアドレスをSHIPレジスタ部203により設定する(S602)。すなわち、印字出力情報の展開領域として、スタートアドレスとエンドアドレスの間のメモリ空間を循環する構成となる。
まず、本実施形態に係るDMA制御装置を含む印字制御装置を動作させる。そのために、現在接続されているプリントエンジン部103固有の記録紙に対する画像データのスキャン方向、及び記録紙の表面/裏面のどちらに印字するかを指定する印刷面指定をSHIPレジスタ部203により設定する(S601)。また、外部の記憶装置であるMRAM115若しくはBRAM116がリングバッファ形式になっているので、そのスタートアドレス及びエンドアドレスをSHIPレジスタ部203により設定する(S602)。すなわち、印字出力情報の展開領域として、スタートアドレスとエンドアドレスの間のメモリ空間を循環する構成となる。
そして、SHIP_DMA制御部201のDMAリクエストハンドシェーク部205に、記録紙に印字出力する1バンドあたりのデータ量すなわちSHIP_DMAの回数を設定する(S603)。次に、DMAアドレス制御部207にSHIP_DMAスタートアドレスを設定する。さらに、SHIPPINGに必要な各種パラメータをParameter制御部209に設定する(S604)。
本実施例では、前述したスキャン方向指定及び印刷面指定により、プリントエンジン部103のスキャン方向が左スキャンで且つ表面印刷の場合について説明する(図5における(1))。これは、図6AのS605でYes、S608でYesの場合である。尚、これは、プリントエンジン部103のスキャン方向が右スキャンで且つ裏面印刷の場合と同様である(図5における(4))。これは、図6AのS605でNo、S607でNoの場合である。
プリントエンジン部103が右スキャンの場合、SHIPPINGパラメータ中の横幅設定(印字領域の横幅に相当)とは別に、SHIP_DMAのライン間オフセット数をオフセット制御部304に対して行う(S606)。具体的には、図5に示すように、SHIPPINGパラメータ中の横幅設定の2倍(印字領域の2ライン分)をセットする。
そして、毎ラインの先頭でFIFO部208のどのアドレスに格納されているデータからパラレルシリアル変換を行うかを指定する、Line先頭カットデータ幅及びLine先頭ロード信号をVideo生成部210にセットする。
以上のように、各ブロックに必要なパラメータがセットされた上で印刷を開始すると、DMA起動/クリア部204は、起動信号を各ブロックに出力しSHIP_DMAが開始される。一方、SHIPPING制御部202は、プリントエンジン部103と通信制御を行って同期信号をやり取りすることで、印字領域と出力用紙の整合をとる。
SHIP_DMAが開始されると、MRAM制御部106若しくはBRAM制御部109経由でDMAデータを取り込みFIFO部208に格納する。そして、Video生成部210は、そのデータをLine先頭カットデータ幅に相当するアドレスからLine先頭ロード信号でロードして取り込み印字出力(SHIPPING)する(S610)。
上記SHIP_DMAにあたり、上述した場合には、1ラインSHIPPING中には、記録紙の左側から右側への遷移、すなわち描画制御部111で定義されている方向と同一方向に遷移する。これは、図6Aにおいて、S611でYesかつS614でYesの場合、或いは、S611でNoかつS612でNoの場合である。そのため、Nextアクセス制御部305で生成する次アクセス用のDMAアドレスは、インクリメント動作をする(S615)。尚、上述した場合とは、プリントエンジン部103のスキャン方向が左スキャンで且つ表面印刷の場合(図5における(1))、及びプリントエンジン部103のスキャン方向が右スキャンで且つ裏面印刷の場合(図5における(4))である。
ここで、先に設定したリングバッファのエンドアドレスを次アクセス用のDMAアドレスが跨いだ場合について説明する。これは、図6Aにおいて、S618でYesでS617で処理した場合である。この場合は、Nextアクセス制御部305内の第1のアドレス飛び越し判別手段により、直ちに次アクセス用のDMAアドレスをリングバッファのスタートアドレスに更新するよう動作する。
そして、上記動作を1ライン分継続した時点で、1バンドのSHIPPINGが終了していない場合に次ラインの処理に入る。その際、プリントエンジン部103が右スキャンの場合、すなわち図5の(4)の場合には、ライン間オフセット演算処理に入る(S626)。具体的には、オフセット制御部304にて、先述した印字領域の2ライン分に相当するオフセットデータを、アドレスセット部302が生成するDMAアドレスに対して減算する。これは、図5の(4)の場合には、主走査方向にはインクリメントするが、副走査方向は、描画制御部111で定義されている方向とは逆であるためである。
ここで、図5の(4)の場合に、オフセット演算時にリングバッファのスタートアドレスを跨いだ場合について説明する(S624)。この場合、オフセット制御部304内の第2のアドレス飛び越し判別手段により、リングバッファの総数とアドレスセット部302が生成するDMAアドレスのポインタから、リングバッファの容量がどのくらい残っているかを検出する。尚、リングバッファの総数とは、スタートアドレスからエンドアドレスまでである。
そして、第2のアドレス飛び越しが発生したと判断した場合には、オフセットデータから前述のリングバッファ残量数を減算する。そして、アドレス飛び越し先(本実施例では、リングバッファのエンドアドレス)から先述の結果をさらに減算して、次ライン用の新たなDMAアドレスに更新するよう動作する。
上述した1ライン中処理及びライン間処理を、当該バンド中のライン数分だけ繰り返して、先にセットした、SHIPPINGする1バンドあたりのデータ量すなわちSHIP_DMAの回数分だけ処理する。これにより、当該バンドの処理が終了し、本DMA制御装置は次バンドの処理に移る。もちろん、次バンド処理についても、前記同様の処理を行うこととなる。
以上説明したように、本実施例によれば、描画制御部111で一旦順方向(主走査方向:左→右、副走査方向:上→下)にリングバッファ仕様のビットマップデータが格納される。そして、当該データに対して、SHIPレジスタ部203へのパラメータ設定のみで、DMAアドレス処理がインクリメント動作する。この場合において、1ライン中処理及び1ライン間処理の何れかでリングバッファの端部を跨いだ時にハードウェアで簡易に対応可能である。
<実施例2>
上記実施例1においては、図5における(1)、(4)の場合を説明した。次に、スキャン方向及び印刷面の残りの組み合わせについて説明する。すなわち、実施例2では、プリントエンジン部103のスキャン方向が左スキャンで且つ裏面印刷の場合(図5における(2))について説明する。尚、プリントエンジン部103のスキャン方向が右スキャンで且つ表面印刷の場合(図5における(3))についても同様である。以下に、実施例2における動作について説明する。
上記実施例1においては、図5における(1)、(4)の場合を説明した。次に、スキャン方向及び印刷面の残りの組み合わせについて説明する。すなわち、実施例2では、プリントエンジン部103のスキャン方向が左スキャンで且つ裏面印刷の場合(図5における(2))について説明する。尚、プリントエンジン部103のスキャン方向が右スキャンで且つ表面印刷の場合(図5における(3))についても同様である。以下に、実施例2における動作について説明する。
まず、本DMA制御装置を含む印字制御装置を動作させる。このために、現在接続されているプリントエンジン部103固有となる記録紙に対する画像データのスキャン方向、及び記録紙の表面/裏面のどちらに印字するかを指定する印刷面指定をSHIPレジスタ部203により設定する。また、外部の記憶装置であるMRAM115若しくはBRAM116が、リングバッファ形式になっているので、そのスタートアドレス及びエンドアドレスをSHIPレジスタ部203により設定する。すなわち、印字出力情報の展開領域として、スタートアドレスとエンドアドレスの間のメモリ空間を循環する構成となる。
そして、SHIP_DMA制御部201のDMAリクエストハンドシェーク部205に、記録紙に印字出力する1バンドあたりのデータ量、すなわちSHIP_DMAの回数を設定する。次に、DMAアドレス制御部207にSHIP_DMAスタートアドレスを設定する。さらに、SHIPPINGに必要な各種パラメータをParameter制御部209に設定する。
プリントエンジン部103が右スキャンの場合には、SHIPPINGパラメータ中の横幅設定(印字領域の横幅に相当)とは別に、SHIP_DMAのライン間オフセット数をオフセット制御部304に対して行う。具体的には、図5に示したように、SHIPPINGパラメータ中の横幅設定の2倍(印字領域の2ライン分)をセットする。
そして、毎ラインの先頭でFIFO部208のどのアドレスに格納されているデータからパラレルシリアル変換を行うかを指定する、Line先頭カットデータ幅及びLine先頭ロード信号をVideo生成部210にセットする。
以上までは、前述した実施例1と全く同様の動作である。本実施例では、その後に、SHIP_DMAスタートアドレス及びリングバッファのスタートアドレス/エンドアドレスをビット反転してDMAアドレス制御部207の各部にセットする。これにより、実施例1での回路構成を多少変更するだけで、本実施例の動作にも対応可能となる。
以上のように各ブロックに必要なパラメータがセットされた上で印刷を開始すると、DMA起動/クリア部204は、起動信号を各ブロックに出力し、SHIP_DMAが開始される。一方、SHIPPING制御部202は、プリントエンジン部103と通信制御を行い同期信号をやり取りすることで、印字領域と出力用紙の整合をとる。
SHIP_DMAが開始されると、MRAM制御部106若しくはBRAM制御部109経由でDMAデータを取り込み、FIFO部208に格納する。Video生成部210は、そのデータをLine先頭カットデータ幅に相当するアドレスからLine先頭ロード信号でロードして取り込み印字出力(SHIPPING)する。
上記SHIP_DMAにあたり、プリントエンジン部103のスキャン方向が左スキャンで且つ裏面印刷の場合(図5における(2))について説明する。尚、この場合は、プリントエンジン部103のスキャン方向が右スキャンで且つ表面印刷の場合(図5における(3))の場合と同様である。すなわち、図5に示したように、1ラインSHIPPING中には記録紙の右側から左側への遷移、すなわち描画制御部111にて定義されている方向と逆方向に遷移する。したがって、Nextアクセス制御部305で生成する次アクセス用のDMAアドレスは、デクリメント動作をする。
ただし、SHIP_DMAスタートアドレスは、ビット反転してDMAアドレス制御部207の各部にセットされているので、Nextアクセス制御部305内のカウンタ動作は実施例1と共通である。
ここで、Nextアクセス制御部305内の第1のアドレス飛び越し判別手段により、先に設定したリングバッファのスタートアドレスを次アクセス用のDMAアドレスが跨いだ場合について説明する。この場合は、直ちに次アクセス用のDMAアドレスをリングバッファのエンドアドレスに更新するよう動作する。SHIP_DMAスタートアドレスは、ビット反転してDMAアドレス制御部207の各部にセットされている。そのため、Nextアクセス制御部305内でのアドレス比較のために、リングバッファのスタートアドレス/エンドアドレスもビット反転してセットしていることは言うまでもない。
そして、上記動作を1ライン分継続した時点で、1バンドのSHIPPINGが終了していない場合に次ラインの処理に入る。その際、プリントエンジン部103が右スキャンの場合、すなわち図5の(3)の場合には、ライン間オフセット演算処理に入る。
具体的には、オフセット制御部304で、先述した印字領域の2ライン分に相当するオフセットデータを、アドレスセット部302が生成するDMAアドレスに対して加算する。但し、アドレスセット部302が生成するDMAアドレスもビット反転しているので、実際にはオフセットデータを減算することで実現でき、実施例1と同様の回路構成で構わない。図5に示したとおり、(2)の場合は主走査方向/副走査方向の両方向で完全にアドレスデクリメント動作をしているため、SHIP_DMAスタートアドレスをビット反転する事で対応可能である。しかし、(3)の場合には、主走査方向にはデクリメントして、副走査方向は描画制御部111にて定義されている方向と同じであるためである。
ここで(3)の場合に、オフセット演算時にリングバッファのエンドアドレスを跨いだ時について説明する。この場合、オフセット制御部304内の第2のアドレス飛び越し判別手段により、リングバッファの総数とアドレスセット部302が生成するDMAアドレスのポインタから、リングバッファの容量がどのくらい残っているかを検出する。尚、リングバッファの総数とは、スタートアドレスからエンドアドレスまでをいう。そして、第2のアドレス飛び越しが発生したと判断した場合には、オフセットデータから前述のリングバッファ残量数を減算する。そして、アドレス飛び越し先(本実施例では、リングバッファのスタートアドレス)に先述の結果を加算して、次ライン用の新たなDMAアドレスに更新するよう動作する。
但し、上述のリングバッファのスタートアドレスはビット反転しているので、実際には、オフセットデータから前述のリングバッファ残量数を減算した結果を、さらに減算する事で実現できる。すなわち、実施例1と同様の回路構成で構わない。
上記1ライン中処理及びライン間処理を、当該バンド中のライン数分だけ繰り返して、先にセットした、SHIPPINGする1バンドあたりのデータ量すなわちSHIP_DMAの回数分だけ処理する。これにより当該バンドの処理が終了し、本DMA制御装置は、次バンドの処理に移る。もちろん、次バンド処理についても、前記同様の処理である。
以上説明したように、本実施例によれば、描画制御部111にて一旦順方向(主走査方向:左→右、副走査方向:上→下)に格納されたリングバッファ仕様のビットマップデータに対して以下の設定を行う。すなわち、SHIPレジスタ部203へのパラメータ設定、及びSHIP_DMAスタートアドレス及びリングバッファのスタートアドレス/エンドアドレスをビット反転してDMAアドレス制御部207の各部にセットする。これにより、DMAアドレス処理がデクリメント動作をした場合においても、実施例1と同様の回路構成で、1ライン中処理及び1ライン間処理の何れかでリングバッファの端部を跨いだ時にハードウェアにて簡易に対応可能である。
<その他の実施形態>
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
101 プリントコントロール部
102 外部装置
103 プリントエンジン部
104 ASIC
105 CPU制御部
106 MRAM制御部
107 ROM制御部
108 ホストI/F制御部
109 BRAM制御部
110 圧縮/伸張制御部
111 描画制御部
112 VH回転器
113 ビデオI/F制御部
114 CPU
115 MRAM
116 BRAM
117 ROM
201 SHIP_DMA制御部
202 SHIPPING制御部
203 SHIPレジスタ部
204 DMA起動/クリア部
205 DMAリクエストハンドシェータ部
206 DMAシーケンサ部
207 DMAアドレス制御部
208 FIFO部
209 Parameter制御部
210 Video生成部
102 外部装置
103 プリントエンジン部
104 ASIC
105 CPU制御部
106 MRAM制御部
107 ROM制御部
108 ホストI/F制御部
109 BRAM制御部
110 圧縮/伸張制御部
111 描画制御部
112 VH回転器
113 ビデオI/F制御部
114 CPU
115 MRAM
116 BRAM
117 ROM
201 SHIP_DMA制御部
202 SHIPPING制御部
203 SHIPレジスタ部
204 DMA起動/クリア部
205 DMAリクエストハンドシェータ部
206 DMAシーケンサ部
207 DMAアドレス制御部
208 FIFO部
209 Parameter制御部
210 Video生成部
Claims (6)
- リングバッファに格納された画像データの周辺装置へのデータ転送をDMA方式で行うDMA制御装置であって、
1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納した前記リングバッファにおける先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第1の判別手段と、
前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、前記リングバッファの先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第2の判別手段と、
前記第1及び第2の判別手段によってアドレス飛び越しが発生したと判別された場合、該アドレス飛び越しが前記リングバッファの終了アドレスから先頭アドレスへの跨ぎか、先頭アドレスから終了アドレスへの跨ぎかを判別する第3の判別手段と、
現在のDMAアドレスに基づいて、前記リングバッファの終了アドレス及び先頭アドレスの設定値までの該リングバッファの残容量を検出する検出手段と
を備えることを特徴とするDMA制御装置。 - 前記第2の判別手段によってアドレス飛び越しが発生したと判別された場合、前記検出手段によって検出された前記リングバッファの残容量を次ライン処理のためのアドレス更新量から減算した容量をアドレス飛び越し先からさらに減算する補正手段をさらに備えることを特徴とする請求項1に記載のDMA制御装置。
- 前記リングバッファに格納された前記画像データに対する出力設定に基づいて、前記第1、第2及び第3の判別手段、前記検出手段、及び前記補正手段の動作を切り替える切替手段をさらに備えることを特徴とする請求項2に記載のDMA制御装置。
- 前記画像データの記録紙に対する記録方向を指定する第1の指定手段と、
前記画像データの前記記録紙の記録処理が該記録紙の表面への記録処理であるか裏面への記録処理であるかを指定する第2の指定手段とをさらに備え、
前記切替手段は、前記第1及び第2の指定手段による指定に基づく前記出力設定に基づいて切替処理を行うことを特徴とする請求項3に記載のDMA制御装置。 - リングバッファに格納された画像データの周辺装置へのデータ転送をDMA方式で行うDMA制御方法であって、
1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納した前記リングバッファにおける先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第1の判別工程と、
前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、前記リングバッファの先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第2の判別工程と、
前記第1及び第2の判別工程によってアドレス飛び越しが発生したと判別された場合、該アドレス飛び越しが前記リングバッファの終了アドレスから先頭アドレスへの跨ぎか、先頭アドレスから終了アドレスへの跨ぎかを判別する第3の判別工程と、
現在のDMAアドレスに基づいて、前記リングバッファの終了アドレス及び先頭アドレスの設定値までの該リングバッファの残容量を検出する検出工程と
を有することを特徴とするDMA制御方法。 - リングバッファに格納された画像データの周辺装置へのデータ転送をDMA方式で行わせるコンピュータに、
1ライン内で継続してDMA処理を行う場合に、順方向のリングバッファ仕様の画像データを格納した前記リングバッファにおける先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第1の判別手順と、
前ライン処理終了後で次ライン処理に至るまでの間にDMAアドレスの更新を行う場合に、前記リングバッファの先頭アドレス及び終了アドレスの跨ぎであるアドレス飛び越しが発生するか否かを判別する第2の判別手順と、
前記第1及び第2の判別手順によってアドレス飛び越しが発生したと判別された場合、該アドレス飛び越しが前記リングバッファの終了アドレスから先頭アドレスへの跨ぎか、先頭アドレスから終了アドレスへの跨ぎかを判別する第3の判別手順と、
現在のDMAアドレスに基づいて、前記リングバッファの終了アドレス及び先頭アドレスの設定値までの該リングバッファの残容量を検出する検出手順と
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005214334A JP2007034488A (ja) | 2005-07-25 | 2005-07-25 | Dma制御装置及びその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005214334A JP2007034488A (ja) | 2005-07-25 | 2005-07-25 | Dma制御装置及びその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007034488A true JP2007034488A (ja) | 2007-02-08 |
Family
ID=37793709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005214334A Withdrawn JP2007034488A (ja) | 2005-07-25 | 2005-07-25 | Dma制御装置及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007034488A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010170164A (ja) * | 2009-01-20 | 2010-08-05 | Nec Engineering Ltd | Dma転送制御装置 |
WO2012120690A1 (en) | 2011-03-08 | 2012-09-13 | Renesas Electronics Corporation | Data transferring method, dma controller and image processing device |
JP2017035889A (ja) * | 2010-07-15 | 2017-02-16 | フジフィルム ディマティックス, インコーポレイテッド | 回転バッファを用いた被印刷体群への印刷 |
-
2005
- 2005-07-25 JP JP2005214334A patent/JP2007034488A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010170164A (ja) * | 2009-01-20 | 2010-08-05 | Nec Engineering Ltd | Dma転送制御装置 |
JP2017035889A (ja) * | 2010-07-15 | 2017-02-16 | フジフィルム ディマティックス, インコーポレイテッド | 回転バッファを用いた被印刷体群への印刷 |
WO2012120690A1 (en) | 2011-03-08 | 2012-09-13 | Renesas Electronics Corporation | Data transferring method, dma controller and image processing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4408836B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2006270441A (ja) | ログデータ記録装置、ログデータ記録方法及びログデータ記録プログラム | |
JP5142872B2 (ja) | 印刷制御装置、印刷制御方法、及びコンピュータプログラム | |
JP5743475B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP4695815B2 (ja) | 描画処理装置および描画処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム | |
JP3697064B2 (ja) | 画像編集装置、記録装置、画像編集方法及びコンピュータ読み取り可能な記録媒体 | |
JP4876051B2 (ja) | 画像処理装置及びその制御方法 | |
JP2007034488A (ja) | Dma制御装置及びその方法 | |
JP2007158613A (ja) | 画像処理装置及びその制御方法、並びに制御プログラム | |
JP2005169861A (ja) | 印刷装置及びデータ処理方法 | |
JP2009159494A (ja) | 画像処理方法および画像処理装置 | |
JP4479617B2 (ja) | 任意図文字挿入コンピュータ、画像形成装置、方法及びプログラム | |
JP2005011066A (ja) | 印刷システム、印刷装置選択処理プログラム及び記録媒体 | |
JP2006285792A (ja) | 画像処理装置、画像処理方法 | |
JP5178497B2 (ja) | 画像読み取り装置、及び画像読み取り装置の制御方法、並びにプログラム | |
JP2009284508A (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4405453B2 (ja) | 画像形成装置及び制御プログラム | |
JP2000076472A (ja) | プログラム記憶媒体 | |
JP2005092461A (ja) | データ編集装置及びその制御方法並びに制御プログラム | |
JP3833195B2 (ja) | 画像処理装置及びその制御方法 | |
JPH11185019A (ja) | 画像処理装置及びその方法 | |
JP2006159458A (ja) | 画像出力装置 | |
JP2003060906A (ja) | 画像処理装置及びその方法 | |
JP2009060305A (ja) | 画像処理装置、印刷出力装置およびプログラム | |
JP2007199996A (ja) | 文書表示システム、情報生成装置及び情報表示装置 |
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: 20081007 |