| 【発明の名称】 |
DMA転送装置 |
| 【発明者】 |
【氏名】山田 直行
|
| 【要約】 |
【課題】CPUの介在なしに長尺の画像データを連続して転送処理し、任意の個所でCPUの介在なしに転送処理を終了すること。
【解決手段】DMA転送要求が有った際に、転送アドレス格納手段12に格納されているアドレスからデータの転送を開始すると共に、転送データライン数を転送データライン管理手段18で管理することによって、転送データライン数格納手段13の先頭格納場所に格納されているデータライン数から順次DMA転送を繰り返し、最終格納場所のデータライン数のDMA転送を終了すると再び先頭格納場所に戻ってDMA転送を繰り返す一方、転送終了データビット格納手段14に格納されている転送終了データビットに対応して前記転送データライン数格納手段13に格納されている転送データライン数のDMA転送を終了した時点でDMA転送を停止する。 |
【特許請求の範囲】
【請求項1】 データ転送時にCPUの介在なくメモリのデータを転送処理するDMA転送装置において、転送アドレスを格納する転送アドレス格納手段と、複数の転送データライン数を格納する転送データライン数格納手段と、前記複数の転送データライン数にそれぞれ対応して適宜設定される転送終了指示ビットを格納する転送終了データビット格納手段と、転送データライン数を管理する転送データライン管理手段と、DMA転送要求の有無を管理する転送要求管理手段とを備え、DMA転送要求が有った際に、前記転送アドレス格納手段に格納されているアドレスからデータの転送処理を開始すると共に、転送データライン数を前記転送データライン管理手段で管理することによって、前記転送データライン数格納手段の先頭格納場所に格納されているデータライン数から順次DMA転送を繰り返し、最終格納場所のデータライン数のDMA転送を終了すると再び先頭格納場所に戻ってDMA転送を繰り返す一方、前記転送終了データビット格納手段に格納されている転送終了データビットに対応して前記転送データライン数格納手段に格納されている転送データライン数のDMA転送を終了した時点でDMA転送を停止することを特徴とするDMA転送装置。 【請求項2】 データ転送時にCPUの介在なくメモリのデータを転送処理するDMA転送装置において、複数の転送アドレスを格納する転送アドレス格納手段と、複数の転送データライン数を格納する転送データライン数格納手段と、前記複数の転送データライン数にそれぞれ対応して適宜設定される転送終了指示ビットを格納する転送終了データビット格納手段と、転送データライン数を管理する転送データライン管理手段と、画像の回転方向を示すデータを格納する回転方向格納手段と、回転方向格納手段の回転方向指示に従ってDMA転送アドレスを生成するDMA転送アドレス生成手段と、DMA転送要求の有無を管理する転送要求管理手段とを備え、DMA転送要求が有った際に、前記転送アドレス格納手段に格納されているアドレスからラインデータの転送処理を開始し、前記回転方向格納手段の回転方向指示に従って前記DMA転送アドレス生成手段により次DMA転送アドレスを生成すると共に、転送データライン数を前記転送データライン管理手段で管理することによって、前記転送データライン数格納手段の先頭格納場所に格納されているデータライン数から順次DMA転送を繰り返し、最終格納場所のデータライン数のDMA転送を終了すると再び先頭格納場所に戻ってDMA転送を繰り返す一方、前記転送終了データビット格納手段に格納されている転送終了データビットに対応して前記転送データライン数格納手段に格納されている転送データライン数のDMA転送を終了した時点でDMA転送を停止することを特徴とするDMA転送装置。 【請求項3】 前記回転方向格納手段は、前記転送データライン数格納手段の複数のデータライン数格納場所に対応してそれぞれ画像の回転方向を示すデータを格納する複数の回転方向データ格納場所を備え、前記転送データライン数格納手段に格納されている各データライン数のデータを、前記回転方向格納手段に格納されている回転方向指令に基づき、前記DMA転送アドレス生成手段により次DMA転送アドレスを生成し、DMA転送処理を行うことを特徴とする請求項第2項記載のDMA転送装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、データ転送時にCPUの介在なくメモリのデータを転送処理するDMA(Direct Memory Access)転送装置に関する。 【0002】 【従来の技術】ファクシミリ装置などの画像処理装置においては、画像の一部抽出処理、回転処理、拡大、縮小処理、変形処理等の画像処理を行うために、一つのメモリから他のメモリへデータを頻繁に移し替える転送処理が行われおり、この処理をCPUの介在なしに実行するためDMA転送装置が利用されている。 【0003】 【発明が解決しようとする課題】しかしながら、従来のDMA転送装置においては、CPUの介在なしに転送処理を実行するとは言っても、転送するメモリエリア毎にDMA転送装置からCPUに割込みを発生させ、それを受けてCPUがDMA転送装置に次に転送処理すべきメモリエリアを指示することにより、DMA転送処理を行っていたため、その処理のためにCPUが占有されてしまい、特に長尺の画像データを転送する場合などにCPUの負荷軽減が図れない問題があった。 【0004】本発明は、CPUの負担なしに長尺の画像データを連続して転送処理し、CPUの介在なしに転送処理を終了することの出来るDMA転送装置を提供することを目的とする。 【0005】 【課題を解決するための手段】上記課題を解決するため、請求項1にかかる発明は、データ転送時にCPUの介在なくメモリのデータを転送処理するDMA転送装置において、転送アドレスを格納する転送アドレス格納手段と、複数の転送データライン数を格納する転送データライン数格納手段と、前記複数の転送データライン数にそれぞれ対応して適宜設定される転送終了指示ビットを格納する転送終了データビット格納手段と、転送データライン数を管理する転送データライン管理手段と、DMA転送要求の有無を管理する転送要求管理手段とを備え、DMA転送要求が有った際に、前記転送アドレス格納手段に格納されているアドレスからデータの転送処理を開始すると共に、転送データライン数を前記転送データライン管理手段で管理することによって、前記転送データライン数格納手段の先頭格納場所に格納されているデータライン数から順次DMA転送を繰り返し、最終格納場所のデータライン数のDMA転送を終了すると再び先頭格納場所に戻ってDMA転送を繰り返す一方、前記転送終了データビット格納手段に格納されている転送終了データビットに対応して前記転送データライン数格納手段に格納されている転送データライン数のDMA転送を終了した時点でDMA転送を停止することを特徴とする。 【0006】請求項2に係る発明は、データ転送時にCPUの介在なくメモリのデータを転送処理するDMA転送装置において、複数の転送アドレスを格納する転送アドレス格納手段と、複数の転送データライン数を格納する転送データライン数格納手段と、前記複数の転送データライン数にそれぞれ対応して適宜設定される転送終了指示ビットを格納する転送終了データビット格納手段と、転送データライン数を管理する転送データライン管理手段と、画像の回転方向を示すデータを格納する回転方向格納手段と、回転方向格納手段の回転方向指示に従ってDMA転送アドレスを生成するDMA転送アドレス生成手段と、DMA転送要求の有無を管理する転送要求管理手段とを備え、DMA転送要求が有った際に、前記転送アドレス格納手段に格納されているアドレスからラインデータの転送処理を開始し、前記回転方向格納手段の回転方向指示に従って前記DMA転送アドレス生成手段で次DMA転送アドレスを生成すると共に、転送データライン数を前記転送データライン管理手段で管理することによって、前記転送データライン数格納手段の先頭格納場所に格納されているデータライン数から順次DMA転送を繰り返し、最終格納場所のデータライン数のDMA転送を終了すると再び先頭格納場所に戻ってDMA転送を繰り返す一方、前記転送終了データビット格納手段に格納されている転送終了データビットに対応して前記転送データライン数格納手段に格納されている転送データライン数のDMA転送を終了した時点でDMA転送を停止することを特徴とする。 【0007】請求項3に係る発明は、請求項2における前記回転方向格納手段が前記転送データライン数格納手段の複数のデータライン数格納場所に対応してそれぞれ画像の回転方向を示すデータを格納する複数の回転方向データ格納場所を備え、前記転送データライン数格納手段に格納されている各データライン数のデータを、前記回転方向格納手段に格納されている回転方向指令に基づき、前記DMA転送アドレス生成手段により次DMA転送アドレスを生成し、DMA転送処理を行うことを特徴とする。 【0008】 【発明の実施の形態】本発明の実施の形態を図を参照して以下に説明する。図1は、本発明によるDMA転送装置1とその周辺装置の概略ブロック図を示したもので、2はシステム全体を制御するCPUであり、プログラムドROM、ワークRAMを備えている。3はDMA転送するデータを記憶するメモリである。 【0009】DMA転送装置1は、DMA転送アドレス生成手段11、転送アドレス格納手段12、転送データライン数格納手段13、転送終了データビット格納手段14、回転方向格納手段15、タイミング生成手段16、DMA優先順位決定手段17、転送データライン管理手段18から構成されている。 【0010】DMA転送アドレス生成手段11は、画像を回転する指示があればその指示に基づいて、また、無ければ予め決められた順序で順次DMA転送すべきデータの次転送データアドレスを生成する。 【0011】転送アドレス格納手段12は、CPUからの指示に基づいてDMA転送すべき複数ライン分ずつの各データブロック毎の先頭アドレスを格納するもので、n個のデータブロックに対応するn個の先頭アドレス格納場所を有するが、それらのデータブロックが連続する場合はn個のデータブロックを通して最先端のデータブロック1個の先頭アドレスのみが格納される。 【0012】転送データライン数格納手段13は、1回のDMA転送で転送すべきデータブロックのライン数をそれぞれ格納するn個のライン数格納場所を有する。 【0013】転送終了データビット格納手段14は、転送終了を指示するビットを格納するもので、その格納場所は前記各転送データライン数(各データブロック)毎に対応して設けられ、n個の終了ビット格納場所を有する。 【0014】回転方向格納手段15は、画像の回転方向を指示するデータを格納するもので、その格納場所は前記各転送データライン数毎に対応して設けられ、n個の回転方向格納場所を有する。 【0015】タイミング生成手段16は、DMA転送先または転送元となるメモリ装置3にストローブ信号sを出力する。 【0016】DMA優先順位決定手段17は、書き込み制御部、読み込み制御部等の外部にあるDMA転送が必要なデバイスからの複数のDMA転送要求Tに対して優先順位を決定してタイミング生成部16に出力する。 【0017】転送データライン管理手段18は、CPU2から指定されたライン数だけ、DMA転送が行われるようにライン数を管理する。 【0018】本発明によるDMA転送装置は以上のように構成されて、DMA転送動作は図2のフローチャートで示すように行われる。即ち、図2に示すDMA転送動作は、先頭の転送アドレスのみを指示し、後は転送するデータブロックのライン数を指示するだけで次々とデータ転送を実行する場合の例を示している。 【0019】CPU2は、DMA転送装置1の転送アドレス格納手段12、転送データライン数格納手段13に先頭の転送アドレスと転送するデータブロックの転送ライン数を格納(S1)した後、DMA転送処理をスタートさせる(S2)。 【0020】転送データライン数格納手段13には、各ライン数を格納する場所がn個あり、それぞれ転送処理可能なデータブロックがメモリ3に用意できる毎に、CPU2は、各データブロックのライン数を転送データライン数格納手段13の各格納場所に順次格納していく。 【0021】DMA転送装置1は、この状態で待機し(S3のN)、外部からDMA転送要求TがDMA優先順位決定手段17に入力されると(S3のY)、DMA転送を開始する(S4)。 【0022】これにより、メモリ3の転送アドレス格納手段12で指定されたアドレスからビットまたはワード単位で画像データのDMA転送が開始され、1ライン分の転送処理が終了するまで繰り返される(S5のN)。 【0023】1ライン分の転送処理が終了するすると(S5のY)、転送データライン管理手段18により、転送データライン数格納手段13に格納されている最初のライン数から−1して(S6)、次ラインに移行し最終ラインに到達するまで同様の転送処理を繰り返す(S7のN)。 【0024】転送データライン数格納手段13に格納されていた最初のデータライン数分のDMA転送を終了すれば(S7のY)、このときのデータライン数に対応して格納されている転送終了データビット格納手段14の格納場所のビットを調べ、終了ビットが格納されていれば、DMA転送処理を終了する(S8のY)。 【0025】転送を終了したデータライン数に対応する転送終了データビットが格納されていない場合は(S8のN)、転送データライン数格納手段13の次の格納場所を調べ、次転送データライン数が格納されていなければ、CPU2から格納されるまで待機する(S9のN)。 【0026】転送データライン数格納手段13に次転送データライン数が格納されていれば(S9のY)、次のデータブロックの先頭ラインから上述した最初のデータブロックの転送の場合と同様にして次データブロックのDMA転送処理を行う。 【0027】このようにして、CPU2は1番最初のデータブロックの先頭アドレスを格納した後は、各データブロックのライン数のみを順次格納するだけで、DMA転送装置1は転送データライン数格納手段13に各格納場所に格納されている各転送データライン数に基づき順次転送処理を行って最終のデータブロックnの転送処理を終えると最初の転送データライン数格納場所1に戻ってそこに格納されているデータライン数のDMA転送処理を繰り返す。これにより、CPU2の介在なしに長尺の画像データのDMA転送が可能となる。 【0028】図3は、本発明による実施の形態の他の例を示したもので、転送アドレス毎のデータブロックを必要に応じて所定角度回転させてDMA転送する場合の例である。 【0029】CPU2は、DMA転送装置1の転送アドレス格納手段12、転送データライン数格納手段13、回転方向格納手段15にそれぞれ先頭の転送アドレス、転送するデータブロックの転送ライン数、その回転方向を格納(S11)した後、DMA転送処理をスタートさせる(S12)。 【0030】転送データライン数格納手段13には、各ライン数を格納する場所がn個あり、それぞれ転送処理可能なデータブロックがメモリ3に用意できる毎に、CPU2は、各データブロックのライン数を転送データライン数格納手段13の各格納場所に、また、その回転方向を回転方向格納手段15の各格納場所に順次格納していく。 【0031】DMA転送装置1は、この状態で待機し、外部からDMA転送要求TがDMA優先順位決定手段17に入力されると(S13のY)、DMA転送を開始(S14)し、そのデータブロックの回転方向の指示に従ってDMA転送アドレス生成手段11で順次アドレスを生成して画像データをDMA転送する(S15)。 【0032】これにより、メモリ3の転送アドレス格納手段12で指定されたアドレスから転送データライン数格納手段13に格納されたデータライン数分のデータブロックが回転方向格納手段15に格納された回転方向の指示に従ってビットまたはワード単位で画像データのDMA転送が開始され、1ライン分終了するまで転送処理が繰り返される(S16のN)。 【0033】1ライン分の転送処理が終了するすると(S16のY)、転送データライン管理手段18によって転送データライン数格納手段13に格納されている最初のライン数を−1して(S17)、次ラインに移行し最終ラインに到達するまで画像データの転送処理を繰り返す(S18のN)。 【0034】転送データライン数格納手段13に格納されていた最初のデータライン数分のDMA転送を終了して、そのデータブロックの最終ラインのDMA転送を終了すれば(S18のY)、このときのデータライン数に対応して格納されている転送終了データビット格納手段14の終了ビット格納場所を調べ(S19)、終了ビットが格納されていれば、DMA転送処理を終了する(S19のY)。 【0035】転送を終了したデータライン数に対応する転送終了データビットが格納されていない場合は(S19のN)、転送アドレス格納手段12、転送データライン数格納手段13、回転方向格納手段15におけるそれぞれ次の格納場所を調べ、次転送データライン数、そのデータブロックの先頭アドレス、回転方向が格納されていなければ、CPU2から格納されるまで待機する(S20のN)。 【0036】転送アドレス格納手段12、転送データライン数格納手段13、回転方向格納手段15にそれぞれ次転送データライン数、そのデータブロックの先頭アドレス、回転方向が格納されていれば(S20のY)、次のデータブロックの先頭ラインから再び上述したDMA転送処理を繰り返し実行する。 【0037】このようにして、CPU2は転送アドレス格納手段12、転送データライン数格納手段13、転送終了データビット格納手段14、回転方向格納手段15の各格納場所に、それぞれDMA転送すべき各データブロックの先頭アドレス、ライン数、最後のデータブロックに対応する転送終了ビット、各データブロックの回転方向を順次格納する。 【0038】DMA転送装置1はこれら各格納場所に格納されているデータに基づきCPU2の介在なしに各データブロックのDMA転送処理を順次行って最終のデータブロックnの転送処理を終えると最初の格納場所1に戻ってそこに格納されているデータライン数のDMA転送処理を繰り返す。 【0039】これにより、長尺の画像データの回転を含むDMA転送が可能となる。一方、その過程で、転送終了ビットを検出すれば、DMA転送を終了することにより、所望の長さのがデータのDMA転送が可能となる。 【0040】図4は、メモリに展開した画像データを16bit×16bitを1単位として画像回転をする場合のイメージ図であり、例として90度、180度、270度回転する場合を示している。 【0041】回転方向格納手段15には、上記回転角度あるいは回転なしが、転送データライン数格納手段13の各データライン数格納場所に対応して格納される。また、回転処理する方式としては種種の方式が知られているが、ここではメモリに展開した画像を16bit×16bit単位で回転する場合を示している。 【0042】図4に示すように、bit1〜256をメモリ3から読み込み、回転処理をした後に、再びメモリ3に書き込むようにすれば、読み込みアドレスと書き込みアドレスを同一とすることも可能であり、メモリ容量の節約につながる。 【0043】図5は、図4の画像データを印字した状態を示したもので、それぞれ90度、180度、270度回転した画像データの印字出力を示している。 【0044】 【発明の効果】請求項1に係る発明によれば、画像データ転送などにおいて、転送ライン数を管理しつつ無限DMA転送が可能であるため、CPUの介在なしに長尺の画像データのDMA転送が可能となる。また、長尺または長尺以外の画像データをCPUの介在なしに指定ライン数だけDMA転送を行うことが出来る。 【0045】請求項2に係る発明によれば、回転のある画像データを複数連続してDMA転送することが出来る。また、回転方向指示によりDMAアドレスを生成するため、転送前の回転画データをメモリ上で生成する場合は、そのメモリ容量を減らすことが出来る。 【0046】請求項3に係る発明によれば、請求項2に対応する効果に加え、それぞれの画像データの回転方向も自由に設定可能となる。
|
| 【出願人】 |
【識別番号】000006747 【氏名又は名称】株式会社リコー
|
| 【出願日】 |
平成12年10月20日(2000.10.20) |
| 【代理人】 |
【識別番号】100083231 【弁理士】 【氏名又は名称】紋田 誠
|
| 【公開番号】 |
特開2002−132706(P2002−132706A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2000−320975(P2000−320975) |
|