(57)【要約】【課題】転送データ格納部に入力されるデータが遅れた場合であっても、入力されているデータを所定の時間内に処理できるようにする。【解決手段】ＤＭＡコントローラ部８が、タイマ部６で計測される所定の時間を経過しても転送データ格納部３に入力されたデータ数が転送リスト設定部５に予め記憶された転送データ格納部３に入力されるデータ数に達しないことを検知したとき、転送データ格納部３に入力されているデータを記憶部４へ転送するようにした。【選択図】        図１
2009282856.tif 000002
【特許請求の範囲】
【請求項１】
入力されるデータを記憶するための転送データ格納部から記憶部へデータの転送を行うダイレクトメモリアクセスコントローラを有するデータ転送処理装置において、
時間を計測する時間計測部と、
転送データ格納部に入力されるデータ数を予め記憶する転送情報設定部とを設け、
ダイレクトメモリアクセスコントローラが、前記時間計測部で計測される所定の時間を経過しても転送データ格納部に入力されたデータ数が前記転送情報設定部に記憶されたデータ数に達しないことを検知したとき、該転送データ格納部に入力されているデータを記憶部へ転送するようにしたことを特徴とするデータ転送処理装置。
【請求項２】
請求項１のデータ転送処理装置において、
前記ダイレクトメモリアクセスコントローラが、該転送データ格納部に入力されているデータに仮データが付加されたデータを前記転送情報設定部に記憶されたデータ数に基づいて記憶部へ転送するようにしたことを特徴とするデータ転送処理装置。
【請求項３】
請求項１または請求項２のデータ転送処理装置において、
前記ダイレクトメモリアクセスコントローラが、前記時間計測部で計測される所定の時間を経過しても転送データ格納部に入力されたデータ数が前記転送情報設定部に記憶されたデータ数に達しないことを検知したとき、該転送データ格納部に入力されているデータ数をタイムアウト情報記憶部に記憶させるようにしたことを特徴とするデータ転送処理装置。
【請求項４】
入力されるデータを記憶するための転送データ格納部から記憶部へデータの転送を行うダイレクトメモリアクセスコントローラを有するデータ転送処理方法において、
ダイレクトメモリアクセスコントローラが、時間計測部で計測される所定の時間を経過しても転送データ格納部に入力されたデータ数が転送情報設定部に予め記憶された転送データ格納部に入力されるデータ数に達しないことを検知したとき、該転送データ格納部に入力されているデータを記憶部へ転送するようにしたことを特徴とするデータ転送処理方法。
【請求項５】
請求項４のデータ転送処理方法において、
前記ダイレクトメモリアクセスコントローラが、該転送データ格納部に入力されているデータに仮データが付加されたデータを前記転送情報設定部に記憶されたデータ数に基づいて記憶部へ転送するようにしたことを特徴とするデータ転送処理方法。
【請求項６】
請求項４または請求項５のデータ転送処理方法において、
前記ダイレクトメモリアクセスコントローラが、前記時間計測部で計測される所定の時間を経過しても転送データ格納部に入力されたデータ数が前記転送情報設定部に記憶されたデータ数に達しないことを検知したとき、該転送データ格納部に入力されているデータ数をタイムアウト情報記憶部に記憶させるようにしたことを特徴とするデータ転送処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイレクトメモリアクセスコントローラを備えたデータ転送処理装置およびデータ転送処理方法に関し、特に外部の装置から入力されたデータを即時に処理するためのデータ転送処理装置およびデータ転送処理方法に関する。
【背景技術】
【０００２】
従来のデータ転送処理装置は、音声データや画像データ等のデータを所定の時間内に一定量の処理を完結させるリアルタイム処理を確実に行うため、ダイレクトメモリアクセスコントローラ（以下、「ＤＭＡコントローラ」という。）が使用するバスの占有時間が所定の時間に達した場合、実行中のデータ転送を中断させ、他のデータ転送を開始するようにしている（例えば、特許文献１参照）。
【特許文献１】特開２００５−５６０６７号公報（段落「００９４」〜段落「０１０７」、図２、図８）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来の技術においては、外部の装置から音声データや画像データ等のデータを一時的に記憶するための転送データ格納部に入力し、そのデータをＤＭＡコントローラでメモリ等に転送する場合、その転送データ格納部に所定量のデータが入力されるまでデータの転送を開始することができないため、転送データ格納部に入力されるデータが遅れると入力されているデータを所定の時間内に処理することができないという問題がある。
【０００４】
本発明は、このような問題を解決することを課題とし、転送データ格納部に入力されるデータが遅れた場合であっても、入力されているデータを所定の時間内に処理できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
そのため、本発明によるデータ転送処理装置は、入力されるデータを記憶するための転送データ格納部から記憶部へデータの転送を行うダイレクトメモリアクセスコントローラを有するデータ転送処理装置において、時間を計測する時間計測部と、転送データ格納部に入力されるデータ数を予め記憶する転送情報設定部とを設け、ダイレクトメモリアクセスコントローラが、前記時間計測部で計測される所定の時間を経過しても転送データ格納部に入力されたデータ数が前記転送情報設定部に記憶されたデータ数に達しないことを検知したとき、該転送データ格納部に入力されているデータを記憶部へ転送するようにしたことを特徴とする。
【０００６】
また、本発明によるデータ転送処理方法は、入力されるデータを記憶するための転送データ格納部から記憶部へデータの転送を行うダイレクトメモリアクセスコントローラを有するデータ転送処理方法において、ダイレクトメモリアクセスコントローラが、時間計測部で計測される所定の時間を経過しても転送データ格納部に入力されたデータ数が転送情報設定部に予め記憶された転送データ格納部に入力されるデータ数に達しないことを検知したとき、該転送データ格納部に入力されているデータを記憶部へ転送するようにしたことを特徴とする。
【発明の効果】
【０００７】
このようにした本発明は、転送データ格納部に入力されるデータが遅れた場合であっても、入力されているデータを所定の時間内に処理することができるようになるという効果が得られる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明によるデータ転送処理装置およびデータ転送処理方法の実施例を説明する。
【実施例】
【０００９】
図１は実施例におけるデータ転送処理装置の構成を示すブロック図である。
図１において、１はデータ転送処理装置であり、通常のコンピュータ等の情報処理装置である。このデータ転送処理装置１は、例えばカメラで撮影した画像データや音声入力装置で入力した音声データ等を入力するものであるがそれに限られるものでなく、パーソナルコンピュータ等の通常のコンピュータも含むものである。
【００１０】
２は入出力部であり、カメラ等の外部装置１０との間で既定の手順でデータを入出力するものである。なお、本実施例では入出力部２に入力されたデータを転送するものとして説明する。
３は転送データ格納部であり、入出力部２を介して外部装置１０との間でデータの入出力を行うためにデータを一時的に記憶するメモリ等の記憶素子で構成され、例えば外部装置１０から入力された画像データまたは外部装置１０へ出力する画像データを一時的に記憶するバッファメモリ等である。
【００１１】
この転送データ格納部３は、入出力部２を介して入力されたデータが所定のデータ数に達すると後述するＤＭＡコントローラ部へ入力されたデータの転送を要求する転送要求信号を出力する。
４は記憶部であり、メモリ等の記憶素子で構成されたものである。この記憶部４は転送データ格納部３との間で転送されるデータを記憶し、またデータ転送処理装置１全体を制御する制御プログラム（ソフトウェア）等を記憶する。
【００１２】
５は転送情報設定部としての転送リスト設定部であり、転送データ格納部３に格納されたデータを転送するために、記憶部４の転送先のアドレスを示す転送先アドレスおよび転送するデータ数を示す転送データ数を転送リストとして記憶するレジスタ等の記憶素子で構成されたものである。
転送データ格納部３は、この転送リスト設定部５に設定された転送データ数を参照し、入出力部２を介して入力されたデータがその転送データ数に達したとき、後述するＤＭＡコントローラ部へ入力されたデータの転送を要求する転送要求信号を出力する。
【００１３】
したがって、転送リスト設定部５の転送データ数には、所定の時間内に転送データ格納部３から記憶部４へ転送されるべきデータ数が予め設定される。
６は時間計測部としてのタイマ部であり、計測を開始してから転送データ格納部３からＤＭＡコントローラ部に転送要求信号が入力されるまでの時間を計測するために使用されるものである。
【００１４】
７はタイムアウト情報記憶部であり、タイマ部６により所定の時間内に転送データ格納部３からの転送要求信号が入力されなかったこと（以下、「タイムアウト」という。）を検知したとき、そのタイムアウトが発生した旨の情報および転送データ格納部３に格納されたデータ数を有効データ数として記憶するレジスタ等の記憶素子で構成されたものである。
【００１５】
ここで、転送リスト設定部５およびタイムアウト情報記憶部７を図２の実施例における転送リスト設定部およびタイムアウト情報記憶部の説明図に基づいて説明する。
図２において、転送リスト設定部５は、転送データ格納部３に格納されたデータを転送するために、記憶部４の転送先のアドレスを示す転送先アドレス５１および転送するデータ数を示す転送データ数５２を記憶する。この転送先アドレス５１および転送データ数５２によりひとつの転送リストを構成し、転送リスト設定部５は複数の転送リストを記憶することができるようになっている。本実施例では、１からｘまでの転送リストを記憶することができるようになっているものとする。
【００１６】
また、タイムアウト情報記憶部７は転送リスト設定部５に記憶された転送リストに対応付けてその転送リストが示すデータ転送においてタイムアウトが発生したか否かを示すタイムアウト有無７１およびタイムアウトが発生した場合に入出力部２を介して入力されたデータ数を示す有効データ数７２で構成されている。本実施例では、１からｘまでの転送リストに対応付けて記憶することができるようになっているものとする。
【００１７】
図１の説明に戻り、８はスキャッタギャザーダイレクトメモリアクセスコントローラ等のＤＭＡコントローラ部であり、転送データ格納部３、転送リスト設定部５、タイマ部６、およびタイムアウト情報記憶部７との間で信号や情報の入出力が可能に接続され、転送リスト設定部５に記憶された転送先アドレスおよび転送データ数に基づいて転送データ格納部３に格納されたデータを記憶部４へ転送する制御を行うものである。
【００１８】
このＤＭＡコントローラ部８は、転送データ格納部３からのデータ転送要求信号を検知したとき、またはタイマ部６によりタイムアウトを検知したとき、転送データ格納部３に格納されたデータを記憶部４へ転送する。
ＤＭＡコントローラ部８は、転送データ格納部３からのデータ転送要求信号を検知したとき、転送データ格納部３に格納されたデータを記憶部４へ転送し、またタイマ部６によりタイムアウトを検知したとき、入出力部２を介して転送データ格納部３に格納されたデータにダミーデータを付加して記憶部４へ転送する。このとき、ＤＭＡコントローラ部８は転送リスト設定部５に設定された転送データ数が示す数量のデータを転送するものとする。
【００１９】
また、ＤＭＡコントローラ部８はタイマ部６によりタイムアウトを検知したとき、タイムアウト情報記憶部７のタイムアウト有無７１に「１：タイムアウト有り」、有効データ数７２に入出力部２を介して転送データ格納部３に格納されたデータ数を記憶させる。
９は制御部であり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等で構成され、記憶部４に記憶された制御プログラム（ソフトウェア）に基づいてＤＭＡコントローラ部８等からなるデータ転送処理装置１全体を制御する。
【００２０】
また、制御部９はＤＭＡコントローラ部８を介して転送リスト設定部５に、転送データ格納部３に格納されたデータを転送する記憶部４の転送先のアドレスを示す転送先アドレス５１および転送するデータ数を示す転送データ数５２を記憶させることができるようになっている。
このようにデータ転送処理装置１は、入出力部２、転送データ格納部３、記憶部４、転送リスト設定部５、タイマ部６、タイムアウト情報記憶部７、ＤＭＡコントローラ部８、および制御部９等で構成されている。
【００２１】
上述した構成の作用を図３の実施例におけるデータ転送処理を示すフローチャートの図中Ｓで表すステップにしたがって説明する。
まず、データの転送を開始する前に、制御部９は、図４（ａ）に示すように転送リスト設定部５に１番目の転送リストとして転送先アドレス５１（ＡＤＲ１）および転送データ数５２（ｉ）、２番目の転送リストとして転送先アドレス５１（ＡＤＲ２）および転送データ数５２（ｊ）を記憶させ、設定しておくものとする。
【００２２】
Ｓ１：制御部９およびＤＭＡコントローラ部８の指示により転送データ格納部３は入出力部２を介して外部装置１０からのデータの入力を開始する。
Ｓ２：データの入力を開始すると同時にタイマ部６は転送データ格納部３からＤＭＡコントローラ部８に転送要求信号が入力されるまでの時間の計測を開始する。
Ｓ３：転送データ格納部３は入出力部２を介して外部装置１０からデータを入力する。転送データ格納部３は入力されたデータを記憶素子に記憶させて蓄積するとともにそのデータ数を図示しないカウンタで計測する。
【００２３】
Ｓ４：転送データ格納部３は、データの入力が終了したか否か、すなわち入力されたデータ数が転送リスト設定部５に設定された転送データ数５２に達したか否かを判定する。その判定の結果、入力されたデータ数が転送リスト設定部５に設定された転送データ数５２に達していると判定されるとデータの入力が終了したものとして処理をＳ５へ移行し、一方入力されたデータ数が転送リスト設定部５に設定された転送データ数５２に達していないと判定されるとデータの入力が終了していないものとして処理をＳ７へ移行する。
【００２４】
Ｓ５：データの入力が終了すると転送データ格納部３は、ＤＭＡコントローラ部８へ入力されたデータの転送を要求する転送要求信号を出力し、その転送要求信号を検知したＤＭＡコントローラ部８は、転送リスト設定部５に設定された転送リストに基づいて転送データ格納部３に格納されたデータを転送先アドレス５１が示す記憶部４のアドレスを先頭として転送データ数５２が示すデータ量、すなわち転送データ格納部３に格納されたすべてのデータを記憶部４へ転送する。
【００２５】
Ｓ６：また、ＤＭＡコントローラ部８は、タイムアウト情報記憶部７のタイムアウト有無７１にタイムアウトが発生していないことを示す「０」を格納し、処理をＳ１１へ移行する。このとき、有効データ数７２の値は意味を持たない（例えば、「０」を格納する）。
Ｓ７：一方、Ｓ４において入力されたデータ数が転送リスト設定部５に設定された転送データ数５２に達していないと判定されるとＤＭＡコントローラ部８はデータの入力が終了していないものとしてタイマ部６で計測した時間が所定の時間を超えているか否かを判定する。なお、この所定の時間は制御部９によりＤＭＡコントローラ部８の図示しないレジスタ等の記憶素子に予め設定されているものとする。
【００２６】
その判定の結果、タイマ部６で計測した時間が所定の時間を超えている、すなわちタイムアウトを検知すると処理をＳ８へ移行し、一方所定の時間を超えていないと判定されると処理をＳ３へ移行してデータの入力を継続する。
Ｓ８：タイムアウトを検知するとＤＭＡコントローラ部８の指示により転送データ格納部３は転送リスト設定部５に設定された転送データ数５２から入力されたデータ数を減算したデータ数のダミーデータ（例えば、「０」や「−１」等の仮データ）を外部装置１０から入力された入力データに後続するように付加して格納する。
【００２７】
Ｓ９：転送データ格納部３は、ＤＭＡコントローラ部８へ入力データおよびダミーデータの転送を要求する転送要求信号を出力し、その転送要求信号を検知したＤＭＡコントローラ部８は、転送リスト設定部５に設定された転送リストに基づいて転送データ格納部３に格納されたデータを転送先アドレス５１が示す記憶部４のアドレスを先頭として転送データ数５２が示すデータ量、すなわち転送データ格納部３に格納されている入力データおよびダミーデータを記憶部４へ転送する。
【００２８】
なお、記憶部４へ転送するデータは、ダミーデータを含まない転送データ格納部３に格納されている入力データのみとしてもよい。
Ｓ１０：また、ＤＭＡコントローラ部８は、タイムアウト情報記憶部７のタイムアウト有無７１にタイムアウトが発生したことを示す「１」を格納し、有効データ数７２に転送データ格納部３に格納されている入力データのデータ数（例えば、「ｋ」）を格納して処理をＳ１１へ移行する。なお、入力データのデータ数は転送データ格納部３からＤＭＡコントローラ部８へ通知されるものとする。
【００２９】
Ｓ１１：ＤＭＡコントローラ部８は、転送リスト設定部５に設定されたすべての転送リストが終了したか否かを判定する。その判定の結果、すべての転送リストが終了したと判定されるとデータ転送処理を終了し、一方すべての転送リストが終了していないと判定されると次の転送リストの処理を行うため処理をＳ１へ移行する。
このようにしてデータ転送処理が行われ、転送リスト設定部５に設定されたすべての転送リストが終了するまで行われる。
【００３０】
例えば、本実施例において、転送リスト設定部５に設定された１番目の転送リストによる入力データにタイムアウトが発生しなかった場合、ＤＭＡコントローラ部８はそのすべての入力データを転送データ格納部３から先頭アドレスを「ＡＤＲ１」、データ数「ｉ」として記憶部４へ転送し、また図４（ｂ）に示すようにタイムアウト情報記憶部７のタイムアウト有無７１に「０」を格納し、有効データ数７２に「０」を格納する。
【００３１】
また、転送リスト設定部５に設定された２番目の転送リストによる入力データにタイムアウトが発生した場合、その入力データのデータ数を「ｋ」とすると、ＤＭＡコントローラ部８は入力データを転送データ格納部３から先頭アドレスを「ＡＤＲ２」、データ数「ｊ」（入力データ数は「ｋ」、ダミーデータ数は「ｊ−ｋ」）として記憶部４へ転送し、また図４（ｂ）に示すようにタイムアウト情報記憶部７のタイムアウト有無７１に「１」を格納し、有効データ数７２に「ｋ」を格納する。
【００３２】
制御部９は、ＤＭＡコントローラ部８を介してタイムアウト情報記憶部７を読み出すことにより、１番目の転送リストによるデータ転送においてタイムアウトが発生せず、記憶部４に転送されたすべてのデータが有効であることを知ることができ、また２番目の転送リストによるデータ転送においてタイムアウトが発生し、記憶部４に転送されたデータのうち先頭からｋ個のデータが有効であることを知ることができる。
【００３３】
このようにＤＭＡコントローラ部８は所定の時間内に外部装置１０から転送データ格納部３に入力されるデータが所定のデータ量に達しない場合、ダミーデータが付加されたデータを転送データ格納部３から記憶部４へ転送するようにしたことにより、制御部９は転送データ格納部３に入力されるデータが遅れた場合であっても、入力されているデータを所定の時間内に処理することができる。
【００３４】
以上説明したように、本実施例では、ＤＭＡコントローラ部は所定の時間内に外部装置から転送データ格納部に入力されるデータが所定のデータ量に達しないことを検知したとき、ダミーデータが付加されたデータを転送データ格納部から記憶部へ転送するようにしたことにより、制御部は転送データ格納部に入力されるデータが遅れた場合であっても、入力されているデータを所定の時間内に処理することができるようになるという効果が得られる。
【図面の簡単な説明】
【００３５】
【図１】実施例におけるデータ転送処理装置の構成を示すブロック図
【図２】実施例における転送リスト設定部およびタイムアウト情報記憶部の説明図
【図３】実施例におけるデータ転送処理を示すフローチャート
【図４】実施例における転送リスト設定部およびタイムアウト情報記憶部の説明図
【符号の説明】
【００３６】
１    データ転送処理装置
２    入出力部
３    転送データ格納部
４    記憶部
５    転送リスト設定部
６    タイマ部
７    タイムアウト情報記憶部
８    ＤＭＡコントローラ部
９    制御部
１０  外部装置
【図１】
2009282856.tif 000003
【図２】
2009282856.tif 000004
【図３】
2009282856.tif 000005
【図４】
2009282856.tif 000006