JP2010245860A - バスシステム - Google Patents

バスシステム Download PDF

Info

Publication number
JP2010245860A
JP2010245860A JP2009092747A JP2009092747A JP2010245860A JP 2010245860 A JP2010245860 A JP 2010245860A JP 2009092747 A JP2009092747 A JP 2009092747A JP 2009092747 A JP2009092747 A JP 2009092747A JP 2010245860 A JP2010245860 A JP 2010245860A
Authority
JP
Japan
Prior art keywords
bus
bit
slave device
pulse
slave devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009092747A
Other languages
English (en)
Inventor
Masayuki Horiba
雅之 堀場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Industries Corp
Original Assignee
Toyota Industries Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Industries Corp filed Critical Toyota Industries Corp
Priority to JP2009092747A priority Critical patent/JP2010245860A/ja
Publication of JP2010245860A publication Critical patent/JP2010245860A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することが可能なバスシステムを提供することを目的とする。
【解決手段】マスター機器2と、スレーブ機器3−1〜3−nと、マスター機器2とスレーブ機器3−1〜3−nとをつなぐバス4とを備え、マスター機器2は、スレーブ機器3−1〜3−nからそれぞれ送信される信号に基づいて所定の動作を行うバスシステム1において、スレーブ機器3−1〜3−nは、それぞれ、スレーブ機器3−1〜3−nの全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を識別信号として設定する。
【選択図】図3

Description

