(57)【要約】【課題】複数の通知信号線を備えない場合に比べて、スレーブ制御部とのシリアル通信において発生した異常の要因をマスタ制御部が容易に特定できる画像形成装置などを提供する。【解決手段】画像を形成する画像形成部３と、画像形成部３における画像の形成を制御するマスタ制御部１０とスレーブ制御部２０とを含む制御部１と、マスタ制御部１０とスレーブ制御部２０との間を接続し、シリアル通信を行うシリアル通信回線３０と、マスタ制御部１０とスレーブ制御部２０との間で状態を通知する複数の通知信号線９０と、を備え、複数の通知信号線９０は、複数の通知信号線９０の各論理値とシリアル通信回線によるシリアル通信の状態との組み合わせによりスレーブ制御部２０とのシリアル通信において発生した異常の要因が、マスタ制御部１０によって識別されるように構成されている。【選択図】図２
2017045154.tif 000002
【特許請求の範囲】
【請求項１】
画像を形成する画像形成部と、
マスタ制御部とスレーブ制御部とを含み前記画像形成部における画像の形成を制御する制御部と、
前記マスタ制御部と前記スレーブ制御部との間を接続し、シリアル通信を行うシリアル通信回線と、
前記マスタ制御部と前記スレーブ制御部との間で状態を通知する複数の通知信号線と、を備え、
前記複数の通知信号線は、当該複数の通知信号線の各論理値と前記シリアル通信回線によるシリアル通信の状態との組み合わせにより前記スレーブ制御部とのシリアル通信において発生した異常の要因が、前記マスタ制御部によって識別されるように構成されていることを特徴とする画像形成装置。
【請求項２】
マスタ制御部と、
前記マスタ制御部によって制御されるスレーブ制御部と、
前記マスタ制御部と前記スレーブ制御部との間でシリアル通信を行うシリアル通信回線と、
前記マスタ制御部と前記スレーブ制御部との間で状態を通知する複数の通知信号線と、を備え、
前記複数の通知信号線は、当該複数の通知信号線の各論理値と前記シリアル通信回線によるシリアル通信の状態との組み合わせにより前記スレーブ制御部とのシリアル通信において発生した異常の要因が、前記マスタ制御部によって識別されるように構成されていることを特徴とする通信制御装置。
【請求項３】
前記スレーブ制御部は、接続される制御対象を制御するデータが入出力される入出力回路と、シリアル通信の状態を監視する監視回路と、当該スレーブ制御部の電源リセットを行う電源リセット回路とを、備え、
前記複数の通知信号線は、前記電源リセット回路の状態を前記マスタ制御部に通知する通知信号線、前記入出力回路において電源リセットを行う部分の状態を当該マスタ制御部に通知する通知信号線、及び、当該マスタ制御部から当該入出力回路において電源リセットを行う部分に電源リセットを通知する通知信号線を含むことを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記スレーブ制御部における前記監視回路は、
前記マスタ制御部から前記シリアル通信回線を介して受信する通信監視用のデジタルデータを、アナログ信号に変換し、当該アナログ信号を他のデジタルデータに変換して当該マスタ制御部に送信し、
前記マスタ制御部は、
前記スレーブ制御部に送信した前記デジタルデータと、当該スレーブ制御部から受信した前記他のデジタルデータとから、当該スレーブ制御部とのシリアル通信の状態を検知することを特徴とする請求項３に記載の通信制御装置。
【請求項５】
前記スレーブ制御部における前記監視回路は、デジタルポテンショメータを有し、当該デジタルポテンショメータにより、前記マスタ制御部から前記シリアル通信回線を介して受信する前記通信監視用のデジタルデータを、アナログ信号に変換することを特徴とする請求項４に記載の通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び通信制御装置に関する。
【背景技術】
【０００２】
特許文献１には、制御MPUとIOリンクを介して接続されてコントローラを構成するプロセス入出力装置であって、複数のIOモジュール、これら複数のIOモジュールをIOバス経由で制御する伝送制御モジュール、及び伝送制御モジュールとIOモジュールを収納するIOシェルフで構成され、IOシェルフの隣接する２つの実装スロットごとに同一種のIOモジュールを実装し、その一方を稼働、他方を待機としてIOモジュールを二重化し、プロセスヘの出力データを伝送制御モジュール経由でIOモジュールペアの双方に与えるとともに、プロセスヘの出力をIOモジュールぺア間の稼働/待機切替え回路により決定される稼働側だけが行い、プロセスからの入力をIOモジュールペアの双方へ接続することにより、伝送制御モジュールは前記切替え回路により決定される稼働側のデータのみを制御MPUへ通知するようにした二重化プロセス入出力装置において、IOモジュールペアのパルス入力モジュールにおけるプロセスインタフェース部およびパルスカウンタを二重化する手段と、二重化されて得られた２つのパルスカウント値を比較し不一致であれば重故障と判別して稼働/待機を切り替える手段と、を備えた二重化プロセス入出力装置が記載されている。
【０００３】
特許文献２には、双方向に直列信号を伝送する伝送制御回路の受信側に、受信信号を並列化する直並変換回路と、この直並変換回路の出力を順次格納するメモリを設け、伝送相手方の状態を随時前記メモリに更新登録し、メモリの内容を読み出すことにより、伝送相手方の状況を取り込む伝送制御回路が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−６５６０３号公報
【特許文献２】特開平４−１７８０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＰＵを備えるマスタ制御部と、マスタ制御部によって制御されて制御対象を制御するスレーブ制御部とを備え、マスタ制御部とスレーブ制御部との間をシリアル（ＳＰＩ：Serial Peripheral Interface）通信でデータを送受信するマスタスレーブ方式が広く用いられている。しかし、マスタ制御部が、スレーブ制御部とのシリアル通信において発生した異常の要因を特定することは容易ではない。
本発明は、複数の通知信号線を備えない場合に比べて、スレーブ制御部とのシリアル通信において発生した異常の要因をマスタ制御部が容易に特定できる画像形成装置などを提供する。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、画像を形成する画像形成部と、マスタ制御部とスレーブ制御部とを含み前記画像形成部における画像の形成を制御する制御部と、前記マスタ制御部と前記スレーブ制御部との間を接続し、シリアル通信を行うシリアル通信回線と、前記マスタ制御部と前記スレーブ制御部との間で状態を通知する複数の通知信号線と、を備え、前記複数の通知信号線は、当該複数の通知信号線の各論理値と前記シリアル通信回線によるシリアル通信の状態との組み合わせにより前記スレーブ制御部とのシリアル通信において発生した異常の要因が、前記マスタ制御部によって識別されるように構成されていることを特徴とする画像形成装置である。
請求項２に記載の発明は、マスタ制御部と、前記マスタ制御部によって制御されるスレーブ制御部と、前記マスタ制御部と前記スレーブ制御部との間でシリアル通信を行うシリアル通信回線と、前記マスタ制御部と前記スレーブ制御部との間で状態を通知する複数の通知信号線と、を備え、前記複数の通知信号線は、当該複数の通知信号線の各論理値と前記シリアル通信回線によるシリアル通信の状態との組み合わせにより前記スレーブ制御部とのシリアル通信において発生した異常の要因が、前記マスタ制御部によって識別されるように構成されていることを特徴とする通信制御装置である。
請求項３に記載の発明は、前記スレーブ制御部は、接続される制御対象を制御するデータが入出力される入出力回路と、シリアル通信の状態を監視する監視回路と、当該スレーブ制御部の電源リセットを行う電源リセット回路とを、備え、前記複数の通知信号線は、前記電源リセット回路の状態を前記マスタ制御部に通知する通知信号線、前記入出力回路において電源リセットを行う部分の状態を当該マスタ制御部に通知する通知信号線、及び、当該マスタ制御部から当該入出力回路において電源リセットを行う部分に電源リセットを通知する通知信号線を含むことを特徴とする請求項２に記載の通信制御装置である。
請求項４に記載の発明は、前記スレーブ制御部における前記監視回路は、前記マスタ制御部から前記シリアル通信回線を介して受信する通信監視用のデジタルデータを、アナログ信号に変換し、当該アナログ信号を他のデジタルデータに変換して当該マスタ制御部に送信し、前記マスタ制御部は、前記スレーブ制御部に送信した前記デジタルデータと、当該スレーブ制御部から受信した前記他のデジタルデータとから、当該スレーブ制御部とのシリアル通信の状態を検知することを特徴とする請求項３に記載の通信制御装置である。
請求項５に記載の発明は、前記スレーブ制御部における前記監視回路は、デジタルポテンショメータを有し、当該デジタルポテンショメータにより、前記マスタ制御部から前記シリアル通信回線を介して受信する前記通信監視用のデジタルデータを、アナログ信号に変換することを特徴とする請求項４に記載の通信制御装置である。
【発明の効果】
【０００７】
請求項１の発明によれば、複数の通知信号線を備えない場合に比べて、スレーブ制御部とのシリアル通信において発生した異常の要因をマスタ制御部が容易に特定できる。
請求項２の発明によれば、複数の通知信号線を備えない場合に比べて、スレーブ制御部とのシリアル通信において発生した異常の要因をマスタ制御部が容易に特定できる。
請求項３の発明によれば、電源リセットに関する複数の通知信号線を用いない場合に比べて、スレーブ制御部とのシリアル通信において発生した異常の要因を容易に特定できる。
請求項４の発明によれば、デジタルデータをアナログ信号に変換しない場合に比べて、スレーブ制御部の構成が簡易になる。
請求項５の発明によれば、デジタルポテンショメータを用いない場合に比べ、デジタルデータのアナログ信号への変換がより簡易な構成でできる。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態が適用される画像形成装置の一例を示す図である。
【図２】制御部の構成の一例を示す図である。
【図３】通信監視回路を説明する図である。（ａ）は、通信監視回路の詳細図、（ｂ）は、ＤＰのタップ位置を説明する図である。
【図４】マスタ制御部とスレーブ制御部との間で送受信されるデータ列を示す図である。（ａ）は、マスタ制御部からスレーブ制御部に送信されるデータ列、（ｂ）は、スレーブ制御部からマスタ制御部に送信されるデータ列である。
【図５】通信監視データにおけるカウントパターンの一例を示す図である。
【図６】マスタ制御部とスレーブ制御部との間の通信を説明するシーケンス図である。
【図７】マスタ制御部による通信監視ルーチンのフローチャートの一例である。
【図８】ＤＰのタップ位置の移動量がＤＰに適合するか否かを判断する移動量適合性判断ルーチンを説明するフローチャートの一例である。
【図９】マスタ制御部、スレーブ制御部におけるＩ／Ｏ拡張回路及び通信監視回路の校正ルーチンに関するシーケンス図である。
【図１０】参照テーブル作成ルーチンを説明するフローチャートである。
【図１１】参照テーブルの一例を説明する図である。
【図１２】シリアル通信の状態と通知信号の論理値（ステータス）との関係を説明する図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
ここでは、マスタ制御部とスレーブ制御部とを備え、マスタスレーブ方式により、それらの間でシリアル（ＳＰＩ：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）信号などを受信することで、通信エラーの発生を知ることになる。
そして、マスタ制御部１０とスレーブ制御部２０との間に複数の通知信号線９０を備えないため、マスタ制御部１０は、スレーブ制御部２０とのシリアル通信に発生した異常を識別しえない。よって、回復のための処理を迅速に行えず、画像形成装置１００などのダウンタイムが長くなってしまう。
【０１３９】
なお、本実施の形態が適用されない制御部１において、マスタ制御部１０からスレーブ制御部２０に送信する制御するためのデータＣＤｓを、スレーブ制御部２０からマスタ制御部１０に折り返し送信させることで、マスタ制御部１０からスレーブ制御部２０に正しくデータＣＤｓが送信されているか否かを判断する方式がある（ミラー方式）。
しかし、ミラー方式では、シリアル通信回線３０における受信用の通信路Ｒｘが、折り返しのデータＣＤｓに占有される。すなわち、シリアル通信回線３０の通信レートがミラー方式を使用しない場合の倍になる。このため、制御対象からの応答のためのデータＣＤｒの送信が妨げられるおそれがある。すなわち、画像形成装置１００が必要とする通信レートが確保できないおそれがある。
【０１４０】
さらに、本実施の形態が適用される制御部１では、図４に示すように、機能部を制御するデータＣＤｓの間に、周期的に通信監視データＴＤｓを挿入している。そして、折り返される応答のための通信監視応答データＴＤｒは、通信監視データＴＤｓに対応して送信される。よって、制御のためのデータＣＤｓ及び応答のためのデータＣＤｒの通信が妨げられることが抑制されている。
【符号の説明】
【０１４１】
１…制御部、２…ユーザインターフェース（ＵＩ）部、３…画像形成部、４…画像読取部、５…送受信部、１０…マスタ制御部、１１…ＣＰＵ、１２…メモリ、１４…データバス、１５、４０…通信制御ユニット、１６、４２…送信モジュール、１７、４１…受信モジュール、１８、４３…通信制御モジュール、２０…スレーブ制御部、２１…Ｉ／Ｏ拡張回路、２２…通信監視回路、２３…ウオッチドックタイマ回路（ＷＤＴ）、２４…電源監視回路、２５…電源リセット回路、３０…シリアル通信回線、５０…Ｉ／Ｏ拡張ユニット、５１…Ｉ／Ｏ制御モジュール、５２…ＩＦ（インターフェース）モジュール、５３…Ａ／Ｄモジュール、５４…パルス信号出力モジュール、６０…クロック生成回路、７０…システムリセット回路、８１…デジタルポテンショメータ（ＤＰ）、８２…不揮発性メモリ（ＮＶメモリ）、８３…メモリタイミング生成回路、９０…通知信号線、１００…画像形成装置、ＣＫ…クロック信号、ＣＮ…カウント数、ＣＰ…カウントパターン、ＤＰＯａ…アナログ信号出力、ＤＰＯｄ…デジタル信号出力、ＤＰＴ…タップ位置、ＤＰＴｄ…検出タップ位置、ＤＰＴｅ…予測タップ位置、ＳＮ…タップ数、ＴＤｒ…通信監視応答データ、ＴＤｓ…通信監視データ
【図１】
2017045154.tif 000003
【図２】
2017045154.tif 000004
【図３】
2017045154.tif 000005
【図４】
2017045154.tif 000006
【図５】
2017045154.tif 000007
【図６】
2017045154.tif 000008
【図７】
2017045154.tif 000009
【図８】
2017045154.tif 000010
【図９】
2017045154.tif 000011
【図１０】
2017045154.tif 000012
【図１１】
2017045154.tif 000013
【図１２】
2017045154.tif 000014