(57)【特許請求の範囲】
【請求項１】
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、その逆に、データを端末装置から上位装置へ転送する逆方向転送モードとが存在し、
いずれかのモードから他のモードに移行する場合には、いったん各モードを終了して、予め設定された手順を経て他のモードに移行する処理を設定するとともに、
これらのモードとは別に、高速切り換えモードを設けて、
このモードの中に正方向転送モードと逆方向転送モードとを含み、
正方向転送モードで動作直後に、インタフェースを構成する所定の信号線を介して端末装置が上位装置に対してハンドシェイクを実行して、高速切り換えモードを終了することなく逆方向転送モードに切り換えを行うことを特徴とする双方向転送方法。
【請求項２】
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、その逆に、データを端末装置から上位装置へ転送する逆方向転送モードとが存在し、
いずれかのモードから他のモードに移行する場合には、いったん各モードを終了して、予め設定された手順を経て他のモードに移行する処理を設定するとともに、
これらのモードとは別に、高速切り換えモードを設けて、
このモードの中に正方向転送モードと逆方向転送モードとを含み、
逆方向転送モードで動作直後に、上位装置は、他のタスクと割り込み処理とを全てマスクして、インタフェースを構成する所定の信号線を介してハンドシェイクを実行して、高速切り換えモードを終了することなく正方向転送モードに切り換えを行うことを特徴とする双方向転送方法。
【請求項３】
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、その逆に、データを端末装置から上位装置へ転送する逆方向転送モードとが存在し、
いずれかのモードから他のモードに移行する場合には、いったん各モードを終了して、予め設定された手順を経て他のモードに移行する処理を設定するとともに、
これらのモードとは別に、高速切り換えモードを設けて、
このモードの中に正方向転送モードと逆方向転送モードとを含み、
正方向転送モードで動作直後に、インタフェースを構成する所定の信号線を介して端末装置が上位装置に対してハンドシェイクを実行して、高速切り換えモードを終了することなく逆方向転送モードに切り換えを行うとともに、
逆方向転送モードで動作直後に、上位装置は、他のタスクと割り込み処理とを全てマスクして、インタフェースを構成する所定の信号線を介してハンドシェイクを実行して、高速切り換えモードを終了することなく正方向転送モードに切り換えを行うことを特徴とする双方向転送方法。
【請求項４】
請求項１〜３において、
正方向転送モードからネゴシェーションフェーズを経て逆方向転送モードに移行し、逆方向転送モードからターミネーションフェーズを経て正方向転送モードに移行する処理が設定されているとき、
正方向転送モードからネゴシェーションフェーズを経て高速切り換えモードに移行し、高速切り換えモードからターミネーションフェーズを経て正方向転送モードに移行する処理を設定することを特徴とする双方向転送方法。
【請求項５】
請求項１〜３において、
上位装置と端末装置とはいずれも、
ハンドシェイクの際に同時に、正方向転送モードと逆方向転送モードとの間の切り換え処理を実行することを特徴とする双方向転送方法。
【請求項６】
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、データを端末装置から上位装置へ転送する逆方向転送モードとが存在する双方向転送方法において、
正方向転送モードの状態にある場合に、前記上位装置に対し端末装置側から逆方向転送モードへ切り換えるための所定の信号を出力し、該所定の信号を起点として転送方向切り換えのためのハンドシェイクを開始し、逆方向転送モードに移行することを特徴とする双方向転送方法。
【請求項７】
相互にインターフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、データを端末装置から上位装置へ転送する逆方向転送モードとが存在する双方向転送方法において、
前記端末装置側で送信すべきデータが生じると、該端末装置側から前記上位装置に対し逆方向転送モードに切り換えるための所定の信号を出力し、
前記上位装置は正方向のデータ転送動作終了後、前記所定の信号を検出すると、転送方向切り換えのためのハンドシェイクを開始し、逆方向転送モードに移行することを特徴とする双方向転送方法。
【請求項８】
前記インタフェースはＩＥＥＥ標準１２８４規格のパラレルインタフェースであることを特徴とする請求項６又は７に記載の双方向転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、上位装置と端末装置間、例えばパーソナルコンピュータと多機能端末間のパラレルインタフェースを用いたデータの双方向転送方法に関する。
【０００２】
【従来の技術】
プリンタやファクシミリ装置がますます多機能化しており、これらが、パーソナルコンピュータ等の上位装置と多様な双方向通信をしながら動作するようになってきた。こうしたプリンタやファクシミリ装置機能あるいはコピー機能を備えたものを多機能端末と総称する。
従来のパーソナルコンピュータ（ＰＣ）と多機能端末との間のパラレルインタフェースを用いたデータ転送には、例えばＩＥＥＥ標準１２８４規格で標準化されているようなセントロニクスインタフェースケーブルが用いられる。この標準規格では、双方向の通信では、インタフェースケーブルのいずれかの信号線に意味付けをして、データの送受を行っている。転送モードには、ＰＣから多機能端末にデータを転送する（正方向と呼ぶ）コンパチブルモードと多機能端末からＰＣにデータを転送する（逆方向と呼ぶ）ニブルモードがある。
【０００３】
例えばコンパチブルモードでは、２ピンから９ピンまでの８本の信号線でデータを送り、ニブルモードでは１１〜１３ピンと３２ピンの４本のラインを利用して４ビットずつデータを送る。これらのモードの切り換えにより、双方向データ転送を実現している。モードの切換えは、ＰＣ主導のもとに逆方向転送の有無を問いかける方式で行っている。
【０００４】
【発明が解決しようとする課題】
ところで、上記のような従来の双方向転送方法には次のような解決すべき課題があった。
端末が多機能化してくると、ＰＣと多機能端末間のリバース方向のデータ量やデータ転送方向の切り換え回数が格段に増える。ここで例えば多機能端末がファクシミリモデム機能を持つ場合、通信時の信号の長さや間隔が規格で決まっているから、一定の制限された時間内に双方向転送を終了しなければならない。しかしながら、上記の方法では、ホストが正方向の転送が終ったときにターミネーションモード→ネゴシエーションモードを経て転送モードを換えないとデータ転送方向の切り換えができないので、かなり処理時間がかかる。従って、多機能端末の機能を実現するための要求時間内にデータ転送が終了しないという問題がある。また、ＰＣ側に組み込んだ特殊なハードウェアを用いて、ターミネーションを行うことなく同一モード内で転送方向を変えるＥＣＰモードというモードがＩＥＥＥ１２８４で標準化されているが、ハードウェアを使用するのでコスト的に問題がある。
【０００５】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
なお、本発明ではＰＣ等の機器を上位装置、多機能端末等の機器を端末装置と表現している。
〈構成１〉
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、その逆に、データを端末装置から上位装置へ転送する逆方向転送モードとが存在し、いずれかのモードから他のモードに移行する場合には、いったん各モードを終了して、予め設定された手順を経て他のモードに移行する処理を設定するとともに、これらのモードとは別に、高速切り換えモードを設けて、このモードの中に正方向転送モードと逆方向転送モードとを含み、正方向転送モードで動作直後に、インタフェースを構成する所定の信号線を介して端末装置が上位装置に対してハンドシェイクを実行して、高速切り換えモードを終了することなく逆方向転送モードに切り換えを行うことを特徴とする双方向転送方法。
【０００６】
〈構成２〉
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、その逆に、データを端末装置から上位装置へ転送する逆方向転送モードとが存在し、いずれかのモードから他のモードに移行する場合には、いったん各モードを終了して、予め設定された手順を経て他のモードに移行する処理を設定するとともに、これらのモードとは別に、高速切り換えモードを設けて、このモードの中に正方向転送モードと逆方向転送モードとを含み、逆方向転送モードで動作直後に、上位装置は、他のタスクと割り込み処理とを全てマスクして、インタフェースを構成する所定の信号線を介してハンドシェイクを実行して、高速切り換えモードを終了することなく正方向転送モードに切り換えを行うことを特徴とする双方向転送方法。
【０００７】
〈構成３〉
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、その逆に、データを端末装置から上位装置へ転送する逆方向転送モードとが存在し、いずれかのモードから他のモードに移行する場合には、いったん各モードを終了して、予め設定された手順を経て他のモードに移行する処理を設定するとともに、これらのモードとは別に、高速切り換えモードを設けて、このモードの中に正方向転送モードと逆方向転送モードとを含み、正方向転送モードで動作直後に、インタフェースを構成する所定の信号線を介して端末装置が上位装置に対してハンドシェイクを実行して、高速切り換えモードを終了することなく逆方向転送モードに切り換えを行うとともに、逆方向転送モードで動作直後に、上位装置は、他のタスクと割り込み処理とを全てマスクして、インタフェースを構成する所定の信号線を介してハンドシェイクを実行して、高速切り換えモードを終了することなく正方向転送モードに切り換えを行うことを特徴とする双方向転送方法。
【０００８】
〈構成４〉
構成１〜３において、正方向転送モードからネゴシェーションフェーズを経て逆方向転送モードに移行し、逆方向転送モードからターミネーションフェーズを経て正方向転送モードに移行する処理が設定されているとき、正方向転送モードからネゴシェーションフェーズを経て高速切り換えモードに移行し、高速切り換えモードからターミネーションフェーズを経て正方向転送モードに移行する処理を設定することを特徴とする双方向転送方法。
【０００９】
〈構成５〉
請求項１〜３において、上位装置と端末装置とはいずれも、ハンドシェイクの際に同時に、正方向転送モードと逆方向転送モードとの間の切り換え処理を実行することを特徴とする双方向転送方法。
〈構成６〉
相互にインタフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、データを端末装置から上位装置へ転送する逆方向転送モードとが存在する双方向転送方法において、正方向転送モードの状態にある場合に、前記上位装置に対し端末装置側から逆方向転送モードへ切り換えるための所定の信号を出力し、該所定の信号を起点として転送方向切り換えのためのハンドシェイクを開始し、逆方向転送モードに移行することを特徴とする双方向転送方法。
〈構成７〉
相互にインターフェースを介して接続された上位装置と端末装置との間で、データを上位装置から端末装置へ転送する正方向転送モードと、データを端末装置から上位装置へ転送する逆方向転送モードとが存在する双方向転送方法において、前記端末装置側で送信すべきデータが生じると、該端末装置側から前記上位装置に対し逆方向転送モードに切り換えるための所定の信号を出力し、前記上位装置は正方向のデータ転送動作終了後、前記所定の信号を検出すると、転送方向切り換えのためのハンドシェイクを開始し、逆方向転送モードに移行することを特徴とする双方向転送方法。
〈構成８〉
構成６又は７において、前記インタフェースはＩＥＥＥ標準１２８４規格のパラレルインタフェースであることを特徴とする双方向転送方法。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例１〉
図１は、本発明の双方向転送方法の具体例説明図である。
例えば、パーソナルコンピュータのような上位装置１と端末装置２とがセントロニクスインタフェースケーブルのような標準パラレルインタフェース３により接続されている場合に、この図に示すような双方向転送処理が行われる。この具体例では、端末装置２として、ファクシミリ機能を持った多機能端末を使用した。この図はＩＥＥＥ１２８４に準拠した動作で、電源投入時はコンパチブルモードＭ１で動作する。このコンパチブルモードＭ１には、正方向の転送モード（上位装置から端末装置へデータを転送するモード）Ｍ２とアイドルモードＭ３の状態が存在する。
【００１１】
従来は、このような正方向転送モードから他のモードに移る場合、一旦ネゴシエーションフェーズＭ４を経る。従来から用意されたモードには、逆方向転送のニブルモード（端末装置から上位装置へデータを転送するモード）Ｍ６が存在する。更に本発明において、新たに高速切り換えモードＭ７を設定した。そして、いずれのモードもそのモードを抜けるとターミネーションフェーズＭ８を介してコンパチブルモードＭ１に移行する。上記高速切り換えモードＭ７では、内部に正方向の転送モードと逆方向の転送モードの両方を含むようにして正方向と逆方向のデータ転送の切り換えを高速化している。
【００１２】
即ち、従来の方法では、正方向の転送モードＭ２から逆方向の転送モードであるニブルモードＭ６へ移行する場合、必ずネゴシエーションフェーズＭ４あるいはターミネーションフェーズＭ８を経由して一方のモードを抜け、他方のモードに移るという動作を行う。高速切り換えモードＭ７においては、１つのモードの中で正逆両方向の転送モードをサポートする。具体的には上位装置１と端末装置２、例えばパーソナルコンピュータとファクシミリ機能を持った多機能端末とがそれぞれ割り込み処理の中で向かい合うことによって切り換え時間を短縮している。なお、高速切り換えモードＭ７が、他のニブルモードＭ６と同様に、ターミネーションフェーズＭ８を経由し、コンパチブルモードＭ１に戻るようにしたのは、ＩＥＥＥ１２８４の標準シーケンスとの整合性を保つためである。
【００１３】
以下、本発明による高速切り換えモードＭ７の内容について具体的な説明を行う。
図２には、ＩＥＥＥ１２８４タイプＢ準拠のインタフェース信号線の割当て説明図を示す。
これはいわゆるセントロニクスインタフェースの各ピンの信号名とその論理、データ転送方向及び機能を明らかにしたものである。各信号名は規定通りの記号で記述する。以下、図３以降の図面中の記号はこの図を参照することにより内容が理解できる。
【００１４】
図３には、インタフェース信号線の説明図を示す。
上記各インタフェース信号線は、高速切り換えモードＭ７において、この図に示すように利用される。
まず、１ピン，１４ピン，３６ピンは、モード移行時の初期化に利用される。次に、１１ピン，１２ピン，１３ピン，３２ピンは、いずれも逆方向転送用データ線として使用される。即ち、ニブルモードにおいて、多機能端末からホストであるＰＣへデータを転送するために使用される。また、２ピンから９ピンまでの８本のピンは正方向転送用データ線として使用される。即ち、コンパチブルモードにおいて、ホストのＰＣから多機能端末にデータを転送するために使用される。
【００１５】
図４は、高速転送モードにおける転送方向を正方向から逆方向へ切り換えるためのタイムチャートを示す。
また、図５と図６は、逆方向転送モードの内容とこのモードから再び正方向転送モードへ移る場合のタイムチャートを示している。
以下、図１及び図４〜図７を参照しながら、本発明の方法を更に具体的に説明する。
【００１６】
ＩＥＥＥ１２８４に準拠し、電源投入時は、図１に示すコンパチブルモードに移行する。コンパチブルモードから本発明の高速切り換えモードに移行する際もＩＥＥＥ１２８４で取り決められたネゴシエーションフェーズの手続きを経由することでＩＥＥＥ１２８４に準拠する。
【００１７】
高速切り換えモード移行時は正方向の転送が可能であり、１回の（ｅ）のnStrobe の立ち下がりと立ち上がりで２byteのデータを転送する。ホストは適当なデータ量を１ブロックとし、この単位で転送を実行する。
【００１８】
１ブロックのデータ転送中ホストはビジーチェックを行わない。１ブロックのデータ転送が転送終了した時点でプリンタがビジーかどうかチェックを行い、ビジーの場合はビジーが解除されるまで、データ転送は行えない。
ビジーにする受信バッファ残量はＸＸkbyte 以上である。また、ビジーを解除する受信バッファ残量はＹＹkbyte 以下である。ビジーは、（ｇ）のBusy信号Low で解除される。
多機能端末側でＰＣにデータを送信したい場合は、多機能端末側のデータ送信要求の意味付けをした（ｈ）nFaultをLow とする（タイミングｔ１）。ＰＣ側は正方向でデータを１ブロック分送信したところで（ｈ）のnFault信号を監視しnFault=Lowを検出したら逆方向転送モードに移行する。
【００１９】
逆方向転送切り換えフェーズは次のように動作する。
多機能端末側は送信データ有りにより、正方向転送フェーズまたは、ブロック転送終了フェーズの任意のタイミングでnFault信号をLow とする。ＰＣ側はブロック転送フェーズ終了後にnFaultの監視を行い、Low を検出した場合、以下の転送方向切り換えハンドシェイクを行う。また、単にＰＣが転送方向を逆方向に変更したい場合も以下の動作を行う。
【００２０】
ホストは、１２８４Active(nSelectIn) をLow （タイミングｔ１）にし、HostBusy(nAutoFd) をHighにセットして、ＩＥＥＥ１２８４モードからのターミネートを要求する。
多機能端末は、PtrBusy(Busy) とnDataAvail(nFault)をHighにセットする（タイミングｔ２）。
多機能端末は、XFlag(Select) を反転し（タイミングｔ３）、PtrClk(nAck)をLow にセットする。
【００２１】
ホストは、HostClk(nStrob) ，１２８４Active(nSelectin) をHighにし（タイミングｔ４）、HostBusy(nAutoFd) をLow にセットする。
多機能端末は、PtrBusy(Busy) をLow にセットする（タイミングｔ５）。
ここで、多機能端末がPtrBusy(Busy) をLow に変化させなければ、ＩＥＥＥ１２８４のターミネーションに入ることができる。
ホストは、HostBusy(nAutoFd) をHighにセットする（タイミングｔ６）。
多機能端末は、PtrBusy をHighにセットする（タイミングｔ７）。
このとき、リバース送信データが有るならば、PError及びnFaultにLow を、無いならば、Highをセットする。
【００２２】
上記動作終了後、ホストビジーデータアベイラブルフェーズへ移行する（図５）。
以降の図５に示す逆方向の転送シーケンスはＩＥＥＥ１２８４ニブルモードと同等のため説明を省略する。
逆方向の転送が１ブロック終了したら、ホストビジーデータアベイラブルフェーズに入り、（ｂ）の信号を参照してＰＣからのデータ送信要求の有無を確認する（図６のタイミングｔ８）。そしてＰＣからデータ送信要求があったら転送方向を逆方向から正方向に切り換える。
【００２３】
正方向転送切り換えフェーズは次のように動作する。
逆方向転送状態において、ニブルモードのターミネーションフェーズ移行と同等のタイミングで、以下のハンドシェイクを開始することで、送信方向を正方向に切り換えることが可能である。
【００２４】
ホストは、１２８４Active(nSelectIn) をLow にし（タイミングｔ９）、HostBusy(nAutoFd) をHighにセットして、ＩＥＥＥ１２８４モードからのターミネートを要求する。
多機能端末は、PtrBusy(Busy) とnDataAvail(nFault)をHighにセットする（タイミングｔ１０）。
ホストは、XFlag(Select) を反転し、PtrClk(nAck)をLow にセットする（タイミングｔ１１）。
【００２５】
ホストは、HostClk(nStrobe)，１２８４Active(nSelectln) をHighにし、HostBusy(nAutoFd) をLow にセットする（タイミングｔ１２）。
多機能端末は、PtrBusy(Busy) をLow にセットする（タイミングｔ１３）。
ホストは、HostBusy(nAutoFd) をHighにセットする（タイミングｔ１４）。
多機能端末は、PtrBusy(Busy) をHighにセットし、AckDataReq(PError)をLow 、nDataAvail(nFault)をHighにセットする（タイミングｔ１５）。
上記動作終了後、次のフェーズへ移行する。
【００２６】
以上のように、この具体例では、電源投入後、コンパチブルモードからネゴシエーションにて高速切り換えモードに入り、正方向転送のためのフェーズに入る。多機能端末側が受信可ならば正方向の転送モード（ブロックトランスファーフェーズ）になり、多機能端末から逆方向のデータ転送要求があった場合にnFault信号をLow にする。それをＰＣがブロック転送フェーズ終了時に検出して転送方向切り換えフェーズを行い逆方向のデータ転送を行う。
【００２７】
なお、ＰＣがブロック転送を行っていないときは、リバースアイドル状態かフォワードアイドル状態になっている。いずれの場合も、ホストビジーデータノットアイドル状態からアイドル状態に移行するときnFaultはHighの状態だから、nFaultがLow レベルに変化するのを検出できる。
例えば、図４のタイミングｔ１で、nFaultがHighならば、フォワードアイドル状態に移行し、その後nFaultがLow に変化すると割り込みが発生して逆方向の転送要求があったことを知る。
【００２８】
〈具体例１の効果〉
このように、ＩＥＥＥ１２８４ＥＣＰモードのようなハードウェアを持つことなく、上記の方式を適用することにより、１つの高速切り換えモードの中に正／逆の転送モードを持たせ、正方向から逆方向あるいは逆方向から正方向の転送方向の切り換えを、ＩＥＥＥ１２８４で標準化されているような複雑な手順をとることなく実現できる。ＩＥＥＥ１２８４ではコンパチブルモードからネゴシエーションをして各転送モード（正方向転送モードや逆方向転送モード）に移行し、転送方向を換える。従って、必ずターミネーションフェーズに移行し再びコンパチブルモードに移行し、ネゴシエーションフェーズを経て別の転送モードに移行するという手順をとっていた。しかし、本発明によると同一モードにてデータの転送方向を切り換えることができるので大幅な手順の短縮になる。また、データ転送の方向を切り換える処理時間がハードウェアを使うことなく大幅に短縮できるので、今まで切り換え処理時間が問題で実現できなかった多機能端末の機能が実現できる。
【００２９】
〈具体例２〉
具体例２は、図４のタイミングｔ１〜ｔ７と図６のタイミングｔ９〜ｔ１５を参照する。
ここで、データ転送方向の切り換えが高速に行えるように、図４のタイミングｔ１からｔ７までのハンドシェイクを多機能端末はフェーズ移行時の割り込み処理内で全て行う。ＰＣ側も図５のタイミングｔ９から他タスク及び割り込み処理を全てマスクして、それ以降のモード切り換えのためのハンドシェイクを全て行う。いずれも（ｆ）のｎＡｃｋ＝Ｈｉｇｈｔを検出後に他タスク及び割り込みのマスクを解除する。
こうすれば、ＰＣ側と多機能端末側のソフトウェアがデータ転送切り換えのためのハンドシェイクを同時に行うことができ高速ハンドシェイクを実現する。
【００３０】
〈具体例２の効果〉
ＰＣ側と多機能端末側でデータ転送方向切り換えのためのハンドシェイクをお互いに閉じた処理内で同時に行うことにより、従来発生していたハンドシェイク時の処理遅延がなくなる。これにより、転送方向切り換え処理時間が短縮できる。
なお、上記の具体例では、割り込み処理によるハンドシェイクを実行したが、所定の信号線を監視することでホスト側と端末側とが向き合って、短時間でハンドシェイクを実行できる構成であれば他の態様でもよい。従って、例えば専用のＣＰＵやＲＩＳＣ等の高速ＣＰＵによる信号線の監視あるいは他のハードウェアによる監視をするようにしてもよい。
【図面の簡単な説明】
【図１】本発明の双方転送方法の具体例を示す説明図である。
【図２】ＩＥＥＥ１２８４タイプＢ準拠のインタフェース信号線の割当て説明図を示す。
【図３】インタフェース信号線の説明図である。
【図４】高速切り換えモード動作タイムチャート（その１）である。
【図５】高速切り換えモード動作タイムチャート（その２）である。
【図６】高速切り換えモード動作タイムチャート（その３）である。
【符号の説明】
１  上位装置
２  端末装置
３  パラレルインタフェース
Ｍ１  コンパチブルモード
Ｍ４  ネゴシエーションフェーズ
Ｍ６  ニブルモード
Ｍ７  高速切り換えモード
Ｍ８  ターミネーションフェーズ
【図１】
0003677533.tif 000002
【図２】
0003677533.tif 000003
【図３】
0003677533.tif 000004
【図４】
0003677533.tif 000005
【図５】
0003677533.tif 000006
【図６】
0003677533.tif 000007