(57)【要約】【課題】  本発明は、コマンド送受信システム等に関し、送信側と受信側とで処理速度が異なる場合において、コマンドの効率的な送受信を実現する。【解決手段】  ＣＰＵ１１１は、レジスタ４２のコマンド送信バッファ４２２に長文のコマンドを格納し、受信側からの、受信側で次のコマンドの受信の準備ができたことを表わすコマンド受信バッファに基づく割込みの発行を受けてコマンド制御レジスタ４２１中の送信フラグをオンにする。すると、コマンド送信バッファ４２２に格納されているコマンドが、長文のまま送信される。【選択図】        図４
2014241534.tif 000002
【特許請求の範囲】
【請求項１】
コマンドが格納されるコマンド送信バッファと、
コマンド送信指示を受けて前記コマンド送信バッファに格納されているコマンドを読み出し１つ以上のパケット形式のデータ列に変換するパケット変換部と、
前記パケット変換部での変換により生成された、前記コマンドを表わす１つ以上のパケットを送信する第１のパケット送信部とを有する送信装置、および
前記１つ以上のパケットを受信する第１のパケット受信部と、
前記第１のパケット受信部で受信された前記１つ以上のパケットにより表わされるコマンドが格納されるコマンド受信バッファと、
前記コマンド受信バッファに格納されているコマンドを前記パケット１つ分の長さよりも短い複数のデータ列単位で順次読み出すデータ読出部と、
前記データ読出部による、前記コマンド受信バッファに格納されているコマンド全長の読出し完了を受けて、前記送信装置に向けて、次のコマンドの受入れ可能を伝えるコマンド受信パケットを送信する第２のパケット送信部とを有する受信装置を備え、
前記送信装置がさらに、前記受信装置から送信されてきた前記コマンド受信パケットを受信する第２のパケット受信部を有することを特徴とするコマンド送受信システム。
【請求項２】
前記コマンド送信バッファが、１つのコマンドが相対的に短時間で書き込まれるバッファであり、
前記データ読出部が、前記コマンド受信バッファに格納されているコマンドを相対的に長時間をかけて読み出すものであることを特徴とする請求項１記載のコマンド送受信システム。
【請求項３】
コマンドが格納されるコマンド送信バッファと、
コマンド送信指示を受けて前記コマンド送信バッファに格納されているコマンドを読み出し１つ以上のパケット形式のデータ列に変換するパケット変換部と、
前記パケット変換部での変換により生成された、前記コマンドを表わす１つ以上のパケットを送信する第１のパケット送信部と、
前記第１のパケット送信部が送信した前記１つ以上のパケットの受信先である受信装置から送信されてきた、該受信装置での次のコマンドの受入れ可能を伝えるコマンド受信パケットを受信する第２のパケット受信部とを有することを特徴とするコマンド送信装置。
【請求項４】
送信装置から送信されてきた、全体で１つのコマンドを表わす１つ以上のパケットを受信する第１のパケット受信部と、
前記第１のパケット受信部で受信された前記１つ以上のパケットにより表わされるコマンドが格納されるコマンド受信バッファと、
前記コマンド受信バッファに格納されているコマンドを前記パケット１つ分の長さよりも短い複数のデータ列単位で順次読み出すデータ読出部と、
前記データ読出部による、前記コマンド受信バッファに格納されているコマンド全長の読出し完了を受けて、前記送信装置に向けて、次のコマンドの受入れ可能を伝えるコマンド受信パケットを送信する第２のパケット送信部とを有することを特徴とする受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンド送受信システム、コマンド送信装置、およびコマンド受信装置に関する。
【背景技術】
【０００２】
ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）の規格に準拠したデータの送受信を行なうことが知られている（特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１８１２５４号公報
【特許文献２】特開２００３−２２４６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、受信側の機器が、ＵＡＲＴに準拠した機器など短いデータ列の形式でしか処理できない機器であっても、通信インタフェースの工夫により長文のコマンドを複数のデータ列に分割して送信するよりも効率的な送信を行なうことを可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１は、
コマンドが格納されるコマンド送信バッファと、
コマンド送信指示を受けて前記コマンド送信バッファに格納されているコマンドを読み出し１つ以上のパケット形式のデータ列に変換するパケット変換部と、
前記パケット変換部での変換により生成された、前記コマンドを表わす１つ以上のパケットを送信する第１のパケット送信部とを有する送信装置、および
前記１つ以上のパケットを受信する第１のパケット受信部と、
前記第１のパケット受信部で受信された前記１つ以上のパケットにより表わされるコマンドが格納されるコマンド受信バッファと、
前記コマンド受信バッファに格納されているコマンドを前記パケット１つ分の長さよりも短い複数のデータ列単位で順次読み出すデータ読出部と、
前記データ読出部による、前記コマンド受信バッファに格納されているコマンド全長の読出し完了を受けて、前記送信装置に向けて、次のコマンドの受入れ可能を伝えるコマンド受信パケットを送信する第２のパケット送信部とを有する受信装置を備え、
前記送信装置がさらに、前記受信装置から送信されてきた前記コマンド受信パケットを受信する第２のパケット受信部を有することを特徴とするコマンド送受信システムである。
【０００６】
請求項２は、
前記コマンド送信バッファが、１つのコマンドが相対的に短時間で書き込まれるバッファであり、
前記データ読出部が、前記コマンド受信バッファに格納されているコマンドを相対的に長時間をかけて読み出すものであることを特徴とする請求項１記載のコマンド送受信システムである。
【０００７】
請求項３は、
コマンドが格納されるコマンド送信バッファと、
コマンド送信指示を受けて前記コマンド送信バッファに格納されているコマンドを読み出し１つ以上のパケット形式のデータ列に変換するパケット変換部と、
前記パケット変換部での変換により生成された、前記コマンドを表わす１つ以上のパケットを送信する第１のパケット送信部と、
前記第１のパケット送信部が送信した前記１つ以上のパケットの受信先である受信装置から送信されてきた、該受信装置での次のコマンドの受入れ可能を伝えるコマンド受信パケットを受信する第２のパケット受信部とを有することを特徴とするコマンド送信装置である。
【０００８】
請求項４は、
送信装置から送信されてきた、全体で１つのコマンドを表わす１つ以上のパケットを受信する第１のパケット受信部と、
前記第１のパケット受信部で受信された前記１つ以上のパケットにより表わされるコマンドが格納されるコマンド受信バッファと、
前記コマンド受信バッファに格納されているコマンドを前記パケット１つ分の長さよりも短い複数のデータ列単位で順次読み出すデータ読出部と、
前記データ読出部による、前記コマンド受信バッファに格納されているコマンド全長の読出し完了を受けて、前記送信装置に向けて、次のコマンドの受入れ可能を伝えるコマンド受信パケットを送信する第２のパケット送信部とを有することを特徴とする受信装置である。
【発明の効果】
【０００９】
請求項１〜４によれば、長文のコマンドを複数のデータ列に分割して送信するよりも効率的な送信を行なうことが可能である。
【図面の簡単な説明】
【００１０】
【図１】送受信システムの一実施形態を含むプリントシステムの概要を示した図である。
【図２】図１に示すプリントシステム内に備えられたデータ伝送システムの構成を示すブロック図である。
【図３】第１の送受信装置と第２の送受信装置との間で送受信されるコマンドのデータ形式を示した図である。
【図４】第１の送受信装置の入出力制御部およびパケット制御部の構成を示したブロック図である。
【図５】第２の送受信装置の入出力制御部およびパケット制御部の構成を示したブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を説明する。
【００１２】
図１は、本発明の送受信システムの一実施形態を含むプリントシステムの概要を示した図である。
【００１３】
ここには、画像生成用のコンピュータ１０と、画像をプリント出力するプリンタ２０と、それらコンピュータ１０とプリンタ２０との間を接続するケーブル３０とが示されている。
【００１４】
コンピュータ１０では、データ上で画像が構築され、その構築された画像データがケーブル３０を経由してプリンタ２０に送信される。プリンタ２０はその送信されてきた画像データを受信してその画像データに基づく画像をプリント出力する。
【００１５】
図２は、図１に示すプリントシステム内に備えられたデータ伝送システムの構成を示すブロック図である。
【００１６】
第１の送受信装置１００は、コンピュータ１０内に備えられた通信インタフェースであり、第２の送受信装置２００は、プリンタ２０内に備えられた通信インタフェースである。
【００１７】
第１の送受信装置１００および第２の送受信装置２００は、本発明における、それぞれ送信装置および受信装置の各一例に相当する。
【００１８】
コンピュータ１０に備えられている第１の送受信装置１００は、そのコンピュータ１０のＣＰＵ１１１（図４参照）により高速アクセスすることが可能な送受信装置である。一方、プリンタ２０は、特にコンピュータ１０側が送信されてきたコマンドに関し、ＵＡＲＴ規格に準拠したデータ列単位でしか処理できないため、そのプリンタ２０に備えられている第２の送受信装置２００からコマンドを相対的に長時間かけてしか受け取ることができない。
【００１９】
この図２に示すデータ伝送システムには、第１の送受信装置１００から第２の送受信装置２００に向けてデータを送るための送受信チャンネルが複数（この図２に示す例では４つ）備えられている。一方、第２の送受信装置２００から第１の送受信装置１００に向けてデータを送るための送受信チャンネルはそれよりも少ない数（この図２に示す例では１つ）である。このようにデータ送受信能力が互いに異なる非対称の伝送システムとなっているのは、コンピュータ１０からプリンタ２０に向けて大量の画像データを送る必要があり、一方、プリンタ２０からコンピュータ１０に向けて送信する必要のあるデータの量は少量で済むからである。この図２に示すデータ伝送システムでは、データがパケット形式に変換されてデータパケットが伝送される。
【００２０】
第１の送受信装置１００は、入出力制御部１０１、パケット制御部１０２、リンク制御部１０３、４チャンネル分のビット変換部１０４＿１〜１０４＿４、ビット逆変換部１０５、４チャンネル分のパラレル／シリアル変換部１０６＿１〜１０６＿４、およびシリアル／パラレル変換部１０７を有する。
【００２１】
入出力制御部１０１は、コンピュータ１０内のメモリ１１０（図４参照）から画像データを取り出してパケット制御部１０２に渡す。また、この入出力制御部１０１は、コンピュータ１０内のＣＰＵ１１１から送られてきたコマンドをパケット制御部１０２に渡す。さらにこの入出力制御部１０１は、パケット制御部１０２から渡されたデータをコンピュータ１０の、ＣＰＵ等の内部のデータ処理部に渡す。
【００２２】
パケット制御部１０２は、入出力制御部１０１を経由して伝送されてきた画像データやコマンド等をパケットに変換し、インタリーブ制御により４チャンネルに順次振り分けてパケットをリンク制御部１０３に渡す。また、このパケット制御部１０２はリンク制御部１０３を経由して伝送されてきたパケットを解析して、そのパケットに応じた指示やデータを入出力制御部１０１に渡す。
【００２３】
リンク制御部１０３は、普段はこの第１の送受信装置１００と第２の送受信装置２００との間の通信を確立しそれを維持するための符号データを送受信している。このリンク制御部１０３は、パケット制御部１０２からパケットが送られてくると、そのパケットを、４つのビット変換部１０４＿１〜１０４＿４のうちの、パケット制御部１０２により順次振り分けられたいずれかのビット変換部に渡す。またこのリンク制御部１０３は、ビット逆変換部１０５から渡されたパケットをパケット制御部１０２に渡す。
【００２４】
ビット変換部１０４＿１〜１０４＿４は、パケット制御部１０２で生成されリンク制御部１０３を経由して入力されてきたパケットを通信用のビット配列のパケットに変換して、４つのパラレル／シリアル変換部１０６＿１〜１０６＿４のうちの対応するパラレル／シリアル変換部に渡す。
【００２５】
また、ビット逆変換部１０５は、シリアル／パラレル変換部１０７から渡された通信用のビット配列を持ったパケットを内部処理形式のビット配列のパケットに変換してリンク制御部１０３に渡す。
【００２６】
さらに、パラレル／シリアル変換部１０６＿１〜１０６＿４は対応するビット変換部１０４＿１〜１０４＿４から渡されたパラレル形式のパケットをシリアル形式のパケットに変換し、対応する各送信ポート１０８＿１〜１０８＿４から、第２の送受信装置２００に向けてケーブル３０に送り出す。
【００２７】
さらに、シリアル／パラレル変換部１０７は、第２の送受信装置２０からケーブル３０を経由して送信され受信ポート１０９から入力されてきたシリアル形式のパケットをパラレル形式のパケットに変換してビット逆変換部１０５に渡す。
【００２８】
ケーブル３０は、第１の送受信装置１００の複数チャンネル（ここに示す例では４チャンネル）の送信ポート１０８＿１〜１０８＿４のそれぞれと、第２の送受信装置２００の複数チャンネル（ここに示す例では４チャンネル＃１〜＃４）の受信ポート２０８＿１〜２０８＿４のそれぞれを１対１で接続するとともに、第１の送受信装置１００の受信ポート１０９と第２の送受信装置２００の送信ポート２０９とを接続している。
【００２９】
プリンタ２０に備えられている第２の送受信装置２００は、送信チャンネルの数と受信チャンネルの数が第１の送受信装置１００とは逆になっている点を除き、この図２に示すブロック図のレベルでは第１の送受信装置１００とほぼ同一の構成を有する。したがって、ここでは、上記の第１の送受信装置１００の説明を踏まえ、簡略に説明する。
【００３０】
第１の送受信装置１００の各送信ポート１０８＿１〜１０８＿４からケーブル３０を経由して送信されてきたパケットは各受信ポート２０８＿１〜２０８＿４から入力されて各シリアル／パラレル変換部２０６＿１〜２０６＿４でパラレル形式のパケットに変換され、さらに各ビット逆変換部２０４＿１〜２０４＿４で通信用のビット配列から内部処理形式のビット配列のパケットに逆変換される。ビット逆変換部２０４＿１〜２０４＿４で逆変換されたパケットはリンク制御部２０３を経由してパケット制御部２０２に送られる。
【００３１】
リンク制御部２０３は、第１の送受信装置１００のリンク制御部１０３と協同して、第１の送受信装置１００と第２の送受信装置２００との間の通信を確立し、それを維持するための符号データの送受信を行なう役割を担っている。このリンク制御部２０３は、普段は通信維持用の符号データの送受信を行っているが、ビット逆変換部２０４＿１〜２０４＿４からのパケットをパケット制御部２０２に受け渡す役割も担っている。
【００３２】
パケット制御部２０２は、第１の送受信装置１００のパケット制御部１０２におけるインタリーブ制御により４チャンネルに振り分けられて伝送されたきた４チャンネル分のパケットを順次１つの経路に集める役割と、それらのパケットからデータを取り出して入出力制御部２０１に渡す役割を担っている。
【００３３】
入出力制御部２０１は、パケット制御部２０２から伝えられた画像データをプリンタ２０内のメモリ２１０（図５参照）に書き込む。また、この入出力制御部２０１はパケット制御部２０２から伝えられてきたコマンドをプリンタ２０内に送り込む。この際、このコマンドはＵＡＲＴ形式の複数のデータ列に変換されて送り出される。ＵＡＲＴ形式のデータ列１つずつは短かいデータ列であるため、コマンドの長さにもよるが第１の送受信装置１０からの送信に要した時間よりも長時間をかけて入出力制御部２０１から送り出される。この入出力制御部２０１から送り出された複数のデータ列は、プリンタ２０内のＣＰＵ２１１に伝えられる。すなわち、このプリンタ２０の内部はＵＡＲＴ形式のデータを取り扱う構造となっている。
【００３４】
このプリンタ２０は、ＣＰＵ２１１に伝えられたコマンドに従って動作し、メモリ２１０に書き込まれた画像データに応じた画像をプリント出力する。
【００３５】
また、このプリンタ２０は、コンピュータ１０に向けて送信すべきデータがあるときは、そのデータを入出力制御部２０１に渡す。入出力制御部２０１は、その書き込まれたデータを読み出してパケット制御部２０２に渡す。パケット制御部２０２は、そのデータをパケットに変換してリンク制御部２０３に渡す。リンク制御部２０３は、パケット制御部２０２から渡されたパケットをビット変換部２０５に渡す。このビット変換部２０５はそのパケットを通信用のビット配列を持ったパケットに変換してパラレル／シリアル変換部２０７に渡す。パラレル／シリアル変換部２０７は、そのパケットをシリアル形式のパケットに変換し送信ポート２０９から第１の送受信装置１００に向けてケーブル３０に送り出す。このパケットは、第１の送受信装置１００の受信ポート１０９から第１の送受信装置１００に入力される。その後のデータの流れは前述の通りである。
【００３６】
以下、本実施形態の特徴である、第１の送受信装置１００から第２の送受信装置２００へのコマンドの送受信を中心に説明する。
【００３７】
図３は、第１の送受信装置１００と第２の送受信装置２００との間で送受信されるコマンドのデータ形式を示した図である。
【００３８】
ここでの送受信に採用されるコマンドには、（Ａ）ノーマルメッセージと（Ｂ）ロングメッセージの２つの形式がある。
【００３９】
（Ａ）ノーマルメッセージおよび（Ｂ）ロングメッセージの双方とも、８ビット単位のデータ列となっている。
【００４０】
（Ａ）ノーマルメッセージは最初の８ビットのデータ列のうちの前半の４ビット「１１００」がノーマルメッセージであることを表わしていて、後半の４ビットにはメッセージ長ｎが書き込まれている。その後、８ビット単位のｎ個のデータ列、コマンドデータ１、コマンドデータ２、・・・、コマンドデータｎが続き、最後にチェックサムが続くデータ列となっている。
【００４１】
また、（Ｂ）ロングメッセージは、最初の８ビットのデータ列「００１１００００」がロングメッセージであることを表わしていて、次のデータ列にメッセージ長Ｎが書き込まれている。その後、８ビット単位のＮ個のデータ列、コマンドデータ１、・・・、コマンドデータＮが続き、最後にチェックサムが続くデータ列となっている。
【００４２】
ここで、ノーマルメッセージのメッセージ長ｎとロングメッセージ長Ｎとを比較すると、ｎ＜Ｎであり、かつロングメッセージのメッセージ長Ｎの最大値はＮ＝２５６程度もの長さとなっている。
【００４３】
プリンタ２０の内部はＵＡＲＴ形式のデータしか受けつけないため、従来は１つのコマンドを８ビットずつのデータ列に分割し各データ列をＵＡＲＴ形式のパケットに変換して送信している。この場合、１つのコマンドを送信するのに最大２５６個程度もの数のパケットを送信することになる。コマンド１つ１つをこのような多数のパケットに分けて送信すると、送信に時間がかかり、また大量のデータを送らなけれなならない画像データの送信にも悪影響を及ぼすおそれがある。
【００４４】
本実施形態の特徴の１つは、コマンドの送信を効率化することにある。
【００４５】
ただし、コマンドの送信が効率化されても、プリンタ２０側ではＵＡＲＴ形式のデータしか解釈できないため、ＵＡＲＴ形式に変換してプリンタ内部に送り込むことになり、これには長時間を要する。したがって送信側と受信側とでコマンドの送受信をどのように同期させるかが問題となる。
【００４６】
そこで、本実施形態のもう１つの特徴は、コマンドを効率的に高速に送信することと、受信したコマンドを長時間かけてＵＡＲＴ形式に変換することとを両立させることにある。
【００４７】
次に、上記の特徴を実現するための第１の送受信装置１００および第２の送受信装置２００の、入出力制御部１０１，２０１およびパケット制御部１０２，２０２の構成について説明する。
【００４８】
図４は、第１の送受信装置の入出力制御部およびパケット制御部の構成を示したブロック図である。
【００４９】
入出力制御部１０１は、画像データを取り扱うビデオ層１０１Ａと、コマンドを取り扱うＣＰＵインタフェース層１０１Ｂとを有する。
【００５０】
図１に示すコンピュータ１０では、そのコンピュータ１０の内部のメモリ１１０に画像データが蓄えられる。入出力制御部１０１を構成するビデオ層１０１Ａは、後述する画像リクエストＳ００１を受け取ると、メモリ１１０より画像データの読出しを開始し、パケット制御部１０２のセレクタ５１に対し画像出力リクエストＳ００２を出力する。この画像出力リクエストＳ００２は、パケット制御部１０２の画像パケット生成部５２にも伝えられ、画像パケット生成部５２は、ビデオ層１０１Ａに対し画像データリードイネーブルＳ００３を出力してビデオ層１０１Ａから画像データＳ００４を受け取り、画像データ送信用の画像パケットＳ００５を生成する。
【００５１】
一方、コマンドについては、コンピュータ１０（図１参照）内のＣＰＵ１１１が、入出力制御部１０１を構成するＣＰＵインタフェース層１０１Ｂ内のＣＰＵインタフェース４１を介してレジスタ４２内のコマンド送信バッファ内にコマンドを書き込む。このコマンドは、図３を参照して説明した通り、最長Ｎ＝２５６バイト程度の長さのコマンドである。
【００５２】
ＣＰＵ１１１は、ＣＰＵインタフェース４１を介してコマンド送信バッファ４２２にコマンドを格納すると、コマンド制御用のフラグ等が格納されるコマンド制御レジスタ４２１内のコマンド送信フラグをオンにする。すると、コマンド送信制御部４３に向けてＣＰＵコマンド制御信号Ｓ００６を出力する。すると、コマンド送信制御部４３はレジスタ４２に向けてコマンドリードイネーブルＳ００７を出力してコマンド送信バッファ４２２に格納されているコマンドＳ００８を読み出す。このコマンド送信制御部４３は、コマンド送信バッファ４２２から読み出したコマンドを解析しメッセージ長（図３参照）を確認する。ここで、パケット制御部１０２を構成するコマンドパケット生成部５３では、例えば１２８バイト長のコマンドパケットが生成される。コマンド送信制御部４３では、コマンド送信バッファ４２２から今回読み出してメッセージ長を確認したコマンドがコマンドパケット生成部５３で生成されるコマンドパケットの長さに満たないときは、未たない領域にゼロを埋め込み、また、そのコマンドパケット１つ分よりも長いコマンドのときは、そのコマンドを分割する処理が行なわれる。コマンド送信制御部４３はこうした処理が完了すると、セレクタ５１に対しコマンド出力リクエストＳ００９を出力する。このコマンド出力リクエストＳ００９は、コマンドパケット生成部５３にも伝えられ、このコマンドパケット生成部５３は、コマンド送信制御部４３に対し、コマンド出力リクエストＳ０１０を出力してコマンド送信制御部４３から、上記のようにして一定長に加工されたコマンドデータＳ０１１を受け取り、コマンドデータ送信用のコマンドパケットＳ０１２を生成する。
【００５３】
セレクタ５１は、画像出力リクエストＳ００２やコマンド出力リクエストＳ００９の入力を受け取り、入力されたリクエストをパケット選択部５４に伝達する。ただし、このセレクタ５１では、それら双方のリクエストが同時であったときに備えて優先順位が決められており、双方のリクエストが同時であったときは優先順位の高い画像出力リクエストＳ００２が先にパケット選択部５４に伝えられる。プリンタ２０側でプリント出力中の画像データ送信を待たされるのは好ましくないからである。
【００５４】
パケット選択部５４は、セレクタ５１から伝えられてきたリクエストに従って、画像パケット生成部５２で生成された画像パケットＳ００５又は、コマンドパケット生成部５３で生成されたコマンドパケットＳ０１２を受け取り、セレクタ５５に送る。セレクタ５５は、パケット選択部５４から順次入力されてきたパケットを、複数（ここに示す例では４つ）の送信バッファ５６＿１〜５６＿４に順次に格納する、いわゆるインタリーブ制御を行なう役割を担っている。各送信バッファ５６＿１〜５６＿４に格納された各パケットは、リンク制御部１０３、図２に示すビット変換部１０４＿１〜１０４＿４、およびパラレル／シリアル変換部１０６＿１〜１０６＿４を経由し、各チャンネル＃１〜＃４の伝送路を通って、プリンタ２０側の第２の送受信装置２００に送信される。
【００５５】
また、ＣＰＵデータフェース層１０１Ｂのコマンド送信制御部４３は、コマンド送信バッファ４２２からそこに格納されていた今回の送信対象のコマンドの読出しが完了すると、コマンド送信完了割込みＳ０１３を出力する。
【００５６】
このコマンド送信完了割込みＳ０１３は、割込み制御部４５を経由してＣＰＵ１１１に伝えられる。ＣＰＵ１１１は、このコマンド送信完了割込みＳ０１３により、コマンド送信バッファ４２２に次に送信しようとしているコマンドを書き込んでもよい状態になったことを認識する。
【００５７】
ここで、コマンド送信バッファ４２２に次の送信予定のコマンドを書き込んでも、コマンド制御レジスタ４２１内のコマンド送信フラグをオンにするまでは、コマンド送信バッファ４２２内に書き込まれたコマンドは読み出されず、したがって第２の送受信装置２００側には送信されない。ＣＰＵ１１１は、プリンタ２０側の第２の送受信装置２００での次のコマンドの受信態勢が整ったことを表わすコマンド受信完了割込みＳ０１４がＣＰＵ１１１に伝えられるまでは、ＣＰＵ１１１は、コマンド制御レジスタ４２１内のコマンド送信フラグをオフに保つ。ＣＰＵ１１１は、コマンド送信バッファ４２２にコマンドを書き込み終えた状態にあるときにコマンド受信完了割込みＳ０１４が伝えられるとコマンド送信フラグをオンにする。その後の動作は、上述の通りである。
【００５８】
このようにして、第２の送受信装置２００側で次のコマンドを受け入れる準備が整ってから次のコマンドを送信するシステムとしたことで、コンピュータ１０のＣＰＵ１１１と第１の送受信装置１００との間、およびプリンタ２０のＣＰＵ２１１（図５参照）と第２の送受信装置２００との間の転送レートが異なっていても、正しく動作することが可能としている。
【００５９】
第２の送受信装置２００から送信されてきたパケットは、図２に示すシリアル／パラレル変換部１０７、ビット逆変換部１０５、およびリンク制御部１０３を経由して、パケット制御部１０２の、図４に示す受信バッファ５７に格納される。
【００６０】
パケットヘッダ解析部５８では、受信バッファ５７に格納されたパケットのヘッダの解析が行なわれる。そして、そのパケットが画像データの送信要求を意味するパケットであったときは、ビデオ層１０１Ａに向けて画像リクエストＳ００１を送る。画像リクエストＳ００１を受け取ったときのビデオ層１０１Ａの動作については説明済であり、重複説明は省略する。また、受信バッファ５７に格納されたパケットが、第２の送受信装置２００側で次のコマンドの受信準備が整ったことを表わすコマンド受信パケットであったときは、パケットヘッダ解析部５８は、コマンド受信完了割込みＳ０１４を発行する。このコマンド受信完了割込みＳ０１４は、割込み制御部４５を介してＣＰＵ１１１に伝えられる。
【００６１】
さらに、パケットヘッダ解析部５８は、受信バッファ５７に今回格納されたパケットが、上記の２種類以外のコマンドを表わすパケットであったときは、そのコマンドを受信バッファ５７から読み出して、ＣＰＵインタフェース層１０１Ｂのコマンド受信制御部４４に送る。このコマンド受信制御部４４は、その受け取ったコマンドをコマンド受信バッファ４２３に格納して、ＣＰＵ１１１に対してコマンドを受信したことを通知するコマンド受信割込みＳ０１５を発行する。ＣＰＵ１１１は、これによりコマンドが受信されたことを認識し、ＣＰＵインタフェース４１を介してコマンド受信バッファ４２３内のコマンドを読み込み、そのコマンドを認識する。
【００６２】
割込み制御部４５は、これまで説明してきた３種類の割込みＳ０１３，Ｓ０１４，Ｓ０１５を、２つ以上が同時に発行された場合には順序を調整して、ＣＰＵ１１１に割込みを入力する役割を担っている。
【００６３】
図５は、第２の送受信装置の入出力制御部およびパケット制御部の構成を示したブロック図である。
【００６４】
この第２の送受信装置の入出力制御部２０１は、ビデオ層２０１Ａと、ＣＰＵインタフェース層２０１Ｂと、ＵＡＲＴインタフェース層２０１Ｃとで構成されている。
【００６５】
第１の送受信装置１００から送信されてきたパケットは、図２に示すシリアル／パラレル変換部２０６＿１〜２０６＿４、ビット逆変換部２０４＿１〜２０４＿４、およびリンク制御部２０３を経由して、パケット制御部２０２の、図５に示す、各伝送路ごとの受信バッファ６１＿１〜６１＿４に格納される。各受信バッファ６１＿１〜６１＿４に格納されたパケットは、セレクタ６２により一本の伝送路に集められてパケット情報解析部６３に送られる。このパケット情報解析部６３は、その送られてきたパケットの種類の解析とデータの抽出を行なう。その解析の結果、画像データが格納されているパケットであったときは、そのパケットを構成していた画像データをビデオ層２０１Ａに送る。また、このパケット情報解析部６３は、解析の結果、コマンドが格納されているパケットであったときは、そのパケットを構成していたコマンドデータをＣＰＵインタフェース層２０１Ｂのコマンド受信制御部７１に送る。
【００６６】
コマンド受信制御部７１は、その送られてきたコマンドデータを一時的に格納した後、ＵＡＲＴインタフェース層２０１Ｃを構成するＵＡＲＴ受信コマンド制御部８１に送る。このＵＡＲＴ受信コマンド制御部８１では、その送られてきたコマンドの種別およびメッセージ長（図３参照）が確認され、１バイトごとに受信制御部８２に送り出される。受信制御部８２では、送り込まれてきた１バイトごとのデータ列にパラレル／シリアル変換を行ない、スタートビット、パリティビット、およびストップビットを付加することによりＵＡＲＴ形式に適合したデータ列とし、このＵＡＲＴインタフェース層２０１Ｃから出力する。このＵＡＲＴインタフェース層２０１Ｃから出力されたデータ列は、ＣＰＵ２１１で認識される。
【００６７】
ＵＡＲＴ受信コマンド制御部８１は、１バイトずつに分割されたコマンドの全長についての送出しが終了すると、コマンド受信パケット送出しリクエストＳ１２１を送出する。このコマンド受信パケット送出しリクエストＳ１２１は、ＵＡＲＴ受信コマンド制御部８１から今回のコマンドがその全長にわたって全て送り出され、したがって次のコマンドの受信の準備が整ったことを意味している。このコマンド受信パケット送出しリクエストＳ１２１は、パケット制御部２０２のセレクタ６４と、コマンド受信パケット生成部６６に入力される。
【００６８】
コマンド受信パケット生成部６６では、そのコマンド受信パケット送出しリクエストＳ２１の入力を受けて、コマンド受信バッファを生成する。このコマンド受信バッファは、後述するようにして第１の送受信装置１００（図４参照）に送信される。前述の通り、コンピュータ１０のＣＰＵ１１１では、このコマンド受信バッファを受信したことを契機として第１の送受信装置で生成されるコマンド受信完了割込みＳ０１４（図４参照）により、次のコマンドを送信することができるタイミングに達したことが認識される。
【００６９】
プリンタ２０側のＣＰＵ２１１で生成されたＵＡＲＴ形式のデータ列は、ＵＡＲＴインタフェース２０１Ｃを構成する送信制御部８３に入力される。ＵＡＲＴ形式のデータ列はシリアル形式であり、この送信制御部８３ではシリアル／パラレル変換が行なわれ、さらにパリティの確認が行なわれる。そして、そのデータ列が正しく受信できているときは、そのデータ列から８ビットのコマンドデータ（ヘッダおよびチェックサム等を含む；図３参照）が取り出される。パリティエラーがあったときは、そのデータ列は無視される。送信制御部８３により取り出されたコマンドデータは、ＵＡＲＴ送信コマンド制御部８４に入力される。このＵＡＲＴ送信コマンド制御部８４は、入力されてきたコマンドデータに基づいて、ノーマルメッセージとロングメッセージの別、およびメッセージ長が認識される（図３を合わせて参照）。このＵＡＲＴ送信コマンド制御部８４に入力されてきたコマンドデータのうちの最初の８ビットのデータはヘッダであり、ノーマルメッセージとロングメッセージの別が判別される。ノーマルメッセージの場合は、その最初の８ビットのうちの後半の４ビットがメッセージ長を表わしており、ロングメッセ―ジの場合は、次の８ビットがメッセージ長を表わしている。
【００７０】
このＵＡＲＴ送信コマンド制御部８４は、コマンド１つ分（図３参照）に渡る、順次入力されてきたコマンドデータを、ＣＰＵインタフェース層２０１Ｂを構成するレジスタ７２内のコマンド送信バッファ７２２に格納する。そして今回のコマンドが、上記のようにして解析したメッセージ長を元に算出される今回のコマンドの全長についてコマンド送信バッファ７２２に格納されたことを認識すると、ＵＡＲＴ送信コマンド制御部８４は、コマンドコントロールレジスタ７２１を構成するコマンドパケット送信フラグをオンにする。すると、レジスタ７２からコマンド送信制御部７３に向けてコマンド送信要求Ｓ１２２が出力される。コマンド送信制御部７３は、そのコマンド送信要求Ｓ１２２を受け取ると、コマンド送信制御部７３は、レジスタ７２に向けてコマンドリードイネーブル信号Ｓ１２３を出力してコマンド送信バッファ７２２に格納されたコマンドＳ１２４を読み出す。コマンド送信制御部７３は、第１の送受信装置１００のＣＰＵインタフェース層１０１Ｂのコマンド送信制御部４３（図４参照）と同様に、コマンド送信バッファ７２２から読み出したコマンドを解析しメッセージ長（図３参照）を確認する。パケット制御部２０２を構成するコマンドパケット生成部６７では、例えば１２８バイト長のコマンドパケットが生成されるが、コマンド送信制御部７３では、コマンド送信バッファ７２２から今回読み出してメッセージ長を確認したコマンドがコマンドパケット生成部６７で生成されるコマンドパケットの長さに満たないときは、未たない領域にゼロを埋め込み、また、そのコマンドパケット１つ分よりも長いコマンドのときは、そのコマンドを分割する処理が行なわれる。コマンド送信制御部７３はこうした処理が完了すると、セレクタ６４に対しコマンド出力リクエストＳ１２５を出力する。このコマンド出力リクエストＳ１２５は、コマンドパケット生成部６７にも伝えられ、このコマンドパケット生成部６７は、コマンド送信制御部７３に対しコマンド出力リクエストＳ１２６を出力して、コマンド送信制御部７３から、上記のようにして一定長に加工されたコマンドデータＳ１２７を受け取り、コマンドパケットＳ１２８を生成する。
【００７１】
また、ビデオ層２０１Ａからは、コンピュータ１０側からプリンタ２０側への画像データの送信を要求するタイミングで画像送信リクエストＳ１２９が出力される。この画像送信リクエストＳ１２９はセレクタ６４と画像リクエストパケット生成部６５に入力される。画像リクエストパケット生成部６５では、その画像送信リクエストＳ１２９を受けると画像データの送信を要求する画像リクエストパケットが生成される。
【００７２】
セレクタ６４は、ビデオ層２０１Ａからの画像送信リクエストＳ１２９、ＵＡＲＴ受信コマンド制御部８１からのコマンド受信パケット送出リクエストＳ１２１、又は、コマンド送信制御部７３からのコマンド出力リクエストＳ１２５の入力を受けると、入力されたリクエストをパケット選択部６８に伝達する。ただし、このセレクタ６４では、それら３つのリクエストのうちの２つ以上が同時であったときに備えて優先順位が決められており、それらのリクエストが同時であったときは、優先順位の高いリクエストが優先的にパケット選択部６８に伝えられ、優先順位の低いリクエストは待たされることになる。ここでは、プリンタ２０側でプリント出力中の画像データの送信を優先させるため、画像送信リクエストＳ１２９が最優先となっている。
【００７３】
パケット選択部６８は、セレクタ６４から伝えられてきたリクエストに従って、画像リクエストパケット生成部６５で生成された画像リクエストパケットＳ１３０、コマンド受信パケット生成部６６で生成されたコマンド受信パケットＳ１３１、又はコマンドパケット生成部６７で生成されたコマンドパケットＳ１２８を受け取り、送信バッファ６９に格納する。この送信バッファ６９に格納されたパケットは、リンク制御部２０３を経由し、さらに、図２に示すビット変換部２０５およびパラレル／シリアル変換部２０７を経由して第１の送受信装置１００に向けて送信される。第１の送受信装置１００における、受信パケットの処理については説明済であり、重複説明は省略する。
【００７４】
この実施形態によれば、コンピュータ１０側の通信速度が速く、プリンタ側の通信速度が遅いにもかかわらず、コマンドを効率的に送信することができ、かつ送信側と受信側との間のコマンド送受信の連携を成功させることができる。
【００７５】
尚、ここでは、プリンタ２０側がＵＡＲＴに従うプリンタであるとして説明したが、ＵＡＲＴに限定されるものではなく、また、コンピュータとプリンタとの間の通信に限定されるものでもなく、本発明は、送信側と受信側の処理速度が異なる場合に広く適用することができるものである。
【符号の説明】
【００７６】
１０    コンピュータ
２０    プリンタ
３０    ケーブル
４１    ＣＰＵインタフェース
４２，７２    レジスタ
４３，７３    コマンド送信制御部
４４，７１    コマンド受信制御部
４５    割込み制御部
５１，５５，６２，６４    セレクタ
５２    画像パケット生成部
５３，６７    コマンドパケット生成部
５４，６８    パケット選択部
５６＿１〜５６＿４    送信バッファ
５７    受信バッファ
５８    パケットヘッダ解析部
６１＿１〜６１＿４    受信バッファ
６３    パケット情報解析部
６５    画像リクエストパケット生成部
６６    コマンド受信パケット生成部
６９    送信バッファ
８１    ＵＡＲＴ受信コマンド制御部
８２    受信制御部
８３    送信制御部
８４    ＵＡＲＴ送信コマンド制御部
１００    第１の送受信装置
１０１，２０１    入出力制御部
１０１Ａ，２０１Ａ    ビデオ層
１０１Ｂ，２０１Ｂ    ＣＰＵインタフェース層
１０２，２０２    パケット制御部
１０３，２０３    リンク制御部
１０４＿１〜１０４＿４，２０４＿１〜２０４＿４    ビット変換部
１０５，２０５    ビット逆変換部
１０６＿１〜１０６＿４，２０７    パラレル／シリアル変換部
１０７，２０６＿１〜２０６＿４    シリアル／パラレル変換部
１０８＿１〜１０８＿４，２０９    送信ポート
１０９，２０８＿１〜２０８＿４    受信ポート
１１０，２１０    メモリ
１１１，２１１    ＣＰＵ
２００    第２の送受信装置
２０１Ｃ    ＵＡＲＴインタフェース層
４２２，７２２    コマンド送信バッファ
４２１    コマンド制御レジスタ
４２３    コマンド受信バッファ
７２１    コマンドコントロールレジスタ
【図１】
2014241534.tif 000003
【図２】
2014241534.tif 000004
【図３】
2014241534.tif 000005
【図４】
2014241534.tif 000006
【図５】
2014241534.tif 000007