(57)【特許請求の範囲】
【請求項１】
機器と機器の間でシリアルにデータを転送するＤＭＡ転送制御装置であって、
データ送信側では、データをパラレル／シリアル変換するときに、全ビットが同一の２値情報である場合はその２値情報を１ビットだけ送出し、それ以外の場合は最上位ビットおよび最上位ビットと同一の２値情報が連続するビットを削除して最下位ビットから送出し、データ受信側では、データをシリアル／パラレル変換するときに受信したビット数を超えるビットの位置には前記削除した２値情報を補充して所定のデータ長のデータを復元することを特徴とするＤＭＡ転送制御装置。
【請求項２】
機器と機器の間でシリアルにデータを転送するＤＭＡ転送制御装置において、
転送データの全ビットが同一の２値情報である場合はその２値情報を１ビットだけを送出し、それ以外の場合は転送データから最上位ビットおよび最上位ビットと同一の２値情報が連続するビットを削除したビットを有効データビットとして出力する有効ビット検出部と、
該有効データビットについてパラレル／シリアル変換を行い、最下位ビットから送信するパラレル／シリアル変換部と、
前記有効データビットを受信すると、シリアル／パラレル変換するシリアル／パラレル変換部と、
該変換後のパラレルデータの上位ビットに前記削除されたビット数だけの前記２値情報を付加して前記転送データを復元するデータ復元部とを備えたことを特徴とするＤＭＡ転送制御装置。
【請求項３】
機器と機器の間でシリアルにデータを転送するＤＭＡ転送制御方法において、
転送データの最上位ビットから同一の２値情報がいくつ連続しているかを検出する手順と、
前記転送データの全ビットが同一の２値情報である場合はその２値情報を１ビットだけを出力し、それ以外の場合は前記転送データから最上位ビットおよび最上位ビットと同一の２値情報が連続するビットを削除したビットを有効データビットとして出力する手順と、
該有効データビットについてパラレル／シリアル変換を行い、最下位ビットから送信する手順と、
前記有効データビットを受信すると、シリアル／パラレル変換する手順と、
該変換後のパラレルデータの上位ビットに前記削除されたビット数だけの前記２値情報を付加して前記転送データを復元する手順とを有することを特徴とするＤＭＡ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データなどの大量の生データを転送する際に使用するＤＭＡ転送制御に関する。
【０００２】
【従来の技術】
ディジタルカメラやパソコン等の外部装置から内部メモリへのデータ転送をＣＰＵ（中央処理演算装置）のバックグラウンドで行う技術としてＤＭＡ転送が知られている。このＤＭＡ転送は、従来、シリアルで送られてきた固定長データ（例えば１６ビット）を全て（１６ビット分）シリアル／パラレル変換してメモリへ転送する方式をとっている。しかし、この方式では、転送レートを上げる為にはクロックを速くするしか方法がない。
【０００３】
これに対して、クロックを速くすることなく、転送レーとを上げる技術が、特開平８−２６３４３３号公報に記載されている。この公報記載の「データバス制御装置」の実施の形態は、図４に示すように構成されている。
【０００４】
図４において、送信すべきデータは、メモリ20に格納されており、メモリ20から送信すべきデータは読み出されレジスタ40に設定される。レジスタ40に設定された送信データは圧縮回路80によりデータ圧縮され、圧縮後のデータビット数を算出する。圧縮されたデータは、送信回路50によりシリアル・データに変換されデータバス100上に送信される。このとき、データ圧縮後の送信されるデータのビット長はコントローラ30によりビットカウンタ70に設定され送信ビット数をコントロールする。
【０００５】
また、データバス100上に転送されるシリアル・データは、受信回路60により受信されパラレルデータに変換してレジスタ41に設定され、メモリ20に格納される。このとき、受信データビット長をビットカウンタ71のよりカウントし、レジスタ41からメモリ20に格納する際、圧縮回路81により圧縮データを復元しメモリ20に格納する。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した第１の従来技術では、転送クロックを上げることのできない環境（宇宙環境等）では転送レートを上げることが困難であるという問題点がある。その理由は、環境によっては信頼性の向上を重視し、使用デバイスやクロック等に制限があるためである。また、クロックを速くするということは消費電力の大幅上昇につながるので、電力的に厳しい状況では、この点も考慮する必要がある為である。
【０００７】
また、公報記載の第２の従来技術では、送受信全体を制御するコントローラを必要とするため、一つの装置内におけるデータのやり取りには有効であるが、外部装置とのデータ転送には有効でないという問題点がある。コントローラは、送信したビットの管理を行い、送信したデータのビット長を受信側にセットすることによってデータを復元するようにしなればならないからである。
【０００８】
本発明の目的は、転送クロックを速くすることなく、ＤＭＡの転送レートを向上させ、ひいては低消費電力を実現する、装置間ＤＭＡ転送に有効なＤＭＡ転送制御装置およびＤＭＡ転送制御方法を提供することである。
【０００９】
また、本発明の他の目的は、複雑な回路を必要とせず、容易に従来のＤＭＡ転送制御方式から置き換えることができる、装置間ＤＭＡ転送に有効なＤＭＡ転送制御装置およびＤＭＡ転送制御方法を提供することである。。
【００１０】
【課題を解決するための手段】
第１の本発明のＤＭＡ転送制御装置は、機器と機器の間でシリアルにデータを転送するＤＭＡ転送制御装置であって、データ送信側では、データをパラレル／シリアル変換するときに、全ビットが同一の２値情報である場合はその２値情報を１ビットだけ送出し、それ以外の場合は最上位ビットおよび最上位ビットと同一の２値情報が連続するビットを削除して、最下位ビットから送出し、データ受信側では、データをシリアル／パラレル変換するときに受信したビット数を超えるビットの位置には前記削除した２値情報を補充して所定のデータ長のデータを復元すことを特徴とする。
【００１１】
第２の本発明のＤＭＡ転送制御装置は、機器と機器の間でシリアルにデータ転送するＤＭＡ転送制御装置において、転送データの全ビットが同一の２値情報である場合はその２値情報を１ビットだけを送出し、それ以外の場合は転送データから最上位ビットおよび最上位ビットと同一の２値情報が連続するビットを削除したビットを有効データビットとして出力する有効ビット検出部と、該有効データビットについてパラレル／シリアル変換を行い、最下位ビットから送信するパラレル／シリアル変換部と、前記有効データビットを受信すると、シリアル／パラレル変換するシリアル／パラレル変換部と、該変換後のパラレルデータの上位ビットに前記削除されたビット数だけの前記２値情報を付加して前記転送データを復元するデータ復元部とを備えたことを特徴とする。
【００１２】
本発明のＤＭＡ転送制御方法は、機器と機器の間でシリアルにデータを転送するＤＭＡ転送制御方法において、転送データの最上位ビットから同一の２値情報がいくつ連続しているかを検出する手順と、前記転送データの全ビットが同一の２値情報である場合はその２値情報を１ビットだけを出力し、それ以外の場合は前記転送データから最上位ビットおよび最上位ビットと同一の２値情報が連続するビットを削除したビットを有効データビットとして出力する手順と、該有効データビットについてパラレル／シリアル変換を行い、最下位ビットから送信する手順と、前記有効データビットを受信すると、シリアル／パラレル変換する手順と、該変換後のパラレルデータの上位ビットに前記削除されたビット数だけの前記２値情報を付加して前記転送データを復元する手順とを有することを特徴とする。
【００１３】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１は本発明の一実施の形態のブロック図を示し、図２は本発明によるデータ転送のタイミングチャートを従来技術と対比して示している。
【００１５】
図１において、送信側であるデータ圧縮転送部１１は、有効ビット検出部２とＰ／Ｓ変換部３とを備え、また、受信側であるＤＭＡ制御部７は、Ｓ／Ｐ変換部４と、データ復元部５と、データ格納部６と、アドレスカウンタ８とを備える。そして、ディジタルカメラ等の大量の画像生データ（転送データ１）をＣＰＵ１０のバックグラウンドでＲＡＭ９に転送する。
【００１６】
データ圧縮転送部１１内の有効ビット検出部２は、転送データ１について、最上位ビットから”０”がいくつ連続しているかを検出し、転送データ１から最上位ビットと連続している”０”のビットを引いた分のビットを有効データビットとして出力する。なお、転送データ１がＡＬＬ”０”であるときは”０”を１ビットだけ出力する。
【００１７】
Ｐ／Ｓ変換部３は、この有効ビットについて、パラレル／シリアル変換を行う。この時、最下位ビットからシリアル転送を行い、有効データビット分だけの転送を終了した時点でパラレル／シリアル変換を終了し、次のデータのセットを行う。
【００１８】
ＤＭＡ制御部７のＳ／Ｐ変換部４は、送られてきたデータをシリアル／パラレル変換し、データ復元部５に渡す。データ復元部５は、有効データビットの上位ビットに、有効ビット検出部２が差し引いたビット数だけの”０”を付加することで転送データ１を復元し、データ格納バッファ６にデータを格納する。
【００１９】
データ格納バッファ６にデータがセットされると、データ格納バッファ６は、アドレスカウンタ８に対してデータ出力要求を行う。アドレスカウンタ８は、ＣＰＵ（中央処理装置）１０に対してメモリライト要求を行う。これに対して、ＣＰＵ１０からライトイネーブルが入力した時点で、アドレスカウンタ８は、ＲＡＭ９に書き込みアドレスを設定し、データ格納バッファ７にデータ出力イネーブルを出力する。この結果、データバスを介してデータ格納バッファ６内のデータがをＲＡＭ（ランダムアクセスメモリ）９に書き込まれる。
【００２０】
図２には、従来のシリアルデータ転送と本発明によるシリアルデータ転送の比較をタイムチャートで示す。転送するデータとして”０００００００１”と、”００００００１０”と、”０００００１００”を例にとる。従来方式では、転送するのに２６クロックを要するが、本発明におけるように、最下位ビット（ＬＳＢ）から有効データビット分だけ転送すると、この３つのデータを転送するのに８クロックで良いことが分かる。
【００２１】
次に、本発明のデータ圧縮方法を中心に説明する。
【００２２】
図３は８ビット分の転送データを”０”を削除して転送する場合の例である。図３において、データＤ１の様な”０００１０１１１”というデータについて、有効ビットを検出すると上位ビットに”０”が３個連続しているため転送データのデータ長８ビットから、これら３ビットを削除した下位の５ビットが有効データビットであることになる。
【００２３】
また、データＤ１を転送する際は、最下位ビットから”１・１・１・０・１”と順番に転送していき、有効データビットである５ビットを転送したところでゲートを閉じてパラレル／シリアル変換を終了し、次のデータの転送に移る。
【００２４】
圧縮データの受取側では転送データＤ１に対する圧縮データＤ８をデータ復元用のバッファに対してあらかじめ”０”を格納しておき、送られてきたデータをＬＳＢからシリアル／パラレル変換しデータを格納していき、データが無くなった時点、つまりゲートが閉じた時点でバッファのデータをラッチし、データ格納バッファ６にデータセットする。この時、データの無い部分にはあらかじめ”０”を格納しているため、送る前のデータが復元された形になっている。
【００２５】
また、データＤ２の様にＡＬＬ”０”のデータの場合は、圧縮データＤ９の様に”０”を１ビット分だけ転送することにより復元されたデータにＡＬＬ”０”のデータが入る。データ格納バッファ６にあるデータはデータバスからメモリへ９と転送される。
【００２６】
図３の場合、データＤ１〜Ｄ７が転送するデータで、データＤ８〜Ｄ１４が圧縮したデータである。このときのデータの圧縮率は約７０％となり、シリアル転送の際のデータ間を１クロックとした場合、約１．４倍の転送レートが得られる。
【００２７】
本発明は、このように、データの転送部に対してのみを改良すればよいため、データバスへのアクセス等に変更はなく、従来のＤＭＡコントローラとコンパチブルに使用することができるのである。
【００２８】
【発明の効果】
本発明の第１の効果は、データの転送クロックを上げることなく転送レートを向上することができ、ひいては、低消費電力を実現できるるということである。その理由は、シリアルでデータを転送する際にデータを簡易圧縮しデータ長を短くするためである。
【００２９】
また、本発明の第２の効果は、装置間でのデータ転送に有効であるということである。その理由は、受信側で転送データのビット長を知らせる必要がなく、送信側と受信側の両方を制御するコントローラを必要としないためである。
【図面の簡単な説明】
【図１】本発明の一実施の形態のブロック図
【図２】本発明と従来技術によるシリアル転送の比較を示す図
【図３】本発明のデータの簡易圧縮を説明するための図
【図４】従来のデータ転送装置の一例を示すブロック図
【符号の説明】
１          転送データ
２          有効ビット検出部
３          Ｐ／Ｓ変換部
４          Ｓ／Ｐ変換部
５          データ復元部
６          データ格納バッファ
７          ＤＭＡ制御部
８          アドレスカウンタ
９          ＲＡＭ
１０        ＣＰＵ
１１        データ圧縮転送部
【図１】
0003667556.tif 000002
【図２】
0003667556.tif 000003
【図３】
0003667556.tif 000004
【図４】
0003667556.tif 000005