(57)【特許請求の範囲】
【請求項１】
第１の装置から第２の装置へパラレルインターフェースのパラレルデータラインを介してデータが送信される正方向送信が前提とされている通信システムにおいて、前記第１の装置で行われる双方向通信認識方法であって、
前記第２の装置から前記第１の装置へ前記パラレルデータラインを介してデータが送信されるデータライン逆方向送信の設定を、前記第１の装置に行った後に、
前記第１の装置に設けられ、前記正方向送信の際にデータが書き込まれることにより該データを前記パラレルデータラインにパラレル信号として出力するデータレジスタに、所定データを書き込み、
次いで前記データレジスタの内容を読み出し、前記書き込んだ所定データと前記読み出した内容とを比較して両者が異なれば、前記パラレルデータラインを介した前記第１の装置と前記第２の装置との双方向通信が可能であると認識し、前記両者が同じであれば、前記双方向通信は不可能であると認識する
ことを特徴とする双方向通信認識方法。
【請求項２】
前記比較により前記両者が異なると判定されるまで、前記所定データの内容を変更しつつ、前記所定データの書き込みと前記読み出しとを、所定複数回数を上限として繰り返し実行し、
前記比較により前記両者が異なるとの判定があった場合には、前記双方向通信が可能であると認識し、前記所定複数回数の前記所定データの書き込みと前記データレジスタの内容の読み出しとを繰り返しても、前記比較により前記両者が異なるとの判定がなかった場合には、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１記載の双方向通信認識方法。
【請求項３】
前記比較により前記両者が異なるとの判定がされたときに、更に、前記第１の装置から前記第２の装置へ、前記データライン逆方向送信が可能である旨の通知を行い、
該通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記データライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信されない場合に、前記双方向通信が可能であると認識し、
該通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記データライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信された場合に、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１または２記載の双方向通信認識方法。
【請求項４】
前記比較により前記両者が異なるとの判定がされたときに、更に、前記第１の装置から前記第２の装置へ、前記データライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、
該データ送信要求に応答して前記第２の装置から前記データライン逆方向送信により返信されたデータが正常であった場合に、前記双方向通信が可能であると認識し、前記返信されたデータが異常であった場合に、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１または２記載の双方向通信認識方法。
【請求項５】
前記比較により前記両者が異なるとの判定がされたときに、更に、前記第１の装置から前記第２の装置へ、前記データライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、
該通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記データライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信されず、かつ前記データ送信要求に応答して前記第２の装置から前記データライン逆方向送信により返信されたデータが正常であった場合に、前記双方向通信が可能であると認識し、
前記通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記データライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信された場合あるいは前記データ送信要求に応答して前記第２の装置から前記データライン逆方向送信により返信されたデータが異常であった場合に、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１または２記載の双方向通信認識方法。
【請求項６】
前記双方向通信が不可能であると認識した場合に、前記第２の装置から前記第１の装置へのデータのパラレルな逆方向送信は、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信のみが可能であると認識する
ことを特徴とする請求項１〜５のいずれか記載の双方向通信認識方法。
【請求項７】
前記双方向通信が可能であると認識した場合には、前記第１の装置を前記双方向通信を実行する設定とし、前記双方向通信が不可能であると認識した場合には、前記第１の装置を前記正方向通信，および，前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信からなる双方向通信を実行する設定とする
ことを特徴とする請求項１〜６のいずれか記載の双方向通信認識方法。
【請求項８】
前記双方向通信は不可能であると判定したときに、前記第１の装置から前記第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知を行い、
該通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記コントロールライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信されない場合に、前記コントロールライン逆方向送信が可能であると認識し、
該通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記コントロールライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信された場合に、前記コントロールライン逆方向送信は不可能であると認識する
ことを特徴とする請求項３〜５のいずれか記載の双方向通信認識方法。
【請求項９】
前記双方向通信は不可能であると判定したときに、更に、前記第１の装置から前記第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、
該データ送信要求に応答して前記第２の装置から前記コントロールライン逆方向送信により返信されたデータが正常であった場合に、前記コントロールライン逆方向送信が可能であると認識し、
前記返信されたデータが異常であった場合に、前記コントロールライン逆方向送信は不可能であると認識する
ことを特徴とする請求項３〜５のいずれか記載の双方向通信認識方法。
【請求項１０】
前記双方向通信は不可能であると判定したときに、更に、前記第１の装置から前記第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、
該通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記コントロールライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信されず、かつ前記データ送信要求に応答して前記第２の装置から前記コントロールライン逆方向送信により返信されたデータが正常であった場合に、前記コントロールライン逆方向送信が可能であると認識し、
前記通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記コントロールライン逆方向送信が不可能である旨の信号が前記第１の装置へ返信された場合あるいは前記データ送信要求に応答して前記第２の装置から前記コントロールライン逆方向送信により返信されたデータが異常であった場合に、前記コントロールライン逆方向送信は不可能であると認識する
ことを特徴とする請求項３〜５のいずれか記載の双方向通信認識方法。
【請求項１１】
前記コントロールライン逆方向送信が不可能であると認識した場合に、前記第２の装置から前記第１の装置へのデータのパラレルな逆方向送信は、不可能であると認識する
ことを特徴とする請求項８〜１０のいずれか記載の双方向通信認識方法。
【請求項１２】
前記コントロールライン逆方向送信が可能であると認識した場合には、前記第１の装置を、前記コントロールライン逆方向送信を実行する設定とし、前記コントロールライン逆方向送信が不可能であると認識した場合には、前記双方向通信も前記コントロールライン逆方向送信も行わない設定とする
ことを特徴とする請求項８〜１１のいずれか記載の双方向通信認識方法。
【請求項１３】
第１の装置に備えられたデータレジスタにデータを書き込んで該データをパラレルインターフェースのパラレルデータラインにパラレル信号として出力させて前記第１の装置から第２の装置へ前記パラレルデータラインを介して前記データを送信する正方向送信を行うことが前提とされている通信システムにおいて、前記第１の装置に備えられた双方向通信認識装置であって、
前記第２の装置から前記第１の装置へ前記パラレルデータラインを介してデータが送信されるデータライン逆方向送信の設定を行う逆方向送信設定手段と、
前記逆方向送信設定手段にて前記データライン逆方向送信の設定が行われた後に、前記データレジスタに所定データを書き込み、次いで前記データレジスタの内容を読み出すデータレジスタ書込読出手段と、
前記データレジスタ書込読出手段が書き込んだ所定データと読み出した内容との両者を比較して、該両者が同じか否かを判定する比較手段と、
前記比較手段にて前記両者が異なると判定されると、前記パラレルデータラインを介した前記第１の装置と前記第２の装置との双方向通信が可能であると認識し、前記比較手段にて前記両者が同じであると判定されると、前記双方向通信は不可能であると認識する認識手段と、を備えた
ことを特徴とする双方向通信認識装置。
【請求項１４】
前記比較手段は、前記両者が異なると判定されるまで、前記所定データの内容を変更しつつ、前記データレジスタ書込読出手段に、前記所定データの書き込みと前記データレジスタの内容の読み出しとを、所定複数回数を上限として繰り返し実行させ、
前記認識手段は、前記比較手段が前記両者が異なるとの判定をした場合には、前記双方向通信が可能であると認識し、前記データレジスタ書込読出手段が所定複数回数の前記所定データの書き込みと前記データレジスタの内容の読み出しとを繰り返しても、前記比較手段が前記両者が異なると判定できなかった場合には、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１３記載の双方向通信認識装置。
【請求項１５】
更に、前記比較手段により前記両者が異なると判定されたときに、前記第１の装置から前記第２の装置へ、前記データライン逆方向送信が可能である旨の通知を行う通知手段と、
該通知手段による通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記データライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する返信検出手段と、を備えるとともに、
前記認識手段は、前記比較手段により前記両者が異なると判定されたときに、前記返信検出手段にて前記データライン逆方向送信が不可能である旨の返信が検出されなかった場合に、前記双方向通信が可能であると認識し、前記返信検出手段にて前記データライン逆方向送信が不可能である旨の返信が検出された場合に、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１３または１４記載の双方向通信認識装置。
【請求項１６】
更に、前記比較手段により前記両者が異なると判定されたときに、前記第１の装置から前記第２の装置へ、前記データライン逆方向送信が可能である旨の通知およびデータ送信要求を行うデータ送信要求手段と、
該データ送信要求手段によるデータ送信要求に応答して前記第２の装置から前記データライン逆方向送信にて返信されたデータが正常か否かを検出するデータ状態検出手段と、を備えるとともに、
前記認識手段は、前記比較手段により前記両者が異なると判定されたときに、前記データ状態検出手段にて前記データライン逆方向送信で返信されたデータが正常であると検出された場合に、前記双方向通信が可能であると認識し、前記返信されたデータが異常であると検出された場合に、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１３または１４記載の双方向通信認識装置。
【請求項１７】
更に、前記比較手段により前記両者が異なると判定されたときに、前記第１の装置から前記第２の装置へ、前記データライン逆方向送信が可能である旨の通知およびデータ送信要求を行うデータ送信要求手段と、
該データ送信要求手段による通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記データライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する返信検出手段と、
前記データ送信要求手段によるデータ送信要求に応答して前記第２の装置から前記データライン逆方向送信にて返信されたデータが正常か否かを検出するデータ状態検出手段と、を備えるとともに、
前記認識手段は、前記比較手段により前記両者が異なると判定されたときに、前記返信検出手段にて前記データライン逆方向送信が不可能である旨の返信が検出されず、かつ前記データ状態検出手段にて前記データライン逆方向送信で返信されたデータが正常であると検出された場合に、前記双方向通信が可能であると認識し、前記返信検出手段にて前記データライン逆方向送信が不可能である旨の返信が検出された場合、あるいは前記データ状態検出手段にて前記データライン逆方向送信で返信されたデータが異常であると検出された場合に、前記双方向通信は不可能であると認識する
ことを特徴とする請求項１３または１４記載の双方向通信認識装置。
【請求項１８】
前記認識手段は、前記双方向通信が不可能であると認識した場合に、前記第２の装置から前記第１の装置へのデータのパラレルな逆方向送信は、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信のみが可能であると認識する
ことを特徴とする請求項１３〜１７のいずれか記載の双方向通信認識装置。
【請求項１９】
前記認識手段は、前記双方向通信が可能であると認識した場合には、前記第１の装置を、前記双方向通信を実行する設定とし、前記双方向通信が不可能であると認識した場合には、前記第１の装置を前記正方向通信，および，前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信からなる双方向通信を実行する設定とする
ことを特徴とする請求項１３〜１８のいずれか記載の双方向通信認識装置。
【請求項２０】
更に、前記認識手段により前記双方向通信は不可能であると認識されたときに、前記第１の装置から前記第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知を行う第２通知手段と、
該第２通知手段による通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記コントロールライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する第２返信検出手段と、
前記認識手段により前記双方向通信は不可能であると認識されたときに、前記第２返信検出手段にて前記コントロールライン逆方向送信が不可能である旨の返信が検出されなかった場合に、前記コントロールライン逆方向送信が可能であると認識し、前記第２返信検出手段にて前記コントロールライン逆方向送信が不可能である旨の返信が検出された場合に、前記コントロールライン逆方向送信は不可能であると認識する第２認識手段と、を備えた
ことを特徴とする請求項１５〜１７のいずれか記載の双方向通信認識装置。
【請求項２１】
更に、前記認識手段により前記双方向通信は不可能であると認識されたときに、前記第１の装置から前記第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行う第２データ送信要求手段と、
該第２データ送信要求手段によるデータ送信要求に応答して前記第２の装置から前記コントロールライン逆方向送信にて返信されたデータが正常か否かを検出する第２データ状態検出手段と、
前記認識手段により前記双方向通信は不可能であると認識されたときに、前記第２データ状態検出手段にて前記コントロールライン逆方向送信で返信されたデータが正常であると検出された場合に、前記コントロールライン逆方向送信が可能であると認識し、前記返信されたデータが異常であると検出された場合に、前記コントロールライン逆方向送信は不可能であると認識する第２認識手段と、を備えた
ことを特徴とする請求項１５〜１７のいずれか記載の双方向通信認識装置。
【請求項２２】
更に、前記認識手段により前記双方向通信は不可能であると認識されたときに、前記第１の装置から前記第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行う第２データ送信要求手段と、
該第２データ送信要求手段による通知に応答して前記第２の装置から、前記パラレルインターフェースのコントロールラインを介して、前記コントロールライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する第２返信検出手段と、
前記第２データ送信要求手段によるデータ送信要求に応答して前記第２の装置から前記コントロールライン逆方向送信にて返信されたデータが正常か否かを検出する第２データ状態検出手段と、
前記認識手段により前記双方向通信は不可能であると認識されたときに、前記第２返信検出手段にて前記コントロールライン逆方向送信が不可能である旨の返信が検出されず、かつ前記第２データ状態検出手段にて前記コントロールライン逆方向送信で返信されたデータが正常であると検出された場合に、前記コントロールライン逆方向送信が可能であると認識し、前記第２返信検出手段にて前記コントロールライン逆方向送信が不可能である旨の返信が検出された場合、あるいは前記第２データ状態検出手段にて前記コントロールライン逆方向送信で返信されたデータが異常であると検出された場合に、前記コントロールライン逆方向送信は不可能であると認識する第２認識手段と、を備えた
ことを特徴とする請求項１５〜１７のいずれか記載の双方向通信認識装置。
【請求項２３】
前記第２認識手段は、前記コントロールライン逆方向送信が不可能であると認識した場合に、前記第２の装置から前記第１の装置へのデータのパラレルな逆方向送信は、不可能であると認識する
ことを特徴とする請求項２０〜２２のいずれか記載の双方向通信認識装置。
【請求項２４】
前記第２認識手段は、前記コントロールライン逆方向送信が可能であると認識した場合には、前記第１の装置を前記コントロールライン逆方向送信を実行する設定とし、前記コントロールライン逆方向送信が不可能であると認識した場合には、前記双方向通信も前記コントロールライン逆方向送信も行わない設定とする
ことを特徴とする請求項２０〜２２のいずれか記載の双方向通信認識装置。
【請求項２５】
請求項１〜１２のいずれか記載の双方向通信認識方法を、コンピュータシステムとして構成された前記第１の装置にて実行するプログラムとして記憶されたことを特徴とする記憶媒体。
【請求項２６】
前記第２の装置がプリンタであることを特徴とする請求項２５記載の記憶媒体。
【請求項２７】
前記第１の装置がコンピュータシステムであり、前記第２の装置がプリンタであることを特徴とする請求項１〜１２のいずれか記載の双方向通信認識方法。
【請求項２８】
前記第１の装置がコンピュータシステムであり、前記第２の装置がプリンタであることを特徴とする請求項１３〜２４のいずれか記載の双方向通信認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステム等の第１の装置とプリンタ等の第２の装置との間の通信システムにおける双方向通信認識方法、双方向通信認識装置および双方向通信認識方法を実現するための記憶媒体に関する。
【０００２】
【従来の技術】
パソコンなどのコンピュータシステムからプリンタにデータやコマンドを送信するパラレルインターフェースの規格として、ＩＥＥＥ（Institute of Electrical and Electronics Engineers：電気電子技術者協会）１２８４が知られている。
【０００３】
この規格は、単にコンピュータシステムからデータやコマンドを送信するのみではなく、プリンタ側からプリンタの詳細な状態を知らせるためのステータスデータをコンピュータシステム側へ送信する機能を備え、コンピュータシステムとプリンタとの間での双方向通信を可能とするものである。
【０００４】
このプリンタのステータスデータをコンピュータシステム側へ送信する機能を実現している方式には、バイト（Byte）モードとニブル（Nibble）モードとの２つの方式が存在する。バイトモードは、通常、コンピュータシステムからプリンタへのデータやコマンドの送信に使用される８本のパラレルデータラインを使用して、プリンタからコンピュータシステムへステータスデータが送信される方式である。
【０００５】
ニブルモードは、パラレルデータラインを用いずに、コントロールラインの内の４本（例えば、「BUSY」、「ACK」、「PE」、「SLCT」）を用いて、１バイトのデータを上位４ビットと下位４ビットに時分割して、プリンタからコンピュータシステムへステータスデータが送信される方式である。
【０００６】
ニブルモードでは、１バイトのデータを２回に分けて送信するため、転送速度が遅いという欠点があった。したがって、ニブルモードよりもバイトモードを用いてステータスデータの送信を実行することが、コンピュータシステムやプリンタの処理速度や作業効率上、有利である。
【０００７】
【発明が解決しようとする課題】
しかし、これらの方式の内、バイトモードの機能を備えていないコンピュータシステムやプリンタが存在する。したがって、ユーザが、できるだけ効率的で迅速な印刷処理を行おうとすると、コンピュータシステムやプリンタの機能を確認した後、コンピュータシステムおよびプリンタが共にバイトモードを装備している場合には、バイトモードに設定して印刷処理を行い、コンピュータシステムおよびプリンタの何れか一方または両方がバイトモードを装備していない場合には、ニブルモードに設定して印刷処理を行わなくてはならない。
【０００８】
このような機能の確認は、ユーザにとっては面倒であり煩わしいものであった。このため、コンピュータシステム側の処理により、コンピュータシステムおよびプリンタの機能を自動認識させ、その結果に応じて適切なモードを設定することが考えられた。
【０００９】
この自動認識は、まず、コンピュータシステム上で起動させたプログラムによりコンピュータシステムおよびプリンタをバイトモードに設定し、次いでコンピュータシステムからプリンタに、パラレルデータラインを介したＩＤやステータスデータの転送を要求する。この要求に対して、プリンタからコンピュータシステムへ正常なデータが送信されてきたら、コンピュータシステムおよびプリンタはバイトモードが使用できるとの認識を行い、以後、バイトモードでの設定で双方向通信を行っていた。また、異常なデータが送信されてきた場合、コンピュータシステムおよびプリンタの一方あるいは両方がバイトモードの機能を有していない、またはコンピュータシステムとプリンタとの間のケーブルに介在しているスイッチボックス等の機能上の問題により、コンピュータシステムからプリンタへの片方向通信しかできないと判断できるので、バイトモードは不可能として、以後、プリンタからの送信についてはニブルモードにて行う双方向通信を行っていた。
【００１０】
しかし、コンピュータシステムがバイトモードの機能は持たず、プリンタ側ではバイトモードの機能を有している場合に、上述した自動認識を行うと、次に述べるような問題が発生するおそれがあることが判明した。すなわち、前記自動認識の際に、コンピュータシステム上で起動しているプログラムの機能により、最初に、コンピュータシステム側からパラレルデータラインを介してコマンドを送信しプリンタにデータのバイトモードでの送信を求める。これはコンピュータシステムからプリンタへの通常の送信であり、問題なく行われる。
【００１１】
しかし、その後に、プリンタ側からのＩＤ等のデータがパラレルデータラインからコンピュータシステム側へ送信されてくるので、コンピュータシステム側のプログラムは、コンピュータシステム自身をバイトモードで受信できるように設定する。しかし、実際には、コンピュータシステムはバイトモードの機能を有さないので、送信状態のままである。
【００１２】
したがって、コンピュータシステム側は送信状態のままで、プリンタ側の送信出力を受けてしまうことになる。このような送信がなされると、最悪の場合、コンピュータシステムあるいはプリンタのいずれかのインターフェースが故障してしまうおそれがあった。
【００１３】
本発明は、上述したごとくの問題点を生じない双方向通信の自動的に行うことにより、コンピュータシステムやプリンタの故障を招かずに、ユーザーにおける通信モード設定の煩わしさも解決することを目的とするものである。
【００１４】
【課題を解決するための手段及び発明の効果】
本発明の双方向通信認識方法は、第２の装置から第１の装置へパラレルデータラインを介してデータが送信されるデータライン逆方向送信の設定を、第１の装置に行った後に、第１の装置に設けられ正方向送信の際にデータが書き込まれることにより該データをパラレルデータラインにパラレル信号として出力するデータレジスタに所定データを書き込み、次いでデータレジスタの内容を読み出し、書き込んだ所定データと読み出した内容とを比較して両者が異なれば、パラレルデータラインを介した第１の装置と第２の装置との双方向通信が可能であると認識し、両者が同じであれば、双方向通信は不可能であると認識することを特徴とする。
【００１５】
もし、第１の装置も第２の装置も共にバイトモードの機能を有し、同じパラレルデータラインを介して、第２の装置から第１の装置へ逆方向の送信が可能であれば、第１の装置にて逆方向の送信、すなわち第１の装置にとっては受信の設定をすれば、第１の装置のインターフェースは受信状態となる。したがって、データレジスタに所定データを書き込んだとしても、そのデータレジスタの内容は第１の装置のインターフェースが受信準備状態にあるため特定の値、例えば電圧のプルアップにより「ＦＦＨ」（Ｈは１６進数であることを示す。）に固定されているため、第１の装置では所望の内容に書き替えることは不可能である。すなわち、第１の装置のデータレジスタに書き込んだはずの内容は、実際には書き込まれていない。
【００１６】
また、第１の装置はバイトモードの機能を有さず、第２の装置はバイトモードの機能を有す場合、第１の装置にて逆方向の送信、すなわち受信の設定をしても、実際には送信状態のままである。このため、データレジスタに所定データを書き込めば、その所定データは送信用として送信されるまで、書き込んだ状態のまま維持され、受信状態にある場合のように所定の値に固定されることはない。しかも、第１の装置は第２の装置にＩＤ等のデータの送信を求めていないので、第２の装置が送信状態にある第１の装置のインターフェースに送信を開始することにより生じる故障のおそれといった問題点は生じない。
【００１７】
したがって、第１の装置にて、データレジスタに書き込んだ所定データと読み出した内容とを比較して両者が異なれば、同じパラレルデータラインを介して、少なくともコンピュータシステム側は双方向通信が可能であると認識できる。プリンタがバイトモード機能を有していることが事前に判明していれば、コンピュータシステムとプリンタとの間での双方向通信は可能として、直ちに、双方向通信の処理を開始しても良い。
【００１８】
データレジスタに書き込んだ所定データと読み出した内容とが同じであれば、同じパラレルデータラインを介して、双方向通信は不可能であると認識できる。しかも、この自動認識は、コンピュータシステムあるいはプリンタに故障を招くおそれはない。
【００１９】
なお、第１の装置にてデータレジスタに書き込んだ内容が、偶然に第１の装置の受信状態時の前記所定の値と一致している場合が考えられるが、このような事態は、通常、前記所定の値として設定されることが有り得ない内容を、第１の装置のデータレジスタに書き込むようにすれば防止することができる。
【００２０】
これ以外に、第１の装置にて、データレジスタに書き込んだ所定データと読み出した内容と（以下、両者と称する。）が異なると判定されるまで、書き込む所定データの内容を変更しつつ、所定データの書き込みと読み出しとを、所定複数回数を上限として繰り返し実行し、両者が異なるとの判定があった場合には、双方向通信が可能であると認識し、所定複数回数の所定データの書き込みとデータレジスタの内容の読み出しとを繰り返しても、両者が異なるとの判定がなかった場合には、双方向通信は不可能であると認識することとしても良い。なお、前記所定複数回数としては、通常は２回で十分である。
【００２１】
また、更にプリンタ側のバイトモード機能の存在が不明な場合は、前述したごとく両者が異なるとの判定がされたときに、直ちに、双方向通信が可能と認識するのではなく、更に、第１の装置から第２の装置へ、データライン逆方向送信が可能である旨の通知を行い、該通知に応答して第２の装置から、パラレルインターフェースのコントロールラインを介して、データライン逆方向送信が不可能である旨の信号が第１の装置へ返信されない場合に、双方向通信が可能であると認識し、該通知に応答して第２の装置から、パラレルインターフェースのコントロールラインを介して、データライン逆方向送信が不可能である旨の信号が第１の装置へ返信された場合に、双方向通信は不可能であると認識することとしても良い。
【００２２】
すなわち、第２の装置には、第１の装置から双方向通信ができるあるいは双方向通信をする等の内容を意味する宣言等の通知があった場合に、コントロールラインを介して第１の装置側にデータライン逆方向送信が不可能である旨の信号を出力するものが存在する。したがって、このような信号が出力されれば、双方向通信は不可能であることは確実であるので、双方向通信は不可能であると認識し、信号の出力がなければ、双方向通信は可能であると認識する。
【００２３】
また、比較により両者が異なるとの判定がされたときに、更に、第１の装置から第２の装置へ、データライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、該データ送信要求に応答して第２の装置からデータライン逆方向送信により返信されたデータが正常であった場合に、双方向通信が可能であると認識し、返信されたデータが異常（データの返信がない場合も含める）であった場合に、双方向通信は不可能であると認識することとしても良い。
【００２４】
すなわち、第２の装置が前記データライン逆方向送信に対応しているものである場合には、第１の装置から双方向通信ができるあるいは双方向通信をする等の内容を意味する宣言等の通知の後にデータ送信要求があった場合に、同じパラレルデータラインを介して第１の装置側に、第２の装置のＩＤ等のデータを、データライン逆方向送信にて送信してくる。
【００２５】
したがって、データ送信要求に応答して第２の装置からデータライン逆方向送信により返信されたデータを第１の装置にて受信して、その内容が正常であった場合には双方向通信が可能であると認識し、その内容が異常であった場合には、双方向通信は不可能であると認識することができる。
【００２６】
上述の返信されたデータが正常か異常かの判断は、返信されるデータは所定のフォーマットにてデータが組み立てられているのが普通であることから、このフォーマットに従ったデータか否かにより決定することができる。なお、第２の装置が前記データライン逆方向送信で送信可能である場合であっても、コンピュータシステムとプリンタとを接続するラインの途中に介在しているスイッチボックス等が前記データライン逆方向送信に対応していない場合も返信されたデータの内容が異常となる場合があり、この場合も、コンピュータシステムとプリンタとが共に前記データライン逆方向送信に対応していても、双方向通信は不可能であると認識される。
【００２７】
更に、上述した２つの方法を組み合わせることにより、より正確に判定することとしても良い。すなわち、比較により両者が異なるとの判定がされたときに、第１の装置から第２の装置へ、データライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、該通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、データライン逆方向送信が不可能である旨の信号が第１の装置へ返信されず、かつデータ送信要求に応答して第２の装置からデータライン逆方向送信により返信されたデータが正常であった場合に、双方向通信が可能であると認識し、前記通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、データライン逆方向送信が不可能である旨の信号が第１の装置へ返信された場合あるいは前記データ送信要求に応答して第２の装置からデータライン逆方向送信により返信されたデータが異常であった場合に、双方向通信は不可能であると認識することとしても良く、一層、確実に双方向通信の可能か不可能かの認識ができる。
【００２８】
なお、双方向通信が不可能であると認識した場合には、単に第２の装置から第１の装置へのデータのパラレルな逆方向送信は不可能と認識しても良いが、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信のみが可能であると認識することとしても良い。すなわち、パラレルデータラインを介しての双方向通信は不可能であるが、第１の装置から第２の装置へはパラレルデータラインを介してデータを送信し、第２の装置から第１の装置へはコントロールラインを複数用いることによりパラレルにデータを送信することにより、別の方法にて双方向通信を実現することができるからである。
【００２９】
したがって、双方向通信が可能であると認識した場合には、第１の装置を双方向通信を実行する設定とし、双方向通信が不可能であると認識した場合には、第１の装置を正方向通信，および，前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信からなる双方向通信を実行する設定としても良い。
【００３０】
なお、双方向通信が不可能であると認識した場合に、直ちに、コントロールライン逆方向送信が可能であると認識したり、あるいは更にコントロールライン逆方向送信を第１の装置に設定したりするのではなく、双方向通信は不可能であると判定したときに、第１の装置から第２の装置へ、コントロールライン逆方向送信が可能である旨の通知を行い、該通知に応答して第２の装置から、パラレルインターフェースのコントロールラインを介して、コントロールライン逆方向送信が不可能である旨の信号が第１の装置へ返信されない場合に、コントロールライン逆方向送信が可能であると認識し、該通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、コントロールライン逆方向送信が不可能である旨の信号が第１の装置へ返信された場合に、コントロールライン逆方向送信は不可能であると認識するようにしても良い。
【００３１】
このようにコントロールライン逆方向送信を行う場合にも、第２の装置がコントロールライン逆方向送信が可能か否かを確認してから、コントロールライン逆方向送信を実行するので、確実な通信処理が可能となる。更に、確実にコントロールライン逆方向送信が可能か否かを確認する方法として次のようにしても良い。すなわち、双方向通信は不可能であると判定したときに、更に、第１の装置から第２の装置へ、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、該データ送信要求に応答して第２の装置からコントロールライン逆方向送信により返信されたデータが正常であった場合に、コントロールライン逆方向送信が可能であると認識し、前記返信されたデータが異常であった場合に、前記コントロールライン逆方向送信は不可能であると認識しても良い。
【００３２】
また、双方向通信は不可能であると判定したときに、更に、第１の装置から第２の装置へ、コントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行い、該通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、コントロールライン逆方向送信が不可能である旨の信号が第１の装置へ返信されず、かつデータ送信要求に応答して第２の装置からコントロールライン逆方向送信により返信されたデータが正常であった場合に、コントロールライン逆方向送信が可能であると認識し、前記通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、コントロールライン逆方向送信が不可能である旨の信号が第１の装置へ返信された場合あるいはデータ送信要求に応答して第２の装置からコントロールライン逆方向送信により返信されたデータが異常であった場合に、コントロールライン逆方向送信は不可能であると認識しても良い。
【００３３】
これは、前述したごとく、コンピュータシステムとプリンタとを接続するラインの途中に介在しているスイッチボックス等がコントロールライン逆方向送信に対応していない場合も返信されたデータの内容が異常となる場合に対処したものである。
【００３４】
したがって、コントロールライン逆方向送信が不可能であると認識した場合に、第２の装置から第１の装置へのデータのパラレルな逆方向送信は、不可能であると認識することができる。そして、コントロールライン逆方向送信が可能であると認識した場合には、第１の装置を、コントロールライン逆方向送信を実行する設定、すなわち、パラレルデータラインを介してデータが送信される正方向送信とコントロールライン逆方向送信とからなる双方向通信のできる設定とすることができる。また、コントロールライン逆方向送信が不可能であると認識した場合には、双方向通信もコントロールライン逆方向送信も行わない設定とすることができる。
【００３５】
上述した双方向通信認識方法を装置として実現した場合には、例えば次のように構成する。すなわち、第２の装置から第１の装置へパラレルデータラインを介してデータが送信されるデータライン逆方向送信の設定を行う逆方向送信設定手段と、逆方向送信設定手段にてデータライン逆方向送信の設定が行われた後に、データレジスタに所定データを書き込み、次いでデータレジスタの内容を読み出すデータレジスタ書込読出手段と、データレジスタ書込読出手段が書き込んだ所定データと読み出した内容との両者を比較して、該両者が同じか否かを判定する比較手段と、比較手段にて両者が異なると判定されると、パラレルデータラインを介した第１の装置と第２の装置との双方向通信が可能であると認識し、比較手段にて両者が同じであると判定されると、双方向通信は不可能であると認識する認識手段とを備えた双方向通信認識装置として構成することができる。
【００３６】
ここで、比較手段は、前記両者が異なると判定されるまで、所定データの内容を変更しつつ、データレジスタ書込読出手段に、所定データの書き込みとデータレジスタの内容の読み出しとを、所定複数回数を上限として繰り返し実行させ、認識手段は、比較手段が前記両者が異なるとの判定をした場合には、双方向通信が可能であると認識し、データレジスタ書込読出手段が所定複数回数の所定データの書き込みとデータレジスタの内容の読み出しとを繰り返しても、比較手段が両者が異なると判定できなかった場合には、双方向通信は不可能であると認識することとしても良い。
【００３７】
更に、比較手段により前記両者が異なると判定されたときに、第１の装置から第２の装置へ、データライン逆方向送信が可能である旨の通知を行う通知手段と、該通知手段による通知に応答して第２の装置から、パラレルインターフェースのコントロールラインを介して、データライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する返信検出手段とを備え、認識手段は、比較手段により前記両者が異なると判定されたときに、返信検出手段にてデータライン逆方向送信が不可能である旨の返信が検出されなかった場合に、双方向通信が可能であると認識し、返信検出手段にてデータライン逆方向送信が不可能である旨の返信が検出された場合に、双方向通信は不可能であると認識することとしても良い。
【００３８】
更に、比較手段により前記両者が異なると判定されたときに、第１の装置から第２の装置へ、データライン逆方向送信が可能である旨の通知およびデータ送信要求を行うデータ送信要求手段と、該データ送信要求手段によるデータ送信要求に応答して第２の装置からデータライン逆方向送信にて返信されたデータが正常か否かを検出するデータ状態検出手段とを備え、認識手段は、比較手段により前記両者が異なると判定されたときに、データ状態検出手段にてデータライン逆方向送信で返信されたデータが正常であると検出された場合に、双方向通信が可能であると認識し、返信されたデータが異常であると検出された場合に、双方向通信は不可能であると認識することとしても良い。
【００３９】
更に、比較手段により前記両者が異なると判定されたときに、第１の装置から第２の装置へ、データライン逆方向送信が可能である旨の通知およびデータ送信要求を行うデータ送信要求手段と、該データ送信要求手段による通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、データライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する返信検出手段と、データ送信要求手段によるデータ送信要求に応答して第２の装置からデータライン逆方向送信にて返信されたデータが正常か否かを検出するデータ状態検出手段とを備え、認識手段は、比較手段により前記両者が異なると判定されたときに、返信検出手段にてデータライン逆方向送信が不可能である旨の返信が検出されず、かつデータ状態検出手段にてデータライン逆方向送信で返信されたデータが正常であると検出された場合に、双方向通信が可能であると認識し、返信検出手段にてデータライン逆方向送信が不可能である旨の返信が検出された場合、あるいはデータ状態検出手段にてデータライン逆方向送信で返信されたデータが異常であると検出された場合に、双方向通信は不可能であると認識することとしても良い。
【００４０】
また、認識手段は、双方向通信が不可能であると認識した場合に、第２の装置から第１の装置へのデータのパラレルな逆方向送信は、前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信のみが可能であると認識することとしても良い。
【００４１】
また、認識手段は、双方向通信が可能であると認識した場合には、第１の装置を双方向通信を実行する設定とし、双方向通信が不可能であると認識した場合には、第１の装置を正方向通信，および，前記パラレルインターフェースにおけるコントロールラインの複数をパラレルに使用して行われるコントロールライン逆方向送信からなる双方向通信を実行する設定とすることとしても良い。
【００４２】
更に、認識手段により前記双方向通信は不可能であると認識されたときに、第１の装置から第２の装置へ、コントロールライン逆方向送信が可能である旨の通知を行う第２通知手段と、該第２通知手段による通知に応答して第２の装置から、パラレルインターフェースのコントロールラインを介して、コントロールライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する第２返信検出手段と、認識手段により双方向通信は不可能であると認識されたときに、第２返信検出手段にてコントロールライン逆方向送信が不可能である旨の返信が検出されなかった場合に、コントロールライン逆方向送信が可能であると認識し、第２返信検出手段にてコントロールライン逆方向送信が不可能である旨の返信が検出された場合に、コントロールライン逆方向送信は不可能であると認識する第２認識手段とを備えるものとしても良い。
【００４３】
更に、認識手段により双方向通信は不可能であると認識されたときに、第１の装置から第２の装置へ、コントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行う第２データ送信要求手段と、該第２データ送信要求手段によるデータ送信要求に応答して第２の装置からコントロールライン逆方向送信にて返信されたデータが正常か否かを検出する第２データ状態検出手段と、認識手段により双方向通信は不可能であると認識されたときに、第２データ状態検出手段にてコントロールライン逆方向送信で返信されたデータが正常であると検出された場合に、コントロールライン逆方向送信が可能であると認識し、前記返信されたデータが異常であると検出された場合に、コントロールライン逆方向送信は不可能であると認識する第２認識手段とを備えるものとしても良い。
【００４４】
更に、認識手段により双方向通信は不可能であると認識されたときに、第１の装置から第２の装置へ、コントロールライン逆方向送信が可能である旨の通知およびデータ送信要求を行う第２データ送信要求手段と、該第２データ送信要求手段による通知に応答して第２の装置から、前記パラレルインターフェースのコントロールラインを介して、コントロールライン逆方向送信が不可能である旨の信号が返信されたか否かを検出する第２返信検出手段と、第２データ送信要求手段によるデータ送信要求に応答して第２の装置からコントロールライン逆方向送信にて返信されたデータが正常か否かを検出する第２データ状態検出手段と、認識手段により前記双方向通信は不可能であると認識されたときに、第２返信検出手段にてコントロールライン逆方向送信が不可能である旨の返信が検出されず、かつ第２データ状態検出手段にてコントロールライン逆方向送信で返信されたデータが正常であると検出された場合に、コントロールライン逆方向送信が可能であると認識し、第２返信検出手段にてコントロールライン逆方向送信が不可能である旨の返信が検出された場合、あるいは第２データ状態検出手段にてコントロールライン逆方向送信で返信されたデータが異常であると検出された場合に、コントロールライン逆方向送信は不可能であると認識する第２認識手段とを備えるものとしても良い。
【００４５】
したがって、第２認識手段は、コントロールライン逆方向送信が不可能であると認識した場合に、第２の装置から第１の装置へのデータのパラレルな逆方向送信は、不可能であると認識することとしても良い。また第２認識手段は、コントロールライン逆方向送信が可能であると認識した場合には、第１の装置をコントロールライン逆方向送信を実行する設定とし、コントロールライン逆方向送信が不可能であると認識した場合には、双方向通信もコントロールライン逆方向送信も行わない設定、すなわち片方向通信としても良い。
【００４６】
第１の装置の例としてはコンピュータシステムが挙げられ、第２の装置の例としてはプリンタが挙げられる。なお、前述した双方向通信認識方法は、第１の装置がコンピュータシステムとして構成された場合には、ソフトウェアとして実現し、その実行プログラムを、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記憶媒体に記憶して、コンピュータシステムのハードディスク等の記憶媒体へのインストールや、コンピュータシステムのメモリへロードして使用する方法がもっとも効率的である。これ以外にネットワークにて通信によりコンピュータシステムにインストールあるいはロードして用いても良い。
【００４７】
【発明の実施の形態】
［実施の形態１］
図１は、本発明の実施の形態１としてのレーザプリンタ２にパソコン４を接続した状態を示している。図２はその概略ブロック図を示している。
【００４８】
レーザプリンタ２とパソコン４とは、所定の規格、ここでは、前述したＩＥＥＥ１２８４の規格に準拠したパラレルインターフェース６，８を採用しており、そのインターフェース接続用のＩＥＥＥ１２８４用ケーブル１０にて接続されている。
【００４９】
レーザプリンタ２は、パラレルインターフェース６の他に、プログラムにしたがって種々の制御を実行するＣＰＵ１２、種々の制御プログラムが格納されたＲＯＭ１４、ＣＰＵ１２による演算の作業領域や演算結果や各種設定状態を格納するＲＡＭ１６、給紙センサ、排紙センサおよびトナーセンサ、その他のセンサ類１８、レーザプリンタ２のメカニカルな部分を駆動するためのメインモータなどのエンジン２０、およびレーザプリンタ２に簡単な指示を押しボタン式スイッチ２２ａにて与えたり、所定の状態を設定するための指示操作や状態をＬＥＤランプ２２ｂで表示する操作部２２を備えている。またレーザプリンタ２の本体２ａの側面には電源スイッチ３が設けられている。
【００５０】
一方、パソコン４は、パラレルインターフェース８の他に、プログラムにしたがって種々の制御を実行するＣＰＵ２４、種々の制御プログラムが格納されたＲＯＭ２６、補助記憶装置３０内の補助記憶媒体から読みまれたＯＳ、アプリケーションソフトあるいはデバイスドライバーといったプログラム、データあるいはＣＰＵ２４による演算結果や各種設定状態を格納するＲＡＭ２８、フロッピーディスク、光磁気ディスクあるいはＣＤ−ＲＯＭ等を補助記憶媒体として外部からプログラムやデータを取り入れる補助記憶装置３０、演算結果、メニューあるいは印刷時のレーザプリンタ２側のステータス等の表示を行うディスプレイ３２、ユーザーからの入力を受けるキーボード３４、およびマウスインターフェース３６を介してディスプレイ３２上に表示されているマウスカーソルを移動させ、かつ指示を入力するためのマウス入力装置３８から構成されている。
【００５１】
レーザプリンタ２は、本体２ａの後部上方に給紙部２ｂが設けられ、印刷時には給紙部２ｂ内部の記録用紙が一枚ずつレーザプリンタ２内部の画像形成部に送られてトナー画像が転写された後、定着部にて加熱されることによりトナーが記録用紙上に固定され、排紙トレー２ｃ上に排出される。
【００５２】
また、パソコン４はレーザプリンタ２との間で、図３に示すコントロールライン１０ａを介して、シェイクハンド処理のためにストローブ信号やアクノリッジ信号といったハンドシェイク信号を相互に交換しつつ、パソコン４からはデータライン１０ｂを介してデータおよびコマンドの伝送がなされ、その結果に応じて、レーザプリンタ２は印刷処理を行ったり、レーザプリンタ２が後述するバイトモードを実行できる場合はステータスデータをパソコン４側に送信する。パソコン４側では、印刷時のレーザプリンタ２のステータスデータが得られれば、その状態をディスプレイ３２のステータスモニター表示部３２ａに表示する。
【００５３】
パソコン４のパラレルインターフェース８には図４（ａ）、（ｂ）、（ｃ）に示す３つの８ビットレジスタが設けられている。（ｂ）に示すコントロールレジスタ（ＣＲ）の第５ビットに「０」が設定されている時に、（ａ）に示すデータレジスタ（ＤＲ）に８ビット（１バイト）のデータを書き込むと、その８ビットのデータがＩＥＥＥ１２８４用ケーブル１０のデータライン１０ｂをパラレルデータとしてレーザプリンタ２側へ送信される。
【００５４】
また、図４（ｂ）に示すコントロールレジスタ（ＣＲ）の第５ビットに「１」が設定されている時に、（ａ）に示すデータレジスタ（ＤＲ）から８ビット（１バイト）のデータを読み出すと、ＩＥＥＥ１２８４用ケーブル１０のデータライン１０ｂをパラレルデータとしてレーザプリンタ２から逆方向送信されたデータを読み出すことができる。すなわち、パソコン４は、コントロールレジスタ（ＣＲ）の第５ビットに「１」を設定することにより、バイトモードに設定することができ、データライン１０ｂを介してレーザプリンタ２からステータスデータやレーザプリンタ２のＩＤデータ等を受信することができる。
【００５５】
なお、バイトモードの機能を備えていないパソコン、すなわち、データライン１０ｂを介してレーザプリンタ２からデータを受信できないパソコンは、コントロールレジスタ（ＣＲ）の第５ビットの値は、「０」であろうと「１」であろうと意味を持たない。すなわち、図４（ａ）に示すデータレジスタ（ＤＲ）はレーザプリンタ２への送信専用に使用される。
【００５６】
図４（ｂ）に示したコントロールレジスタ（ＣＲ）の第０ビットから第３ビットまではその内容を設定することにより、パソコン４がレーザプリンタ２とシェイクハンド処理をするためにレーザプリンタ２側へ出力するコントロールラインの出力を決定できる。また、図４（ｃ）に示したステータスレジスタ（ＳＲ）の第０ビットから第４ビットまではその内容を読み出すことにより、パソコン４がレーザプリンタ２とシェイクハンド処理をするためにレーザプリンタ２側からのコントロールライン出力を得ることができる。なお、後述するニブルモードでは、このステータスレジスタ（ＳＲ）の第０ビットから第３ビットまでを、レーザプリンタ２から送信される４ビットの入力データとして扱われる。
【００５７】
次に、パソコン４とレーザプリンタ２とをＩＥＥＥ１２８４用ケーブル１０にて接続した当初、パソコン４上で起動しているオペレーティングシステムにより自動的に起動される、あるいはユーザーの指示によりパソコン４にて起動される双方向通信認識処理について説明する。図５にその双方向通信認識処理のフローチャートを示す。
【００５８】
まず、パソコン（ＰＣ）４のパラレルインターフェース８に備えられているコントロールレジスタ（ＣＲ）の第５ビットに「１」を設定、すなわちバイトモードにてレーザプリンタ２からデータライン１０ｂを介して受信する設定とする（Ｓ１００）。
【００５９】
この処理により、パソコン（ＰＣ）４がバイトモードの機能を備えているパソコンであれば、レーザプリンタ２からデータライン１０ｂを介してなされる逆方向送信が受信できる設定となるが、バイトモードの機能を備えていないパソコンであれば、レーザプリンタ２へ送信する設定のままである。
【００６０】
次にデータレジスタ（ＤＲ）に「５５Ｈ」を書き込む（Ｓ２００）。そして、次にデータレジスタ（ＤＲ）の値を読み出す（Ｓ３００）。次にステップＳ３００にて読み出した値が、ステップＳ２００にて書き込んだ値「５５Ｈ」と同じか否かが判定される（Ｓ４００）。もし読み込んだデータレジスタ（ＤＲ）の値が「５５Ｈ」でなければ（Ｓ４００で「ＮＯ」）、パソコン（ＰＣ）４はバイトモードに設定可能として認識される（Ｓ５００）。
【００６１】
この認識は、ＲＡＭ２８内の認識内容を表わすフラグや補助記憶装置３０内の補助記憶媒体の初期設定用ファイル等に書き込まれることによりなされ、以後に行われる印刷処理（図示していない）において、「バイトモード設定可能」と認識されていれば双方向通信をバイトモードにて行い、「バイトモード設定不可能」と認識されていれば双方向通信をニブルモードにて行う。この双方向通信により、レーザプリンタ２側から送信されたステータスデータ等に基づいて、パソコン（ＰＣ）４側にてステータスモニター表示部３２ａへの、詳細なレーザプリンタ２の状態の表示等が行われる。
【００６２】
このニブルモードでは、図４（ｃ）に示したステータスレジスタ（ＳＲ）の各ビットに反映するコントロールライン１０ａの内の入力コントロールライン、例えば、「BUSY」、「ACK」、「PE」、「SLCT」の４本（ステータスライン）を用いて、１バイトデータを４ビットずつ２回に分けて、レーザプリンタ２からパソコン４へデータが送信される。
【００６３】
データレジスタ（ＤＲ）の値が「５５Ｈ」であれば（Ｓ４００で「ＹＥＳ」）、次にデータレジスタ（ＤＲ）に「ＡＡＨ」を書き込む（Ｓ６００）。そして、次にデータレジスタ（ＤＲ）の値を読み出し（Ｓ７００）、読み出した値が、「ＡＡＨ」か否かが判定される（Ｓ８００）。
【００６４】
もしデータレジスタ（ＤＲ）の値が「ＡＡＨ」でなければ（Ｓ８００で「ＮＯ」）、パソコン（ＰＣ）４はバイトモードに設定可能として認識される（Ｓ５００）。データレジスタ（ＤＲ）の値が「ＡＡＨ」であれば（Ｓ８００で「ＹＥＳ」）、パソコン（ＰＣ）４はバイトモードに設定不可能として認識され（Ｓ９００）、コントロールレジスタ（ＣＲ）の第５ビットに「０」を設定して（Ｓ１０００）、パソコン（ＰＣ）４のデータレジスタ（ＤＲ）をレーザプリンタ２への出力モードに戻す。
【００６５】
このようにして、パソコン（ＰＣ）４がバイトモード可能か不可能かを認識することができる。本実施の形態１のパソコン（ＰＣ）４は、バイトモードが可能であるので、ステップＳ４００またはステップＳ８００の少なともいずれかで、「ＮＯ」と判定され、バイトモード設定可能と認識される（Ｓ５００）。
【００６６】
ステップＳ２００にてデータレジスタ（ＤＲ）に書き込んだ内容がそのまま維持されていない場合に（Ｓ４００で「ＮＯ」）、バイトモードが設定可能であると認識している（Ｓ５００）のは、次に説明する理由に基づく。すなわち、図６に示したデータレジスタ（ＤＲ）の１ビット分の回路図から判るように、バイトモードが可能なデータレジスタ（ＤＲ）の出力バッファ４０は、コントロールレジスタ（ＣＲ）の第５ビットが「１」の時にはハイインピーダンスとなり、データレジスタ（ＤＲ）の入力バッファ４４は、インターフェースコネクタ４６側からの信号を反映できる状態にある。この時、インターフェースコネクタ４６側、すなわち、レーザプリンタ２から何等の送信がなければ、プルアップ回路４２によりデータレジスタ（ＤＲ）の全てのビットは「１」となっている。すなわち、ステップＳ２００でいかなる値をデータレジスタ（ＤＲ）に書き込んでも、データレジスタ（ＤＲ）から読み出した値は「ＦＦＨ」である。したがって、「ＦＦＨ」以外の値を、ステップＳ２００にてデータレジスタ（ＤＲ）に書き込んだ内容がそのまま維持されていない場合に、バイトモードが設定可能であると認識できることになる。
【００６７】
もし、バイトモードが不可能なデータレジスタ（ＤＲ）である場合には、その出力バッファ４０のインピーダンスに、コントロールレジスタ（ＣＲ）の第５ビットは影響しないので、第５ビットが「１」であろうと「０」であろうと、ローインピーダンスのままであり、その値はパソコン（ＰＣ）４側のバスを介してＣＰＵ２４が出力バッファ４０へ書き込んだ内容を反映する。したがって、データレジスタ（ＤＲ）の入力バッファ４４は、ステップＳ２００にて書き込んだ出力バッファ４０の内容をそのまま反映する。すなわち、ステップＳ２００でデータレジスタ（ＤＲ）に書き込んだ値と、データレジスタ（ＤＲ）から読み出した値とは一致する。したがって、ステップＳ２００にてデータレジスタ（ＤＲ）に書き込んだ内容がそのまま維持されている場合に、バイトモードが設定不可能であるパソコン（ＰＣ）４であると認識できることになる。
【００６８】
また、ステップＳ４００にて書き込み内容と読み出し内容とが同一であることを確認してから、更に、もう一度、値を変更して書き込み内容と読み出し内容とが同一であるか否かを判定している（Ｓ６００，Ｓ７００，Ｓ８００）。この理由は、次のごとくである。
【００６９】
すなわち、例えば、レーザプリンタ２側のパラレルインターフェース６側の状態が影響する等の理由により、「ＦＦＨ」以外の値がデータレジスタ（ＤＲ）から読み出された場合、偶然にその読み出された値がステップＳ２００にてデータレジスタ（ＤＲ）に設定した値と一致していることが考えられる。このような場合は、パソコン（ＰＣ）４にて、バイトモードが可能であるにもかかわらず、書き込んだ値と読み出した値とが同じとなって、バイトモードが不可能であると判定されてしまう。したがって、このことを防止するために、再度、データレジスタ（ＤＲ）に書き込む値を変更して、バイトモードが本当に不可能なのかを確認しているのである。
【００７０】
なお、もしパソコン４がバイトモードが不可能なパソコンであった場合に、ステップＳ１００にてコントロールレジスタ（ＣＲ）の第５ビットに「１」を設定しても、パソコン４のパラレルインターフェース８は送信状態のままであるが、図５の双方向通信認識処理においては、パソコン４側はレーザプリンタ２に対してステータスやＩＤ等のデータの送信を要求していないので、レーザプリンタ２が、送信状態のままのパソコン４のパラレルインターフェース８に送信を開始することはなく、自動認識しても従来のような故障のおそれは生じない。
【００７１】
本実施の形態１において、パソコン４が第１の装置に該当し、レーザプリンタ２が第２の装置に該当し、ステップＳ１００が逆方向送信設定手段としての処理に該当し、ステップＳ２００，Ｓ３００，Ｓ６００，Ｓ７００がデータレジスタ書込読出手段としての処理に該当し、ステップＳ４００，Ｓ８００が比較手段としての処理に該当し、ステップＳ５００，Ｓ９００が認識手段としての処理に該当する。
【００７２】
［実施の形態２］
次に、レーザプリンタ２側がバイトモードが可能か否かが不明な場合、あるいはＩＥＥＥ１２８４用ケーブル１０の途中に介在しているスイッチボックス等がバイトモードに対応しているか否かが不明な場合を考慮して、更に図５のステップＳ５００にて直ちにバイトモード設定可能と認識するのではなく、図７に示す処理をステップＳ５００の代りに実行しても良い。
【００７３】
すなわち、ステップＳ４００またはステップＳ８００にて「ＮＯ」と判定された場合、次に、レーザプリンタ２へコマンドを出力するためにコントロールレジスタ（ＣＲ）の第５ビットに「０」を設定する（Ｓ５１０）。そして、レーザプリンタ２に対して、バイトモードを宣言するとともにバイトモードによるＩＤの転送要求を行う（Ｓ５１２）。このバイトモードの宣言およびＩＤ要求は、データライン１０ｂを介してコマンドをレーザプリンタ２へ送信することにより行われる。このバイトモードの宣言およびＩＤ要求の直後に、レーザプリンタ２がコントロールライン１０ａの内の、例えば「SLCT」を反転することにより、バイトモードが不可能である旨の返信を行ったか否かを判定する（Ｓ５１４）。バイトモードが不可能である旨の返信がなされた場合には（Ｓ５１４で「ＮＯ」）、バイトモード設定不可能と認識する（Ｓ５７０）。
【００７４】
バイトモードが不可能である旨の返信がなされなかった場合には（Ｓ５１４で「ＹＥＳ」）、レーザプリンタ２からのデータを受信するためにコントロールレジスタ（ＣＲ）の第５ビットに「１」を設定し（Ｓ５３０）、レーザプリンタ２から、データライン１０ｂを介してバイトモードにて送信されてくるデータを受信する（Ｓ５４０）。
【００７５】
そして、受信したデータが正常か否かを判定する（Ｓ５５０）。この正常か否かは、レーザプリンタ２が送信してくるデータ（この場合はＩＤ）はその様式が規定されているので、様式に適合しているか否かにて判定する。すなわち、パソコン４がレーザプリンタ２から受信したデータが規定通りの様式であれば「正常」、規定通りの様式でなければ「異常」と判定される。例えば、ＩＤ中には製造メーカ名を示す「MANUFACTURER:」なる表示が存在するように様式が規定されているので、その文字列を表すコード列がレーザプリンタ２から送信されたデータの中に存在すれば、正常であるとして（Ｓ５５０で「ＹＥＳ」）、バイトモード設定可能と認識する（Ｓ５６０）。そのようなコード列が存在しなければ、あるいはデータそのものの送信がなければ、異常であるとして（Ｓ５５０で「ＮＯ」）、バイトモード設定不可能と認識する（Ｓ５７０）。
【００７６】
レーザプリンタ２がバイトモードに対応しており、ＩＥＥＥ１２８４用ケーブル１０のスイッチボックス等もバイトモードに対応していれば、パソコン４とのバイトモードでの双方向通信は可能であり、このような場合には、コントロールライン１０ａからバイトモードが不可能である旨の返信はなされず（Ｓ５１４で「ＹＥＳ」）、レーザプリンタ２からのデータは正常にパソコン４にて受信され（Ｓ５５０で「ＹＥＳ」）、バイトモード設定は可能であると正しく認識される（Ｓ５６０）。
【００７７】
レーザプリンタ２がバイトモードに対応していない場合、あるいはスイッチボックス等がバイトモードに対応していない場合には、パソコン４とのバイトモードでの双方向通信は不可能である。したがって、このような場合には、コントロールライン１０ａからバイトモードが不可能である旨の返信がなされたり（Ｓ５１４で「ＮＯ」）、データライン１０ｂからはデータそのものが受信されないか、あるいは様式に適合していない異常なデータが受信されるので（Ｓ５５０で「ＮＯ」）、バイトモード設定不可能であると正しく認識される（Ｓ５７０）。
【００７８】
しかも、このようにレーザプリンタ２からデータを送信させることによる正常異常の判断は、既に、ステップＳ４００またはステップＳ８００の判定にて、パソコン４がバイトモードに対応している場合に行われるので、従来のように、パソコン４がバイトモードに対応していない場合にバイトモードでレーザプリンタ２が送信することによる故障のおそれを生じることはない。
【００７９】
本実施の形態２において、ステップＳ５１０，Ｓ５１２がデータ送信要求手段としての処理に該当し、ステップＳ５１４が返信検出手段としての処理に該当し、ステップＳ５３０，Ｓ５４０，Ｓ５５０がデータ状態検出手段としての処理に該当し、ステップＳ５６０，Ｓ５７０が認識手段としての処理に該当する。
【００８０】
［その他］
なお、前記各実施の形態においては、レーザプリンタ２からパソコン４へパラレルのデータライン１０ｂを介してデータが送信されるデータライン逆方向送信は、バイトモードの設定により実現していたが、このようなデータライン逆方向送信は、バイトモード以外に、バイトモードとはそれぞれシェイクハンドが異なるＥＣＰ方式あるいはＥＰＰ方式が存在しており、このいずれのデータライン逆方向送信を行う方式でも良い。
【００８１】
また、バイトモードが不可能であるとの認識をした場合には、ニブルモードにて、４ビットずつ２回に分けて、レーザプリンタ２からパソコン４へデータが送信されたが、ニブルモードを用いることなく、レーザプリンタ２からパソコン４へのコントロールライン１０ａを介してのデータの送信を禁止しても良い。すなわち、パソコン４からレーザプリンタ２へニブルモードを禁止するコマンドを送信しても良い。
【００８２】
また前記各実施の形態おいて、バイトモードが不可能であるとの認識をした場合には、ニブルモードにて、レーザプリンタ２からパソコン４へデータを送信するように設定したが、直ちにニブルモードに設定するのではなく、次に説明するごとく、レーザプリンタ２がニブルモードが可能か否かを図７の処理とほぼ同様にして認識してからでも良い。
【００８３】
すなわち、パソコン４は、レーザプリンタ２へ、データライン１０ｂを介してニブルモードを宣言しＩＤ転送要求を行う（第２データ送信要求手段としての処理に該当）。このニブルモードの宣言およびＩＤ要求の直後に、レーザプリンタ２がコントロールライン１０ａの内の、例えば「SLCT」を反転することにより、ニブルモードが不可能である旨の返信を行ったか否かを判定し（第２返信検出手段としての処理に該当）、ニブルモードが不可能である旨の返信がなされた場合には、ニブルモード設定不可能と認識する（第２認識手段としての処理に該当）。また、ニブルモードが不可能である旨の返信がなされなかった場合には、パソコン４はニブルモードにてＩＤの受信を行ってＩＤの内容をチェックし（第２データ状態検出手段としての処理に該当）、ＩＤが受信されなかったりＩＤの内容が異常であったりして、受信データが異常であればニブルモード設定不可能と認識し（第２認識手段としての処理に該当）、正常なＩＤが受信されればニブルモード設定可能と認識する（第２認識手段としての処理に該当）。そしてニブルモード設定可能と認識されたら、以後はレーザプリンタ２からのデータはニブルモードで受信し、ニブルモード設定不可能と認識されたら、以後は、パソコン４はレーザプリンタ２からバイトモードにてもニブルモードにてもデータは受信せず片方向通信とする（第２認識手段としての処理に該当）。
【００８４】
なお、パソコン４が、レーザプリンタ２へ、データライン１０ｂを介してニブルモードを宣言する処理が、第２通知手段としての処理に該当する。
【図面の簡単な説明】
【図１】本発明の実施の形態１としてのレーザプリンタにパソコンを接続した状態の説明図である。
【図２】その概略ブロック図である。
【図３】レーザプリンタとパソコンとを接続しているケーブルの概略構成説明図である。
【図４】パソコンのインターフェースに備えられているデータレジスタ（ＤＲ）、コントロールレジスタ（ＣＲ）およびステータスレジスタ（ＳＲ）の説明図である。
【図５】パソコンにて実行される双方向通信認識処理のフローチャートである。
【図６】バイトモードに対応しているパソコンのデータレジスタ（ＤＲ）の１ビット分の回路図である。
【図７】実施の形態２における双方向通信認識処理の一部を示すフローチャートである。
【符号の説明】
２…レーザプリンタ    ４…パソコン    ６…レーザプリンタのパラレルインターフェイス    ８…パソコンのパラレルインターフェイス    １０…ＩＥＥＥ１２８４用ケーブル    １０ａ…コントロールライン    １０ｂ…データライン    ３０…補助記憶装置    ３２…ディスプレイ    ３２ａ…ステータスモニター表示部    ３４…キーボード    ４０…データレジスタの出力バッファ    ４２…プルアップ回路    ４４…データレジスタの入力バッファ
【図１】
0003684685.tif 000002
【図２】
0003684685.tif 000003
【図３】
0003684685.tif 000004
【図４】
0003684685.tif 000005
【図５】
0003684685.tif 000006
【図６】
0003684685.tif 000007
【図７】
0003684685.tif 000008