(57)【特許請求の範囲】
【請求項１】
ホスト装置に接続されてデータ転送を行なうインターフェース制御装置において、ホスト装置から送信されるデータを格納するデータバッファ手段と、
ＣＰＵにデータ読み出しを要求する割り込み手段と、
最小単位のデータが前記データバッファ手段に格納されたとき割り込みを行なうよう前記割り込み手段を制御する割り込み制御手段と、
前記データバッファ手段に格納されたデータ数を計数するデータ計数手段と、前記データバッファ手段により計数された前記データ数に基づいて前記データバッファ手段から出力するデータ数を制御する出力データ数制御手段と
を備えることを特徴とするインターフェース制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、パーソナルコンピュータなどのホスト装置とのインターフェース制御装置に関する。
【０００２】
【従来の技術】
特開平４−３２９２２号公報および特開平４−５８３５５号公報では、外部装置から１バイト毎に送信されるデータをデータ保持手段に書き込み、データ保持手段の保持データが予め定められた所定量に達したとき、データ処理手段へ割り込み信号を送出し、１バイト毎に所定量の保持データを連続して読み出すインターフェース制御回路が開示されている。
【０００３】
また、特開平４−３４２３４３号公報では、受信したシリアルデータをパラレルデータに変換させて受信ＦＩＦＯに書き込み、タイミングレジスタに予め設定されたキャラクタ数のデータが受信ＦＩＦＯに格納された時、ホストプロセッサに対して割り込み信号を送出し、設定数分のパラレルデータを連続して読み出すデータ転送システムが開示されている。
【０００４】
【発明が解決しようとする課題】
特開平４−３２９２２号公報および特開平４−５８３５５号公報では、データ保持手段に格納された所定量のデータを連続して転送するため、１バイト毎に割り込み処理を行なうデータ転送と比較すると転送効率は向上するが、予め定められた所定量の保持データがデータ保持手段に格納されるまでデータ転送が開始されないために、データ転送前に外部装置からの転送データ数が通知されないセントロニクスインターフェースまたはＲＳ２３２仕様のシリアルインターフェースに適用させる場合には、次のような問題がある。▲１▼所定量に満たないデータがデータ保持手段に格納されたときにデータ保持手段からデータの取り残しを防止するために、一定時間を経過しても次のデータが格納されなければデータ保持手段からデータを読み出すためのタイマ手段を必要とする。▲２▼外部装置から送信された１バイト目のデータが処理されるまでに要する時間が、１バイトごとに転送する場合に比べて大きくなるため処理が遅くなる。▲３▼高速なデータ転送では、データ保持手段に格納されたデータの転送処理までにかかるＯＳのオーバーヘッドを含む割り込み処理までの時間に外部装置から送信されるデータでデータ保持手段の飽和状態が発生して転送効率を低下させる。▲４▼予め定められた所定量単位でのデータ転送を行なうため、外部装置からの転送速度に依存するデータ格納状況に応じた処理が不可能である。また、１バイトのデータを連続して転送するため、▲５▼データ保持手段に格納されているバイ卜数と同じ回数の読み出しを必要とする。
【０００５】
特開平４−３４２３４３号公報では、外部装置とのインターフェース手段がシリアルインターフェースであるが、受信されたシリアルデータがパラレルデータに変換され、受信ＦＩＦＯに格納された後は、予め設定されたキャラクタ数のデータが受信ＦＩＦＯに格納されるまでデータ転送が開始されないために上記と同様の問題がある。
【０００６】
本発明の目的は、上記従来技術における欠点を改良するために、▲１▼データバッファからのデータ取り残し防止のためのタイマ手段を不要とし、▲２▼１バイト自のデータ転送処理を遅らせることなく、▲３▼１回のデータバッファ読み出しで複数バイトデータ転送を可能とすることで処理速度を向上し、▲４▼割り込み処理に関するＯＳのオーバーへッドをできる限り回避してデータバッファの格納状況に応じた柔軟なデータ転送を可能とすることで、ホストコンピュータの転送能力を低下させることなく、高速のデータ転送を可能とするインターフェース制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、ホスト装置に接続されてデータ転送を行なうインターフェース制御装置にであって、ホスト装置から送信されるデータを格納するデータバッファ手段と、ＣＰＵにデータ読み出しを要求する割り込み手段と、最小単位のデータが前記データバッファ手段に格納されたとき割り込みを行なうよう前記割り込み手段を制御する割り込み制御手段と、前記データバッファ手段に格納されたデータ数を計数するデータ計数手段と、前記データバッファ手段により計数された前記データ数に基づいて前記データバッファ手段から出力するデータ数を制御する出力データ数制御手段とを備える。
【０００８】
【作用】
本発明は、以下のように作用する。
【０００９】
ホスト装置から送信されたデータはデータバッファ手段に格納される。データバッファ手段に最少単位のデータが格納されると、割り込み手段によりＣＰＵに対して割り込み信号を送出して、データ読み出し要求を行なう。データバッファ手段は複数のデータを格納可能であり、ホスト装置とのデータ転送は中断されることなく継続され、ホスト装置から送信されたデータは順次、データバッファ手段へ格納される。データ計数手段では、データバッファ手段の格納状況、即ち、格納データ数が管理される。出力データ数制御手段はデータ計数手段の管理する格納データ数に対応したデータ、例えば、１バイト、２バイト、４バイト等のデータをまとめて出力し、バスインターフェース手段を介してシステムバスに出力される。
【００１０】
【実施例】
以下、本発明を実施例により説明する。
【００１１】
図１はプリンタ装置１におけるインターフェース制御装置２に関する従来例を示すブロック図であり、ＣＰＵ３と、ＲＯＭ４と、ＲＡＭ５と、印字手段６と、データバッファ手段７と、データ制御手段１６と、割り込み手段１２と、バスインターフェース手段１３と、システムバス１４とで構成される。また、プリンタ装置１は、ホストコンピュータ８とセントロニクスインターフェースで接続されており、データバッファ手段７に所定量のデータが格納されると、ＣＰＵ３はデータの読み出し要求を受けて、予め設定された回数の読み出しを行なうことにより、データバッファ手段からデータを読み出す。
【００１２】
図２は本発明の一実施例のプリンタ装置１におけるインターフェース制御装置２に関するブロック図である。以下に、インターフェース制御装置２の各構成ブロックの動作を説明する。
【００１３】
データバッファ手段７は、ホストコンピュータ８から送信されるデータを格納するためのデータバッファであり、複数バイトのデータを格納するものであり、ＲＡＭで構成される。
【００１４】
データ計数手段９は、データバッファ手段７に格納されているデータ数を管理するものであり、ＲＡＭで構成される。
【００１５】
書き込み制御手段１０は、データ計数手段９からデータ数情報を受け取り、データバッファ手段７にデータが格納可能であればホストコンピュータ８からのデータの送信を要求し、データバッファ手段にそれ以上のデータ格納ができないのであれば送信を中止する。
【００１６】
割り込み制御手段１１は、データ計数手段９からの情報を受け取り１バイトのデータがデータバッファ手段７に格納されたとき割り込みを行なうよう割り込み手段１２を制御する。
【００１７】
割り込み手段１２は、割り込み制御手段１１からの信号を受けてＣＰＵ３に対し割り込み信号を発する。
【００１８】
バスインターフェース手段１３は、データバッファ手段７に格納されたデータをデータバス３２ビットのシステムバス１４に出力する。
【００１９】
ホストコンピュータ８からデータが送信され、データバッファ手段７に１バイトのデータが格納された時点で、割り込みを発生させる。データバッファ手段７は複数データを格納可能であり、ＣＰＵ３が割り込み信号に応答し、割り込み処理を行なうまで、ホスト装置とのデータ転送は中断されることなく継続され、ホスト装置から送信されたデータは順次、データバッファ手段７へ格納される。ＣＰＵ３が割り込み信号に応答し、割り込み処理内でデータバッファからデータが読み出す際、データバッファ手段７に格納された複数のデータを１回の割り込み処理で読み出す。
【００２０】
出力データ数制御手段１５は、データ計数手段９から出力される格納データ数に基づいて、データバッファ手段７に格納されているデータを、例えば、１バイト、２バイト、４バイト等のデータずつバスインターフェース手段１３に出力する。
【００２１】
書き込み制御手段１０、割り込み制御手段１１、割り込み手段１２、出力データ数制御手段１５は、その制御のためのプログラムがＲＯＭに記憶されており、そのプログラムはＣＰＵにより動かされる。
【００２２】
図３は本発明の一実施例のシステムバス１４へのデータ出力処理動作の流れ図である。
【００２３】
図４は本発明の一実施例の格納データ数に応じてバスインターフェース手段１３から出力されるデータのデータ出力数の説明図である。
【００２４】
以下に、データ受信からシステムバス１４へのデータ出力までのインターフェース制御装置２の動作を説明する。
【００２５】
セントロニクスインターフェースで接続されたホストコンピュータ８からの送信データを格納するために、書き込み制御手段１０は、データ書き込み信号をホストコンピュータ８に出力して、データバッファ手段７へデータを格納する。データ計数手段９は、データバッファ手段７の格納状況を管理するために、格納データ数をカウントする。１バイトのデータが格納されると、割り込み制御手段１１により割り込み手段１２は、ＣＰＵ３に対して割り込み信号を出力し、データバッファ手段７からのデータ読み出しを要求する。書き込み制御手段１０は、データの格納が可能であればホストコンピュータ８からの送信データをデータバッファ手段７に格納する。データバッファ手段７が格納不能であれば、データ転送は中断される。データ計数手段９は、データ数に応じたデータ出力を行なうために格納データ数を出力データ数制御手段１５に出力する。
【００２６】
出力データ数制御手段１５は、割り込み信号に応答して、出力情報を得るために格納データ数を読み出す。このとき、出力データ数制御手段１５はデータ制御手段１６から出力される格納データ数の下位２ビットにより、データ出力数を決定する（ステップＳ１〜Ｓ４）。
【００２７】
ここで、データバッファ手段７に格納されているデータ数が、システムバス１４が１回の読み出し処理でＣＰＵ３に転送できるデータ数以上の場合、すなわち、４バイト以上の場合には、下位２ビットに依存することなく４バイト出力が行われ、格納データ数が４バイトより小さい場合には、格納データ数の下位２ビッｌが００は４バイト出力、０１は１バイト出力、１０は２バイト出力、１１は３バイト出力に対応する。ＣＰＵ３がバスインターフェース手段１３を介してデータバッファ手段７に格納されているデータの読み出し処理を行なうとき、格納データ数に基いて出力されるデータ出力配列に対応した回数のデータ読み出し信号をデータバッファ手段７に出力して出力データ数制御手段１５にデータを出力する。格納データ数の下位２ビットが００であるとき、出力データ数制御手段１５はバスインターフェース手段１３を介して、４バイトをシステムバス１４に出力し（ステップＳ５）、データ制御手段１６はデータバッファ手段７からのデータ読み出しに伴い、格納データ数を変更する（ステップＳ６）。同様に、格納データ数の下位２ビットが０１であるとき、１バイトを出力し（ステップＳ７）、格納データ数を変更（ステップＳ８）し、格納データ数の下位２ビットが１０であるとき、２バイトを出力し（ステップＳ９）、格納データ数を変更（ステップＳ１０）する。格納データ数の下位２ビットが１１であるとき、２バイトを出力（ステップＳｌｌ）し、格納データ数を変更（ステップＳ１２）したあと、２バイトの読み出しが完了した否かを判断（ステップＳ１３）し、完了していれば、残りの１バイトを出力（ステップＳ１４）し、格納データ数を変更（ステッブＳ１５）する。格納データ数が変更されたあと、読み出しが完了した否かを判断（ステップＳ１６）し、完了していれば、データバッファ手段７にデータが格納されているかどうかを判断する（ステップＳ１７）。格納データがある場合には、格納データ数を判断して処理を繰り返す（ステッブＳ２）。格納データがない場合には、ＣＰＵ３による割り込み処理が終了される。
【００２８】
図５は本発明の他の一実施例のプリンタ装置１に関するブロック図である。
【００２９】
この実施例は、ＣＰＵ３と、ＲＯＭ４と、ＲＡＭ５と、印字手段６と、データバッファ手段７と、ホストコンピュータ８と、データ計数手段９と、書き込み制御手段１０と、割り込み制御手段１１と、割り込み手段１２と、バスインターフェース手段１３と、システムバス１４と、出力データ数制御手段１５と、シリアルパラレル変換手段１７と構成される。また、プリンタ装置１は、ホストコンピュータ８とＲＳ２３２Ｃ仕様のシリアルインターフェースで接続されている。
【００３０】
この実施例では、ホストコンピュータ８から送信されるデータがシリアルデータであり、シリアルパラレル変換手段１７にてデータ変換されること以外は、前述の実施例と同様である。
【００３１】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果がある。
【００３２】
（１）タイマ手段を備えることなく、データバッファからのデータ取り残しを防止できるため構成が簡単となる。
【００３３】
（２）最少単位のデータ受信と同時に割り込み要求を発生させるため、一番目のデータのデータ転送処理の開始が遅くならない。
【００３４】
（３）１回のデータバッファ読み出しで、複数単位のデータ転送が可能となる。
【００３５】
（４）データバッファの格納状況に応じて転送を行なうため、割り込み処理に関するＯＳのオーバーへッドを少なくできるため、ホストコンピュータの転送能力を低下させることなく、高速のデータ転送を可能とする。
【図面の簡単な説明】
【図１】従来例のブロック図である。
【図２】本発明の実施例のブロック図である。
【図３】本発明の他の一実施例の動作を示す流れ図である。
【図４】本発明の一実施例のデータ出力数の説明図である。
【図５】本発明の他の実施例のブロック図である。
【符号の説明】
１    プリンタ装置                ２    インターフェース制御装置
３    ＣＰＵ                      ４    ＲＯＭ
５    ＲＡＭ                      ６    印字手段
７    データバッファ手段          ８    ホストコンピュータ
９    データ計数手段              １０  書き込み制御手段
１１  割り込み制御手段            １２  割り込み手段
１３  バスインターフェース手段    １４  システムバス
１５  出力データ数制御手段        １６  データ制御手段
１７  シリアルパラレル変換手段
【図１】
0003585052.tif 000002
【図２】
0003585052.tif 000003
【図３】
0003585052.tif 000004
【図４】
0003585052.tif 000005
【図５】
0003585052.tif 000006