(57)【要約】【課題】減衰率の大きい等のケーブルが用いられても、データの喪失や、データ化け等の通信エラーの発生を防ぎ、通信速度の低下を防ぐ。【解決手段】データ通信装置は、ケーブルが接続され入出力端子を含む接続部と、受信データを出力する複数の受信バッファと、いずれかの受信バッファと接続されて受信データを受けて受信エラーを把握するコントローラと、コントローラからの指示を受け、用いる受信バッファを切り替える第１切替部と、を有し、各受信バッファは、信号がＨｉｇｈと判断する閾値及び／又はＬｏｗと判断する閾値がそれぞれ異なり、コントローラは、第１の所定量のデータの受信で生じた受信エラーの発生回数が予め定められた受信エラー許容回数を越えれば、第１切替部に、選択している受信バッファから別の受信バッファに切り替えさせる。【選択図】図７
2011030144.tif 000002
【特許請求の範囲】
【請求項１】
データの通信用の差動信号線を含むケーブルが接続され、前記差動信号線と接続される２つの入出力端子を含む接続部と、
各前記入出力端子と接続され、外部からの差動信号を受け、受信データを出力する複数の受信バッファと、
いずれかの前記受信バッファと接続されて前記受信データを受けるとともに、受信エラーを把握するコントローラと、
前記コントローラからの指示を受け、用いる前記受信バッファを切り替える第１切替部と、を有し、
各前記受信バッファは、信号がＨｉｇｈと判断する閾値及び／又はＬｏｗと判断する閾値がそれぞれ異なり、
前記コントローラは、第１の所定量のデータの受信で生じた受信エラーの発生回数が予め定められた受信エラー許容回数を越えれば、前記第１切替部に、選択している前記受信バッファから別の前記受信バッファに切り替えさせることを特徴とするデータ通信装置。
【請求項２】
各前記入出力端子と接続され、外部に向けて差動信号として送信データを出力する複数の送信バッファと、
前記コントローラからの指示を受け、用いる前記送信バッファを切り替える第２切替部と、を有し、
前記送信バッファは、それぞれ出力電流の大きさが異なり、
前記コントローラは、第２の所定量のデータの送信で通信相手方から受け取った送信エラーが発生した旨の通知の回数を確認し、送信エラーの発生回数が予め定められた送信エラー許容回数を越えれば、前記第２切替部に、選択している前記送信バッファよりも出力電流が大きい前記送信バッファに切り替えさせることを特徴とする請求項１記載のデータ通信装置。
【請求項３】
前記コントローラは、受信エラーの発生回数が前記受信エラー許容回数以下となるまで前記第１の所定量分のデータを受信するごとに、前記受信バッファの切替を行わせることを特徴とする請求項１又は２に記載のデータ通信装置。
【請求項４】
前記コントローラは、前記第１切替部に、順番に従って前記受信バッファを切り替えさせることを特徴とする請求項３記載のデータ通信装置。
【請求項５】
前記コントローラは、全ての前記受信バッファへの切替を行っても、第１の所定量のデータの受信での受信エラーの発生回数が前記受信エラー許容回数を越える場合、最も受信エラーの発生回数が少なかった前記受信バッファに切り替えさせることを特徴とする請求項１乃至４のいずれか１項に記載のデータ通信装置。
【請求項６】
前記コントローラは、第２の所定量のデータの送信での送信エラーの発生回数が、前記送信エラー許容回数以下であれば、前記第２切替部に指示し、現在選択している前記送信バッファよりも出力電流が小さい前記送信バッファに切り替えさせることを特徴とする請求項２乃至５のいずれか１項に記載のデータ通信装置。
【請求項７】
主電源投入後、最初に最も出力電流が小さい前記送信バッファからデータの送信が開始され、
前記コントローラは、送信エラーの発生回数が前記送信エラー許容回数以下となるまで、前記第２の所定量分のデータを送信するごとに、前記第２切替部に、現在選択している前記送信バッファよりも出力電流が大きい前記送信バッファに切り替えさせることを特徴とする請求項２乃至６のいずれか１項に記載のデータ通信装置。
【請求項８】
主電源投入後、最初に最も出力電流が大きい前記送信バッファからデータの送信が開始され、
前記コントローラは、送信エラーの発生回数が前記送信エラー許容回数以下であれば、前記第２の所定量分のデータを送信するごとに、前記第２切替部に、現在選択している前記送信バッファよりも出力電流が小さい前記送信バッファに切り替えさせることを特徴とする請求項２乃至６のいずれか１項に記載のデータ通信装置。
【請求項９】
前記コントローラは、前記第２の所定量のデータの送信で、相手方からの応答が所定の時間内にないタイムアウトエラーが発生した場合、前記第２切替部に、現在接続している前記送信バッファよりも、２段階以上出力電流が大きい前記送信バッファに切り替えさせることを特徴とする請求項２乃至８のいずれか１項に記載のデータ通信装置。
【請求項１０】
請求項１乃至９のいずれか１項に記載のデータ通信装置を備えたことを特徴とする画像形成装置。
【請求項１１】
少なくとも２つの請求項１乃至９のいずれか１項に記載のデータ通信装置を互いに接続して構成されるデータ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの送受信を行うデータ通信装置に関する。又、画像データ等の送受信のため、データ通信装置を備えたプリンタ、複写機、複合機、ＦＡＸ装置等の画像形成装置に関する。又、複数のデータ通信装置からなるデータ通信システムに関する。
【背景技術】
【０００２】
プリンタ、複写機、複合機等の各種画像形成装置では、例えば、ＰＣ（パーソナルコンピュータ）から画像データを受信し、受信した画像データに基づき印刷が行われる。このＰＣと画像形成装置間でのデータのやり取りのため、ＰＣや画像形成装置には、何らかのインターフェイスが設けられる。例えば、ＵＳＢ規格では、インターフェイス同士（コネクタ同士）を、例えば、ケーブルで接続する。又、機器間の通信では、近年のデータ通信速度の高速化等の観点から、差動信号を用いたものが多い（例えば、ＵＳＢ規格）。このような差動信号方式でのデータ通信での送受信エラーを無くすため、例えば、特許文献１に記載されるようなデバイスが存在する。
【０００３】
具体的に、特許文献１には、２つのデータ入出力端子のいずれか一方がプルアップ抵抗を介してプルアップ電源に接続され、該各データ入出力端子間の差動信号によって外部のホストコンピュータとデータ通信を行うように構成され、交差電圧検出手段が、各データ入出力端子の電圧が一致したときの交差電圧を検出し、回路定数変化手段が、その検出された交差電圧が予め設定された交差電圧許容範囲内となるようにＵＳＢデバイス内の回路定数を変化させるＵＳＢデバイスが記載されている。例えば、回路定数変化手段は、交差電圧検出手段にて検出された交差電圧と所定の基準電圧とを比較し、比較結果に基づいて交差電圧が基準電圧と一致するように回路定数を変化させる。これにより、ホストコンピュータとのデータ通信でのエラー発生頻度を抑え、データ転送速度の低下や、データ化けの発生を抑制しようとする（特許文献１：請求項１、請求項２、段落［００２４］、［００２６］等参照）。
【特許文献１】特開２００３−２４１８７０
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ケーブルを用いて装置間でデータ通信を行う場合、データ通信速度やエラー発生率は、ケーブルの特性、性能に影響を受ける。例えば、ＵＳＢ規格において、認証ロゴ（規格に規定された試験をクリアすると製品に付すことが可能なロゴ）が付されたケーブルでも、信号の減衰が激しいものがある。このようなケーブルを用いた場合、データの送受信でのエラーやデータ化け等が生じ易くなるという問題がある。又、通信エラーが頻繁に生ずれば、データの再送信の頻度が増え、実質的な通信速度は低下するという問題もある。
【０００５】
ここで、特許文献１記載の発明は、差動信号の公差電圧を基準値に合わせ、許容範囲内となるように回路定数を変化させエラーの発生を抑えようとする。しかし、例えば、信号の減衰が大きいケーブルが用いられ、アイパターン自体が崩れれば、公差電圧を制御してもエラーが発生する。従って、特許文献１記載の発明では、信号の減衰が大きいケーブルが用いられると、エラー発生や通信速度が低下するといった問題に対応できない。
【０００６】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、例えば、減衰率の大きいものなど、エラーが生じやすいケーブルが用いられても、データの喪失や、データ化け等の通信エラーの発生を防ぎ、通信速度の低下を防ぐことを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、請求項１に係るデータ通信装置は、データの通信用の差動信号線を含むケーブルが接続され、前記差動信号線と接続される２つの入出力端子を含む接続部と、各前記入出力端子と接続され、外部からの差動信号を受け、受信データを出力する複数の受信バッファと、いずれかの前記受信バッファと接続されて前記受信データを受けるとともに、受信エラーを把握するコントローラと、前記コントローラからの指示を受け、用いる前記受信バッファを切り替える第１切替部と、を有し、各前記受信バッファは、信号がＨｉｇｈと判断する閾値及び／又はＬｏｗと判断する閾値がそれぞれ異なり、前記コントローラは、第１の所定量のデータの受信で生じた受信エラーの発生回数が予め定められた受信エラー許容回数を越えれば、前記第１切替部に、選択している前記受信バッファから別の前記受信バッファに切り替えさせることとした。
【０００８】
この構成によれば、それぞれ、信号がＨｉｇｈかＬｏｗかを判断する閾値がそれぞれ異なる受信バッファが複数設けられる。そして、第１の所定量のデータの受信で生じた受信エラーの回数が、受信エラー許容回数を越える場合、用いる受信バッファが切り替えられる。用いられたケーブルの減衰率が大きい場合など、差動信号でのアイパターンが崩れ、使用している受信バッファで受信エラーが多く発生している場合、受信バッファが切り替えられる。
【０００９】
これにより、データの喪失やデータ化け等の受信エラーの発生を減らせる場合がある。又、受信エラーが頻繁に起きることに伴うデータ再受信による実質的なデータ通信速度の低下を防げる場合がある。尚、第１の所定量とは、例えば、データ量で言えば、５１２バイト〜６５５３６バイト程度とすることができる。しかし、よりも多くても、少なくても良く、適宜設定することができる。又、受信エラー許容回数は、０回以上であればよく、データの第１の所定量と目標とするエラー発生率との兼ね合いで適宜決定できる。
【００１０】
又、請求項２に係る発明は、請求項１の発明において、各前記入出力端子と接続され、外部に向けて差動信号として送信データを出力する複数の送信バッファと、前記コントローラからの指示を受け、用いる前記送信バッファを切り替える第２切替部と、を有し、前記送信バッファは、それぞれ出力電流の大きさが異なり、前記コントローラは、第２の所定量のデータの送信で通信相手方から受け取った送信エラーが発生した旨の通知の回数を確認し、送信エラーの発生回数が予め定められた送信エラー許容回数を越えれば、前記第２切替部に、選択している前記送信バッファよりも出力電流が大きい前記送信バッファに切り替えさせることとした。
【００１１】
この構成によれば、例えば、相手方からのデータの再送信要求など、通信相手方からの送信エラーが発生した旨の通知の回数が確認される。そして、送信エラーの発生回数が予め定められた送信エラー許容回数を越えれば、用いる送信バッファが切り替えられる。この時、用いている（選択している）送信バッファよりも出力電流が大きい（ドライブ能力が大きい）送信バッファに切り替えられる。
【００１２】
これにより、送信バッファのドライブ能力が強化され、データの喪失等の送信エラーの発生が減る。又、送信エラーのあったデータの再送信による実質的なデータ通信速度の低下をなくすことができる。尚、第２の所定量とは、例えば、データ量で言えば、５１２バイト〜６５５３６バイト程度とすることができる。しかし、より多くても、少なくても良く、適宜設定することができる。又、送信エラー許容回数は、０回以上であればよく、データの第２の所定量と目標とするエラー発生率との兼ね合いで適宜決定できる。
【００１３】
又、請求項３に係る発明は、請求項１又は２の発明において、前記コントローラは、受信エラーの発生回数が前記受信エラー許容回数以下となるまで前記第１の所定量分のデータを受信するごとに、前記受信バッファの切替を行わせることとした。
【００１４】
この構成によれば、最終的に、第１の所定量のデータの受信で生ずる受信エラーの発生回数が受信エラー許容回数以下となる受信バッファが選択される。これにより、受信エラーの発生率を一定以下に留めることができる。又、相手方からのデータの再受信の回数を少なくすることができる。従って、データの受信速度の低下を防ぐことができる。
【００１５】
又、請求項４に係る発明は、請求項３の発明において、前記コントローラは、前記第１切替部に、順番に従って前記受信バッファを切り替えさせることとした。
【００１６】
この構成によれば、受信エラーの発生回数が受信エラー許容回数を越える場合、受信バッファが順番に切り替えられる。従って、最終的に、受信エラーの発生回数が受信エラー許容回数以下となる受信バッファが探し当てられる。
【００１７】
又、請求項５に係る発明は、請求項１乃至４の発明において、前記コントローラは、全ての前記受信バッファへの切替を行っても、第１の所定量のデータの受信での受信エラーの発生回数が前記受信エラー許容回数を越える場合、最も受信エラーの発生回数が少なかった前記受信バッファに切り替えさせることとした。
【００１８】
この構成によれば、全ての受信バッファについて、受信エラーの発生回数が受信エラー許容回数を越える場合、最も受信エラーの発生が少ない受信バッファが選択される。これにより、減衰が大きい等のケーブルが用いられても、データの受信速度の低下を最小限に留めることができる。
【００１９】
又、請求項６に係る発明は、請求項２乃至５の発明において、前記コントローラは、第２の所定量のデータの送信での送信エラーの発生回数が、前記送信エラー許容回数以下であれば、前記第２切替部に指示し、現在選択している前記送信バッファよりも出力電流が小さい前記送信バッファに切り替えさせることとした。
【００２０】
出力電流を大きくしてドライブ能力を大きくすれば、その分だけ、消費電力は大きくなる。一方で、ドライブ能力の小さい送信バッファに切り替えても、送信エラーの発生回数が送信エラー許容回数以下となる場合がある。そこで、この構成によれば、送信エラーの発生回数が送信エラー許容回数よりも少なければ、現在用いている（選択している）送信バッファよりも出力電流が小さい送信バッファへの切り替えが行われる。これにより、無駄な電力の消費を無くすことができる。
【００２１】
又、請求項７に係る発明は、請求項２乃至６の発明において、主電源投入後、最初に最も出力電流が小さい前記送信バッファからデータの送信が開始され、前記コントローラは、送信エラーの発生回数が前記送信エラー許容回数以下となるまで、前記第２の所定量分のデータを送信するごとに、前記第２切替部に、現在選択している前記送信バッファよりも出力電流が大きい前記送信バッファに切り替えさせることとした。
【００２２】
この構成によれば、最初に最もドライブ能力が小さい送信バッファが選択され、送信エラーの発生回数が送信エラー許容回数よりも少なくなるまで、ドライブ能力が大きい送信バッファへの切替が行われる。これにより、送信エラーの発生回数を一定以下に留めることができる送信バッファのうち、最も消費電力が小さい送信バッファが選択される。従って、必要以上に大きなドライブ能力を有する送信バッファが選択されず、無駄な電力の消費を無くすことができる。
【００２３】
又、請求項８に係る発明は、請求項２乃至６の発明において、主電源投入後、最初に最も出力電流が大きい前記送信バッファからデータの送信が開始され、前記コントローラは、送信エラーの発生回数が前記送信エラー許容回数以下であれば、前記第２の所定量分のデータを送信するごとに、前記第２切替部に、現在選択している前記送信バッファよりも出力電流が小さい前記送信バッファに切り替えさせることとした。
【００２４】
この構成によれば、最初に最もドライブ能力が大きい送信バッファが選択され、送信エラーの発生回数が送信エラー許容回数以下であれば、ドライブ能力が小さい送信バッファへの切替が行われる。これにより、送信エラーの発生回数を一定以下に留めることができる送信バッファのうち、最も消費電力が小さい送信バッファが選択される。従って、必要以上に大きなドライブ能力を有する送信バッファが選択されず、無駄な電力の消費を無くすことができる。
【００２５】
又、請求項９に係る発明は、請求項２乃至８の発明において、前記コントローラは、前記第２の所定量のデータの送信で、相手方からの応答が所定の時間内にないタイムアウトエラーが発生した場合、前記第２切替部に、現在接続している前記送信バッファよりも、２段階以上出力電流が大きい前記送信バッファに切り替えさせることとした。
【００２６】
この構成によれば、データ通信速度の低下を勘案しタイムアウトエラーが生じた場合、順番をとばして、ドライブ能力が大きな送信バッファの選択がなされる。これにより、タイムアウトエラーが生ずるほどケーブルでの減衰等が激しくても、１段階ずつドライブ能力を上げる場合に比べ、送信バッファのドライブ能力を大きく高めることができる。従って、速やかに、タイムアウトエラーのような重度のエラーが発生し難くなる。
【００２７】
又、請求項１０に係る画像形成装置は、請求項１乃至９のいずれか１項に記載のデータ通信装置を備えることとした。
【００２８】
この構成によれば、画像形成装置が上述のデータ通信装置を備えるので、例えば、データ量が大きい画像データでも、画像データでのエラーの発生と通信速度の低下を押さえつつＰＣ等の相手方の装置と通信を行うことができる。
【００２９】
又、請求項１１に係るデータ通信システムは、少なくとも２つの請求項１乃至９のいずれか１項に記載のデータ通信装置を互いに接続して構成されることとした。
【００３０】
この構成によれば、通信システムでのインターフェイスに上述のデータ通信装置が用いられるので、データ通信装置間の通信エラーの発生が一定以下に抑えられる。又、データの再送信、再受信を要する通信エラーの発生が押さえられるので、データ通信速度の低下がない。
【発明の効果】
【００３１】
上述したように、本発明によれば、減衰率の大きいものなど、エラーが生じやすいケーブルが用いられても、データの喪失や、データ化け等の通信エラーの発生を一定以下に抑えるように、受信バッファ、送信バッファが選択される。これにより、データの再送によって生ずる理想的な通信速度からの速度低下を防ぐことができる。
【図面の簡単な説明】
【００３２】
【図１】第１の実施形態に係るデータ通信装置が搭載されたプリンタとＰＣとの接続の一例を示す模式図である。
【図２】第１の実施形態に係るプリンタの概略構造を示す模型的正面断面図である。
【図３】第１の実施形態に係るプリンタのハードウェア構成の一例を示すブロック図である。
【図４】第１の実施形態に係るＩ／Ｆ部の構成の一例を示すブロック図である。
【図５】第１の実施形態に係るトランシーバの受信部分の一例を示す説明図である。
【図６】第１の実施形態に係るトランシーバの送信部分の一例を示す説明図である。
【図７】第１の実施形態に係る受信バッファの選択制御の一例を示すフローチャートである。
【図８】第１の実施形態に係る受信バッファの選択制御の一例を示すフローチャートである。
【図９】第２の実施形態に係る送信バッファの選択制御の一例を示すフローチャートである。
【図１０】第３の実施形態に係る送信バッファの選択制御の一例を示すフローチャートである。
【図１１】第４の実施形態に係るデータ通信システムの一例を示すブロック図である。
【発明を実施するための形態】
【００３３】
以下、本発明の第１の実施形態を図１〜図８を参照しつつ説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００３４】
尚、本発明に係るデータ通信装置１は各種装置に搭載可能であるが、本説明では画像形成装置としてのプリンタ１００に搭載される場合を例に挙げて説明する。尚、本発明に係るデータ通信装置１は複合機や複写機等の他の画像形成装置に搭載されても良い。又、本実施形態ではデータ通信装置１における通信は、ＵＳＢ規格に準拠する場合を説明する。
【００３５】
そして、図１に示すように、プリンタ１００に対し、ホストコンピュータとしてのＰＣ２００（パーソナルコンピュータ）が接続される。尚、図１は、本発明の第１の実施形態に係るデータ通信装置１が搭載されたプリンタ１００とＰＣ２００との接続の一例を示す模式図である。
【００３６】
例えば、本実施形態のプリンタ１００の背面（図１では不可視）や右側面等、任意の場所にＵＳＢ規格に準じたコネクタが設けられる。従って、本実施形態のプリンタ１００には、ＵＳＢ機器を接続することができる。又、一般に、市場で流通するＰＣ２００は、１又は複数のＵＳＢコネクタを有する。従って、ケーブルＣで両コネクタを接続すれば、プリンタ１００とＰＣ２００間でＵＳＢ規格に準じたデータ通信を行うことができる。例えば、プリンタ１００は、ＰＣ２００から画像データや印刷に関する設定データ等の各種データを受信し、印刷を行う。
【００３７】
（画像形成装置の概略構成）
まず、図２に基づき、本発明の第１の実施形態に係るデータ通信装置１を搭載したプリンタ１００の概要を説明する。図２は、本発明の第１の実施形態に係るプリンタ１００の概略構造を示す模型的正面断面図である。
【００３８】
図２に示すように、本実施形態のプリンタ１００は、本体内に、画像形成を行うための構成として給紙部２、搬送路３、画像形成部４、定着部５を備える。
【００３９】
給紙部２は、画像形成部４に向けて用紙を供給する。給紙部２には、各種（普通紙、厚紙、再生紙、ＯＨＰシート、ラベル用紙等）、各サイズ（Ａ４、Ｂ５、レターサイズ等）の用紙等の用紙が収納される各カセット２１（上段のものに２１ａ、下段のものに２１ｂの符号を付す）が設けられる。そして、各カセット２１には、印刷時に用紙を１枚ずつ搬送路３に送り出す供給ローラ２２等を備える（上段のものに２２ａ、下段のものに２２ｂの符号を付す）。
【００４０】
搬送路３は、用紙を、画像形成部４、定着部５を経て排出トレイ３１まで搬送する。搬送路３には、用紙を導くガイド（不図示）や、モータ、ギア等からなる駆動機構（不図示）により回転する複数の搬送ローラ対３２等が設けられる。又、転写ローラ４５の上流側近傍にはトナー像の転写開始にあわせて用紙を転写ローラ４５に向けて送り込むレジストローラ対３３が設けられる。
【００４１】
画像形成部４は、トナー像を形成し、搬送路３によって搬送されてきた用紙に対してのトナー像の転写を行う。画像形成部４は、回転可能に支持され、モータ等の駆動機構（不図示）により回転駆動する感光体ドラム４１が設けられる。そして、感光体ドラム４１の周囲には、帯電部４２、露光部４３、現像部４４、転写ローラ４５、クリーニング部４６が配される。
【００４２】
トナー像形成プロセスを説明すると、まず、感光体ドラム４１の右上方の帯電部４２が、感光体ドラム４１の表面を所定電位に帯電させる。帯電部４２の右方に設けられる露光部４３は、ＰＣ２００（図３参照）から送信される画像データ等に基づき、レーザ光を出力する。このレーザ光により、感光体ドラム４１表面が走査露光され、静電潜像が形成される。次に、感光体ドラム４１の右下方の現像部４４が、静電潜像に向けトナーを供給して、静電潜像が現像される。
【００４３】
感光体ドラム４１の左下方の転写ローラ４５は、感光体ドラム４１に圧接してニップを形成する。このニップを用紙が通過する際に、感光体ドラム４１上のトナー像が用紙に転写される。クリーニング部４６は、転写後の感光体ドラム４１の表面を清掃する。
【００４４】
定着部５は、用紙に転写されたトナー像を定着させる。本実施形態の定着部５は、主として、発熱体を内蔵する加熱ローラ５１と、加熱ローラ５１に圧接してニップを形成する加圧ローラ５２で構成される。そして、加熱ローラ５１と加圧ローラ５２は、モータ等からなる駆動機構（不図示）により回転される。トナー像の転写された用紙が搬送されつつニップを通過する。これにより、トナーが溶融・加熱され、トナー像が用紙に定着する。
【００４５】
（画像形成装置のハードウェア構成）
次に、図３に基づき、本発明の第１の実施形態に係るプリンタ１００の構成の一例を説明する。図３は、本発明の第１の実施形態に係るプリンタ１００のハードウェア構成の一例を示すブロック図である。
【００４６】
図３に示すように、本実施形態に係るプリンタ１００は、機内に適宜配される制御基板等に設けられる制御部６を有する。この制御部６は、プリンタ１００全体の動作を制御する。具体的に、制御部６は、給紙部２、搬送路３、定着部５、操作パネル６２、画像処理部６３、画像形成部４等と信号線等を介し接続される。これにより、制御部６は、画像形成部４、定着部５等の各部の動作や用紙搬送を制御し、印刷に関する制御を行う。
【００４７】
尚、操作パネル６２は、複写機１の正面前方に設けられる。操作パネル６２は、プリンタ１００の動作等の設定や状態表示を行うための部分である（図２参照、破線で図示）。例えば、操作パネル６２には、用紙切れ等のエラー発生等を表示する液晶表示部やカセットに収容される用紙の設定等、各種設定を行うためのキーが複数設けられる。
【００４８】
又、本実施形態の画像処理部６３は、画像データに関する演算や作業領域としてのワークＲＡＭや専用回路としてのＡＳＩＣ等を組み合わせて構成される回路である。尚、制御部６のＣＰＵ６０や記憶部６１に画像処理プログラムを格納してソフトウェア的に制御部６を画像処理部６３として機能させてもよい。そして、画像処理部６３は、ＰＣ２００等の外部からの画像データに画像処理を施す。又、画像処理後の画像データは、例えば、画像形成部４の露光部４３に送信され印刷時の露光に用いられる。
【００４９】
そして、制御部６は、例えば、ＣＰＵ６０や、記憶部６１を有する。記憶部６１は、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュＲＯＭ等の不揮発性と揮発性の記憶装置を組み合わせて構成される。記憶部６１は、印刷における制御のための各種のプログラムや各種データを収容し、印刷時等に、プログラムやデータが読み出され、ＣＰＵ６０が演算等を行う。
【００５０】
又、制御部６は、Ｉ／Ｆ部６４とも接続される。Ｉ／Ｆ部６４は、プリンタ１００と外部のコンピュータ（図３では、ＰＣ２００を例示）とを接続するためのインターフェイスである。そして、Ｉ／Ｆ部６４には、複数種のコネクタ等が設けられる。例えば、Ｉ／Ｆ部６４には、ＵＳＢ用のコネクタや、ネットワーク接続用のコネクタや、パラレル通信用（例えば、ＩＥＥＥ１２８４準拠）のコネクタ等が設けられる。そして、本発明に係るデータ通信装置１は、Ｉ／Ｆ部６４に含まれる。
【００５１】
そして、プリンタ１００には、ＰＣ２００から画像データ等の印刷に関するデータがＩ／Ｆ部６４を介し入力される。また、用紙切れや印刷完了の通知等、制御部６からＩ／Ｆ部６４を介し、ＰＣ２００に向けて通知等のデータを送信することもできる。
【００５２】
（Ｉ／Ｆ部６４内の構成）
次に、図４に基づき、本発明の第１の実施形態に係るＩ／Ｆ部６４の構成の一例を説明する。図４は、本発明の第１の実施形態に係るＩ／Ｆ部６４の構成の一例を示すブロック図である。尚、上述したように、Ｉ／Ｆ部６４には、ＵＳＢ規格以外の通信用のコネクタや制御素子等が設けられるが、本発明の説明の便宜上、図４では、ＵＳＢ規格に関する構成のみを図示している。
【００５３】
まず、プリンタ１００側のデータ通信装置１を説明する。プリンタ１００側には、ケーブルＣを接続するためのコネクタＣ１（接続部に相当）が設けられる。ケーブルＣ内に、データの通信用の信号線Ｄ＋と信号線Ｄ−が含まれる。そして、コネクタＣ１には、信号線Ｄ＋と信号線Ｄ−に対応して、信号の入出力端子として、２つの入出力端子Ｐ＋、Ｐ−が設けられる。即ち、コネクタＣ１は、データの通信用の差動信号線を含むケーブルＣが接続され、差動信号線と接続される２つの入出力端子Ｐ＋、Ｐ−を含む。そして、プリンタ１００とＰＣ２００間では、信号線Ｄ＋と信号線Ｄ−による差動信号のやり取りでデータの通信が行われる。尚、ＵＳＢ規格では、Ｄ＋とＤ−の２本の信号線の他、電源（ＶBUS）とグランド（ＧＮＤ）のラインがケーブルＣに含まれ、プリンタ１００のコネクタＣ１やＰＣ２００側のコネクタＣ２にも端子が設けられる（図示は省略）。
【００５４】
このように、本実施形態のプリンタ１００とＰＣ２００間の通信は、ＵＳＢ規格に準拠したシリアル通信で行われる。尚、ＵＳＢ規格の通信は、「ＳＯＦ（Start of Frame）」と呼ばれる「パケット」で始まる、複数の「トランザクション」で構成されるフレーム単位でデータの送受信が行われる等の通信プロトコルに基づきなされる。しかし、ＵＳＢでの通信プロトコルの詳細は、本発明の趣旨から外れるので、説明を省略する。
【００５５】
２つの入出力端子Ｐ＋、Ｐ−には、トランシーバ７が接続される。トランシーバ７内には、受信バッファ７１と送信バッファ７２が、それぞれ複数設けられる（詳細は後述）。又、トランシーバ７内には、コントローラ８からの指示を受け、用いる受信バッファ７１を切り替える第１切替部７３と、コントローラ８からの指示を受け、用いる送信バッファ７２を切り替える第２切替部７４が設けられる。
【００５６】
そして、トランシーバ７は、ＰＣ２００から送信され、受信バッファ７１で受信した受信データをコントローラ８に入力する。例えば、コントローラ８は、受信データを制御部６に転送する。これにより、制御部６は、受信データの内容を把握する。制御部６は、例えば、受信データが画像データであれば、画像処理部６３に送る。又、例えば、制御部６は、受信データが印刷に関する設定データであれば、設定通りに印刷がなされるように、各部の動作を制御する。
【００５７】
又、コントローラ８は、受信データにおいてエラーの発生の有無を確認する。例えば、ＵＳＢ規格でのデータの通信では、パケット内にＣＲＣ（巡回冗長検査）用の符号が付されるので、コントローラ８は、データ化け等の受信エラーを検出することができる。又、例えば、コントローラ８は、受信データのビット数がプロトコル上、定められた数に足りない等、データの喪失を検出できる。即ち、コントローラ８は、いずれかの受信バッファ７１と接続されて受信データを受けるとともに、受信エラーを把握する。
【００５８】
又、コントローラ８は、受信データにエラーがなければ、データを正常受信したことを通知するためＡＣＫ信号（Acknowledgement）を送信バッファ７２から送信させる。一方、コントローラ８は、受信データにエラーがあれば、データを正常受信できない、あるいは通信できないことを通知するためＮＡＣＫ信号（Negative Acknowledgment）を送信バッファ７２から送信させる。ＮＡＣＫ信号が送信されれば、再度、同一内容のデータがＰＣ２００からプリンタ１００に向けて再送信される。即ち、本発明に係るデータ通信装置１では、データの送受信においてハンドシェイクが行われる。
【００５９】
エラーカウント部８１は、ＰＣ２００からのデータ受信において発生したエラーの回数や、ＰＣ２００へのデータ送信においてエラーが発生した旨の通知を受けた回数を記憶する。例えば、エラーカウント部８１は、カウンタやメモリを用いることができる。尚、エラーカウントを別途設けるのではなく、コントローラ内のメモリ、カウンタ、レジスタの記憶素子をエラーカウント部８１として設けても良い。
【００６０】
例えば、受信エラーについて、エラーカウント部８１は、ＮＡＣＫ信号を送信した回数をカウントする。又、例えば、送信エラーについて、エラーカウント部８１は、ＰＣ２００側から送信されたＮＡＣＫ信号を受信した回数や、ＰＣ２００と通信ができず所定時間が経過したタイムアウトエラーが生じた回数をカウントできる。このように、データ通信装置１は、入出力端子Ｐ＋、Ｐ−を含むコネクタＣ１や複数の受信バッファ７１と複数の送信バッファ７２と第１切替部７３と第２切替部７４を含むトランシーバやコントローラ８やエラーカウント部８１で構成される。
【００６１】
次に、ＰＣ２００側を説明する。ＰＣ２００にもＵＳＢ規格に基づくインターフェイスが設けられる。尚、ＰＣ２００は、通常、ＣＰＵを有する制御基板の他、記憶装置やキーボードやマウス等の入力装置や、液晶ディスプレイ等の表示装置を有するが、これらの構成の図示は、図４では省略している。
【００６２】
具体的に、ＰＣ２００側にも、ケーブルＣを接続するコネクタＣ２が設けられる。そして、コネクタＣ２にも信号線Ｄ＋と信号線Ｄ−に対応し、２つの入出力端子Ｐ＋、Ｐ−が設けられる。尚、ＰＣ２００側でも、電源ライン（ＶBUS）とグランドライン（ＧＮＤ）用の端子が設けられる（図示は省略）。
【００６３】
２つの入出力端子Ｐ＋、Ｐ−には、トランシーバ２０２が接続される。トランシーバ２０２内にも、受信バッファと送信バッファが設けられる。尚、トランシーバ２０２内に、第１切替部７３と、第２切替部７４は設けられない。又、使用する受信バッファと送信バッファも固定的である。
【００６４】
そして、トランシーバ２０２は、プリンタ１００から受けた受信データをコントローラ２０３に入力する。コントローラ２０３は、受信データを例えば、ＰＣ２００のＣＰＵ等に転送する。これにより、ＰＣ２００は、受信データの内容を把握する。又、トランシーバ２０２はプリンタ１００に送信する送信データをコントローラ２０３から受け、信号線Ｄ＋と信号線Ｄ−を利用し、データをプリンタ１００に送信する。
【００６５】
又、コントローラ２０３は、パケット内にＣＲＣ（巡回冗長検査）用の符号を利用して、受信データにおけるエラーの発生の有無を確認する。コントローラ２０３は、受信データにエラーがなければ、ＡＣＫ信号（Acknowledgement）をトランシーバ２０２から送信させる。一方、コントローラ２０３は、受信データにエラーがあれば、ＮＡＣＫ信号（Negative Acknowledgment）をトランシーバ２０２から送信させる。ＮＡＣＫ信号が送信されれば、同一内容のデータがプリンタ１００からＰＣ２００に向けて再送信される。
【００６６】
（プリンタ１００のトランシーバ８の受信バッファ）
次に、図５に基づき、本発明の第１の実施形態に係るトランシーバ８の受信部分の一例を説明する。図５は、本発明の第１の実施形態に係るトランシーバ８の受信部分の一例を示す説明図である。
【００６７】
図５に示すように、本実施形態のプリンタ１００内のデータ通信装置１では、複数の受信バッファ７１が、トランシーバ７内に設けられる。複数の各受信バッファ７１は、各入出力端子Ｐ＋、Ｐ−と接続され、外部からの差動信号を受け、受信データを出力する。そして、図５では、最上方の受信バッファ７１に７１Ａ（１個目）、その下方の受信バッファ７１Ｂ（２個目）が設けられ、以下は省略し、最下方に最後の受信バッファ７１に７１ｎ（ｎ個目）が設けられる例を示している。尚、いずれも受信バッファ７１であるから、便宜上、特に説明する場合を除き、Ａ、Ｂ、ｎの符号は、以下では省略する。
【００６８】
ここで、受信バッファ７１の個数は、複数であれば特に制限はない。例えば、トランシーバ８の製造に要するコスト等を考慮して、５〜７個（例えば６個）程度とすることができる。尚、受信バッファ７１は、６個以下でも良いし、６個以上（例えば、１０個）であってもよい。
【００６９】
各受信バッファ７１は、それぞれ、Ｄ＋とＤ−の信号をＨｉｇｈかＬｏｗかを判断する際の閾値がそれぞれ異なる。例えば、ＵＳＢ規格では、信号の電圧値が０．８Ｖ以下となれば、Ｌｏｗと判断する場合がある。又、ＵＳＢ規格では、信号の電圧値が２．０Ｖ以上となれば、Ｈｉｇｈと判断する場合がある。そして、本実施形態の各受信バッファ７１は、信号がＨｉｇｈと判断する閾値及び／又はＬｏｗと判断する閾値がそれぞれ異なる。
【００７０】
例えば、各受信バッファのうち、受信バッファ７１Ａは、Ｈｉｇｈ側の閾値（スレッシュレベル）を２．０Ｖ、Ｌｏｗ側の閾値を０．８Ｖとする。そして、受信バッファ７１Ｂは、Ｈｉｇｈ側の閾値を１．９Ｖ、Ｌｏｗ側の閾値を０．９Ｖとする。或いは、Ｈｉｇｈ側の閾値を２．０Ｖ、Ｌｏｗ側の閾値を０．９Ｖとしてもよい。若しくは、Ｈｉｇｈ側の閾値を１．９Ｖ、Ｌｏｗ側の閾値を０．８Ｖとしてもよい。
【００７１】
即ち、各受信バッファ７１では、Ｈｉｇｈと判断する閾値及びＬｏｗと判断する閾値がそれぞれ異なるか、若しくは、Ｈｉｇｈと判断する閾値又はＬｏｗと判断する閾値のいずれか一方が他の各受信バッファ７１と異なる。
【００７２】
差動信号では、Ｄ＋やＤ−の信号がＨｉｇｈとなった若しくはＬｏｗとなったことを把握して、データが１か０かが判断される。そして、各受信バッファ７１でＨｉｇｈやＬｏｗと判断する閾値を異ならせることで、エラーの発生を減らすことができる場合がある。
【００７３】
例えば、減衰率の大きいケーブルＣを用いた場合などでは、差動信号でのアイパターンが崩れ、十分に瞳が開かず、瞳が閉じる場合がある。例えば、減衰が激しければ、Ｄ＋やＤ−の信号はＨｉｇｈの閾値を越え難くなる。又、Ｄ＋やＤ−の信号の信号が、Ｌｏｗの閾値を越えるほど落ちきらない（Ｌｏｗ側が浮いてくる）場合も出てくる。これらの場合、Ｈｉｇｈの閾値を変化させれば、データを正確に受信できる場合がある。又、Ｌｏｗ側の閾値を変化させればデータを正確に受信できる場合もある。即ち、従来のように、受信バッファでのＨｉｇｈと判断する閾値とＬｏｗと判断する閾値を固定しない。
【００７４】
そして、各受信バッファ７１のうち、使用する受信バッファ７１の切替（選択）は、第１切替部７３が行う。第１切替部７３は、コントローラからの切替指示を受け、使用する受信バッファ７１に対するＥｎａｂｌｅ信号をＯＮにする。これにより、選択された受信バッファ７１のみから受信データがコントローラ８に入力される。
【００７５】
尚、第１切替部７３は、Ｅｎａｂｌｅ信号を用いて受信バッファ７１を選択する例を示したが、例えば、各受信バッファ７１の出力端のうち、いずれをコントローラ８に接続するかを選択するためのスイッチを設けて、用いる受信バッファ７１が選択されても良い。又、各受信バッファ７１の出力端をマルチプレクサに入力し、マルチプレクサでいずれかの受信バッファ７１を選択して受信データをコントローラに入力するようにしても良い。即ち、第１切替部７３は、各受信バッファ７１のうち、いずれかの受信バッファ７１の出力を意図的に選択してコントローラ８に入力できるものであればよい。
【００７６】
（プリンタ１００のトランシーバの送信バッファ）
次に、図６に基づき、本発明の第１の実施形態に係るトランシーバ８の送信部分の一例を説明する。図６は、本発明の第１の実施形態に係るトランシーバ８の送信部分の一例を示す説明図である。
【００７７】
図６に示すように、本実施形態のプリンタ１００内のデータ通信装置１では、複数の送信バッファ７２が、トランシーバ７内に設けられる。複数の各送信バッファ７２は、各入出力端子Ｐ＋、Ｐ−と接続され、外部に向けて差動信号として送信データを出力する。図６では、最上方の送信バッファ７２に７２Ａ（１個目）、その下方の送信バッファ７２に７２Ｂ（２個目）、更に下方の送信バッファ７２に７２Ｃと符号を付す。又、図６では、以下は省略し、最下方の最後の送信バッファ７２に７２ｎ（ｎ個目）の符号を付す。尚、いずれも送信バッファ７２であり、便宜上、特に説明する場合を除き、Ａ、Ｂ、Ｃ、ｎの符号は、以下では、本説明でも省略する。
【００７８】
ここで、送信バッファ７２の個数は、複数であれば特に制限はない。例えば、受信バッファ７１と同様、５〜７個（例えば６個）程度とすることができる。尚、送信バッファ７２は、６個以下でも良いし、６個以上（例えば、１０個）であってもよい。
【００７９】
各送信バッファ７２は、それぞれ、出力電流の大きさ（ドライブ能力）が異なる。例えば、各送信バッファ７２のうち、送信バッファ７２Ａの出力電流を最小とする。そして、例えば、送信バッファ７２Ｂは、送信バッファ７２Ａよりも１ｍＡ〜数十ｍＡ（例えば、１ｍＡ〜５ｍＡ）程度、出力電流が大きい。そして、送信バッファ７２ｎに向けて段階的に（順番に）、出力電流が１ｍＡ〜数十ｍＡ（例えば、１ｍＡ〜５ｍＡ）ずつ大きくなる。尚、出力電流の１段階当たりの差は一定でも良いし、一定でなくても良い。即ち、各送信バッファ７２では、それぞれ出力可能な電流値が異なり、ドライブ能力が異なる。
【００８０】
減衰が大きいケーブルＣが用いられる場合など、信号の伝送では、送信バッファ７２の出力電流を大きくすれば、信号の波形が理想的な方向に改善される場合がある。そこで、本実施形態のデータ通信装置１では、各送信バッファ７２の出力電流の大きさを異ならせて、送信エラーの発生を減らすことを試みる。
【００８１】
そして、各送信バッファ７２のうち、使用する送信バッファ７２の切替（選択）は、第２切替部７４が行う。第２切替部７４は、コントローラ８から、送信データを受け取る。そして、コントローラ８からの指示を受け、使用する送信バッファ７２にのみ送信データを送り込む。例えば、第２切替部７４には、デマルチプレクサが用いられる。或いは、例えば、各受信バッファ７１の場合と同様に、第２切替部７４から使用する送信バッファ７２にＥｎａｂｌｅ信号を供給してもよい。
【００８２】
又、例えば、いずれの送信バッファ７２の入力端をコントローラ８と接続するかを選択するためのスイッチや、いずれの送信バッファ７２の出力を信号線Ｄ＋と信号線Ｄ−に接続するかを選択するスイッチが設けられても良い。即ち、第２切替部７４は、各送信バッファ７２のうち、信号線Ｄ＋と信号線Ｄ−（入出力端）に、いずれかの送信バッファ７２の出力を意図的にのせるかを選択できるものであればよい。
【００８３】
（受信バッファ７１の選択制御）
次に、図７に基づき、本発明の第１の実施形態に係る受信バッファ７１の選択制御の一例を説明する。図７は、本発明の第１の実施形態に係る受信バッファ７１の選択制御の一例を示すフローチャートである。
【００８４】
まず、図７に示す制御は、例えば、主電源投入時に行うことができる。従って、図７におけるスタートは、プリンタ１００の主電源が投入され（例えば、主電源スイッチ（不図示）の投入）、Ｉ／Ｆ部６４の起動がなされた時点とできる。又、例えば、ＵＳＢ規格ではポートの状態の変化が把握され、これによりプリンタ１００にケーブルＣ及びＰＣ２００の接続、切り離しが把握される。従って、新たに、プリンタ１００のコネクタにケーブルＣ及びＰＣ２００が接続された時点を図７におけるスタートとしてもよい。
【００８５】
そして、コントローラ８は、複数の受信バッファ７１のうち、いずれかの受信バッファ７１をコントローラ８と接続するように第１切替部７３に指示する。その結果、使用する受信バッファ７１が１つ選択され、コントローラ８と１つの受信バッファ７１が接続される（ステップ♯１）。尚、主電源投入後、最初に接続する、デフォルトとしての受信バッファ７１は、予め定められていても良い。
【００８６】
次に、コントローラ８は、受信データの入力を受けつつ、データ化けやデータ喪失等の受信エラーの発生確認を行い、エラーカウント部８１に発生した回数のカウントをさせる（ステップ♯２）。そして、コントローラ８は、第１の所定量のデータを受信したかを確認する（ステップ♯３）。同じデータ量（第１の所定量）を基準として、受信エラーの発生が頻繁といえるか確認を行うためである。
【００８７】
尚、第１の所定量は任意に定めることができる。例えば、データ量が少なすぎれば、正確に受信エラーの発生確率を把握できない。データ量が多すぎれば、受信エラーが頻繁に生じ受信バッファ７１を切り替えた方が良いにもかかわらず、現在の受信バッファ７１が用いられたまま通信が行われ、データの再受信等で通信速度が遅い状態が続き得る。そこで、データ量で言えば、５１２バイト〜６５５３６バイト程度とすることができる（尚、６５５３６バイト以上でもよい）。又、受信バッファ７１を選ぶため、ＰＣ２００側から、第１の所定量のテストデータを送信させる（させ続ける）ようにしてもよい。
【００８８】
ＰＣ２００からデータを受信し始めてから、第１の所定量のデータを受信していなければ（ステップ♯３のＮｏ）、例えば、ステップ♯２に戻る。一方、第１の所定量のデータを受信していれば、コントローラ８は、受信エラーの発生回数が、受信エラー許容回数を越えるかを確認する（ステップ♯４）。受信エラー許容回数は、０回以上であればよく、第１の所定量と目標とするエラー発生率との兼ね合いで適宜決定できる。例えば、受信エラー許容回数をゼロとすれば、受信エラーが１回でも生じていれば、受信バッファ７１の切替がなされる。
【００８９】
もし、受信エラーの発生回数が受信エラー許容回数を越えない受信バッファ７１が現れた場合（ステップ♯４のＮｏ）、現在使用している受信バッファ７１を以後使用するとコントローラ８は定める（ステップ♯５）。この結果、エラーの少ない受信バッファ７１を用いて、以後、プリンタ１００とＰＣ２００間で通信が行われる。
【００９０】
一方、受信エラー許容回数を越えれば（ステップ♯４のＹｅｓ）、コントローラ８は、全ての受信バッファ７１を既に用いたかを確認する（ステップ♯６）。言い換えると、全ての受信バッファ７１を用いても受信エラーの発生回数が受信エラー許容回数を越えたかを確認する。
【００９１】
もし、全ての受信バッファ７１を未だ用いてなければ（ステップ♯６のＮｏ）、まだ選択していない（用いていない）受信バッファ７１への切替が行われる（ステップ♯７）。即ち、コントローラ８は、第１の所定量のデータの受信で生じた受信エラーの発生回数が予め定められた受信エラー許容回数を越えれば、第１切替部７３に、選択している受信バッファ７１から別の受信バッファ７１に切り替えさせる。又、例えば、コントローラ８は、第１切替部７３に、予め定められる順番に従って受信バッファ７１を切り替えさせる。
【００９２】
その後、例えば、ステップ♯２に戻る。即ち、コントローラ８は、受信エラーの発生回数が受信エラー許容回数以下となるまで第１の所定量分のデータを受信するごとに、受信バッファ７１の切替を行わせる。一方、全ての受信バッファ７１を切り替えて用いても、受信エラーの発生回数が受信エラー許容回数を越えるのであれば（ステップ♯６のＹｅｓ）、コントローラ８は、最も受信エラーの発生回数の少なかった受信バッファ７１を以後使用する受信バッファ７１と定め、必要があれば、最も受信エラーの発生回数の少なかった受信バッファ７１にへの切り替えを、第１切替部７３に指示する（ステップ♯８）。即ち、コントローラ８は、全ての受信バッファ７１への切替を行っても、第１の所定量のデータの受信での受信エラーの発生回数が受信エラー許容回数を越える場合、最も受信エラーの発生回数が少なかった受信バッファ７１に切り替えさせる。
【００９３】
（送信バッファ７２の選択制御）
次に、図８に基づき、本発明の第１の実施形態に係る送信バッファ７２の選択制御の一例を説明する。図８は、本発明の第１の実施形態に係る受信バッファ７１の選択制御の一例を示すフローチャートである。
【００９４】
まず、図８に示す制御は、受信バッファ７１の選択制御と同様に、例えば、主電源投入時に行うことができる。又、新たに、プリンタ１００のコネクタ１にケーブルＣ及びＰＣ２００が接続された時点を図８におけるスタートとしてもよい。従って、送信バッファ７２の選択制御は、受信バッファ７１の選択制御と並行して行われても良い。
【００９５】
そして、コントローラ８は、全ての送信バッファ７２のうち、ドライブ能力が中位の送信バッファ７２を選択する指示を第２切替部７４に出す。その結果、中位のドライブ能力を有する送信バッファ７２から、データの送信が開始される（ステップ♯１１）。中位のドライブ能力を有する送信バッファ７２とは、全送信バッファ７２のうち、ドライブ能力の大きさが、最小、最大ではない送信バッファ７２をいう。例えば、送信バッファ７２が計６個ある場合、３又は４番目にドライブ能力が大きい送信バッファ７２が選択される。
【００９６】
次に、コントローラ８は、送信データを使用中の送信バッファ７２に向けて出力を行いつつ、ＰＣ２００側から所定時間内に応答がないタイムアウトエラーや、ＰＣ２００側からの送信エラーのあった旨の通知（ＮＡＣＫ信号）等を確認し、エラーカウント部８１に発生した送信エラー回数のカウントをさせる（ステップ♯１２）。そして、コントローラ８は、第２の所定量のデータを送信したかを確認する（ステップ♯１３）。
【００９７】
尚、第２の所定量は任意に定めることができる。例えば、データ量が少なすぎれば、正確に送信エラーの発生確率を把握できない。データ量が多すぎれば、送信エラーが頻繁に生じ送信バッファ７２を切り替えた方が良いにもかかわらず、現在の送信バッファ７２が用いられたまま通信が行われ、データの再受信等で通信速度が遅い状態が続き得る。そこで、データ量で言えば、５１２バイト〜６５５３６バイト程度とすることができる。（尚、６５５３６バイト以上でもよい）又、送信バッファ７２を選ぶため、プリンタ１００側から、第２の所定量のテストデータを送信させる（させ続ける）ようにしてもよい。
【００９８】
通信開始から第２の所定量のデータを送信していなければ（ステップ♯１３のＮｏ）、例えば、ステップ♯１２に戻る。一方、第２の所定量のデータを受信していれば、送信エラーの発生回数が、送信エラー許容回数を越えるかを確認する（ステップ♯１４）。送信エラー許容回数も、０回以上であればよく、第２の所定量と目標とするエラー発生率との兼ね合いで適宜決定できる。例えば、送信エラー許容回数をゼロとすれば、送信エラーが１回でも生じていれば、送信バッファ７２の切替がなされる。
【００９９】
もし、送信エラー許容回数を越えるのであれば（ステップ♯１４のＹｅｓ）、コントローラ８はタイムアウトエラーが発生していたかを確認する（ステップ♯１５）。もし、タイムアウトエラーが発生していれば（ステップ♯１５のＹｅｓ）、複数段階以上（例えば、２段階）、コントローラ８は、第２切替部７４にドライブ能力が大きい送信バッファ７２への切替を指示する（ステップ♯１６）。尚、現在使用している送信バッファ７２が、最もドライブ能力が大きい送信バッファ７２よりも１段階だけ小さいものであれば、ステップ♯１６では、コントローラ８は、最もドライブ能力が大きい送信バッファ７２を選択するように第２切替部７４に指示する。
【０１００】
例えば、現在の送信バッファ７２のドライブ能力の大きさが３番目であれば、コントローラ８は、５番目以上にドライブ能力が大きい送信バッファ７２への切替を指示する。そして、送信バッファ７２の切替が行われる（ステップ♯１７）。即ち、コントローラ８は、第２の所定量のデータの送信で通信相手方から受け取った送信エラーが発生した旨の通知の回数を確認し、送信エラーの発生回数が予め定められた送信エラー許容回数を越えれば、第２切替部７４に、選択している送信バッファ７２よりも出力電流が大きい送信バッファ７２に切り替えさせる。
【０１０１】
又、コントローラ８は、第２の所定量のデータの送信で、相手方からの応答が所定の時間内にないタイムアウトエラーが発生した場合、第２切替部７４に、現在接続している送信バッファ７２よりも、２段階以上出力電流が大きい送信バッファ７２に切り替えさせる。これにより、タイムアウトエラーが生ずるほど、信号の減衰等が大きくても、迅速にドライブ能力を上げて、タイムアウトエラーが生じないようにする。
【０１０２】
一方、タイムアウトエラーが発生していなければ（ステップ♯１５のＮｏ）、コントローラ８は、第２切替部７４に１段階ドライブ能力が大きい送信バッファ７２への切替を指示する（ステップ♯１８）。例えば、現在の送信バッファ７２のドライブ能力が３番目に大きければ、コントローラ８は、ドライブ能力が４番目に大きい送信バッファ７２への切替を指示する。そして、送信バッファ７２の切替が行われる（ステップ♯１７）。そして、コントローラ８は、送信バッファ７２の切替後に生じた送信エラーの発生回数をカウントする（ステップ♯１９）。更に、送信バッファ７２の切替後、コントローラ８は、第２の所定量のデータを送信したかを確認する（ステップ♯２０）。
【０１０３】
もし、第２の所定量のデータを送信していなければ（ステップ♯２０のＮｏ）、例えば、ステップ♯１９に戻る。一方、第２の所定量のデータを送信していれば（ステップ♯２０のＹｅｓ）、コントローラ８は、送信エラーの発生回数が、送信エラー許容回数を越えるかを確認する（ステップ♯２１）。
【０１０４】
そして、送信エラー許容回数を越えれば（ステップ♯２１のＹｅｓ）、コントローラ８は、現在使用している送信バッファ７２は、ドライブ能力が最も大きいものかを確認する（ステップ♯２２）。言い換えると、最もドライブ能力が大きくても送信エラーの発生回数が送信エラー許容回数を越えるかを確認する。もし、ドライブ能力が最大で無ければ（ステップ♯２２のＮｏ）、例えば、ステップ♯１５に戻る。一方、ドライブ能力が最大であれば（ステップ♯２２のＹｅｓ）、コントローラ８は、ドライブ能力が最大の送信バッファ７２を以後使用する送信バッファ７２と定める（ステップ♯２３）。
【０１０５】
一方、ステップ♯１４において、送信エラー許容回数を越えなければ（ステップ♯１４のＮｏ）、コントローラ８は、第２切替部７４に１段階ドライブ能力が小さい送信バッファ７２への切替を指示する（ステップ♯２４）。即ち、コントローラ８は、第２の所定量のデータの送信での送信エラーの発生回数が、送信エラー許容回数以下であれば、第２切替部７４に指示し、現在選択している送信バッファ７２よりも出力電流が小さい送信バッファ７２に切り替えさせる。過剰なドライブ能力による消費電力の無駄が防がれる。その後、送信バッファ７２の切替後に生じた送信エラーの発生回数をカウントする（ステップ♯２５）。更に、送信バッファ７２の切替後、コントローラ８は、第２の所定量のデータを送信したかを確認する（ステップ♯２６）。
【０１０６】
もし、第２の所定量のデータを送信していなければ（ステップ♯２６のＮｏ）、例えば、ステップ♯２５に戻る。一方、第２の所定量のデータを送信していれば（ステップ♯２６のＹｅｓ）、コントローラ８は、送信エラーの発生回数が、送信エラー許容回数以下であるかを確認する（ステップ♯２７）。もし、送信エラー許容回数が越えていれば（ステップ♯２７のＮｏ）、例えば、ステップ♯１８に進む。一方、送信エラー許容回数が越えていなければ（ステップ♯２７のＮｏ）、例えば、コントローラ８は、現在使用している送信バッファ７２がドライブ能力の最小ものであるかを確認し（ステップ♯２８）、最小でなければ（ステップ♯２８のＮｏ）、ステップ♯２４に戻る。一方、最小であれば（ステップ♯２８のＹｅｓ）、コントローラ８は、ドライブ能力が最小の送信バッファ７２を以後使用する送信バッファ７２と定める（ステップ♯２９）。
【０１０７】
尚、ステップ♯２１において、送信エラーの発生回数が送信エラー許容回数を越えない送信バッファ７２が現れた場合（ステップ♯２１のＮｏ）、現在使用している送信バッファを以後使用するとコントローラ８は定める（ステップ♯３０）。
【０１０８】
このようにして、本実施形態の構成によれば、それぞれ、信号がＨｉｇｈかＬｏｗかを判断する閾値がそれぞれ異なる受信バッファ７１が複数設けられる。そして、第１の所定量のデータの受信で生じた受信エラーの回数が、受信エラー許容回数を越える場合、用いる受信バッファ７１が切り替えられる。即ち、用いられたケーブルＣの減衰率が大きい場合など、差動信号でのアイパターンが崩れ、使用している受信バッファで受信エラーが多く発生している場合、受信バッファ７１が切り替えられる。従って、データの喪失やデータ化け等の受信エラーの発生を減らせる場合がある。又、受信エラーが頻繁に起きることに伴うデータ再受信による実質的なデータ通信速度の低下を防げる場合がある。
【０１０９】
又、受信エラーの発生回数が受信エラー許容回数を越える場合、受信バッファ７１が順番に切り替えられる。従って、最終的に、受信エラーの発生回数が受信エラー許容回数以下となる受信バッファ７１が探し当てられる。又、最終的に、第１の所定量のデータの受信で生ずる受信エラーの発生回数が受信エラー許容回数以下となる受信バッファ７１が選択される。これにより、受信エラーの発生率を一定以下に留めることができる。又、相手方からのデータの再受信の回数を少なくすることができる。従って、データの受信速度の低下を防ぐことができる。更に、この構成によれば、全ての受信バッファ７１について、受信エラーの発生回数が受信エラー許容回数を越える場合、最も受信エラーの発生が少ない受信バッファ７１が選択される。これにより、減衰が大きい等のケーブルＣが用いられても、データの受信速度の低下を最小限に留めることができる。
【０１１０】
又、例えば、相手方からのデータの再送信要求など、通信相手方からの送信エラーが発生した旨の通知の回数が確認される。そして、送信エラーの発生回数が予め定められた送信エラー許容回数を越えれば、用いる送信バッファ７２が切り替えられる。この時、用いている（選択している）送信バッファ７２よりも出力電流が大きい（ドライブ能力が大きい）送信バッファ７２に切り替えられる。これにより、送信バッファ７２のドライブ能力が強化され、データの喪失等の送信エラーの発生が減る。又、送信エラーのあったデータの再送信による実質的なデータ通信速度の低下をなくすことができる。
【０１１１】
又、出力電流を大きくしてドライブ能力を大きくすれば、その分だけ、消費電力は大きくなる。一方で、ドライブ能力の小さい送信バッファ７２に切り替えても、送信エラーの発生回数が送信エラー許容回数以下となる場合がある。そこで、本発明では、送信エラーの発生回数が送信エラー許容回数よりも少なければ、現在用いている（選択している）送信バッファ７２よりも出力電流が小さい送信バッファ７２への切り替えが行われる。これにより、無駄な電力の消費を無くすことができる。
【０１１２】
又、データ通信速度の低下を勘案しタイムアウトエラーが生じた場合、順番をとばしてドライブ能力が大きな送信バッファ７２の選択がなされる。これにより、タイムアウトエラーが生ずるほどケーブルＣでの信号の減衰等が激しくても、１段階ずつドライブ能力を上げる場合に比べ、送信バッファ７２のドライブ能力を速やかに高めることができる。従って、タイムアウトエラーのような重度のエラーが発生し難くなる。又、画像形成装置（例えば、プリンタ１００）が上述のデータ通信装置１を備えるので、例えば、データ量が大きい画像データでも、画像データでのエラーの発生と通信速度の低下を押さえつつＰＣ２００等の相手方の装置と通信を行うことができる。
【０１１３】
（第２の実施形態）
次に、図９に基づき、本発明の第２の実施形態に係る送信バッファ７２の選択制御の一例を説明する。図９は、本発明の第２の実施形態に係る送信バッファ７２の選択制御の一例を示すフローチャートである。
【０１１４】
第１の実施形態では、複数ある送信バッファ７２のうち、最初に中位のドライブ能力を有する送信バッファ７２を最初に選択し、基本的に、第２の所定量のデータの送信で送信エラー許容回数を下回る送信バッファ７２を選択した。しかし、本実施形態では、ドライブ能力が最も小さい送信バッファ７２を最初に選択する点で異なる。尚、プリンタ１００やデータ通信装置１の構成や受信バッファ７１の選択制御等の点では、第１の実施形態と第２の実施形態は共通するものでよい。そこで、本実施形態の説明では、第１の実施形態と異なる部分のみを説明し、共通する部分については、説明、図示を省略する。
【０１１５】
まず、主電源投入後等、本実施形態の送信バッファ７２の選択制御が開始されると、コントローラ８は、複数の送信バッファ７２のうち、ドライブ能力が最も小さい送信バッファ７２を選択する指示を第２切替部７４に出す。その結果、最もドライブ能力が低い（出力可能な電流値が小さい）送信バッファ７２から、データの送信が開始される（ステップ♯３１）。尚、ステップ♯３２、ステップ♯３３は、第１の実施形態（図８）のステップ♯１２、ステップ♯１３と同じであるので説明を省略する。
【０１１６】
次に、第２の所定量のデータを受信していれば（ステップ♯３３のＹｅｓ）、コントローラ８は、送信エラーの発生回数が、送信エラー許容回数を越えるかを確認する（ステップ♯３４）。送信エラー許容回数も、第１の実施形態と同様適宜決定できる。
【０１１７】
もし、送信エラー許容回数を越えれば（ステップ♯３４のＹｅｓ）、コントローラ８は、現在使用している送信バッファ７２は、ドライブ能力が最も大きいものであるかを確認する（ステップ♯３５）。もし、ドライブ能力が最大であれば（ステップ♯３５のＹｅｓ）、これ以上、ドライブ能力大きくして送信エラーを減らすことはできないので、コントローラ８は、ドライブ能力が最大の送信バッファ７２を以後使用する送信バッファ７２と定める（ステップ♯３６）。
【０１１８】
一方、ドライブ能力が最大でなければ（ステップ♯３５のＮｏ）、コントローラ８は、タイムアウトエラーが発生していたかを確認する（ステップ♯３７）。尚、ステップ♯３７〜ステップ♯４０は、第１の実施形態（図８）のステップ♯１５〜１８と同様であるので、説明を省略する。尚、ステップ♯３９の後、例えば、ステップ♯３２に戻ればよい。即ち、主電源投入後、最初に最も出力電流が小さい送信バッファ７２からデータの送信が開始され、コントローラ８は、送信エラーの発生回数が送信エラー許容回数以下となるまで、第２の所定量分のデータを送信するごとに、第２切替部７４に、現在選択している送信バッファ７２よりも出力電流が大きい送信バッファ７２に切り替えさせる。
【０１１９】
そして、送信エラーの発生回数が、送信エラー許容回数を越えない送信バッファ７２が現れれば（ステップ♯３４のＮｏ）、現在使用している送信バッファ７２を以後使用するとコントローラ８は定める（ステップ♯４１）。これにより、送信エラー発生回数が送信エラー許容回数以下に抑えられる送信バッファ７２のうちで最もドライブ能力が小さく、消費電力の少ない送信バッファ７２を用いてデータの送信が行われる。
【０１２０】
このようにして、本実施形態の構成によれば、第１の実施形態で得られた効果、作用の他、最初に最もドライブ能力が小さい送信バッファ７２が選択され、送信エラーの発生回数が送信エラー許容回数よりも少なくなるまで、ドライブ能力が大きい送信バッファ７２への切替が行われる。これにより、送信エラーの発生回数を一定以下に留めることができる送信バッファ７２のうち、最も消費電力が小さい送信バッファ７２が選択される。従って、必要以上に大きなドライブ能力を有する送信バッファ７２が選択されず、無駄な電力の消費を無くすことができる。
【０１２１】
（第３の実施形態）
次に、図１０に基づき、本発明の第３の実施形態に係る送信バッファ７２の選択制御の一例を説明する。図１０は、本発明の第３の実施形態に係る送信バッファ７２の選択制御の一例を示すフローチャートである。
【０１２２】
第１の実施形態では、複数ある送信バッファ７２のうち、最初に中位のドライブ能力を有する送信バッファ７２を最初に選択した。第２の実施形態では、最初に最もドライブ能力が小さい送信バッファ７２を最初に選択した。しかし、本実施形態では、ドライブ能力が最も高い送信バッファ７２を最初に選択する点で異なる。尚、プリンタ１００やデータ通信装置１の構成や受信バッファ７１の選択制御等の点では、第１、第２の実施形態と共通するものでよい。そこで、本実施形態の説明では、第１、第２の実施形態と異なる部分のみを説明し、第１の実施形態と共通する部分については、説明、図示を省略する。
【０１２３】
まず、主電源投入後等、本実施形態の送信バッファ７２の選択制御が開始されると、コントローラ８は、複数の送信バッファ７２のうち、ドライブ能力が最も大きい送信バッファ７２を選択する指示を第２切替部７４に出す。その結果、最もドライブ能力が大きい（出力可能な電流値が最も大きい）送信バッファ７２から、データの送信が開始される（ステップ♯５１）。尚、ステップ♯５２、ステップ♯５３は、第１の実施形態（図８）のステップ♯１２、ステップ♯１３と同じであるので説明を省略する。
【０１２４】
次に、第２の所定量のデータを送信していれば（ステップ♯５３のＹｅｓ）、コントローラ８は、送信エラーの発生回数が、送信エラー許容回数以下であるかを確認する（ステップ♯５４）。送信エラー許容回数も、第１、第２の実施形態と同様適宜決定できる。
【０１２５】
もし、送信エラー許容回数以下であれば（ステップ♯５４のＹｅｓ）、コントローラ８は、現在使用している送信バッファ７２は、ドライブ能力が最も小さいものかを確認する（ステップ♯５５）。もし、ドライブ能力が最小であれば（ステップ♯５５のＹｅｓ）、これ以上、ドライブ能力を小さくできないので、コントローラ８は、ドライブ能力が最小の送信バッファ７２を以後使用する送信バッファ７２と定める（ステップ♯５６）。
【０１２６】
一方、ドライブ能力が最小で無ければ（ステップ♯５５のＮｏ）、コントローラ８は、１段階ドライブ能力が小さい送信バッファ７２への切替を第２切替部７４に指示する（ステップ♯５７）。そして、送信バッファ７２の切替が行われる（ステップ♯５８）。その後、例えば、ステップ♯５２に戻る。即ち、主電源投入後、最初に最も出力電流が大きい送信バッファ７２からデータの送信が開始され、コントローラ８は、送信エラーの発生回数が送信エラー許容回数以下であれば、第２の所定量分のデータを送信するごとに、第２切替部７４に、現在選択している送信バッファ７２よりも出力電流が小さい送信バッファ７２に切り替えさせる。
【０１２７】
そして、ステップ♯５４において、送信エラーの発生回数が送信エラー許容回数を越えれば（ステップ♯５４のＮｏ）、ドライブ能力を小さくしすぎたと判断できるので、コントローラ８は、現在使用している送信バッファ７２よりも１段階ドライブ能力が大きい送信バッファ７２を以後使用すると決定する（ステップ♯５９）。これにより、送信エラー発生回数が送信エラー許容回数以下に抑えられる送信バッファ７２のうちで最もドライブ能力が小さく、消費電力の少ない送信バッファ７２を用いてデータの送信が行われる。
【０１２８】
尚、ステップ♯５９では、最もドライブ能力が大きい送信バッファ７２を使用しても送信エラーの発生回数が送信エラー許容回数を越える場合、ドライブ能力を大きくできない。このような場合、例えば、ドライブ能力が最大の送信バッファ７２を使用し続けると決定する（ステップ♯５９）。
【０１２９】
このようにして、本実施形態の構成によれば、第１の実施形態で得られた効果、作用の他、最初に最もドライブ能力が大きい送信バッファ７２が選択され、送信エラーの発生回数が送信エラー許容回数以下であれば、ドライブ能力が小さい送信バッファ７２への切替が行われる。これにより、送信エラーの発生回数を一定以下に留めることができる送信バッファ７２のうち、最も消費電力が小さい送信バッファ７２が選択される。従って、必要以上に大きなドライブ能力を有する送信バッファ７２が選択されず、無駄な電力の消費を無くすことができる。
【０１３０】
（第４の実施形態）
次に、図１１に基づき、本発明の第４の実施形態に係るデータ通信システム３００の一例を説明する。図１１は、本発明の第４の実施形態に係るデータ通信システム３００の一例を示すブロック図である。
【０１３１】
第１〜第３の実施形態では、画像形成装置としてのプリンタ１００に本発明に係るデータ通信装置１が搭載され、所定量のデータの送受信を行う際に、エラー発生回数が許容回数を下回るように、受信バッファ７１と送信バッファ７２が選択される例を示した。そして、本実施形態では第１〜第３の実施形態のデータ通信装置１が、例えば、プリンタ１００とＰＣ２００の双方に搭載される。言い換えると、本発明に係るデータ通信装置１を互いに接続して構成されるデータ通信システム３００である。
【０１３２】
図１１に示すように、第１〜第３の実施形態に示したデータ通信装置１がプリンタ１００側にもＰＣ２００側にも設けられる。そして、プリンタ１００側のトランシーバ８だけでなく、ＰＣ２００側にも第１〜第３の実施形態で示したコントローラ８や、エラーカウント部８１や、ＨｉｇｈやＬｏｗと判断する閾値がそれぞれ異なる複数の受信バッファ７１と、ドライブ能力がそれぞれ異なる複数の送信バッファ７２を有するトランシーバ８が搭載される。
【０１３３】
又、プリンタ１００側だけでなく、ＰＣ２００側のトランシーバ８にも第１切替部７３と第２切替部７４が設けられる。そして、第１の実施形態で示した方法により、ＰＣ２００側のトランシーバ８内に設けられる複数の受信バッファ７１のうち、使用する受信バッファ７１が選択される。又、第１〜第３の実施形態のいずれかで示した方法により、ＰＣ２００側のトランシーバ８内に設けられる複数の送信バッファ７２のうち、使用する送信バッファ７２が選択される。
【０１３４】
このようにして、本実施形態の構成によれば、第１の実施形態で得られた効果、作用の他、通信システムでのインターフェイスに上述のデータ通信装置１が用いられるので、データ通信装置１間の通信エラーの発生が一定以下に抑えられる。又、データの再送信、再受信を要する通信エラーの発生が押さえられるので、データ通信速度の低下がない。
【０１３５】
以下、別実施形態について説明する。上述の実施形態では、ＵＳＢ規格に準拠した機器間のデータ通信の例を説明した。しかし、イーサネット（登録商標）等の他の規格によるものなど、差動信号でデータを送受信するデータ通信装置１に本発明を適用することができる。
【０１３６】
又、上述の実施形態では、プリンタ１００とＰＣ２００のようにそれぞれ独立した機器間のデータ通信を説明した。しかし、プリンタ１００や複写機、複合機等の本体と、本体に接続される給紙カセット等のオプション装置間でのデータ通信に本発明を適用することができる。
【０１３７】
又、本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【０１３８】
本発明は、プリンタ、複合機、複写機、ファクシミリ装置等の画像形成装置やＰＣに設けられ、ケーブルを用いて通信を行うデータ通信装置に利用可能である。又、例えば、一対のデータ通信装置からなるデータ通信システムにも利用可能である。
【符号の説明】
【０１３９】
１    データ通信装置
７１（７１Ａ、７１Ｂ、７１ｎ）  受信バッファ
７２（７２Ａ、７２Ｂ、７２Ｃ、７２ｎ）  送信バッファ
７３  第１切替部                    ７４  第２切替部
８    コントローラ                  １００  プリンタ（画像形成装置）
３００  データ通信システム          Ｃ  ケーブル
Ｃ１  コネクタ（接続部）            Ｄ＋  信号線（差動信号線）
Ｄ−  信号線（差動信号線）          Ｐ＋、Ｐ−  入出力端子
【図１】
2011030144.tif 000003
【図２】
2011030144.tif 000004
【図３】
2011030144.tif 000005
【図４】
2011030144.tif 000006
【図５】
2011030144.tif 000007
【図６】
2011030144.tif 000008
【図７】
2011030144.tif 000009
【図８】
2011030144.tif 000010
【図９】
2011030144.tif 000011
【図１０】
2011030144.tif 000012
【図１１】
2011030144.tif 000013