(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-20
(45)【発行日】2025-01-28
(54)【発明の名称】通信システム、処理方法、およびプログラム
(51)【国際特許分類】
G06F 3/00 20060101AFI20250121BHJP
G06F 13/36 20060101ALI20250121BHJP
【FI】
G06F3/00 T
G06F3/00 A
G06F3/00 F
G06F13/36 310Z
G06F13/36 530B
(21)【出願番号】P 2022143004
(22)【出願日】2022-09-08
【審査請求日】2022-09-08
【審判番号】
【審判請求日】2024-05-20
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】輿石 栄
【合議体】
【審判長】林 毅
【審判官】松崎 孝大
【審判官】吉田 美彦
(56)【参考文献】
【文献】特開平6-125261(JP,A)
【文献】特開2004-364276(JP,A)
【文献】米国特許出願公開第2007/0073506(US,A1)
【文献】特表2013-541121(JP,A)
【文献】特開2014-45464(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/00
G06F 13/00-13/42
(57)【特許請求の範囲】
【請求項1】
バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定する第1特定手段と、
複数の抵抗器
を組み合わせて前記抵抗値を実現する抵抗器を
前記複数の抵抗器の中から特定する第2特定手段と、
前記第2特定手段が特定した抵抗器
を組み合わせるための制御信号を用いて前記抵抗値の抵抗を構成させる構成手段と、
を備える通信システム。
【請求項2】
前記通信経路における接続状態に基づいて通信経路におけるバスがストールしたか否かを判定する判定手段、
を備える請求項1に記載の通信システム。
【請求項3】
前記バスがストールしたと前記判定手段が判定した場合に予備の通信経路に切り換える切換手段、
を備える請求項2に記載の通信システム。
【請求項4】
前記予備の通信経路は、
バススイッチおよびバスセレクタを備える、
請求項3に記載の通信システム。
【請求項5】
通信システムが実行する処理方法であって、
バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定することと、
複数の抵抗器
を組み合わせて前記抵抗値を実現する抵抗器を
前記複数の抵抗器の中から特定することと、
特定した抵抗器
を組み合わせるための制御信号を用いて前記抵抗値の抵抗を構成させることと、
を含む処理方法。
【請求項6】
コンピュータに、
バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定することと、
複数の抵抗器
を組み合わせて前記抵抗値を実現する抵抗器を
前記複数の抵抗器の中から特定することと、
特定した抵抗器
を組み合わせるための制御信号を用いて前記抵抗値の抵抗を構成させることと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信システム、処理方法、およびプログラムに関する。
【背景技術】
【0002】
通信システムの中には、スイッチで接続先(通信経路)を切り換えて通信を行うものがある。特許文献1には、関連する技術として、バスラインを介して通信を行うバスシステムに関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、スイッチで接続先(通信経路)を切り換えて通信を行う通信システムにおいて、通信経路を高電位に保持するプルアップ抵抗は、一般的に固定値である。スイッチで接続先(通信経路)を切り換える場合、通信経路ごとに負荷容量が異なり、通信エラーに対するマージンも異なる。その結果、通信経路によっては通信エラーが生じやすくなってしまう。
【0005】
そこで、通信システムにおいて、通信の接続先(すなわち、通信経路)が変更され負荷容量が変更された場合であっても、通信エラーの発生を低減することのできる技術が求められている。
【0006】
本開示の各態様は、上記の課題を解決することのできる通信システム、処理方法、およびプログラムを提供することを目的の1つとしている。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本開示の一態様によれば、通信システムは、バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定する第1特定手段と、複数の抵抗器を組み合わせて前記抵抗値を実現する抵抗器を前記複数の抵抗器の中から特定する第2特定手段と、前記第2特定手段が特定した抵抗器を組み合わせるための制御信号を用いて前記抵抗値の抵抗を構成させる構成手段と、を備える。
【0008】
上記目的を達成するために、本開示の別の態様によれば、通信システムが実行する処理方法であって、バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定することと、複数の抵抗器を組み合わせて前記抵抗値を実現する抵抗器を前記複数の抵抗器の中から特定することと、特定した抵抗器を組み合わせるための制御信号を用いて前記抵抗値の抵抗を構成させることと、を含む。
【0009】
上記目的を達成するために、本開示の別の態様によれば、プログラムは、コンピュータに、バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定することと、複数の抵抗器を組み合わせて前記抵抗値を実現する抵抗器を前記複数の抵抗器の中から特定することと、特定した抵抗器を組み合わせるための制御信号を用いて前記抵抗値の抵抗を構成させることと、を実行させる。
【発明の効果】
【0010】
本開示の各態様によれば、通信の接続先(すなわち、通信経路)が変更され負荷容量が変更された場合であっても、通信エラーの発生を低減することができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の一実施形態による通信システムの構成の一例を示す図である。
【
図2】本開示の一実施形態におけるテーブルTBL0の一例を示す図である。
【
図3】本開示の一実施形態におけるテーブルTBL1の一例を示す図である。
【
図4】本開示の一実施形態による通信システムの処理フローの一例を示す図である。
【
図5】本開示の実施形態による通信システムの最小構成を示す図である。
【
図6】本開示の実施形態による最小構成の通信システムの処理フローの一例を示す図である。
【
図7】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら実施形態について詳しく説明する。
<実施形態>
図1は、本開示の一実施形態による通信システム1の構成の一例を示す図である。通信システム1は、
図1に示すように、ボード10a、10b、10c、10d、ケーブル20a、20b、20c、20d、およびボード30を備える。ボード10a、10b、10c、10dを総称して、ボード10という。ケーブル20a、20b、20c、20dを総称して、ケーブル20という。
【0013】
ボード10aは、
図1に示すように、デバイス101a1、101a2、端子102a、およびプルアップ抵抗器103aを備える。デバイス101a1、101a2のそれぞれは、Inter-Integrated Circuit(I2C)バスを介してボード30とI2C通信を行うスレーブデバイスである。端子102aは、デバイス101a1、101a2、およびプルアップ抵抗器103aに接続される。また、端子102aは、ケーブル20aを介してボード30に接続される。プルアップ抵抗器103aは、端子102aの電位を高電位に保持する。なお、ボード10aのロケーションは、A0である。
【0014】
ボード10bは、
図1に示すように、デバイス101b1、101b2、端子102b、およびプルアップ抵抗器103bを備える。デバイス101b1、101b2のそれぞれは、I2Cバスを介してボード30とI2C通信を行うスレーブデバイスである。端子102bは、デバイス101b1、101b2、およびプルアップ抵抗器103bに接続される。また、端子102bは、ケーブル20bを介してボード30に接続される。プルアップ抵抗器103bは、端子102bの電位を高電位に保持する。なお、ボード10bのロケーションは、A1である。
【0015】
ボード10cは、
図1に示すように、デバイス101c1、101c2、端子102c、およびプルアップ抵抗器103cを備える。デバイス101c1、101c2のそれぞれは、I2Cバスを介してボード30とI2C通信を行うスレーブデバイスである。端子102cは、デバイス101c1、101c2、およびプルアップ抵抗器103cに接続される。また、端子102cは、ケーブル20cを介してボード30に接続される。プルアップ抵抗器103cは、端子102cの電位を高電位に保持する。なお、ボード10cのロケーションは、A2である。
【0016】
ボード10dは、
図1に示すように、デバイス101d1、101d2、101d3、101d4、端子102d、およびプルアップ抵抗器103dを備える。デバイス101d1、101d2、101d3、101d4のそれぞれは、I2Cバスを介してボード30とI2C通信を行うスレーブデバイスである。端子102dは、デバイス101d1、101d2、101d3、101d4、およびプルアップ抵抗器103dに接続される。また、端子102dは、ケーブル20dを介してボード30に接続される。プルアップ抵抗器103dは、端子102dの電位を高電位に保持する。なお、ボード10dのロケーションは、Bである。
【0017】
ケーブル20aは、ボード10aと、ボード30とを接続する。具体的には、端子102aと、ボード30の後述する端子301aとを接続する。
【0018】
ケーブル20bは、ボード10bと、ボード30とを接続する。具体的には、ケーブル20bは、端子102bと、ボード30の後述する端子301bとを接続する。
【0019】
ケーブル20cは、ボード10cと、ボード30とを接続する。具体的には、ケーブル20cは、端子102cと、ボード30の後述する端子301cとを接続する。
【0020】
ケーブル20dは、ボード10dと、ボード30とを接続する。具体的には、ケーブル20dは、端子102dと、ボード30の後述する端子301dとを接続する。
【0021】
ボード30は、
図1に示すように、端子301a、301b、301c、301d、バスセレクタ302a、302b、302c、バススイッチ303a、303b、反転回路304、抵抗合成器305、プルアップ抵抗器306a1、306a2、・・・、306a(n-1)、306an、抵抗生成指示回路307、装置構成部308、およびバスマスタ309を備える。バスセレクタ302a、302b、302cを総称して、バスセレクタ302という。バススイッチ303a、303bを総称して、バススイッチ303という。
【0022】
端子301aは、配線Aを介して、バスセレクタ302bの後述するP0端子およびバスセレクタ302cの後述するP0端子に接続される。また、端子301aは、ケーブル20aを介して、ボード10aの端子102aに接続される。
【0023】
端子301bは、配線Bを介して、バスセレクタ302bの後述するP1端子およびバスセレクタ302cの後述するP1端子に接続される。また、端子301bは、ケーブル20bを介して、ボード10bの端子102bに接続される。
【0024】
端子301cは、配線Cを介して、バスセレクタ302bの後述するP2端子およびバスセレクタ302cの後述するP2端子に接続される。また、端子301cは、ケーブル20cを介して、ボード10cの端子102cに接続される。
【0025】
端子301dは、配線Dを介して、バスセレクタ302bの後述するP3端子およびバスセレクタ302cの後述するP3端子に接続される。また、端子301dは、ケーブル20dを介して、ボード10dの端子102dに接続される。
【0026】
バスセレクタ302のそれぞれは、入力される信号に応じて端子P0、P1、P2、P3の何れかから信号を出力する。これにより、信号を伝搬させるバスが選択されることになる。
【0027】
具体的には、バスセレクタ302aは、バスマスタ309から信号が入力され、バスセレクタ302aの端子P0、P1、P2、P3の何れかから信号を出力する。バスセレクタ302aの端子P0は、バススイッチ303a、303b、抵抗合成器305、および抵抗生成指示回路307の後述するバス状態判定部307a3に接続される。
【0028】
また、具体的には、バスセレクタ302bは、バススイッチ303aから信号が入力され、バスセレクタ302bの端子P0、P1、P2、P3の何れかから信号を出力する。また、具体的には、バスセレクタ302cは、バススイッチ303bから信号が入力され、バスセレクタ302cの端子P0、P1、P2、P3の何れかから信号を出力する。
【0029】
バススイッチ303のそれぞれは、抵抗生成指示回路307の後述するバススイッチ切換回路307a2が出力するバス有効信号に応じた信号を入力する。そして、バススイッチ303のそれぞれは、入力した信号に応じてバスを接続または切断する。
【0030】
具体的には、バススイッチ303aは、バススイッチ切換回路307a2が出力するバス有効信号を直接入力し、入力したバス有効信号に応じてバスを接続または切断する。また、具体的には、バススイッチ303bは、バススイッチ切換回路307a2が出力するバス有効信号を反転回路304を介して入力し、入力した信号に応じてバスを接続または切断する。つまり、バススイッチ303aとバススイッチ303bとには、バス有効信号に応じた信号として、互いに反転した信号が入力されることになる。よって、バススイッチ303aがバスを接続する場合、バススイッチ303bがバスを切断する。また、バススイッチ303bがバスを接続する場合、バススイッチ303aがバスを切断する。その結果、バスを伝搬する信号は、バススイッチ303aがバスを接続する場合、バスセレクタ302bに入力されるが、バスセレクタ302cには入力されない。また、バスを伝搬する信号は、バススイッチ303bがバスを接続する場合、バスセレクタ302cに入力されるが、バスセレクタ302bには入力されない。
【0031】
反転回路304は、入力された信号を反転させて出力する。反転回路304は、
図1に示すように、バススイッチ切換回路307a2とバススイッチ303bとの間に設けられる。
【0032】
抵抗合成器305は、
図1に示すように、バススイッチ305a1、305a2、・・・、305a(n-1)、305anを備える。バススイッチ305a1、305a2、・・・、305a(n-1)、305anを総称して、バススイッチ305aという。
【0033】
バススイッチ305aのそれぞれは、抵抗生成指示回路307の後述するセレクト信号生成部307a1が出力するセレクト信号を入力する。そして、バススイッチ305aのそれぞれは、入力したセレクト信号に応じてバスを接続または切断する。なお、セレクト信号は、生成する抵抗に応じた信号であり、バススイッチ305aのそれぞれには、バススイッチ305aのそれぞれに応じた個別の信号が入力される。
【0034】
バススイッチ305aそれぞれの入力は、バスセレクタ302aの端子P0に接続される。また、バススイッチ305a1の出力にはプルアップ抵抗器306a1が、バススイッチ305a2の出力にはプルアップ抵抗器306a2が、バススイッチ305a(n-1)の出力にはプルアップ抵抗器306a(n-1)が、バススイッチ305anの出力にはプルアップ抵抗器306anが、それぞれ接続される。
【0035】
生成する抵抗に応じたセレクト信号がバススイッチ305aのそれぞれに入力され、そのセレクト信号に応じてバススイッチ305aのそれぞれがバスを接続またはバスを切断することにより、プルアップ抵抗器306a1~306anによって生成される抵抗が所望の抵抗値を有する抵抗となる。
【0036】
プルアップ抵抗器306a1、306a2、・・・、306a(n-1)、306anは、バススイッチ305aそれぞれによるバスの接続またはバスの切断に応じて、互いに接続または切断されることにより、所望の抵抗値を有する抵抗となる。プルアップ抵抗器306a1、306a2、・・・、306a(n-1)、306anを総称して、プルアップ抵抗器306aという。プルアップ抵抗器306aのそれぞれは、所望の抵抗値を有する抵抗の要素となる抵抗値を有し、所望の抵抗値を有する抵抗を生成するために、プルアップ抵抗器306aのそれぞれの抵抗値が決定される。なお、所望の抵抗値を有する抵抗を生成できる限り、プルアップ抵抗器306aのそれぞれの抵抗値は、同一であってもよいし、異なっていてもよい。
【0037】
抵抗生成指示回路307は、
図1に示すように、セレクト信号生成部307a1(第1特定手段の一例、第2特定手段の一例、構成手段の一例)、バススイッチ切換回路307a2(切替手段の一例)、バス状態判定部307a3(判定手段の一例)、および記憶部307a4を備える。
【0038】
セレクト信号生成部307a1は、プルアップ抵抗器306a1~306anによって生成される抵抗が所望の抵抗値を有する抵抗とするセレクト信号を生成する。そして、セレクト信号生成部307a1は、生成したセレクト信号を抵抗合成器305に出力する。
【0039】
バススイッチ切換回路307a2は、バス状態判定部307a3からストールしたか否かの判定結果を受ける。そして、バススイッチ切換回路307a2は、受けた判定結果に基づいて、バスセレクタ302bとバスセレクタ302cとを切り換えるためのバス有効信号を生成する。バススイッチ切換回路307a2は、生成したバス有効信号をバススイッチ303aおよび反転回路304に出力する。
【0040】
バス状態判定部307a3は、常にバスの状態を監視している。また、バス状態判定部307a3は、バスセレクタ302bまたは302cのどちらを選択しているかを認識している。バス状態判定部307a3は、現在の経路の一部を構成するバスセレクタ(すなわち、バスセレクタ302bおよび302cの何れか一方)がストールしたか否かを判定する。バス状態判定部307a3は、ストールしたと判定した場合、現在の経路の一部を構成するバスセレクタとは別のバスセレクタ(すなわち、バスセレクタ302bまたは302c)に切り換える指示をバススイッチ切換回路307a2に出力する。
【0041】
記憶部307a4は、抵抗生成指示回路307が行う処理に必要な種々の情報を記憶する。例えば、記憶部307a4は、テーブルTBL0およびテーブルTBL1を記憶する。テーブルTBL0は、すべての接続先(経路)と、それぞれの接続先に対して最適な抵抗値との対応関係を定義するテーブルである。
図2は、本開示の一実施形態におけるテーブルTBL0の一例を示す図である。
図2に示すように、テーブルTBL0では、例えば、接続1として、バスマスタ309(
図2では[バスマスタ]と記載)-バスセレクタ302a(
図2では[バスSEL(A)]と記載)-バススイッチ303a(
図2では[バスSW(A)]と記載)-バスセレクタ302b(
図2では[バスSEL(B)]と記載)-ボード10a(
図2では[ボードA(ロケーション:A0)]と記載)の順に接続先が記憶されており、その接続先に最適な抵抗値として2.4kΩが関連付けられて記憶されている。
【0042】
テーブルTBL1は、各接続先と、各接続先に最適な抵抗値と、その最適な抵抗値を実現するための抵抗の組み合わせ(すなわち、プルアップ抵抗器306a1~306anの組み合わせ)との対応関係を定義するテーブルである。
図3は、本開示の一実施形態におけるテーブルTBL1の一例を示す図である。
図3に示すように、テーブルTBL1では、例えば、接続1と、接続1に対して最適な抵抗値2.4kΩと、その抵抗値を実現する抵抗の組み合わせ4kΩ+6kΩ(4kΩと6kΩの並列接続)がされている。
【0043】
装置構成部308は、通信システム1における現在のI2Cバスのすべての接続状態を認識している。そして、装置構成部308は、通信システム1における現在のI2Cバスのすべての接続状態を抵抗生成指示回路307に出力する。また、装置構成部308は、抵抗生成指示回路307におけるテーブルTBL0およびTBL1の更新を指示する。装置構成部308は、最適なプルアップ抵抗値を有する抵抗の生成を指示する制御部である。
【0044】
バスマスタ309は、I2Cバスマスタコントローラである。バスマスタ309は、ボード10それぞれが備えるスレーブデバイスであるデバイス101a1、101a2、101b1、101b2、101c1、101c2、101d1、101d2、101d3、101d4との間で通信を行う。
【0045】
なお、通信システム1における各処理部が行う上述した処理は、一例であって上述した処理に限定されるものではない。例えば、以下で説明する通信システム1の処理について示す処理を行うものであってもよい。
【0046】
次に、本開示の一実施形態による通信システム1が行う処理について説明する。
図4は、本開示の一実施形態による通信システム1の処理フローの一例を示す図である。ここでは、
図4を参照して、通信システム1が行う処理について説明する。なお、ケーブル20a、20b、20c、および20dそれぞれの負荷容量はすべて異なるものとする。すなわち、バスセレクタ302bおよび302cの各出力端子に対する負荷容量が異なるものとする。また、ここでは、ボード30のバスマスタ309がボード10aのデバイス101a1と通信を行う場合を例に、通信システム1の処理について説明する。具体的には、通信システム1において、バスセレクタ302cを経由してボード30のバスマスタ309がボード10aのデバイス101a1と通信を行っていた場合に、バスセレクタ302cがストールし、バスセレクタ302bを経由して通信を行うバスマスタ309-バスセレクタ302a-バススイッチ303a-バスセレクタ302b-ボード10aの経路(
図2のテーブルTBL0における経路1)となるように経路が変更されるものとする。この場合、バスセレクタ302aは、バスセレクタ302aの端子P0から信号を出力する。また、バスセレクタ302bは、バスセレクタ302bの端子P0から信号を出力する。また、バススイッチ切換回路307a2は、バススイッチ303aがバスを接続し、バススイッチ303bがバスを切断するバス有効信号を、バススイッチ303aおよび反転回路304に出力する。
【0047】
ボード30のバスマスタ309が、ボード10aのデバイス101a1と通信を行う場合、装置構成部308は、通信システム1における現在のI2Cバスのすべての接続状態を認識する(ステップS1)。そして、装置構成部308は、通信システム1における現在のI2Cバスのすべての接続状態を抵抗生成指示回路307に出力する。バス状態判定部307a3は、バスセレクタ302cがストールしたか否かを判定する(ステップS2)。バス状態判定部307a3は、バスセレクタ302cがストールしていないと判定した場合(ステップS2においてNO)、ステップS2の処理に戻す。また、バス状態判定部307a3は、バスセレクタ302cがストールしたと判定した場合(ステップS2においてYES)、バスセレクタを切り換える(すなわち、バスセレクタ302cからバスセレクタ302bに切り換える)指示をバススイッチ切換回路307a2に出力する。
【0048】
バススイッチ切換回路307a2は、バス状態判定部307a3からストールしたか否かの判定結果を受ける。そして、バススイッチ切換回路307a2は、受けた判定結果に基づいてバスセレクタ302cをバスセレクタ302bに切り換えるバス有効信号を生成する(ステップS3)。バススイッチ切換回路307a2は、生成したバス有効信号をバススイッチ303aおよび反転回路304に出力する。これにより、通信システム1における通信経路がバスマスタ309-バスセレクタ302a-バススイッチ303a-バスセレクタ302b-ボード10aの経路(
図2のテーブルTBL0における経路1)となる。
【0049】
装置構成部308は、新たな経路を含む通信システム1における現在のI2Cバスのすべての接続状態を認識する(ステップS4)。装置構成部308は、新たな経路を含む現在の接続状態を抵抗生成指示回路307に出力する。
【0050】
セレクト信号生成部307a1は、装置構成部308が出力した新たな経路を含む現在の経路に基づいて、プルアップ抵抗器306a1~306anによって生成される抵抗が所望の抵抗値を有する抵抗とするセレクト信号を生成する。例えば、セレクト信号生成部307a1は、新たな経路を含む現在の経路に対応する最適な抵抗値を、テーブルTBL0において特定する(ステップS5)。ここで示す例では、セレクト信号生成部307a1は、
図2のテーブルTBL0において、新たな経路を含む現在の経路に一致する経路1を特定し、経路1に関連付けられている抵抗値2.4kΩを特定する。セレクト信号生成部307a1は、特定した抵抗値に関連付けられているプルアップ抵抗器306a1~306anの組み合わせを、テーブルTBL1において特定する(ステップS6)。ここで示す例では、セレクト信号生成部307a1は、
図2のテーブルTBL1において、経路1に関連付けられている抵抗値2.4kΩを実現する抵抗値の組み合わせ、すなわち、プルアップ抵抗器306a1~306anの組み合わせを特定する。そして、セレクト信号生成部307a1は、特定したプルアップ抵抗器306a1~306anの組み合わせを実現するセレクト信号を生成する(ステップS7)。
【0051】
バススイッチ305aのそれぞれは、セレクト信号生成部307a1が出力するセレクト信号を入力する。そして、バススイッチ305aのそれぞれは、入力したセレクト信号に応じてバスを接続または切断する(ステップS8)。
【0052】
上述のように、生成する抵抗に応じたセレクト信号がバススイッチ305aのそれぞれに入力され、そのセレクト信号に応じてバススイッチ305aのそれぞれがバスを接続またはバスを切断することにより、プルアップ抵抗器306a1~306anによって生成される抵抗が所望の抵抗値を有する抵抗となる。
【0053】
(利点)
上述のように、通信システム1において、セレクト信号生成部307a1(第1特定手段の一例)は、バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定する。また、セレクト信号生成部307a1(第2特定手段の一例)は、複数の抵抗器の中から前記抵抗値を実現する抵抗器を特定する。また、セレクト信号生成部307a1(構成手段の一例)は、特定した抵抗器に前記抵抗値の抵抗を構成させる。こうすることにより、通信の接続先(すなわち、通信経路)が変更され負荷容量が変更された場合であっても、通信エラーの発生を低減することができる。
【0054】
また、通信システム1において、バス状態判定部307a3(判定手段の一例)は、通信経路における接続状態に基づいて通信経路におけるバスがストールしたか否かを判定する。これに応じて、上述のように、セレクト信号生成部307a1が前記抵抗値の抵抗を構成させる。こうすることにより、通信システム1は、バスのリセットや種々の再設定などの処理を行わずにスイッチバスを切り換えることで、バスを復旧することができ、復旧までの時間を短縮することが可能となる。
【0055】
図5は、本開示の実施形態による通信システム1の最小構成を示す図である。通信システム1は、
図5に示すように、セレクト信号生成部307a1(第1特定手段の一例、第2特定手段の一例、構成手段の一例)を備える。セレクト信号生成部307a1は、バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定する。セレクト信号生成部307a1は、複数の抵抗器の中から前記抵抗値を実現する抵抗器を特定する。セレクト信号生成部307a1は、特定した抵抗器に前記抵抗値の抵抗を構成させる。
【0056】
図6は、本開示の実施形態による最小構成の通信システム1の処理フローの一例を示す図である。次に、本開示の実施形態による最小構成の通信システム1の処理について
図6を参照して説明する。
【0057】
セレクト信号生成部307a1は、バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定する(ステップS101)。セレクト信号生成部307a1は、複数の抵抗器の中から前記抵抗値を実現する抵抗器を特定する(ステップS102)。セレクト信号生成部307a1は、特定した抵抗器に前記抵抗値の抵抗を構成させる(ステップS103)。
【0058】
以上、本開示の実施形態による最小構成の通信システム1について説明した。この通信システム1により、通信の接続先(すなわち、通信経路)が変更され負荷容量が変更された場合であっても、通信エラーの発生を低減することができる。
【0059】
なお、本開示の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0060】
本開示の実施形態について説明したが、上述の通信システム1、ボード10、30、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【0061】
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ5は、
図7に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
【0062】
例えば、上述の通信システム1、ボード10、30、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
【0063】
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
【0064】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0065】
本開示のいくつかの実施形態を説明したが、これらの実施形態は、例であり、開示の範囲を限定しない。これらの実施形態は、開示の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【0066】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0067】
(付記1)
バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定する第1特定手段と、
複数の抵抗器の中から前記抵抗値を実現する抵抗器を特定する第2特定手段と、
前記第2特定手段が特定した抵抗器に前記抵抗値の抵抗を構成させる構成手段と、
を備える通信システム。
【0068】
(付記2)
前記通信経路における接続状態に基づいて通信経路におけるバスがストールしたか否かを判定する判定手段、
を備える付記1に記載の通信システム。
【0069】
(付記3)
前記バスがストールしたと前記判定手段が判定した場合に予備の通信経路に切り換える切換手段、
を備える付記2に記載の通信システム。
【0070】
(付記4)
前記予備の通信経路は、
バススイッチおよびバスセレクタを備える、
付記3に記載の通信システム。
【0071】
(付記5)
通信システムが実行する処理方法であって、
バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定することと、
複数の抵抗器の中から前記抵抗値を実現する抵抗器を特定することと、
特定した抵抗器に前記抵抗値の抵抗を構成させることと、
を含む処理方法。
【0072】
(付記6)
コンピュータに、
バス通信を行う通信経路における負荷容量に応じたプルアップ抵抗の抵抗値を特定することと、
複数の抵抗器の中から前記抵抗値を実現する抵抗器を特定することと、
特定した抵抗器に前記抵抗値の抵抗を構成させることと、
を実行させるプログラム。
【符号の説明】
【0073】
1・・・通信システム
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10、30・・・ボード
20・・・ケーブル
101・・・デバイス
102、301・・・端子
103、306・・・プルアップ抵抗器
302・・・バスセレクタ
303、305a・・・バススイッチ
304・・・反転回路
305・・・抵抗合成器
307・・・抵抗生成指示回路
307a1・・・セレクト信号生成部
307a2・・・バススイッチ切換回路
307a3・・・バス状態判定部
308・・・装置構成部
309・・・バスマスタ