本発明は、マスター機器にバスを介して接続される複数のスレーブ機器にそれぞれ識別情報を設定するバスシステムに関する。
図6は、既存のバスシステムの一例を示す図である。
図6に示すバスシステム60は、車両61内に設置されるものであって、互いに同じ機能を有する複数のセンサ62−1〜62−4と、センサ62−1〜62−4からバス63を介してそれぞれ出力される信号により所定の動作を行うECU(Electronic Control Unit)64とから構成されている。
このようなバスシステム60では、ECU64とセンサ62−1〜62−4との間の通信処理に共通の通信線としてのバス63が使用されるため、どのセンサかを判別するための識別情報をセンサ62−1〜62−4に対してそれぞれ設定する必要がある。例えば、自動車で用いられるCAN(Controller Area Network)やLIN(Local Interconnect Network)などのバスシステムにおいても、マスター機器と複数のスレーブ機器との間の通信処理において各スレーブ機器にそれぞれ必ず識別情報が設定される。
この識別情報は、例えば、製品出荷前において、スレーブ機器毎のハードウエアスイッチを操作することにより設定される。しかしながら、ハードウエアの操作による識別情報の設定は作業者により行われるため、各スレーブ機器を形状や色で区別するなどスレーブ機器毎に識別情報の設定ミスがないような工夫を施す必要があり、その分コストが増大するという問題があった。
そこで、ランダムに識別情報を決めることにより、各スレーブ機器にそれぞれ対応する識別情報を自動的に設定するものがある(例えば、特許文献1又は特許文献2参照)。しかしながら、この構成では、全ての識別情報が設定されるまでにどれくらいの時間が必要かを見積もることが困難である。また、この構成では、必ずしも異なる識別情報が設定されるという保証がない。
また、例えば、マスター機器が各スレーブ機器からそれぞれ送られてくるシリアル番号に応じて識別情報を設定するものもある(例えば、特許文献3参照)。しかしながら、この構成では、マスター機器において大きなビット数のシリアル番号をスレーブ機器の数分用いて識別情報を設定する必要があるため、識別情報の設定処理が煩雑になるという問題がある。
特開2000−174783号公報 特開2006−335203号公報 特開2008−042303号公報
そこで、本発明では、コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することが可能なバスシステムを提供することを目的とする。
本発明のバスシステムは、マスター機器と、互いに同じ機能を有する複数のスレーブ機器と、前記マスター機器と前記複数のスレーブ機器とをつなぐバスとを備え、前記マスター機器は、前記複数のスレーブ機器からそれぞれ送信される信号に基づいて所定の動作を行うバスシステムであって、前記複数のスレーブ機器は、それぞれ、前記複数のスレーブ機器の全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を識別信号として設定する。
これにより、自動的に識別情報を設定することができるので、人為的な設定ミスを防止するために複数のスレーブ機器を形状や色で区別する必要がなくコストの増大を抑えることができる。また、シリアル番号のビット数に応じて各シリアル番号の大きさの順位の特定にかかる時間を推測することができるので、識別情報の設定時間を容易に見積もることができる。また、各シリアル番号の大きさの順位を識別情報として得ているため、容易に、かつ、確実に複数のスレーブ機器に識別情報を設定することができる。
また、前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、1つ上位のビット値が1のとき、1つ下位のビットにおける自身のパルス送出順位と1つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、1つ上位のビット値が0のとき、1つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを1つ上位にする毎に最上位ビットまで繰り返し、最上位ビットにおける自身のパルス送出順位を識別信号として設定するように構成してもよい。
また、前記複数のスレーブ機器は、それぞれ、前記全シリアル番号において、ビット値が互いに同じになる自身のシリアル番号のビットの位を予め保持しておき、自身のパルス送出順位を特定する際のビットの位が前記保持しておいたビットの位であるとき、そのビットの位におけるパルス送出順位を特定しないように構成してもよい。
これにより、識別信号の設定にかかる時間を短縮することができる。
また、前記複数のスレーブ機器は、それぞれ、1つ下位のビットにおけるパルス送出順位の総数の2倍の値に基づく長さの同期信号を、パルスを送出する前に前記バスに送出するように構成してもよい。
これにより、各スレーブ機器は、同期信号に基づいて、全てのパルスが出力し終わるのにかかる時間を知ることができるので、バスが無駄に使用されることを防ぐことができる。
また、前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、1つ上位のビット値が1のとき、1つ下位のビットにおける自身のパルス送出順位と1つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、1つ上位のビット値が0のとき、1つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを1つ上位にする毎に前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致するまで繰り返し、前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致したときの自身のパルス送出順位を識別信号として設定するように構成してもよい。
これにより、識別信号の設定にかかる時間をさらに短縮することができる。
本発明によれば、マスター機器にバスを介して複数のスレーブ機器が接続されるバスシステムにおいて、コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することができる。
本発明の実施形態のバスシステムを示す図である。 本実施形態のバスシステムの一例を示す図である。 本実施形態のバスシステムにおけるスレーブ機器の動作を説明するためのフローチャートである。 本実施形態の識別情報設定処理の一例を示す図である。 本実施形態のバスシステムにおけるスレーブ機器の他の動作を説明するためのフローチャートである。 既存のバスシステムの一例を示す図である。
図1は、本発明の実施形態のバスシステムを示す図である。
図1に示すバスシステム1は、例えば、自動車のネットワークに使用されるLINの構成と同様であり、マスター機器2と、互いに同じ機能を有する複数のスレーブ機器3(3−1〜3−n)と、マスター機器2と複数のスレーブ機器とをつなぐバス4とを備えて構成される。なお、LINのプロトコルは、UART(Universal Asynchronous Receiver Transmitter)又はSCI(Seral Communication Interface)のデータ形式に基づいている。また、マスター機器2は、スレーブ機器3−1〜3−nからそれぞれ送信される信号に基づいて所定の動作を行う。
図2(a)は、図1に示すバスシステム1の一例を示す図である。
図2(a)に示すバスシステム1は、車両に搭載されるものであって、マスター機器2は、ECUであり、スレーブ機器3−1〜3−4は、それぞれ、車両のガラスが割れたことを検知し、その旨の信号をマスター機器2に出力するガラス割れセンサである。スレーブ機器3−1は、コネクタ5、6を介してマスター機器2に接続されており、スレーブ機器3−2は、コネクタ7、8を介してマスター機器2に接続されており、スレーブ機器3−3は、コネクタ9、10、11、6を介してマスター機器2に接続されており、スレーブ機器3−4は、コネクタ12、13、14、8を介してマスター機器2に接続されている。
図2(b)は、マスター機器2の入出力部及びスレーブ機器3−1の入出力部の一例を示す図である。なお、スレーブ機器3−2〜3−nのそれぞれの入出力部は、スレーブ機器3−1の入出力部と同じとする。
図2(b)に示すマスター機器2の入出力部は、pnpバイポーラトランジスタ20と、抵抗21と、ダイオード22とを備えて構成されている。pnpバイポーラトランジスタ20のエミッタは抵抗21を介してバッテリ+Bに接続され、pnpバイポーラトランジスタ20のベースは、マイコン23の出力端子に接続され、pnpバイポーラトランジスタ20のコレクタは、ダイオード22のアノード及びマイコン23の入力端子に接続されている。ダイオード22のカソードは、マスター機器2の入出力端子24に接続されている。
図2(b)に示すスレーブ機器3−1の入出力部は、npnバイポーラトランジスタ25、26と、抵抗27〜32と、コンデンサ33と、ダイオード34とを備えて構成されている。npnバイポーラトランジスタ25のコレクタは、抵抗27を介して5Vの電源Vccに接続されているとともに抵抗28を介してマイコン35の入力端子に接続され、npnバイポーラトランジスタ25のベースは、抵抗29を介してnpnバイポーラトランジスタ26のコレクタに接続されているとともに、抵抗29、30を介してスレーブ機器3−1の入出力端子36に接続され、npnバイポーラトランジスタ25のエミッタは、グランドに接続されている。npnバイポーラトランジスタ26のベースは、抵抗31を介してマイコン35の出力端子に接続され、npnバイポーラトランジスタ26のエミッタは、グランドに接続されている。抵抗32、コンデンサ33、ダイオード34は、それぞれ、スレーブ機器3−1の入出力端子36とグランドとの間に接続されている。
図2(b)において、マスター機器2とスレーブ機器3−1〜3−nとの間で通信を行わないとき、マスター機器2のマイコン23は、出力端子からpnpバイポーラトランジスタ20をオンさせる信号Smが出力され、バス4の信号レベルがハイレベルになる。すると、スレーブ機器3−1〜3−nのそれぞれのnpnバイポーラトランジスタ25がオンして、マイコン35の入力端子に入力される電圧がハイレベルからローレベルになる。
このような状態のときに、スレーブ機器3−1〜3−nの何れかのマイコン35の出力端子からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されると、バス4の信号レベルがローレベルに変化する。すなわち、スレーブ機器3−1〜3−nは、それぞれ、信号Ssのハイレベル期間を調整することによりバス4へ任意のパルス幅のパルス信号を送出することができる。バス4の信号レベルをハイレベルに戻す場合は、スレーブ機器3−1〜3−nの各マイコン35からnpnバイポーラトランジスタ26をオフする信号Ssがそれぞれ出力される必要がある。
図3は、本実施形態のバスシステム1におけるスレーブ機器3の動作を説明するためのフローチャートである。
まず、スレーブ機器3は、マスター機器2から送信される識別情報設定信号を受信すると、b_ptr(ビットポインタ)、p_count(パルスカウンタ)、Tx_num(送出順位)、及びkensa_num(検査対象値)をそれぞれゼロにする(S1)。例えば、図2(b)に示すマスター機器2のマイコン23の出力端子からpnpバイポーラトランジスタ20をオンさせる信号Smが出力されてバス4の信号レベルがハイレベルになり、スレーブ機器3−1〜3−nのそれぞれのマイコン35の入力端子に入力される電圧がハイレベルからローレベルになると、スレーブ機器3−1〜3−nは、それぞれ、図3に示す識別情報設定処理を開始する。
次に、スレーブ機器3は、自身のシリアル番号(製造出荷番号)においてb_ptr「0」に対応する位のビット値(自身のシリアル番号の最下位ビット値)をkensa_numにセットする(S2)。
次に、スレーブ機器3は、他のスレーブ機器3と同期をとるためのビット検査信号(同期信号)を送出する(S3)。例えば、図2(b)に示すマイコン35からnpnバイポーラトランジスタ26をオンさせる信号Ssを出力してバス4の信号レベルをローレベルにした後、所定時間後にnpnバイポーラトランジスタ26をオフさせる信号Ssを出力する。
次に、スレーブ機器3は、他のスレーブ機器3と同期がとれたか否かを判断する(S4)。例えば、図2(b)に示すスレーブ機器3−1〜3−nの各マイコン35からそれぞれnpnバイポーラトランジスタ26をオフさせる信号Ssが出力されてバス4の信号レベルがローレベルになりマイコン35の入力端子の信号レベルがハイレベルになったことを検出することにより、スレーブ機器3−1〜3−nで同期がとれたと判断することができる。
他のスレーブ機器3と同期がとれたと判断すると(S4がYes)、スレーブ機器3は、kensa_numに対応するタイムスロットにおいてパルスをバス4へ送出した後、全タイムスロットにおいてバス4へ送出されたパルスのカウント値をp_countに保持するとともに、全タイムスロットにおける自身のパルスの送出順位をTx_numに保持する(S5)。
次に、スレーブ機器3は、b_ptrに1を加算する(S6)。
次に、スレーブ機器3は、b_ptrがシリアル番号の全ビット数よりも大きいか否かを判断する(S7)。
b_ptrが全シリアル番号のビット数よりも大きくないと判断すると(S7がNo)、スレーブ機器3は、シリアル番号のb_ptrに対応する位のビット値が1であるか否かを判断する(S8)。
シリアル番号のb_ptrに対応する位のビット値が1であると判断すると(S8がYes)、スレーブ機器3は、Tx_num+p_countをkensa_numにセットし(S9)、S3に戻る。
一方、シリアル番号のb_ptrに対応する位のビット値が1でないと判断すると(S8がNo)、スレーブ機器3は、Tx_numをkensa_numにセットし(S10)、S3に戻る。
また、b_ptrがシリアル番号の全ビット数よりも大きいと判断すると(S7がYes)、スレーブ機器3は、そのときのTx_numを識別情報として保持する(S11)。これにより、スレーブ機器3−1〜3−nにそれぞれ互いに異なる識別情報が設定される。そして、マスター機器2は、スレーブ機器3−1〜3−nからそれぞれ送られてくる信号に付加される識別情報に基づいて、どのスレーブ機器3から送られてきた信号であるかを判断することができる。
ここで、例えば、シリアル番号が「100001」のスレーブ機器3−1と、シリアル番号が「101010」のスレーブ機器3−2と、シリアル番号が「000111」のスレーブ機器3−3と、シリアル番号が「100111」のスレーブ機器3−4とを備えるバスシステム1の識別情報設定処理を説明する。なお、図3のS5以降から説明する。
まず、b_ptrが0のとき、図4(a)に示すように、スレーブ機器3−1のkensa_numには「1」がセットされ、スレーブ機器3−2のkensa_numには「0」がセットされ、スレーブ機器3−3のkensa_numには「1」がセットされ、スレーブ機器3−4のkensa_numには「1」がセットされる。そのため、「0」、「1」の各タイムスロットのうち、「0」のタイムスロットにおいてスレーブ機器3−2からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「1」のタイムスロットにおいてスレーブ機器3−1、3−3、及び3−4からnpnバイポーラトランジスタ26をオンさせる信号Ssがそれぞれ出力されバス4の信号レベルがローレベルになる。すなわち、スレーブ機器3−2は、「0」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−1、3−3、及び3−4は、それぞれ、「1」のタイムスロットにおいてパルスをバス4へ送出する。従って、スレーブ機器3−1〜3−4の各p_countに「2」が保持され、スレーブ機器3−1のTx_numに「1」が保持され、スレーブ機器3−2のTx_numに「0」が保持され、スレーブ機器3−3のTx_numに「1」が保持され、スレーブ機器3−4のTx_numに「1」が保持される。
次に、b_ptrに1が加算されb_ptrが「1」になると、図4(b)に示すように、スレーブ機器3−1におけるシリアル番号のビット値(最下位ビットから1つ上位のビット値)は「0」であるため、スレーブ機器3−1のkensa_numにTx_num「1」がセットされ、スレーブ機器3−2におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−2のkensa_numにTx_num「0」+p_count「2」がセットされ、スレーブ機器3−3におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−3のkensa_numにTx_num「1」+p_count「2」がセットされ、スレーブ機器3−4におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−4のkensa_numにTx_num「1」+p_count「2」がセットされる。そのため、「0」〜「3」の各タイムスロット(前回のp_count「2」の2倍のタイムスロット)のうち、「1」のタイムスロットにおいてスレーブ機器3−1からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「2」のタイムスロットにおいてスレーブ機器3−2からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「3」のタイムスロットにおいてスレーブ機器3−3及び3−4からnpnバイポーラトランジスタ26をオンさせる信号Ssがそれぞれ出力されバス4の信号レベルがローレベルになる。すなわち、スレーブ機器3−1は、「1」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−2は、「2」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−3及び3−4は、それぞれ、「3」のタイムスロットにおいてパルスをバス4へ送出する。従って、スレーブ機器3−1〜3−4の各p_countに「3」が保持され、スレーブ機器3−1のTx_numに「0」が保持され、スレーブ機器3−2のTx_numに「1」が保持され、スレーブ機器3−3のTx_numに「2」が保持され、スレーブ機器3−4のTx_numに「2」が保持される。
次に、b_ptrに1が加算されb_ptrが「2」になると、図4(c)に示すように、スレーブ機器3−1におけるシリアル番号のビット値(最下位ビットから2つ上位のビット値)は「0」であるため、スレーブ機器3−1のkensa_numにTx_num「0」がセットされ、スレーブ機器3−2におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−2のkensa_numにTx_num「1」がセットされ、スレーブ機器3−3におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−3のkensa_numにTx_num「2」+p_count「3」がセットされ、スレーブ機器3−4におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−4のkensa_numにTx_num「2」+p_count「3」がセットされる。そのため、「0」〜「5」の各タイムスロット(前回のp_count「3」の2倍のタイムスロット)のうち、「0」のタイムスロットにおいてスレーブ機器3−1からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「1」のタイムスロットにおいてスレーブ機器3−2からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「5」のタイムスロットにおいてスレーブ機器3−3及び3−4からnpnバイポーラトランジスタ26をオンさせる信号Ssがそれぞれ出力されバス4の信号レベルがローレベルになる。すなわち、スレーブ機器3−1は、「0」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−2は、「1」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−3及び3−4は、それぞれ、「5」のタイムスロットにおいてパルスをバス4へ送出する。従って、スレーブ機器3−1〜3−4の各p_countに「3」が保持され、スレーブ機器3−1のTx_numに「0」が保持され、スレーブ機器3−2のTx_numに「1」が保持され、スレーブ機器3−3のTx_numに「2」が保持され、スレーブ機器3−4のTx_numに「2」が保持される。
次に、b_ptrに1が加算されb_ptrが「3」になると、図4(d)に示すように、スレーブ機器3−1におけるシリアル番号のビット値(最下位ビットから3つ上位のビット値)は「0」であるため、スレーブ機器3−1のkensa_numにTx_num「0」がセットされ、スレーブ機器3−2におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−2のkensa_numにTx_num「1」+p_count「3」がセットされ、スレーブ機器3−3におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−3のkensa_numにTx_num「2」がセットされ、スレーブ機器3−4におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−4のkensa_numにTx_num「2」がセットされる。そのため、「0」〜「5」の各タイムスロット(前回のp_count「3」の2倍のタイムスロット)のうち、「0」のタイムスロットにおいてスレーブ機器3−1からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「2」のタイムスロットにおいてスレーブ機器3−3及び3−4からnpnバイポーラトランジスタ26をオンさせる信号Ssがそれぞれ出力されバス4の信号レベルがローレベルになり、「4」のタイムスロットにおいてスレーブ機器3−2からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになる。すなわち、スレーブ機器3−1は、「0」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−3及び3−4は、それぞれ、「2」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−2は、「4」のタイムスロットにおいてパルスをバス4へ送出する。従って、スレーブ機器3−1〜3−4の各p_countに「3」が保持され、スレーブ機器3−1のTx_numに「0」が保持され、スレーブ機器3−2のTx_numに「2」が保持され、スレーブ機器3−3のTx_numに「1」が保持され、スレーブ機器3−4のTx_numに「1」が保持される。
次に、b_ptrに1が加算されb_ptrが「4」になると、図4(e)に示すように、スレーブ機器3−1におけるシリアル番号のビット値(最下位ビットから4つ上位のビット値)は「0」であるため、スレーブ機器3−1のkensa_numにTx_num「0」がセットされ、スレーブ機器3−2におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−2のkensa_numにTx_num「2」がセットされ、スレーブ機器3−3におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−3のkensa_numにTx_num「1」がセットされ、スレーブ機器3−4におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−4のkensa_numにTx_num「1」がセットされる。そのため、「0」〜「5」の各タイムスロット(前回のp_count「3」の2倍のタイムスロット)のうち、「0」のタイムスロットにおいてスレーブ機器3−1からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「1」のタイムスロットにおいてスレーブ機器3−3及び3−4からnpnバイポーラトランジスタ26をオンさせる信号Ssがそれぞれ出力されバス4の信号レベルがローレベルになり、「2」のタイムスロットにおいてスレーブ機器3−2からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになる。すなわち、スレーブ機器3−1は、「0」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−3及び3−4は、それぞれ、「1」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−2は、「2」のタイムスロットにおいてパルスをバス4へ送出する。従って、スレーブ機器3−1〜3−4の各p_countに「3」が保持され、スレーブ機器3−1のTx_numに「0」が保持され、スレーブ機器3−2のTx_numに「2」が保持され、スレーブ機器3−3のTx_numに「1」が保持され、スレーブ機器3−4のTx_numに「1」が保持される。
次に、b_ptrに1が加算されb_ptrが「5」になると、図4(f)に示すように、スレーブ機器3−1におけるシリアル番号のビット値(最下位ビットから5つ上位のビット値)は「1」であるため、スレーブ機器3−1のkensa_numにTx_num「0」+p_count「3」がセットされ、スレーブ機器3−2におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−2のkensa_numにTx_num「2」+p_count「3」がセットされ、スレーブ機器3−3におけるシリアル番号のビット値は「0」であるため、スレーブ機器3−3のkensa_numにTx_num「1」がセットされ、スレーブ機器3−4におけるシリアル番号のビット値は「1」であるため、スレーブ機器3−4のkensa_numにTx_num「1」+p_count「3」がセットされる。そのため、「0」〜「5」の各タイムスロット(前回のp_count「3」の2倍のタイムスロット)のうち、「1」のタイムスロットにおいてスレーブ機器3−3からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「3」のタイムスロットにおいてスレーブ機器3−1からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「4」のタイムスロットにおいてスレーブ機器3−4からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになり、「5」のタイムスロットにおいてスレーブ機器3−2からnpnバイポーラトランジスタ26をオンさせる信号Ssが出力されバス4の信号レベルがローレベルになる。すなわち、スレーブ機器3−3は、「1」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−1は、「3」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−4は、「4」のタイムスロットにおいてパルスをバス4へ送出し、スレーブ機器3−2は、「5」のタイムスロットにおいてパルスをバス4へ送出する。従って、スレーブ機器3−1〜3−4の各p_countに「3」が保持され、スレーブ機器3−1のTx_numに「1」が保持され、スレーブ機器3−2のTx_numに「3」が保持され、スレーブ機器3−3のTx_numに「0」が保持され、スレーブ機器3−4のTx_numに「2」が保持される。
そして、スレーブ機器3−1は、Tx_num「1」を自身の識別情報に設定し、スレーブ機器3−2は、Tx_num「3」を自身の識別情報に設定し、スレーブ機器3−3は、Tx_num「0」を自身の識別情報に設定し、スレーブ機器3−4は、Tx_num「2」を識別情報に設定する。
このように、スレーブ機器3−1〜3−nは、それぞれ、スレーブ機器3−1〜3−nの全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスをバス4に送出した後、1つ上位のビット値が「1」のとき、1つ下位のビットにおける自身のパルス送出順位(Tx_num)と1つ下位のビットにおいてバス4に送出されたパルスの総数(p_count)との加算値をパルス送出順位としてバス4にパルスを送出し、1つ上位のビット値が「0」のとき、1つ下位のビットにおける自身のパルス送出順位(Tx_num)でパルスをバス4に送出することを自身のシリアル番号のビットを1つ上位にする毎に最上位ビットまで繰り返し、最上位ビットにおける自身のパルス送出順位(Tx_num)を識別信号として設定する。これにより、シリアル番号のビットが1つ上位になったときのそのビット値が「1」であるとき、1つ下位ビットのシリアル番号の大きさの順位(Tx_num)に、重み付けとして1つ下位ビットのシリアル番号の大きさの順位の一番大きい数よりも大きい数であるパルス送出総数(p_count)を加算することができるので、スレーブ機器3−1〜3−nは、それぞれ、スレーブ機器3−1〜3−nの全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を得ることができ、その順位を識別情報として設定することができる。
本実施形態のバスシステム1によれば、自動的に識別情報を設定することができるので、人為的な設定ミスを防止するためにスレーブ機器3−1〜3−nを形状や色で区別する必要がなくコストの増大を抑えることができる。また、本実施形態のバスシステム1によれば、シリアル番号のビット数に応じて各シリアル番号の大きさの順位の特定にかかる時間を推測することができるので、識別情報の設定時間を容易に見積もることができる。また、本実施形態のバスシステム1によれば、各シリアル番号の大きさの順位を識別情報として得ているため、容易に、かつ、確実にスレーブ機器3−1〜3−nに識別情報を設定することができる。また、本実施形態のバスシステム1によれば、あるスレーブ機器3が故障して新しいスレーブ機器3に取り替える場合においても、各スレーブ機器3が図3に示す識別情報設定処理を行うことにより、新しい識別情報を容易に設定することができる。
図5は、本実施形態のバスシステム1におけるスレーブ機器3の他の動作を説明するためのフローチャートである。
まず、スレーブ機器3は、マスター機器2から送信される識別情報設定信号を受信すると、b_ptr、p_count、Tx_num、及びkensa_numをそれぞれゼロにする(ST1)。
次に、スレーブ機器3は、自身のシリアル番号においてb_ptrに対応する位のビット値をkensa_numにセットする(ST2)。例えば、b_ptrが「0」のとき、シリアル番号の最下位ビット値がkensa_numにセットされ、b_ptrが「1」のとき、シリアル番号の最下位ビットから1つ上位のビット値がkensa_numにセットされる。
次に、スレーブ機器3は、ビット検査信号を送出する(ST3)。
次に、スレーブ機器3は、他のスレーブ機器3と同期がとれたか否かを判断する(ST4)。
他のスレーブ機器3と同期がとれたと判断すると(ST4がYes)、スレーブ機器3は、kensa_numに対応するタイムスロットにおいてパルスをバス4へ送出した後、全タイムスロットにおいてバス4へ送出されたパルスのカウント値をp_countに保持する(ST5)。
次に、スレーブ機器3は、p_countが1であるか否かを判断する(ST6)。
p_countが1であると判断すると、すなわち、スレーブ機器3−1〜3−nが全て「0」又は「1」のタイムスロットにおいてパルスをバス4へ送出したとき(ST6がYes)、スレーブ機器3は、b_ptrを検査対象外のb_ptrとして保持し(ST7)、ST8に進む。例えば、シリアル番号が「100001」のスレーブ機器3−1と、シリアル番号が「101010」のスレーブ機器3−2と、シリアル番号が「000111」のスレーブ機器3−3と、シリアル番号が「100111」のスレーブ機器3−4とを備えるバスシステム1の場合、b_ptrが「4」のとき、各ビット値は「0」であるため、p_countが1となる。
一方、p_countが1でないと判断すると、すなわち、スレーブ機器3−1〜3−nから「0」及び「1」のタイムスロットにおいてそれぞれパルスがバス4へ送出されたとき(ST6がNo)、スレーブ機器3は、b_ptrに1を加算する(ST8)。
次に、スレーブ機器3は、b_ptrがシリアル番号の全ビット数よりも大きいか否かを判断する(ST9)。
b_ptrがシリアル番号の全ビット数よりも大きくないと判断すると(ST9がNo)、スレーブ機器3は、ST2に戻る。
一方、b_ptrがシリアル番号の全ビット数よりも大きいと判断すると(ST9がYes)、スレーブ機器3は、b_ptr、p_count、Tx_num、及びkensa_numをそれぞれゼロにする(ST10)。
次に、スレーブ機器3は、自身のシリアル番号においてb_ptr「0」に対応する位のビット値(自身のシリアル番号の最下位ビット値)をkensa_numにセットする(ST11)。
次に、スレーブ機器3は、他のスレーブ機器3と同期をとるためのビット検査信号(同期信号)を送出する(ST12)。
次に、スレーブ機器3は、他のスレーブ機器3と同期がとれたか否かを判断する(ST13)。
他のスレーブ機器3と同期がとれたと判断すると(ST13がYes)、スレーブ機器3は、kensa_numに対応するタイムスロットにおいてパルスをバス4へ送出した後、全タイムスロットにおいてバス4へ送出されたパルスのカウント値をp_countに保持するとともに、全タイムスロットにおける自身のパルスの送出順位をTx_numに保持する(ST14)。
次に、スレーブ機器3は、b_ptrに1を加算する(ST15)。
次に、スレーブ機器3は、b_ptrがシリアル番号の全ビット数よりも大きいか否かを判断する(ST16)。
b_ptrが全シリアル番号のビット数よりも大きくないと判断すると(ST16がNo)、スレーブ機器3は、b_ptrが検査対象外のb_ptrであるか否かを判断する(ST17)。
b_ptrが検査対象外のb_ptrであると判断すると(ST17がYes)、スレーブ機器3は、ST15に戻る。
一方、b_ptrが検査対象外のb_ptrでないと判断すると(ST17がNo)、スレーブ機器3は、シリアル番号のb_ptrに対応する位のビット値が1であるか否かを判断する(S18)。
シリアル番号のb_ptrに対応する位のビット値が1であると判断すると(ST18がYes)、スレーブ機器3は、Tx_num+p_countをkensa_numにセットし(ST19)、S3に戻る。
一方、シリアル番号のb_ptrに対応する位のビット値が1でないと判断すると(S18がNo)、スレーブ機器3は、Tx_numをkensa_numにセットし(ST20)、ST12に戻る。
また、b_ptrがシリアル番号の全ビット数よりも大きいと判断すると(ST16がYes)、スレーブ機器3は、そのときのTx_numを識別情報として保持する(ST21)。これにより、スレーブ機器3−1〜3−nにそれぞれ互いに異なる識別情報が設定される。そして、マスター機器2は、スレーブ機器3−1〜3−nからそれぞれ送られてくる信号に付加される識別情報に基づいて、どのスレーブ機器3から送られてきた信号であるかを判断することができる。
このように構成する場合においても、上記実施形態と同様に、コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することができる。また、このように構成する場合は、予め、スレーブ機器3−1〜3−nの各シリアル番号においてある位のビット値が全て「0」又は「1」になるときのb_ptrを検査対象外のb_ptrとして保持しておき、各シリアル番号の大きさの順位を特定する際に、検査対象外のb_ptrに対応するビットにおいてシリアル番号の大きさを特定しないようにしているので、識別信号設定処理にかかる時間を短縮することができる。特に、シリアル番号が「0000000000000010001」のように「0」又は「1」が続く場合に有効である。
なお、上記実施形態では、図3のS3、図5のST3、又は図5のST12において、スレーブ機器3−1〜3−nの間で同期をとるためのビット検査信号を送出する構成であるが、図4(a)〜図4(f)に示すように、ビット検査信号のパルス幅をそのときのタイムスロットの数に応じて変えるように構成してもよい。
このように構成する場合、スレーブ機器3−1〜3−nは、ビット検査信号に基づいて、全てのパルスが出力し終わるのにかかる時間を知ることができるので、必要最低限のタイムスロットを設定することができ、バス4が無駄に使用されることを防ぐことができる。
また、上記実施形態では、図3のS7又は図5のST16において、b_ptrがシリアル番号の全ビット数よりも大きいと判断したとき、Tx_numを識別情報とする構成であるが、図3のS7又は図5のST16において、バス4に送出されたパルスの総数(p_count)がバス4に接続されるスレーブ機器3の総数よりも大きいと判断したとき、Tx_numを識別情報とするように構成してもよい。
このように構成する場合は、シリアル番号の全ビットに対して大きさの順位を特定する場合に比べて、識別情報設定処理にかかる時間をさらに短縮することができる。
1 バスシステム
2 マスター機器
3−1〜3−n スレーブ機器
4 バス

