(57)【要約】【課題】マスタ制御部とスレーブ制御部との間のシリアル通信の品質が仕様に適合しているか否かが容易に判定できる画像形成装置などを提供する。【解決手段】画像形成装置のマスタ制御部１０は、シリアル通信回線３０で接続されるスレーブ制御部に対して、ＣＰ設定部１０７にて設定されるカウントパターンＣＰを含む通信監視データをスレーブ制御部に送信し、スレーブ制御部においてカウントパターンＣＰに基づいて出力されたアナログ信号が変換されたデジタル信号を受信する。そして、マスタ制御部１０は、通信品質判定部１０９にて、カウントパターンＣＰに基づいて算出される予測タップ位置ＤＰＴｅと、スレーブ制御部から受信したデジタル信号から検出した検出タップ位置ＤＰＴｄと、から、シリアル通信の品質を判定する。【選択図】図６
2017040984.tif 000002
【特許請求の範囲】
【請求項１】
画像を形成する画像形成部と、
前記画像形成部における画像の形成を制御するマスタ部とスレーブ部とを含む制御部と、
前記制御部の前記マスタ部と前記スレーブ部との間を接続し、シリアル通信を行うシリアル通信回線と、を備え、
前記制御部の前記マスタ部は、
前記スレーブ部に対して、第１のデジタル信号を送信する信号送信手段と、
前記スレーブ部から、第２のデジタル信号を受信する信号受信手段と、
送信した前記第１のデジタル信号と受信した前記第２のデジタル信号とにより、前記シリアル通信の通信品質を判定する通信品質判定手段と、を有し、
前記制御部の前記スレーブ部は、
前記第１のデジタル信号に基づいてアナログ信号を出力するアナログ信号出力手段と、
前記アナログ信号を変換して前記第２のデジタル信号に変換する変換手段と、を有する
ことを特徴とする画像形成装置。
【請求項２】
シリアル通信回線で接続される装置に対して、第１のデジタル信号を送信する信号送信手段と、
前記装置において前記第１のデジタル信号に基づいて出力されたアナログ信号から変換された第２のデジタル信号を受信する信号受信手段と、
送信した前記第１のデジタル信号と受信した前記第２のデジタル信号とにより、シリアル通信の通信品質を判定する通信品質判定手段と
を備えた通信制御装置。
【請求項３】
複数の信号パターンから一つの信号パターンを選定する順序を設定する順序設定手段を備え、
前記信号送信手段が送信する前記第１のデジタル信号は、前記順序設定手段によって設定された順序で前記複数の信号パターンから選定された信号パターンにより設定される
ことを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記装置から出力されるアナログ信号を予測し、当該装置の制約条件に適合するか否かを判断する判断手段を備え、
前記信号送信手段が送信する前記第１のデジタル信号は、前記判断手段によって、前記装置に適合すると判断されている
ことを特徴とする請求項２又は３に記載の通信制御装置。
【請求項５】
前記信号受信手段が受信する前記第２のデジタル信号は、
前記装置において、デジタルポテンショメータによって保持された前記アナログ信号から変換されて得られた
ことを特徴とする請求項２乃至４のいずれか１項に記載の通信制御装置。
【請求項６】
シリアル通信回線を介して送信した第１のデジタル信号に基づいて出力されたアナログ信号から変換された第２のデジタル信号を受信し、当該第１のデジタル信号と当該第２のデジタル信号とから通信品質を判定する通信制御装置。
【請求項７】
シリアル通信回線で接続される装置に対して、第１のデジタル信号を送信する信号送信手段と、
前記装置において前記第１のデジタル信号が予め定められた規定にしたがって編集された第２のデジタル信号を受信する信号受信手段と、
送信した前記第１のデジタル信号と受信した前記第２のデジタル信号とにより、シリアル通信の通信品質を判定する通信品質判定手段と
を備えた通信制御装置。
【請求項８】
コンピュータに、
装置に対してシリアル通信回線を介して送信される第１のデジタル信号を取得する機能と、
前記装置において前記第１のデジタル信号に基づいて出力されたアナログ信号から変換された第２のデジタル信号を取得する機能と、
前記第１のデジタル信号と前記第２のデジタル信号とから、シリアル通信の通信品質を判定する機能と
を実現させるためのプログラム。
【請求項９】
前記第１のデジタル信号を複数の信号パターンから選択する順序を設定する機能を
さらに実現させるための請求項８に記載のプログラム。
【請求項１０】
前記装置から出力されるアナログ信号を予測し、当該装置の制約条件に適合するか否かを判断する機能を
さらに実現させるための請求項８又は９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、通信制御装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、双方向に直列信号を伝送する伝送制御回路の受信側に、受信信号を並列化する直並変換回路と、この直並変換回路の出力を順次格納するメモリを設け、伝送相手方の状態を随時前記メモリに更新登録し、メモリの内容を読み出すことにより、伝送相手方の状況を取り込む伝送制御回路が記載されている。
【０００３】
特許文献２には、制御MPUとIOリンクを介して接続されてコントローラを構成するプロセス入出力装置であって、複数のIOモジュール、これら複数のIOモジュールをIOバス経由で制御する伝送制御モジュール、及び伝送制御モジュールとIOモジュールを収納するIOシェルフで構成され、IOシェルフの隣接する２つの実装スロットごとに同一種のIOモジュールを実装し、その一方を稼働、他方を待機としてIOモジュールを二重化し、プロセスヘの出力データを伝送制御モジュール経由でIOモジュールペアの双方に与えるとともに、プロセスヘの出力をIOモジュールぺア間の稼働/待機切替え回路により決定される稼働側だけが行い、プロセスからの入力をIOモジュールペアの双方へ接続することにより、伝送制御モジュールは前記切替え回路により決定される稼働側のデータのみを制御MPUへ通知するようにした二重化プロセス入出力装置において、IOモジュールペアのパルス入力モジュールにおけるプロセスインタフェース部およびパルスカウンタを二重化する手段と、二重化されて得られた２つのパルスカウント値を比較し不一致であれば重故障と判別して稼働/待機を切り替える手段と、を備えた二重化プロセス入出力装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１７８０４８号公報
【特許文献２】特開平１１−６５６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＰＵを備えるマスタ制御部と、マスタ制御部によって制御されて制御対象を制御するスレーブ制御部とを備え、マスタ制御部とスレーブ制御部との間をシリアル（ＳＰＩ：Serial Peripheral Interface）通信でデータを送受信するマスタスレーブ方式による制御が広く用いられている。しかし、いわゆるＳＰＩ通信の規格には、パリティビットチェック、ＣＲＣ（巡回冗長検査：Cyclic Redundancy Check）、チェックサムなどの通信エラー検出のプロトコルが規定されていない。よって、マスタ制御部からスレーブ制御部に一方的にデータを送信すると、通信回線の物理的な異常による欠落、外来ノイズなどによるデータ化け、通信回線を構成するケーブル等の線材の特性におけるばらつきなどにより、一定の信号波形品質が得られず、通信エラーなどが発生する。
本発明は、マスタ制御部とスレーブ制御部との間のシリアル通信の品質が仕様に適合しているか否かが容易に判定できる画像形成装置などを提供する。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、画像を形成する画像形成部と、前記画像形成部における画像の形成を制御するマスタ部とスレーブ部とを含む制御部と、前記制御部の前記マスタ部と前記スレーブ部との間を接続し、シリアル通信を行うシリアル通信回線と、を備え、前記制御部の前記マスタ部は、前記スレーブ部に対して、第１のデジタル信号を送信する信号送信手段と、前記スレーブ部から、第２のデジタル信号を受信する信号受信手段と、送信した前記第１のデジタル信号と受信した前記第２のデジタル信号とにより、前記シリアル通信の通信品質を判定する通信品質判定手段と、を有し、前記制御部の前記スレーブ部は、前記第１のデジタル信号に基づいてアナログ信号を出力するアナログ信号出力手段と、前記アナログ信号を変換して前記第２のデジタル信号に変換する変換手段と、を有することを特徴とする画像形成装置である。
請求項２に記載の発明は、シリアル通信回線で接続される装置に対して、第１のデジタル信号を送信する信号送信手段と、前記装置において前記第１のデジタル信号に基づいて出力されたアナログ信号から変換された第２のデジタル信号を受信する信号受信手段と、送信した前記第１のデジタル信号と受信した前記第２のデジタル信号とにより、シリアル通信の通信品質を判定する通信品質判定手段とを備えた通信制御装置である。
請求項３に記載の発明は、複数の信号パターンから一つの信号パターンを選定する順序を設定する順序設定手段を備え、前記信号送信手段が送信する前記第１のデジタル信号は、前記順序設定手段によって設定された順序で前記複数の信号パターンから選定された信号パターンにより設定されることを特徴とする請求項２に記載の通信制御装置である。
請求項４に記載の発明は、前記装置から出力されるアナログ信号を予測し、当該装置の制約条件に適合するか否かを判断する判断手段を備え、前記信号送信手段が送信する前記第１のデジタル信号は、前記判断手段によって、前記装置に適合すると判断されていることを特徴とする請求項２又は３に記載の通信制御装置である。
請求項５に記載の発明は、前記信号受信手段が受信する前記第２のデジタル信号は、前記装置において、デジタルポテンショメータによって保持された前記アナログ信号から変換されて得られたことを特徴とする請求項２乃至４のいずれか１項に記載の通信制御装置である。
請求項６に記載の発明は、シリアル通信回線を介して送信した第１のデジタル信号に基づいて出力されたアナログ信号から変換された第２のデジタル信号を受信し、当該第１のデジタル信号と当該第２のデジタル信号とから通信品質を判定する通信制御装置である。
請求項７に記載の発明は、シリアル通信回線で接続される装置に対して、第１のデジタル信号を送信する信号送信手段と、前記装置において前記第１のデジタル信号が予め定められた規定にしたがって編集された第２のデジタル信号を受信する信号受信手段と、送信した前記第１のデジタル信号と受信した前記第２のデジタル信号とにより、シリアル通信の通信品質を判定する通信品質判定手段とを備えた通信制御装置である。
請求項８に記載の発明は、コンピュータに、装置に対してシリアル通信回線を介して送信される第１のデジタル信号を取得する機能と、前記装置において前記第１のデジタル信号に基づいて出力されたアナログ信号から変換された第２のデジタル信号を取得する機能と、前記第１のデジタル信号と前記第２のデジタル信号とから、シリアル通信の通信品質を判定する機能とを実現させるためのプログラムである。
請求項９に記載の発明は、前記第１のデジタル信号を複数の信号パターンから選択する順序を設定する機能をさらに実現させるための請求項８に記載のプログラムである。
請求項１０に記載の発明は、前記装置から出力されるアナログ信号を予測し、当該装置の制約条件に適合するか否かを判断する機能をさらに実現させるための請求項８又は９に記載のプログラムである。
【発明の効果】
【０００７】
請求項１の発明によれば、第２のデジタル信号を受信しない場合に比べ、マスタ制御部とスレーブ制御部との間のシリアル通信の品質が仕様に適合しているか否かが容易に判定できる。
請求項２の発明によれば、第２のデジタル信号を受信しない場合に比べ、シリアル通信回線で接続される装置との間のシリアル通信の品質が仕様に適合しているか否かが容易に判定できる。
請求項３の発明によれば、複数の信号パターンで第１のデジタル信号を送信しない場合に比べ、シリアル通信回線に通信異常を発生させる要因の識別が容易になる。
請求項４の発明によれば、制約条件に適合するか否かの判断を行わない場合に比べ、無効となる信号の送信が抑制できる。
請求項５の発明によれば、デジタルポテンショメータを用いない場合に比べ、より簡易な構成でデジタル信号をアナログ信号に変換できる。
請求項６の発明によれば、第２のデジタル信号を受信しない場合に比べ、シリアル通信の品質が仕様に適合しているか否かが容易に判定できる。
請求項７の発明によれば、第２のデジタル信号を受信しない場合に比べ、シリアル通信の品質が仕様に適合しているか否かが容易に判定できる。
請求項８の発明によれば、第２のデジタル信号を受信しない場合に比べ、シリアル通信の品質が仕様に適合しているか否かが容易に判定できる。
請求項９の発明によれば、複数の信号パターンで第１のデジタル信号を送信しない場合に比べ、シリアル通信回線に通信異常を発生させる要因の識別が容易になる。
請求項１０の発明によれば、制約条件に適合するか否かの判断を行わない場合に比べ、無効となる信号の送信が抑制できる。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態が適用される画像形成装置の一例を示す図である。
【図２】制御部の構成の一例を示す図である。
【図３】通信監視回路を説明する図である。（ａ）は、通信監視回路の詳細図、（ｂ）は、ＤＰのタップを説明する図である。
【図４】マスタ制御部とスレーブ制御部との間で送受信されるデータ列を示す図である。（ａ）は、マスタ制御部からスレーブ制御部に送信されるデータ列、（ｂ）は、スレーブ制御部からマスタ制御部に送信されるデータ列である。
【図５】通信監視データにおけるカウントパターンの一例を示す図である。
【図６】マスタ制御部が行う通信監視に関する機能ブロックを説明する図である。
【図７】マスタ制御部とスレーブ制御部との間の通信を説明するシーケンス図である。
【図８】マスタ制御部による通信品質チェックルーチンのフローチャートの一例である。
【図９】ＤＰのタップ位置の移動量がＤＰに適合するか否かを判断する移動量適合性判断ルーチンを説明するフローチャートの一例である。
【図１０】シリアル通信回線（伝送路）における周波数特性の劣化により生じた波形の鈍り（フィルタ作用）による通信異常（通信エラー）を検出する例を説明する図である。（ａ）は、ビットダブルをカウントパターンに用いた場合、（ｂ）は、ビットトグルをカウントパターンに用いた場合である。
【図１１】シリアル通信におけるシリアル通信回線（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズによる通信異常を検出する例を説明する図である。（ａ）は、ビットトグルをカウントパターンに用いた場合、（ｂ）は、ビットダブルをカウントパターンに用いた場合である。
【図１２】シリアル通信回線（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズにおける特定のタイミングで発生する通信エラー（通信異常）を検出する例を説明する図である。（ａ）は、ビットトグルをカウントパターンに用いた場合、（ｂ）は、ビット連続をカウントパターンに用いた場合である。
【図１３】シリアル通信回線（伝送路）の隣接する伝送路からの突発的なノイズ又は外来からの突発的なノイズによる通信異常を検出する例を説明する図である。
【図１４】マスタ制御部による校正に関する機能ブロックを説明する図である。
【図１５】マスタ制御部、スレーブ制御部におけるＩ／Ｏ拡張回路及び通信監視回路の校正ルーチンに関するシーケンス図である。
【図１６】参照テーブル作成ルーチンを説明するフローチャートである。
【図１７】参照テーブルの一例を説明する図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
ここでは、マスタ制御部とスレーブ制御部とを備え、マスタスレーブ方式により、それらの間でシリアル（ＳＰＩ：Serial Peripheral Interface）通信によってデータが送受信される装置を、画像形成装置を一例として説明する。
【００１０】
（画像形成装置１００）
図１は、本実施の形態が適用される画像形成装置１００の一例を示す図である。
この画像形成装置１００は、スキャン機能、プリント機能、コピー機能及びファクシミリ機能を備えた所謂複合機である。
【００１１】
画像形成装置１００は、制御部１、ユーザインターフェース（ＵＩ：User Interface）部２、画像形成部３、画像読取部４、送受信部５を備えている。
ＵＩ部２は、ユーザから電源のオン／オフ、スキャン機能、プリント機能、コピー機能及びファクシミリ機能を用いた動作に関連する指示を受け付けるとともに、ユーザに対してメッセージを表示する。画像形成部３は、紙等の記録媒体に画像を形成する。また、画像読取部４は、記録媒体に記録された画像を読み取る。そして、送受信部５は、通信回線（不図示）を介して外部に設けられた端末装置（不図示）、ファクシミリ装置（不図示）、サーバ装置（不図示）とでデータの送受信を行う。
そして、制御部１は、ＵＩ部２、画像形成部３、画像読取部４、送受信部５の動作を制御する。
なお、ＵＩ部２、画像形成部３、画像読取部４、送受信部５をそれぞれ区別しないときは、機能部と表記する。それぞれの機能部は、制御部１により制御される複数の制御対象を備えているとする。
【００１２】
制御部１は、ＵＩ部２、画像形成部３、画像読取部４、送受信部５から離れて設置されたマスタ制御部１０と、ＵＩ部２、画像形成部３、画像読取部４、送受信部５に近接して設けられたスレーブ制御部２０と、マスタ制御部１０とスレーブ制御部２０との間を接続するシリアル通信回線３０とを備えている。
そして、マスタ制御部１０とスレーブ制御部２０とは、シリアル通信回線３０を介して、データが送受信される。
なお、マスタ制御部をマスタ部又はマスタ制御装置、スレーブ制御部をスレーブ部又はスレーブ制御装置と表記することがある。
【００１３】
制御部１におけるマスタ制御部１０は、論理演算及び算術演算を実行するＡＬＵ（Arithmetic Logical Unit：論理算術演算ユニット）などを備えた演算モジュールの一例としての中央演算処理装置（以下ではＣＰＵと表記する。）（後述する図２におけるＣＰＵ１１）を備えている。
【００１４】
一方、制御部１におけるスレーブ制御部２０は、ＣＰＵを備えず、マスタ制御部１０から受信したデータ（制御対象を制御するための制御コマンド、制御データなど）を、機能部における制御対象に送信する。また、スレーブ制御部２０は、機能部における制御対象から受信したデータ（制御対象の状態を表すステータスデータ、制御対象がセンサである場合のセンサデータなど）を、マスタ制御部１０に送信する。
すなわち、マスタ制御部１０は、能動装置、スレーブ制御部２０は、受動装置として機能する。
【００１５】
ここでは、制御部１におけるマスタ制御部１０からスレーブ制御部２０に送信されるデータ（制御対象を制御するための制御コマンド、制御データなど）を、制御のためのデータ、スレーブ制御部２０からマスタ制御部１０に送信されるデータ（制御対象の状態を表すステータスデータ、制御対象がセンサである場合のセンサデータなど）を、応答のためのデータと表記する。なお、制御のためのデータと応答のためのデータとを区別しない場合は、データと表記する。
【００１６】
なお、スレーブ制御部２０は、マスタ制御部１０のＩ／Ｏ（Input/Output）機能を拡張する拡張Ｉ／Ｏ部に相当する。
【００１７】
図１では、ＵＩ部２、画像形成部３、画像読取部４、送受信部５のすべての機能部に対して、１個のスレーブ制御部２０を設けているが、機能部毎にスレーブ制御部２０を設けてもよく、複数の機能部に対して１個のスレーブ制御部２０を設けてもよい。
【００１８】
この画像形成装置１００では、画像読取部４によってスキャン機能が実現され、画像形成部３によってプリント機能が実現され、画像読取部４及び画像形成部３によってコピー機能が実現され、画像形成部３、画像読取部４及び送受信部５によってファクシミリ機能が実現される。
【００１９】
（制御部１）
図２は、制御部１の構成の一例を示す図である。ここでは、一例として、画像形成部３に含まれる制御対象を制御するとして説明する。
制御部１は、前述したように、マスタ制御部１０とスレーブ制御部２０とを備えている。そして、マスタ制御部１０とスレーブ制御部２０とは、シリアル通信回線３０で接続されている。シリアル通信回線３０は、マスタ制御部１０側から見て、送信用の通信路Ｔｘと受信用の通信路Ｒｘとの２系統の通信路を備えている。
すなわち、通信路Ｔｘを介して、マスタ制御部１０からスレーブ制御部２０にデータが送信され、通信路Ｒｘを介して、スレーブ制御部２０からマスタ制御部１０にデータが送信される。
なお、マスタ制御部１０が、通信制御装置の一例である。
【００２０】
以下では、制御部１におけるマスタ制御部１０とスレーブ制御部２０とを詳細に説明する。
（マスタ制御部１０）
マスタ制御部１０は、ＣＰＵ１１、メモリ１２、通信制御ユニット１５を備えている。さらに、ＣＰＵ１１、メモリ１２、通信制御ユニット１５の間でデータを送受信するデータバス１４を備えている。
メモリ１２は、ＲＡＭ、不揮発性メモリ（以下では、ＮＶメモリと表記する。）を備えている。ＲＡＭは、電源の供給がないと、書き込まれたデータを保持しないメモリである。ＮＶメモリは、電源の供給がなくとも、書き込まれたデータを保持するメモリであって、読出し専用のＲＯＭ、又は／及び、書き換え可能なＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュメモリ、ＨＤＤなどである。ここでは、メモリ１２は、少なくともＲＡＭと読出し専用のＮＶメモリ（ＲＯＭ）とを含んでいるとする。
電源がオンになると、ＣＰＵ１１は、メモリ１２におけるＮＶメモリに格納されているプログラム及びデータを読み出して、メモリ１２におけるＲＡＭに展開し、展開されたプログラムを実行する。
【００２１】
通信制御ユニット１５は、送信モジュール１６、受信モジュール１７、通信制御モジュール１８を備えている。そして、送信モジュール１６は、シリアル通信回線３０の通信路Ｔｘに接続され、受信モジュール１７は、シリアル通信回線３０の通信路Ｒｘに接続されている。
通信制御モジュール１８は、ＣＰＵ１１の制御により、送信モジュール１６及び受信モジュール１７によるデータの送受信を制御する。
【００２２】
（スレーブ制御部２０）
スレーブ制御部２０は、Ｉ／Ｏ拡張回路２１、通信監視回路２２、ウオッチドックタイマ回路（ＷＤＴ）２３、電源監視回路２４、電源リセット回路２５を備えている。
【００２３】
［Ｉ／Ｏ拡張回路２１］
Ｉ／Ｏ拡張回路２１は、通信制御ユニット４０、Ｉ／Ｏ拡張ユニット５０、クロック生成回路６０、システムリセット回路７０を備えている。
【００２４】
通信制御ユニット４０は、マスタ制御部１０における通信制御ユニット１５と同様に、受信モジュール４１、送信モジュール４２、通信制御モジュール４３を備えている。そして、受信モジュール４１は、シリアル通信回線３０の通信路Ｔｘに接続され、送信モジュール４２は、シリアル通信回線３０の通信路Ｒｘに接続されている。
すなわち、マスタ制御部１０とスレーブ制御部２０との間のシリアル通信において、マスタ制御部１０の通信制御ユニット１５がマスタインターフェースを、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１の通信制御ユニット４０がスレーブインターフェースを構成している。
【００２５】
Ｉ／Ｏ拡張ユニット５０は、Ｉ／Ｏ制御モジュール５１、インターフェース（ＩＦ：Interface）モジュール５２、アナログ信号出力手段の一例としてのアナログ／デジタル変換（Ａ／Ｄ：Analog/Digital）モジュール５３、パルス信号出力モジュール５４を備えている。なお、ＩＦモジュール５２は、単数であってもよく、複数であってもよい。
【００２６】
Ｉ／Ｏ制御モジュール５１には、ＩＦモジュール５２、Ａ／Ｄモジュール５３、パルス信号出力モジュール５４が並列に接続されるとともに、通信制御ユニット４０、クロック生成回路６０が接続されている。
Ｉ／Ｏ制御モジュール５１は、通信制御ユニット４０の受信モジュール４１が受信したデータを、ＩＦモジュール５２、Ａ／Ｄモジュール５３、パルス信号出力モジュール５４の内の指定されたいずれかに送信する。また、ＩＦモジュール５２、Ａ／Ｄモジュール５３、パルス信号出力モジュール５４のいずれからか受信したデータを、通信制御ユニット４０の送信モジュール４２に送信する。
【００２７】
図２では、例として、２個のＩＦモジュール５２が、画像形成部３の二つの制御対象にそれぞれ接続されている。すなわち、ＩＦモジュール５２がデータを受信すると、そのデータが画像形成部３の制御対象に送信される。これにより、その制御対象が制御される。
また、画像形成部３の制御対象からのデータが、ＩＦモジュール５２に送信され、Ｉ／Ｏ制御モジュール５１及び通信制御ユニット４０を介して、マスタ制御部１０に送信される。
なお、画像形成部３における制御対象は、例えば、モータ、ヒータ、温度センサ、湿度センサ、速度センサなどである。
ＵＩ部２、画像読取部４、送受信部５についても同様である。
【００２８】
また、ＩＦモジュール５２の一つが、後述するＷＤＴ２３に接続されている。
パルス信号出力モジュール５４及びＡ／Ｄモジュール５３については、後述する通信監視回路２２の説明において説明する。
【００２９】
クロック生成回路６０は、クロック信号ＣＫを生成して、Ｉ／Ｏ拡張ユニット５０におけるＩ／Ｏ制御モジュール５１に送信する。すなわち、Ｉ／Ｏ制御モジュール５１とＩＦモジュール５２、Ａ／Ｄモジュール５３、パルス信号出力モジュール５４とのデータの送受信は、クロック生成回路６０によって生成されるクロック信号ＣＫに同期して行われる。
【００３０】
システムリセット回路７０は、後述する電源リセット回路２５から信号を受信すると、Ｉ／Ｏ拡張回路２１をリセットする。
なお、システムリセット回路７０は、Ｉ／Ｏ拡張回路２１がＡＳＩＣ（特定用途向け集積回路：Application Specific Integrated Circuit）として構成される場合に、ＡＳＩＣをリセットする回路である。よって、ＡＳＩＣを用いない場合には、後述する電源リセット回路２５が、Ｉ／Ｏ拡張回路２１をリセットしてもよい。
【００３１】
［通信監視回路２２］
通信監視回路２２は、デジタルポテンショメータ８１（以下では、ＤＰ８１と表記する。）、書き換え可能な不揮発性メモリ８２（以下では、ＮＶメモリ８２と表記する。）、メモリタイミング生成回路８３を備えている。
ＤＰ８１は、例えば直列接続された複数の抵抗（抵抗アレイ）を備えている。そして、直列接続された複数の抵抗のそれぞれの接続点のいずれかが出力端子（端子ＲＷ）に接続されている。そして、端子ＲＷに接続される抵抗の接続点が、受信したパルス信号Ｐに応じて変化することで、出力電圧を変化させている。
ここでは、接続点をタップと表記する。なお、接続点は、ステップ（Step）又は段と呼ばれることがある。
【００３２】
ＮＶメモリ８２は、書き換え可能な不揮発性メモリであって、電源の供給がなくとも、書き込まれたデータを保持するメモリである。ここでは、ＤＰ８１の端子ＲＷに接続されている抵抗の接続点（タップ）の位置（タップ位置）ＤＰＴを記憶する。なお、ＮＶメモリ８２には、ＥＥＰＲＯＭ、フラッシュメモリなどを用い得る。
【００３３】
メモリタイミング生成回路８３は、ＮＶメモリ８２に、ＤＰ８１の端子ＲＷに接続されているタップ位置ＤＰＴを示すデータを書き込むための一連の制御信号列から構成されるメモリタイミングを生成する。なお、メモリタイミング生成回路８３は、ハードウェア（ワイヤードロジック）により構成され、後述する電源監視回路２４から信号を受信すると、メモリタイミングが生成されることがよい。つまり、メモリタイミング生成回路８３によって生成されたメモリタイミングにより、その際設定されているＤＰ８１のタップ位置ＤＰＴを示すデータがＮＶメモリ８２に書き込まれる。
【００３４】
通信監視回路２２は、Ｉ／Ｏ拡張回路２１におけるＩ／Ｏ拡張ユニット５０のパルス信号出力モジュール５４に接続されている。そして、通信監視回路２２は、パルス信号出力モジュール５４からＤＰ８１のタップ位置ＤＰＴを移動させるパルス信号Ｐなどを受信する。
また、通信監視回路２２の端子ＲＷは、Ｉ／Ｏ拡張回路２１におけるＩ／Ｏ拡張ユニット５０のＡ／Ｄモジュール５３に接続されている。
【００３５】
［ＷＤＴ２３］
ＷＤＴ２３は、Ｉ／Ｏ拡張ユニット５０における一つのＩＦモジュール５２に接続されている。また、ＷＤＴ２３は、後述する電源リセット回路２５に接続されている。
ＷＤＴ２３は、ＷＤＴ２３の備えるタイマをリセットする信号（タイマリセット信号）を予め定められた周期で受信する限り、電源リセット回路２５に信号を出力しない。しかし、ＷＤＴ２３は、ＷＤＴ２３のタイマリセット信号をこの予め定められた周期で受信しない場合に、タイマがタイムアップして、電源リセット回路２５に信号を送信する。これにより、スレーブ制御部２０が電源リセットされる。
【００３６】
［電源監視回路２４］
電源監視回路２４は、スレーブ制御部２０に供給される電源の電圧（電源電圧）を監視する。そして、電源監視回路２４は、電源電圧が予め定められた最低電圧未満になったことを検知すると、通信監視回路２２のメモリタイミング生成回路８３及び電源リセット回路２５に信号を送信する。
【００３７】
なお、電源監視回路２４は、電源電圧が最低電圧未満になると、通信監視回路２２を電源供給回路（不図示）から切り離す。これにより、電源電圧が最低電圧未満になっても、通信監視回路２２に供給されている電源（電圧）が急激に低下することが抑制され、しばらくの間、通信監視回路２２が動作を継続するようにしている。
例えば、通信監視回路２２は、電源供給回路から電源が供給される部分に、スイッチ及びコンデンサを備えている。電源監視回路２４は、電源電圧が正常である間において、スイッチを閉にして、電源供給回路から通信監視回路２２に電源を供給するとともに、そのコンデンサを充電する。一方、電源監視回路２４は、電源電圧が最低電圧未満になったことを検知すると、スイッチを開にして、通信監視回路２２を電源供給回路から切り離す。これにより、通信監視回路２２は、コンデンサに蓄積された電荷（電力）によって、しばらくの間動作を継続する。なお、通信監視回路２２の動作電圧は、最低電圧より低く設定されているとよい。このようにすることで、通信監視回路２２は、動作電圧が最低電圧より低く設定されていない場合に比べ、より長い時間動作を継続する。
なお、動作を継続する時間は、ＤＰ８１のタップ位置ＤＰＴを示すデータをＮＶメモリ８２に書き込むために要する時間以上であればよい。
【００３８】
［電源リセット回路２５］
電源リセット回路２５は、スレーブ制御部２０を電源リセットする回路である。電源リセット回路２５は、ＷＤＴ２３及び電源監視回路２４に接続されている。そして、電源リセット回路２５は、ＷＤＴ２３及び電源監視回路２４のいずれかから信号を受信すると、Ｉ／Ｏ拡張回路２１におけるシステムリセット回路７０及びマスタ制御部１０におけるＣＰＵ１１に信号を送信する。そして、システムリセット回路７０により、Ｉ／Ｏ拡張回路２１がリセットされる。また、電源リセット回路２５により、スレーブ制御部２０の電源供給回路がリセットされるため、通信監視回路２２が電源リセットされる。すなわち、電源リセット回路２５は、スレーブ制御部２０を電源リセットする。
なお、電源リセットとは、電源を瞬時遮断した後、再度電源を供給することをいう。これにより、スレーブ制御部２０は、初期状態に再起動（再立ち上げ）される。
【００３９】
（通信監視回路２２の詳細）
図３は、通信監視回路２２を説明する図である。図３（ａ）は、通信監視回路２２の詳細図、図３（ｂ）は、ＤＰ８１のタップを説明する図である。
図３（ａ）において、通信監視回路２２を説明する。前述したように、通信監視回路２２は、ＤＰ８１、ＮＶメモリ８２、メモリタイミング生成回路８３を備えている。そして、通信監視回路２２は、Ｉ／Ｏ拡張ユニット５０のＡ／Ｄモジュール５３及びパルス信号出力モジュール５４に接続されている。
【００４０】
ＤＰ８１は、直列接続された複数の抵抗（抵抗アレイ）を備えている（図３（ｂ）参照。）。抵抗アレイの一方が端子ＲＬ、他方が端子ＲＨである。そして、直列接続された複数の抵抗の接続点（タップ）のいずれかが端子ＲＷに接続される。そして、端子ＲＷが、Ａ／Ｄモジュール５３に接続されている。
ここで、端子ＲＬが基準電位ＧＮＤ（接地電位ＧＮＤ）、端子ＲＨが電源電位ＶＣＣ（通信監視回路２２の電源電圧）に接続されているとする。この場合、端子ＲＷは、電源電位ＶＣＣと基準電位ＧＮＤとの間の電圧であって、端子ＲＷに接続されたタップ位置ＤＰＴの電圧になる。そして、端子ＲＷの電圧は、直列接続された抵抗の数、すなわちタップ（段）数ＳＮで決まる間隔（分解能）で設定される。なお、タップ数ＳＮは、例えば１２８、２５６などであることから、端子ＲＷは、アナログ電圧を出力する。ここでは、端子ＲＷは、アナログ電圧であるアナログ信号出力ＤＰＯａ（ａはアナログ値であることを示す。）を出力するとする。そして、Ａ／Ｄモジュール５３は、アナログ信号出力ＤＰＯａを、Ａ／Ｄ変換して、デジタル信号出力ＤＰＯｄ（ｄはデジタル値であることを示す。）を出力する。アナログ信号出力ＤＰＯａは、アナログ信号の一例である。Ａ／Ｄモジュール５３は、変換手段の一例である。
なお、ＤＰ８１の端子ＲＷは、アナログ信号出力ＤＰＯａを出力し続ける。
【００４１】
ＤＰ８１は、アップ／ダウン（Ｕ／Ｄ）コマンドを受信する端子Ｕ／Ｄ（図３（ａ）ではＵ／Ｄと表記する。）、パルス信号Ｐを受信する端子Ｐ（図３（ａ）ではＰと表記する。）、クロック信号ＣＫを受信する端子ＣＫ（図３（ａ）ではＣＫと表記する。）を備えている。
ＤＰ８１は、Ｉ／Ｏ拡張ユニット５０のパルス信号出力モジュール５４から１個のパルス信号Ｐを受信すると、端子ＲＷに接続されるタップ位置ＤＰＴが一つ移動する（変更される）。このとき、Ｕ／Ｄコマンドがアップ（Ｕ）であると、タップ位置ＤＰＴは大きい側（端子ＲＷの電圧が大きくなる方向）に一つ移動する（アップする）。一方、Ｕ／Ｄコマンドがダウン（Ｄ）であると、タップ位置ＤＰＴは小さい側（端子ＲＷの電圧が小さくなる方向）に一つ移動する（ダウンする）。そして、パルス信号Ｐが複数供給されると、端子ＲＷに接続されるタップ位置ＤＰＴが、受信したパルス数（後述するＣＮ）に応じて移動する。
これに伴い、通信監視回路２２の端子ＲＷが出力するアナログ信号出力ＤＰＯａ及びＩ／Ｏ拡張ユニット５０のＡ／Ｄモジュール５３が出力するデジタル信号出力ＤＰＯｄが変化する。
【００４２】
なお、Ａ／Ｄモジュール５３は、演算、ビットの置換、間引きなどのデジタル処理が施されるように構成されていてもよい。
【００４３】
前述したように、電源監視回路２４は、電源電圧が最低電圧未満になったことを検知すると、通信監視回路２２のメモリタイミング生成回路８３に端子Ｗ（図３（ａ）ではＷと表記する。）を介して、信号を送信する。すると、ＮＶメモリ８２に端子ＲＷに接続されているタップ位置ＤＰＴを示すデータを記憶するためのメモリタイミングが生成され、端子ＲＷに接続されているタップ位置ＤＰＴを示すデータがＮＶメモリ８２に記憶される。
【００４４】
以上説明したように、通信監視回路２２は、電源電位ＶＣＣ及び基準電位ＧＮＤが供給される端子の他、デジタル信号を受信する端子Ｕ／Ｄ、端子Ｐ、端子ＣＫ、端子Ｗ及びアナログ信号を出力する端子ＲＷを備えている。
なお、図３（ａ）では、通信監視回路２２の端子Ｕ／Ｄ、端子Ｐ、端子ＣＫは、パルス信号出力モジュール５４に接続されている。端子Ｕ／Ｄ、端子ＣＫは、それぞれに設けられたＩＦモジュール５２に接続されていてもよい。
【００４５】
なお、ＤＰ８１及びＮＶメモリ８２に、これらを一体化した集積回路（ＩＣ）を使用してもよい。
【００４６】
図３（ｂ）により、ＤＰ８１のタップ位置ＤＰＴについて説明する。
ＤＰ８１は、タップ数がＳＮであって、タップ位置ＤＰＴは０〜（ＳＮ−１）である。以下では、タップ位置ＤＰＴ０〜ＤＰＴ（ＳＮ−１）と表記する。
隣接するタップ位置ＤＰＴ間は、電圧ＡＤＰである。そして、１タップ位置ＤＰＴに許容される上限は、電圧ＡＤＰＴ、下限は、電圧ＡＤＰＢである。ここでは、電圧ＡＤＰＴ及び電圧ＡＤＰＢは、タップ間の電圧ＡＤＰの１／２である電圧ＡＤＰＧとする。なお、それぞれのタップ位置ＤＰＴは、上限を含み、下限を含まないとする。
なお、最小タップ位置ＤＰＴ０は、電圧ＡＭＩＮ、最大タップ位置ＤＰＴ（ＳＮ−１）は、電圧ＡＭＡＸとする。
ＤＰ８１のタップ位置ＤＰＴに電圧を設定する方法については、後述する。
【００４７】
（制御部１の動作の概要）
図２を参照しつつ、制御部１による通信品質をチェックする方法の概要を説明する。
本実施の形態が適用される制御部１は、マスタ制御部１０とスレーブ制御部２０との間でシリアル通信が正常に行われているか否かを監視（通信監視）する。
【００４８】
図４は、マスタ制御部１０とスレーブ制御部２０との間で送受信されるデータ列を示す図である。図４（ａ）は、マスタ制御部１０からスレーブ制御部２０に送信されるデータ列、図４（ｂ）は、スレーブ制御部２０からマスタ制御部１０に送信されるデータ列である。
図４（ａ）に示すように、マスタ制御部１０からスレーブ制御部２０に、制御のためのデータＣＤｓに加え、通信監視用の通信監視データＴＤｓが送信される。通信監視用の通信監視データＴＤｓは、予め定められた周期ｔｐで送信される。
また、図４（ｂ）に示すように、スレーブ制御部２０からマスタ制御部１０に、応答のためのデータＣＤｒに加え、通信監視データＴＤｓに応答する通信監視応答データＴＤｒが送信される。一例として、通信監視応答データＴＤｒも、周期ｔｐで送信されるとする。
周期ｔｐは、例えば１０ｍｓである。
【００４９】
通信監視データＴＤｓは、後述するように、ＤＰ８１のタップ位置ＤＰＴを移動させるためのパルス数（カウント数ＣＮ）を指定するカウントパターンＣＰや移動方向を設定するアップ／ダウン（Ｕ／Ｄ）コマンドを含んでいる。図４（ａ）では、通信監視データＴＤｓに含まれるカウントパターンＣＰの場合を示している。後述するように、カウントパターンＣＰは、シリアル通信が正常に行われているか否かをテストするテストパターンである。
そして、通信監視応答データＴＤｒは、Ｉ／Ｏ拡張ユニット５０のＡ／Ｄモジュール５３が出力するデジタル信号出力ＤＰＯｄを含んでいる。図４（ｂ）では、通信監視応答データＴＤｒに含まれるデジタル信号出力ＤＰＯｄを示している。
【００５０】
ここで、カウントパターンＣＰを含む通信監視データＴＤｓはシリアルデータである。通信監視データＴＤｓは、第１のデジタル信号の一例である。カウントパターンＣＰは、信号パターンの一例である。デジタル信号出力ＤＰＯｄを含む通信監視応答データＴＤｒもシリアルデータである。通信監視応答データＴＤｒは、第２のデジタル信号の一例である。
なお、カウントパターンＣＰ及びデジタル信号出力ＤＰＯｄに付す（Ｔ）はタイミングを表し、（Ｔ）に対して、（Ｔ−１）は直前、（Ｔ＋１）は直後を表している。
【００５１】
（通信監視データＴＤｓ）
次に、通信監視データＴＤｓに含まれ、パルス数を指定するカウントパターンＣＰについて説明する。
図５は、通信監視データＴＤｓにおけるカウントパターンＣＰの一例を示す図である。
ここでは、一例として、ＤＰ８１のタップ数ＳＮは１２８であるとする。そして、カウントパターン数ＣＰＮは６であるとする。以下では、それぞれのカウントパターンＣＰをＣＰ［ｍ］（ｍ＝１〜６（ＣＰＮ））と表記する。
【００５２】
カウントパターンＣＰ［ｍ］は、８ビットの内、下位７ビットが、ＤＰ８１のタップ位置ＤＰＴを移動させるパルス数（カウント数）ＣＮ［ｍ］を表す。それぞれのカウント数ＣＮ［ｍ］は、ＣＰ［１］が８５、ＣＰ［２］が４２、ＣＰ［３］が１２、ＣＰ［４］が５１、ＣＰ［５］が１、ＣＰ［６］が６３である。カウント数ＣＮは、タップ数ＳＮの１２８に対して、偏らないように設定されている。
【００５３】
そして、カウントパターンＣＰ［１］、ＣＰ［２］は、下位７ビットのビットパターンがビットを交互に１、０としたビットトグルパターンである。カウントパターンＣＰ［３］、ＣＰ［４］は、下位７ビットのビットパターンが同じビットが２つ連続するビットダブルパターンである。カウントパターンＣＰ［５］、ＣＰ［６］は、下位７ビットのビットパターンが、ビットが３以上連続するビット連続パターンである。
なお、他のビットパターンを用いてもよく、カウントパターンＣＰの数ＣＰＮは２以上の複数であれば、６以外であってもよい。
すなわち、本実施の形態では、複数のカウントパターンＣＰを用いている。
【００５４】
（マスタ制御部１０が行う通信品質チェックに関する機能ブロック）
図６は、マスタ制御部１０が行う通信監視に関する機能ブロックを説明する図である。
図６に示す機能ブロックは、図２に示したマスタ制御部１０におけるＣＰＵ１１がソフトウェア（ソフトウエアモジュール）によって実現する。
【００５５】
まず、マスタ制御部１０におけるメモリ１２について説明する。メモリ１２は、図４に示したカウントパターン数ＣＰＮのカウントパターンＣＰを有するデータベースＣＰ−ＤＢ（図６では、ＣＰ−ＤＢと表記する。）を格納している。また、メモリ１２は、後述する検出タップ位置（ＤＰＴｄ）検出部１０５が検出タップ位置ＤＰＴｄを検出するための参照テーブルを備えている。そして、メモリ１２は、通信品質チェック（通信監視）によって得られた通信品質に関するログ（通信監視ログ）を格納する。
なお、メモリ１２は、通信品質チェックにともなって、一時的に保持する必要のあるデータを格納する。これについては、矢印を設けない。
【００５６】
また、ＵＩ部２は、ＣＰＵ１１の指示により、通信品質チェック（通信監視）で得られた通信監視状態に関するメッセージを表示（通信監視状態表示）する。
【００５７】
マスタ制御部１０において、ソフトウェアで実現される機能ブロックを説明する。
マスタ制御部１０は、カウントパターン（ＣＰ）生成部１０１、カウントパターン（ＣＰ）順序設定部１０２、カウントパターン（ＣＰ）選定部１０３を備える。
また、マスタ制御部１０は、予測タップ位置ＤＰＴｅ（ｅは予測値であること示す。）を算出する予測タップ位置（ＤＰＴｅ）算出部１０４、検出タップ位置ＤＰＴｄ（ｄは検出値であること示す。）を検出する検出タップ位置（ＤＰＴｄ）検出部１０５、タップ位置ＤＰＴの移動量がＤＰ８１に適合するか否かを判断する移動量判断部１０６、通信制御ユニット１５に送信するカウントパターンＣＰを設定するカウントパターン（ＣＰ）設定部１０７、タップの移動方向を設定するアップ／ダウン（Ｕ／Ｄ）設定部１０８を備える。
そして、マスタ制御部１０は、通信の品質を判定する通信品質判定部１０９を備える。
ここでは、図６及び以下では、（  ）の用語を使用する。
また、ＤＰ８１におけるタップ位置ＤＰＴと、予測タップ位置ＤＰＴｅ、検出タップ位置ＤＰＴｄとを区別する。
【００５８】
ＣＰ生成部１０１は、カウントパターンＣＰを生成して、データベースＣＰ−ＤＢに格納する。
ＣＰ順序設定部１０２は、データベースＣＰ−ＤＢに格納されたカウントパターン数ＣＰＮのカウントパターンＣＰから、カウントパターンＣＰを選定する順序を設定する。
ＣＰ選定部１０３は、ＣＰ順序設定部１０２によって設定されたカウントパターンＣＰを選定する順序に基づいて、カウントパターンＣＰをデータベースＣＰ−ＤＢから選定する。
【００５９】
ＤＰＴｅ算出部１０４は、ＣＰ選定部１０３が選定したカウントパターンＣＰと、ＤＰＴｄ検出部１０５が検出した検出タップ位置ＤＰＴｄとから、カウントパターンＣＰに基づいてタップ位置ＤＰＴを移動させた場合に予測される予測タップ位置ＤＰＴｅを算出する。
ＤＰＴｄ検出部１０５は、通信制御ユニット１５を介して、スレーブ制御部２０から受信するデジタル信号出力ＤＰＯｄから、ＤＰ８１の検出タップ位置ＤＰＴｄを検出する。ＤＰＴｄ検出部１０５は、信号受信手段の一例である。
移動量判断部１０６は、予測タップ位置ＤＰＴｅが、ＤＰ８１に対して適合するか否かを判断する（移動量適合性判断）。移動量判断部１０６は、判断手段の一例である。
ＣＰ設定部１０７は、移動量判断部１０６によって適合すると判断されたカウントパターンＣＰを、通信制御ユニット１５を介してスレーブ制御部２０に送信するカウントパターンＣＰとして設定する。ＣＰ設定部１０７は、信号送信手段の一例である。
Ｕ／Ｄ設定部１０８は、移動量判断部１０６によって適合すると判断されたカウントパターンＣＰに対応して、通信制御ユニット１５に送信するタップ位置ＤＰＴの移動方向を指定するＵ／Ｄコマンドを設定する。
【００６０】
通信品質判定部１０９は、ＤＰＴｅ算出部１０４からの予測タップ位置ＤＰＴｅとＤＰＴｄ検出部１０５からの検出タップ位置ＤＰＴｄとが一致するか否かを判断し、シリアル通信の通信品質を判定する。通信品質判定部１０９は、通信品質判定手段の一例である。
【００６１】
（マスタ制御部１０とスレーブ制御部２０との間における通信）
図７は、マスタ制御部１０とスレーブ制御部２０との間の通信を説明するシーケンス図である。
ここでは、図６を参照しつつ、マスタ制御部１０、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１及び通信監視回路２２における通信監視データＴＤｓと通信監視応答データＴＤｒの送受信を説明する。
【００６２】
図４に示したように、マスタ制御部１０のＵ／Ｄ設定部１０８により、Ｕ／Ｄコマンドを含む通信監視データＴＤｓが、通信制御ユニット１５を介してスレーブ制御部２０に送信される（ステップ１０１）。
すると、スレーブ制御部２０のＩ／Ｏ拡張回路２１により、通信監視回路２２のＤＰ８１のタップ位置ＤＰＴの移動方向がアップ／ダウン（Ｕ／Ｄ）のいずれかに設定される。
【００６３】
なお、厳密には、図２に示すように、通信監視データＴＤｓは、マスタ制御部１０のＣＰＵ１１（Ｕ／Ｄ設定部１０８）から、通信制御ユニット１５を介して、スレーブ制御部２０に送信される。そして、スレーブ制御部２０では、通信制御ユニット４０が通信監視データＴＤｓを受信し、Ｉ／Ｏ拡張ユニット５０のＩ／Ｏ制御モジュール５１を介して、パルス信号出力モジュール５４に送信される。そして、パルス信号出力モジュール５４が通信監視回路２２のＤＰ８１をアップ／ダウン（Ｕ／Ｄ）のいずれかに設定することになる。以下では、これらの流れを詳細には記載しないこととする。他の場合も同様とする。
【００６４】
次に、マスタ制御部１０のＣＰ設定部１０７により、カウントパターンＣＰを含む通信監視データＴＤｓが、通信制御ユニット１５を介してスレーブ制御部２０に送信される（ステップ１０２）。
すると、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１のパルス信号出力モジュール５４から、タップ位置ＤＰＴを移動させるカウント数ＣＮのパルス信号Ｐが、通信監視回路２２のＤＰ８１に送信される。
これにより、ＤＰ８１のタップ位置ＤＰＴは、Ｕ／Ｄコマンドによって指定された方向にカウント数ＣＮ移動する（ステップ１０３）。
【００６５】
そして、ＤＰ８１は、移動したタップ位置ＤＰＴに対応するアナログ信号出力ＤＰＯａを出力する。
次に、マスタ制御部１０のＤＰＴｄ検出部１０５により、ＤＰＯ取得コマンドが送信される（ステップ１０４）。すると、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１のＡ／Ｄモジュール５３によって、アナログ信号出力ＤＰＯａがデジタル信号出力ＤＰＯｄに変換される。そして、デジタル信号出力ＤＰＯｄがマスタ制御部１０のＤＰＴｄ検出部１０５に送信される。すると、ＤＰＴｄ検出部１０５により、デジタル信号出力ＤＰＯｄから検出タップ位置ＤＰＴｄが検出される（ステップ１０５）。
【００６６】
（通信品質チェックルーチン）
次に、マスタ制御部１０によって行われる通信品質チェック（通信監視）ルーチンを説明する。
図８は、マスタ制御部１０による通信品質チェックルーチンのフローチャートの一例である。
図６を参照しつつ、図８によりマスタ制御部１０による通信品質チェックルーチンを説明する。
【００６７】
ＤＰＴｄ検出部１０５により、タイミング（Ｔ−１）においてＤＰ８１に設定されたタップ位置ＤＰＴに対応する検出タップ位置ＤＰＴｄ（Ｔ−１）が検出される（ステップ２０１）。
【００６８】
ＣＰ順序設定部１０２によって設定された順序にしたがって、ＣＰ選定部１０３により、データベースＣＰ−ＤＢから、カウントパターンＣＰが選定される（ステップ２０２）。
【００６９】
ＤＰＴｅ算出部１０４により、選定されたカウントパターンＣＰのカウント数ＣＮに基づいて、検出タップ位置ＤＰＴｄ（Ｔ−１）を移動させたとして、予測タップ位置ＤＰＴｅ（Ｔ）が算出される（ステップ２０３）。
【００７０】
そして、移動量判断部１０６により、カウントパターンＣＰによって設定されるタップ位置ＤＰＴの移動量がＤＰ８１に適合するか否かが判断される（ステップ２０４）。なお、移動量判断部１０６による、移動量の判断については、後述する。
【００７１】
ステップ２０４で否定（Ｎｏ）の判断がされた場合、すなわち、移動量が適合しない場合には、ステップ２０２に戻る。そして、ＣＰ順序設定部１０２により、次に選定するカウントパターンＣＰの順序が設定される。そして、ステップ２０２、２０３が繰り返される。
【００７２】
ステップ２０４で肯定（Ｙｅｓ）の判断がされた場合、すなわち、移動量が適合する場合は、移動量判断部１０６により、Ｕ／Ｄ設定部１０８に移動方向（Ｕ／Ｄ）が指示され、Ｕ／Ｄ設定部１０８により、通信制御ユニット１５に送信されるＵ／Ｄコマンドが設定される（ステップ２０５）。これは、図７におけるステップ１０１と同様である。
また、ＣＰ選定部１０３により、ＣＰ設定部１０７に選定されたカウントパターンＣＰが指示される。ＣＰ設定部１０７により、通信制御ユニット１５に送信されるカウントパターンＣＰが設定される（ステップ２０６）。これは、図７におけるステップ１０２と同様である。
そして、予測タップ位置ＤＰＴｅ（Ｔ）をメモリ１２（ＲＡＭであって構わない）に格納する（ステップ２０７）。
【００７３】
次に、変数ｎに“１”を設定する（ステップ２０８）。
そして、ＤＰＴｄ検出部１０５により、受信したＤＰ８１のタップ位置ＤＰＴに対するデジタル信号出力ＤＰＯｄから、検出タップ位置ＤＰＴｄ（Ｔ）を検出する（ステップ２０９）。
そして、通信品質判定部１０９により、検出タップ位置ＤＰＴｄ（Ｔ）と予測タップ位置ＤＰＴｅ（Ｔ）とが一致するか否かが判断される（ステップ２１０）。
【００７４】
ステップ２１０で肯定（Ｙｅｓ）の判断がされる場合、すなわち検出タップ位置ＤＰＴｄ（Ｔ）と予測タップ位置ＤＰＴｅ（Ｔ）とが一致する場合には、通信品質判定部１０９によって、シリアル通信が正常に行われており、スレーブ制御部２０も正常に動作していると判定（推定）される（通信正常）。
そして、次に送信する通信監視データＴＤｓに用いるカウントパターンＣＰ（Ｔ＋１）を選択するために、ステップ２０２に戻る。
【００７５】
一方、ステップ２１０で否定（Ｎｏ）の判断がされる場合、すなわち検出タップ位置ＤＰＴｄ（Ｔ）と予測タップ位置ＤＰＴｅ（Ｔ）とが一致しない場合には、変数ｎが“３”であるか否かが判断される（ステップ２１１）。
ステップ２１１において、否定（Ｎｏ）の判断がされる場合、すなわち変数ｎが３未満の場合には、変数ｎに“１”が加えられる（ステップ２１２）。そして、ステップ２０９に戻って、ＤＰＴｄ検出部１０５により、受信したＤＰ８１のタップ位置ＤＰＴに対するデジタル信号出力ＤＰＯｄから、検出タップ位置ＤＰＴｄ（Ｔ）を検出する。そして、ステップ２１０が繰り返される。
【００７６】
また、ステップ２１１で肯定（Ｙｅｓ）の判断がされる場合、すなわち変数ｎが“３”である場合には、通信品質判定部１０９により、通信エラー（通信異常）が発生したと判定される。そして、通信品質判定部１０９により、メモリ１２に通信エラー（通信異常）が発生した旨の通信監視ログが記録される（図８では、ログ記録と表記する。）とともに、ＵＩ部２に通信エラーが発生したことを示す通信監視状態表示（図８では、状態表示と表記する。）が行われる（ステップ２１３）。
これにより、通信品質チェック（通信監視）ルーチンが完了する。
【００７７】
図８では、ステップ２０１として、タイミング（Ｔ−１）の検出タップ位置ＤＰＴｄ（Ｔ−１）を、ＤＰＴｄ検出部１０５によって検出した。しかし、ステップ２０７と同様に、メモリ１２に予測タップ位置ＤＰＴｅ（Ｔ−１）が蓄積されている。そして、通信が正常であれば、予測タップ位置ＤＰＴｅ（Ｔ−１）と検出タップ位置ＤＰＴｄ（Ｔ−１）とは、一致している。よって、ステップ２０１において、タイミング（Ｔ−１）の検出タップ位置ＤＰＴｄ（Ｔ−１）を、ＤＰＴｄ検出部１０５によって検出する代わりに、メモリ１２から、予測タップ位置ＤＰＴｅ（Ｔ−１）を読み出して、検出タップ位置ＤＰＴｄ（Ｔ−１）としてもよい。
【００７８】
また、ステップ２１０において、検出タップ位置ＤＰＴｄ（Ｔ）と予測タップ位置ＤＰＴｅ（Ｔ）とが一致する場合に通信正常と判定されるようにしたが、予測タップ位置ＤＰＴｅ（Ｔ）に対して予め定められた範囲で一致する場合に、通信正常と判定されるようにしてもよい。
【００７９】
さらに、ステップ２１１において、変数ｎが“３”となった場合に、通信品質判定部１０９によって、通信エラー（通信異常）と判断されるようにした。これは、デジタル信号出力ＤＰＯｄを受信する際に通信エラー（通信異常）が発生した場合に、再度デジタル信号出力ＤＰＯｄを受信することで通信正常となる場合に対応するためである。
しかし、変数ｎが“１”において検出タップ位置ＤＰＴｄ（Ｔ）と予測タップ位置ＤＰＴｅ（Ｔ）とが一致しない場合に、通信エラー（通信異常）と判断してもよい。また、変数ｎが“３”以外の値のとき、通信エラー（通信異常）と判断してもよい。
【００８０】
通信エラー（通信異常）が発生したと判断された場合、スレーブ制御部２０を電源リセットするようにしてもよい。
【００８１】
また、マスタ制御部１０が、ＤＰＯ取得コマンドを予め定められた周期（図４の周期ｔｐ）で送信できなかった場合であっても、送信したカウントパターンＣＰ及びタップ位置ＤＰＴを移動させる方向（Ｕ／Ｄ）の設定から、ＤＰ８１の予測タップ位置ＤＰＴｅを計算して、照合してもよい。
【００８２】
後述するように、スレーブ制御部２０が電源リセットされた後、電源が回復した場合、ＮＶメモリ８２に格納された値によってＤＰ８１のタップ位置ＤＰＴが設定される（後述する図１５のステップ４０１参照）。次いで、マスタ制御部１０がデジタル信号出力ＤＰＯｄを受信し、デジタル信号出力ＤＰＯｉｎｉとしてメモリ１２に格納される。よって、このデジタル信号出力ＤＰＯｉｎｉより、スレーブ制御部２０の電源リセットの際のタップ位置ＤＰＴを検出することで、電源リセットの要因を推定しうる。これについては後述する。
【００８３】
（移動量適合性判断ルーチン）
次に、移動量判断部１０６などによって行われる、タップ位置ＤＰＴの移動量がＤＰ８１に適合するか否かを判断する移動量適合性判断ルーチンを説明する。
図９は、ＤＰ８１のタップ位置ＤＰＴの移動量がＤＰ８１に適合するか否かを判断する移動量適合性判断ルーチンを説明するフローチャートの一例である。
【００８４】
まず、ＣＰ順序設定部１０２によって、変数ｍが“０”に設定される（ステップ３０１）。次に、変数ｍに“１”が加えられる（ステップ３０２）。そして、変数ｍが“１”以上且つカウントパターン数ＣＰＮ以下であるか否かが判断される（ステップ３０３）。なお、カウントパターン数ＣＰＮは、データベースＣＰ−ＤＢに格納されているカウントパターンＣＰの数であって、図５に示す例では、“６”である。
【００８５】
ステップ３０３において、肯定（Ｙｅｓ）の判断がされた場合、すなわち変数ｍが“１”以上且つカウントパターン数ＣＰＮ以下である場合には、ＣＰ選定部１０３により、データベースＣＰ−ＤＢから、ＣＰ順序設定部１０２で設定されたカウントパターンＣＰ［ｍ］が選定される。
【００８６】
一方、ＤＰＴｅ算出部１０４は、検出タップ位置ＤＰＴｄ（Ｔ−１）に対して、移動可能なタップ数（移動可能タップ数）ＤＰＴｖを算出する。アップ（Ｕ）側とダウン（Ｄ）側とで移動方向が算出される。アップ（Ｕ）側の移動可能タップ数ＤＰＴｖ（Ｕ）は、タップ数ＳＮから検出タップ位置ＤＰＴｄ（Ｔ−１）を引いた値である（ＤＰＴｖ（Ｕ）＝ＳＮ−ＤＰＴｄ（Ｔ−１））。また、ダウン（Ｄ）側の移動可能タップ数ＤＰＴｖ（Ｄ）は、検出タップ位置ＤＰＴｄ（Ｔ−１）である（ＤＰＴｖ（Ｄ）＝ＤＰＴｄ（Ｔ−１））。
【００８７】
そして、移動量判断部１０６によって、カウントパターンＣＰ［ｍ］のカウント数ＣＮ［ｍ］が、アップ（Ｕ）側の移動可能タップ数ＤＰＴｖ（Ｕ）未満か否かが判断される（ステップ３０４）。
【００８８】
ステップ３０４において、肯定（Ｙｅｓ）の判断がされた場合、すなわち、ＣＮ［ｍ］＜ＤＰＴｖ（Ｕ）である場合には、ＤＰ８１のタップ位置ＤＰＴをカウント数ＣＮ［ｍ］だけアップ（Ｕ）側に移動させても、最大タップ位置ＤＰＴ（ＳＮ−１）に到達しない。よって、ＤＰ８１のタップ位置ＤＰＴを移動させる方向をアップ（Ｕ）に設定する（ステップ３０５）。そして、カウントパターンＣＰ［ｍ］が選定される（ステップ３０６）。これにより、移動量適合性判断ルーチンが終了する。
すなわち、移動量がＤＰ８１の最大タップ位置ＤＰＴ（ＳＮ−１）に到達しないことから、ＤＰ８１の制約条件をクリアするので、移動量が適合する。
【００８９】
一方、ステップ３０４において、否定（Ｎｏ）の判断がされた場合、すなわち、ＣＮ［ｍ］≧ＤＰＴｖ（Ｕ）である場合には、タップ位置ＤＰＴをアップ（Ｕ）側に移動させると、最大タップ位置ＤＰＴ（ＳＮ−１）に到達してしまう。すると、カウント数ＣＮ［ｍ］に関わらず、アナログ信号出力ＤＰＯａが電圧ＡＭＡＸに固定されてしまう（図３（ｂ）参照）。
そこで、カウント数ＣＮ［ｍ］が、ダウン（Ｄ）側の移動可能タップ数ＤＰＴｖ（Ｄ）未満（ＣＮ［ｍ］＜ＤＰＴｖ（Ｄ））か否かが判断される（ステップ３０７）。
【００９０】
ステップ３０７において、肯定（Ｙｅｓ）の判断がされた場合、すなわち、ＣＮ［ｍ］＜ＤＰＴｖ（Ｄ）である場合には、ＤＰ８１のタップ位置ＤＰＴをカウント数ＣＮ［ｍ］だけダウンさせても、最小タップ位置ＤＰＴ０に到達しない。よって、ＤＰ８１のタップ位置ＤＰＴを移動させる方向をダウン（Ｄ）に設定する（ステップ３０８）。
そして、カウントパターンＣＰ［ｍ］を選定する（ステップ３０６）。これにより、移動量適格性判断ルーチンが終了する。
すなわち、移動量がＤＰ８１の最小タップ位置ＤＰＴ０に到達しないことから、移動量がＤＰ８１の制約条件をクリアするので、移動量が適合する。
【００９１】
さて、ステップ３０７において、否定（Ｎｏ）の判断がされた場合、すなわち、ＣＮ［ｍ］≧ＤＰＴｖ（Ｄ）である場合には、タップ位置ＤＰＴをダウン（Ｄ）側に移動させると、最小タップ位置ＤＰＴ０に到達してしまう。すると、ＣＮ［ｍ］に関わらず、アナログ信号出力ＤＰＯａが電圧ＡＭＩＮに固定されてしまう（図３（ｂ）参照）。
そこで、ステップ３０２に戻って、変数ｍに“１”を加える。そして、ステップ３０３以降を繰り返すことにより、次のカウントパターンＣＰ［ｍ＋１］について、移動量が適合するか否かが判断される。
【００９２】
さて、ステップ３０３で、Ｎｏ（否定）と判断された場合、すなわち、変数ｍが“１”以上且つＣＰＮ以下でない場合、例えば変数ｍがカウントパターン数ＣＰＮを超える場合には、ステップ３０１に戻って、変数ｍを“０”に設定する。そして、ステップ３０３以降において、図５に示した最初のカウントパターンＣＰ［１］について、選定可能か否かが判断される。
【００９３】
図５に示すように、カウントパターンＣＰのカウント数ＣＮ［ｍ］を偏らないように設定しておくことで、いずれかのカウントパターンＣＰを適合させうる。
【００９４】
以上説明したように、移動量が適合するとは、カウントパターンＣＰのカウント数ＣＮによって設定されるタップ位置ＤＰＴの移動量が、ＤＰ８１の最小タップ位置ＤＰＴ０と最大タップ位置ＤＰＴ（ＳＮ−１）との間にあることをいう。これを、ＤＰ８１の制約条件と表示することがある。
【００９５】
以上説明したように、本実施の形態では、マスタ制御部１０とスレーブ制御部２０との間において、通信監視データＴＤｓ及び通信監視応答データＴＤｒの送受信が行われる。これにより、通信品質チェック（通信監視）が行われる。すなわち、マスタ制御部１０によって、送信した通信監視データＴＤｓがスレーブ制御部２０によって正しく受信されているか否かが判断されるようになっている。
そして、正しく受信されていると判断される場合には、マスタ制御部１０とスレーブ制御部２０との間におけるシリアル通信が正常に行われているとともに、スレーブ制御部２０が正常に動作していると判定される。
【００９６】
また、正しく受信されていないと判断された場合でも、図８で説明したように、通信監視応答データＴＤｒ（デジタル信号出力ＤＰＯｄ）を繰り返し受信することにより、ノイズによる一時的な通信エラーか否かを判別しうる。すなわち、繰り返して受信した通信監視応答データＴＤｒ（デジタル信号出力ＤＰＯｄ）により、シリアル通信が正常に行われていると判断された場合には、ノイズによる一時的な通信エラーと判定してよい。
【００９７】
なお、通信エラー（通信異常）が起こり得る場合であっても、要因によっては検出されなかったり（反応しなかったり）、タイミングずれなどにより検出できなかったりして、すり抜ける場合がある。
【００９８】
このような場合、カウントパターンＣＰを変更することで、通信エラー（通信異常）の要因を識別するとよい。
【００９９】
（シリアル通信回線３０において発生する通信エラー（通信異常）の要因）
次に、カウントパターンＣＰを変更することで、シリアル通信回線３０において発生する通信異常の要因を識別する方法について説明する。
通信エラー（通信異常）は、マスタ制御部１０が送信した送信データがスレーブ制御部２０で正しく受信されないことをいう。このため、マスタ制御部１０が送信した通信監視データＴＤｓ（カウントパターンＣＰ）が反映されず、マスタ制御部１０が受信した通信監視応答データＴＤｒ（デジタル信号出力ＤＰＯｄ）が異なってしまう。
これは、送信データが、通信監視データＴＤｓ（カウントパターンＣＰ）がシリアル通信回線３０を伝搬する間に化けて他のデータになることである。
【０１００】
このような通信エラー（通信異常）は、例えばシリアル通信回線３０（伝送路）の周波数特性により、シリアル通信回線３０がフィルタとして作用する場合、入出力端における反射による場合、外来ノイズの周波数特性による場合、外来ノイズの発生頻度による場合などに発生する。
【０１０１】
図１０は、シリアル通信回線３０（伝送路）における周波数特性の劣化により生じた波形の鈍り（フィルタ作用）による通信異常（通信エラー）を検出する例を説明する図である。図１０（ａ）は、ビットダブルをカウントパターンＣＰに用いた場合、図１０（ｂ）は、ビットトグルをカウントパターンＣＰに用いた場合である。
なお、ビットダブルとは、図５のｍ＝４における“０１１００１１”であって、ビットトグルとは、図５のｍ＝２における“０１０１０１０”である。ビットトグルは、ビットダブルに比べて、周波数が高い。
【０１０２】
図１０において、上から順に、マスタ制御部１０の通信制御ユニット１５が送信するカウントパターンＣＰの送信波形、スレーブ制御部２０のＩ／Ｏ拡張回路２１の通信制御ユニット４０が受信するカウントパターンＣＰの受信波形、クロック信号ＣＫ、スレーブ制御部２０のＩ／Ｏ拡張回路２１の通信制御ユニット４０が出力する出力波形である（図２参照）。
ここでは、出力波形は、クロック信号ＣＫ（図１０ではＣＫと表記する。）の立ち上がりタイミングにおける受信波形の電圧によって設定される。つまり、クロック信号ＣＫの立ち上がりタイミングにおいて、受信波形の電圧が中央値より大きいと出力波形は「Ｈ」になり、受信波形の電圧が中央値より小さいと出力波形は「Ｌ」になる。
【０１０３】
図１０（ａ）に示すように、シリアル通信回線３０の特性劣化によって、送信信号が受信信号で示すように波形が鈍っても、送信信号がビットダブルの場合、出力波形は、送信波形と一致する。つまり、送信されたカウントパターンＣＰが正しくＤＰ８１のタップ位置ＤＰＴの移動量として設定されるため、マスタ制御部１０の通信品質判定部１０９によって、通信正常と判定され、通信エラー（通信異常）とならない。すなわち、ビットダブルをカウントパターンＣＰに用いた場合、シリアル通信回線３０（伝送路）の特性劣化が検出されない。
【０１０４】
しかし、図１０（ｂ）に示すように、送信信号をビットトグル、つまり周波数を図１０（ａ）の場合に比べて高くすると、出力波形は、送信波形に一致しない。つまり、送信されたカウントパターンＣＰがＤＰ８１のタップ位置ＤＰＴの移動量として正しく反映されないため、マスタ制御部１０の通信品質判定部１０９によって、通信エラー（通信異常）と判定される。すなわち、ビットトグルをカウントパターンＣＰに用いた場合、シリアル通信回線３０（伝送路）の特性劣化が検出される。
【０１０５】
このように、シリアル通信におけるシリアル通信回線３０（伝送路）の特性劣化は、周波数が異なるように設定されたビットダブルとビットトグルとの複数のカウントパターンＣＰの通信監視データＴＤｓを連続させて送信することで検出される。
【０１０６】
図１１は、シリアル通信におけるシリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズによる通信異常を検出する例を説明する図である。図１１（ａ）は、ビットトグルをカウントパターンＣＰに用いた場合、図１１（ｂ）は、ビットダブルをカウントパターンＣＰに用いた場合である。
波形の関係は、図１０（ａ）、（ｂ）の場合と同様である。
【０１０７】
図１１（ａ）、（ｂ）に示すように、受信波形は、隣接する伝送路からのノイズ又は外来からのノイズによって乱れる。
図１１（ａ）に示すように、ビッドトグルの場合には、ノイズの影響を受けても、出力波形は、送信波形と一致する。つまり、送信されたカウントパターンＣＰが正しくＤＰ８１のタップ位置ＤＰＴの移動量として設定されるため、マスタ制御部１０の通信品質判定部１０９によって、通信正常と判定され、通信エラー（通信異常）とならない。すなわち、ビットトグルをカウントパターンＣＰに用いた場合、シリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズが検出されない。
【０１０８】
しかし、図１１（ｂ）に示すように、送信信号をビットダブル、すなわち周波数を図１１（ａ）の場合に比べて低くすると、出力波形は、送信波形に一致しなくなる。つまり、送信されたカウントパターンＣＰがＤＰ８１のタップ位置ＤＰＴの移動量として正しく反映されないため、マスタ制御部１０の通信品質判定部１０９によって、通信エラー（通信異常）と判定される。すなわち、ビットダブルをカウントパターンＣＰに用いた場合、シリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズが検出される。
【０１０９】
このように、シリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズは、周波数が異なるように設定されたビットトグルとビットダブルとのカウントパターンＣＰの通信監視データＴＤｓを連続させて送信することで検出される。
【０１１０】
図１２は、シリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズにおける特定のタイミングで発生する通信エラー（通信異常）を検出する例を説明する図である。図１２（ａ）は、ビットトグルをカウントパターンＣＰに用いた場合、図１２（ｂ）は、ビット連続をカウントパターンＣＰに用いた場合である。
なお、ビット連続とは、図５のｍ＝５における“００００００１”である。
波形の関係は、図１０（ａ）、（ｂ）の場合と同様である。
【０１１１】
図１２（ａ）、（ｂ）に示すように、受信波形は、隣接する伝送路からのノイズ又は外来からのノイズによって乱れる。
図１２（ａ）に示すように、ビッドトグルの場合には、ノイズの影響を受けても、出力波形は、送信波形と一致する。つまり、送信されたカウントパターンＣＰが正しくＤＰ８１のタップ位置ＤＰＴの移動量として設定されるため、マスタ制御部１０の通信品質判定部１０９によって、通信正常と判定され、通信エラー（通信異常）とならない。すなわち、ビッドトグルをカウントパターンＣＰに用いた場合、シリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズにおける特定のタイミングで発生する通信エラー（通信異常）が検出されない。
【０１１２】
しかし、図１２（ｂ）に示すように、送信信号をビット連続、つまり“０”（「Ｌ」）の期間を図１２（ａ）の場合に比べて長くすると、出力波形にノイズによって“１”（「Ｈ」）になる期間が発生して、出力波形は、送信波形に一致しなくなる。つまり、送信されたカウントパターンＣＰが正しくＤＰ８１のタップ位置ＤＰＴの移動量として設定されないため、マスタ制御部１０の通信品質判定部１０９によって、通信エラー（通信異常）と判定される。すなわち、ビット連続のカウントパターンＣＰを用いた場合、シリアル通信回線３０（伝送路）の隣接する伝送路からのノイズ又は外来からのノイズにおける特定のタイミングにおいて発生する通信異常が検出される。
なお、“０”（「Ｌ」）に代えて“１”（「Ｈ」）となる期間を長くしてもよい。
【０１１３】
図１３は、シリアル通信回線３０（伝送路）の隣接する伝送路からの突発的なノイズ又は外来からの突発的なノイズによる通信異常を検出する例を説明する図である。ここでは、“０”と“１”との配列がランダムなカウントパターンＣＰを用いている。
波形の関係は、図１０（ａ）、（ｂ）の場合と同様である。
【０１１４】
図１３に示すように、受信波形は、隣接する伝送路からの突発的なノイズ又は外来からの突発的なノイズによって乱れる。
図１３に示すように、突発的なノイズが発生して、出力波形が送信波形と一致しないと、カウントパターンＣＰが正しくＤＰ８１のタップ位置ＤＰＴの移動量として設定されないため、マスタ制御部１０の通信品質判定部１０９によって、通信エラー（通信異常）と判定される。
【０１１５】
以上説明したように、複数の異なるカウントパターンＣＰを用いることで、通信異常の要因を識別又は特定しうる。
したがって、データベースＣＰ−ＤＢに異なるカウントパターンＣＰを複数格納し、識別したい通信エラー（通信異常）の要因に応じて、ＣＰ順序設定部１０２がカウントパターンＣＰの選定順序を設定するようにしてもよい。
【０１１６】
付言すれば、マスタ制御部１０は、複数のカウントパターンＣＰをスレーブ制御部２０との間のシリアル通信回線３０に送信することで、シリアル通信の品質を判定している。これによって、シリアル通信回線３０などの品質が仕様に適合しているか否かが判定される。例えば、通信エラー（通信異常）の発生が多い場合には、シリアル通信の品質が仕様に適合していないと判定される。
【０１１７】
（検出タップ位置ＤＰＴｄの校正）
本実施の形態では、Ｉ／Ｏ拡張回路２１のＡ／Ｄモジュール５３により、ＤＰ８１のアナログ信号出力ＤＰＯａをデジタル信号出力ＤＰＯｄに変換している。そして、デジタル信号出力ＤＰＯｄに基づいて検出した検出タップ位置ＤＰＴｄにより、シリアル通信回線３０（伝送路）の通信品質をチェックしている。
よって、アナログ信号出力ＤＰＯａから変換されたデジタル信号出力ＤＰＯｄから、ＤＰ８１のタップ位置ＤＰＴに対応した検出タップ位置ＤＰＴｄが正しく得られることが求められる。
そこで、デジタル信号出力ＤＰＯｄと、ＤＰ８１のタップ位置ＤＰＴとの対応を校正する校正ルーチンを設けている。
【０１１８】
図１４は、マスタ制御部１０による校正に関する機能ブロックを説明する図である。
図１４に示す機能ブロックは、図２に示したマスタ制御部１０におけるＣＰＵ１１がソフトウェア（ソフトウエアモジュール）によって実現する。
マスタ制御部１０は、図６に示した機能ブロックにおいて、通信品質判定部１０９の代わりに、校正部１１０を設けるとともに、参照テーブル生成部１１１を設けたものである。
【０１１９】
校正部１１０は、ＣＰ設定部１０７、Ｕ／Ｄ設定部１０８から、予め定められたカウントパターンＣＰをスレーブ制御部２０に送信させるとともに、ＤＰＴｄ検出部１０５からスレーブ制御部２０から受信したデジタル信号出力ＤＰＯｄを、校正部１１０に送信する。
参照テーブル生成部１１１は、校正部１１０が校正した値に基づいて参照テーブルを作成し、メモリ１２に格納する。
【０１２０】
（校正ルーチン）
図１５は、マスタ制御部１０、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１及び通信監視回路２２の校正ルーチンに関するシーケンス図である。
ここでは、マスタ制御部１０、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１及び通信監視回路２２における信号の送受信を説明する。
【０１２１】
まず、マスタ制御部１０及びスレーブ制御部２０の電源がオンになると、スレーブ制御部２０における通信監視回路２２において、ＮＶメモリ８２に書き込まれていたＮＶメモリ値により、ＤＰ８１のタップ位置ＤＰＴが設定される（図３参照）（ステップ４０１）。
なお、ＤＰ８１のタップ位置ＤＰＴが設定されると、ＤＰ８１は、Ｉ／Ｏ拡張回路２１におけるＡ／Ｄモジュール５３に、タップ位置ＤＰＴに対応したアナログ信号出力ＤＰＯａを出力する。
【０１２２】
ここで、マスタ制御部１０のＤＰＴｄ検出部１０５は、スレーブ制御部２０に対して、デジタル信号出力ＤＰＯｄの取得を指示するＤＰＯ取得コマンドを送信する（ステップ４０２）。すると、Ｉ／Ｏ拡張回路２１におけるＡ／Ｄモジュール５３は、アナログ信号出力ＤＰＯａに対応するデジタル信号出力ＤＰＯｄを出力する。そして、マスタ制御部１０のＤＰＴｄ検出部１０５に、デジタル信号出力ＤＰＯｄが送信される。
【０１２３】
マスタ制御部１０のＤＰＴｄ検出部１０５は、受信したデジタル信号出力ＤＰＯｄをメモリ１２（ＲＡＭで構わない）に格納する（ステップ４０３）。
ここで、メモリ１２に格納されたデジタル信号出力ＤＰＯｄは、スレーブ制御部２０が電源オンになったときのデジタル信号出力ＤＰＯｄであって、初期値である。そこで、図１５では、ＤＰＯｉｎｉと表記する。
【０１２４】
ここから、校正ルーチンが開始される。
まず、マスタ制御部１０の校正部１１０は、ＤＰ８１のタップ位置ＤＰＴを最大タップ位置ＤＰＴ（ＳＮ−１）に移動させるため、タップ数ＳＮに“１”を加えたカウント数ＣＮ（＝ＳＮ＋１）のカウントパターンＣＰをＣＰ設定部１０７に設定させる。さらに、Ｕ／Ｄ設定部１０８に、Ｕ／Ｄコマンドをアップ（Ｕ）に設定させる。そして、Ｕ／Ｄコマンドを含む通信監視データＴＤｓ及びカウントパターンＣＰを含む通信監視データＴＤｓをスレーブ制御部２０に送信する（ステップ４０４）。
【０１２５】
これにより、通信監視回路２２のＤＰ８１は、最大タップ位置ＤＰＴ（ＳＮ−１）に移動する（ステップ４０５）。なお、ＤＰ８１のタップ位置ＤＰＴは、タップ数ＳＮより大きいカウント数ＣＮ（＝ＳＮ＋１）でアップ（Ｕ）側への移動を指示されるが、最大タップ位置ＤＰＴ（ＳＮ−１）に達すると、タップ位置ＤＰＴはもはや動くことができない。よって、ＤＰ８１のタップ位置ＤＰＴが最大タップ位置ＤＰＴ（ＳＮ−１）に達するように、タップ数ＳＮより大きいカウント数ＣＮを設定している。
すると、ＤＰ８１は、最大タップ位置ＤＰＴ（ＳＮ−１）に対応したアナログ信号出力ＤＰＯａをＩ／Ｏ拡張回路２１のＡ／Ｄモジュール５３に出力する。
【０１２６】
マスタ制御部１０のＤＰＴｄ検出部１０５が、スレーブ制御部２０に対して、デジタル信号出力ＤＰＯｄの取得を指示するＤＰＯ取得コマンドを送信する（ステップ４０６）。すると、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１のＡ／Ｄモジュール５３は、アナログ信号出力ＤＰＯａを変換したデジタル信号出力ＤＰＯｄを、マスタ制御部１０に送信する。
マスタ制御部１０の校正部１１０は、ＤＰＴｄ検出部１０５が受信したデジタル信号出力ＤＰＯｄを最大電圧ＡＭＡＸとして、メモリ１２（ＲＡＭで構わない）に格納する（ステップ４０７）。
【０１２７】
次に、マスタ制御部１０の校正部１１０は、ＤＰ８１のタップ位置ＤＰＴを最小タップ位置ＤＰＴ０に移動させるため、タップ数ＳＮに“１”を加えたカウント数ＣＮ（＝ＳＮ＋１）のカウントパターンＣＰをＣＰ設定部１０７に設定させる。さらに、Ｕ／Ｄ設定部１０８に、Ｕ／Ｄコマンドをダウン（Ｄ）に設定させる。そして、Ｕ／Ｄコマンドを含む通信監視データＴＤｓ及びカウントパターンＣＰを含む通信監視データＴＤｓをスレーブ制御部２０に送信する（ステップ４０８）。
これにより、通信監視回路２２のＤＰ８１は、最小タップ位置ＤＰＴ０に移動する（ステップ４０９）。なお、ＤＰ８１のタップ位置ＤＰＴは、タップ数ＳＮより大きいカウント数ＣＮ（＝ＳＮ＋１）のダウン（Ｄ）側への移動を指示されるが、最小タップ位置ＤＰＴ０に達すると、タップ位置ＤＰＴはもはや動くことができない。よって、ＤＰ８１のタップ位置ＤＰＴが最小タップ位置ＤＰＴ０に達するように、タップ数ＳＮより大きいカウント数ＣＮを設定している。
すると、ＤＰ８１は、最小タップ位置ＤＰＴ０に対応したアナログ信号出力ＤＰＯａをＩ／Ｏ拡張回路２１のＡ／Ｄモジュール５３に出力する。
【０１２８】
マスタ制御部１０のＤＰＴｄ検出部１０５が、スレーブ制御部２０に対して、デジタル信号出力ＤＰＯｄの取得を指示するＤＰＯ取得コマンドを送信する（ステップ４１０）。すると、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１のＡ／Ｄモジュール５３は、アナログ信号出力ＤＰＯａを変換したデジタル信号出力ＤＰＯｄを、マスタ制御部１０に送信する。
マスタ制御部１０の校正部１１０は、ＤＰＴｄ検出部１０５が受信したデジタル信号出力ＤＰＯｄを最小電圧ＡＭＩＮとして、メモリ１２（ＲＡＭで構わない）に格納する（ステップ４１１）。
【０１２９】
そして、後述するように、マスタ制御部１０における参照テーブル生成部１１１は、ＤＰ８１のタップ数（ステップ数）ＳＮ、最大電圧ＡＭＡＸ、最小電圧ＡＭＩＮに基づいて、参照テーブルを作成する（参照テーブル作成ルーチン）（ステップ４１２）。
これにより、校正ルーチンが終了する。
【０１３０】
以上説明した校正ルーチンは、マスタ制御部１０、スレーブ制御部２０が電源オンになった際、及び、マスタ制御部１０が電源オンの状態で、スレーブ制御部２０が電源オンになった際に実行される。
すなわち、参照テーブルは、スレーブ制御部２０の電源がオンになる毎に、新たに生成される。
【０１３１】
これにより、例え通信監視回路２２の電源電位ＶＣＣが変動しても、変動した電源電位ＶＣＣに対応して、参照テーブルが生成される。
また、マスタ制御部１０及びスレーブ制御部２０（Ｉ／Ｏ拡張回路２１、通信監視回路２２）に、製造ばらつきがあっても、それぞれに対して、参照テーブルが生成されるので、製造ばらつきの影響を受けない。
これに対して、参照テーブルを校正せず予め定められたものとした（固定した）場合には、電源電位ＶＣＣの変動や、マスタ制御部１０及びスレーブ制御部２０（Ｉ／Ｏ拡張回路２１、通信監視回路２２）の製造ばらつきによって、ＤＰＴｄ検出部１０５が検出した検出タップ位置ＤＰＴｄとＤＰ８１のタップ位置ＤＰＴとの関係がずれてしまい、通信エラー（通信異常）が発生したと判定されやすくなる。
【０１３２】
（参照テーブル作成ルーチン）
次に、図１５におけるステップ４１２の参照テーブルを作成するルーチン（参照テーブル作成ルーチン）を説明する。
図１６は、参照テーブル作成ルーチンを説明するフローチャートである。
なお、ＤＰ８１のタップ数ＳＮは、予めメモリ１２（プログラムなどと同様にＮＶメモリ）に格納されているとする。
【０１３３】
マスタ制御部１０の参照テーブル生成部１１１は、メモリ１２に格納されているＤＰ８１のタップ数ＳＮを読み出す（ステップ５０１）。
【０１３４】
次に、メモリ１２に格納されている最大タップ位置ＤＰＴ（ＳＮ−１）に対応する電圧ＡＭＡＸと、最小タップ位置ＤＰＴ０に対応する電圧ＡＭＩＮとを読み出す（ステップ５０２）。
そして、タップ位置ＤＰＴ間に対応する幅（電圧）ＡＤＰを、ＡＤＰ＝（ＡＭＡＸ−ＡＭＩＮ）／ＳＮとして算出する（ステップ５０３）。
すなわち、タップ位置ＤＰＴ間の電圧は、電圧ＡＭＩＮと電圧ＡＭＡＸとの差をタップ数で分割して求められる。ここでは、タップ位置ＤＰＴ間の電圧は、均等に分割されているとしている。
【０１３５】
次に、ＤＰ８１の１タップ位置ＤＰＴに許容される上限及び下限の幅（電圧）ＡＤＰＧを、ＡＤＰＧ＝ＡＤＰ／２として算出する（ステップ５０４）。そして、１タップ位置ＤＰＴの上限の電圧ＡＤＰＴを、ＡＤＰＴ＝ＡＤＰ＋ＡＤＰＧとして算出する（ステップ５０５）。さらに、１タップ位置ＤＰＴの下限の電圧ＡＤＰＢを、ＡＤＰＢ＝ＡＤＰ−ＡＤＰＧとして算出する（ステップ５０６）。
【０１３６】
次に、変数ｉを“０”と置く（ステップ５０７）。そして、変数ｉがタップ数ＳＮ−１でないか否かが判断される（ステップ５０８）。
ステップ５０８で、肯定（Ｙｅｓ）の判断がされた場合、すなわち、変数ｉがタップ数ＳＮ−１でない場合には、変数ｉに“１”を加える（ステップ５０９）。
そして、それぞれのタップ位置ＤＰＴｉに対する最小電圧（最小値）ＤＰＯＢｉをＤＰＯＢｉ＝（ＡＤＰＢ×ｉ）＋ＡＭＩＮで、中央電圧（中央値）ＤＰＯＣｉをＤＰＯＣｉ＝（ＡＤＰ×ｉ）＋ＡＭＩＮ、最大電圧（最大値）ＤＰＯＴｉを、ＤＰＯＴｉ＝（ＡＤＰＴ×ｉ）＋ＡＭＩＮとして算出する。
そして、最小値ＤＰＯＢｉ、中央値ＤＰＯＣｉ、最大値ＤＰＯＴｉがメモリ１２に書き込まれる（ステップ５１０）。
その後、ステップ５０８に戻る。
【０１３７】
一方、ステップ５０８において、否定（Ｎｏ）の判断がされた場合、すなわち、変数ｉがタップ数ＳＮ−１である場合には、参照テーブル作成ルーチンを終了する。
なお、他のルーチンにより、参照テーブルを作成してもよい。
【０１３８】
図１７は、参照テーブルの一例を説明する図である。
図１６のフローチャートにより、図１７の参照テーブルが作成される。すなわち、タップ位置ＤＰＴ０〜ＤＰＴ（ＳＮ−１）に対応するデジタル信号出力ＤＰＯｄの範囲が設定されている。よって、図６のマスタ制御部１０のＤＰＴｄ検出部１０５は、参照テーブルを参照して、デジタル信号出力ＤＰＯｄが、ＤＰＯＢｉ＜ＤＰＯｄ≦ＤＰＯＴｉであれば、タップ位置ＤＰＴｉ（＝ＤＰＴｄｉ）と検出する。
【０１３９】
そして、作成された参照テーブルを参照することにより、図１５のステップ４０３でメモリ１２に格納されたデジタル信号出力ＤＰＯｉｎｉに対応する検出タップ位置ＤＰＴｄが検出される。すなわち、スレーブ制御部２０の電源がオフになる前に、通信監視回路２２のＮＶメモリ８２に格納された、ＤＰ８１のタップ位置ＤＰＴが分かる。
このタップ位置ＤＰＴは、例えば、スレーブ制御部２０が電源リセットされた場合の要因の推定に用い得る。
【０１４０】
［電源リセット要因の推定］
以上においては、シリアル通信が正常に行われているかの通信品質チェックについて説明した。本実施の形態では、通信品質チェックに関わらず、スレーブ制御部２０において、電源リセットが発生した場合において、電源リセットの要因を推定しうる。
以下、電源リセット要因の推定について説明する。
【０１４１】
電源リセットは、例えば、スレーブ制御部２０に電源異常が発生する場合、外部からリセット信号が入力された場合、ＷＤＴ２３のタイムアウトによる場合などに発生する。
【０１４２】
まず、スレーブ制御部２０の電源に異常が生じ、電源電圧が最低電圧未満になることにより、スレーブ制御部２０に電源リセットが発生したとする。
この場合、電源監視回路２４は、電源電圧が最低電圧未満に低下したことを検知し、通信監視回路２２のメモリタイミング生成回路８３に信号を送信する。
すると、メモリタイミング生成回路８３は、ＮＶメモリ８２にＤＰ８１のタップ位置ＤＰＴを示すデータを書き込むためのメモリタイミングを生成し、ＮＶメモリ８２にＤＰ８１のタップ位置ＤＰＴを示すデータを書き込む。
【０１４３】
ＮＶメモリ８２には、ＤＰ８１のタップ位置ＤＰＴを示すデータが書き込めるように、ＤＰ８１のタップ位置ＤＰＴを示すデータが設定されている。しかし、メモリタイミング生成回路８３がメモリタイミングを生成しない限り、ＮＶメモリ８２へＤＰ８１のタップ位置ＤＰＴを示すデータの書き込み（記憶）は行われない。
電源電圧が最低電圧未満に低下したときに限りＮＶメモリ８２へ書き込むことにより、ＮＶメモリ８２に書き換え（書き込み）回数の制限があっても、書き換え回数がこの制限に達することが抑制される。
【０１４４】
なお、前述したように、通信監視回路２２は、ＮＶメモリ８２にＤＰ８１のタップ位置ＤＰＴを示すデータが書き込まれるまでの間、動作を継続する。
【０１４５】
その後、スレーブ制御部２０の電源電圧が回復すると、ＮＶメモリ８２に書き込まれたＤＰ８１のタップ位置ＤＰＴを表すデータ（ＮＶメモリ値）により、ＤＰ８１のタップ位置ＤＰＴが設定される。
そして、上記したように、ＤＰ８１のアナログ信号出力ＤＰＯａが、Ａ／Ｄモジュール５３によりデジタル信号出力ＤＰＯｄに変換され、マスタ制御部１０に送信される。さらに、マスタ制御部１０のＤＰＴｄ検出部１０５により、デジタル信号出力ＤＰＯｄから、検出タップ位置ＤＰＴｄが検出される。
【０１４６】
マスタ制御部１０にそれまでにスレーブ制御部２０に送信した通信監視データＴＤｓによる予測タップ位置ＤＰＴｅの履歴を記憶させておけば、予測タップ位置ＤＰＴｅの履歴を参照することにより、どの時点において、スレーブ制御部２０に電源異常が発生したか判断される。
例えば、検出タップ位置ＤＰＴｄが、直前に送信した通信監視データＴＤｓにおけるカウントパターンＣＰによって設定される予測タップ位置ＤＰＴｅと一致すれば、スレーブ制御部２０の電源電圧の低下によって、スレーブ制御部２０の電源リセットが発生したと推定される。
【０１４７】
また、スレーブ制御部２０の電源リセットが、ＷＤＴ２３によって発生した場合には、図２から分かるように、電源監視回路２４は動作しない。よって、ＮＶメモリ８２に記憶されたＤＰ８１のタップ位置ＤＰＴは、直前に送信した通信監視データＴＤｓのカウントパターンＣＰによって算出された予測タップ位置ＤＰＴｅと一致せず、それより以前に送信した通信監視データＴＤｓのカウントパターンＣＰによって算出された予測タップ位置ＤＰＴｅと一致するはずである。
よって、スレーブ制御部２０の電源リセットが、電源電圧が最低電圧未満に低下したことによって発生したのではないと推定しうる。
【０１４８】
そして、スレーブ制御部２０の電源リセットが、外部からのリセット信号によって発生する場合には、リセット信号は、電源リセット回路２５に入力される。この場合においても、図２から分かるように、電源監視回路２４は動作しない。よって、ＮＶメモリ８２に書き込まれたＤＰ８１のタップ位置ＤＰＴは、直前に送信した通信監視データＴＤｓのカウントパターンＣＰよって算出された予測タップ位置ＤＰＴｅと一致せず、それ以前に送信した通信監視データＴＤｓのカウントパターンＣＰによって算出された予測タップ位置ＤＰＴｅと一致するはずである。
どの時点で送信した通信監視データＴＤｓのカウントパターンＣＰであるかにより、スレーブ制御部２０に発生した電源リセットが、ＷＤＴ２３によるか、外部からのリセット信号によるかを推定しうる。
【０１４９】
Ｉ／Ｏ拡張回路２１は、例えば、ＡＳＩＣで構成される。
この場合、汎用性を考慮して、Ｉ／Ｏ拡張ユニット５０には、多数のＩＦモジュールが設けられる。これらには、特定の機能部の特定の制御対象を制御する専用モジュールの他に、シリアル信号を出力するＩＦモジュール、センサからのアナログ信号をシリアル信号に変換するＡ／Ｄ変換器として機能するＩＦモジュールなどの汎用ＩＦモジュールが含まれる。そして、いくつかの汎用ＩＦモジュールは用いられず、余剰となっている。
【０１５０】
そこで、本実施の形態では、機能部の制御に用いられないＩＦモジュールの内、Ａ／Ｄ変換器として機能するＩＦモジュールをＡ／Ｄモジュール５３、パルス信号Ｐをシリアルに出力するＩＦモジュール５２をパルス信号出力モジュール５４として用いている。
すなわち、汎用性を考慮したＡＳＩＣで構成されたＩ／Ｏ拡張回路２１に、通信監視回路２２を設けることで、マスタ制御部１０とスレーブ制御部２０との間のシリアル通信の品質のチェック（監視）、ノイズ要因の識別又は特定、及び／又は、スレーブ制御部２０における電源リセットの要因の推定を行っている。
【０１５１】
また、マスタ制御部１０における通信制御ユニット１５、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１の通信制御ユニット４０は、ＳＰＩ通信の規格にて構築されていて、変更することが容易でない。よって、本実施の形態では、通信制御ユニット１５及び通信制御ユニット４０を変更することなく、それらの外部に通信監視回路２２を設け、シリアル通信を監視している。
【０１５２】
しかも、本実施の形態では、通信監視回路２２にＤＰ８１を用いることにより、Ｉ／Ｏ拡張ユニット５０におけるパルス信号出力モジュール５４からのパルス信号ＰによりＤＰ８１のタップ位置ＤＰＴを移動させ、ＤＰ８１のアナログ信号出力ＤＰＯａをＡ／Ｄモジュール５３によりデジタル信号出力ＤＰＯｄに変換している。これにより、通信監視回路２２に接続されるＩ／Ｏ拡張ユニット５０におけるＩＦモジュールの数を２個（Ａ／Ｄモジュール５３、パルス信号出力モジュール５４）に抑制している。すなわち、ＤＰ８１を用いることで、通信監視回路２２を端子数が少ない回路構成とし、ＡＳＩＣで構成されたＩ／Ｏ拡張回路２１に実装（接続）しやすくしている。
すなわち、ＡＳＩＣで構成されたＩ／Ｏ拡張回路２１の構成を変更することなく、シリアル通信の通信品質のチェックなどを行う機能を付加している。
【０１５３】
（変形例）
上記においては、通信監視回路２２にＤＰ８１を用いた。そして、受信したカウントパターンＣＰに応じて、現在のＤＰ８１のタップ位置ＤＰＴからアップ（Ｕ）側又はダウン（Ｄ）側に移動させるようにした。このため、タップ位置ＤＰＴは、これまで受信したカウントパターンＣＰ及びＵ／Ｄコマンドの累積値となる。
このように、タップ位置ＤＰＴを累積させず、通信監視データＴＤｓ（カウントパターンＣＰ）を受信する毎に、最小タップ位置ＤＰＴ０又は最大タップ位置ＤＰＴ（ＳＮ−１）にリセットするようにしてもよい。
このようにすることで、ＤＰＴｅ算出部１０４における予測タップ位置ＤＰＴｅの算出が容易になる。
【０１５４】
この場合には、図８に示す通信品質チェックルーチンにおいて、ステップ２１２の戻り先をステップ２０２としてよい。このようにすることで、複数回（図８では３回）、カウントパターンＣＰを送信し、それに対する検出タップ位置ＤＰＴｄを受信することで、シリアル通信回線３０の送信と受信とにおいて通信品質のチェックがされる。
このようにすることで、複数のカウントパターンＣＰを送信して行う、シリアル通信回線３０に発生するノイズの識別や特定が容易になる。
なお、ステップ２０８は、ステップ２０１の後、ステップ２１２からの戻りの前にずらすことになる。
【０１５５】
また、ＤＰ８１を用いた通信監視回路２２の代わりに、カウントパターンＣＰを含む通信監視データＴＤｓをアナログ変換して保持するものを用いてもよい。
【０１５６】
ここで、本実施の形態が適用される制御部１と、本実施の形態が適用されない制御部１とを比較する。本実施の形態が適用されない制御部１とは、スレーブ制御部２０が通信監視回路２２を備えない制御部１であって、マスタ制御部１０とスレーブ制御部２０との間で、通信監視データＴＤｓ及び通信監視応答データＴＤｒの送受信がされない場合をいう。
【０１５７】
本実施の形態が適用されない制御部１では、マスタ制御部１０は、スレーブ制御部２０にデータ（図４におけるＣＤｓ）を一方的に送信することになる。このため、マスタ制御部１０は、送信したデータがスレーブ制御部２０によって正しく受信されているか否かを判断できない。すなわち、通信エラー（通信異常）が発生しても、マスタ制御部１０は、通信エラー（通信異常）の発生を検知することができない。
この場合、マスタ制御部１０は、機能部における制御対象がエラーを含むデータを受信したことによる異常動作などによって発せられる異常（フェイル：Fail）信号などを受信することで、通信エラー（通信異常）の発生を知ることになる。
【０１５８】
また、本実施の形態が適用されない制御部１において、マスタ制御部１０からスレーブ制御部２０に送信する制御するためのデータＣＤｓを、スレーブ制御部２０からマスタ制御部１０に折り返し送信させることで、マスタ制御部１０からスレーブ制御部２０に正しくデータＣＤｓが送信されているか否かを判断する方式がある（ミラー方式）。
しかし、ミラー方式では、シリアル通信回線３０における受信用の通信路Ｒｘが、折り返しのデータＣＤｓに占有される。すなわち、シリアル通信回線３０の通信レートがミラー方式を使用しない場合の倍になる。このため、制御対象からの応答のためのデータＣＤｒの送信が妨げられるおそれがある。すなわち、画像形成装置１００が必要とする通信レートが確保できないおそれがある。
【０１５９】
さらに、マスタ制御部１０が、スレーブ制御部２０に定期的に固定のデータ（ビット）を送信し、スレーブ制御部２０におけるＩ／Ｏ拡張回路２１の予め定められたレジスタに格納し、返信されたデータが送信したデータと一致するかを判断して、通信品質をチェックすることが考えられる。
この場合、スレーブ制御部２０が電源リセットされると、レジスタに格納されたデータが消去されてしまう。このため、電源リセットの要因が特定されない。
また、固定のデータを用いる方法では、前述したように、シリアル通信回線３０に生じる通信異常の要因によっては、そもそも検出されなかったり（反応しなかったり）、タイミングずれなどにより検出できなかったりして、すり抜けるおそれがある。
【０１６０】
また、本実施の形態が適用されない制御部１では、通信監視データＴＤｓと通信監視応答データＴＤｒとのやり取りが行われないため、スレーブ制御部２０の電源リセットが、スレーブ制御部２０の電源電圧の最低電圧未満への低下によるか、ＷＤＴ２３によるか、外部からのリセット信号によるかを推定しえない。
【０１６１】
これに対し、本実施の形態が適用される制御部１では、マスタ制御部１０とスレーブ制御部２０との間において、通信監視データＴＤｓ及び通信監視応答データＴＤｒの送受信が行われる。よって、マスタ制御部１０は、送信した通信監視データＴＤｓがスレーブ制御部２０によって正しく受信されているか否かが判断される。
そして、スレーブ制御部２０における通信監視回路２２は、電源リセットが生じた際のＤＰ８１のタップ位置ＤＰＴをＮＶメモリ８２に格納する。このタップ位置ＤＰＴは、電源リセットで消去されない。よって、このタップ位置ＤＰＴを読み出すことで、スレーブ制御部２０に発生した電源リセットの要因を推定しうる。
【０１６２】
また、本実施の形態が適用される制御部１では、通信監視データＴＤｓに複数のカウントパターンＣＰを用いていることから、シリアル通信回線３０に生じる通信エラー（通信異常）の要因を識別又は特定しうる。
【０１６３】
さらに、本実施の形態が適用される制御部１では、図４に示すように、機能部を制御するデータＣＤｓの間に、周期的に通信監視データＴＤｓを挿入している。そして、折り返される応答のための通信監視応答データＴＤｒは、通信監視データＴＤｓに対応して送信される。よって、制御のためのデータＣＤｓ及び応答のためのデータＣＤｒの通信が妨げられることが抑制される。
【０１６４】
なお、本実施の形態では、マスタ制御部１０は、カウントパターンＣＰとして送信したデジタル信号が、スレーブ制御部２０でアナログ信号（アナログ信号出力ＤＰＯａ）に変換され、このアナログ信号が変換されたデジタル信号（デジタル信号出力ＤＰＯｄ）を受信するとした。しかし、マスタ制御部１０が、スレーブ制御部２０にデジタル信号を送信し、スレーブ制御部２０において、予め定められた規定によってこのデジタル信号が編集されて生成されたデジタル信号を受信してもよい。すなわち、マスタ制御部１０が送信したデジタル信号は、アナログ信号に変換されなくてもよい。
【符号の説明】
【０１６５】
１…制御部、２…ユーザインターフェース（ＵＩ）部、３…画像形成部、４…画像読取部、５…送受信部、１０…マスタ制御部、１１…ＣＰＵ、１２…メモリ、１４…データバス、１５、４０…通信制御ユニット、１６、４２…送信モジュール、１７、４１…受信モジュール、１８、４３…通信制御モジュール、２０…スレーブ制御部、２１…Ｉ／Ｏ拡張回路、２２…通信監視回路、２３…ウオッチドックタイマ回路（ＷＤＴ）、２４…電源監視回路、２５…電源リセット回路、３０…シリアル通信回線、５０…Ｉ／Ｏ拡張ユニット、５１…Ｉ／Ｏ制御モジュール、５２…ＩＦ（インターフェース）モジュール、５３…Ａ／Ｄモジュール、５４…パルス信号出力モジュール、６０…クロック生成回路、７０…システムリセット回路、８１…デジタルポテンショメータ（ＤＰ）、８２…ＮＶメモリ、８３…メモリタイミング生成回路、１００…画像形成装置、１０１…カウントパターン（ＣＰ）生成部、１０２…カウントパターン（ＣＰ）順序設定部、１０３…カウントパターン（ＣＰ）選定部、１０４…予測タップ位置（ＤＰＴｅ）算出部、１０５…検出タップ位置（ＤＰＴｄ）検出部、１０６…移動量判断部、１０７…カウントパターン（ＣＰ）設定部、１０８…アップ／ダウン（Ｕ／Ｄ）設定部、１０９…通信品質判定部、１１０…校正部、１１１…参照テーブル生成部、ＣＫ…クロック信号、ＣＮ…カウント数、ＣＰ…カウントパターン、ＣＰ−ＤＢ…データベース、ＤＰＯａ…アナログ信号出力、ＤＰＯｄ…デジタル信号出力、ＤＰＴ…タップ位置、ＤＰＴｄ…検出タップ位置、ＤＰＴｅ…予測タップ位置、ＳＮ…タップ数、ＴＤｒ…通信監視応答データ、ＴＤｓ…通信監視データ
【図１】
2017040984.tif 000003
【図２】
2017040984.tif 000004
【図３】
2017040984.tif 000005
【図４】
2017040984.tif 000006
【図５】
2017040984.tif 000007
【図６】
2017040984.tif 000008
【図７】
2017040984.tif 000009
【図８】
2017040984.tif 000010
【図９】
2017040984.tif 000011
【図１０】
2017040984.tif 000012
【図１１】
2017040984.tif 000013
【図１２】
2017040984.tif 000014
【図１３】
2017040984.tif 000015
【図１４】
2017040984.tif 000016
【図１５】
2017040984.tif 000017
【図１６】
2017040984.tif 000018
【図１７】
2017040984.tif 000019