(57)【特許請求の範囲】
【請求項１】
ダイレクトメモリアクセスによるデータ転送を行うデータ転送装置であって、
メモリと、
前記メモリに対する前記データ転送を要求するリクエスト信号を発生するリクエスト発生装置と、
前記データ転送を制御するダイレクトメモリアクセスコントローラと
を備え、
前記リクエスト発生装置は、
前記データ転送の対象となる転送データの有無を判定するデータ存在判定部と、
前記転送データが存在すると前記データ存在判定部が判定した場合に、予め設定された一回の転送量分の前記データ転送を要求する前記リクエスト信号を出力する信号出力部と、
前記信号出力部が前記リクエスト信号を出力した場合に、少なくとも前記一回の転送量分のデータ転送が完了するのに必要な、予め設定された時間待って、再度、前記データ存在判定部に、前記転送データの有無を判定させる判定タイミング制御部と
を有し、
前記信号出力部が前記リクエスト信号を出力した場合、前記ダイレクトメモリアクセスコントローラから前記ダイレクトメモリアクセスコントローラ以外の装置に前記リクエスト信号に応じたアクノリッジ信号を伝達することなく、前記ダイレクトメモリアクセスコントローラは、当該リクエスト信号の受信に応じて、ダイレクトメモリアクセスによる前記一回の転送量分のデータ転送を制御することを特徴とするデータ転送装置。
【請求項２】
前記ダイレクトメモリアクセスコントローラは、一回の転送量がそれぞれ異なる複数種類の前記データ転送を制御可能であり、
前記リクエスト発生装置は、前記複数種類のデータ転送のうち、一回の転送量が最も小さな前記データ転送を要求する前記リクエスト信号を発生することを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
ダイレクトメモリアクセスによるデータ転送を要求するリクエスト信号を発生するリクエスト発生装置であって、
前記データ転送の対象となる転送データの有無を判定するデータ存在判定部と、
前記転送データが存在すると前記データ存在判定部が判定した場合に、予め設定された一回の転送量分の前記データ転送を要求する前記リクエスト信号を出力する信号出力部と、
前記信号出力部が前記リクエスト信号を出力した場合に、少なくとも前記一回の転送量分のデータ転送が完了するのに必要な、予め設定された時間待って、再度、前記データ存在判定部に、前記転送データの有無を判定させる判定タイミング制御部と
を備え、
前記信号出力部が前記リクエスト信号を出力した場合、前記データ転送を制御するダイレクトメモリアクセスコントローラから前記ダイレクトメモリアクセスコントローラ以外の装置に前記リクエスト信号に応じたアクノリッジ信号を伝達させることなく、前記ダイレクトメモリアクセスコントローラに、当該リクエスト信号の受信に応じて、ダイレクトメモリアクセスによる前記一回の転送量分のデータ転送を制御させることを特徴とするリクエスト発生装置。
【請求項４】
ダイレクトメモリアクセスによるデータ転送を要求するリクエスト信号を発生するリクエスト発生方法であって、
前記データ転送の対象となる転送データの有無を判定するデータ存在判定段階と、
前記転送データが存在すると前記データ存在判定段階で判定された場合に、予め設定された一回の転送量分の前記データ転送を要求する前記リクエスト信号を出力する信号出力段階と、
前記リクエスト信号が出力された場合に、少なくとも前記一回の転送量分のデータ転送が完了するのに必要な、予め設定された時間待つ待機段階と
を備え、
前記待機段階の後に、再度、前記データ存在判定段階に戻り、前記転送データの有無を判定し、
前記信号出力段階において前記リクエスト信号を出力した場合、前記データ転送を制御するダイレクトメモリアクセスコントローラから前記ダイレクトメモリアクセスコントローラ以外の装置に前記リクエスト信号に応じたアクノリッジ信号を伝達させることなく、前記ダイレクトメモリアクセスコントローラに、当該リクエスト信号の受信に応じて、ダイレクトメモリアクセスによる前記一回の転送量分のデータ転送を制御させることを特徴とするリクエスト発生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、リクエスト発生装置、及びリクエスト発生方法に関する。
【背景技術】
【０００２】
従来、データ転送の方法として、ダイレクトメモリアクセス（ＤＭＡ）によるデータ転送が知られている。また、ダイレクトメモリアクセスによるデータ転送を制御するダイレクトメモリアクセスコントローラ（ＤＭＡＣ）として、外部からのリクエスト信号に応じてデータ転送を制御する構成が知られている（例えば、特許文献１、２参照。）。
【特許文献１】特開平９−２０７３７１号公報
【特許文献２】特開２００２−１６３２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
外部からのリクエスト信号に応じてデータ転送を制御するダイレクトメモリアクセスコントローラを用いる場合、データ転送前のハンドシェイクを行うために、ダイレクトメモリアクセスコントローラは、リクエスト信号に応じてアクノリッジ信号を出力する。この場合、データ転送を制御する信号として、少なくとも、リクエスト信号とアクノリッジ信号とが必要となる。そのため、従来、データ転送経路において、少なくともリクエスト信号及びアクノリッジ信号の信号線が必要となり、システムコストが上昇していた。特に、例えばシステム上複数のデータ転送経路が必要となる場合、それぞれの経路毎にリクエスト信号及びアクノリッジ信号の信号線が必要となり、システムコストが上昇していた。そこで、本発明は、上記の課題を解決できるデータ転送装置、リクエスト発生装置、及びリクエスト発生方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、本発明は、以下の構成を有する。
（構成１）ダイレクトメモリアクセスによるデータ転送を行うデータ転送装置であって、メモリと、メモリに対するデータ転送を要求するリクエスト信号を発生するリクエスト発生装置と、データ転送を制御するダイレクトメモリアクセスコントローラとを備え、リクエスト発生装置は、データ転送の対象となる転送データの有無を判定するデータ存在判定部と、転送データが存在するとデータ存在判定部が判定した場合に、予め設定された一回の転送量分のデータ転送を要求するリクエスト信号を出力する信号出力部と、信号出力部がリクエスト信号を出力した場合に、少なくとも一回の転送量分のデータ転送が完了するのに必要な、予め設定された時間待って、再度、データ存在判定部に、転送データの有無を判定させる判定タイミング制御部とを有し、信号出力部がリクエスト信号を出力した場合、ダイレクトメモリアクセスコントローラからダイレクトメモリアクセスコントローラ以外の装置にリクエスト信号に応じたアクノリッジ信号を伝達することなく、ダイレクトメモリアクセスコントローラは、当該リクエスト信号の受信に応じて、ダイレクトメモリアクセスによる一回の転送量分のデータ転送を制御する。このデータ転送装置は、例えば印刷を行う印刷装置である。
【０００５】
リクエスト発生装置は、ダイレクトメモリアクセスコントローラがリクエスト信号を受け取ったことを示すアクノリッジ信号を受け取ることなしに、リクエスト信号を発生してよい。リクエスト発生装置は、制御信号用の端子として、例えば、アクノリッジ信号端子を有さず、かつリクエスト信号端子を有する。
【０００６】
このように構成した場合、リクエスト発生装置は、データ存在判定部により、転送すべき転送データの有無を判定する。そして、転送データが存在する場合、信号出力部がリクエスト信号を出力ことにより、ダイレクトメモリアクセスコントローラに対してデータ転送の要求（リクエスト）を発行する。ここで、ダイレクトメモリアクセスコントローラは、通常、データ転送が完了する前に次のリクエストを受け付ける。そこで、リクエスト信号の２重受け付けが発生することを防止するために、リクエスト発生装置は、例えば、最小時間のリクエスト信号を発生する。最小時間のリクエスト信号とは、例えば、一回の転送量分のデータ転送が完了するのに必要な時間が最も短い最小時間のデータ転送に対応するリクエスト信号である。そして、リクエスト信号の出力後、１回のデータ転送を完了するのに必要な時間ウエイトする。
【０００７】
このように構成すれば、リクエスト信号の２重受け付けが発生することを適切に防止できる。また、例えば、最小時間のリクエスト信号の出力後に１回のデータ転送を完了するのに必要な時間ウエイトすることにより、リクエスト信号の出力とデータ転送とを適切にワンセットにできる。また、これにより、データ転送を確実なものにできる。
【０００８】
また、リクエスト信号の２重受け付けが発生することを防止し、かつ、リクエスト信号の出力とデータ転送とがワンセットになるように調整できるため、アクノリッジ信号を用いることなく、ダイレクトメモリアクセスによるテータ転送を適切に行うことができる。更には、アクノリッジ信号が不要になるため、例えば、ダイレクトメモリアクセスによるデータ転送を制御する制御信号を半分に減らすことができる。これにより、例えば、ダイレクトメモリアクセスによるデータ転送を行うシステムのシステムコストを適切に低減できる。また、データ転送の制御に必要な信号線の数が減るため、例えば配線のスペースが小さい場合等であっても、データ転送経路を適切に設けることができる。
【０００９】
尚、ダイレクトメモリアクセスコントローラは、システム上に設けられた転送対象装置とメモリとの間におけるダイレクトメモリアクセスを制御する。転送対象装置は、例えば入出力装置や周辺機器であり、データ転送経路を介してメモリと接続される。システム上には、例えば、それぞれ異なるデータ転送経路でメモリと接続される複数の転送対象装置を設置可能であってよい。この場合、各データ転送経路毎に、リクエスト信号用の信号線が設けられる。
【００１０】
ダイレクトメモリアクセスコントローラは、外部からのリクエスト信号に応じてデータ転送を制御する外部リクエスト方式に対応したものであれば、例えばＣＰＵ（ＭＰＵ）に内蔵のダイレクトメモリアクセスコントローラ等の、従来公知のダイレクトメモリアクセスコントローラを用いてもよい。また、リクエスト発生装置は、例えばＦＰＧＡ等を用いて作成できる。
【００１１】
（構成２）ダイレクトメモリアクセスコントローラは、一回の転送量がそれぞれ異なる複数種類のデータ転送を制御可能であり、リクエスト発生装置は、複数種類のデータ転送のうち、一回の転送量が最も小さなデータ転送を要求するリクエスト信号を発生する。
【００１２】
このように構成すれば、リクエスト発生装置に、最小時間のクエスト信号を適切に出力させることができる。また、この場合、リクエスト発生装置は、最小時間のリクエスト信号に対応する１回のデータ転送を完了するのに必要な時間ウエイトする。そのため、このように構成すれば、ダイレクトメモリアクセスコントローラによるリクエストの２重受け付けを確実に防止できる。また、これにより、リクエスト信号の出力とデータ転送とを確実にワンセットにして、ダイレクトメモリアクセスによるデータ転送を確実に行うことができる。
【００１３】
（構成３）ダイレクトメモリアクセスによるデータ転送を要求するリクエスト信号を発生するリクエスト発生装置であって、データ転送の対象となる転送データの有無を判定するデータ存在判定部と、転送データが存在するとデータ存在判定部が判定した場合に、予め設定された一回の転送量分のデータ転送を要求するリクエスト信号を出力する信号出力部と、信号出力部がリクエスト信号を出力した場合に、少なくとも一回の転送量分のデータ転送が完了するのに必要な、予め設定された時間待って、再度、データ存在判定部に、転送データの有無を判定させる判定タイミング制御部とを備える。このように構成すれば、例えば、構成１と同様の効果を得ることができる。
【００１４】
（構成４）ダイレクトメモリアクセスによるデータ転送を要求するリクエスト信号を発生するリクエスト発生方法であって、データ転送の対象となる転送データの有無を判定するデータ存在判定段階と、転送データが存在するとデータ存在判定段階で判定された場合に、予め設定された一回の転送量分のデータ転送を要求するリクエスト信号を出力する信号出力段階と、リクエスト信号が出力された場合に、少なくとも一回の転送量分のデータ転送が完了するのに必要な、予め設定された時間待つ待機段階とを備え、待機段階の後に、再度、データ存在判定段階に戻り、転送データの有無を判定する。このようにすれば、例えば、構成１と同様の効果を得ることができる。
【発明の効果】
【００１５】
本発明によれば、例えば、ダイレクトメモリアクセスによるデータ転送を行うシステムのシステムコストを適切に低減できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に係る実施形態を、図面を参照しながら説明する。図１は、本発明の一実施形態に係る印刷システム１０の構成の一例を示す。印刷システム１０は、ダイレクトメモリアクセス（ＤＭＡ）によるデータ転送を行うシステムの一例であり、ＰＣ１２及び印刷装置１４を備える。ＰＣ１２は、ダイレクトメモリアクセスによるデータ転送の対象となる転送対象装置の一例である。本例において、ＰＣ１２は、印刷装置１４を制御するコンピュータであり、例えば、印刷装置１４により印刷がされるべき印刷データを印刷装置１４へ供給する。
【００１７】
印刷装置１４は、ダイレクトメモリアクセスによるデータ転送を行うデータ転送装置の一例である。本例において、印刷装置１４は、例えばインクジェットプリンタであり、ＰＣ１２から受け取る印刷データに基づいて印刷を行う。また、印刷装置１４は、メモリ１０２、ＣＰＵ１０４、複数のインターフェース部１０６ａ、１０６ｂ、印刷部１０８、及びバス１１０を備える。
【００１８】
メモリ１０２は、印刷装置１４のメインメモリであり、ＰＣ１２から受け取る印刷データ等の各種データを記憶する。ＣＰＵ１０４は、印刷装置１４の全体の動作を制御する制御部である。また、本例において、ＣＰＵ１０４は、ＤＭＡＣ２０２を内蔵している。ＤＭＡＣ２０２は、外部からのリクエスト信号に応じてデータ転送を制御するダイレクトメモリアクセスコントローラである。
【００１９】
複数のインターフェース部１０６ａ、１０６ｂは、印刷装置１４の外部との間でデータの入出力を行う。インターフェース部１０６ａは、例えばＵＳＢインターフェースであり、ＰＣ１２と接続される。また、本例において、インターフェース部１０６ａは、バッファ２０４及びリクエスト発生装置２０６を有する。バッファ２０４は、ＰＣ１２との間で送受信するデータを一時記憶するバッファである。リクエスト発生装置２０６は、メモリ１０２に対するデータ転送を要求するリクエスト信号を発生する回路である。
【００２０】
インターフェース部１０６ｂは、例えばインターフェース部１０６ａと異なる規格のインターフェースである。インターフェース部１０６ｂは、例えばメモリカードとの間でデータの入出力を行うカードリーダや、パラレルインターフェース等であってよい。また、インターフェース部１０６ｂは、例えば、インターフェース部１０６ａと同様に、バッファ２０４及びリクエスト発生装置２０６を有する。インターフェース部１０６ｂは、インターフェース部１０６ａと同一又は同様のＵＳＢインターフェースであってもよい。また、インターフェース部１０６ｂは、例えば、第２のＰＣ１２と接続されてもよい。この場合、印刷システム１０は、データ転送元となる転送対象装置として、複数のＰＣ１２を備える。また、印刷装置１４において複数のＰＣ１２に対応する複数のインターフェース部１０６ａ、１０６ｂのそれぞれは、対応するＰＣ１２との間のデータ転送を要求するリクエスト信号を発生するリクエスト発生装置２０６を有する。このような場合も、以下に説明するデータ転送を適切に行うことができる。
【００２１】
印刷部１０８は、メモリ１０２に記憶された印刷データに基づいて印刷を行う印刷機構部であり、例えば、インクジェットヘッド等の印刷ヘッドや、印刷ヘッドに対して相対的に媒体を駆動する駆動部等を有する。印刷部１０８は、例えばダイレクメモリアクセスによりデータ転送により、メモリ１０２から印刷データを受け取ってもよい。この場合、印刷部１０８は、例えば、インターフェース部１０６ａにおけるリクエスト発生装置２０６と同一又は同様のリクエスト発生装置を有することが好ましい。バス１１０は、印刷装置１４内において転送データ等を伝送するバスであり、例えば、メモリ１０２と、インターフェース部１０６ａ、１０６ｂとの間のデータ転送経路の少なくとも一部を構成する。また、本例において、バス１１０と、各インターフェース部１０６ａ、１０６ｂとの間は、リクエスト信号用の信号線が設けられたデータ転送経路により接続される。本例によれば、ＰＣ１２が印刷装置１４へ供給する印刷データに基づき、適切に印刷を行うことができる。
【００２２】
尚、本例において、インターフェース部１０６ａ、１０６ｂとメモリ１０２とを結ぶデータ転送経路に、アクノリッジ信号の信号線は設けられていない。そのため、リクエスト発生装置２０６は、アクノリッジ信号をＤＭＡＣ２０２から受け取ることなしに、リクエスト信号を発生する。リクエスト発生装置２０６は、制御信号用の端子として、例えば、アクノリッジ信号端子を有さず、かつリクエスト信号端子を有する。
【００２３】
図２は、リクエスト発生装置２０６の構成の一例を示す。本例において、リクエスト発生装置２０６は、データ存在判定部３０２、信号出力部３０４、及びタイミング制御部３０６を有する。
【００２４】
データ存在判定部３０２は、例えばバッファ２０４の状態を確認することにより、ダイレクトメモリアクセスによるデータ転送の対象となる転送データの有無を判定する。そして、判定結果を、信号出力部３０４に通知する。データ存在判定部３０２は、転送対象装置であるＰＣ１２の通知に基づいて、転送データの有無を判定してもよい。
【００２５】
信号出力部３０４は、データ存在判定部３０２の通知に基づき、ダイレクトメモリアクセスによるデータ転送を要求するリクエスト信号を出力する。本例において、信号出力部３０４は、転送データが存在すると信号出力部３０４が判定した場合に、予め設定された一回の転送量分のデータ転送を要求するリクエスト信号を出力する。
【００２６】
タイミング制御部３０６は、データ存在判定部３０２に転送データの有無を判定させるタイミングを制御する。本例において、タイミング制御部３０６は、信号出力部３０４がリクエスト信号を出力した後、所定のウエイト時間、待機（ウエイト）する。このウエイト時間は、ダイレクトメモリアクセスによる少なくとも一回の転送量分のデータ転送が完了するのに必要な時間に設定される。そして、待機後に、再度、データ存在判定部３０２に、転送データの有無を判定させる。
【００２７】
図３は、リクエスト発生装置２０６の動作の一例を示すフローチャートである。本例のリクエスト発生装置２０６においては、例えば、最初に、データ存在判定部３０２が、データ転送の対象となる転送データの有無を判定する（データ存在判定段階Ｓ１０２）。そして、転送データが存在しないと判定した場合（Ｓ１０２：Ｎｏ）、例えば一定時間経過後に、データ存在判定段階Ｓ１０２を繰り返す。
【００２８】
また、転送データが存在するとデータ存在判定部３０２が判定した場合（Ｓ１０２：Ｙｅｓ）、信号出力部３０４が、リクエスト信号を出力する（信号出力段階Ｓ１０４）。そして、リクエスト信号の出力後、ダイレクトメモリアクセスによる少なくとも一回の転送量分のデータ転送が完了するのに必要な時間、タイミング制御部３０６の制御により、待機（ウエイト）する（待機段階Ｓ１０６）。そして、待機後に、再度、データ存在判定段階Ｓ１０２に戻り、以降の動作を繰り返す。
【００２９】
以上の動作により、リクエスト発生装置２０６は、１回リクエスト信号を出力する毎に、そのリクエスト信号に対応するデータ転送が行われている間、ウエイトする。そして、ウエイト後に、転送データの有無を再度判定し、転送データが存在する場合、再度リクエスト信号を出力する。また、信号出力部３０４が出力するリクエスト信号に応じて、ＤＭＡＣ２０２は、ダイレクトメモリアクセスによる一回の転送量分のデータ転送を制御する。
【００３０】
以上の動作により、本例によれば、例えば、アクノリッジ信号を用いることなく、リクエスト信号の２重受け付けが発生することを防止できる。また、リクエスト信号の出力とデータ転送とがワンセットになるように適切に調整して、リクエスト信号の出力と、そのリクエスト信号に対応するデータ転送とを、適切に管理できる。
【００３１】
これにより、例えば、アクノリッジ信号を用いることなく、ダイレクトメモリアクセスによるテータ転送を適切に行うことができる。また、アクノリッジ信号が不要になるため、例えば、ダイレクトメモリアクセスによるデータ転送を制御する制御信号を半分に減らすことができる。また、これにより、例えば、ダイレクトメモリアクセスによるデータ転送を行うシステムのシステムコストを適切に低減できる。更には、データ転送の制御に必要な信号線の数が減るため、例えば配線のスペースが小さい場合等であっても、データ転送経路を適切に設けることができる。
【００３２】
ここで、リクエスト信号を受け取るＤＭＡＣ２０２（図１参照）は、例えば多ビットのリクエスト信号を受け取ることにより、複数種類のリクエスト信号を受け付け可能であってもよい。この場合、ＤＭＡＣ２０２は、受け取るリクエスト信号に応じて、一回の転送量がそれぞれ異なる複数種類のデータ転送を制御可能となる。また、この場合、信号出力部３０４は、複数種類のデータ転送のうち、一回の転送量が最も小さなデータ転送を要求するリクエスト信号を発生することが好ましい。このように構成すれば、データ転送の時間が最小となる最小時間のリクエスト信号を用いることにより、リクエスト発生装置２０６が転送の完了を待つウエイト時間を小さくして、ダイレクトメモリアクセスによるデータ転送をより確実に行うことができる。
【００３３】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【産業上の利用可能性】
【００３４】
本発明は、例えばデータ転送装置等に好適に利用できる。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係る印刷システム１０の構成の一例を示す図である。
【図２】リクエスト発生装置２０６の構成の一例を示す図である。
【図３】リクエスト発生装置２０６の動作の一例を示すフローチャートである。
【符号の説明】
【００３６】
１０・・・印刷システム、１２・・・ＰＣ、１４・・・印刷装置、１０２・・・メモリ、１０４・・・ＣＰＵ、１０６・・・インターフェース部、１０８・・・印刷部、１１０・・・バス、２０２・・・ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）、２０４・・・バッファ、２０６・・・リクエスト発生装置、３０２・・・データ存在判定部、３０４・・・信号出力部、３０６・・・タイミング制御部
【図１】
0005041527.tif 000002
【図２】
0005041527.tif 000003
【図３】
0005041527.tif 000004