Claims (5)

  1. マスター機器と、互いに同じ機能を有する複数のスレーブ機器と、前記マスター機器と前記複数のスレーブ機器とをつなぐバスとを備え、前記マスター機器は、前記複数のスレーブ機器からそれぞれ送信される信号に基づいて所定の動作を行うバスシステムであって、
    前記複数のスレーブ機器は、それぞれ、前記複数のスレーブ機器の全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を識別信号として設定する
    ことを特徴とするバスシステム。
  2. 請求項1に記載のバスシステムであって、
    前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、1つ上位のビット値が1のとき、1つ下位のビットにおける自身のパルス送出順位と1つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、1つ上位のビット値が0のとき、1つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを1つ上位にする毎に最上位ビットまで繰り返し、最上位ビットにおける自身のパルス送出順位を識別信号として設定する
    ことを特徴とするバスシステム。
  3. 請求項2に記載のバスシステムであって、
    前記複数のスレーブ機器は、それぞれ、前記全シリアル番号において、ビット値が互いに同じになる自身のシリアル番号のビットの位を予め保持しておき、自身のパルス送出順位を特定する際のビットの位が前記保持しておいたビットの位であるとき、そのビットの位におけるパルス送出順位を特定しない
    ことを特徴とするバスシステム。
  4. 請求項1に記載のバスシステムであって、
    前記複数のスレーブ機器は、それぞれ、1つ下位のビットにおけるパルス送出順位の総数の2倍の値に基づく長さの同期信号を、パルスを送出する前に前記バスに送出する
    ことを特徴とするバスシステム。
  5. 請求項1に記載のバスシステムであって、
    前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、1つ上位のビット値が1のとき、1つ下位のビットにおける自身のパルス送出順位と1つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、1つ上位のビット値が0のとき、1つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを1つ上位にする毎に前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致するまで繰り返し、前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致したときの自身のパルス送出順位を識別信号として設定する
    ことを特徴とするバスシステム。
