Nothing Special   »   [go: up one dir, main page]

JP2015018454A - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法 Download PDF

Info

Publication number
JP2015018454A
JP2015018454A JP2013145840A JP2013145840A JP2015018454A JP 2015018454 A JP2015018454 A JP 2015018454A JP 2013145840 A JP2013145840 A JP 2013145840A JP 2013145840 A JP2013145840 A JP 2013145840A JP 2015018454 A JP2015018454 A JP 2015018454A
Authority
JP
Japan
Prior art keywords
transfer
data
unit
input data
dmac
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.)
Granted
Application number
JP2013145840A
Other languages
English (en)
Other versions
JP2015018454A5 (ja
JP6157251B2 (ja
Inventor
卓也 常見
Takuya Tsunemi
卓也 常見
堀越 宏樹
Hiroki Horikoshi
宏樹 堀越
藤田 茂
Shigeru Fujita
茂 藤田
秀城 竹村
Hideki Takemura
秀城 竹村
啓 市村
Hiroshi Ichimura
啓 市村
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 JP2013145840A priority Critical patent/JP6157251B2/ja
Priority to US14/315,104 priority patent/US9019521B2/en
Publication of JP2015018454A publication Critical patent/JP2015018454A/ja
Publication of JP2015018454A5 publication Critical patent/JP2015018454A5/ja
Application granted granted Critical
Publication of JP6157251B2 publication Critical patent/JP6157251B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/07Ink jet characterised by jet control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Record Information Processing For Printing (AREA)
  • Bus Control (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】データ転送の効率化に有利な技術を提供する。
【解決手段】少なくとも1つのユニットに、入力された入力データをDMA転送するデータ転送装置であって、前記入力された入力データを保持手段にDMA転送する第1の転送手段と、前記保持手段に保持された入力データを前記少なくとも1つのユニットにDMA転送する第2の転送手段と、前記第1の転送手段により入力データがDMA転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知手段と、前記第2の転送手段が、前記通知手段からの通知に応答して前記保持手段から入力データを前記少なくとも1つのユニットに転送する第1モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも1つのユニットに転送する第2モードのいずれか一方によって動作するように制御する転送制御手段と、を有する。
【選択図】図5

Description

本発明は、DMA転送によるデータ転送を行うデータ転送装置及びデータ転送方法に関する。
複写機やプリンタ等の画像形成装置ないし記録装置は、複数の画像処理モジュールを有し、これらの画像処理モジュールにより、外部から入力された画像データについて、要求に応じた適切な画像処理を行う。例えば、画像データは各画像処理モジュール間で転送され、各画像処理モジュールにおいては順にデータ解析を行うとともに所定の画像処理が為され、このようにして所望の画像データが生成される。データ転送には、例えば、DMA(Direct Memory Access)転送が用いられる。例えば、入力された画像データは、一旦、DRAM等の一時記憶メモリに格納され、その後、DMA転送により、転送すべき画像データを、転送先の画像処理モジュールに所定の単位で順次転送される。
特許文献1には、仕様に応じてディスクリプタの情報を変更し、DMA転送対象のデータを切り替える方法が開示されている。
特開2002−140288号公報
ところで、画像データのうちの一部が複数の画像処理において共通に利用される場合や複数の画像処理モジュールと連携して画像処理を行うような場合にも、適宜、画像処理の内容に応じた適切なデータ転送を行い、CPUの負担が軽減されることが望ましい。このような場合には、共通の画像データを各モジュールに転送するための情報管理が必要になり、また、各データ転送を順次行うため、CPUや画像処理モジュール間の動作の連携が必要な場合もある。しかし、このような情報管理ないし連携をディスクリプタのみによって達成することは、CPUの負荷をもたらし、また、メモリ(DRAM等)へのアクセス頻度が高くなり、結果、他の信号処理を停滞させて全体としての動作を遅延させるおそれもある。
本発明の目的は、データ転送の効率化に有利な技術を提供することにある。
本発明の一つの側面はデータ転送装置にかかり、前記データ転送装置は、少なくとも1つのユニットに、入力された入力データをDMA転送するデータ転送装置であって、前記入力された入力データを保持手段にDMA転送する第1の転送手段と、前記保持手段に保持された入力データを前記少なくとも1つのユニットにDMA転送する第2の転送手段と、前記第1の転送手段により入力データがDMA転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知手段と、前記第2の転送手段が、前記通知手段からの通知に応答して前記保持手段から入力データを前記少なくとも1つのユニットに転送する第1モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも1つのユニットに転送する第2モードのいずれか一方によって動作するように制御する転送制御手段と、を有することを特徴とする。
本発明によれば、データ転送を効率化することができる。
データ転送を行うシステムの構成の例を説明する図。 第1実施形態におけるデータ転送のフローチャートを説明する図。 第1実施形態におけるデータ転送を説明する図。 第1実施形態におけるデータ転送に用いるディスクリプタの例を説明する図。 第1実施形態におけるデータ転送の動作を説明する図。 第2実施形態におけるデータ転送を説明する図。 第2実施形態におけるデータ転送の動作を説明する図。 第2実施形態におけるデータ転送のシーケンスを説明する図。 第3実施形態のデータ転送を行うシステムの構成の例を説明する図。 第3実施形態におけるデータ転送を説明する図。 記録装置の構成例を説明する図。
(第1実施形態)
図11を参照しながら、複写機やプリンタ等の画像形成装置ないし記録装置X(以下、単に「記録装置」という)の構成例を説明する。記録装置Xは、図11(a)に例示されるように、プリンタコントローラ10と、プリンタエンジン20と、少なくとも1以上の記録ヘッド(ここでは、記録ヘッド31および記録ヘッド32)とを含む。プリンタコントローラ10は、ホストインターフェース100を介して入力された画像データ(入力データ)を、バス11を介して、DRAM105に格納し、またはコントローラチップ101において所定の信号処理を行う。信号処理が為された画像データは、プリンタエンジン20に出力され、例えば、記録ヘッド31および記録ヘッド32の構成にしたがう記録方式で記録されるデータ形式で出力される。これは、例えば、記録ヘッド31および記録ヘッド32のそれぞれにそれぞれ対応する記録動作の制御を行うユニットであるエンジンチップ102およびエンジンチップ103によって為されうる。
記録ヘッド31ないし32は、それぞれが複数の記録素子が配列された記録素子列33を備えており、ここでは、6列の記録素子列33をそれぞれ例示している。例えば、記録ヘッド31において、各記録素子列33は、エンジンチップ102の制御により、例えば、各列で異なる色の記録剤(インク)を吐出させる等、カラー印刷をすることが可能である。
エンジンチップ102は、図11(b)に例示されるように、各記録素子列33に対応した2つのメモリ群(メモリ群M1およびM2)を含みうる。例えば、メモリ群M1には、対応する各記録素子列33にそれぞれ用いられる6列分の画像データが格納されうる。また、メモリ群M2には、対応する各記録素子列33にそれぞれ用いられる6列分の画像データが格納されうる。例えば、一方(例えば、メモリ群M1)から記録ヘッド31に記録すべき画像データを転送している間に、他方(例えば、メモリ群M2)に次に記録すべき画像データを格納しうる。このことは、図11(b)に例示されるように、選択信号sel1を用いて行ってもよい。このようにして、一方では記録すべき画像データを出力しつつ、他方ではその次に記録すべき画像データを準備する、いわゆるダブルバッファ構造を達成する。エンジンチップ103についても同様である。
この記録装置Xは、各記録ヘッドを記録素子列の配列方向と交差する方向に走査させながら、ラスタ形式の画像の記録を行うシリアルプリンタである。
次に、図1を参照しながら、以下、記録装置Xにおけるデータ転送を行うシステムの構成を説明する。図1では、記録装置Xのうち、コントローラチップ101と、エンジンチップ102および103と、DRAM105と、ホストインターフェース100とを示している。例えば、記録装置Xの例では、印刷ジョブおよび画像データが、ホストコンピュータ(パソコンなど)から出力され、ホストインターフェース100を介して当該システムに入力される。これらは、システムバスにより接続されている。これらはシステムバス11により接続されている。
画像データは、各色について(例えば、赤(R)、緑(G)および青(B))のデータを含む。印刷ジョブにしたがって、コントローラチップ101、エンジンチップ102および103において画像データについてのデータ処理が為される。DRAM105は、ホストコンピュータからの画像データや、処理が為された画像データを一時的に格納するための汎用メモリである。処理が為された画像データは、記録ヘッド31ないし32に出力され、記録ヘッドが備える記録素子によってインクを吐出させるための吐出エネルギーを発生させることにより、記録媒体に記録が為され、当該記録媒体の上に画像が形成される。
コントローラチップ101は、CPU104、データ処理部106、第1のDMAC109、第2のDMAC107、およびSRAM108を有する。CPU104は、例えば、ROM(不図示)に格納されたプログラムにしたがって情報処理を行う。データ処理部106は、例えば、画像処理モジュール(不図示)を含み、印刷ジョブにしたがう印刷条件の下でデータ処理を行う。当該モジュールによって為されるデータ処理は、例えば、DRAM105に格納された多値データについて行う色変換処理、色補正処理、二値化処理などを含む。これらの処理が為された画像データは、その後、再びDRAM105に格納される。エンジンチップ102および103は、コントローラチップ101と同様の構成により、対応する各種データ処理を行う。
本実施形態では、各々が6色分の記録を行う2つの記録ヘッドにおいて、一部の色についてデータが共通している10色のカラー印刷により記録を行う記録装置Xについて考える。エンジンチップ102および103は、対応する記録のモード(印字モードないし印刷モード)にしたがってデータ処理を行う。画像データは、色データ(シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)等)や属性データ(処理内容を特定するためのデータ)等を含む。
エンジンチップ102ないし103には、対応する記録ヘッドによる記録(インクの吐出)の制御に必要な情報がコントローラチップ101から入力される。前述のダブルバッファ構造により、エンジンチップ102ないし103には画像データが所定の単位でコントローラチップ101から交互に転送され、これらを並列に動作させることによって、データ処理を効率化している。印字モードによっては、エンジンチップ102および103のそれぞれが、共通の(同一の)画像データを用いる場合がある。ここでは、エンジンチップ102および103に転送される各画像データのうち、2色分の画像データが共通する場合を例示して述べる。
図2は、本実施形態におけるデータ転送のフローチャートを示している。CPU104によりデータ転送が起動されると、このフローチャートにしたがい、コントローラチップ101からエンジンチップ102ないし103に、記録ヘッドの記録幅に応じた量の画像データ、例えば、1走査分の画像データが転送される。データ転送は、エンジンチップ102ないし103が一度に処理を行う単位として、予め定められた単位(例えば、256×256画素分の画像データ等)で為される。
S200では、第1のエンジンチップ102に対する所定の単位の画像データの転送を行う。本実施形態では、第1のエンジンチップ102に割り当てられた6色分のデータ転送を行う。S201では、第2のエンジンチップ103に対する所定の単位の画像データの転送を行う。本実施形態では、第2のエンジンチップ103に割り当てられた6色分(6列分)のデータ転送を行う。エンジンチップ102および103に転送する計12色分(12列分)の画像データのうち、2色分の画像データが共通している。共通する画像データは、印刷モードに応じて、エンジンチップ102および103に転送される。ここでは、予め定められた単位での転送が行われる。
S202では、例えば、記録媒体の幅などにしたがう予め指定された量の画像データについて転送が完了したかどうかが判断される。データ転送が完了していない場合は、S200ないしS201にしたがい、予め定められた単位でのデータ転送が繰り返し為される。
S203では、指定ラインの数量にしたがう量の画像データについて転送が完了したかどうかが判断される。データ転送が完了していない場合は、S200ないしS202にしたがいデータ転送が繰り返し為される。このようにして、記録ヘッドの1走査に対応する分量のデータ転送が為される。なお、以上のデータ転送において、転送の順序を第1のエンジンチップ102に転送した後に第2のエンジンチップ103に転送する順序で説明したが、この順序に限られない。
図3に例示されるように、コントローラチップ101からエンジンチップ102ないし103へのデータ転送は、第1のDMAC109、第2のDMAC107、およびSRAM108を用いて、DMA転送されることによって為される。データ転送は、第2のDMAC107の制御によって所定の単位で為される。データ転送に際して、転送すべき画像データは、DRAM105から読み出され、第1のDMAC109によりSRAM108に一時的に保持ないし格納される(第1の転送)。
その後、第2のDMAC107は、当該格納された画像データを第1のエンジンチップ102ないし第2のエンジンチップ103に転送する(第2の転送)。第2のDMAC107は、第2のDMAC107を制御するための情報であるディスクリプタ110にしたがって、SRAM108に格納された画像データの転送を行う。ディスクリプタ110は、例えば、CPU104により生成され、DRAM105に記憶される。
図4に例示するように、ディスクリプタ110は、データ転送に必要な情報(制御情報、転送すべき画像データの転送先アドレス、転送元アドレス、転送サイズ等)を有する。また、この情報は、データ転送を繰り返し行うチェイン動作が設定されている場合は、当該データ転送の次に参照すべきディスクリプタ110の先頭アドレス(ネクストディスクリプタアドレス)を有しうる。この情報は、画像データの色の数などに応じて複数の種類の情報等の各種情報を含みうる。
また、第2のDMAC107は、制御情報の1つ(フラグ)にしたがい、例えば、第1のDMAC108からのトリガ(通知)に基づいて、その動作を制御することができる。ここでは、第2のDMAC107は、エンジンチップ102ないし103に転送されるべき画像データがSRAM108に格納されたことを第1のDMAC109からのトリガにより認識ないし判断する。即ち、当該トリガ(転送完了トリガ)により、第2のDMAC107は、エンジンチップ102ないし103へのデータ転送の準備が完了したと判断しうる。当該トリガは、第2のDMAC107がデータ転送を開始する条件の1つとなりうる。
ディスクリプタ110には、当該トリガをデータ転送の開始条件とするかを決定ないし判断するフラグを設ける。なお、トリガをデータ転送の開始条件とするか否かの設定は、ヘッドやデータの割当て、印刷モードにより予め決定され、画像データはそれに応じてメモリに格納される。CPU104はこれに基づいてディスクリプタ110を作成し、フラグの設定を行う。トリガをデータ転送の開始条件とする場合、第2のDMAC107は、当該トリガに応答して、第1のDMAC109により格納(更新)されたSRAM108の画像データを、エンジンチップ102または103に転送する。このトリガをデータ転送の開始条件としない場合は、第2のDMAC107は、当該トリガを待たずに、ディスクリプタ110にしたがってSRAM108に既に格納されている画像データの転送を繰り返す。このように、第2のDMAC107は、上述のトリガとディスクリプタ110とに基づいて、転送モードを切り替えることができる。
図5を参照しながら、以下、データ転送のシーケンスを説明する。図5(a)は、ディスクリプタ110に示されるフラグによって、第2のDMAC107がトリガに応答してデータ転送を開始する場合(フラグ=1の場合)の転送モードを示している。即ち、DRAM105から読み出された画像データ1は、第1のDMAC109によって、SRAM108に格納され、第2のDMAC107は、ディスクリプタ110にしたがい、トリガに応答して、エンジンチップ102への画像データ1の転送を開始する。同様にして、DRAM105から読み出された画像データ2はSRAM108に格納され、第2のDMAC107は、ディスクリプタ110にしたがい、トリガに応答して、エンジンチップ103への画像データ2の転送を開始する。
一方、図5(b)は、ディスクリプタ110に示されるフラグによって、第2のDMAC107がトリガに応答して転送するモード(フラグ=1)と、トリガに依らずに転送するモード(フラグ=0)とを切り替える態様を示している。ここでは、エンジンチップ103へのデータ転送において、第1のDMAC107がトリガに依らずに転送する場合を示す。第2のDMAC107は、画像データ1の転送が完了したことをトリガにより検知し、ディスクリプタ110にしたがい、画像データ1のデータ転送を開始する。ここで、ディスクリプタ110のフラグを無効(フラグ=0)にすると、第2のDMAC107はトリガに依らずに、ディスクリプタ110にしたがって、既にSRAM108に格納されている画像データのエンジンチップ103へのデータ転送を繰り返す。
以上、第2のDMAC107は、ディスクリプタ110にしたがって、転送すべき画像データがSRAM108において更新されたことを示す通知を待つか否かの動作モードを選択し、第1のDMAC109と連携してDMA転送を行う。この連携は、仕組みを簡素化しているため、複雑なシーケンス制御を行うことなく、印刷モードに応じた多様な転送シーケンス(画像データの色の数、共通する画像データの数量、画像データの割り付け方、転送の順序等)に対応することができる。すなわち、転送シーケンスに応じてフラグを切り替える周期をCPU104が決定すればよい。これにより、転送する画像データに応じてDMACの構成を変える必要がない。エンジンチップ102および103その他のユニットは、少なくとも1つ以上であればよく、その数量に依存しないし、仕様に応じて、適宜、構成を変えてもよい。エンジンチップ102および103で共通に用いる画像データを転送する場合は、転送元のメモリ(ここでは、DRAM105)に格納されている画像データは1度だけ読み出されればよく、いわゆる2度読みを行う必要がない。以上のような画像データの転送制御を行うことによって、DRAM105へのアクセス頻度が低減され、システム全体のパフォーマンスを向上させることができる。また、エンジンチップ102および103の要求に応じて、任意のタイミングで転送を行うことができる。
本実施形態では、第2のDMAC107によるDMA転送の転送元としてSRAM108をメモリとして用いた構成を例示したが、当該メモリはSRAMに限定されない。また、本実施形態では、SRAM108に画像データを展開するハードウェアとして第1のDMAC109を用いた構成を例示したが、第2のDMAC107と連携して上述の動作を実行するプロセッサを用いてもよい。また、本実施形態では、内部に画像処理モジュールを有するチップと、他のチップとの間でのデータ転送を例示したが、チップ間のデータ転送に限定されない。例えば、本実施形態の転送手順は、同一チップ内におけるモジュール間のデータ転送にも適用できる。その他、各数量は本実施形態に限定されるものではなく、任意の自然数を採りうる。例えば、記録ヘッドが記録する色の数は6色でなくてもよいし、記録装置Xが形成する画像は10色でなくてもよい。
(第2実施形態)
図6を参照しながら、第2実施形態のデータ転送の方法を説明する。本実施形態は、第1のDMAC109の他に、第3のDMAC111を用いて第1の転送を行う点で第1実施形態と異なる。第2のDMAC107は、第1実施形態と同様に、前述のトリガとディスクリプタ110とに基づいてデータ転送を開始する条件を変更して、データ転送の転送モードを切り替える。本実施形態では、第3のDMAC111を追加することにより、2以上のメモリアクセスが同時に為されうるDRAM105からのデータ転送の性能を確保している。第2のDMAC107は、エンジンチップ102ないし103に転送されるべき画像データがSRAM108に格納されたことを第1のDMAC109ないし第3のDMAC111からの2つのトリガにより認識ないし判断する。
トリガをデータ転送の開始条件とする場合、第2のDMAC107は、更新されたSRAM108の画像データを、2つのトリガに応答して、エンジンチップ102ないし103に転送する。トリガをデータ転送の開始条件としない場合は、第2のDMAC107はいずれのトリガをも待たずに、ディスクリプタ110にしたがってSRAM108に既に格納されている画像データの転送を繰り返す。SRAM108はダブルバッファ構成とすればよい。
また、第1のDMAC109および第3のDMAC111は、第2のDMAC107と同様にして、外部からのトリガに応答してデータ転送を開始する構成にしてもよい。このような構成により、第1のDMAC109、第2のDMAC107および第3のDMAC111のそれぞれによる各データ転送を、互いに同期させて行うことができる。
図7は、データ転送のシーケンスを説明する図である。図7(a)は、ディスクリプタ110に示されるフラグによって、第2のDMAC107が2つのトリガに応答してデータ転送を開始する場合(フラグ=1の場合)を示している。即ち、DRAM105から読み出された画像データ1は、第1のDMAC109によってSRAM108に格納され、第2のDMAC107は、これに対応するトリガを待つ。同様にして、DRAM105から読み出された画像データ2は、第3のDMAC111によってSRAM108に格納され、第2のDMAC107は、これに対応するトリガを待つ。
第2のDMAC107は、ディスクリプタ110にしたがって、これら2つのトリガに応答して、エンジンチップ102への画像データ1および画像データ2の転送を開始する。第2のDMAC107は、このデータ転送の開始と同時に、次に転送すべき画像データをSRAM108に格納して準備すべきことを通知するためのトリガ(転送要求トリガ)を第1のDMAC109および第3のDMAC111に対して発行する(第2の通知)。
第1のDMAC109および第3のDMAC111のそれぞれは、当該トリガに応答して、SRAM108に、次に転送すべき画像データについての転送を開始する。各DMACはそれぞれ独立して動作が可能であり、よって、画像データ1および画像データ2のエンジンチップ102への転送と、画像データ3または画像データ4のSRAM108への転送とは並列に為される。その後、前述と同様の手順によって、エンジンチップ103への画像データ3および画像データ4の転送が開始される。
一方、図7(b)は、ディスクリプタ110に示されるフラグによって、第1のDMAC107が2つのトリガに応答して転送するモード(フラグ=1)と、トリガに依らずに転送するモード(フラグ=0)とを切り替える態様を示している。ここでは、エンジンチップ103へのデータ転送において、第2のDMAC107がトリガに依らずに転送する場合を示す。第2のDMAC107は、画像データ1および画像データ2の転送が完了したことをトリガにより検知し、画像データ1および画像データ2のデータ転送を開始する。ここで、ディスクリプタ110のフラグを無効(フラグ=0)にすることで、第2のDMAC107は転送要求トリガを発行せず、また、転送完了トリガに依らずに、エンジンチップ103へのデータ転送を繰り返す。
図8は、本実施形態におけるDMACによるデータ転送のシーケンスを示している。ここでは、複数の種類の色(例えば、BK、C、M、Y、PC、PM、R、G、B、GY等)の画像データ(色データ)を含む入力データ群を転送する場合を例示する。その中でも、エンジンチップ102および103に対し、それぞれ7色の色データを転送し、そのうちの1色がこれらのチップにおいて共通に使用される場合を示している。すなわち、転送される色データは14色分であるが、色の種類は13種類の例である。なお、転送される画像データ(画像データ1、画像データ2等)は、1色分の画像データの半分のデータ量であるものとする。まず、6色分(色1〜色6)の画像データについて、エンジンチップ102へのデータ転送を行う。色1〜色6の画像データは、エンジンチップ102においてのみ使用されるものとする。
次に、第1のDMAC109および第3のDMAC111が色7の画像データを準備する。色7の画像データは、2つのエンジンチップ102および103において共通に使用されるものとする。第2のDMAC107は、先にエンジンチップ102に転送する。ここで、ディスクリプタ110に設定されるフラグは、転送要求トリガを発行せず、また、転送完了トリガに応答しないように設定される。よって、第2のDMAC107により、エンジンチップ102への色7についてのデータ転送が完了した後、エンジンチップ103への色7についてのデータ転送が開始される。
その後、次の6色分(色8〜色13)の画像データについて、エンジンチップ103へのデータ転送を行う。色8〜色13の画像データは、エンジンチップ103においてのみ使用されるものとする。エンジンチップ102および103において共通に使用される色7についてのデータ転送は、これらのチップへの各転送の間、即ち、色1〜色6についてのデータ転送と、色8〜色13についてのデータ転送との間に為されている。以上のように、各エンジンチップへの割当てに従って、色1〜色6の転送ではフラグ=1、色7ではフラグ=0、色8〜13ではフラグ=1という周期でフラグの状態が切り替えられる。このようにしてデータ転送が為されることにより、画像データを一時的に格納するSRAM108のメモリサイズが抑制されうる。
以上、第2のDMAC107は、ディスクリプタ110にしたがって、転送すべき画像データが更新されたことを示す通知を待つか否かの動作モードを選択し、第1のDMAC109および第3のDMAC111と連携してDMA転送を行う。本実施形態によっても第1実施形態と同様の効果が得られる。以上では、取り扱うデータとして各色の画像データを用いて説明したが、データはインク色に対応するものに限られない。例えば、画像処理に用いるパラメータや属性データ等でもよく、画像データを構成するためのデータであればよい。また、ここでは、2つのDMAC(第1のDMAC109および第3のDMAC111)がデータ転送を行う構成を例示したが、3つ以上のDMACを用いてもよく、同様の効果が得られる。
(第3実施形態)
第1実施形態および第2実施形態では、内部に画像処理モジュールを有するチップと、他のチップとの間でのデータ転送を例示したが、同一チップ内におけるモジュール間のデータ転送にも適用できる。例えば、同一チップ内における同一のメモリデバイスに画像データを戻す構成に適用してもよい。図9を参照しながら、画像処理を行う2つのモジュール(第1の処理部112および第2の処理部113)の間で為されるデータ転送を説明する。ここでは、データ転送を実現するシステムは、第1の入力DMAC114、第1の出力DMAC115、第2の入力DMAC116、第2の出力DMAC117を用いて構成している。以下では、モジュール間のデータ転送を制御する第1の入力DMAC114および第2の出力DMAC117の動作に着目して説明する。
図10を参照しながら、以下、コントローラチップ101内のモジュール間のデータ転送におけるDMACの制御方法、およびデータフローを説明する。ホストコンピュータから入力された画像データは、DRAM105に格納された後、第1の処理部112および第2の処理部113によってデータ処理が為される。DRAM105に格納されている画像データは、第2の入力DMAC116により第1の処理部112に転送され、データ処理が為される。
その後、当該データ処理が為された画像データは、第2の出力DMAC117によりDRAM105に再び格納される。第2の出力DMAC117によりDRAM105に格納された当該画像データは、ディスクリプタ110にしたがって、第1の入力DMAC114により第2の処理部113に転送され、データ処理が為される。その後、当該データ処理が為された画像データは、第1の出力DMAC115によりDRAM105に再び格納される。
第1の入力DMAC114は、第1実施形態と同様に、前述のトリガとディスクリプタ110とに基づいてデータ転送を開始する条件を変更して、データ転送の転送モードを切り替える。本実施形態では、第1の入力DMAC114は、第2の画像処理部113に転送すべき画像データがDRAM105に格納されたことを第2の出力DMAC117からのトリガにより認識ないし判断する。
ディスクリプタ110には、当該トリガをデータ転送の開始条件とするか、DRAM105から第2の処理部113への直前の転送が完了したことをデータ転送の開始条件とするかを決定ないし判断するフラグを設ける。トリガをデータ転送の開始条件とする場合、第1の入力DMAC114は、トリガに応答して、第2の出力DMAC117により格納(更新)されたDRAM105の画像データを、第2の処理部113に転送する。トリガをデータ転送の開始条件としない場合は、第1の入力DMAC114は、トリガを待たずに、DRAM105に既に格納されている画像データの転送を繰り返す。
このように、第1の入力DMAC114は、上述のトリガと、ディスクリプタ110とに基づいて、転送モードを切り替えることができる。また、第2の出力DMAC117は、第2実施形態と同様に、外部からのトリガに応答してデータ転送を開始する構成にしてもよい。これにより、各DMACによるモジュール間の各データ転送を、互いに同期させて行うことができる。
以上、第1の入力DMAC114は、ディスクリプタ110にしたがって、転送すべき画像データが更新されたことを示す通知を待つか否かの動作モードを選択し、第2の出力DMAC117と連携してDMA転送を行う。よって、本実施形態に例示されるような同一チップ内におけるモジュール間のデータ転送においても、第1および第2実施形態と同様の効果が得られる。また、本実施形態では、2つのモジュール間におけるデータ転送を例示して説明したが、モジュールの数はこれに限定されず、3つ以上でも同様である。
本発明は以上の実施形態に限られるものではなく、目的、状態、用途、機能又は仕様に応じて、適宜、変更し又は組合せることが可能であり、他の実施形態によっても為されうる。

Claims (8)

  1. 少なくとも1つのユニットに、入力された入力データをDMA転送するデータ転送装置であって、
    前記入力された入力データを保持手段にDMA転送する第1の転送手段と、
    前記保持手段に保持された入力データを前記少なくとも1つのユニットにDMA転送する第2の転送手段と、
    前記第1の転送手段により入力データがDMA転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知手段と、
    前記第2の転送手段が、前記通知手段からの通知に応答して前記保持手段から入力データを前記少なくとも1つのユニットに転送する第1モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも1つのユニットに転送する第2モードのいずれか一方によって動作するように制御する転送制御手段と、を有する
    ことを特徴とするデータ転送装置。
  2. 処理モジュールをさらに有し、
    前記入力された入力データは前記処理モジュールにより処理が為された入力データであり、
    前記少なくとも1つのユニットは前記処理モジュールによる処理とは異なる処理を行う他の処理モジュールである
    ことを特徴とする請求項1に記載のデータ転送装置。
  3. 前記第2の転送手段による前記少なくとも1つのユニットへのDMA転送が完了したことを前記第1の転送手段に通知する第2の通知手段をさらに有し、
    前記第1の転送手段は、前記第2の通知手段からの通知に応答して前記保持手段に保持すべき入力データを更新するようにDMA転送を行う
    ことを特徴とする請求項1または2に記載のデータ転送装置。
  4. 前記入力データを保持する保持手段をさらに備える、
    ことを特徴とする請求項1乃至3のいずれか1項に記載のデータ転送装置。
  5. 前記入力データは画像データを含む、
    ことを特徴とする請求項1乃至4のいずれか1項に記載のデータ転送装置。
  6. 前記ユニットの数は2以上であり、
    各ユニットに複数の入力データを含む入力データ群をそれぞれ転送する際に異なるユニットに転送する入力データ群が互いに共通の入力データを有する場合は、前記転送制御手段は当該共通の入力データについてのデータ転送を行うときには前記第1の転送手段が前記第2モードで動作するように制御する、
    ことを特徴とする請求項1乃至5のいずれか1項に記載のデータ転送装置。
  7. 請求項6に記載のデータ転送装置と、
    第N(Nは1以上の自然数)のユニットに対応して設けられた第Nの記録ヘッドと、
    第N+1のユニットに対応して設けられた第N+1の記録ヘッドと、を備え、
    前記第Nの記録ヘッドは前記Nのユニットにおける前記複数の種類のデータに対応する複数の記録素子列を有しており、前記第N+1の記録ヘッドは前記第N+1のユニットにおける前記複数の種類のデータに対応する複数の記録素子列を有している、
    ことを特徴とする記録装置。
  8. 少なくとも1つのユニットに、入力された入力データをDMA転送するデータ転送方法であって、
    前記入力された入力データを保持手段にDMA転送する第1の転送工程と、
    前記保持手段に保持された入力データを前記少なくとも1つのユニットにDMA転送する第2の転送工程と、
    前記第1の転送手段により入力データがDMA転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知工程と、を含み、
    前記第2の転送工程は、前記通知工程からの通知に応答して前記保持手段から入力データを前記少なくとも1つのユニットに転送する第1モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも1つのユニットに転送する第2モードのいずれか一方の動作モードで実行される、
    ことを特徴とするデータ転送方法。
JP2013145840A 2013-07-11 2013-07-11 データ転送装置及びデータ転送方法 Expired - Fee Related JP6157251B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013145840A JP6157251B2 (ja) 2013-07-11 2013-07-11 データ転送装置及びデータ転送方法
US14/315,104 US9019521B2 (en) 2013-07-11 2014-06-25 DMA transfer of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013145840A JP6157251B2 (ja) 2013-07-11 2013-07-11 データ転送装置及びデータ転送方法

Publications (3)

Publication Number Publication Date
JP2015018454A true JP2015018454A (ja) 2015-01-29
JP2015018454A5 JP2015018454A5 (ja) 2016-08-04
JP6157251B2 JP6157251B2 (ja) 2017-07-05

Family

ID=52276859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013145840A Expired - Fee Related JP6157251B2 (ja) 2013-07-11 2013-07-11 データ転送装置及びデータ転送方法

Country Status (2)

Country Link
US (1) US9019521B2 (ja)
JP (1) JP6157251B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7327029B2 (ja) 2019-09-19 2023-08-16 京セラドキュメントソリューションズ株式会社 画像形成装置、データ通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175585A (ja) * 1999-12-21 2001-06-29 Toshiba Corp データ転送装置およびデータ転送方法
JP2005346581A (ja) * 2004-06-04 2005-12-15 Canon Inc ダイレクト・メモリ・アクセス制御装置、情報処理システム、画像処理装置、ダイレクト・メモリ・アクセス制御装置の制御方法、及び制御プログラム
US20060095693A1 (en) * 2004-10-29 2006-05-04 Hitachi Global Storage Technologies Netherlands B.V. Method for communicating between host and storage device, storage device, host, and system comprising storage device and host
JP2007226374A (ja) * 2006-02-22 2007-09-06 Sharp Corp データ処理装置
JP2009025896A (ja) * 2007-07-17 2009-02-05 Ricoh Co Ltd データ処理装置及びデータ処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2941161B2 (ja) 1994-02-04 1999-08-25 キヤノン株式会社 組込み型電子機器と該電子機器における機器脱着方法
US5963713A (en) * 1994-11-07 1999-10-05 Canon Aptex Inc. Printer using direct memory access and refreshing
EP1193610B1 (en) 2000-09-29 2006-11-15 Ricoh Company, Ltd. Data processing apparatus and DMA data transfer method
JP2002140288A (ja) 2000-10-31 2002-05-17 Ricoh Co Ltd 情報処理装置及びdma転送方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175585A (ja) * 1999-12-21 2001-06-29 Toshiba Corp データ転送装置およびデータ転送方法
JP2005346581A (ja) * 2004-06-04 2005-12-15 Canon Inc ダイレクト・メモリ・アクセス制御装置、情報処理システム、画像処理装置、ダイレクト・メモリ・アクセス制御装置の制御方法、及び制御プログラム
US20060095693A1 (en) * 2004-10-29 2006-05-04 Hitachi Global Storage Technologies Netherlands B.V. Method for communicating between host and storage device, storage device, host, and system comprising storage device and host
JP2006127300A (ja) * 2004-10-29 2006-05-18 Hitachi Global Storage Technologies Netherlands Bv ホストと記憶デバイスとの間における通信方法、記憶デバイス、ホスト、記憶デバイスとホストを備えるシステム
JP2007226374A (ja) * 2006-02-22 2007-09-06 Sharp Corp データ処理装置
JP2009025896A (ja) * 2007-07-17 2009-02-05 Ricoh Co Ltd データ処理装置及びデータ処理方法

Also Published As

Publication number Publication date
US20150015905A1 (en) 2015-01-15
JP6157251B2 (ja) 2017-07-05
US9019521B2 (en) 2015-04-28

Similar Documents

Publication Publication Date Title
JP5886583B2 (ja) データ処理装置、処理方法、制御方法、及びプログラム
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
US20180084128A1 (en) Information processing apparatus and method for controlling the same
US10048911B2 (en) Parallel processing of image data
JP6157251B2 (ja) データ転送装置及びデータ転送方法
JP6544905B2 (ja) 画像処理装置、画像処理方法、プログラム
JP5700228B2 (ja) メモリ制御装置および画像形成装置
JP2014107585A (ja) 画像形成装置
JP6238510B2 (ja) バッファ、バッファの制御方法、同期制御装置、同期制御方法、画像処理装置および画像処理方法
US8466928B2 (en) Image processing apparatus and method
JP4175974B2 (ja) 画像データ転送制御装置
JP2012146032A (ja) 画像メモリ制御装置および画像処理装置
JP2011188050A (ja) 画像処理方法、画像処理装置および画像形成装置
JP2016143920A (ja) 情報処理装置
US10313557B2 (en) Image forming apparatus and program
JP7526060B2 (ja) データ転送装置、複合機、データ転送装置の制御方法およびプログラム
JP2010141488A (ja) 画像処理コントローラーおよび印刷装置
JP2010268411A (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP5885780B2 (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP4595578B2 (ja) 印刷装置及び印刷方法
JP5924104B2 (ja) 画像処理装置及び画像形成装置
JP2012165159A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2021124945A (ja) 画像処理装置、プログラム、及び画像処理方法
JP2008199351A (ja) 画素データ転送制御装置及び画素データ転送制御方法
JP2007087086A (ja) Dma転送システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170606

R151 Written notification of patent or utility model registration

Ref document number: 6157251

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees