(57)【特許請求の範囲】
【請求項１】
送信装置が送信したデータ信号及びクロック信号を受信する受信装置であって、
ノイズ除去期間を設定するための設定値を保持する保持回路と、
前記クロック信号に同期して前記データ信号を前記送信装置から受信し、前記設定値に従って、前記データ信号に含まれる前記ノイズ除去期間以下の時間幅のノイズを除去する除去回路と、
を備え、
前記除去回路は、前記データ信号から前記ノイズ除去期間以下の時間幅の前記ノイズを除去した出力信号を生成し、前記出力信号を前記送信装置に送信し、
前記送信装置は、前記受信装置に送信した前記データ信号と前記除去回路から受信した前記出力信号とを比較して、前記データ信号と前記出力信号との示す内容が一致しない場合、通信エラーの発生を検出し、
前記通信エラーが発生するたびに前記ノイズ除去期間が長くなるように前記設定値を書き換える書換回路をさらに備え、
前記ノイズ除去期間には、前記クロック信号の周波数に対応して上限が設けられ、
前記クロック信号の周波数は、前記上限のノイズ除去期間が設定された後に前記通信エラーが発生したことに応じて、前記通信エラーの発生前よりも低い値に変更される、受信装置。
【請求項２】
前記書換回路は、前記上限のノイズ除去期間が設定された後に前記通信エラーが発生したことに応じて、前記設定値を書き換える、請求項１に記載の受信装置。
【請求項３】
送信装置が送信したデータ信号及びクロック信号を受信する受信装置であって、
ノイズ除去期間を設定するための設定値を保持する保持回路と、
前記クロック信号に同期して前記データ信号を前記送信装置から受信し、前記設定値に従って、前記データ信号に含まれる前記ノイズ除去期間以下の時間幅のノイズを除去する除去回路と、
を備え、
前記除去回路は、前記データ信号から前記ノイズ除去期間以下の時間幅の前記ノイズを除去した出力信号を生成し、前記出力信号を前記送信装置に送信し、
前記送信装置は、前記受信装置に送信した前記データ信号と前記除去回路から受信した前記出力信号とを比較して、前記データ信号と前記出力信号との示す内容が一致しない場合、通信エラーの発生を検出し、
前記通信エラーが発生するたびに前記ノイズ除去期間が長くなるように前記設定値を書き換える書換回路をさらに備え、
前記データ信号は第１レベルの信号と第２レベルの信号とを含み、
前記除去回路は、前記設定値に対応する期間における前記第１レベルの信号の数を計数し、計数結果に対応する出力信号を生成する、受信装置。
【請求項４】
前記除去回路は、前記設定値に対応する期間において、前記第１レベルの信号の数が前記第２レベルの信号の数より大きくなったことに応じて、前記第１レベルに対応するレベルの前記出力信号を生成する、請求項３に記載の受信装置。
【請求項５】
送信装置が、データ信号及びクロック信号を送信するステップと、
受信装置が、前記クロック信号に同期して前記データ信号を前記送信装置から受信するステップと、
前記受信装置が、ノイズ除去期間を設定するための設定値を保持するステップと、
前記受信装置が、前記設定値に従って、前記送信装置から前記受信したデータ信号に含まれる前記ノイズ除去期間以下の時間幅のノイズを除去するステップと、
前記受信装置が、前記データ信号から前記ノイズ除去期間以下の時間幅の前記ノイズを除去した出力信号を前記送信装置に送信するステップと、
前記送信装置が、前記受信装置に送信した前記データ信号と前記受信装置から受信した前記出力信号とを比較し、前記データ信号と前記出力信号との示す内容が一致しない場合、通信エラーの発生を検出するステップと、
前記通信エラーが発生するたびに、前記受信装置が、前記ノイズ除去期間が長くなるように前記設定値を書き換えるステップと
を含み、
前記ノイズ除去期間には、前記クロック信号の周波数に対応して上限が設けられ、
前記上限のノイズ除去期間が設定された後に通信エラーが発生したことに応じて、前記クロック信号の周波数を前記通信エラーの発生前よりも低い値に変更するステップをさらに含む、ノイズ除去方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ信号に含まれるノイズを除去するノイズ除去装置、通信装置、及びノイズ除去方法に関する。
【背景技術】
【０００２】
特許文献１に開示されたノイズ除去回路は、複数段のシフトレジスターと、一致回路と、複数段のシフトレジスターに対応して設けられた複数のスイッチとを備える。複数段のシフトレジスターは入力信号を順次シフトする。一致回路は、複数段のシフトレジスターの出力信号のレベルがすべて一致したときのみ一致信号を出力する。一致信号は、入力信号からノイズが除去された信号である。
【０００３】
スイッチは、シフトレジスターの段数、つまり、ノイズ除去期間を可変にするために設けられる。スイッチは、トリガー又はレジスターによって切り替えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１２０１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１は、スイッチの切り換えによるノイズ除去期間の具体的な制御を開示していない。従って、通信環境によっては適切にノイズ除去期間を設定できない場合もある。
【０００６】
本発明は上記課題に鑑みてなされたものであり、その目的は、通信環境に応じて適切なノイズ除去期間を自動的に設定できるノイズ除去装置、通信装置、及びノイズ除去方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の観点によれば、ノイズ除去装置は、保持回路と、除去回路と、書換回路とを備える。保持回路は、ノイズ除去期間を設定するための設定値を保持する。除去回路は、クロック信号に同期してデータ信号を受信し、前記設定値に従って、前記データ信号に含まれる前記ノイズ除去期間以下の時間幅のノイズを除去する。書換回路は、通信エラーが発生するたびに前記ノイズ除去期間が長くなるように前記設定値を書き換える。
【０００８】
本発明の第２の観点によれば、通信装置は、送信装置と、受信装置とを備える。受信装置は、前記送信装置からデータ信号及びクロック信号を受信する。前記受信装置は、保持回路と、除去回路と、書換回路とを備える。保持回路は、ノイズ除去期間を設定するための設定値を保持する。除去回路は、前記クロック信号に同期して前記データ信号を受信し、前記設定値に従って、前記データ信号に含まれる前記ノイズ除去期間以下の時間幅のノイズを除去する。書換回路は、通信エラーが発生するたびに前記ノイズ除去期間が長くなるように前記設定値を書き換える。前記ノイズ除去期間には、前記クロック信号の周波数に対応して上限が設けられる。前記送信装置は、前記上限のノイズ除去期間が設定された後に通信エラーが発生したことに応じて、前記クロック信号の前記周波数を前記通信エラーの発生前よりも低い値に変更する。
【０００９】
本発明の第３の観点によれば、ノイズ除去方法は、ノイズ除去期間を設定するための設定値を保持するステップと、クロック信号に同期してデータ信号を受信するステップと、前記設定値に従って、前記受信したデータ信号に含まれる前記ノイズ除去期間以下の時間幅のノイズを除去するステップと、通信エラーが発生するたびに前記ノイズ除去期間が長くなるように前記設定値を書き換えるステップとを含む。
【発明の効果】
【００１０】
本発明によれば、通信エラーが発生するたびにノイズ除去期間が長くなるように設定値が書き換えられる。従って、通信が正常に行われるまでノイズ除去期間が変更される。その結果、通信環境に応じて適切なノイズ除去期間を自動的に設定できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係るノイズ除去回路を示すブロック図である。
【図２】図１に示す除去回路の回路構成を示す図である。
【図３】図２に示す判定回路の多数決動作を示すタイムチャートである。
【図４】図２に示す判定回路の多数決動作を説明する図である。
【図５】本発明の実施形態２に係る通信装置のブロック図である。
【図６】本発明の実施形態３に係るノイズ除去方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付して説明を繰り返さない。
【００１３】
（実施形態１）
［基本原理］
図１を参照して、本発明の実施形態１におけるノイズ除去回路１について説明する。ノイズ除去回路１は、除去回路３と、レジスター５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）インターフェイス７とを備える。ノイズ除去回路１はノイズ除去装置として機能する。レジスター５は保持回路として機能する。ＣＰＵインターフェイス７は書換回路として機能する。
【００１４】
レジスター５は、ノイズ除去期間を設定するための設定値（以下、「設定値Ｐ」と記載する。）を保持する。除去回路３は、クロック信号ＣＬＫに同期してデータ信号ＩＮを受信する。除去回路３は、設定値Ｐに従って、データ信号ＩＮに含まれるノイズ除去期間以下の時間幅のノイズを除去する。ＣＰＵインターフェイス７は、通信エラーが発生するたびにノイズ除去期間が長くなるように設定値Ｐを書き換える。
【００１５】
本実施形態１によれば、通信エラーが発生するたびにノイズ除去期間が長くなるように設定値Ｐが書き換えられる。従って、通信が正常に行われるまでノイズ除去期間が変更される。その結果、通信環境に応じて適切なノイズ除去期間を自動的に設定できる。
【００１６】
［ノイズ除去回路１の回路構成］
図１及び図２を参照して、ノイズ除去回路１の回路構成を例示する。図２は、ノイズ除去回路１に含まれる除去回路３の回路構成を示す図である。除去回路３は出力信号ＯＵＴを生成する。出力信号ＯＵＴは、データ信号ＩＮからノイズ除去期間以下の時間幅のノイズが除去された信号である。
【００１７】
除去回路３は、シフトレジスター９、選択回路１１、及び判定回路１３を含む。シフトレジスター９は、Ｎ段（Ｎは２以上の整数）のフリップフロップＦＦ（１）〜フリップフロップＦＦ（Ｎ）（以下、用語「フリップフロップ」の記載を省略し参照符号「ＦＦ（１）〜ＦＦ（Ｎ）」のみを記載する。）を含む。ＦＦ（１）〜ＦＦ（Ｎ）は直列に接続される。
【００１８】
ＦＦ（１）〜ＦＦ（Ｎ）には、ＣＰＵ（図示せず）からクロックラインＬ１を介して周期Ｔのクロック信号ＣＬＫが入力される。ＣＰＵは後述するＣＰＵ２００に相当する（図５参照）。ＦＦ（１）〜ＦＦ（Ｎ）は、所定時間（例えば、クロック信号ＣＬＫの１周期）だけ入力信号を遅延させて、それぞれ、遅延信号Ｓ（１）〜遅延信号Ｓ（Ｎ）を生成する。
【００１９】
初段のＦＦ（１）への入力信号はデータ信号ＩＮである。データ信号ＩＮは、ＣＰＵからデータラインＬ２を介して入力される。例えば、データ信号ＩＮは、Ｈ（ハイ）レベルの信号（第１レベルの信号）とＬ（ロー）レベルの信号（第２レベルの信号）とを含むシリアルデータ信号である。また、ＦＦ（２）〜ＦＦ（Ｎ）への入力信号は、それぞれ、ＦＦ（１）〜ＦＦ（Ｎ−１）が出力する遅延信号Ｓ（１）〜Ｓ（Ｎ−１）である。
【００２０】
遅延信号Ｓ（１）〜遅延信号Ｓ（Ｎ）は、選択回路１１に入力される。選択回路１１は、レジスター５に設定された設定値Ｐに従って、遅延信号Ｓ（１）〜遅延信号Ｓ（Ｎ）から２以上の遅延信号Ｓ（１）〜遅延信号Ｓ（ｎ）（ｎは２以上Ｎ以下の整数）を選択し、遅延信号Ｓ（１）〜遅延信号Ｓ（ｎ）を遅延信号ｓ（１）〜遅延信号ｓ（ｎ）として判定回路１３に出力する。選択数ｎが大きいほどノイズ除去期間が長くなり、選択数ｎが小さいほどノイズ除去期間が短くなる。ノイズ除去期間の詳細は後述する。
【００２１】
判定回路１３は、設定値Ｐに対応する期間（例えば、選択数ｎ×周期Ｔ）におけるデータ信号ＩＮに含まれるＨレベルの信号の数を計数し、計数結果に対応する出力信号ＯＵＴを生成する。その結果、簡易な回路構成によってノイズが除去された出力信号ＯＵＴを生成できる。
【００２２】
例えば、判定回路１３は、設定値Ｐに対応する期間において、データ信号ＩＮに含まれるＨレベルの信号の数がＬレベルの信号の数より大きくなったことに応じて、Ｈレベルに対応するレベルの出力信号ＯＵＴを生成する（多数決処理）。又は、例えば、判定回路１３は、設定値Ｐに対応する期間において、所定数（例えば、選択数ｎ）のＨレベルの信号がデータ信号ＩＮに連続して含まれることが検出されたことに応じて、Ｈレベルに対応するレベルの出力信号ＯＵＴを生成する（一致判定処理）。
【００２３】
具体的には次の通りである。判定回路１３は、遅延信号ｓ（１）〜遅延信号ｓ（ｎ）に基づいて、ノイズ除去期間以下の時間幅のノイズが除去された出力信号ＯＵＴを生成する。本実施形態１では、判定回路１３の例として、多数決回路及び一致回路を説明する。判定回路１３が多数決回路である場合の出力信号ＯＵＴを出力信号ＯＵＴＭと記載する。判定回路１３が一致回路である場合の出力信号ＯＵＴを出力信号ＯＵＴＳと記載する。
【００２４】
多数決回路としての判定回路１３は、クロック信号ＣＬＫの立ち上がりエッジで遅延信号ｓ（１）〜遅延信号ｓ（ｎ）のＨレベルの数Ｎｈ及びＬレベルの数Ｎｌ（＝ｎ−Ｎｈ）を計数する。そして、判定回路１３は、数Ｎｈがｎ／２を超えた場合に、Ｈレベルの出力信号ＯＵＴＭを出力する。なお、数Ｎｈがｎ／２を超えたことは、設定値Ｐに対応する期間において、データ信号ＩＮに含まれるＨレベルの信号の数がＬレベルの信号の数より大きくなったことに相当する。
【００２５】
一方、判定回路１３は、数Ｎｌがｎ／２を超えた場合に、Ｌレベルの出力信号ＯＵＴＭを出力する。なお、数Ｎｌがｎ／２を超えたことは、設定値Ｐに対応する期間において、データ信号ＩＮに含まれるＬレベルの信号の数がＨレベルの信号の数より大きくなったことに相当する。
【００２６】
一致回路としての判定回路１３は、クロック信号ＣＬＫの立ち上がりエッジで遅延信号ｓ（１）〜遅延信号ｓ（ｎ）の全てのレベルが一致するか否かを判定する。判定回路１３は、遅延信号ｓ（１）〜遅延信号ｓ（ｎ）の全てのレベルがＨレベルの場合に、Ｈレベルの出力信号ＯＵＴＳを出力する。なお、全てのレベルがＨレベルであることは、設定値Ｐに対応する期間において、所定数のＨレベルの信号がデータ信号ＩＮに連続して含まれることに相当する。
【００２７】
一方、判定回路１３は、遅延信号ｓ（１）〜遅延信号ｓ（ｎ）の全てのレベルがＬレベルの場合に、Ｌレベルの出力信号ＯＵＴＳを出力する。なお、全てのレベルがＬレベルであることは、設定値Ｐに対応する期間において、所定数のＬレベルの信号がデータ信号ＩＮに連続して含まれることに相当する。
【００２８】
［ノイズ除去期間の具体例］
図１及び図２を参照して、ノイズ除去期間の具体例について説明する。多数決回路としての判定回路１３は、多数決によって出力信号ＯＵＴＭのレベルを決定するため、ノイズ除去期間は、選択数ｎ及びクロック信号ＣＬＫの周期Ｔによって、（ｎ／２）×Ｔ、として記述される。ただし、選択数ｎが奇数の場合は、（ｎ／２）の小数点以下は切り捨てる。一方、一致回路としての判定回路１３は、一致判定によって出力信号ＯＵＴＳのレベルを決定するため、ノイズ除去期間は、（ｎ−１）×Ｔ、として記述される。
【００２９】
［ノイズ除去期間の変更、クロック信号ＣＬＫの周波数ｆの変更］
図１及び図２を参照して、ノイズ除去期間の変更、及びクロック信号ＣＬＫの周波数ｆ（＝１／Ｔ）の変更について説明する。ノイズ除去期間は選択数ｎによって定義されるため、本実施形態１では、設定値Ｐとして選択数ｎがレジスター５に書き込まれる。選択数ｎには下限値と上限値とが設けられる。選択数ｎの下限値は、２以上かつ上限値より小さい整数から選択できる。選択数ｎの上限値は、段数Ｎ以下かつ下限値より大きい整数から選択できる。
【００３０】
ノイズ除去期間の下限及び上限は、それぞれ、選択数ｎの下限値及び上限値によって設定される。また、ノイズ除去期間は周期Ｔ（周波数ｆ）によって定義されるため、選択数ｎが同じでも周期Ｔが異なると、ノイズ除去期間は異なる。従って、クロック信号ＣＬＫの周期Ｔ（周波数ｆ）に対応してノイズ除去期間の下限及び上限が設けられる。
【００３１】
本実施形態１では、段数Ｎ、選択数ｎの下限値、及び上限値を、それぞれ、「１６」、「２」、及び「１６」とする例を説明する。従って、設定値Ｐの初期値及び最終値を、それぞれ、下限値「２」及び上限値「１６」とする。設定値Ｐは、次のようにして、初期値から２ずつインクリメントされる。
【００３２】
通信開始時（例えば、電源投入時）では、ＣＰＵインターフェイス７は、設定値Ｐの初期値をレジスター５に書き込む。そして、ＣＰＵインターフェイス７は、イネーブル信号ＥＮに従って、レジスター５の設定値Ｐを書き換え、又は書き換えない。具体的には次の通りである。イネーブル信号ＥＮは、ＣＰＵからコントロールラインＬ３を介してＣＰＵインターフェイス７に入力される。Ｌレベルのイネーブル信号ＥＮは通信が正常に実行されたことを示す。一方、Ｈレベルのイネーブル信号ＥＮは通信エラーが発生したことを示す。
【００３３】
従って、イネーブル信号ＥＮがＬレベルの場合、適切なノイズ除去期間が設定されているため、ＣＰＵインターフェイス７は、レジスター５の設定値Ｐを書き換えない。その結果、レジスター５の設定値Ｐは維持され、適切なノイズ除去期間の下、通信が実行される。
【００３４】
一方、イネーブル信号ＥＮがＨレベルの場合、ノイズが除去されていないため、ＣＰＵインターフェイス７は、レジスター５の設定値Ｐを書き換える。具体的には、ＣＰＵインターフェイス７は、Ｈレベルのイネーブル信号ＥＮを受信した時点での設定値Ｐに「２」を加算した値によって、レジスター５が保持する設定値Ｐを更新する（Ｐ←Ｐ＋２）。その結果、更新前よりも長くなったノイズ除去期間の下、通信が実行される。
【００３５】
ＣＰＵインターフェイス７は、イネーブル信号ＥＮがＬレベルになるまで、設定値Ｐに「２」を加算することによって、レジスター５が保持している設定値Ｐを更新する。その結果、イネーブル信号ＥＮがＬレベルになるまで、ノイズ除去期間が段階的に長くなる。
【００３６】
ただし、設定値Ｐの最終値がレジスター５に書き込まれた後においても、イネーブル信号ＥＮがＨレベルの場合は、ＣＰＵインターフェイス７が設定値Ｐの初期値をレジスター５に書き込む一方、ＣＰＵはクロック信号ＣＬＫの周波数ｆを変更する。具体的には、ＣＰＵは、クロック信号ＣＬＫの周波数ｆを第１値ｆ１（例えば、１００ＭＨｚ）から第２値ｆ２（例えば、５０ＭＨｚ）に変更する（例えば、ｆ２＝ｆ１／２）。第２値ｆ２は第１値ｆ１より低い周波数を示す。
【００３７】
周波数ｆが第１値ｆ１のときと第２値ｆ２のときとで設定値Ｐが同じであっても、周波数ｆが第２値ｆ２に変更されると、ノイズ除去期間は、周波数ｆが第１値ｆ１に設定されているときよりも長くなる。その結果、周波数ｆの変更後、長くなったノイズ除去期間の下、通信が実行される。
【００３８】
また、ＣＰＵインターフェイス７は、周波数ｆが変更される前と同様に、イネーブル信号ＥＮがＬレベルになるまで、設定値Ｐに「２」を加算することによって、レジスター５が保持する設定値Ｐを更新する。その結果、周波数ｆの変更後においても、イネーブル信号ＥＮがＬレベルになるまで、ノイズ除去期間が段階的に長くなる。ただし、各段階でのノイズ除去期間は、周波数ｆの変更前の各段階でのノイズ除去期間よりも長い。従って、周波数ｆの変更前よりも長いノイズ除去期間の下で、通信が実行され、適切なノイズ除去期間が設定される。
【００３９】
［多数決回路の動作］
図１〜図４を参照して、多数決回路としての判定回路１３の動作について説明する。図３は、判定回路１３の多数決動作を示すタイムチャートである。図４は、判定回路１３の多数決動作を説明する図である。図３及び図４では、段数Ｎを「１６」とし、設定値Ｐ（選択数ｎ）を「８」とした例を示している。従って、ノイズ除去期間は、４Ｔ（＝（ｎ／２）×Ｔ）、である。
【００４０】
図３には、クロック信号ＣＬＫの立ち上がりエッジ、オリジナルデータＤ、データ信号ＩＮ、遅延信号ｓ（１）〜遅延信号ｓ（８）、出力信号ＯＵＴＭ、及び出力信号ＯＵＴＳが示される。なお、多数決回路の説明においては、出力信号ＯＵＴＳは無視する。出力信号ＯＵＴＳは、後述する一致回路としての判定回路１３の出力信号ＯＵＴだからである。
【００４１】
オリジナルデータＤは、ＣＰＵからクロック信号ＣＬＫに同期して除去回路３に送信される。ただし、ＣＰＵ、データラインＬ２、及び除去回路３が配置された環境に応じて、オリジナルデータＤにはノイズＺ０〜ノイズＺ３が重畳する。従って、ノイズＺ０〜ノイズＺ３が重畳したオリジナルデータＤ、つまり、データ信号ＩＮが除去回路３に入力される。
【００４２】
データ信号ＩＮは、シフトレジスター９によって順次遅延される。その結果、遅延信号Ｓ（１）〜遅延信号Ｓ（１６）が生成される。ＦＦ（１）〜ＦＦ（１６）の１個当たりの遅延時間はクロック信号ＣＬＫの周期Ｔと同一時間である。選択回路１１は、設定値Ｐに従って、遅延信号Ｓ（１）〜遅延信号Ｓ（１６）から遅延信号Ｓ（１）〜遅延信号Ｓ（８）を選択し、遅延信号ｓ（１）〜遅延信号ｓ（８）として出力する。
【００４３】
図３及び図４に示すように、第６サイクルの遅延信号ｓ（１）〜遅延信号ｓ（８）において、Ｈレベルの数が「５」（＞ｎ／２）になる。従って、次の第７サイクルにおいて、判定回路１３は、Ｈレベルの出力信号ＯＵＴＭを生成する。判定回路１３は、Ｌレベルの数が「５」（＞ｎ／２）になるまで、Ｈレベルの出力信号ＯＵＴＭを生成する。
【００４４】
第１５サイクルの遅延信号ｓ（１）〜遅延信号ｓ（８）において、Ｌレベルの数が「５」になる。従って、次の第１６サイクルにおいて、判定回路１３は、Ｌレベルの出力信号ＯＵＴＭを生成する。判定回路１３は、Ｈレベルの数が「５」になるまで、Ｌレベルの出力信号ＯＵＴＭを生成する。その結果、ノイズＺ０が除去される。
【００４５】
第２３サイクルの遅延信号ｓ（１）〜遅延信号ｓ（８）において、Ｈレベルの数が「５」になる。従って、次の第２４サイクルにおいて、判定回路１３は、Ｈレベルの出力信号ＯＵＴＭを生成する。判定回路１３は、Ｌレベルの数が「５」になるまで、Ｈレベルの出力信号ＯＵＴＭを生成する。その結果、ノイズＺ１が除去される。
【００４６】
以降、同様にして、判定回路１３は、データ信号ＩＮからノイズ除去期間以下の時間幅のノイズを除去して、オリジナルデータＤに対応する出力信号ＯＵＴＭを生成する。
【００４７】
［一致回路の動作］
図１〜図３を参照して、一致回路としての判定回路１３の動作について説明する。段数Ｎを「１６」とし、設定値Ｐ（選択数ｎ）を「５」とする例を説明する。従って、一致回路の説明においては、図３において、遅延信号ｓ（６）〜遅延信号ｓ（８）は無視される。ノイズ除去期間は、４Ｔ（＝（ｎ−１）×Ｔ）、である。
【００４８】
図３に示すように、第６サイクルにおいて、全ての遅延信号ｓ（１）〜遅延信号ｓ（５）のレベルがＨレベルになる。従って、次の第７サイクルにおいて、判定回路１３は、Ｈレベルの出力信号ＯＵＴＳを生成する。判定回路１３は、全ての遅延信号ｓ（１）〜遅延信号ｓ（５）のレベルがＬレベルになるまで、Ｈレベルの出力信号ＯＵＴＭを生成する。
【００４９】
第１６サイクルにおいて、全ての遅延信号ｓ（１）〜遅延信号ｓ（５）のレベルがＬレベルになる。従って、次の第１７サイクルにおいて、判定回路１３は、Ｌレベルの出力信号ＯＵＴＳを生成する。判定回路１３は、全ての遅延信号ｓ（１）〜遅延信号ｓ（５）のレベルがＨレベルになるまで、Ｌレベルの出力信号ＯＵＴＭを生成する。
【００５０】
なお、一致回路としての図３の例では、第１７サイクル以降のサイクルにおいて、全ての遅延信号ｓ（１）〜遅延信号ｓ（５）のレベルがＨレベルになることはない。従って、第１７サイクル以降、ノイズも除去されるが、オリジナルデータＤに含まれるＨレベルのデータも失われる。一方、多数決回路としての判定回路１３の出力信号ＯＵＴＭでは、データが失われることなくノイズが除去されている。従って、判定回路１３として一致回路を採用するよりも多数決回路を採用するほうが好ましい。また、多数決回路では、ノイズ除去後のデータ確定位置が一致回路よりも安定する。
【００５１】
以上、図１及び図２を参照して説明したように、本実施形態１では、ＣＰＵインターフェイス７は、通信エラーが発生するたびに、設定値Ｐをインクリメントし、ノイズ除去期間を段階的に長くする。その結果、通信環境に応じて適切なノイズ除去期間を自動的に設定できる。なお、一般的には、予想外の時間幅のノイズを除去可能なように、十分長いノイズ除去期間が設定される。従って、サンプリング数が増大するため、処理速度の低下を招く。これに対して、本実施形態１では、通信環境に応じて適切なノイズ除去期間が設定されるため、サンプリング数を適切にすることができる。
【００５２】
また、本実施形態１では、ノイズ除去期間には、クロック信号ＣＬＫの周波数ｆに対応して上限が設けられる。そして、クロック信号ＣＬＫの周波数ｆは、上限のノイズ除去期間が設定された後に通信エラーが発生したことに応じて、通信エラーの発生前よりも低い値に変更される。クロック信号ＣＬＫの周波数ｆが低くなると、設定値Ｐが同じでもノイズ除去期間は長くなる。
【００５３】
つまり、ノイズ除去期間を段階的に長く設定していき、上限のノイズ除去期間でもノイズが除去できない場合に、周波数ｆを低く設定することによって、ノイズ除去期間をさらに長くする。従って、通信環境に応じて適切なノイズ除去期間及び周波数ｆを自動的に設定できる。その結果、適切な速度で通信可能となる。なお、一般的には、予想外の時間幅のノイズを除去可能なように、通信仕様を満足する範囲で十分低い周波数ｆが設定される。従って、通信環境が良好な場合でも、低い速度で通信が実行される。
【００５４】
さらに、本実施形態１では、ＣＰＵインターフェイス７は、上限のノイズ除去期間が設定された後に通信エラーが発生したことに応じて、設定値Ｐを書き換える。この場合、本実施形態１では、設定値Ｐの初期値がレジスター５に書き込まれる。従って、ＣＰＵインターフェイス７は、周波数ｆが変更された後においても、通信エラーが発生するたびに、設定値Ｐをインクリメントし、ノイズ除去期間を段階的に長くすることができる。その結果、周波数ｆが変更された後においても、通信環境に応じて適切なノイズ除去期間を自動的に設定できる。
【００５５】
（実施形態２）
図５を参照して、本発明の実施形態２における通信装置１００について説明する。図５は、通信装置１００のブロック図である。通信装置１００は、ＣＰＵ２００と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）３００とを備える。ＣＰＵ２００は送信装置として機能する。ＡＳＩＣ３００は受信装置として機能する。ＡＳＩＣ３００は、ＣＰＵ２００からデータ信号ＩＮ及びクロック信号ＣＬＫを受信する。例えば、ＣＰＵ２００とＡＳＩＣ３００との間でシリアル通信が行われる。
【００５６】
ＡＳＩＣ３００は、ノイズ除去回路１と、機能ブロック１５とを含む。ノイズ除去回路１は、除去回路３、レジスター５、及びＣＰＵインターフェイス７を含む。ノイズ除去回路１の回路構成及び動作は、図１〜図４を参照して説明した実施形態１のノイズ除去回路１の回路構成及び動作と同じであるため、説明を省略する。機能ブロック１５は、ＡＳＩＣ３００の用途に応じた機能を実現する回路である。除去回路３が生成した出力信号（ノイズ除去期間以下の時間幅のノイズが除去された信号）ＯＵＴはＣＰＵインターフェイス７を介して機能ブロック１５に入力される。
【００５７】
ＣＰＵ２００は、クロックラインＬ１を介してクロック信号ＣＬＫをＡＳＩＣ３００に供給する（送信する）。ＣＰＵ２００は、クロック信号ＣＬＫに同期して、データラインＬ２を介してデータ信号ＩＮをＡＳＩＣ３００に送信する。ＣＰＵ２００は、コントロールラインＬ３を介してイネーブル信号ＥＮをＡＳＩＣ３００に送信する。
【００５８】
ＣＰＵ２００は、上限のノイズ除去期間が設定された後に通信エラーが発生したことに応じて、クロック信号ＣＬＫの周波数ｆを通信エラーの発生前よりも低い値に変更する。
【００５９】
ＣＰＵ２００は、例えば、次のようにして、通信エラーの発生の有無を検出する。ＣＰＵ２００は、ＡＳＩＣ３００にデータ信号ＩＮを送信する。ＡＳＩＣ３００はデータ信号ＩＮを受信する。ＡＳＩＣ３００は、データラインＬ２を介してＣＰＵ２００にデータ信号ＩＮから生成した出力信号ＯＵＴを送信する。
【００６０】
ＣＰＵ２００は、送信したデータ信号ＩＮと受信した出力信号ＯＵＴとを比較する。そして、ＣＰＵ２００は、データ信号ＩＮと出力信号ＯＵＴとが示す内容が一致した場合（つまり、通信が正常に実行された場合）、イネーブル信号ＥＮをＬレベルに設定して、ＡＳＩＣ３００に送信する。一方、ＣＰＵ２００は、データ信号ＩＮと出力信号ＯＵＴとが示す内容が一致しない場合（つまり、通信エラーが発生した場合）、イネーブル信号ＥＮをＨレベルに設定して、ＡＳＩＣ３００に送信する。
【００６１】
以上、図５を参照して説明したように、本実施形態２によれば、通信装置１００は、実施形態１と同じノイズ除去回路１を備える。従って、本実施形態２では、実施形態１と同様の効果を奏する。また、ＣＰＵ２００は、通信環境（通信装置１００の設置環境）に応じてクロック信号ＣＬＫの周波数ｆを変更することにより、通信環境に応じた適切な速度で通信を実行できる。
【００６２】
（実施形態３）
図５及び図６を参照して、本発明の実施形態３におけるノイズ除去方法について説明する。図６は、ノイズ除去方法を示すフローチャートである。ノイズ除去方法は、図５を参照して説明した通信装置１００によって実行される。
【００６３】
ステップＳ１において、ＡＳＩＣ３００のＣＰＵインターフェイス７は、レジスター５にノイズ除去期間の下限を示す設定値Ｐ（選択数ｎの下限値）を書き込む。ステップＳ１は、ノイズ除去期間を設定するための設定値Ｐを保持するステップに相当する。
【００６４】
ステップＳ３において、ＣＰＵ２００はデータ信号ＩＮをＡＳＩＣ３００に送信する。そして、ＡＳＩＣ３００はデータ信号ＩＮを受信する。ステップＳ３は、クロック信号ＣＬＫに同期してデータ信号ＩＮを受信するステップに相当する。ステップＳ５において、ＡＳＩＣ３００の除去回路３は、データ信号ＩＮから設定値Ｐに対応するノイズ除去期間以下の時間幅のノイズを除去する。ステップＳ５は、設定値Ｐに従って、受信したデータ信号ＩＮに含まれるノイズ除去期間以下の時間幅のノイズを除去するステップに相当する。
【００６５】
ステップＳ７において、ＣＰＵ２００は、通信エラーが発生したか否かを判定する。ステップＳ７において肯定的判定（Ｙｅｓ）がされた場合、処理はステップＳ１１に進む。一方、ステップＳ７において否定的判定（Ｎｏ）がされた場合、処理はステップＳ９に進む。
【００６６】
ステップＳ９において、ＣＰＵ２００は、通信が完了したか否かを判定する。ステップＳ９において肯定的判定（Ｙｅｓ）がされた場合、処理は終了する。一方、ステップＳ９において否定的判定（Ｎｏ）がされた場合、処理はステップＳ３に進む。
【００６７】
ステップＳ７で肯定的判定がされた後、ステップＳ１１において、ＣＰＵインターフェイス７は、レジスター５にノイズ除去期間の上限を示す設定値Ｐ（選択数ｎの上限値）が保持されているか否かを判定する。ステップＳ１１において肯定的判定（Ｙｅｓ）がされた場合、処理はステップＳ１５に進む。一方、ステップＳ１１において否定的判定（Ｎｏ）がされた場合、処理はステップＳ１３に進む。
【００６８】
ステップＳ１３において、ＣＰＵインターフェイス７は、ノイズ除去期間が長くなるように設定値Ｐを書き換える。ステップＳ１３は、通信エラーが発生するたびにノイズ除去期間が長くなるように設定値Ｐを書き換えるステップに相当する。例えば、ＣＰＵインターフェイス７は、設定値Ｐに「２」を加算した値を新たな設定値Ｐとしてレジスター５に書き込む（Ｐ←Ｐ＋２）。その後、処理はステップＳ３に進む。
【００６９】
ステップＳ１１で肯定的判定がされた後、ステップＳ１５において、ＣＰＵ２００は、クロック信号ＣＬＫの周波数ｆを通信エラーの発生前よりも低い値に変更する。そして、処理はステップＳ１に進む。ステップＳ１５は、上限のノイズ除去期間が設定された後に通信エラーが発生したことに応じて、クロック信号ＣＬＫの周波数ｆを通信エラーの発生前よりも低い値に変更するステップに相当する。
【００７０】
以上、図５及び図６を参照して説明したように、本実施形態３によれば、通信装置１００は、実施形態１と同じノイズ除去回路１を備えることによって、ノイズ除去方法を実行する。従って、本実施形態３では、実施形態１と同様の効果を奏する。また、ＣＰＵ２００は、通信環境（通信装置１００の設置環境）に応じてクロック信号ＣＬＫの周波数ｆを変更することにより、通信環境に応じた適切な速度で通信を実行できる。
【００７１】
なお、本発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【００７２】
（１）図１に示した実施形態１に係るノイズ除去回路１、図５に示した実施形態２に係る通信装置１００、及び図６に示した実施形態３に係るノイズ除去方法は、例えば、画像形成装置（図示せず）に実装できる。画像形成装置は、例えば、複写機、プリンター、又はファクシミリである。画像形成装置は、例えば、複写機、プリンター、及びファクシミリのうちの２以上の機能を備えた複合機である。
【００７３】
（２）除去回路３の回路構成は、図２に示した回路構成に限定されない。また、図２〜図４を参照して説明した多数決処理及び一致判定処理は一例であり、他の手法により多数決処理及び一致判定処理を実現することもできる。
【産業上の利用可能性】
【００７４】
本発明は、様々な環境に設置される可能性があり、データ信号に重畳されるノイズの時間幅を予測できない装置（例えば、画像形成装置）の分野に利用可能である。
【符号の説明】
【００７５】
１    ノイズ除去回路
３    除去回路
５    レジスター
７    ＣＰＵインターフェイス
１００    通信装置
２００    ＣＰＵ
３００    ＡＳＩＣ
【図１】
0006037979.tif 000002
【図２】
0006037979.tif 000003
【図３】
0006037979.tif 000004
【図４】
0006037979.tif 000005
【図５】
0006037979.tif 000006
【図６】
0006037979.tif 000007