JP2009092747A 2009-04-07 2009-04-07 バスシステム Withdrawn JP2010245860A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009092747A JP2010245860A (ja) 2009-04-07 2009-04-07 バスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009092747A JP2010245860A (ja) 2009-04-07 2009-04-07 バスシステム

Publications (1)

Publication Number Publication Date
JP2010245860A true JP2010245860A (ja) 2010-10-28

Family

ID=43098392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009092747A Withdrawn JP2010245860A (ja) 2009-04-07 2009-04-07 バスシステム

Country Status (1)

Country Link
JP (1) JP2010245860A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012218590A (ja) * 2011-04-08 2012-11-12 Mitsubishi Electric Corp 鉄道車両用空調制御関連装置の識別子設定方法
CN102815274A (zh) * 2012-06-28 2012-12-12 东南(福建)汽车工业有限公司 一种汽车整车总线控制系统管理方法
JP2014527680A (ja) * 2011-09-05 2014-10-16 エルジー・ケム・リミテッド バッテリーパックのマルチスレーブに対する識別子割り当て方法及びシステム
JP2015224030A (ja) * 2014-05-27 2015-12-14 ヴァレオ システム テルミク 2つの供給電圧を有する電気または電子デバイス
JP2019036179A (ja) * 2017-08-18 2019-03-07 ホーチキ株式会社 防災設備の伝送システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012218590A (ja) * 2011-04-08 2012-11-12 Mitsubishi Electric Corp 鉄道車両用空調制御関連装置の識別子設定方法
JP2014527680A (ja) * 2011-09-05 2014-10-16 エルジー・ケム・リミテッド バッテリーパックのマルチスレーブに対する識別子割り当て方法及びシステム
US8963507B2 (en) 2011-09-05 2015-02-24 Lg Chem, Ltd. Method and system for allocating identifiers to multi-slave in battery pack
CN102815274A (zh) * 2012-06-28 2012-12-12 东南(福建)汽车工业有限公司 一种汽车整车总线控制系统管理方法
JP2015224030A (ja) * 2014-05-27 2015-12-14 ヴァレオ システム テルミク 2つの供給電圧を有する電気または電子デバイス
JP2019036179A (ja) * 2017-08-18 2019-03-07 ホーチキ株式会社 防災設備の伝送システム

