(57)【特許請求の範囲】
【請求項１】
リング状に接続され単方向にデータを送信可能な３つ以上の回路モジュールを備え、
前記３つ以上の回路モジュールはそれぞれ、印刷データを送受するデータチャネル部と、刷制御データを送受する制御チャネル部と、他の回路モジュールとの間で前記印刷データおよび前記印刷制御データを送受するコネクタとを有し、
前記印刷データおよび前記印刷制御データをパケットの形態で送受し、
前記パケットは、送信先の回路モジュールのアドレス情報を有し、
前記３つ以上の回路モジュールのうち、いずれか一つはマスター回路モジュールに、その他すべてはスレーブ回路モジュールに割り当てられ、
前記マスター回路モジュールは、
すべての前記スレーブ回路モジュールに対してブロードキャスト・パケットを送信して、通信可能な前記スレーブ回路モジュールを把握し、
前記把握したスレーブ回路モジュールそれぞれに対して論理アドレスを割り振るアドレス設定手段と、
割り振った論理アドレスすべてを記録した論理アドレス一覧表をすべての前記スレーブ回路モジュールにブロードキャスト送信するアドレス送信手段とを有し、
前記スレーブ回路モジュールはそれぞれ、前記マスター回路モジュールから送信された自己の論理アドレス情報と他のすべてのスレーブ回路モジュールの論理アドレス情報とを記憶するアドレス記憶手段とを有することを特徴とするプリンタ。
【請求項２】
前記マスター回路モジュールは、前記アドレス送信手段によりブロードキャスト送信した前記論理アドレス一覧表が自己に戻ってくると、すべての前記スレーブ回路モジュールに通信許可信号をブロードキャスト送信する許可信号送信手段を有し、
前記スレーブ回路モジュールはそれぞれ、前記通信許可信号を受信すると、必要に応じて他の回路モジュールとの通信を行うことを特徴とする請求項１に記載のプリンタ。
【請求項３】
送信元の回路モジュールからデータ通信を行いたい旨の通知信号を受けた送信先の回路モジュールは、通信準備が整った場合には、前記送信元の回路モジュールに通信準備完了信号を返し、通信が不可能な場合には、前記送信元の回路モジュールに通信不能信号を返す通信状態通知手段を有することを特徴とする請求項２に記載のプリンタ。
【請求項４】
前記送信元の回路モジュールは、前記送信先の回路モジュールから前記通信準備完了信号と前記通信不能信号との双方を受信した場合には、通信が不可能と判断して前記送信先の回路モジュールとの通信を中断する通信中断手段を有する請求項３に記載のプリンタ。
【請求項５】
前記送信元の回路モジュールは、前記送信先の回路モジュールから前記通信準備完了信号と前記通信不能信号とのいずれも受信しなかった場合には、前記通信準備完了信号と前記通信不能信号とのいずれかが受信されるまで待機する待機手段を有することを特徴とする請求項３または４に記載のプリンタ。
【請求項６】
前記送信元の回路モジュールと前記送信先の回路モジュールとはそれぞれ非同期に動作し、両回路モジュールのシステムクロックの動作周波数に差異がある場合には、遅い方のシステムクロックに同期させてデータ通信を行うことを特徴とする請求項１〜５のいずれかに記載のプリンタ。
【請求項７】
前記パケットは、送信先の回路モジュールの論理アドレス情報と、送信元の回路モジュールの論理アドレス情報と、印刷制御データのデータ長を示す情報と、印刷制御データに対応するコマンド情報とを有することを特徴とする請求項１〜６のいずれかに記載のプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の回路モジュールを内蔵するプリンタに関し、特に、回路モジュール間で高速にデータ通信を行う技術に関する。
【０００２】
【従来の技術】
プリンタを制御するプリンタ制御回路は、通常、複数の回路モジュールで構成されている。例えば、図９は、ホストコンピュータとの信号の送受を行うＩＦモジュール１１と、画像処理を行う画像処理モジュール１２と、プリンタの機構部分を制御するメカ制御モジュール１３とを有するプリンタ制御回路の従来例を示している。これらモジュールはそれぞれ別個のＣＰＵやASICを有し、通常はそれぞれ別基板で構成されている。
【０００３】
各モジュールは、入出力ポートを有し、隣接するモジュールとの間で互いに信号の送受を行う。例えば、図９の場合、ＩＦモジュール１１と画像処理モジュール１２との間で信号の送受を行い、また、画像処理モジュール１２とメカ制御モジュール１３との間で信号の送受を行う。
【０００４】
【発明が解決しようとする課題】
図９に示すように、隣接する２つの入出力ポート間で双方向にデータを送受する場合、単方向にデータを送信する場合に比べて、入出力ポートの数を減らせる反面、データの伝送速度が遅くなるという問題がある。
【０００５】
また、複数の回路モジュールを双方向バスに接続してデータの送受信を行う場合、通信準備が整うまでに時間がかかり、バスを制御するプロトコルも面倒になるため、所望の回路モジュールに対して迅速にデータを送信できないという問題がある。
【０００６】
本発明は、このような点に鑑みてなされたものであり、その目的は、入出力ポートの数を増やさずに高速にデータ通信を行うことができるプリンタおよびプリンタ内のデータ通信方法を提供することにある。
【０００７】
上述した課題を解決するために、本発明の一態様によれば、リング状に接続され単方向にデータを送信可能な３つ以上の回路モジュールを備え、
前記３つ以上の回路モジュールはそれぞれ、印刷データを送受するデータチャネル部と、刷制御データを送受する制御チャネル部と、他の回路モジュールとの間で前記印刷データおよび前記印刷制御データを送受するコネクタとを有し、
前記印刷データおよび前記印刷制御データをパケットの形態で送受し、
前記パケットは、送信先の回路モジュールのアドレス情報を有し、
前記３つ以上の回路モジュールのうち、いずれか一つはマスター回路モジュールに、その他すべてはスレーブ回路モジュールに割り当てられ、
前記マスター回路モジュールは、
すべての前記スレーブ回路モジュールに対してブロードキャスト・パケットを送信して、通信可能な前記スレーブ回路モジュールを把握し、
前記把握したスレーブ回路モジュールそれぞれに対して論理アドレスを割り振るアドレス設定手段と、
割り振った論理アドレスすべてを記録した論理アドレス一覧表をすべての前記スレーブ回路モジュールにブロードキャスト送信するアドレス送信手段とを有し、
前記スレーブ回路モジュールはそれぞれ、前記マスター回路モジュールから送信された自己の論理アドレス情報と他のすべてのスレーブ回路モジュールの論理アドレス情報とを記憶するアドレス記憶手段とを有することを特徴とするプリンタが提供される。
【０００８】
本発明では、プリンタ内部の３つ以上の回路モジュールをリング状に接続して単方向にデータを送信するため、入出力ポートの数を増やさずに、高速伝送が可能になる。また、３つ以上の回路モジュールのうち、いずれか一つをマスター回路モジュールに、他をスレーブ回路モジュールに割り当てるため、マスター回路モジュールからブロードキャスト・パケットを送信することにより、すべてのスレーブ回路モジュールを制御することがでる。また、マスター回路モジュールは各スレーブ回路モジュールの論理アドレスを決定して、各スレーブ回路モジュールに通知するため、各回路モジュールはこの論理アドレスを利用して他の回路モジュールと容易に通信することができる。
【００１１】
本発明では、マスター回路モジュールが送信した論理アドレス情報が自己に戻ってくると、すべてのスレーブ回路モジュールが論理アドレス情報を受け取ったと判断して通信許可信号をブロードキャスト送信するため、通信開始までの手順を簡素化できる。
【００１２】
本発明では、通信を開始する前に、送信元の回路モジュールは送信先の回路モジュールから通信準備完了信号か通信不能信号を受けるようにしたため、通信エラーを未然に防止できる。
【００１３】
本発明では、通信準備完了信号と通信不能信号をともに受信した場合は、通信不能と判断するようにしたため、送信先の通信準備が整っていないのに通信を行うような不具合が起きなくなる。
【００１４】
本発明では、通信準備完了信号と通信不能信号がともに受信されない場合は、待機するようにしたため、多少通信速度が遅くなっても、確実に通信を行うことができる。
【００１６】
本発明では、送信元の回路モジュールと送信先の回路モジュールは非同期で動作するため、同期を取るための処理が不要となり、回路の構成を簡略化できる。
【００１７】
本発明では、パケットの中に、送信先および送信元の論理アドレス情報とコマンド情報とを含めるようにしたため、確実に所望の送信先に所望のコマンドを送り届けることができる。
【００１９】
【発明の実施の形態】
以下、本発明に係るプリンタについて、図面を参照しながら具体的に説明する。
【００２０】
図１は本発明に係るプリンタ内部の概略構成図である。図１のプリンタは、３つの回路モジュールＭ１，Ｍ２，Ｍ３を内蔵しており、これら回路基板Ｍ１〜Ｍ３をリング状に接続して単方向にのみデータ伝送を行う点に特徴がある。
【００２１】
回路モジュールＭ１は例えばホストコンピュータとのデータ伝送を行い、回路モジュールＭ２は例えば例えばホストコンピュータから送られた印刷用のデータに対して画像処理を行って印刷データを生成する処理を行い、回路モジュールＭ３は例えばプリンタメカの制御を行う。
【００２２】
各回路モジュールＭ１，Ｍ２，Ｍ３はそれぞれ、データを伝送するデータチャネル１と、制御情報を伝送する制御チャネル２と、データおよび制御情報が入出力されるコネクタ３とを有する。
【００２３】
隣接するコネクタ３間には転送バス４が接続されている。転送バス４のバス幅は、例えば、８ビット、１６ビットおよび３２ビットから選択可能とされている。また、転送バス４には、アドレス線が１本設けられている。このアドレス線の論理により、データチャネル１用のデータと制御チャネル２用のデータとを区別することができる。
【００２４】
各回路モジュール間では、非同期通信を行う。このため、送信元の回路モジュールのシステムクロックと、送信先の回路モジュールのシステムクロックとは、互いに非同期で構わない。
【００２５】
通信速度は、送信元と送信先の各回路モジュールのシステムクロックのうち、周波数が低い方のシステムクロックに合わせる。また、１パケットのデータを転送するのに、システムクロックが２クロック分必要とされる。したがって、送信元と送信先の各回路モジュールのシステムクロックがともに４０MHzであれば、転送速度は２０MHzになる。
【００２６】
図１のデータチャネル１では、印刷データの転送を行う。制御チャネル２では、プリンタ制御コマンド、プリンタ・メンテナンス・コマンド、および通信制御コマンドなどの制御情報の転送を行う。
【００２７】
送信先の回路モジュールが、何らかの事情により、送信元の回路モジュールの印刷データを受信できない場合でも、通信を遮断させることなく、制御チャネル２に切り換えてコマンドの通信を継続することができる。
【００２８】
また、制御チャネル２に流れるコマンドは、データチャネル１に流れる印刷データよりも通信の優先順序が高く設定されている。このため、送信元の回路モジュールは、データチャネル１への印刷データと制御チャネル２へのコマンドとの双方が存在する場合には、制御チャネル２へのコマンドを優先させて送信する。
【００２９】
転送バス４を介して伝送される信号には、送信元の回路モジュールが送信先の回路モジュールに送信する信号と、送信先の回路モジュールが送信元の回路モジュールに送信する信号とが含まれている。
【００３０】
送信先への信号の中には、送信先アドレスを指定するアドレス信号ＡＤxxと、送信データ信号DATAxxと、データの送信を通知するストローブ信号STBxxとが存在する。また、送信元への信号の中には、データの受信準備が整ったことを通知するアクノリッジ信号（通信準備完了信号）ACKxxと、データの受信準備が整っていないことを通知するナック信号（通信不能信号）NACKxxとが存在する。
【００３１】
図１に示すように、各回路モジュールは、リング状に接続されているため、単方向にパケットを伝送しても、すべての回路モジュールにパケットを送り届けることができる。送信されたパケットは、各回路モジュール間を一巡して、元の回路モジュールに戻ってくる。これにより、送信元の回路モジュールは、他のすべての回路モジュールにパケットが伝送されたことを認識する。この場合、同一のパケットを何度も伝送することを避けるために、送信元のパケットは、自分に戻ってきたパケットを廃棄するのが望ましい。
【００３２】
各回路モジュールは、パケットを単に受け渡しする場合と、受信したパケットを加工変形して次の回路モジュールに送信する場合がある。後者の場合、例えば、回路モジュールＭ１は、プリンタのコマンドを含むパケットを回路モジュールＭ２に送信し、回路モジュールＭ２は、パケット中のコマンドを解釈してドット情報に変換し、ドット情報を含むパケットを回路モジュールＭ３に送信する。また、回路モジュールＭ３は、パケットに含まれるドット情報に基づいて、プリンタの印字ヘッドから吐出されるインクの制御を行う。
【００３３】
このように、プリンタの処理順序に従って各回路モジュールを配置すれば、各回路モジュールの処理結果をパケットの形態で次の処理を行う回路モジュールに伝送でき、効率よく印字処理を行うことができる。
【００３４】
各回路モジュール間の転送バスの形態には種々のものが適用可能であり、ＰＣＩバス等の汎用のバスを利用してもよいし、専用のバスを利用してもよい。あるいは、コネクタ３としてＵＳＢ端子やIEEE1394端子を利用して、USBやIEEE1394の規格に沿ったデータを送受してもよい。
【００３５】
本実施形態の場合、データは単方向にしか流れないため、入出力ポートの構成を簡略化できるとともに、データの伝送速度を向上できる。すなわち、双方向にデータを送受する場合、双方向バッファなどを設けなければならないため、構成が複雑になり、また、データの切り替え制御に時間がかかることから、データの伝送速度が制限されてしまうが、本実施形態のように単方向にデータ伝送を行えば、データの切り替え制御が不要な分だけ高速にデータ伝送を行える。
【００３６】
データの伝送速度をさらに向上させたい場合は、各回路モジュール間で送受されるデータ量に応じて回路モジュールの接続順序を決定すればよい。例えば、回路モジュールＭ１がＩＦ回路モジュール、回路モジュールＭ２が画像処理回路モジュール、回路モジュールＭ３がメカ制御回路モジュールの場合、回路モジュールＭ１から回路モジュールＭ２へのデータ伝送量と、回路モジュールＭ２から回路モジュールＭ３へのデータ伝送量とが多いのに対し、回路モジュールＭ２から回路モジュールＭ１へのデータ伝送量と回路モジュールＭ３から回路モジュールＭ２へのデータ伝送量は少ない。
【００３７】
このため、図１に示すように、回路モジュールＭ１，Ｍ２，Ｍ３の順に接続すれば、最も効率よくデータを伝送でき、平均的なデータ伝送速度を向上できる。
【００３８】
図２は回路モジュール内の各部のタイミング波形図であり、図２（ａ）はアドレス信号ＡＤxxが変化する場合のタイミング波形図、図２（ｂ）はアドレス信号ＡＤxxが変化しない場合のタイミング波形図である。
【００３９】
図２（ａ）に示すように、送信元の回路モジュールは、アクノリッジ信号ACKxxがローレベルの間に、アドレス信号ＡＤxxとデータ信号DATAxxを送信先の回路モジュールに送信し、かつ、ストローブ信号STBxxをハイレベルにする。ストローブ信号STBxxがハイレベルになった後、受信準備が整った時点で、送信先の回路モジュールはアクノリッジ信号ACKxxをハイレベルにする。
【００４０】
また、アドレス信号ＡＤxxが変化しない場合には、図２（ｂ）に示すように、送信元の回路モジュールは、アクノリッジ信号ACKxxがローレベルの間に、アドレス信号ＡＤxxとデータ信号DATAxxを送信元の回路モジュールに送信し、かつ、ストローブ信号STBxxをハイレベルにする。
【００４１】
一方、図３は送信元の回路モジュールが何らかの理由でデータの受信ができない場合のタイミング波形図である。この場合、送信先の回路モジュールは、送信元の回路モジュールがストローブ信号STBxxをハイレベルにしたときに、ナック信号NACKxxをハイレベルにする（図３の時刻ｔ１）。これにより、送信元の回路モジュールは、送信先の回路モジュールがデータの受信ができないことを認識する。
【００４２】
この場合、送信元の回路モジュールは、次回の出力機会まで、送信先へのデータを保持しなければならない。送信元の回路モジュールは、送信できなかった回路モジュールと同じアドレスを指定して同一データを再送してもよいし、別の回路モジュールに対応する別のアドレスを指定して同一データを再送してもよい。
【００４３】
また、図４は送信先の回路モジュールがアクノリッジ信号ACKxxもナック信号NACKxxも返さなかった場合のタイミング波形図である。送信先の回路モジュールが休止状態の場合などでは、送信元の回路モジュールにアクノリッジ信号ACKxxもナック信号NACKxxも返さない場合がある。このような場合、送信元の回路モジュールは、図４に示すように、ストローブ信号STBxxをハイレベルに保持し続ける。
【００４４】
また、図５は送信元の回路モジュールがアクノリッジ信号ACKxxとナック信号NACKxxを同時に受信した場合のタイミング波形図である。このような場合、送信元の回路モジュールは、ナック信号NACKxxを優先させ、送信先の回路モジュールがデータを受信できなかったと判断する。
【００４５】
次に、制御チャネル２を介して伝送されるデータの形式について説明する。上述したように、本実施形態では、制御チャネル２にパケットを伝送する。
【００４６】
図６は図２〜図５に示したアクノリッジ信号ACKxxとナック信号NACKxxの制御手順を示すフローチャートである。まず、送信元の回路モジュールは、アクノリッジ信号ACKxxのみを受信したか否かを判定する（ステップＳ１）。ACKxxのみを受信した場合には、送信先の通信準備が整ったと判断して、送信先へのデータ送信を行う（ステップＳ２）。
【００４７】
ステップＳ１の判定がＮＯであれば、ナック信号NACKxxのみを受信したか否かを判定する（ステップＳ３）。NACKxxのみを受信した場合には、送信先が通信不能と判断して、送信先へのデータ送信を中断する処理を行う（ステップＳ４）。
【００４８】
ステップＳ３の判定がＮＯであれば、アクノリッジ信号ACKxxとナック信号NACKxxを同時に受信したか否かを判定する（ステップＳ５）。この判定がＹＥＳであれば、送信先が通信不能と判断して、ステップＳ４の処理を行う。
【００４９】
ステップＳ５の判定がＮＯであれば、アクノリッジ信号ACKxxとナック信号NACKxxを双方とも受信しなかったと判断して、待機処理を行う（ステップＳ６）。
【００５０】
図７はパケットのデータ構成を示す図である。図示のように、パケットは、送信先アドレス領域２１と、送信元アドレス領域２２と、データ長領域２３と、コマンド領域２４とで構成される。
【００５１】
送信先アドレス領域２１は、パケット送信先の回路モジュールの論理アドレスを示す領域であり、この領域２１はさらに、全回路モジュールを指定するブロードキャスト論理アドレス領域と、特定の回路モジュールの論理アドレスを指定する個別論理アドレス領域とに分かれている。
【００５２】
送信元アドレス領域２２は、パケット送信元の回路モジュールの論理アドレスを示す領域である。データ長領域２３は、コマンド領域のデータ長（単位バイト）を示す領域であり、この領域には任意のコマンドが格納される。
【００５３】
各回路モジュールは、他の回路モジュールにコマンドを伝送する際、送信先の回路モジュールが本データ通信装置に実際に実装されているか否かを検知する必要がある。また、送信先の回路モジュールが実装されている場合には、送信先の回路モジュールの論理アドレスと、送信元である自己の論理アドレスを検知する必要がある。
【００５４】
このため、本データ通信装置は、電源投入時に、実際に実装されている回路モジュールの確認と、これら回路モジュールの論理アドレスの確認とを行う。
【００５５】
各回路モジュール間での通信方法には、大きく分けて、ブロードキャスト・コマンド通信とピア・トゥ・ピア・コマンド通信との２つがある。また、通信されるコマンドの種類としては主に、プリンタ制御コマンド、プリンタ・メンテナンス・コマンドと回路モジュール間の通信制御コマンドとがある。
【００５６】
図８はデータの通信手順を示すフローチャートである。回路モジュール間でデータ通信を行うには、マスターとなる回路モジュール（以下、マスター回路モジュールと呼ぶ）を定める必要がある。そこで、データ通信装置の電源投入直後にディップスイッチ等の状態を調べて、マスターとなる回路モジュールを検出する（ステップＳ１１）。なお、マスター以外の回路モジュールはすべてスレーブ（以下、スレーブ回路モジュールと呼ぶ）として扱う。
【００５７】
次に、マスター回路モジュールは、ブロードキャスト・パケットを送信する（ステップＳ１２）。このパケットを受信したスレーブ回路モジュールは、自己のＩＤ番号をマスター回路モジュール宛てに送信する（ステップＳ１３）。
【００５８】
マスター回路モジュールは、すべてのスレーブ回路モジュールからのＩＤ番号を受信すると、各スレーブ回路モジュールに対して論理アドレスを割り当てる（ステップＳ１４）。
【００５９】
次に、マスター回路モジュールは、各スレーブ回路モジュールに割り当てた論理アドレスすべてを記録した論理アドレス一覧表をパケットにしてブロードキャスト送信する（ステップＳ１５）。
【００６０】
各スレーブ回路モジュールは、このパケットを受信し、自己に割り当てられた論理アドレスと、他のすべての回路モジュールの論理アドレスとを認識し、これらの情報をモジュール内で記憶する（ステップＳ１６）。
【００６１】
マスター回路モジュールは、ステップＳ１４で送信したパケットが戻ってくると、すべてのスレーブ回路モジュールにこのパケットが送信されたことを認識し、各スレーブ回路モジュールにパケットの通信を許可する通信許可パケットをブロードキャスト送信する（ステップＳ１７）。
【００６２】
スレーブ回路モジュールは、このパケットを受信すると、必要に応じて通信を行う（ステップＳ１８）。
【００６３】
上述した実施形態では、本発明をプリンタの回路モジュールに適用する例について説明したが、本発明はプリンタ以外の目的にも幅広く適用可能である。また、図１では、３つの回路モジュールＭ１，Ｍ２，Ｍ３をリング状に接続する例を説明したが、リング状に接続される回路モジュールの数には特に制限はない。
【００６４】
上述した実施形態では、制御チャネル２を介してパケットを伝送する例を説明したが、データチャネル１に対してもパケットを伝送してもよい。
【００６５】
【発明の効果】
以上詳細に説明したように、本発明によれば、プリンタ内部の３つ以上の回路モジュールをリング状に接続して単方向にのみパケットを送信するため、入出力ポートの数を増やすことなく、各回路モジュール間で高速にデータ伝送を行うことができる。また、送信されたパケットはすべての回路モジュールを通過するため、特定の回路モジュールにパケットを届けることができるだけでなく、複数の回路モジュールにパケットを届けることもできる。
【００６６】
さらに、各回路モジュール間のデータ伝送量を考慮に入れて各回路モジュールの接続順序を設定すれば、効率よくデータ伝送を行うことができる。
【図面の簡単な説明】
【図１】本発明に係るデータ通信装置の概略構成図。
【図２】（ａ）はアドレス信号ＡＤxxが変化する場合のタイミング波形図、（ｂ）はアドレス信号ＡＤxxが変化しない場合のタイミング波形図。
【図３】送信元の回路モジュールが何らかの理由でデータの受信ができない場合のタイミング波形図。
【図４】送信先の回路モジュールがアクノリッジ信号ACKxxもナック信号NACKxxも返さなかった場合のタイミング波形図。
【図５】送信元の回路モジュールがアクノリッジ信号ACKxxとナック信号NACKxxを同時に受信した場合のタイミング波形図。
【図６】図２〜図５に示したアクノリッジ信号ACKxxとナック信号NACKxxの制御手順を示すフローチャート。
【図７】パケットのデータ構成を示す図。
【図８】データの通信手順を示すフローチャート。
【図９】プリンタ制御回路の従来例を示す図。
【符号の説明】
Ｍ１，Ｍ２，Ｍ３  モジュール
１１  ＩＦモジュール
１２  画像処理モジュール
１３  メカモジュール
【図１】
0004095216.tif 000002
【図２】
0004095216.tif 000003
【図３】
0004095216.tif 000004
【図４】
0004095216.tif 000005
【図５】
0004095216.tif 000006
【図６】
0004095216.tif 000007
【図７】
0004095216.tif 000008
【図８】
0004095216.tif 000009
【図９】
0004095216.tif 000010