(57)【特許請求の範囲】
【請求項１】
複数のノードが接続されるネットワークに設置された可変抵抗と、
上記可変抵抗の抵抗値を決定する抵抗値決定部と、
各上記ノードにコマンドを送信する送信部と、
上記送信部が送信する上記コマンドに対する各上記ノードからの応答信号を受信する受信部と、
上記受信部が上記応答信号を受信するごとに段階的に上記抵抗値を増加する動作を上記受信部が上記応答信号を受信可能な範囲で上記可変抵抗に続けさせる第１制御と、上記受信部が上記応答信号を受信するごとに段階的に上記抵抗値を減少する動作を上記受信部が上記応答信号を受信可能な範囲で上記可変抵抗に続けさせる第２制御とを、いずれかが先になるように行い、かつ上記ノードごとに行う抵抗値変更部と、
上記応答信号が受信可能であるときの上記抵抗値の最大値および最小値を各上記ノードについて記憶する記憶部とを備え、
上記抵抗値決定部は、上記記憶部に記憶された各上記ノードについての上記最大値のうちの最も小さい値を上限値とするとともに、上記記憶部に記憶された各上記ノードについての上記最小値のうちの最も大きい値を下限値とし、上記複数のノード全てにおいて上記上限値以下である上記最小値および上記下限値以上である上記最大値が得られた場合、上記上限値と上記下限値との間で上記抵抗値を決定することを特徴とする終端抵抗値設定装置。
【請求項２】
複数のノードが接続されるネットワークの終端に設置された可変抵抗と、
上記可変抵抗の抵抗値を決定する抵抗値決定部と、
各上記ノードに一度にコマンドを送信する送信部と、
上記送信部が送信する上記コマンドに対する各上記ノードからの応答信号を受信する受信部と、
上記コマンドの送信から一定時間経過するごとに段階的に上記抵抗値を増加する動作を上記可変抵抗の抵抗値の可変範囲で上記可変抵抗に続けさせる第１制御と、上記コマンドの送信から一定時間経過するごとに段階的に上記抵抗値を減少する動作を上記可変抵抗の抵抗値の可変範囲で上記可変抵抗に続けさせる第２制御とを、いずれかが先になるように行い、かつ各上記ノードについて並行して行う抵抗値変更部と、
上記応答信号が受信可能であるときの上記抵抗値を各上記ノードについて記憶する記憶部とを備え、
上記抵抗値決定部は、上記記憶部に記憶された各上記ノードについての上記抵抗値の最大値のうちの最も小さい値を上限値とするとともに、上記記憶部に記憶された各上記ノードについての上記抵抗値の最小値のうちの最も大きい値を下限値とし、上記複数のノード全てにおいて上記上限値以下である上記最小値および上記下限値以上である上記最大値が得られた場合、上記上限値と上記下限値との間で上記抵抗値を決定することを特徴とする終端抵抗値設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のノードが接続されるネットワークの終端に接続する終端抵抗の抵抗値を最適に決定できる終端抵抗値設定装置に関する。
【背景技術】
【０００２】
接続ノードが１対Ｎ（Ｎは自然数）となるネットワークの終端には、信号の反射による反射波の影響を抑えるために終端抵抗が必要となる。しかし、終端抵抗の抵抗値が規格等で決められた固定値である場合、実際に構築された通信環境に終端抵抗が適合しないことがあり、そのため通信エラーが発生するなどの問題がある。
【０００３】
そこで、従来、個々の通信環境に合わせて終端抵抗を変化させる様々な試みがなされている。例えば、特許文献１には、接続される負荷の数により終端抵抗を変化させるバスライン終端回路が開示されている。このバスライン終端回路は、バスラインに接続された負荷の数を検出する検出手段と、複数の抵抗と、上記バスラインを終端するのに最適な合成抵抗値を得るため上記検出された接続負荷の数に従って上記複数の抵抗とバスラインとの間の接続状態を切り替える抵抗切り替え手段と、を具備する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１５１７２１号公報（２０００年５月３０日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のような従来技術は、接続される負荷の数のみにより終端抵抗の抵抗値を変化させるものであり、上記抵抗値の決定に、配線の長さ、配線の種類等の通信環境が考慮されていない。そのため、実際にネットワークを構築する際、終端抵抗が当該ネットワークに適合せず、通信エラーが発生してしまうという問題がある。本願発明は、上記問題に鑑み、実際の通信環境に適合した終端抵抗の抵抗値を決定する終端抵抗値設定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る終端抵抗値設定装置は、複数のノードが接続されるネットワークに設置された可変抵抗と、上記可変抵抗の抵抗値を決定する抵抗値決定部と、各上記ノードにコマンドを送信する送信部と、上記送信部が送信する上記コマンドに対する各上記ノードからの応答信号を受信する受信部と、上記受信部が上記応答信号を受信するごとに段階的に上記抵抗値を増加する動作を上記受信部が上記応答信号を受信可能な範囲で上記可変抵抗に続けさせる第１制御と、上記受信部が上記応答信号を受信するごとに段階的に上記抵抗値を減少する動作を上記受信部が上記応答信号を受信可能な範囲で上記可変抵抗に続けさせる第２制御とを、いずれかが先になるように行い、かつ上記ノードごとに行う抵抗値変更部と、上記応答信号が受信可能であるときの上記抵抗値の最大値および最小値を各上記ノードについて記憶する記憶部とを備え、上記抵抗値決定部は、上記記憶部に記憶された各上記ノードについての上記最大値のうちの最も小さい値を上限値とするとともに、上記記憶部に記憶された各上記ノードについての上記最小値のうちの最も大きい値を下限値とし、上記複数のノード全てにおいて上記上限値以下である上記最小値および上記下限値以上である上記最大値が得られた場合、上記上限値と上記下限値との間で上記抵抗値を決定することを特徴とする。
【０００７】
上記構成によれば、終端抵抗値設定装置は、受信部が応答信号を受信するごとに段階的に可変抵抗の抵抗値を増加する動作を、受信部が応答信号を受信可能な範囲で可変抵抗に続けさせる第１制御と、受信部が応答信号を受信するごとに段階的に可変抵抗の抵抗値を減少する動作を、受信部が応答信号を受信可能な範囲で可変抵抗に続けさせる第２制御とを、いずれかが先になるようにノードごとに行う。また、第１制御および第２制御による可変抵抗の抵抗値を増減する動作により、応答信号が受信可能な各ノードにおける可変抵抗の抵抗値の最大値と最小値とを得て記憶部に記憶させる。そのため、通信ネットワークが実際に構築された状態で、可変抵抗の抵抗値の可変範囲内に通信環境に適合しない抵抗値が含まれおり、かつ通信可能範囲が重複している各ノードにおいて、通信が正常に行える可変抵抗の抵抗値の最大値と最小値とを把握することができる。
【０００８】
また、終端抵抗値設定装置は、可変抵抗の抵抗値の最大値の最も小さい値（上限値）と最小値の最も大きい値（下限値）との間で可変抵抗の抵抗値を決定する。そのため、通信ネットワークに接続される各ノードが正常に通信できる範囲内で可変抵抗の抵抗値を決定することができる。その結果、実際の通信環境に適合した可変抵抗の抵抗値を決定することができる。これにより、従来の決められた終端抵抗の抵抗値を採用した場合のように、その終端抵抗の抵抗値が通信ネットワークに適合しないことに起因する通信エラーを防止することができる。
【０００９】
上記の課題を解決するために、本発明の一態様に係る終端抵抗値設定装置は、複数のノードが接続されるネットワークの終端に設置された可変抵抗と、上記可変抵抗の抵抗値を決定する抵抗値決定部と、各上記ノードに一度にコマンドを送信する送信部と、上記送信部が送信する上記コマンドに対する各上記ノードからの応答信号を受信する受信部と、上記コマンドの送信から一定時間経過するごとに段階的に上記抵抗値を増加する動作を上記可変抵抗の抵抗値の可変範囲で上記可変抵抗に続けさせる第１制御と、上記コマンドの送信から一定時間経過するごとに段階的に上記抵抗値を減少する動作を上記可変抵抗の抵抗値の可変範囲で上記可変抵抗に続けさせる第２制御とを、いずれかが先になるように行い、かつ各上記ノードについて並行して行う抵抗値変更部と、上記応答信号が受信可能であるときの上記抵抗値を各上記ノードについて記憶する記憶部とを備え、上記抵抗値決定部は、上記記憶部に記憶された各上記ノードについての上記抵抗値の最大値のうちの最も小さい値を上限値とするとともに、上記記憶部に記憶された各上記ノードについての上記抵抗値の最小値のうちの最も大きい値を下限値とし、上記複数のノード全てにおいて上記上限値以下である上記最小値および上記下限値以上である上記最大値が得られた場合、上記上限値と上記下限値との間で上記抵抗値を決定することを特徴とする。
【００１０】
上記の構成によれば、終端抵抗値設定装置は、送信部からのコマンドの送信から一定時間経過するごとに段階的に可変抵抗の抵抗値を増加する動作を、受信部が応答信号を受信可能な範囲で可変抵抗に続けさせる第１制御と、送信部からのコマンドの送信から一定時間経過するごとに段階的に可変抵抗の抵抗値を減少する動作を、受信部が応答信号を受信可能な範囲で可変抵抗に続けさせる第２制御とを、いずれかが先になるように全てのノードについて並行して行う。また、第１制御および第２制御による可変抵抗の抵抗値を増減する動作により、応答信号が受信可能な各ノードにおける可変抵抗の抵抗値を得て記憶部に記憶させる。そのため、通信ネットワークが実際に構築された状態で、通信可能範囲が重複している各ノードにおいて、通信が正常に行える可変抵抗の抵抗値を把握することができる。
【００１１】
また、終端抵抗値設定装置は、可変抵抗の抵抗値の最大値の最も小さい値（上限値）と最小値の最も大きい値（下限値）との間で可変抵抗の抵抗値を決定する。そのため、通信ネットワークに接続される各ノードが正常に通信できる範囲内で可変抵抗の抵抗値を決定することができる。その結果、実際の通信環境に適合した可変抵抗の抵抗値を決定することができる。これにより、従来の決められた終端抵抗の抵抗値を採用した場合のように、その終端抵抗の抵抗値が通信ネットワークに適合しないことに起因する通信エラーを防止することができる。
【００１２】
また、終端抵抗値設定装置は、各ノードへのコマンドの送信を並行して行う。このため、可変抵抗の抵抗値を増加および減少させる動作をノードごとに繰り返す必要がないので、処理が軽減される。
【００１３】
本発明の各態様に係る終端抵抗値設定装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記抵抗装置が備える各手段として動作させることにより上記抵抗装置をコンピュータにて実現させる抵抗装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００１４】
本発明は、実際の通信環境に適合した終端抵抗の抵抗値を決定することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態１に係る終端抵抗値設定装置の構成を示すブロック図である。
【図２】本発明の実施形態１に係る可変終端抵抗の抵抗値決定処理の一例を示すフローチャートである。
【図３】本発明の実施形態２に係る終端抵抗値設定装置の構成を示すブロック図である。
【図４】本発明の実施形態２に係る可変終端抵抗の抵抗値決定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
〔実施形態１〕
本発明に係る実施形態１について、図１および図２に基づいて以下に説明する。図１は、本実施形態に係る終端抵抗値設定装置２の構成を示すブロック図である。まず、図１を用いて本実施形態に係る通信ネットワーク５０の概要を説明する。ここで、本実施形態では、バス規格がマスタースレーブ方式である場合について説明する。
【００１７】
図１に示すように、通信ネットワーク５０は、通信ネットワーク５０に接続された複数のノード７と、複数のノード７に必要なデータを送信するマスター装置として動作する終端抵抗値設定装置２と、各ノード７と終端抵抗値設定装置２とを接続するバスライン６と、を備えている。
【００１８】
終端抵抗値設定装置２は、可変終端抵抗３（後述）の抵抗値を決定する終端抵抗値設定部１、および終端抵抗値設定装置２と各ノード７とのデータの送受信を行う入出力部８を備え、マスタースレーブ方式のマスターとして設定されている。
【００１９】
入出力部８は、可変終端抵抗３、差動ドライバ４、および差動レシーバ５を備えている。
【００２０】
差動ドライバ４は、終端抵抗値設定部１のコマンド送信部１１（後述）からの信号により、二本の信号線を用い、互いに逆相の電流を流し信号線間の電位差で伝送する差動伝送形式により各ノード７にコマンドを送信する。コマンドは、ノード７が応答信号を返すコマンドであればよく、例えばpingでもよい。
【００２１】
差動レシーバ５は、差動伝送形式により送信される差動ドライバ４が送信したコマンドに対して各ノード７から差動伝送形式により送信された応答信号を合成する。また、差動レシーバ５は、合成した上記応答信号を終端抵抗値設定部１の応答信号受信部１２（後述）に出力する。
【００２２】
可変終端抵抗３（可変抵抗）は、通信ネットワーク５０の終端に設置され、終端における通信ネットワーク５０で伝送される信号の反射による反射波の影響を抑える。また、可変終端抵抗３は、抵抗値変更部１３（後述）による制御により抵抗値が変化する。可変終端抵抗３は、本実施形態においては、デジタルポテンショメータが用いられている。デジタルポテンショメータは、図示はしないが、例えば、多数の抵抗が直列に接続された抵抗アレイと、各抵抗の両端に接続された半導体スイッチと、抵抗値変更部１３から送信される制御信号をカウントするカウンタと、カウンタのカウント値をデコードした値を各半導体スイッチの制御信号として与えるデコーダとを有している。このようなデジタルポテンショメータにおいては、デコーダのデコード値に応じて、オンした半導体スイッチに接続される抵抗の両端がショートし、オフした半導体スイッチに接続される抵抗の両端がショートしないので、オンした半導体スイッチに接続される抵抗の総数に応じた抵抗値が得られる。
【００２３】
なお、可変終端抵抗として、必ずしもデジタルポテンションメータを用いる必要はない。
【００２４】
図１に示すように可変終端抵抗３は２つ設けられており、一方は差動ドライバ４の正極出力端（差動レシーバ５の正極入力端）に接続され、他方は、差動ドライバ４の負極出力端（差動レシーバ５の負極入力端）に接続される。２つの可変終端抵抗３の抵抗値は同じであり、抵抗値変更部１３により抵抗値が変化するときも同じ変化量で同時に変化する。
【００２５】
ノード７は、通信ネットワーク５０に接続される端末であり、マスタースレーブ方式のスレーブとして設定されている。ノード７は、終端抵抗値設定部１のコマンド送信部１１から送信されるコマンドを受信すると、応答信号を差動伝送形式により差動レシーバ５へ送信する。
【００２６】
バスライン６は、終端抵抗値設定装置２および各ノード７を接続する。また、バスライン６は、二本の伝送線を有する半二重構成のバスであり、差動ドライバ４から送信されるコマンドを各ノード７に伝送し、上記コマンドに対する各ノード７からの応答信号を差動レシーバ５に伝送する。
【００２７】
続いて、終端抵抗値設定部１について詳しく説明する。
【００２８】
終端抵抗値設定部１は、可変終端抵抗３の抵抗値を調整して、通信ネットワーク５０における最適な可変終端抵抗３の抵抗値を自動的に設定する装置である。
【００２９】
図１に示すように、終端抵抗値設定部１は、制御部１０と記憶部２０とを備える。
【００３０】
制御部１０は、例えば記憶部２０に記憶されたデータに基づき、可変終端抵抗３の抵抗値を設定するための制御を行う。このために制御部１０は、各ノード７へコマンドを送信するコマンド送信部１１と、各ノード７からの応答信号を受信する応答信号受信部１２と、可変終端抵抗３の抵抗値を変更する抵抗値変更部１３と、可変終端抵抗３の抵抗値を決定する抵抗値決定部１４とを備える。
【００３１】
コマンド送信部１１は、抵抗値変更部１３からのコマンドの送信を指示する信号に基づき、差動ドライバ４に信号を出力し、所定のノード７へコマンドを送信する。また、コマンド送信部１１は、抵抗値変更部１３からのノード７の移行を指示する信号に基づき、コマンドの送信を次のコマンド未送信のノード７に移行する。
【００３２】
応答信号受信部１２（受信部）は、コマンド送信部１１がコマンドを送信してから当該コマンドに対するノード７の応答信号を所定時間以内に受信した場合、第１受信信号、もしくは第２受信信号を抵抗値変更部１３に出力する。また、応答信号受信部１２は、コマンド送信部１１がコマンドを送信してから当該コマンドに対する応答信号を所定時間以内に受信しなかった場合、第１非受信信号、もしくは第２受信信号を抵抗値変更部１３に出力する。なお、所定時間は任意に設定できる。
【００３３】
抵抗値変更部１３は、応答信号受信部１２が応答信号を受信するごと（第１受信信号を出力するごと）に段階的に可変終端抵抗３の抵抗値を増加する動作を応答信号受信部１２が応答信号を受信しなくなるまで（第１非受信信号を出力するまで）可変終端抵抗３に続けさせる。一方、抵抗値変更部１３は、応答信号受信部１２が応答信号を受信するごと（第２受信信号を出力するごと）に段階的に抵抗値を減少する動作を応答信号受信部１２が応答信号を受信しなくなるまで（第２非受信信号を出力するまで）可変終端抵抗３に続けさせる。
【００３４】
記憶部２０は、各ノード７について、コマンド送信部１１から送信されたコマンドに対する各ノード７からの応答信号を応答信号受信部１２が所定時間以内に受信されなくなるときの一つ前の可変終端抵抗３の抵抗値の最大値、および最小値を記憶する。
【００３５】
抵抗値決定部１４は、記憶部２０に記憶された各ノード７の最大値のうちの最も小さい値を上限値とするとともに、記憶部２０に記憶された各ノード７の最小値のうちの最も大きい値を下限値とし、上記上限値と上記下限値との間で可変終端抵抗３の抵抗値を決定する。
【００３６】
次に、上記のように構成される終端抵抗値設定部１の抵抗値決定処理について図２を用いて説明する。図２は、実施形態１に係る可変終端抵抗３の抵抗値決定処理の一例を示すフローチャートである。
【００３７】
終端抵抗値設定部１による上記抵抗値の決定処理は、終端抵抗値設定装置２および各ノード７が接続された通信ネットワーク５０の構築後、通信ネットワーク５０でデータ通信を行う前に実行する。
【００３８】
なお、上記フローチャートは、可変終端抵抗３の抵抗値が可変範囲内の値であるとき通信可能なノード７を通信ネットワーク５０に用いる場合に適応するものである。そのため、上記フローチャートの処理を始める前に、可変終端抵抗３の抵抗値の可変範囲における全ての値に対して、応答信号受信部１２がコマンドに対する応答信号を受信できるか否かを各ノード７について確認し、受信することができないノード７については処理対象から除外する。
【００３９】
詳しくは、可変終端抵抗３の抵抗値を可変範囲の最も小さい値から最も大きい値に段階的に変化させ、抵抗値を段階的に変化させるごとに、通信ネットワーク５０に接続されている全てのノード７にコマンドを送信する。その間、応答信号受信部１２が当該コマンドに対する応答信号を受信することができないノード７を処理対象から除外する。なお、応答信号を受信することができないノード７を取換えて再度上記の処理を行う場合もある。
【００４０】
ここで、ノード７は、コマンド送信部１１からのコマンドを受信すると、受信したコマンドに対する応答信号を終端抵抗値設定装置２に送信する。コマンド送信時に設定されている可変終端抵抗３の抵抗値が通信可能な抵抗値の範囲内であれば、通信ネットワーク５０は正常に機能し、応答信号受信部１２は当該ノード７から送信された応答信号を受信する。これに対して、コマンド送信時に設定されている可変終端抵抗３の抵抗値が通信可能な抵抗値の範囲外であれば、通信ネットワーク５０は伝送される信号（コマンド、応答信号）の反射波の影響を受け、応答信号受信部１２は当該コマンドに対する応答信号を受信しない。
【００４１】
また、応答信号受信部１２は、コマンド送信部１１が所定のノード７にコマンド送信を開始してから、コマンド送信部１１から送信されたコマンドに対する当該ノード７からの応答信号が初めて所定時間以内に受信されなくなったときに、抵抗値変更部１３に第１非受信信号を出力する。応答信号受信部１２は、コマンド送信部１１が当該ノード７にコマンド送信を開始してから第１非受信信号を出力するまでの間に、コマンド送信部１１から送信されたコマンドに対する当該ノード７からの応答信号を所定時間以内に受信した場合、抵抗値変更部１３に第１受信信号を出力する。
【００４２】
そして、応答信号受信部１２は、当該ノード７において第１非受信信号を抵抗値変更部１３に出力した後、コマンド送信部１１から送信されたコマンドに対する当該ノード７からの応答信号が再度所定時間以内に受信されなくなったときに、抵抗値変更部１３に第２非受信信号を出力する。応答信号受信部１２は、第１非受信信号を抵抗値変更部１３に出力してから第２非受信信号を出力するまでの間に、コマンド送信部１１から送信されたコマンドに対する当該ノード７からの応答信号を所定時間以内に受信した場合、第２受信信号を抵抗値変更部１３に出力する。
【００４３】
図２に示すフローチャートの処理においては、まず、抵抗値変更部１３は、可変終端抵抗３の抵抗値を初期値（カウンタのプリセット値）に設定する（Ｓ１）。可変終端抵抗３の抵抗値の初期値は任意に設定でき、例えば従来の規格で採用されてきた抵抗値を用いてもよい。その後、コマンド送信部１１は所定のノード７、すなわち複数のノード７のうちの一つにコマンドを送信し（Ｓ２）、抵抗値変更部１３は、コマンド送信部１１から当該ノード７にコマンドを送信してから所定時間以内に当該コマンドに対する応答信号を応答信号受信部１２が受信したか否かを判定する（Ｓ３）。
【００４４】
Ｓ３において、応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信した場合（Ｓ３でＹＥＳ）、すなわち、抵抗値変更部１３が応答信号受信部１２から第１受信信号を受信した場合、抵抗値変更部１３は、可変終端抵抗３の抵抗値を一定量増加し、コマンド送信部１１はコマンドを送信する（Ｓ４）。詳しくは、抵抗値変更部１３は、抵抗値を一定量増加するために、少なくとも一つのパルス信号を出力するとともに、最初の増加時にカウンタに対してアップカウントするアップカウント信号を与える。可変終端抵抗３のカウンタが、与えられたパルス信号をプリセット値からアップカウントすると、デコーダのデコード値がカウンタのカウント値に応じて、オンしている一部の半導体スイッチをオフ状態に変更する。これにより、抵抗アレイにおいて直列接続される抵抗数が増加して、可変終端抵抗３の抵抗値が増加する。さらに、抵抗値変更部１３は、当該ノード７にコマンドの送信を指示する信号をコマンド送信部１１に出力し、コマンド送信部１１は抵抗値変更部１３からの上記信号を受信すると、当該ノード７にコマンドを再度送信する。
【００４５】
その後、抵抗値変更部１３は所定時間以内に当該コマンドに対する応答信号を応答信号受信部１２が受信したか否かを判定する（Ｓ５）。
【００４６】
Ｓ５において、応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信しなかった場合（Ｓ５でＮＯ）、すなわち、抵抗値変更部１３が応答信号受信部１２から第１非受信信号を受信した場合、抵抗値変更部１３は、当該ノード７における通信可能な可変終端抵抗３の抵抗値の範囲の最大値として、一つ前の可変終端抵抗３の抵抗値を記憶部２０に記憶させる（Ｓ６）。その後、抵抗値変更部１３は、可変終端抵抗３の抵抗値を初期値に戻す（Ｓ７）。なお、Ｓ７における初期値とは、ノードへのコマンド送信に対する応答信号の受信があった初期値、すなわちＳ３において応答信号を受信した初期値であるのは勿論である。
【００４７】
続いて、抵抗値変更部１３は、可変終端抵抗３の抵抗値を一定量減少し、コマンド送信部１１はコマンドを送信する（Ｓ９）。詳しくは、抵抗値変更部１３は、抵抗値を一定量減少するために、少なくとも一つのパルス信号を出力するとともに、最初の減少時にカウンタに対してダウンカウントするダウンカウント信号を与える。可変終端抵抗３のカウンタが、与えられたパルス信号をプリセット値からダウンカウントすると、デコーダのデコード値がカウンタのカウント値に応じて、オフしている一部の半導体スイッチをオン状態に変更する。これにより、抵抗アレイにおいて直列接続される抵抗数が減少して、可変終端抵抗３の抵抗値が減少する。さらに、抵抗値変更部１３は、当該ノード７にコマンドの送信を指示する信号をコマンド送信部１１に出力し、コマンド送信部１１は、抵抗値変更部１３からの上記信号を受信すると、当該ノード７にコマンドを再度送信する。
【００４８】
その後、抵抗値変更部１３は、所定時間以内に当該コマンドに対する応答信号を応答信号受信部１２が受信したか否かを判定する（Ｓ１０）。
【００４９】
Ｓ１０において、応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信しなかった場合（Ｓ１０でＮＯ）、すなわち、抵抗値変更部１３が応答信号受信部１２から第２非受信信号を受信した場合、抵抗値変更部１３は、当該ノード７における通信可能な可変終端抵抗３の抵抗値の範囲の最小値として、一つ前の可変終端抵抗３の抵抗値を記憶部２０に記憶させる（Ｓ１１）。
【００５０】
次に、抵抗値変更部１３は、通信ネットワーク５０に接続される全てのノード７について、最大値および最小値の記憶が終了したか否かを判定する（Ｓ１２）。抵抗値変更部１３は、上記判定において、例えば、第２非受信信号が最後のノード７のものであれば、終了と判定し、第２非受信信号が最後のものでなければ終了ではないと判定する。
【００５１】
Ｓ１２において、全てのノード７について最大値および最小値の記憶が終了していた場合（Ｓ１２でＹＥＳ）、抵抗値変更部１３は、抵抗値決定部１４に全てのノード７へのコマンド送信の終了を示す信号を出力する。抵抗値決定部１４は、抵抗値変更部１３からの当該信号を受信すると、各ノード７についての抵抗値の最大値のうちの最も小さい値（上限値）より大きい最小値が得られたノード７または各ノード７についての抵抗値の最小値のうちの最も大きい値（下限値）より小さい最大値が得られたノード７があるか否かを判定する（Ｓ１４）。この判定において、抵抗値決定部１４は、記憶部２０に記憶されている各ノード７についての抵抗値の最大値および最小値を参照して、各ノード７についての抵抗値の最大値のうちの最も小さい値を上限値とし、各ノード７についての抵抗値の最小値のうちの最も大きい値を下限値として、上限値および下限値を記憶部２０に記憶させる。
【００５２】
上限値より大きい最小値が得られたノード７または上限値より小さい最大値が得られたノード７がない場合（Ｓ１４でＮＯ）、全てのノード７から、上限値以下である最小値および下限値以上である最大値が得られたことになる。この場合、抵抗値決定部１４は、記憶部２０に記憶されている上限値および下限値を参照して、上限値と下限値との間で可変終端抵抗３の抵抗値を決定する（Ｓ１５）。また、上記抵抗値決定部１４は、上限値と下限値との中央値を抵抗値として決定することが好ましい。抵抗値決定部１４が、決定した抵抗値を可変終端抵抗３のカウンタにプリセット値として与えると、カウンタがプリセット値をロードして、デコーダに与える。これにより、デコーダのデコード値に応じて半導体スイッチがオンされるので、抵抗アレイは、決定された抵抗値に応じた数の抵抗が直列接続される。
【００５３】
Ｓ３において、応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信しなかった場合（Ｓ３でＮＯ）、すなわち、抵抗値変更部１３が応答信号受信部１２から第１非受信信号を受信した場合、抵抗値変更部１３はランダムに可変終端抵抗３の抵抗値（初期値）を変化させ（Ｓ１６）、Ｓ３において応答信号を受信するまでＳ１〜Ｓ３およびＳ１６の処理を繰り返す。
【００５４】
Ｓ５において、応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信した場合（Ｓ５でＹＥＳ）、すなわち、抵抗値変更部１３が応答信号受信部１２から第１受信信号を受信した場合、抵抗値変更部１３は、可変終端抵抗３の抵抗値をさらに一定量増加する（Ｓ４）。Ｓ４およびＳ５の処理は、Ｓ５において応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信しなくなるまで繰り返される。言い換えると、Ｓ４およびＳ５の処理は、抵抗値変更部１３が応答信号受信部１２から第１非受信信号を受信するまで第１受信信号を受信するごとに繰り返される。その間、抵抗値変更部１３は、応答信号受信部１２から第１受信信号を受信する度に、可変終端抵抗３の抵抗値を一定の割合で段階的に増加する。
【００５５】
Ｓ１０において、応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信した場合（Ｓ１０でＹＥＳ）、すなわち、抵抗値変更部１３が応答信号受信部１２から第２受信信号を受信した場合、抵抗値変更部１３は、可変終端抵抗３の抵抗値をさらに一定量減少する（Ｓ９）。Ｓ９およびＳ１０の処理は、Ｓ１０において応答信号受信部１２が当該コマンドに対する応答信号を所定時間以内に受信しなくなるまで繰り返される。言い換えると、Ｓ９およびＳ１０の処理は、抵抗値変更部１３が応答信号受信部１２から第２非受信信号を受信するまで第２受信信号を受信するごとに繰り返される。その間、抵抗値変更部１３は、応答信号受信部１２から第２受信信号を受信する度に、可変終端抵抗３の抵抗値を一定の割合で段階的に減少する。
【００５６】
Ｓ１２において、全てのノード７について最大値および最小値の記憶が終了していない場合（Ｓ１２でＮＯ）、抵抗値変更部１３は、コマンド送信部１１にノード７の移行を指示する信号を出力し、コマンド送信部１１は上記信号を受信すると、コマンドの送信を次のコマンド未送信のノード７に移行する、すなわち最大値および最小値の記憶が終了していないいずれかのノード７に移行する（Ｓ１３）。その後、処理がＳ１に戻り、通信ネットワーク５０に接続される全てのノード７の最大値および最小値が記憶部２０に記憶されるまで、Ｓ１〜Ｓ１３の処理が繰り返される。
【００５７】
Ｓ１４において、上限値より大きい最小値が得られたノード７がある場合または下限値より小さい最大値が得られたノード７がある場合（Ｓ１４でＹＥＳ）、当該ノード７の通信可能範囲が他のノード７（上限値以下である最小値および下限値以上である最大値が得られたノード７）の通信可能範囲（共通通信可能範囲）と重複しない。したがって、各ノード７の間で重複しない通信可能範囲が存在しないように調整する必要がある。この場合、抵抗値決定部１４は、共通通信可能範囲と重複しない通信可能範囲を有するノード７が存在することをユーザに報知して、調整することを促し、上記調整が行われたかを確認する（Ｓ１７）。上記調整は、具体的には当該ノード７への配線経路の変更、配線部材の変更、または当該ノード７を通信ネットワーク５０から除外する等を行うことである。抵抗値決定部１４は、上記調整が行われたことをユーザの入力などによって確認すると（Ｓ１７でＹＥＳ）、Ｓ１から再度処理を開始するように抵抗値変更部１３に通知する。抵抗値決定部１４は、調整が行われたことを確認できない場合（Ｓ１７でＮＯ）、上記調整が確認できるまで待機する。
【００５８】
また、所定のノード７において、応答信号受信部１２が、コマンド送信部１１から送信されるコマンドに対応する応答信号を、可変終端抵抗３の可変範囲の全ての抵抗値に関して所定時間以内に受信する場合が考えられる。このとき、可変終端抵抗３は、可変範囲内でどのような抵抗値を採用しても当該ノード７の通信環境に適合しているといえ、当該ノード７における可変終端抵抗３の最大値および最小値を検出せずに、次のノードに移行してもよい。最大値および最小値を検出されなかったノード７が存在する場合、Ｓ１４における上限値および下限値を決定する際は、当該ノード７以外で記憶部２０に記憶されている各ノード７の最大値および最小値から上限値および下限値を決定する。
【００５９】
また、通信ネットワーク５０に接続される全てのノード７において、応答信号受信部１２が、コマンド送信部１１から送信されるコマンドに対応する応答信号を、可変終端抵抗３の可変範囲の全ての抵抗値に関して所定時間以内に受信する場合、抵抗値決定部１４は、当該可変終端抵抗３の可変範囲の中間値を抵抗値として決定することが好ましいが、可変範囲の値であれば他の値を用いてもよい。
【００６０】
なお、本実施形態では通信ネットワーク５０をマスタースレーブ方式として説明を行ったが、上記に限らない。例えば、通信ネットワーク５０が、ノード７をマスターとして設定するマルチマスター方式でも、終端抵抗値設定部１は適応可能である。このように、終端抵抗値設定部１は通信ネットワーク５０がマスタースレーブ方式およびマルチマスター方式のいずれの場合にも適用可能であるが、終端抵抗値設定部１を含む装置がマスター（終端抵抗値設定装置２）であることが必要である。
【００６１】
通信ネットワーク５０がマスタースレーブ方式である本実施形態では、応答信号受信部１２における応答信号の受信の有無により、各ノード７における可変終端抵抗３の抵抗値の通信可能範囲の最大値および最小値を取得する。それに対し、通信ネットワーク５０がマルチマスター方式である場合は、応答信号受信部１２における通信エラーの発生の有無により、各ノード７における可変終端抵抗３の抵抗値の通信可能範囲の最大値および最小値を取得する。このように、抵抗値決定処理方法は使用するバス規格やプロトコルによって変更することが望ましい。
【００６２】
以上のように終端抵抗値設定部１は、応答信号受信部１２が応答信号を受信するごとに段階的に可変終端抵抗３の抵抗値を増加する動作を、応答信号受信部１２が応答信号を受信可能な範囲で可変終端抵抗３に続けさせる第１制御と、応答信号受信部１２が応答信号を受信するごとに段階的に可変終端抵抗３の抵抗値を減少する動作を、応答信号受信部１２が応答信号を受信可能な範囲で可変終端抵抗３に続けさせる第２制御とを、いずれかが先になるようにノード７ごとに行う。また、第１制御および第２制御による可変終端抵抗３の抵抗値を増減する動作により、応答信号が受信可能な各ノード７における可変終端抵抗３の抵抗値の最大値と最小値とを得て記憶部２０に記憶させる（可変終端抵抗３の可変範囲の全ての抵抗値に関して受信可能なノード７については抵抗値の最大値と最小値とを記憶部２０に記憶しない）。すなわち、抵抗値変更部１３が応答信号受信部１２から第１非受信信号を受信した場合、抵抗値変更部１３は、当該ノード７における通信可能な可変終端抵抗３の抵抗値の範囲の最大値として、一つ前の可変終端抵抗３の抵抗値を記憶部２０に記憶させる（当該抵抗値が可変終端抵抗３の可変範囲の最大値と一致する場合は当該抵抗値を記憶部２０に記憶しない）。また、抵抗値変更部１３が応答信号受信部１２から第２非受信信号を受信した場合、抵抗値変更部１３は、当該ノード７における通信可能な可変終端抵抗３の抵抗値の範囲の最小値として、一つ前の可変終端抵抗３の抵抗値を記憶部２０に記憶させる（当該抵抗値が可変終端抵抗３の可変範囲の最小値と一致する場合は当該抵抗値を記憶部２０に記憶しない）。そのため、通信ネットワーク５０が実際に構築された状態で、可変終端抵抗３の抵抗値の可変範囲内に通信環境に適合しない抵抗値が含まれており、かつ通信可能範囲が重複している各ノード７において、通信が正常に行える可変終端抵抗３の抵抗値の最大値と最小値とを把握することができる。
【００６３】
また、終端抵抗値設定部１は、可変終端抵抗３の抵抗値の最大値の最も小さい値（上限値）と最小値の最も大きい値（下限値）との間で可変終端抵抗３の抵抗値を決定する。そのため、通信ネットワーク５０に接続される各ノード７が正常に通信できる範囲内で可変終端抵抗３の抵抗値を決定することができる。その結果、実際の通信環境に適合した可変終端抵抗３の抵抗値を決定することができる。これにより、従来の決められた終端抵抗の抵抗値を採用した場合のように、その終端抵抗の抵抗値が通信ネットワーク５０に適合しないことに起因する通信エラーを防止することができる。
【００６４】
また、終端抵抗値設定部１は、記憶部２０に記憶された上限値と下限値との中央値を可変終端抵抗３の抵抗値とする。このため、通信ネットワーク５０において正常な通信が行える範囲に余裕ができるので、外的要因等による通信環境の変化にも対応することができる。
【００６５】
〔実施形態２〕
本発明に係る実施形態２について、図３および図４に基づいて以下に説明する。なお、上述した実施形態１と共通する各部材には同じ符号を付し、詳細な説明を省略する。図３は、本発明の実施形態２に係る終端抵抗値設定部１Ａの構成を示すブロック図である。
【００６６】
本実施形態と実施形態１とは、コマンドの送信および可変終端抵抗３の抵抗値の最大値および最小値の決定方法が異なる。詳しくは、実施形態１では、通信ネットワーク５０に接続されるノード７ごとにコマンドを送信し、応答信号が受信可能な当該ノード７の抵抗値の最大値および最小値を記憶部２０に記憶している。それに対し本実施形態では、通信ネットワーク５０に接続される各ノード７に対するコマンドの送信および、応答信号が受信可能な各ノード７の抵抗値の記憶部２０への記憶を並行して行う。
【００６７】
図３に示すように、終端抵抗値設定装置２は、図１に示す終端抵抗値設定装置２における終端抵抗値設定部１に代えて終端抵抗値設定部１Ａを備え、終端抵抗値設定部１Ａは、制御部１０Ａと記憶部２０とを備える。
【００６８】
制御部１０Ａは、各ノード７へコマンドを送信するコマンド送信部１１と、各ノード７からの応答信号を受信する応答信号受信部１６と、可変終端抵抗３の抵抗値を変更する抵抗値変更部１５と、可変終端抵抗３の抵抗値を決定する抵抗値決定部１４とを備える。
【００６９】
応答信号受信部１６（受信部）は、コマンド送信部１１がコマンドを送信してから当該コマンドに対するノード７の応答信号を所定時間以内に受信した場合、所定時間以内に応答信号を受信したノード７を示す受信信号を抵抗値変更部１５に出力する。なお、所定時間は任意に設定できるが、少なくとも、コマンドがコマンド送信部１１より送信されてからノード７に受信されるまでの時間、コマンドがノード７に受信されてから応答信号がノードより送信されるまでの時間、および応答信号がノード７より送信されてから応答信号受信部１２に受信されるまでの時間の合計に設定される。
【００７０】
抵抗値変更部１５は、コマンド送信部１１がコマンドを送信してから一定時間経過ごとに、段階的に可変終端抵抗３の抵抗値を増加する動作を上記抵抗値が可変終端抵抗３の可変範囲の最大値に到達するまで可変終端抵抗３に続けさせる。また、抵抗値変更部１５は、コマンド送信部１１がコマンドを送信してから一定時間経過ごとに、段階的に可変終端抵抗３の抵抗値を減少する動作を、上記抵抗値が可変終端抵抗３の可変範囲の最小値に到達するまで可変終端抵抗３に続けさせる。
【００７１】
記憶部２０は、コマンド送信部１１からコマンドが送信されたときの抵抗値および、応答信号受信部１６が当該コマンドに対して応答信号を受信したノード７を対応づけて記憶する。
【００７２】
次に、上記のように構成される終端抵抗値設定部１の抵抗値決定処理について図４を用いて説明する。図４は、実施形態２に係る可変終端抵抗３の抵抗値決定処理の一例を示すフローチャートである。
【００７３】
図４に示すように、まず、抵抗値変更部１５は、可変終端抵抗３の抵抗値を初期値（カウンタのプリセット値）に設定する（Ｓ２１）。可変終端抵抗３の抵抗値の初期値は任意に設定でき、例えば従来の規格で採用されてきた抵抗値を用いてもよい。その後、コマンド送信部１１は通信ネットワーク５０に接続されている全てのノード７にコマンドを送信する（Ｓ２２）。抵抗値変更部１５は、応答信号受信部１６からの受信信号に基づき、コマンド送信部１１より各ノード７にコマンドが送信されてから所定時間以内に、応答信号受信部１６が当該コマンドに対する応答信号を受信したノード７を確認する（Ｓ２３）。抵抗値変更部１５は、コマンドが送信されたときの抵抗値と、応答信号の受信を確認したノード７とを記憶部２０に記憶させる。抵抗値変更部１５は、応答信号を受信しなかったノード７については、当該ノード７と抵抗値とを記憶部２０に記憶させない。応答信号を受信しなかったノード７と抵抗値とを記憶部２０に記憶させない処理は、以降の応答信号を受信したノード７の確認（Ｓ２６、Ｓ３０）においても同様に行われる。
【００７４】
コマンド送信部１１がコマンドを送信してから一定時間経過後、抵抗値変更部１５は、可変終端抵抗３の抵抗値を一定量増加し（Ｓ２４）、全てのノード７にコマンドの送信を指示する信号をコマンド送信部１１に出力する。ここで、上記一定時間は上記所定時間以上であればよく、任意に決定できる。
【００７５】
コマンド送信部１１は抵抗値変更部１５からの上記信号を受信すると、全てのノード７にコマンドを再度送信する（Ｓ２５）。抵抗値変更部１５は、応答信号受信部１６からの受信信号に基づき、増加後の抵抗値において、コマンド送信部１１より各ノード７にコマンドが送信されてから所定時間以内に、応答信号受信部１６が当該コマンドに対する応答信号を受信したノード７を確認する（Ｓ２６）。また、抵抗値変更部１５は、コマンドが送信されたときの抵抗値と、応答信号の受信を確認したノード７を記憶部２０に記憶させる。
【００７６】
次に、抵抗値変更部１５は、可変終端抵抗３の抵抗値を可変範囲の最も大きい値まで増加したか否かを判定する（Ｓ２７）。
【００７７】
抵抗値が可変終端抵抗３の可変範囲の最も大きい値まで増加した場合（Ｓ２７でＹＥＳ）、抵抗値変更部１５は可変終端抵抗３の抵抗値を一定量減少する（Ｓ２８）。抵抗値変更部１５は、全てのノード７にコマンドの送信を指示する信号をコマンド送信部１１に出力する。コマンド送信部１１は抵抗値変更部１５からの上記信号を受信すると、全てのノード７にコマンドを再度送信する（Ｓ２９）。抵抗値変更部１５は、応答信号受信部１６からの受信信号に基づき、減少後の抵抗値において、コマンド送信部１１より各ノード７にコマンドが送信されてから所定時間以内に、応答信号受信部１６が当該コマンドに対する応答信号を受信したノード７を確認する（Ｓ３０）。また、抵抗値変更部１５は、コマンドが送信されたときの抵抗値と、応答信号の受信を確認したノード７とを記憶部２０に記憶させる。
【００７８】
なお、Ｓ２７とＳ２８との間に、さらにステップを設け、抵抗値をＳ２１における初期値に設定した後、Ｓ２８の処理を行うようにすることが好ましい。
【００７９】
次に、抵抗値変更部１５は、可変終端抵抗３の抵抗値を可変範囲の最も小さい値まで減少したか否かを判定する（Ｓ３１）。抵抗値が可変終端抵抗３の可変範囲の最も小さい値まで減少した場合（Ｓ３１でＹＥＳ）、抵抗値変更部１５は、抵抗値決定部１４に全てのノード７へのコマンド送信の終了を示す信号を出力する。Ｓ２１〜Ｓ３１の処理を行うことにより、記憶部２０に記憶された抵抗値を参照することで、各ノード７が応答信号を受信できる可変終端抵抗３の抵抗値の範囲が分かる。
【００８０】
抵抗値決定部１４は、抵抗値変更部１５から上記信号を受信すると、記憶部２０に記憶された各ノード７における通信可能な可変終端抵抗３の抵抗値の範囲のうち、各ノード７についての抵抗値の最大値のうちの最も小さい値（上限値）より大きい最小値が得られたノード７または各ノード７についての抵抗値の最小値のうちの最も大きい値（下限値）より小さい最大値が得られたノード７があるか否かを判定する（Ｓ３２）。この判定において、抵抗値決定部１４は、記憶部２０に記憶されている各ノード７についての抵抗値の最大値および最小値を参照して、各ノード７についての抵抗値の最大値のうちの最も小さい値を上限値とし、各ノード７についての抵抗値の最小値のうちの最も大きい値を下限値として、上限値および下限値を記憶部２０に記憶させる。
【００８１】
各上限値より大きい最小値を得られたノード７または上限値より小さい最大値が得られたノード７がない場合（Ｓ３２でＮＯ）、全てのノード７から、上限値以下である最小値および下限値以上である最大値が得られたことになる。この場合、抵抗値決定部１４は、記憶部２０に記憶されている上限値および下限値を参照して、上限値と下限値との間で可変終端抵抗３の抵抗値を決定する（Ｓ３３）。また、上記抵抗値決定部１４は、上限値と下限値との中央値を抵抗値として決定することが好ましい。
【００８２】
Ｓ２７において、抵抗値が可変終端抵抗３の可変範囲の最も大きい値まで増加していない場合（Ｓ２７でＮＯ）、抵抗値変更部１５は、可変終端抵抗３の抵抗値をさらに一定量増加する（Ｓ２４）。Ｓ２４〜Ｓ２７の処理は、Ｓ２７において可変終端抵抗３の抵抗値が可変範囲の最も大きい値に増加するまで繰り返される。その間、抵抗値変更部１５は、コマンド送信部１１からコマンドが送信されてから一定時間経過するごとに、可変終端抵抗３の抵抗値を一定の割合で段階的に増加する。抵抗値変更部１５は、増加した抵抗値ごとに、応答信号受信部１６からの受信信号に基づき当該コマンドに対する応答信号を所定時間以内に受信したノード７および当該抵抗値を記憶部２０に記憶させる。
【００８３】
Ｓ３１において、抵抗値が可変終端抵抗３の可変範囲の最も小さい値まで減少していない場合（Ｓ３１でＮＯ）、抵抗値変更部１５は、可変終端抵抗３の抵抗値をさらに一定量減少する（Ｓ２８）。Ｓ２８〜Ｓ３１の処理は、Ｓ３１において可変終端抵抗３の抵抗値が可変範囲の最も小さい値に減少するまで繰り返される。その間、抵抗値変更部１５は、コマンド送信部１１からコマンドが送信されてから一定時間経過するごとに、可変終端抵抗３の抵抗値を一定の割合で段階的に減少する。抵抗値変更部１５は、減少した抵抗値ごとに応答信号受信部１６からの受信信号に基づき当該コマンドに対する応答信号を所定時間以内に受信したノード７および当該抵抗値を記憶部２０に記憶させる。
【００８４】
Ｓ３２において、上限値より大きい最小値が得られたノード７がある場合または下限値より小さい最大値が得られたノード７がある場合（Ｓ３２でＹＥＳ）、抵抗値決定部１４は、図２に示すＳ１７と同様に、共通通信可能範囲と重複しない通信可能範囲を有するノード７が存在することをユーザに報知して調整することを促し、上記調整が行われたかを確認する（Ｓ３４）。抵抗値決定部１４は、上記調整が行われたことをユーザの入力などによって確認すると（Ｓ３４でＹＥＳ）、Ｓ２１から再度処理を開始するように抵抗値変更部１５に通知する。抵抗値決定部１４は、調整が行われたことを確認できない場合（Ｓ３４でＮＯ）、上記調整が確認できるまで待機する。
【００８５】
また、所定のノード７において、応答信号受信部１６が、コマンド送信部１１から送信されるコマンドに対応する応答信号を、可変終端抵抗３の可変範囲の全ての抵抗値に関して所定時間以内に受信する場合が考えられる。このとき、可変終端抵抗３は、可変範囲内でどのような抵抗値を採用しても当該ノード７の通信環境に適合しているといえ、当該ノード７における可変終端抵抗３の最大値および最小値を検出しなくてもよい。所定のノード７において最大値および最小値を検出しない場合、Ｓ３２における上限値および下限値を決定する際は、当該ノード７以外で記憶部２０に記憶されている各ノード７の最大値および最小値から上限値および下限値を決定する。
【００８６】
以上のように終端抵抗値設定部１Ａは、応答信号受信部１６が上記応答信号を受信の有無を確認するごとに段階的に可変終端抵抗３の抵抗値を増加する動作を、応答信号受信部１６が応答信号を受信可能な範囲で可変終端抵抗３に続けさせる第１制御と、応答信号受信部１６が上記応答信号を受信の有無を確認するごとに段階的に可変終端抵抗３の抵抗値を減少する動作を、応答信号受信部１６が応答信号を受信可能な範囲で可変終端抵抗３に続けさせる第２制御とを、いずれかが先になるように全てのノード７について並行して行う。また、第１制御および第２制御による可変終端抵抗３の抵抗値を増減する動作により、応答信号が受信可能な各ノード７における可変終端抵抗３の抵抗値を得て記憶部２０に記憶させる。そのため、通信ネットワーク５０が実際に構築された状態で、通信可能範囲が重複している各ノード７において、通信が正常に行える可変終端抵抗３の抵抗値を把握することができる。
【００８７】
また、終端抵抗値設定部１Ａは、可変終端抵抗３の抵抗値の最大値の最も小さい値（上限値）と最小値の最も大きい値（下限値）との間で可変終端抵抗３の抵抗値を決定する。そのため、通信ネットワーク５０に接続される各ノード７が正常に通信できる範囲内で可変終端抵抗３の抵抗値を決定することができる。その結果、実際の通信環境に適合した可変終端抵抗３の抵抗値を決定することができる。これにより、従来の決められた終端抵抗の抵抗値を採用した場合のように、その終端抵抗の抵抗値が通信ネットワーク５０に適合しないことに起因する通信エラーを防止することができる。
【００８８】
また、終端抵抗値設定部１Ａは、各ノード７へのコマンドの送信と、各ノード７のコマンドの受信確認と、可変終端抵抗３の抵抗値の増加および減少とを並行して一度に行う。このため、可変終端抵抗３の抵抗値を増加および減少させる動作をノード７ごとに繰り返す必要がないので、実施形態１の終端抵抗値設定部１と比べて処理が軽減される。
【００８９】
そして、終端抵抗値設定部１Ａは、各ノード７がコマンドを受信できたときの抵抗値を記憶部２０に記憶するので、記憶された抵抗値から、可変終端抵抗３の抵抗値の可変範囲における全ての値に対して、各ノード７がコマンドに対する応答信号を受信できたか否かがわかる。したがって、実施形態１の終端抵抗値設定部１のように、可変終端抵抗３の抵抗値の可変範囲における全ての値に対して、コマンドに対する応答信号を受信できるか否かを各ノード７について確認する必要がない。
【００９０】
〔ソフトウェアによる実現例〕
終端抵抗値設定部１・１Ａの制御ブロック（特にコマンド送信部１１、応答信号受信部１２、抵抗値変更部１３、抵抗値決定部１４、抵抗値変更部１５、および応答信号受信部１６）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００９１】
後者の場合、終端抵抗値設定部１・１Ａは、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがまたはＣＰＵで読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、ＣＰＵが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」（半導体メモリなど）を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９３】
本発明は、可変抵抗値の調整に利用することができる。
【符号の説明】
【００９４】
１・１Ａ  終端抵抗値設定部
３  可変終端抵抗（可変抵抗）
４  差動ドライバ
５  差動レシーバ
６  バスライン
７  ノード
１１  コマンド送信部（送信部）
１２  応答信号受信部（受信部）
１３  抵抗値変更部
１４  抵抗値決定部
１５  抵抗値変更部
１６  応答信号受信部（受信部）
２０  記憶部
５０  通信ネットワーク（ネットワーク）
【図１】
0005961663.tif 000002
【図２】
0005961663.tif 000003
【図３】
0005961663.tif 000004
【図４】
0005961663.tif 000005