(57)【要約】【課題】  ＤＭＡ転送を行う場合であっても、ＣＰＵによるモータ制御の作動性を確保することができるＤＭＡ制御装置、液体噴射装置及びＤＭＡ転送制御方法を提供する。【解決手段】  印刷装置は、ＤＭＡ転送機能を満たすバスマスタを備え、このバスマスタの作動によってＣＰＵを介さずにＳＤＲＡＭへのアクセスが可能である。印刷装置のＣＰＵは、キャリッジ（印刷ヘッド）を往復動させる際、キャリッジモータをサーボ制御により駆動制御する。ＣＰＵは、サーボ周期Ｔｍに基づきサーボ制御開始トリガを入力するとサーボ制御を開始するが、この際にＤＭＡ転送が行われていると、ＤＭＡ転送が終了した後にサーボ制御を開始する。また、サーボ制御が次周期にずれこまないように、ＤＭＡ転送時間Ｔｋがサーボ制御のサーボ周期Ｔｍよりも短く設定されている。【選択図】      図４
2006277128.tif 000002
【特許請求の範囲】
【請求項１】
リクエスト信号の返信としてアクノリッジ信号を入力している期間中、ＣＰＵと共用するバスを占有してＤＭＡ転送を行うＤＭＡ制御手段と、
前記バスのバス占有率を算出する算出手段と、
前記算出手段により算出された前記バス占有率が閾値以上となった際に、前記リクエスト信号の出力を停止してＤＭＡ転送を制限し、前記ＣＰＵに前記バスを開放して該ＣＰＵによる制御を許可する制限手段とを備えたＤＭＡ制御装置において、
前記ＤＭＡ制御手段によるＤＭＡ転送時間が、前記ＣＰＵによる制御の制御周期よりも短くなるように制限されていることを特徴とするＤＭＡ制御装置。
【請求項２】
前記ＤＭＡ制御手段は、前記ＣＰＵに対して前記リクエスト信号を出力し、前記算出手段は、前記リクエスト信号に応答して当該ＣＰＵが返信するアクノリッジ信号のパルス数をカウントすることで、前記バス占有率を算出することを特徴とする請求項１に記載のＤＭＡ制御装置。
【請求項３】
前記ＤＭＡ制御手段は、前記ＣＰＵ及びメモリ間で共有された前記バスに接続され、当該ＤＭＡ制御部のスレーブとして動作する１以上のデバイスが前記バスとは別系統の第２バスを介して接続され、当該第２バスを介して前記デバイスのＤＭＡ転送を管理することを特徴とする請求項１又は２に記載のＤＭＡ制御装置。
【請求項４】
請求項１〜３のうちいずれか一項に記載のＤＭＡ制御装置と、
前記ＣＰＵにより定期的に制御されるモータと
を備えたことを特徴とする液体噴射装置。
【請求項５】
リクエスト信号の返信としてアクノリッジ信号を入力している期間中、ＣＰＵと共用するバスを占有してＤＭＡ転送を行うＤＭＡ制御手段と、前記バスのバス占有率を算出する算出手段と、前記算出手段により算出された前記バス占有率が閾値以上となった際に、前記リクエスト信号の出力を停止してＤＭＡ転送を制限し、前記ＣＰＵに前記バスを開放して該ＣＰＵによる制御を許可する制限手段とを備えたＤＭＡ制御装置に使用されるＤＭＡ転送制御方法おいて、
前記ＤＭＡ制御手段によるＤＭＡ転送時間が、前記ＣＰＵによる制御の制御周期よりも短く制限されていることを特徴とするＤＭＡ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＣＰＵ以外のデバイスがメモリに直接アドレス可能なＤＭＡ制御装置、液体噴射装置及びＤＭＡ転送制御方法に関する。
【背景技術】
【０００２】
従来において、印刷装置の多くは、印刷装置内でのデータ転送を高速化することを目的として、例えば特許文献１に示すようなＤＭＡユニット（Direct Memory Accessユニット）を搭載している。ＤＭＡユニットは、ＣＰＵ（Central Processing Unit ）以外の他のデバイスがＣＰＵを介さずにメモリに直接アクセスすることを可能にするユニットである。
【０００３】
図６は、特許文献１に示す印刷装置６１の構成を示すブロック図である。この印刷装置６１はスキャナ装置６２、プリンタ装置６３及びハードディスク６４を備え、一台でスキャナ機能、プリンタ機能及びローカルコピー機能を満たす複合機である。印刷装置６１は、同装置を統括制御するＣＰＵ６５と、各種データを一時的に保存するメモリ６６とを備えている。ＣＰＵ６５は、ＣＰＵ６５が他デバイスへアクセスする際のアクセス制御を司るアクセス制御部６７を備え、このアクセス制御部６７を介して共有のシステムバス６８に接続されている。
【０００４】
印刷装置６１は、スキャナ装置６２、プリンタ装置６３及びハードディスク６４のＤＭＡ転送を各々制御するＤＭＡ制御部６９〜７１を備えている。アクセス制御部６７及びＤＭＡ制御部６９〜７１はシステムバス６８を介してメモリ６６に接続されている。従って、スキャナ装置６２、プリンタ装置６３及びハードディスク６４はＤＭＡ制御部６９〜７１を介してメモリ６６に直接アクセス可能である。
【０００５】
印刷装置６１は、スキャナ装置６２、プリンタ装置６３、ハードディスク６４及びＣＰＵ６５のバスアクセスを調停するバス調停部７２を備えている。ここで、例えばスキャナ装置６２がメモリ６６にアクセスする際、ＤＭＡ制御部６９がバス調停部７２にリクエスト信号REQ1を出力し、バス調停部７２はアクセスを許可するのであれば、ＤＭＡ制御部６９にアクノリッジ信号ACK1を返信する。ＤＭＡ制御部６９はアクノリッジ信号ACK1がアクティブ期間中、システムバス６８を占有した状態となり、メモリ６６へのアクセスが可能となる。
【０００６】
ところで、ＣＰＵ６５は、キャリッジ（印刷ヘッド）が往復動する際の駆動源となるキャリッジモータのモータ制御を行っており、このモータ制御としてサーボ制御を用いている。サーボ制御は、キャリッジの移動位置をエンコーダから読み取って目標速度を算出し、その目標速度に応じた値の電流をキャリッジモータに印加するフィードバック制御である。サーボ制御はリアルタイム性が必要であるため、ＤＭＡにより他のデバイスにシステムバス６８を開放してＣＰＵ６５がなかなかシステムバス６８を使用できない状況になってしまうと、サーボ制御に支障を来すことになる。
【０００７】
そこで、印刷装置６１は、スキャナ装置６２、プリンタ装置６３及びハードディスク６４のバス使用割合（バス占有率）を算出する算出するバスモニタ部７３を備えている。バスモニタ部７３は、バス調停部７２から出力されるアクノリッジ信号ACK1，ACK2，ACK3のアクティブ期間をカウントし、その合計カウント値が閾値以上になると、ＣＰＵ６５にシステムバス６８を開放する制御変更信号CHS をバス調停部７２に出力する。このため、バス調停部７２はアクセス制御部６７からリクエスト信号REQ4を受けていれば、それに応答してアクノリッジ信号ACK4を返信し、ＣＰＵ６５はリアルタイム性を損なうことなくサーボ制御等の制御を行うことが可能となる。
【特許文献１】特開２０００−２５９５４９号（第４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、図７のタイミングチャートに示すように、サーボ制御は一定の周期間隔で実施されるが、サーボ制御の開始タイミングは他デバイスのＤＭＡ転送が終了した後に開始される。従って、例えば図７に示すようにバス占有率算出周期が長めに設定されてしまうと、ＤＭＡ転送時間はバス占有率算出周期に依存して決まるものであるため、ＤＭＡ転送時間がサーボ周期よりも長い状態となる。この場合、サーボ制御の開始タイミングが、次のサーボ制御の開始タイミングにずれ込むことになり、サーボ制御がうまく働かず、最悪の場合にはキャリッジモータが脱調する可能性があった。
【０００９】
本発明の目的は、ＤＭＡ転送を行う場合であっても、ＣＰＵによる制御の作動性を確保することができるＤＭＡ制御装置、印刷装置及びＤＭＡ転送制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記問題点を解決するために、本発明では、リクエスト信号の返信としてアクノリッジ信号を入力している期間中、ＣＰＵと共用するバスを占有してＤＭＡ転送を行うＤＭＡ制御手段と、前記バスのバス占有率を算出する算出手段と、前記算出手段により算出された前記バス占有率が閾値以上となった際に、前記リクエスト信号の出力を停止してＤＭＡ転送を制限し、前記ＣＰＵに前記バスを開放して該ＣＰＵによる制御を許可する制限手段とを備えたＤＭＡ制御装置において、前記ＤＭＡ制御手段によるＤＭＡ転送時間が、前記ＣＰＵによる制御の制御周期よりも短くなるように制限されていることを要旨とする。
【００１１】
この構成によれば、ＤＭＡ制御手段がＤＭＡ転送を行っている際、算出手段がバス占有率を算出する。このバス占有率が閾値以上になったと制限手段が判断すると、判断手段はＤＭＡ制御手段によるリクエスト信号の出力を停止してＤＭＡ転送を制限し、ＣＰＵにバスを開放する。このため、ＣＰＵはバスを使用することが可能となり、この時点でＣＵＰは所定制御の開始信号を受け付けていれば、バスが開放されたタイミングでＣＰＵが所定制御を開始する。
【００１２】
ここで、本発明においてはＤＭＡ制御手段によるＤＭＡ転送時間が、ＣＰＵによる制御の制御周期よりも短く設定されているため、ＣＰＵによる制御の開始タイミングが、次周期のＣＰＵの制御にずれ込むことがない。従って、ＤＭＡ制御装置のようにＣＰＵ及びＤＭＡ制御部の間でバスを共有する構造であっても、ＣＰＵによる各種制御の作動性を確保することが可能となる。
【００１３】
本発明では、前記ＤＭＡ制御手段は、前記ＣＰＵに対して前記リクエスト信号を出力し、前記算出手段は、前記リクエスト信号に応答して当該ＣＰＵが返信するアクノリッジ信号のパルス数をカウントすることで、前記バス占有率を算出することを要旨とする。
【００１４】
この構成によれば、ＤＭＡ制御手段が出力するリクエスト信号に対してアクノリッジ信号を返信する機能をＣＰＵに盛り込んだので、例えばこの機能を別のＩＣチップとして設ける場合に比べ、ＤＭＡ制御装置の回路構成が簡素化する。
【００１５】
本発明では、前記ＤＭＡ制御手段は、前記ＣＰＵ及びメモリ間で共有された前記バスに接続され、当該ＤＭＡ制御部のスレーブとして動作する１以上のデバイスが前記バスとは別系統の第２バスを介して接続され、当該第２バスを介して前記デバイスのＤＭＡ転送を管理することを要旨とする。
【００１６】
この構成によれば、デバイスがＤＭＡ転送する際には、デバイスがＤＭＡ転送の要求をＤＭＡ制御手段に出力し、ＤＭＡ制御手段がデバイスのマスタとなってＤＭＡ転送を行う。従って、ＤＭＡ制御部がＤＭＡ転送を一括管理して行うことになり、例えばプリンタ機能のみを有する印刷装置のような、小規模な制御システムに即したＤＭＡ制御装置を提供することが可能となる。
【００１７】
本発明では、請求項のいずれか一項に記載のＤＭＡ制御装置と、前記ＣＰＵにより定期的に制御されるモータとを備えた液体噴射装置であることを要旨とする。
本発明では、リクエスト信号の返信としてアクノリッジ信号を入力している期間中、ＣＰＵと共用するバスを占有してＤＭＡ転送を行うＤＭＡ制御手段と、前記バスのバス占有率を算出する算出手段と、前記算出手段により算出された前記バス占有率が閾値以上となった際に、前記リクエスト信号の出力を停止してＤＭＡ転送を制限し、前記ＣＰＵに前記バスを開放して該ＣＰＵによる制御を許可する制限手段とを備えたＤＭＡ制御装置に使用されるＤＭＡ転送制御方法おいて、前記ＤＭＡ制御手段によるＤＭＡ転送時間が、前記ＣＰＵによる制御の制御周期よりも短く制限されていることを要旨とする。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を具体化したＤＭＡ制御装置、印刷装置及びＤＭＡ転送制御方法の一実施形態を図１〜図５に従って説明する。
図１は、印刷装置１の概略構成を示すブロック図である。本例の印刷装置１は、圧電素子を用いて用紙にインク（液体）を吹付けることで印刷を行うインクジェット式印刷装置であり、ノズル（吐出孔）からインクを吐出する印刷ヘッド２と、用紙を紙送りする紙送り機構３とを備えている。印刷ヘッド２は、インクカートリッジ４を乗せたキャリッジ５の下面に取り付けられ、キャリッジモータ６を駆動源にキャリッジ５を主走査方向に往復動させることで往復動する。紙送り機構３は、例えば給紙ローラ、排紙ローラ及び従動ローラ等からなり、紙送りモータ７を駆動源に用紙を給紙、印刷時の用紙搬送及び排紙を行う。
【００１９】
印刷装置１は、ホストコンピュータ８から送信される印刷データＤprntを印刷出力可能であり、この場合には印刷ヘッド２を往復動させつつ、その間に用紙を所定量紙送りする動作を繰り返すことで印刷処理を行う。なお、印刷装置１は、ホストコンピュータ８から送信される印刷データＤprntを印刷出力する構成のみに限らず、例えばメモリーカード等のメディア９に書き込まれた画像データを印刷出力したり、スキャナ機能を組み込んでスキャンデータを印刷出力（即ち、ローカルコピー）したりする機能を備えていてもよい。なお、部材２〜７が印刷処理装置を構成する。
【００２０】
印刷装置１は、ＣＰＵ(Central Processing Unit) １０と、ＲＯＭ(Read-Only Memory)１１と、ＳＤＲＡＭ(Synchronous DRAM)１２と、ＡＳＩＣ(Application Specific Integrated Circuit )１３とを備えている。ＣＰＵ１０は、印刷装置１を統括制御するＩＣ（素子）であり、ＲＯＭ１１内の制御プログラムを基にＳＤＲＡＭ１２を作業領域として動作することで印刷装置１を作動させる。ＡＳＩＣ１３は、ＣＰＵ１０からの指令を基に作動し、印刷処理に関する各種動作を実施する。ＣＰＵ１０、ＲＯＭ１１、ＳＤＲＡＭ１２及びＡＳＩＣ１３は、制御信号、アドレス信号及びデータの伝送路となるシステムバス１４に接続されている。なお、システムバス１４がバスに相当する。
【００２１】
ＡＳＩＣ１３は、ホストコンピュータ８やメディア９の間でデータ通信をする際のデータ入出口となる複数のインターフェース１５と、圧縮データである印刷データを解凍してパス分解するデータ展開・パス分解部１７と、解凍分解後の印刷データを基に印字データＳＩを生成して印刷ヘッド２に転送する印字制御部１８とを備えている。また、本例のインターフェース１５は、ＵＳＢ用である第１インターフェース１５ａ、ネットワーク用である第２インターフェース１５ｂ、メディア用である第３インターフェース１５ｃの３つがある。これらインターフェース１５ａ〜１５ｃは、システムバス１４に接続されている。同様に、データ展開・パス分解部１７及び印字制御部１８もシステムバス１４に接続されている。なお、インターフェース１５、データ展開・パス分解部１７及び印字制御部１８がデバイスを構成する。
【００２２】
ＡＳＩＣ１３は、ＣＰＵ１０以外の他のデバイス（インターフェース１５、データ展開・パス分解部１７、印字制御部１８）が、ＳＤＲＡＭ１２に直接アクセス可能な機能（ＤＭＡ機能）を備えている。このＤＭＡ機能はバスマスタ（ＤＭＡコントローラ）１９が備えており、このバスマスタ１９がＤＭＡユニットに相当する。バスマスタ１９は、ＣＰＵ１０、インターフェース１５、データ展開・パス分解部１７及び印字制御部１８のＤＭＡ転送を管理すべくシステムバス１４に接続されている。バスマスタ１９はＤＭＡ転送を行う際、ＣＰＵ１０にリクエスト信号REQ を出力し、ＣＰＵ１０からアクノリッジ信号ACK を受けているときに各デバイスのＤＭＡ転送を許可する。
【００２３】
例えば、第１インターフェース１５ａがＳＤＲＡＭ１２へアクセスする場合、第１インターフェース１５ａはバスマスタ１９にデータリクエスト信号DREQを出力する。バスマスタ１９は、このデータリクエスト信号DREQを受けるとＣＰＵ１０へリクエスト信号REQ を出力し、ＣＰＵ１０からアクノリッジ信号ACK が返って来ると、データリクエスト信号DREQの出力先つまり第１インターフェース１５ａのＤＭＡ転送が可能であると判断する。バスマスタ１９は、ＤＭＡ転送が可能であると判断すると、第１インターフェース１５ａにデータアクノリッジ信号DACKを出力してＤＭＡ転送を行う。バスマスタ１９は、このアクノリッジ信号ACK がアクティブである期間中、システムバス１４を占有した状態となり、ＳＤＲＡＭ１２に直接アクセスして第１インターフェース１５ａのデータを転送することが可能である。なお、第２及び第３インターフェース１５ｂ，１５ｃ、データ展開・パス分解部１７及び印字制御部１８がＤＭＡ通信する場合も同様の動作をとる。
【００２４】
印刷装置１は、キャリッジ５つまり印刷ヘッド２の移動速度を検出するリニアエンコーダ２０を備えている。リニアエンコーダ２０は、プリンタ内面の側壁に架設された長手方向に延びる半透明樹脂製の被検出用テープ２０ａと、キャリッジ５の背面に固着された検出センサ２０ｂとからなる。被検出用テープ２０ａには長手方向に沿って複数のスリットが一定ピッチで形成されている。検出センサ２０ｂは、キャリッジ５が移動した際にスリットを検出し、キャリッジ速度に応じたパルス信号Ｓｔを出力する。
【００２５】
ＡＳＩＣ１３は、リニアエンコーダ２０のパルス信号Ｓｔを基に基本印字周期Ｔａを生成する印字周期生成部２１と、この基本印字周期Ｔａを基に印刷シーケンスに合わせた印字周期ＴPTS を生成する印字シーケンス制御部（シーケンサ）２２と、その印字周期ＴPTS を基に駆動信号COM を生成する駆動波生成部２３とを備えている。印字周期ＴPTS （基本印字周期Ｔａ）は、印刷ヘッド２の移動速度に応じて決まる周期であり、圧電素子の駆動周期に相当する。また、ＡＳＩＣ１３は、印刷データＤprntを基にキャリッジモータ６を駆動制御するキャリッジモータ制御部２４と、印刷データＤprntを基に紙送りモータ７を駆動制御する紙送りモータ制御部２５とを備えている。
【００２６】
図２は、印刷データＤprntを印刷出力する際のフローを含んだ印刷装置１のブロック図である。ホストコンピュータ８から印刷データＤprntが印刷装置１に送信されると、印刷装置１はその印刷データＤprntをインターフェース１５で受信する。インターフェース１５は、印刷データＤprntを所定の伝送単位で順次受信し、その受信した印刷データＤprntを、バスマスタ１９を介してＳＤＲＡＭにＤＭＡ転送する。
【００２７】
データ展開・パス分解部１７は、ＳＤＲＡＭ１２に格納された印刷データＤprntをＤＭＡ転送によって読み込み、ランレングス方式等によって圧縮された印刷データＤprntを解凍する。データ解凍後、データ展開・パス分解部１７は、解凍後のデータをコマンド解析し、それを１パスデータサイズに分解してラスタ方向並びのデータ（即ち、ラスタ方向データ）に変換する。なお、このラスタ方向データは、高印刷画質を目的としてノズル列のノズルピッチ間に複数ドットを打つような並びのデータ、つまりマイクロウィーブ処理が施されたデータである。データ展開・パス分解部１７は、１パス分のラスタ方向データを生成すると同データを、バスマスタ１９を介してＳＤＲＡＭ１２に逐次ＤＭＡ転送する。ラスタ方向データをＳＤＲＡＭ１２にＤＭＡ転送して書き込む処理は、各色（ＣＭＹＫ）毎に行われる。
【００２８】
続いて、ＣＰＵ１０は、ＳＤＲＡＭ１２内のラスタ方向データを、ラスタ方向において所定ビット分、かつ所定段おきに読み出して、その読出データを内部のレジスタ１０ａに取り込む。例えば、ラスタ方向データがラスタ方向において３２ビットで３段おきに読み出される場合、ＣＰＵ１０のレジスタ１０ａには、図内の（ａ）に示すように１段、５段、９段、…の読出データが３２ビットずつ書き込まれる。ここで、ラスタ方向データが３段おきに読み出されるマイクロウィーブ処理は、副走査方向に隣接するノズルで印刷した２本のラスタライン間に、３本のラスタラインが印刷される処理となる。
【００２９】
ＣＰＵ１０は、レジスタ１０ａの読出データのうち各段の最初の単位データ、つまり縦方向に位置する最も左側１セル分のデータを、図内の（ｂ）に示すようにレジスタ１０ｂに書き込み、それを図内の（ｃ）に示すようにレジスタ１０ｃに書き込む。即ち、ＣＰＵ１０は、レジスタ１０ａに書き込まれた縦方向の読出データを横方向の読出データとしてマッピングすることによって、データ並びを縦方向と横方向とで変換する。ＣＰＵ１０は、この書込み処理を縦方向に位置する各々１セル分のデータについて行い、レジスタ１０ｃがフルになった時点でこのノズル列対データをＳＤＲＡＭ１２に書き込む。
【００３０】
印字制御部１８は、ノズル列対データを書込可能な一対のバッファ２６ａ，２６ｂと、一対のバッファ２６ａ，２６ｂのうち一方を指定してノズル列対データを書き込む書込先管理部２７と、一対のバッファ２６ａ，２７ｂのうち一方を選択して印刷ヘッド２に接続するセレクタ２８とを備えている。バッファ２６ａ，２６ｂは、高さ方向（図２の上下方向）がヘッド高さ分のビット幅を有し、幅方向（図２の左右方向）がデータ転送幅（本例は３２ビット）のビット幅を有している。この一対のバッファ２６ａ，２６ｂは、各色（ＣＭＹＫ）毎に配設されている。
【００３１】
印字制御部１８は、ＳＤＲＡＭ１２に格納されたノズル列対データを、バスマスタ１９を介してＤＭＡ転送によって読み込む。このとき、書込先管理部２７は、一対のバッファ２６ａ，２６ｂのうち一方（例えばバッファ２６ａ）にノズル列対データを書き込み、それがバッファフルになると、駆動波生成部２３から入力するデータ転送開始信号DTS を基に、そのデータを印字データSIとしてセレクタ２８を介して印刷ヘッド２に出力する。また、書込先管理部２７は、印刷ヘッド２に印字データSIを出力する際、バッファ２６ａ，２６ｂのうち空状態の方（例えばバッファ２６ｂ）に次のノズル列対データの書き込みを開始し、一方のバッファ２６ａからの印字データ出力と、他方のバッファ２６ｂへのデータ書き込みとを同時に行う。そして、書込先管理部２７は、一対のバッファ２６ａ，２６ｂに対して印字データ出力とデータ書き込みとを交互に行う。
【００３２】
印刷ヘッド２は、印字制御部１８からシリアル転送される印字データSIをシフトレジスタ２９で入力するとともに、データラッチ（ラッチ回路）３０でラッチする。印刷ヘッド２は、ラッチした印字データSIをレベルシフタ３１で所定電圧まで昇圧し、この昇圧された印字データSIを各アナログスイッチ３２，３２，…に各々印加する。このアナログスイッチ３２は、印刷ヘッド２の各ノズルごとに配設され、入力側には駆動信号COM が印加されるとともに、出力側には圧電素子３３が各々接続されている。
【００３３】
印字データSIは、アナログスイッチ３２の動作を制御する。例えば、アナログスイッチ３２に加わる印字データSIが「１」である期間中は、駆動信号COM が圧電素子３３に印加され、この信号に応じて圧電素子３３は伸縮を行う。その結果、圧力発生室のインクが加圧されて、ノズルからインクが吐出される。一方、アナログスイッチ３２に加わる印字データが「０」である期間中は、圧電素子３３への駆動信号COM の供給が遮断されるので、インクの吐出が行われない。  
【００３４】
図３は、ＤＭＡ転送の動作を説明するためのブロック図である。バスマスタ１９は、ＣＰＵ１０に対してリクエスト信号REQ を出力するリクエスト生成部３４と、リクエスト信号REQ に応答してＣＰＵ１０が出力するアクノリッジ信号ACK を入力している際にＤＭＡ転送を行うデータ転送部３５とを備えている。データ転送部３５は、システムバス１４を介してＣＰＵ１０、ＳＤＲＡＭ１２、インターフェース１５、データ展開・パス分解部１７、印字制御部１８及びキャリッジモータ制御部２４に接続されている。なお、リクエスト生成部３４及びデータ転送部３５がＤＭＡ制御手段を構成する。
【００３５】
また、ＣＰＵ１０、ＳＤＲＡＭ１２、インターフェース１５、データ展開・パス分解部１７、印字制御部１８、キャリッジモータ制御部２４及びデータ転送部３５は、システムバス１４と別系統であるＤＭＡバス３６によっても接続されている。このＤＭＡバス３６は、インターフェース１５、データ展開・パス分解部１７及び印字制御部１８がデータ転送部にＤＭＡ転送要求を出力するための制御線である。なお、ＤＭＡバス３６が第２バスに相当する。
【００３６】
データ転送部３５は、ＣＰＵ１０からアクノリッジ信号ACK を受けて付けてＤＭＡ転送が許可された状況下の場合、ＤＭＡバス３６を介して複数のデバイスから同時にデータリクエスト信号DREQを受けると、予め設定された優先順位に沿って、これらデバイス間のバスアクセスを調停する。即ち、データ転送部３５はＤＭＡ転送許可状態の際、複数のデバイスからＤＭＡバス３６を介して同時にデータリクエスト信号DREQを入力すると、最も優先順位が高いデバイスにのみＤＭＡバス３６を介してデータアクノリッジ信号DACKを返信する。そして、リクエストを出したデバイスのうち最も優先順位の高いデバイスがデータアクノリッジ信号DACKを入力し、データ転送部３５はこのデバイスのデータ転送のため、アクノリッジ信号ACK のアクティブ期間中、システムバス１４を占有してＳＤＲＡＭ１２に直接アクセスする。
【００３７】
ＣＰＵ１０は、キャリッジモータ６をサーボ制御によって駆動制御する。このサーボ制御は、キャリッジ５の移動位置をリニアエンコーダ２０から読み出して目標速度を算出し、その目標速度に応じた値の電流をキャリッジモータ６に印加するフィードバック制御である。ＣＰＵ１０は、バスマスタ１９がＤＭＡ転送を行っていない期間においてシステムバス１４を使用することが可能であるため、その期間においてサーボ制御を実施することが可能であり、一定間隔のサーボ周期Ｔｍ（図４参照）でサーボ制御を逐次実施する。なお、サーボ周期Ｔｍが制御周期に相当する。
【００３８】
バスマスタ１９は、バスマスタ１９によるシステムバス１４のバス占有率Ｋを算出するバス占有率算出部３７と、このバス占有率Ｋの閾値Ｋmax を設定したバス占有率設定部３８と、バス占有率Ｋの算出値Ｋcalc及び閾値Ｋmax の比較結果を基にリクエスト生成部３４からのリクエスト信号出力を管理するバス占有率比較部３９とを備えている。なお、バス占有率算出部３７が算出手段に相当し、バス占有率設定部３８及びバス占有率比較部３９が制限手段を構成する。
【００３９】
バス占有率算出部３７は、ＣＰＵ１０から入力するアクノリッジ信号ACK のアクティブ期間を、自身のカウンタ（図示略）によってカウントすることによりバス占有率Ｋを算出する。バス占有率算出部３７は、バス占有率Ｋを一定間隔のバス占有率算出周期Ｔｂ（図４参照）で算出する。バス占有率Ｋは、バス占有率算出周期Ｔｂの１周期においてバスマスタ１９がシステムバス１４を使用した際のその使用割合に相当する値である。
【００４０】
バス占有率設定部３８が記憶した閾値Ｋmax は、リクエスト生成部３４によるリクエスト信号出力の許可或いは不許可を決めるための比較値であり、バス占有率Ｋの算出値Ｋcalcが閾値Ｋmax 以上となった際に、リクエスト生成部３４のリクエスト信号出力を停止するための値である。また、この閾値Ｋmax は割合値であり、例えば閾値Ｋmax が５０％と設定された際には、バス占有率算出周期Ｔｂの１周期における５０％のカウント値が閾値Ｋmax に相当する。更に、閾値Ｋmax は印刷機種（システム）ごとに値が決められた固定値である。
【００４１】
バス占有率比較部３９は、バス占有率Ｋの算出値Ｋcalcと閾値Ｋmax とを比較し、算出値Ｋcalcが閾値Ｋmax よりも下回っていれば、リクエスト生成部３４に信号出力許可信号Ｓｐを出力して、リクエスト生成部３４によるリクエスト信号出力を許可する。一方、バス占有率比較部３９は、バス占有率Ｋの算出値Ｋcalcが閾値Ｋmax 以上となると、信号出力許可信号Ｓｐをリクエスト生成部３４に出力せず、リクエスト生成部３４によるリクエスト信号出力を停止させる。
【００４２】
図４は、サーボ制御とＤＭＡ転送との関係を示すタイムチャートである。ＣＰＵ１０はサーボ周期Ｔｍに基づきサーボ制御開始トリガを入力するとサーボ制御を開始するが、この際にＤＭＡ転送が行われていると、ＤＭＡ転送が終了した後にサーボ制御を開始する。従って、サーボ制御開始トリガ入力とサーボ制御開始タイミングとの間の時間間隔Ｗが長いと、サーボ制御のリアルタイム性が損なわれるため、なるべくこの時間間隔Ｗを短く抑える必要がある。
【００４３】
そこで本例においては、ＤＭＡ転送時間（ＤＭＡ連続転送時間）Ｔｋが、サーボ制御のサーボ周期Ｔｍよりも短く設定されている。このＤＭＡ転送時間Ｔｋはバス占有率算出周期Ｔｂと閾値Ｋmax とに依存して決まる値であり、例えば閾値Ｋmax が３０％に設定され、バス占有率算出周期Ｔｂが２５６クロックに設定されていれば、ＤＭＡ転送時間Ｔｋは約７６クロック（＝３０％×２５６クロック）に設定される。なお、本例においては１つのサーボ周期Ｔｍの間に、バス占有率算出周期Ｔｂが２周期以上含まれるように、バス占有率算出周期Ｔｂが設定されている。
【００４４】
次に、本例の印刷装置１の作用を図４及び図５に従って説明する。
例えば、印刷装置１がホストコンピュータ８から印刷データＤprntを受信して印刷出力を開始し、このときに例えば印字制御部１８がバスマスタ１９にＤＭＡ転送を要求したとする。この際、まず最初にリクエスト生成部３４がＣＰＵ１０にリクエスト信号REQ を出力し、ＣＰＵ１０がそのリクエスト信号REQ に応答してアクノリッジ信号ACK をデータ転送部３５に返信する。データ転送部３５はアクノリッジ信号ACK のアクティブ期間中において、印字制御部１８に対してデータアクノリッジ信号DACKを出力し、ＤＭＡ転送を行う。
【００４５】
このとき、バス占有率算出部３７は、アクノリッジ信号ACK のアクティブ期間をカウントすることによりバス占有率Ｋを算出し、この算出値Ｋcalcをバス占有率比較部３９に出力する。バス占有率比較部３９はこの算出値Ｋcalcと、バス占有率設定部３８から入力した閾値Ｋmax とを比較する。ここで、算出値Ｋcalcが閾値Ｋmax を下回っていれば、バス占有率比較部３９はリクエスト生成部３４に信号出力許可信号Ｓｐを出力する。リクエスト生成部３４は信号出力許可信号Ｓｐを入力すると、リクエスト信号REQ をＣＰＵ１０に出力する。従って、データ転送部３５はＣＰＵ１０から続けてアクノリッジ信号ACK を受け付けた状態となり、印字制御部１８のＤＭＡ転送を継続させる。
【００４６】
一方、算出値Ｋcalcが閾値Ｋmax 以上となると、バス占有率比較部３９はリクエスト生成部３４への信号出力許可信号Ｓｐの出力を停止するため、リクエスト生成部３４はリクエスト信号REQ をＣＰＵ１０に出力しない状態となる。よって、ＣＰＵ１０がアクノリッジ信号ACK をデータ転送部３５に出力せず、データ転送部３５はアクノリッジ信号ACK を受け付けていないことから、印字制御部１８によるＤＭＡ転送を停止させる。
【００４７】
ここで、ＤＭＡ転送処理中に、サーボ制御のサーボ制御開始トリガが発生していたとする。この場合、バス占有率Ｋの算出値Ｋcalcが閾値Ｋmax 以上となってＤＭＡ転送が停止した後に、ＣＰＵ１０がサーボ制御を実施する。そして、バス占有率算出周期Ｔｂが次の周期なると、バス占有率算出部３７がバス占有率Ｋの算出を再度行い、算出値Ｋcalcが閾値Ｋmax 以上となるまでＤＭＡ転送が許可された状態となり、ＤＭＡ転送が完了するまで上記の処理が繰返し行われることになる。
【００４８】
ところで、本例においてはＤＭＡ転送時間Ｔｋがサーボ制御のサーボ周期Ｔｍよりも短く設定されているため、サーボ制御開始トリガに基づくサーボ制御開始タイミングが、次周期のサーボ制御にずれ込むことがない。従って、印刷装置１にＤＭＡ転送機能を持たせてＣＰＵ１０及びバスマスタ１９の間でシステムバス１４を共用する構造であっても、ＣＰＵ１０は少なくともサーボ制御開始トリガを受け付けた周期内で、そのトリガに対応するサーボ制御を実施することが可能となる。よって、ＣＰＵ１０によるサーボ制御の作動性が確保される。
【００４９】
また、本例においては、図４に示すように１つのサーボ周期Ｔｍの間にバス占有率算出周期Ｔｂが２周期以上含まれるように、バス占有率算出周期Ｔｂが設定される。従って、例えば図５に示すような１つのサーボ周期Ｔｍ内にバス占有率算出周期Ｔｂが１つのみ存在する場合に比べ、バス占有率算出周期Ｔｂの１周期におけるＤＭＡ転送時間Ｔｋは相対的に短くなる。従って、ＤＭＡ転送中にサーボ制御開始トリガを受け付けた場合であっても、サーボ制御開始トリガを入力してから実際にサーボ制御が開始されるまでの時間間隔Ｗが短く済み、サーボ制御のリアルタイム性も確保される。
【００５０】
本実施形態の構成によれば、以下に記載の効果を得ることができる。
（１）ＤＭＡ転送時間Ｔｋがサーボ周期Ｔｍよりも短く設定されているので、サーボ制御が次周期の制御にずれ込まずに済み、ＣＰＵ１０によるサーボ制御の作動性を確保することができる。
【００５１】
（２）１つのサーボ周期Ｔｍの間にバス占有率算出周期Ｔｂが２周期以上含まれるように、バス占有率算出周期Ｔｂを設定したので、バス占有率算出周期Ｔｂの１周期におけるＤＭＡ転送時間Ｔｋが相対的に短くなる。従って、ＤＭＡ転送中にサーボ制御の開始トリガを受け付けたとしても、なるべく早期にサーボ制御が実施されることになり、サーボ制御のリアルタイム性を確保することができる。
【００５２】
（３）バスマスタ１９がインターフェース１５、データ展開・パス分解部１７及び印字制御部１８のＤＭＡ転送を管理するので、例えばプリンタ機能のみを有する本例の印刷装置１のような小規模なシステムに即した装置を提供することができる。
【００５３】
なお、実施形態は上記構成に限定されず、以下の態様に変更してもよい。
（変形例１）モータ制御は、キャリッジモータ６のサーボ制御に限らず、例えば紙送りモータ７のモータ制御でもよい。
【００５４】
（変形例２）バス占有率Ｋの算出値Ｋcalcの比較対象である閾値Ｋmax は適宜設定変更可能である。また、例えば閾値Ｋmax を変更するモードを印刷装置１に設け、１台の機種であっても閾値Ｋmax を設定変更可能としてもよい。
【００５５】
（変形例３）バスマスタ１９がインターフェース１５、データ展開・パス分解部１７及び印字制御部１８のマスタとなってＤＭＡ転送を管理する構成に限定されず、例えばこれらデバイスが各々ＤＭＡ制御部を持つ構成でもよい。
【００５６】
（変形例４）印刷装置１は、インクジェット式プリンタに限らず、例えばドットインパクト式、サーマル式、熱転写式、レーザ式等でもよい。
（変形例５）印刷装置１は、本例のようなプリンタに限らず、液晶ディスプレイ等のカラーフィルタ製造装置、有機ＥＬディスプレイやＦＥＤ（面発光ディスプレイ）等の電極形成装置、バイオチップ製造用の生体有機物を噴射する噴射装置、精密ピペット用の製造装置でもよい。
【００５７】
次に、上記実施形態及び別例から把握できる技術的思想について以下に追記する。
（１）請求項１〜４のうちいずれか一項に記載のＤＭＡ制御装置と、前記ＤＭＡ制御装置によって転送される印刷データに基づき、用紙に印刷処理を施す印刷処理装置とを備えたことを特徴とする印刷装置。
【００５８】
（２）請求項５において、前記算出手段は、一定の周期間隔で前記バス占有率を算出し、そのバス占有率算出周期は、前記モータ制御の１制御周期の間に２周期以上含まれるように周期が設定されている。
【図面の簡単な説明】
【００５９】
【図１】一実施形態における印刷装置の概略構成を示すブロック図。
【図２】印刷データを印刷出力する際のフローを含んだ印刷装置のブロック図。
【図３】ＤＭＡ転送の動作を説明するためのブロック図。
【図４】サーボ制御とＤＭＡ転送との関係を示すタイムチャート。
【図５】サーボ制御とＤＭＡ転送との関係を示すタイムチャート。
【図６】従来におけるＤＭＡ機能を有する印刷装置の構成を示すブロック図。
【図７】同じくサーボ制御とＤＭＡ転送との関係を示すタイムチャート。
【符号の説明】
【００６０】
１…印刷装置、１０…ＣＰＵ、１４…バスとしてのシステムバス、１５（１５ａ〜１５ｃ）…デバイスを構成するインターフェース、１７…デバイスを構成するデータ展開・パス分解部、１８…デバイスを構成する印字制御部、３４…ＤＭＡ制御手段を構成するリクエスト生成部、３５…ＤＭＡ制御手段を構成するデータ転送部、３６…第２バスとしてのＤＭＡバス、３７…算出手段としてのバス占有率算出部、３８…制限手段を構成するバス占有率設定部、３９…制限手段を構成するバス占有率比較部、REQ …リクエスト信号、ACK …アクノリッジ信号、Ｋ…バス占有率、Ｋmax …閾値、Ｔｋ…ＤＭＡ転送時間、Ｔｍ…制御周期としてのサーボ周期、Ｔｂ…バス占有率算出周期、Ｄprnt…印刷データ。
【図１】
2006277128.tif 000003
【図２】
2006277128.tif 000004
【図３】
2006277128.tif 000005
【図４】
2006277128.tif 000006
【図５】
2006277128.tif 000007
【図６】
2006277128.tif 000008
【図７】
2006277128.tif 000009