通信用スレーブ
【課題】バスにスイッチを挿入せずとも、それぞれがIDを適切に設定できる通信用スレーブを提供する。
【解決手段】スレーブ2のID決定回路12は、通信バス3を介してコンデンサ11bに充電が開始された時点から、電圧判定回路により通信バス3の電圧が閾値電圧Vthを超えたことが判定されるまでの時間をカウンタにより計測し、制御装置10は、計測された時間の長さに応じてマスタ1と通信を行うためのIDを設定する。
【解決手段】スレーブ2のID決定回路12は、通信バス3を介してコンデンサ11bに充電が開始された時点から、電圧判定回路により通信バス3の電圧が閾値電圧Vthを超えたことが判定されるまでの時間をカウンタにより計測し、制御装置10は、計測された時間の長さに応じてマスタ1と通信を行うためのIDを設定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1つのマスタと複数のスレーブとを一対のバスでデイジーチェーン接続してなる通信ネットワークに使用される、前記スレーブに関する。
【背景技術】
【0002】
1つのマスタと複数のスレーブとを、一対のバスでデイジーチェーン接続して構成される通信ネットワークのプロトコルには、例えば車載LANとして用いられるDSI(Distributed System Interface)やSbW(Safe by Wire)などがある。このような通信ネットワークでは、マスタが複数のスレーブとシリアル通信を行うため、各スレーブにIDを設定する必要がある。
例えば特許文献1には、複数のスレーブ装置の各々が、バスを構成する電源線にスイッチを挿入し、マスタ装置があらかじめ記憶したスレーブ装置の各接続順とIDに基づいて、バスを介してマスタ装置に近いスレーブ装置から順次IDを設定し、IDが設定されたスレーブ装置が順次スイッチをオンにして、次段のスレーブ装置をバス接続する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−152741号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のようにバスにスイッチを挿入しようとすると、そのスイッチを構成するトランジスタ等の素子には、オン抵抗値を極力低下させることが要求される。すると、スイッチのサイズを大型にせざるを得ず、各スレーブのサイズ、ひいては通信システム全体のサイズが大型化することに繋がるという問題がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、バスにスイッチを挿入せずとも、それぞれがIDを適切に設定できる通信用スレーブを提供することにある。
【課題を解決するための手段】
【0005】
請求項1記載の通信用スレーブによれば、時間計測手段は、通信バスを介して、すなわち当該通信バスが有する抵抗分を介して容量性素子に充電が開始された時点から、電圧判定手段により高電位側,低電位側バス間の電圧が閾値を超えたことが判定されるまでの時間を計測する。そして、制御装置は、時間計測手段により計測された時間の長さに応じてマスタと通信を行うためのIDを設定する。すなわち、通信バスでデイジーチェーン接続されている複数のスレーブでは、マスタに近付く上流側からマスタより遠ざかる下流側に向かうに従い、通信バス間の容量が増加する。したがって、通信バスを介して容量性素子に充電が開始された時点から、バス間の電圧が閾値を超えたことが判定されるまでの時間は、下流側のスレーブほど長くなる。
そこで、各スレーブの制御装置が、時間計測手段により計測された時間の長さに応じてIDを設定すれば、それぞれのID値を一意に決定することができる。これにより、通信バスに低オン抵抗のスイッチを挿入することなく、各スレーブがIDを適切に設定できるようになる。したがって、スレーブ自体,並びに通信ネットワークシステムを小型に構成できる。
【0006】
請求項2記載の通信用スレーブによれば、制御装置は、通信バスを介して容量性素子に最初の充電が開始され、電圧判定手段によりバス間電圧が閾値を超えたことが判定されると、その時点から一定時間が経過した後マスタに応答を返す。すなわち、通信バスでデイジーチェーン接続されている複数のスレーブでは、マスタに近い上流側からマスタより遠ざかる下流側に向かうに従い、通信バス間の容量が増加する。
したがって、通信バスを介して容量性素子に充電が開始された時点から、バス間の電圧が閾値を超えたことが判定されるまでの時間は下流側のスレーブほど長くなるので、各スレーブの制御装置がマスタに応答信号を最初に返すまでの時間はそれぞれ異なる。そこで、制御装置が、予め定められたID設定期間が経過するまでの間に検出された電流変化の回数を計測し、その計測回数に応じてIDを設定すれば、それぞれのID値を一意に決定することができる。これにより、通信バスに低オン抵抗のスイッチを挿入することなく、各スレーブがIDを適切に設定できるようになる。
【0007】
請求項3記載の通信用スレーブによれば、容量性素子を、通信バスを介して供給される電源を保持するためのコンデンサとする。すなわち、スレーブに対し、通信バスを介して電源を供給する構成のネットワークシステムでは、スレーブはマスタに応答を返すための通信期間の電源を保持するためにコンデンサを備えている。したがって、容量性素子にそのコンデンサを利用すれば、部品を別途追加することなく本発明の通信用スレーブを構成できる。
【0008】
請求項4記載の通信用スレーブによれば、高電位側バスにおいて容量性素子の一端が接続されている点よりも上流側に、抵抗素子を挿入する。すなわち、通信用スレーブの内部で高電位側バスに抵抗素子を挿入すれば、その抵抗分に応じて容量性素子の容量を低減することができるので、容量性素子のサイズを小さくして通信用スレーブを小型に構成できる。
【図面の簡単な説明】
【0009】
【図1】第1実施例であり、通信ネットワークシステムの構成を示す図
【図2】ID決定回路の内部構成を示す図
【図3】マスタが最初に電源を供給した場合の、通信バスの電圧変化を示すタイミングチャート
【図4】上記の場合にスレーブが行う処理を示すフローチャート
【図5】参考例であり、スレーブの内部構成を示す図
【図6】図2相当図
【図7】図4相当図
【図8】各スレーブがマスタに応答信号を返信しながら夫々のID値を決定して行く状態を示すタイミングチャート
【図9】第2実施例を示す図5相当図
【図10】図2相当図
【図11】図4相当図
【図12】図8相当図
【図13】第3実施例を示す図1の一部相当図
【図14】第4実施例を示す図1の一部相当図
【発明を実施するための形態】
【0010】
(第1実施例)
以下、第1実施例について図1ないし図4を参照して説明する。図1は、通信ネットワークシステムの構成を示す。通信ネットワークシステムは、マスタ1と複数のスレーブ2A〜2C(通信用スレーブ,通信ノード)とで構成され、複数のスレーブ2A〜2Cは、通信バス3H(高電位側バス),3L(低電位側バス)を介してマスタ1にデイジーチェーン接続されている。通信バス3Hには、マスタ1内のスイッチ4を介して電源VMが供給され、通信バス3Lにはグランド電位が付与される。
【0011】
マスタ1は、スレーブ2に通信バス3を介して信号を送信する送信器(ドライバ)5,スレーブ2からの応答信号を通信バス3を介して受信する受信器(レシーバ)6,スイッチ4と送信器5並びに受信器6を制御する制御装置7を備えている。制御装置7は、マイクロコンピュータにより構成され、送信器5を制御して通信バスの電位を変動させてマスタ1に信号を送信する。また、マスタ1が応答した信号は、受信器6を介して制御装置7に与えられる。
【0012】
スレーブ2は、マスタ1より送信された信号を受信する受信器8,マスタ1に信号を送信する送信器9,受信器8並びに送信器9を制御する制御装置10を備えている。この制御装置10も、マイクロコンピュータにより構成されている。受信器8は、マスタ1がドライブした通信バス3の電圧変化を図示しないコンパレータにより基準電圧と比較することで受信データを制御装置10に出力する。送信器9は、通信バス3H,3L間に接続されたスイッチ9a及び電流源9bの直列回路で構成されており、制御装置10がスイッチ9aのオンオフを制御することで、通信バス3に流れる電流を変動させてマスタ1に応答信号を送信する。
【0013】
スレーブ2は、マスタ1より通信バス3を介して供給される電源を電源保持回路11により保持し、図示しない電源安定化回路により安定化させたものを各部の動作電源とするように構成されている(例えばDSIのように、電源供給フェーズと通信フェーズとが交互に切り替えられる)。電源保持回路11は、ダイオード11a及びコンデンサ(容量性素子)11bの直列回路で構成されている。また、スレーブ2は、ID決定回路12を備えており、制御装置10は、マスタ1より最初に電源供給が開始された場合に、ID決定回路12によってマスタ1と通信を行うためのIDを自律的に決定する。
【0014】
図2は、ID決定回路12の内部構成を示すもので、ID決定回路12は、電圧判定回路(電圧判定手段)13,(同期式)カウンタ(時間計測手段)14,アナログスイッチ15及び分周器16などで構成されている。電圧判定回路13は、コンパレータ17,レギュレータ18及び抵抗素子R1〜R3で構成されている。通信バス3Hとグランドとの間には、抵抗素子R1及びR2の直列回路とレギュレータ18とが接続されている。レギュレータ18は、例えばバンドギャップリファンレンス(BGR)回路等で構成され、通信バス3からの電源供給を受けてスレーブ2内の各回路の動作電源Vccや、コンパレータ17の判定用閾値電圧Vthを生成する。
【0015】
コンパレータ17の非反転入力端子は抵抗素子R1及びR2の共通接続点に接続され、反転入力端子にはレギュレータ18より上記閾値電圧Vthが与えられている。そして、コンパレータ17の出力端子は、抵抗素子R3を介して電源電圧Vccにプルアップされている。すなわち、コンパレータ17は、非反転入力端子に与えられる通信バス3Hの分圧電位を、反転入力端子に与えられる閾値電圧Vthと比較する。
【0016】
コンパレータ17の出力端子は、アナログスイッチ15の制御端子(負論理)に接続されており、アナログスイッチ15の一端は分周器16に、他端はカウンタ14のクロック端子(負論理)に接続されている。分周器16は、制御装置10の動作クロックであるスレーブクロックを分周(分周比1/R)するもので、その分周クロックがアナログスイッチ15を介してカウンタ14のクロック端子に与えられる。そして、カウンタ14のカウントデータは制御装置10に出力される。
また、カウンタ14の負論理のクリア端子は、スレーブ2に対して最初に電源が供給された場合、制御装置10にパワーオンリセットが作用している期間にアクティブとなってクリアされ、パワーオンリセットが解除されると同時にインアクティブとなる。
【0017】
次に、本実施例の作用について図3及び図4を参照して説明する。図3は、マスタ1が最初にスイッチ4を閉じて、通信バス3を介して各スレーブ2A〜2Cに電源を供給した場合に、通信バス3H,3L間のバス電圧VBの変化を示すタイミングチャートであり、図4は、その場合にスレーブ2が行う処理を示すフローチャートである。尚、図4は、制御装置10がソフトウェア(制御プログラム)に従い実行する処理だけでなく、マスタ1の動作やスレーブ2のハードウェアの動作も併せて示している。
【0018】
マスタ1が電源VMを投入すると(ステップS1)、各スレーブ2が内蔵している電源保持回路11のコンデンサ11bが、通信バス3Hが有している抵抗分を介して充電されるため、バス電圧VBはRC時定数に応じた時間で上昇する。この時、各スレーブ2A〜2Cについては、マスタ1より遠ざかる下流側に位置するものほどRC時定数が大きくなるため、バス電圧VBの上昇度合いが低下する。したがって、各スレーブ2A〜2Cの電圧判定回路13において、バス電圧VBが閾値電圧Vthを超える時間(立ち上がり時間)τは、図3(b)〜(d)に示すようにτ1,τ2,τ3と次第に長くなる。
【0019】
ID決定回路12においては、バス電圧VBが閾値電圧Vthを超えるまでは、コンパレータ17の出力レベルはロウであるから、カウンタ14に対して分周クロックが供給され、カウンタ14は分周クロックのネガティブエッジでカウントを行う。そして、バス電圧VBが閾値電圧Vthを超えると(ステップS2:YES)、コンパレータ17の出力レベルはハイに変化するので、カウンタ14に対する分周クロックの供給は停止する。したがって、その時点にカウンタ14が出力しているカウントデータは立ち上がり時間τに相当する。
【0020】
制御装置10は、例えばコンパレータ17の出力信号を参照し、出力レベルがロウからハイに変化したことを検出した後にカウンタ14のカウントデータを読み込む。そして、予め内部の不揮発性メモリに保持している、立ち上がり時間τ1,τ2,τ3に相当するカウントデータ値とID値との対応テーブルに基づいて、それぞれのID値を決定する(ステップS3)。
例えば、コンデンサ11bの容量がμFオーダーである場合に、立ち上がり時間τが0〜150μsの範囲(τ1)であればID=1,150μs〜450μsの範囲(τ2)であればID=2,450μs〜700μsの範囲(τ3)であればID=3とするように決定する。そして、マスタ1は、各スレーブ2A〜2CがIDを決定するのに要する時間が経過した後に、各スレーブ2A〜2Cに設定されているIDを個別に指定して以降の通信を行う。
【0021】
尚、電源保持回路11を構成するコンデンサ11bの容量が、各スレーブ2A〜2Cについてバス電圧VBの立ち上がり時間差を付与するには不足している場合は、別途コンデンサを追加接続すれば良い。
【0022】
以上のように本実施例によれば、スレーブ2におけるカウンタ14は、通信バス3を介してコンデンサ11bに充電が開始された時点から、電圧判定回路13により通信バス3の電圧が閾値電圧Vthを超えたことが判定されるまでの時間を計測し、制御装置10は、カウンタ14により計測された時間の長さに応じてマスタ1と通信を行うためのIDを設定するようにした。したがって、通信バス3に低オン抵抗のスイッチを挿入することなく、各スレーブ2A〜2Cが自律的にそれぞれのID値を一意に決定することができ、スレーブ2、並びに通信ネットワークシステムを小型に構成できる。そして、容量性素子に、通信バス3を介して供給される電源を保持するためのコンデンサ11bを用いたので、部品を別途追加することなく本実施例のスレーブ2を構成できる。
【0023】
(参考例)
図5ないし図8は参考例であり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。参考例では、スレーブ21の構成が第1実施例のスレーブ2と若干相違している。送信器9はスレーブ21の内部で上流側に配置されており、通信バス3Hの下流側には電流センサ(電流検出手段)22が配置されている。電流センサ22の出力信号はID決定回路23に与えられ、ID決定回路23の出力信号は制御装置(計測手段)24に与えられている。
【0024】
また、第1実施例でID決定回路12を構成していた電圧判定回路13が単独で配置されており、コンパレータ17の出力信号は、制御装置24の入力端子に接続されている。尚、電源保持回路11については図示を省略している。また、電流センサ22については、ホール素子を用いたオープンループ型やクローズループ型,磁気抵抗素子を用いたMR型のセンサや、或いはシャント抵抗を用いても良い。
【0025】
図6はID決定回路23の内部構成を示しており、ID決定回路23は、電圧判定回路25と、JKフリップフロップ26とで構成されている。電圧判定回路25は、電圧判定回路13と同様にコンパレータ17を中心に構成されているが、抵抗素子R1の上端は、電流センサ22の出力端子に接続されている。また、レギュレータ18は、コンパレータ17の反転入力端子に閾値電圧Vth1を与えており、コンパレータ17の出力端子は、JKフリップフロップ26のクロック端子(負論理)に接続されている。また、JKフリップフロップ26のJ,K,PR(負論理)の各端子は電源Vccにプルアップされている。
【0026】
すなわち、JKフリップフロップ26がクリアされている状態で、電流センサ22が通信バス3Hに流れる電流の変化を検出してパルス状の信号を出力すると、その信号は電圧判定回路25のコンパレータ17において閾値電圧Vth1と比較された結果、波形が整形されて出力される。そして、コンパレータ17が出力した信号の立下りエッジでJKフリップフロップ26がセットされ、出力端子Qのレベルがロウからハイに変化する。
【0027】
次に、参考例の作用について図7及び図8を参照して説明する。図8は、通信ネットワークシステムがDSIのように電源供給フェーズと通信フェーズとを交互に切り替えて実行する場合に、スレーブ21がマスタ1に応答信号(アクノリッジ)を返信しながらそれぞれのID値を決定して行く場合のタイミングチャートである。また、図7はその場合に対応する図4相当図である。
【0028】
尚、参考例では、図示しない電源保持回路11におけるコンデンサ11bの容量は、通信フェーズ期間にスレーブ21の内部回路に供給する電源を保持するために必要な最小限の容量に設定されている。そのため、第1実施例とは異なり、各スレーブ21A〜21Cが通信バス3に接続されている位置によって、バス電圧の立ち上がり時間が相違することはない(厳密には僅かに相違する)状態を前提とする。
【0029】
各スレーブ21は、自身のID値を決定するまでの間は、通信フェーズでマスタ1に応答信号を返信するようになっている。図7において、マスタ1が電源供給フェーズで通信バス3Hに25Vの電源電圧を供給すると(ステップS10)、各スレーブ21A〜21Cの制御装置24は、フリップフロップ(JKFF)26をクリアし、電圧判定回路13の出力信号を参照してバス電圧が閾値電圧Vthを超えたか否かを判定する(ステップS12)。
【0030】
ステップS12において、各スレーブ21がほぼ同じタイミングで「YES」と判定すると、自身が既にIDを設定済みか否かを判断する(ステップS13)。IDが設定済みであれば(YES)、マスタ1による電圧印加回数をカウントするためのカウンタをインクリメントし、待機時間Twaitの経過後に送信器9のスイッチ9aをオンして通信バス3上に応答信号を出力する(ステップS14)。それから、フリップフロップ26の出力端子Qのレベルを参照して、電流センサ22が通信バス3上に流れた電流を検出したか否かを判断する(ステップS16)。
【0031】
すなわち、スレーブ21では、上流側に送信器9が配置され、送信器9よりも下流側に電流センサ22が配置されているので、自身が送信器9により通信バス3をドライブして応答信号を出力しても、それに伴い発生する通信バス3上の電流変化は自身の電流センサ22では検出されない。そして、自身よりも下流側に位置するスレーブ21が応答信号を出力すると、それに伴う通信バス3上の電流変化が電流センサ22により検出される。したがって、ステップS16における判断は、自身よりも下流側に接続されているスレーブ21がある場合は「YES」となってステップS10に戻り、下流側に接続されているスレーブ21が無い場合は「NO」となってステップS17に移行する。
【0032】
ステップS17では、その時点の電圧印加回数のカウント値を自身のIDとして設定する。そして、続くステップS18では、電圧印加回数のカウント値が、各通信仕様に応じて設定されているスレーブ21の接続数の最大値(所定値;例えば「15」)未満か否かを判断し、最大値未満であれば(YES)ステップS10に戻る。
ステップS17においてIDを設定した以降は、ステップS13で「YES」と判断することになり、ステップS15で電圧印加回数カウンタのインクリメントだけを行うとステップS18に移行する。そして、ステップS18で「NO」と判断すると、処理を終了する。
【0033】
すなわち図8に示すように、最初の通信フェーズ(1)では、スレーブ2A〜2Cが全て応答信号を返すが、通信バス3の末端に位置するスレーブ2Cでは、通信バス3上の電流変化が電流センサ22で検出されず、ステップS16で「NO」と判断してID=1に設定される。その次の通信フェーズ(2)では、スレーブ2A,2Bが応答信号を返すが、スレーブ2Bでは電流変化が電流センサ22で検出されず、ステップS16で「NO」と判断してID=2に設定される。そして、次の通信フェーズ(3)では、スレーブ2Aだけが応答信号を返すが、スレーブ2Aの電流センサ22では電流変化が検出されず、ステップS16で「NO」と判断してID=3に設定される。
【0034】
以上のように参考例によれば、スレーブ21の制御装置24は、マスタ1と通信を行うためのIDを設定するまでは、通信バス3を介して電源が断続的に供給される毎にマスタ1に応答信号を返し、電流センサ22は、下流側に接続されているスレーブ21がマスタ1に応答信号を返すことで発生する電流変化を検出する。そして、制御装置24は、電源の断続的な供給が開始された時点から、その断続的な電源の印加回数を計測し、電流センサ22により電流変化が検出されなくなるまでに計測された電源印加回数に応じて、マスタ1と通信を行うためのIDを設定するようにした。
したがって、この場合も第1実施例と同様に、各スレーブ21のID値を一意に決定することができ、通信バス3に低オン抵抗のスイッチを挿入することなく、各スレーブがIDを適切に設定できるようになる。尚、マスタ1による断続的な電源の印加回数に替えて、電流センサ22が検出した電流変化の回数をカウントしても、同じようにIDを設定することができる。
【0035】
(第2実施例)
図9ないし図12は第2実施例を示すものであり、第1実施例,参考例と異なる部分のみ説明する。第2実施例のスレーブ31は、参考例のスレーブ21における送信器9を下流側に配置し、ID決定回路23,制御装置24に替えてID決定回路32,制御装置33を配置したものである。また、第3実施例では、電源保持回路11のコンデンサ11bの容量が、第1実施例と同様に各スレーブ31A〜31Cにおけるバス電圧VBの立ち上がり時間を変化させる程度の容量を有しているものとする。
【0036】
更に、スレーブ31については、DSIのスレーブと同様、電源供給フェーズと通信フェーズとの切り替わりを判定するために、バス電圧VBを閾値(Vth2)と比較するための電圧判定回路(図示せず。電圧判定回路13と同様の構成)を備えている。
図10は、ID決定回路32の内部構成を示す。ID決定回路32は、第2実施例のID決定回路23における電圧判定回路25に、第1実施例のカウンタ14を組み合わせた構成である。すなわち、コンパレータ17が出力するパルス信号の立下りエッジでカウンタ14がアップカウント動作を行う。
【0037】
次に、第2実施例の作用について図11及び図12を参照して説明する。図11において、マスタ1が通信バス3に電源電圧の印加を開始すると(ステップS21)、制御装置33は、電圧判定回路13の出力信号がハイレベルに変化したか否かを判断する(ステップS22)。すなわち、図12(b)〜(d)に示すように、各スレーブ31A〜31Cにおけるバス電圧VBの立ち上がり時間は、第1実施例と同様にτ1,τ2,τ3と異なっている。
【0038】
そして、制御装置33がステップS22で「YES」と判断すると、続いて電源供給フェーズから通信フェーズに移行したか(ステップS23),及び待機時間Twaitが経過したか(ステップS24)否かを判断し、何れでも「NO」と判断している間はこれらを繰り返し実行する。図12に示すように、立ち上がり時間τと待機時間Twaitとの和は、必ず最初の通信フェーズへの移行後となるように設定されているので、先にステップS23で「YES」と判断することになる。すると、制御装置33は、自身に内蔵されているタイマ(ハードウェア,ソフトウェアの何れでも良い)により所定時間の計時を開始する(ステップS25)。それから、ステップS24に移行する。
【0039】
待機時間Twaitが経過すると(ステップS24:YES)、制御装置33は、送信器9のスイッチ9aをオンして通信バス3上に応答信号を出力する(ステップS26)。続くステップS27,S28はID決定回路32の動作に対応している。各スレーブ31は、図12に示すように、待機時間Twaitが経過すると応答信号を周期的に出力する(ステップS26〜S29のループ周期による)。第3実施例では送信器9が下流側に配置されているので、各スレーブ31は、自身が応答信号を出力した場合の電流変動も電流センサ22より検知する。
【0040】
電圧判定回路25において、電流センサ22がパルス状の信号を出力することでコンパレータ17の検出電圧が閾値電圧Vth1を超えれば、コンパレータ17の出力信号が変化する。そして、上記出力信号の立下りエッジでカウンタ14はカウント動作を行う。通信フェーズにおいて各スレーブ31が応答信号を周期的に出力する期間は、通信仕様に応じて通信バス3に接続されるスレーブ31の最大数に応じて決定される。例えば、その最大数が「15」であれば、通信バス3の末端に接続されているスレーブ31がステップS24で「YES」と判断し、ステップS26で最初の応答信号を出力することができる期間が確保されている。
【0041】
上記の期間が、ステップS29における「所定値」に対応しており、制御装置33は、ステップS25で計時を開始したタイマが上記所定値に対応する時間を計時するまでは(NO)、ステップS26に戻り応答信号を周期的に出力する。そして、ステップS29においてタイマが所定値に対応する時間(ID設定期間)を計時すると(YES)、その時点でID決定回路32のカウンタ14にカウントされている値(自身による応答信号の出力回数)を、自身のIDとして設定し(ステップS30)処理を終了する。
したがって、各スレーブ31のID値はスレーブ31の最大接続数に応じて決定され、例えば接続数が「15」であれば、スレーブ31A;ID=15,スレーブ31B;ID=14,スレーブ31C;ID=13,…となるように設定される。
【0042】
以上のように第2実施例によれば、制御装置33は、通信3バスを介してコンデンサ11bに最初の充電が開始され、電圧判定回路13によりバス間電圧VBが閾値を超えたことが判定されると、その時点から一定時間Twaitが経過した後マスタ1に応答を返す。そして、予め定められたID設定期間が経過するまでの間に電流センサ22により検出された電流変化の回数を計測し、その計測回数に応じてIDを設定するので、それぞれのID値を一意に決定することができる。これにより、通信バス3に低オン抵抗のスイッチを挿入することなく、各スレーブ31がIDを適切に設定できるようになる。
【0043】
(第3,第4実施例)
図13,図14は第3,第4実施例を示すものであり、第1,第2実施例と異なる部分について説明する。図13に示す第3実施例のスレーブ(通信用スレーブ,通信ノード)41は、第1実施例のスレーブ2の内部で通信バス3Hの上流側に抵抗素子42が挿入されており、電源保持回路11のコンデンサ11bは抵抗素子42を介して充電されるようになっている。また、図14に示す第4実施例のスレーブ(通信用スレーブ,通信ノード)43も同様に、第2実施例のスレーブ31の内部で通信バス3Hの上流側に抵抗素子42が挿入されており、コンデンサ11bは抵抗素子42を介して充電されるようになっている。
【0044】
以上のように構成される第3,第4実施例によれば、スレーブ41,43がそれぞれの内部で通信バス3Hに抵抗素子42を備えることで、充電時定数を同一に設定する場合は、コンデンサ11bの容量をより小さくすることが可能となる。したがって、コンデンサ11bのサイズが小さくなり、スレーブ41,43を小型に構成することができる。
また、スレーブ41間の通信バス3の接続距離や、スレーブ43間の通信バス3の接続距離が短い場合には、通信バス3が有する抵抗分の抵抗値も小さくなるので充電時定数が小さくなり、第1,第2実施例のように上記抵抗分のみでは電圧の立ち上り時間を十分に稼ぐことができない場合がある。そのような場合であっても、スレーブ41,43の内部に抵抗素子42を配置することで、必要な充電時定数を確保できるようになる。
【0045】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
各実施例におけるID値の設定は、昇順,降順を逆にしても良い。また、IDは必ずしもを昇順,降順で設定する必要はなく、各スレーブがそれぞれ特定可能なるようにIDを付与すれば良い。
【0046】
第1実施例の場合、ドライバ9は電流駆動型に限らず、電圧駆動型であっても良い。
参考例,第2実施例において、ID決定回路23,32を以下のように構成しても良い。JKフリップフロップ26,カウンタ14に替えて、コンパレータ17の出力端子にコンデンサを接続する。電流センサ22により検出される通信バス3Hの電流変化回数が多くなれば、コンデンサの充電回数が増加して端子電圧が上昇する。そして、制御装置24,33がコンデンサの端子電圧をA/D変換して読み込んだり、或いは複数のコンパレータにより比較した結果を参照することで判定し、端子電圧のレベルに応じて自身のIDを決定する。
【0047】
第2実施例において、スレーブ31の送信器9は、参考例と同様に下流側に配置しても良い。この場合、最大接続数が「15」であれば各ID値は「14〜0」に設定される。
DSIのような通信プロトコルに限ることなく、1つのマスタと複数のスレーブとがバスを介してデイジーチェーン状に接続され、各スレーブがIDをダイナミックに設定するものであれば適用が可能である。
【符号の説明】
【0048】
図面中、1はマスタ、2はスレーブ(通信用スレーブ,通信ノード)、3Hは通信バス(高電位側バス)、3Lは通信バス(低電位側バス)、10は制御装置、11は電源保持回路、11bはコンデンサ(容量性素子)、13は電圧判定回路(電圧判定手段)、14はカウンタ(時間計測手段)、31はスレーブ(通信用スレーブ,通信ノード)、33は制御装置、41はスレーブ(通信用スレーブ,通信ノード)、42は抵抗素子、43はスレーブ(通信用スレーブ,通信ノード)を示す。
【技術分野】
【0001】
本発明は、1つのマスタと複数のスレーブとを一対のバスでデイジーチェーン接続してなる通信ネットワークに使用される、前記スレーブに関する。
【背景技術】
【0002】
1つのマスタと複数のスレーブとを、一対のバスでデイジーチェーン接続して構成される通信ネットワークのプロトコルには、例えば車載LANとして用いられるDSI(Distributed System Interface)やSbW(Safe by Wire)などがある。このような通信ネットワークでは、マスタが複数のスレーブとシリアル通信を行うため、各スレーブにIDを設定する必要がある。
例えば特許文献1には、複数のスレーブ装置の各々が、バスを構成する電源線にスイッチを挿入し、マスタ装置があらかじめ記憶したスレーブ装置の各接続順とIDに基づいて、バスを介してマスタ装置に近いスレーブ装置から順次IDを設定し、IDが設定されたスレーブ装置が順次スイッチをオンにして、次段のスレーブ装置をバス接続する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−152741号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のようにバスにスイッチを挿入しようとすると、そのスイッチを構成するトランジスタ等の素子には、オン抵抗値を極力低下させることが要求される。すると、スイッチのサイズを大型にせざるを得ず、各スレーブのサイズ、ひいては通信システム全体のサイズが大型化することに繋がるという問題がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、バスにスイッチを挿入せずとも、それぞれがIDを適切に設定できる通信用スレーブを提供することにある。
【課題を解決するための手段】
【0005】
請求項1記載の通信用スレーブによれば、時間計測手段は、通信バスを介して、すなわち当該通信バスが有する抵抗分を介して容量性素子に充電が開始された時点から、電圧判定手段により高電位側,低電位側バス間の電圧が閾値を超えたことが判定されるまでの時間を計測する。そして、制御装置は、時間計測手段により計測された時間の長さに応じてマスタと通信を行うためのIDを設定する。すなわち、通信バスでデイジーチェーン接続されている複数のスレーブでは、マスタに近付く上流側からマスタより遠ざかる下流側に向かうに従い、通信バス間の容量が増加する。したがって、通信バスを介して容量性素子に充電が開始された時点から、バス間の電圧が閾値を超えたことが判定されるまでの時間は、下流側のスレーブほど長くなる。
そこで、各スレーブの制御装置が、時間計測手段により計測された時間の長さに応じてIDを設定すれば、それぞれのID値を一意に決定することができる。これにより、通信バスに低オン抵抗のスイッチを挿入することなく、各スレーブがIDを適切に設定できるようになる。したがって、スレーブ自体,並びに通信ネットワークシステムを小型に構成できる。
【0006】
請求項2記載の通信用スレーブによれば、制御装置は、通信バスを介して容量性素子に最初の充電が開始され、電圧判定手段によりバス間電圧が閾値を超えたことが判定されると、その時点から一定時間が経過した後マスタに応答を返す。すなわち、通信バスでデイジーチェーン接続されている複数のスレーブでは、マスタに近い上流側からマスタより遠ざかる下流側に向かうに従い、通信バス間の容量が増加する。
したがって、通信バスを介して容量性素子に充電が開始された時点から、バス間の電圧が閾値を超えたことが判定されるまでの時間は下流側のスレーブほど長くなるので、各スレーブの制御装置がマスタに応答信号を最初に返すまでの時間はそれぞれ異なる。そこで、制御装置が、予め定められたID設定期間が経過するまでの間に検出された電流変化の回数を計測し、その計測回数に応じてIDを設定すれば、それぞれのID値を一意に決定することができる。これにより、通信バスに低オン抵抗のスイッチを挿入することなく、各スレーブがIDを適切に設定できるようになる。
【0007】
請求項3記載の通信用スレーブによれば、容量性素子を、通信バスを介して供給される電源を保持するためのコンデンサとする。すなわち、スレーブに対し、通信バスを介して電源を供給する構成のネットワークシステムでは、スレーブはマスタに応答を返すための通信期間の電源を保持するためにコンデンサを備えている。したがって、容量性素子にそのコンデンサを利用すれば、部品を別途追加することなく本発明の通信用スレーブを構成できる。
【0008】
請求項4記載の通信用スレーブによれば、高電位側バスにおいて容量性素子の一端が接続されている点よりも上流側に、抵抗素子を挿入する。すなわち、通信用スレーブの内部で高電位側バスに抵抗素子を挿入すれば、その抵抗分に応じて容量性素子の容量を低減することができるので、容量性素子のサイズを小さくして通信用スレーブを小型に構成できる。
【図面の簡単な説明】
【0009】
【図1】第1実施例であり、通信ネットワークシステムの構成を示す図
【図2】ID決定回路の内部構成を示す図
【図3】マスタが最初に電源を供給した場合の、通信バスの電圧変化を示すタイミングチャート
【図4】上記の場合にスレーブが行う処理を示すフローチャート
【図5】参考例であり、スレーブの内部構成を示す図
【図6】図2相当図
【図7】図4相当図
【図8】各スレーブがマスタに応答信号を返信しながら夫々のID値を決定して行く状態を示すタイミングチャート
【図9】第2実施例を示す図5相当図
【図10】図2相当図
【図11】図4相当図
【図12】図8相当図
【図13】第3実施例を示す図1の一部相当図
【図14】第4実施例を示す図1の一部相当図
【発明を実施するための形態】
【0010】
(第1実施例)
以下、第1実施例について図1ないし図4を参照して説明する。図1は、通信ネットワークシステムの構成を示す。通信ネットワークシステムは、マスタ1と複数のスレーブ2A〜2C(通信用スレーブ,通信ノード)とで構成され、複数のスレーブ2A〜2Cは、通信バス3H(高電位側バス),3L(低電位側バス)を介してマスタ1にデイジーチェーン接続されている。通信バス3Hには、マスタ1内のスイッチ4を介して電源VMが供給され、通信バス3Lにはグランド電位が付与される。
【0011】
マスタ1は、スレーブ2に通信バス3を介して信号を送信する送信器(ドライバ)5,スレーブ2からの応答信号を通信バス3を介して受信する受信器(レシーバ)6,スイッチ4と送信器5並びに受信器6を制御する制御装置7を備えている。制御装置7は、マイクロコンピュータにより構成され、送信器5を制御して通信バスの電位を変動させてマスタ1に信号を送信する。また、マスタ1が応答した信号は、受信器6を介して制御装置7に与えられる。
【0012】
スレーブ2は、マスタ1より送信された信号を受信する受信器8,マスタ1に信号を送信する送信器9,受信器8並びに送信器9を制御する制御装置10を備えている。この制御装置10も、マイクロコンピュータにより構成されている。受信器8は、マスタ1がドライブした通信バス3の電圧変化を図示しないコンパレータにより基準電圧と比較することで受信データを制御装置10に出力する。送信器9は、通信バス3H,3L間に接続されたスイッチ9a及び電流源9bの直列回路で構成されており、制御装置10がスイッチ9aのオンオフを制御することで、通信バス3に流れる電流を変動させてマスタ1に応答信号を送信する。
【0013】
スレーブ2は、マスタ1より通信バス3を介して供給される電源を電源保持回路11により保持し、図示しない電源安定化回路により安定化させたものを各部の動作電源とするように構成されている(例えばDSIのように、電源供給フェーズと通信フェーズとが交互に切り替えられる)。電源保持回路11は、ダイオード11a及びコンデンサ(容量性素子)11bの直列回路で構成されている。また、スレーブ2は、ID決定回路12を備えており、制御装置10は、マスタ1より最初に電源供給が開始された場合に、ID決定回路12によってマスタ1と通信を行うためのIDを自律的に決定する。
【0014】
図2は、ID決定回路12の内部構成を示すもので、ID決定回路12は、電圧判定回路(電圧判定手段)13,(同期式)カウンタ(時間計測手段)14,アナログスイッチ15及び分周器16などで構成されている。電圧判定回路13は、コンパレータ17,レギュレータ18及び抵抗素子R1〜R3で構成されている。通信バス3Hとグランドとの間には、抵抗素子R1及びR2の直列回路とレギュレータ18とが接続されている。レギュレータ18は、例えばバンドギャップリファンレンス(BGR)回路等で構成され、通信バス3からの電源供給を受けてスレーブ2内の各回路の動作電源Vccや、コンパレータ17の判定用閾値電圧Vthを生成する。
【0015】
コンパレータ17の非反転入力端子は抵抗素子R1及びR2の共通接続点に接続され、反転入力端子にはレギュレータ18より上記閾値電圧Vthが与えられている。そして、コンパレータ17の出力端子は、抵抗素子R3を介して電源電圧Vccにプルアップされている。すなわち、コンパレータ17は、非反転入力端子に与えられる通信バス3Hの分圧電位を、反転入力端子に与えられる閾値電圧Vthと比較する。
【0016】
コンパレータ17の出力端子は、アナログスイッチ15の制御端子(負論理)に接続されており、アナログスイッチ15の一端は分周器16に、他端はカウンタ14のクロック端子(負論理)に接続されている。分周器16は、制御装置10の動作クロックであるスレーブクロックを分周(分周比1/R)するもので、その分周クロックがアナログスイッチ15を介してカウンタ14のクロック端子に与えられる。そして、カウンタ14のカウントデータは制御装置10に出力される。
また、カウンタ14の負論理のクリア端子は、スレーブ2に対して最初に電源が供給された場合、制御装置10にパワーオンリセットが作用している期間にアクティブとなってクリアされ、パワーオンリセットが解除されると同時にインアクティブとなる。
【0017】
次に、本実施例の作用について図3及び図4を参照して説明する。図3は、マスタ1が最初にスイッチ4を閉じて、通信バス3を介して各スレーブ2A〜2Cに電源を供給した場合に、通信バス3H,3L間のバス電圧VBの変化を示すタイミングチャートであり、図4は、その場合にスレーブ2が行う処理を示すフローチャートである。尚、図4は、制御装置10がソフトウェア(制御プログラム)に従い実行する処理だけでなく、マスタ1の動作やスレーブ2のハードウェアの動作も併せて示している。
【0018】
マスタ1が電源VMを投入すると(ステップS1)、各スレーブ2が内蔵している電源保持回路11のコンデンサ11bが、通信バス3Hが有している抵抗分を介して充電されるため、バス電圧VBはRC時定数に応じた時間で上昇する。この時、各スレーブ2A〜2Cについては、マスタ1より遠ざかる下流側に位置するものほどRC時定数が大きくなるため、バス電圧VBの上昇度合いが低下する。したがって、各スレーブ2A〜2Cの電圧判定回路13において、バス電圧VBが閾値電圧Vthを超える時間(立ち上がり時間)τは、図3(b)〜(d)に示すようにτ1,τ2,τ3と次第に長くなる。
【0019】
ID決定回路12においては、バス電圧VBが閾値電圧Vthを超えるまでは、コンパレータ17の出力レベルはロウであるから、カウンタ14に対して分周クロックが供給され、カウンタ14は分周クロックのネガティブエッジでカウントを行う。そして、バス電圧VBが閾値電圧Vthを超えると(ステップS2:YES)、コンパレータ17の出力レベルはハイに変化するので、カウンタ14に対する分周クロックの供給は停止する。したがって、その時点にカウンタ14が出力しているカウントデータは立ち上がり時間τに相当する。
【0020】
制御装置10は、例えばコンパレータ17の出力信号を参照し、出力レベルがロウからハイに変化したことを検出した後にカウンタ14のカウントデータを読み込む。そして、予め内部の不揮発性メモリに保持している、立ち上がり時間τ1,τ2,τ3に相当するカウントデータ値とID値との対応テーブルに基づいて、それぞれのID値を決定する(ステップS3)。
例えば、コンデンサ11bの容量がμFオーダーである場合に、立ち上がり時間τが0〜150μsの範囲(τ1)であればID=1,150μs〜450μsの範囲(τ2)であればID=2,450μs〜700μsの範囲(τ3)であればID=3とするように決定する。そして、マスタ1は、各スレーブ2A〜2CがIDを決定するのに要する時間が経過した後に、各スレーブ2A〜2Cに設定されているIDを個別に指定して以降の通信を行う。
【0021】
尚、電源保持回路11を構成するコンデンサ11bの容量が、各スレーブ2A〜2Cについてバス電圧VBの立ち上がり時間差を付与するには不足している場合は、別途コンデンサを追加接続すれば良い。
【0022】
以上のように本実施例によれば、スレーブ2におけるカウンタ14は、通信バス3を介してコンデンサ11bに充電が開始された時点から、電圧判定回路13により通信バス3の電圧が閾値電圧Vthを超えたことが判定されるまでの時間を計測し、制御装置10は、カウンタ14により計測された時間の長さに応じてマスタ1と通信を行うためのIDを設定するようにした。したがって、通信バス3に低オン抵抗のスイッチを挿入することなく、各スレーブ2A〜2Cが自律的にそれぞれのID値を一意に決定することができ、スレーブ2、並びに通信ネットワークシステムを小型に構成できる。そして、容量性素子に、通信バス3を介して供給される電源を保持するためのコンデンサ11bを用いたので、部品を別途追加することなく本実施例のスレーブ2を構成できる。
【0023】
(参考例)
図5ないし図8は参考例であり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。参考例では、スレーブ21の構成が第1実施例のスレーブ2と若干相違している。送信器9はスレーブ21の内部で上流側に配置されており、通信バス3Hの下流側には電流センサ(電流検出手段)22が配置されている。電流センサ22の出力信号はID決定回路23に与えられ、ID決定回路23の出力信号は制御装置(計測手段)24に与えられている。
【0024】
また、第1実施例でID決定回路12を構成していた電圧判定回路13が単独で配置されており、コンパレータ17の出力信号は、制御装置24の入力端子に接続されている。尚、電源保持回路11については図示を省略している。また、電流センサ22については、ホール素子を用いたオープンループ型やクローズループ型,磁気抵抗素子を用いたMR型のセンサや、或いはシャント抵抗を用いても良い。
【0025】
図6はID決定回路23の内部構成を示しており、ID決定回路23は、電圧判定回路25と、JKフリップフロップ26とで構成されている。電圧判定回路25は、電圧判定回路13と同様にコンパレータ17を中心に構成されているが、抵抗素子R1の上端は、電流センサ22の出力端子に接続されている。また、レギュレータ18は、コンパレータ17の反転入力端子に閾値電圧Vth1を与えており、コンパレータ17の出力端子は、JKフリップフロップ26のクロック端子(負論理)に接続されている。また、JKフリップフロップ26のJ,K,PR(負論理)の各端子は電源Vccにプルアップされている。
【0026】
すなわち、JKフリップフロップ26がクリアされている状態で、電流センサ22が通信バス3Hに流れる電流の変化を検出してパルス状の信号を出力すると、その信号は電圧判定回路25のコンパレータ17において閾値電圧Vth1と比較された結果、波形が整形されて出力される。そして、コンパレータ17が出力した信号の立下りエッジでJKフリップフロップ26がセットされ、出力端子Qのレベルがロウからハイに変化する。
【0027】
次に、参考例の作用について図7及び図8を参照して説明する。図8は、通信ネットワークシステムがDSIのように電源供給フェーズと通信フェーズとを交互に切り替えて実行する場合に、スレーブ21がマスタ1に応答信号(アクノリッジ)を返信しながらそれぞれのID値を決定して行く場合のタイミングチャートである。また、図7はその場合に対応する図4相当図である。
【0028】
尚、参考例では、図示しない電源保持回路11におけるコンデンサ11bの容量は、通信フェーズ期間にスレーブ21の内部回路に供給する電源を保持するために必要な最小限の容量に設定されている。そのため、第1実施例とは異なり、各スレーブ21A〜21Cが通信バス3に接続されている位置によって、バス電圧の立ち上がり時間が相違することはない(厳密には僅かに相違する)状態を前提とする。
【0029】
各スレーブ21は、自身のID値を決定するまでの間は、通信フェーズでマスタ1に応答信号を返信するようになっている。図7において、マスタ1が電源供給フェーズで通信バス3Hに25Vの電源電圧を供給すると(ステップS10)、各スレーブ21A〜21Cの制御装置24は、フリップフロップ(JKFF)26をクリアし、電圧判定回路13の出力信号を参照してバス電圧が閾値電圧Vthを超えたか否かを判定する(ステップS12)。
【0030】
ステップS12において、各スレーブ21がほぼ同じタイミングで「YES」と判定すると、自身が既にIDを設定済みか否かを判断する(ステップS13)。IDが設定済みであれば(YES)、マスタ1による電圧印加回数をカウントするためのカウンタをインクリメントし、待機時間Twaitの経過後に送信器9のスイッチ9aをオンして通信バス3上に応答信号を出力する(ステップS14)。それから、フリップフロップ26の出力端子Qのレベルを参照して、電流センサ22が通信バス3上に流れた電流を検出したか否かを判断する(ステップS16)。
【0031】
すなわち、スレーブ21では、上流側に送信器9が配置され、送信器9よりも下流側に電流センサ22が配置されているので、自身が送信器9により通信バス3をドライブして応答信号を出力しても、それに伴い発生する通信バス3上の電流変化は自身の電流センサ22では検出されない。そして、自身よりも下流側に位置するスレーブ21が応答信号を出力すると、それに伴う通信バス3上の電流変化が電流センサ22により検出される。したがって、ステップS16における判断は、自身よりも下流側に接続されているスレーブ21がある場合は「YES」となってステップS10に戻り、下流側に接続されているスレーブ21が無い場合は「NO」となってステップS17に移行する。
【0032】
ステップS17では、その時点の電圧印加回数のカウント値を自身のIDとして設定する。そして、続くステップS18では、電圧印加回数のカウント値が、各通信仕様に応じて設定されているスレーブ21の接続数の最大値(所定値;例えば「15」)未満か否かを判断し、最大値未満であれば(YES)ステップS10に戻る。
ステップS17においてIDを設定した以降は、ステップS13で「YES」と判断することになり、ステップS15で電圧印加回数カウンタのインクリメントだけを行うとステップS18に移行する。そして、ステップS18で「NO」と判断すると、処理を終了する。
【0033】
すなわち図8に示すように、最初の通信フェーズ(1)では、スレーブ2A〜2Cが全て応答信号を返すが、通信バス3の末端に位置するスレーブ2Cでは、通信バス3上の電流変化が電流センサ22で検出されず、ステップS16で「NO」と判断してID=1に設定される。その次の通信フェーズ(2)では、スレーブ2A,2Bが応答信号を返すが、スレーブ2Bでは電流変化が電流センサ22で検出されず、ステップS16で「NO」と判断してID=2に設定される。そして、次の通信フェーズ(3)では、スレーブ2Aだけが応答信号を返すが、スレーブ2Aの電流センサ22では電流変化が検出されず、ステップS16で「NO」と判断してID=3に設定される。
【0034】
以上のように参考例によれば、スレーブ21の制御装置24は、マスタ1と通信を行うためのIDを設定するまでは、通信バス3を介して電源が断続的に供給される毎にマスタ1に応答信号を返し、電流センサ22は、下流側に接続されているスレーブ21がマスタ1に応答信号を返すことで発生する電流変化を検出する。そして、制御装置24は、電源の断続的な供給が開始された時点から、その断続的な電源の印加回数を計測し、電流センサ22により電流変化が検出されなくなるまでに計測された電源印加回数に応じて、マスタ1と通信を行うためのIDを設定するようにした。
したがって、この場合も第1実施例と同様に、各スレーブ21のID値を一意に決定することができ、通信バス3に低オン抵抗のスイッチを挿入することなく、各スレーブがIDを適切に設定できるようになる。尚、マスタ1による断続的な電源の印加回数に替えて、電流センサ22が検出した電流変化の回数をカウントしても、同じようにIDを設定することができる。
【0035】
(第2実施例)
図9ないし図12は第2実施例を示すものであり、第1実施例,参考例と異なる部分のみ説明する。第2実施例のスレーブ31は、参考例のスレーブ21における送信器9を下流側に配置し、ID決定回路23,制御装置24に替えてID決定回路32,制御装置33を配置したものである。また、第3実施例では、電源保持回路11のコンデンサ11bの容量が、第1実施例と同様に各スレーブ31A〜31Cにおけるバス電圧VBの立ち上がり時間を変化させる程度の容量を有しているものとする。
【0036】
更に、スレーブ31については、DSIのスレーブと同様、電源供給フェーズと通信フェーズとの切り替わりを判定するために、バス電圧VBを閾値(Vth2)と比較するための電圧判定回路(図示せず。電圧判定回路13と同様の構成)を備えている。
図10は、ID決定回路32の内部構成を示す。ID決定回路32は、第2実施例のID決定回路23における電圧判定回路25に、第1実施例のカウンタ14を組み合わせた構成である。すなわち、コンパレータ17が出力するパルス信号の立下りエッジでカウンタ14がアップカウント動作を行う。
【0037】
次に、第2実施例の作用について図11及び図12を参照して説明する。図11において、マスタ1が通信バス3に電源電圧の印加を開始すると(ステップS21)、制御装置33は、電圧判定回路13の出力信号がハイレベルに変化したか否かを判断する(ステップS22)。すなわち、図12(b)〜(d)に示すように、各スレーブ31A〜31Cにおけるバス電圧VBの立ち上がり時間は、第1実施例と同様にτ1,τ2,τ3と異なっている。
【0038】
そして、制御装置33がステップS22で「YES」と判断すると、続いて電源供給フェーズから通信フェーズに移行したか(ステップS23),及び待機時間Twaitが経過したか(ステップS24)否かを判断し、何れでも「NO」と判断している間はこれらを繰り返し実行する。図12に示すように、立ち上がり時間τと待機時間Twaitとの和は、必ず最初の通信フェーズへの移行後となるように設定されているので、先にステップS23で「YES」と判断することになる。すると、制御装置33は、自身に内蔵されているタイマ(ハードウェア,ソフトウェアの何れでも良い)により所定時間の計時を開始する(ステップS25)。それから、ステップS24に移行する。
【0039】
待機時間Twaitが経過すると(ステップS24:YES)、制御装置33は、送信器9のスイッチ9aをオンして通信バス3上に応答信号を出力する(ステップS26)。続くステップS27,S28はID決定回路32の動作に対応している。各スレーブ31は、図12に示すように、待機時間Twaitが経過すると応答信号を周期的に出力する(ステップS26〜S29のループ周期による)。第3実施例では送信器9が下流側に配置されているので、各スレーブ31は、自身が応答信号を出力した場合の電流変動も電流センサ22より検知する。
【0040】
電圧判定回路25において、電流センサ22がパルス状の信号を出力することでコンパレータ17の検出電圧が閾値電圧Vth1を超えれば、コンパレータ17の出力信号が変化する。そして、上記出力信号の立下りエッジでカウンタ14はカウント動作を行う。通信フェーズにおいて各スレーブ31が応答信号を周期的に出力する期間は、通信仕様に応じて通信バス3に接続されるスレーブ31の最大数に応じて決定される。例えば、その最大数が「15」であれば、通信バス3の末端に接続されているスレーブ31がステップS24で「YES」と判断し、ステップS26で最初の応答信号を出力することができる期間が確保されている。
【0041】
上記の期間が、ステップS29における「所定値」に対応しており、制御装置33は、ステップS25で計時を開始したタイマが上記所定値に対応する時間を計時するまでは(NO)、ステップS26に戻り応答信号を周期的に出力する。そして、ステップS29においてタイマが所定値に対応する時間(ID設定期間)を計時すると(YES)、その時点でID決定回路32のカウンタ14にカウントされている値(自身による応答信号の出力回数)を、自身のIDとして設定し(ステップS30)処理を終了する。
したがって、各スレーブ31のID値はスレーブ31の最大接続数に応じて決定され、例えば接続数が「15」であれば、スレーブ31A;ID=15,スレーブ31B;ID=14,スレーブ31C;ID=13,…となるように設定される。
【0042】
以上のように第2実施例によれば、制御装置33は、通信3バスを介してコンデンサ11bに最初の充電が開始され、電圧判定回路13によりバス間電圧VBが閾値を超えたことが判定されると、その時点から一定時間Twaitが経過した後マスタ1に応答を返す。そして、予め定められたID設定期間が経過するまでの間に電流センサ22により検出された電流変化の回数を計測し、その計測回数に応じてIDを設定するので、それぞれのID値を一意に決定することができる。これにより、通信バス3に低オン抵抗のスイッチを挿入することなく、各スレーブ31がIDを適切に設定できるようになる。
【0043】
(第3,第4実施例)
図13,図14は第3,第4実施例を示すものであり、第1,第2実施例と異なる部分について説明する。図13に示す第3実施例のスレーブ(通信用スレーブ,通信ノード)41は、第1実施例のスレーブ2の内部で通信バス3Hの上流側に抵抗素子42が挿入されており、電源保持回路11のコンデンサ11bは抵抗素子42を介して充電されるようになっている。また、図14に示す第4実施例のスレーブ(通信用スレーブ,通信ノード)43も同様に、第2実施例のスレーブ31の内部で通信バス3Hの上流側に抵抗素子42が挿入されており、コンデンサ11bは抵抗素子42を介して充電されるようになっている。
【0044】
以上のように構成される第3,第4実施例によれば、スレーブ41,43がそれぞれの内部で通信バス3Hに抵抗素子42を備えることで、充電時定数を同一に設定する場合は、コンデンサ11bの容量をより小さくすることが可能となる。したがって、コンデンサ11bのサイズが小さくなり、スレーブ41,43を小型に構成することができる。
また、スレーブ41間の通信バス3の接続距離や、スレーブ43間の通信バス3の接続距離が短い場合には、通信バス3が有する抵抗分の抵抗値も小さくなるので充電時定数が小さくなり、第1,第2実施例のように上記抵抗分のみでは電圧の立ち上り時間を十分に稼ぐことができない場合がある。そのような場合であっても、スレーブ41,43の内部に抵抗素子42を配置することで、必要な充電時定数を確保できるようになる。
【0045】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
各実施例におけるID値の設定は、昇順,降順を逆にしても良い。また、IDは必ずしもを昇順,降順で設定する必要はなく、各スレーブがそれぞれ特定可能なるようにIDを付与すれば良い。
【0046】
第1実施例の場合、ドライバ9は電流駆動型に限らず、電圧駆動型であっても良い。
参考例,第2実施例において、ID決定回路23,32を以下のように構成しても良い。JKフリップフロップ26,カウンタ14に替えて、コンパレータ17の出力端子にコンデンサを接続する。電流センサ22により検出される通信バス3Hの電流変化回数が多くなれば、コンデンサの充電回数が増加して端子電圧が上昇する。そして、制御装置24,33がコンデンサの端子電圧をA/D変換して読み込んだり、或いは複数のコンパレータにより比較した結果を参照することで判定し、端子電圧のレベルに応じて自身のIDを決定する。
【0047】
第2実施例において、スレーブ31の送信器9は、参考例と同様に下流側に配置しても良い。この場合、最大接続数が「15」であれば各ID値は「14〜0」に設定される。
DSIのような通信プロトコルに限ることなく、1つのマスタと複数のスレーブとがバスを介してデイジーチェーン状に接続され、各スレーブがIDをダイナミックに設定するものであれば適用が可能である。
【符号の説明】
【0048】
図面中、1はマスタ、2はスレーブ(通信用スレーブ,通信ノード)、3Hは通信バス(高電位側バス)、3Lは通信バス(低電位側バス)、10は制御装置、11は電源保持回路、11bはコンデンサ(容量性素子)、13は電圧判定回路(電圧判定手段)、14はカウンタ(時間計測手段)、31はスレーブ(通信用スレーブ,通信ノード)、33は制御装置、41はスレーブ(通信用スレーブ,通信ノード)、42は抵抗素子、43はスレーブ(通信用スレーブ,通信ノード)を示す。
【特許請求の範囲】
【請求項1】
1つのマスタと複数のスレーブとを、高電位側,低電位側の一対の通信バスでデイジーチェーン接続して構成される通信ネットワークに使用される前記スレーブにおいて、
前記マスタとの通信を制御する制御装置と、
前記高電位側バスと、前記低電位側バスとの間に接続される容量性素子と、
前記高電位側,低電位側バス間の電圧が閾値を超えたか否かを判定する電圧判定手段と、
前記通信バスを介して前記容量性素子に充電が開始された時点から、前記電圧判定手段により前記バス間の電圧が前記閾値を超えたことが判定されるまでの時間を計測する時間計測手段とを備え、
前記制御装置は、前記時間計測手段により計測された時間の長さに応じて、前記マスタと通信を行うためのIDを設定することを特徴とする通信用スレーブ。
【請求項2】
1つのマスタと複数のスレーブとを、高電位側,低電位側の一対の通信バスでデイジーチェーン接続して構成される通信ネットワークに使用される前記スレーブにおいて、
前記マスタとの通信を制御する制御装置と、
前記高電位側バスと、前記低電位側バスとの間に接続される容量性素子と、
前記高電位側,低電位側バス間の電圧が閾値を超えたか否かを判定する電圧判定手段と、
スレーブが前記マスタに応答信号を返すことで、前記高電位側バスに発生する電流変化を検出する電流検出手段とを備え、
前記制御装置は、前記通信バスを介して前記容量性素子に最初の充電が開始され、前記電圧判定手段により前記バス間の電圧が前記閾値を超えたことが判定されると、その時点から一定時間が経過した後前記マスタに応答を返し、予め定められたID設定期間が経過するまでの間、前記電流検出手段により検出された前記電流変化の回数を計測し、前記ID設定期間が経過すると、その時点に計測されている前記電流変化の回数に応じて前記マスタと通信を行うためのIDを設定することを特徴とする通信用スレーブ。
【請求項3】
前記容量性素子は、前記通信バスを介して供給される電源を保持するためのコンデンサであることを特徴とする請求項1又は2記載の通信用スレーブ。
【請求項4】
前記高電位側バスにおいて、前記容量性素子の一端が接続されている点よりも上流側に、抵抗素子を挿入したことを特徴とする請求項1ないし3の何れかに記載の通信用スレーブ。
【請求項1】
1つのマスタと複数のスレーブとを、高電位側,低電位側の一対の通信バスでデイジーチェーン接続して構成される通信ネットワークに使用される前記スレーブにおいて、
前記マスタとの通信を制御する制御装置と、
前記高電位側バスと、前記低電位側バスとの間に接続される容量性素子と、
前記高電位側,低電位側バス間の電圧が閾値を超えたか否かを判定する電圧判定手段と、
前記通信バスを介して前記容量性素子に充電が開始された時点から、前記電圧判定手段により前記バス間の電圧が前記閾値を超えたことが判定されるまでの時間を計測する時間計測手段とを備え、
前記制御装置は、前記時間計測手段により計測された時間の長さに応じて、前記マスタと通信を行うためのIDを設定することを特徴とする通信用スレーブ。
【請求項2】
1つのマスタと複数のスレーブとを、高電位側,低電位側の一対の通信バスでデイジーチェーン接続して構成される通信ネットワークに使用される前記スレーブにおいて、
前記マスタとの通信を制御する制御装置と、
前記高電位側バスと、前記低電位側バスとの間に接続される容量性素子と、
前記高電位側,低電位側バス間の電圧が閾値を超えたか否かを判定する電圧判定手段と、
スレーブが前記マスタに応答信号を返すことで、前記高電位側バスに発生する電流変化を検出する電流検出手段とを備え、
前記制御装置は、前記通信バスを介して前記容量性素子に最初の充電が開始され、前記電圧判定手段により前記バス間の電圧が前記閾値を超えたことが判定されると、その時点から一定時間が経過した後前記マスタに応答を返し、予め定められたID設定期間が経過するまでの間、前記電流検出手段により検出された前記電流変化の回数を計測し、前記ID設定期間が経過すると、その時点に計測されている前記電流変化の回数に応じて前記マスタと通信を行うためのIDを設定することを特徴とする通信用スレーブ。
【請求項3】
前記容量性素子は、前記通信バスを介して供給される電源を保持するためのコンデンサであることを特徴とする請求項1又は2記載の通信用スレーブ。
【請求項4】
前記高電位側バスにおいて、前記容量性素子の一端が接続されている点よりも上流側に、抵抗素子を挿入したことを特徴とする請求項1ないし3の何れかに記載の通信用スレーブ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−199828(P2011−199828A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−174450(P2010−174450)
【出願日】平成22年8月3日(2010.8.3)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願日】平成22年8月3日(2010.8.3)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]