Similar Documents

Publication Publication Date Title
US10135634B2 (en) Bus interface with bi-directional, one-wire communication and individual select lines
US7707339B2 (en) Data arbitration on a bus to determine an extreme value
EP3353668B1 (en) Enhanced serial peripheral interface
US8964774B2 (en) Communication protocol for a lighting control system
JP5989865B2 (ja) 複数のスレーブ装置を用いるエッジベースの通信
KR101575547B1 (ko) 캔 통신 시스템의 에러 분산감지 방법 및 캔 통신 시스템
JP2010245860A (ja) バスシステム
US8566490B2 (en) Method and system for address allocation for a plurality of devices connected to a multi-master bus
KR101526413B1 (ko) 트랜시버 ic 및 그 동작 방법
CN108959142B (zh) 总线通信方法、装置和系统
US10496279B2 (en) Slave device, control method of slave device, non-volatile computer readable recording medium
US20110197000A1 (en) Master-slave device communication circuit and id address setting method thereof
JP2015033952A (ja) 制御システム
US8032261B1 (en) Cooling system with adaptive protocol cooling unit
CN101539771B (zh) 主设备对从设备的自动定址系统
US9372744B2 (en) Method for detecting failure and slave station for use in same
US20040267991A1 (en) Transparent switch
US9170967B2 (en) System and method for transmitting information from a transmitter to a receiver via a single line
JP5815085B1 (ja) 通信システム、通信装置、接続状態判定方法及び制御プログラム
US10082854B2 (en) Network device for supplying power over network and operation method of the same
CN212133911U (zh) 一种菊花链二线制温度测量系统
KR20180064274A (ko) Can 컨트롤러 및 이를 이용한 데이터 전송 방법
US7916633B2 (en) Variable response message length for master-slave communications
JP2011146897A (ja) 通信システム
JP2021016092A (ja) シリアル通信方法及びシリアル通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111003

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120509