(57)【要約】【課題】コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することが可能なバスシステムを提供することを目的とする。【解決手段】マスター機器２と、スレーブ機器３−１〜３−ｎと、マスター機器２とスレーブ機器３−１〜３−ｎとをつなぐバス４とを備え、マスター機器２は、スレーブ機器３−１〜３−ｎからそれぞれ送信される信号に基づいて所定の動作を行うバスシステム１において、スレーブ機器３−１〜３−ｎは、それぞれ、スレーブ機器３−１〜３−ｎの全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を識別信号として設定する。【選択図】図３
2010245860.tif 000002
【特許請求の範囲】
【請求項１】
マスター機器と、互いに同じ機能を有する複数のスレーブ機器と、前記マスター機器と前記複数のスレーブ機器とをつなぐバスとを備え、前記マスター機器は、前記複数のスレーブ機器からそれぞれ送信される信号に基づいて所定の動作を行うバスシステムであって、
前記複数のスレーブ機器は、それぞれ、前記複数のスレーブ機器の全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を識別信号として設定する
ことを特徴とするバスシステム。
【請求項２】
請求項１に記載のバスシステムであって、
前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、１つ上位のビット値が１のとき、１つ下位のビットにおける自身のパルス送出順位と１つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、１つ上位のビット値が０のとき、１つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを１つ上位にする毎に最上位ビットまで繰り返し、最上位ビットにおける自身のパルス送出順位を識別信号として設定する
ことを特徴とするバスシステム。
【請求項３】
請求項２に記載のバスシステムであって、
前記複数のスレーブ機器は、それぞれ、前記全シリアル番号において、ビット値が互いに同じになる自身のシリアル番号のビットの位を予め保持しておき、自身のパルス送出順位を特定する際のビットの位が前記保持しておいたビットの位であるとき、そのビットの位におけるパルス送出順位を特定しない
ことを特徴とするバスシステム。
【請求項４】
請求項１に記載のバスシステムであって、
前記複数のスレーブ機器は、それぞれ、１つ下位のビットにおけるパルス送出順位の総数の２倍の値に基づく長さの同期信号を、パルスを送出する前に前記バスに送出する
ことを特徴とするバスシステム。
【請求項５】
請求項１に記載のバスシステムであって、
前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、１つ上位のビット値が１のとき、１つ下位のビットにおける自身のパルス送出順位と１つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、１つ上位のビット値が０のとき、１つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを１つ上位にする毎に前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致するまで繰り返し、前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致したときの自身のパルス送出順位を識別信号として設定する
ことを特徴とするバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスター機器にバスを介して接続される複数のスレーブ機器にそれぞれ識別情報を設定するバスシステムに関する。
【背景技術】
【０００２】
図６は、既存のバスシステムの一例を示す図である。
図６に示すバスシステム６０は、車両６１内に設置されるものであって、互いに同じ機能を有する複数のセンサ６２−１〜６２−４と、センサ６２−１〜６２−４からバス６３を介してそれぞれ出力される信号により所定の動作を行うＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）６４とから構成されている。
【０００３】
このようなバスシステム６０では、ＥＣＵ６４とセンサ６２−１〜６２−４との間の通信処理に共通の通信線としてのバス６３が使用されるため、どのセンサかを判別するための識別情報をセンサ６２−１〜６２−４に対してそれぞれ設定する必要がある。例えば、自動車で用いられるＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）などのバスシステムにおいても、マスター機器と複数のスレーブ機器との間の通信処理において各スレーブ機器にそれぞれ必ず識別情報が設定される。
【０００４】
この識別情報は、例えば、製品出荷前において、スレーブ機器毎のハードウエアスイッチを操作することにより設定される。しかしながら、ハードウエアの操作による識別情報の設定は作業者により行われるため、各スレーブ機器を形状や色で区別するなどスレーブ機器毎に識別情報の設定ミスがないような工夫を施す必要があり、その分コストが増大するという問題があった。
【０００５】
そこで、ランダムに識別情報を決めることにより、各スレーブ機器にそれぞれ対応する識別情報を自動的に設定するものがある（例えば、特許文献１又は特許文献２参照）。しかしながら、この構成では、全ての識別情報が設定されるまでにどれくらいの時間が必要かを見積もることが困難である。また、この構成では、必ずしも異なる識別情報が設定されるという保証がない。
【０００６】
また、例えば、マスター機器が各スレーブ機器からそれぞれ送られてくるシリアル番号に応じて識別情報を設定するものもある（例えば、特許文献３参照）。しかしながら、この構成では、マスター機器において大きなビット数のシリアル番号をスレーブ機器の数分用いて識別情報を設定する必要があるため、識別情報の設定処理が煩雑になるという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１７４７８３号公報
【特許文献２】特開２００６−３３５２０３号公報
【特許文献３】特開２００８−０４２３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明では、コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することが可能なバスシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のバスシステムは、マスター機器と、互いに同じ機能を有する複数のスレーブ機器と、前記マスター機器と前記複数のスレーブ機器とをつなぐバスとを備え、前記マスター機器は、前記複数のスレーブ機器からそれぞれ送信される信号に基づいて所定の動作を行うバスシステムであって、前記複数のスレーブ機器は、それぞれ、前記複数のスレーブ機器の全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を識別信号として設定する。
【００１０】
これにより、自動的に識別情報を設定することができるので、人為的な設定ミスを防止するために複数のスレーブ機器を形状や色で区別する必要がなくコストの増大を抑えることができる。また、シリアル番号のビット数に応じて各シリアル番号の大きさの順位の特定にかかる時間を推測することができるので、識別情報の設定時間を容易に見積もることができる。また、各シリアル番号の大きさの順位を識別情報として得ているため、容易に、かつ、確実に複数のスレーブ機器に識別情報を設定することができる。
【００１１】
また、前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、１つ上位のビット値が１のとき、１つ下位のビットにおける自身のパルス送出順位と１つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、１つ上位のビット値が０のとき、１つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを１つ上位にする毎に最上位ビットまで繰り返し、最上位ビットにおける自身のパルス送出順位を識別信号として設定するように構成してもよい。
【００１２】
また、前記複数のスレーブ機器は、それぞれ、前記全シリアル番号において、ビット値が互いに同じになる自身のシリアル番号のビットの位を予め保持しておき、自身のパルス送出順位を特定する際のビットの位が前記保持しておいたビットの位であるとき、そのビットの位におけるパルス送出順位を特定しないように構成してもよい。
【００１３】
これにより、識別信号の設定にかかる時間を短縮することができる。
また、前記複数のスレーブ機器は、それぞれ、１つ下位のビットにおけるパルス送出順位の総数の２倍の値に基づく長さの同期信号を、パルスを送出する前に前記バスに送出するように構成してもよい。
【００１４】
これにより、各スレーブ機器は、同期信号に基づいて、全てのパルスが出力し終わるのにかかる時間を知ることができるので、バスが無駄に使用されることを防ぐことができる。
【００１５】
また、前記複数のスレーブ機器は、それぞれ、前記全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスを前記バスに送出した後、１つ上位のビット値が１のとき、１つ下位のビットにおける自身のパルス送出順位と１つ下位のビットにおいて前記バスに送出されたパルスの総数との加算値を自身のパルス送出順位として前記バスにパルスを送出し、１つ上位のビット値が０のとき、１つ下位のビットにおける自身のパルス送出順位で前記バスにパルスを送出することを自身のシリアル番号のビットを１つ上位にする毎に前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致するまで繰り返し、前記バスに送出されたパルスの総数が前記スレーブ機器の個数と一致したときの自身のパルス送出順位を識別信号として設定するように構成してもよい。
【００１６】
これにより、識別信号の設定にかかる時間をさらに短縮することができる。
【発明の効果】
【００１７】
本発明によれば、マスター機器にバスを介して複数のスレーブ機器が接続されるバスシステムにおいて、コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態のバスシステムを示す図である。
【図２】本実施形態のバスシステムの一例を示す図である。
【図３】本実施形態のバスシステムにおけるスレーブ機器の動作を説明するためのフローチャートである。
【図４】本実施形態の識別情報設定処理の一例を示す図である。
【図５】本実施形態のバスシステムにおけるスレーブ機器の他の動作を説明するためのフローチャートである。
【図６】既存のバスシステムの一例を示す図である。
【発明を実施するための形態】
【００１９】
図１は、本発明の実施形態のバスシステムを示す図である。
図１に示すバスシステム１は、例えば、自動車のネットワークに使用されるＬＩＮの構成と同様であり、マスター機器２と、互いに同じ機能を有する複数のスレーブ機器３（３−１〜３−ｎ）と、マスター機器２と複数のスレーブ機器とをつなぐバス４とを備えて構成される。なお、ＬＩＮのプロトコルは、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）又はＳＣＩ（Ｓｅｒａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ）のデータ形式に基づいている。また、マスター機器２は、スレーブ機器３−１〜３−ｎからそれぞれ送信される信号に基づいて所定の動作を行う。
【００２０】
図２（ａ）は、図１に示すバスシステム１の一例を示す図である。
図２（ａ）に示すバスシステム１は、車両に搭載されるものであって、マスター機器２は、ＥＣＵであり、スレーブ機器３−１〜３−４は、それぞれ、車両のガラスが割れたことを検知し、その旨の信号をマスター機器２に出力するガラス割れセンサである。スレーブ機器３−１は、コネクタ５、６を介してマスター機器２に接続されており、スレーブ機器３−２は、コネクタ７、８を介してマスター機器２に接続されており、スレーブ機器３−３は、コネクタ９、１０、１１、６を介してマスター機器２に接続されており、スレーブ機器３−４は、コネクタ１２、１３、１４、８を介してマスター機器２に接続されている。
【００２１】
図２（ｂ）は、マスター機器２の入出力部及びスレーブ機器３−１の入出力部の一例を示す図である。なお、スレーブ機器３−２〜３−ｎのそれぞれの入出力部は、スレーブ機器３−１の入出力部と同じとする。
【００２２】
図２（ｂ）に示すマスター機器２の入出力部は、ｐｎｐバイポーラトランジスタ２０と、抵抗２１と、ダイオード２２とを備えて構成されている。ｐｎｐバイポーラトランジスタ２０のエミッタは抵抗２１を介してバッテリ＋Ｂに接続され、ｐｎｐバイポーラトランジスタ２０のベースは、マイコン２３の出力端子に接続され、ｐｎｐバイポーラトランジスタ２０のコレクタは、ダイオード２２のアノード及びマイコン２３の入力端子に接続されている。ダイオード２２のカソードは、マスター機器２の入出力端子２４に接続されている。
【００２３】
図２（ｂ）に示すスレーブ機器３−１の入出力部は、ｎｐｎバイポーラトランジスタ２５、２６と、抵抗２７〜３２と、コンデンサ３３と、ダイオード３４とを備えて構成されている。ｎｐｎバイポーラトランジスタ２５のコレクタは、抵抗２７を介して５Ｖの電源Ｖｃｃに接続されているとともに抵抗２８を介してマイコン３５の入力端子に接続され、ｎｐｎバイポーラトランジスタ２５のベースは、抵抗２９を介してｎｐｎバイポーラトランジスタ２６のコレクタに接続されているとともに、抵抗２９、３０を介してスレーブ機器３−１の入出力端子３６に接続され、ｎｐｎバイポーラトランジスタ２５のエミッタは、グランドに接続されている。ｎｐｎバイポーラトランジスタ２６のベースは、抵抗３１を介してマイコン３５の出力端子に接続され、ｎｐｎバイポーラトランジスタ２６のエミッタは、グランドに接続されている。抵抗３２、コンデンサ３３、ダイオード３４は、それぞれ、スレーブ機器３−１の入出力端子３６とグランドとの間に接続されている。
【００２４】
図２（ｂ）において、マスター機器２とスレーブ機器３−１〜３−ｎとの間で通信を行わないとき、マスター機器２のマイコン２３は、出力端子からｐｎｐバイポーラトランジスタ２０をオンさせる信号Ｓｍが出力され、バス４の信号レベルがハイレベルになる。すると、スレーブ機器３−１〜３−ｎのそれぞれのｎｐｎバイポーラトランジスタ２５がオンして、マイコン３５の入力端子に入力される電圧がハイレベルからローレベルになる。
【００２５】
このような状態のときに、スレーブ機器３−１〜３−ｎの何れかのマイコン３５の出力端子からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されると、バス４の信号レベルがローレベルに変化する。すなわち、スレーブ機器３−１〜３−ｎは、それぞれ、信号Ｓｓのハイレベル期間を調整することによりバス４へ任意のパルス幅のパルス信号を送出することができる。バス４の信号レベルをハイレベルに戻す場合は、スレーブ機器３−１〜３−ｎの各マイコン３５からｎｐｎバイポーラトランジスタ２６をオフする信号Ｓｓがそれぞれ出力される必要がある。
【００２６】
図３は、本実施形態のバスシステム１におけるスレーブ機器３の動作を説明するためのフローチャートである。
まず、スレーブ機器３は、マスター機器２から送信される識別情報設定信号を受信すると、b_ptr（ビットポインタ）、p_count（パルスカウンタ）、Tx_num（送出順位）、及びkensa_num（検査対象値）をそれぞれゼロにする（Ｓ１）。例えば、図２（ｂ）に示すマスター機器２のマイコン２３の出力端子からｐｎｐバイポーラトランジスタ２０をオンさせる信号Ｓｍが出力されてバス４の信号レベルがハイレベルになり、スレーブ機器３−１〜３−ｎのそれぞれのマイコン３５の入力端子に入力される電圧がハイレベルからローレベルになると、スレーブ機器３−１〜３−ｎは、それぞれ、図３に示す識別情報設定処理を開始する。
【００２７】
次に、スレーブ機器３は、自身のシリアル番号（製造出荷番号）においてb_ptr「０」に対応する位のビット値（自身のシリアル番号の最下位ビット値）をkensa_numにセットする（Ｓ２）。
【００２８】
次に、スレーブ機器３は、他のスレーブ機器３と同期をとるためのビット検査信号（同期信号）を送出する（Ｓ３）。例えば、図２（ｂ）に示すマイコン３５からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓを出力してバス４の信号レベルをローレベルにした後、所定時間後にｎｐｎバイポーラトランジスタ２６をオフさせる信号Ｓｓを出力する。
【００２９】
次に、スレーブ機器３は、他のスレーブ機器３と同期がとれたか否かを判断する（Ｓ４）。例えば、図２（ｂ）に示すスレーブ機器３−１〜３−ｎの各マイコン３５からそれぞれｎｐｎバイポーラトランジスタ２６をオフさせる信号Ｓｓが出力されてバス４の信号レベルがローレベルになりマイコン３５の入力端子の信号レベルがハイレベルになったことを検出することにより、スレーブ機器３−１〜３−ｎで同期がとれたと判断することができる。
【００３０】
他のスレーブ機器３と同期がとれたと判断すると（Ｓ４がＹｅｓ）、スレーブ機器３は、kensa_numに対応するタイムスロットにおいてパルスをバス４へ送出した後、全タイムスロットにおいてバス４へ送出されたパルスのカウント値をp_countに保持するとともに、全タイムスロットにおける自身のパルスの送出順位をTx_numに保持する（Ｓ５）。
【００３１】
次に、スレーブ機器３は、b_ptrに１を加算する（Ｓ６）。
次に、スレーブ機器３は、b_ptrがシリアル番号の全ビット数よりも大きいか否かを判断する（Ｓ７）。
【００３２】
b_ptrが全シリアル番号のビット数よりも大きくないと判断すると（Ｓ７がＮｏ）、スレーブ機器３は、シリアル番号のb_ptrに対応する位のビット値が１であるか否かを判断する（Ｓ８）。
【００３３】
シリアル番号のb_ptrに対応する位のビット値が１であると判断すると（Ｓ８がＹｅｓ）、スレーブ機器３は、Tx_num＋p_countをkensa_numにセットし（Ｓ９）、Ｓ３に戻る。
一方、シリアル番号のb_ptrに対応する位のビット値が１でないと判断すると（Ｓ８がＮｏ）、スレーブ機器３は、Tx_numをkensa_numにセットし（Ｓ１０）、Ｓ３に戻る。
【００３４】
また、b_ptrがシリアル番号の全ビット数よりも大きいと判断すると（Ｓ７がＹｅｓ）、スレーブ機器３は、そのときのTx_numを識別情報として保持する（Ｓ１１）。これにより、スレーブ機器３−１〜３−ｎにそれぞれ互いに異なる識別情報が設定される。そして、マスター機器２は、スレーブ機器３−１〜３−ｎからそれぞれ送られてくる信号に付加される識別情報に基づいて、どのスレーブ機器３から送られてきた信号であるかを判断することができる。
【００３５】
ここで、例えば、シリアル番号が「１００００１」のスレーブ機器３−１と、シリアル番号が「１０１０１０」のスレーブ機器３−２と、シリアル番号が「０００１１１」のスレーブ機器３−３と、シリアル番号が「１００１１１」のスレーブ機器３−４とを備えるバスシステム１の識別情報設定処理を説明する。なお、図３のＳ５以降から説明する。
【００３６】
まず、b_ptrが０のとき、図４（ａ）に示すように、スレーブ機器３−１のkensa_numには「１」がセットされ、スレーブ機器３−２のkensa_numには「０」がセットされ、スレーブ機器３−３のkensa_numには「１」がセットされ、スレーブ機器３−４のkensa_numには「１」がセットされる。そのため、「０」、「１」の各タイムスロットのうち、「０」のタイムスロットにおいてスレーブ機器３−２からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「１」のタイムスロットにおいてスレーブ機器３−１、３−３、及び３−４からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓがそれぞれ出力されバス４の信号レベルがローレベルになる。すなわち、スレーブ機器３−２は、「０」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−１、３−３、及び３−４は、それぞれ、「１」のタイムスロットにおいてパルスをバス４へ送出する。従って、スレーブ機器３−１〜３−４の各p_countに「２」が保持され、スレーブ機器３−１のTx_numに「１」が保持され、スレーブ機器３−２のTx_numに「０」が保持され、スレーブ機器３−３のTx_numに「１」が保持され、スレーブ機器３−４のTx_numに「１」が保持される。
【００３７】
次に、b_ptrに１が加算されb_ptrが「１」になると、図４（ｂ）に示すように、スレーブ機器３−１におけるシリアル番号のビット値（最下位ビットから１つ上位のビット値）は「０」であるため、スレーブ機器３−１のkensa_numにTx_num「１」がセットされ、スレーブ機器３−２におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−２のkensa_numにTx_num「０」＋p_count「２」がセットされ、スレーブ機器３−３におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−３のkensa_numにTx_num「１」＋p_count「２」がセットされ、スレーブ機器３−４におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−４のkensa_numにTx_num「１」＋p_count「２」がセットされる。そのため、「０」〜「３」の各タイムスロット（前回のp_count「２」の２倍のタイムスロット）のうち、「１」のタイムスロットにおいてスレーブ機器３−１からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「２」のタイムスロットにおいてスレーブ機器３−２からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「３」のタイムスロットにおいてスレーブ機器３−３及び３−４からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓがそれぞれ出力されバス４の信号レベルがローレベルになる。すなわち、スレーブ機器３−１は、「１」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−２は、「２」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−３及び３−４は、それぞれ、「３」のタイムスロットにおいてパルスをバス４へ送出する。従って、スレーブ機器３−１〜３−４の各p_countに「３」が保持され、スレーブ機器３−１のTx_numに「０」が保持され、スレーブ機器３−２のTx_numに「１」が保持され、スレーブ機器３−３のTx_numに「２」が保持され、スレーブ機器３−４のTx_numに「２」が保持される。
【００３８】
次に、b_ptrに１が加算されb_ptrが「２」になると、図４（ｃ）に示すように、スレーブ機器３−１におけるシリアル番号のビット値（最下位ビットから２つ上位のビット値）は「０」であるため、スレーブ機器３−１のkensa_numにTx_num「０」がセットされ、スレーブ機器３−２におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−２のkensa_numにTx_num「１」がセットされ、スレーブ機器３−３におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−３のkensa_numにTx_num「２」＋p_count「３」がセットされ、スレーブ機器３−４におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−４のkensa_numにTx_num「２」＋p_count「３」がセットされる。そのため、「０」〜「５」の各タイムスロット（前回のp_count「３」の２倍のタイムスロット）のうち、「０」のタイムスロットにおいてスレーブ機器３−１からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「１」のタイムスロットにおいてスレーブ機器３−２からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「５」のタイムスロットにおいてスレーブ機器３−３及び３−４からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓがそれぞれ出力されバス４の信号レベルがローレベルになる。すなわち、スレーブ機器３−１は、「０」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−２は、「１」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−３及び３−４は、それぞれ、「５」のタイムスロットにおいてパルスをバス４へ送出する。従って、スレーブ機器３−１〜３−４の各p_countに「３」が保持され、スレーブ機器３−１のTx_numに「０」が保持され、スレーブ機器３−２のTx_numに「１」が保持され、スレーブ機器３−３のTx_numに「２」が保持され、スレーブ機器３−４のTx_numに「２」が保持される。
【００３９】
次に、b_ptrに１が加算されb_ptrが「３」になると、図４（ｄ）に示すように、スレーブ機器３−１におけるシリアル番号のビット値（最下位ビットから３つ上位のビット値）は「０」であるため、スレーブ機器３−１のkensa_numにTx_num「０」がセットされ、スレーブ機器３−２におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−２のkensa_numにTx_num「１」＋p_count「３」がセットされ、スレーブ機器３−３におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−３のkensa_numにTx_num「２」がセットされ、スレーブ機器３−４におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−４のkensa_numにTx_num「２」がセットされる。そのため、「０」〜「５」の各タイムスロット（前回のp_count「３」の２倍のタイムスロット）のうち、「０」のタイムスロットにおいてスレーブ機器３−１からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「２」のタイムスロットにおいてスレーブ機器３−３及び３−４からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓがそれぞれ出力されバス４の信号レベルがローレベルになり、「４」のタイムスロットにおいてスレーブ機器３−２からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになる。すなわち、スレーブ機器３−１は、「０」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−３及び３−４は、それぞれ、「２」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−２は、「４」のタイムスロットにおいてパルスをバス４へ送出する。従って、スレーブ機器３−１〜３−４の各p_countに「３」が保持され、スレーブ機器３−１のTx_numに「０」が保持され、スレーブ機器３−２のTx_numに「２」が保持され、スレーブ機器３−３のTx_numに「１」が保持され、スレーブ機器３−４のTx_numに「１」が保持される。
【００４０】
次に、b_ptrに１が加算されb_ptrが「４」になると、図４（ｅ）に示すように、スレーブ機器３−１におけるシリアル番号のビット値（最下位ビットから４つ上位のビット値）は「０」であるため、スレーブ機器３−１のkensa_numにTx_num「０」がセットされ、スレーブ機器３−２におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−２のkensa_numにTx_num「２」がセットされ、スレーブ機器３−３におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−３のkensa_numにTx_num「１」がセットされ、スレーブ機器３−４におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−４のkensa_numにTx_num「１」がセットされる。そのため、「０」〜「５」の各タイムスロット（前回のp_count「３」の２倍のタイムスロット）のうち、「０」のタイムスロットにおいてスレーブ機器３−１からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「１」のタイムスロットにおいてスレーブ機器３−３及び３−４からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓがそれぞれ出力されバス４の信号レベルがローレベルになり、「２」のタイムスロットにおいてスレーブ機器３−２からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになる。すなわち、スレーブ機器３−１は、「０」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−３及び３−４は、それぞれ、「１」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−２は、「２」のタイムスロットにおいてパルスをバス４へ送出する。従って、スレーブ機器３−１〜３−４の各p_countに「３」が保持され、スレーブ機器３−１のTx_numに「０」が保持され、スレーブ機器３−２のTx_numに「２」が保持され、スレーブ機器３−３のTx_numに「１」が保持され、スレーブ機器３−４のTx_numに「１」が保持される。
【００４１】
次に、b_ptrに１が加算されb_ptrが「５」になると、図４（ｆ）に示すように、スレーブ機器３−１におけるシリアル番号のビット値（最下位ビットから５つ上位のビット値）は「１」であるため、スレーブ機器３−１のkensa_numにTx_num「０」＋p_count「３」がセットされ、スレーブ機器３−２におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−２のkensa_numにTx_num「２」＋p_count「３」がセットされ、スレーブ機器３−３におけるシリアル番号のビット値は「０」であるため、スレーブ機器３−３のkensa_numにTx_num「１」がセットされ、スレーブ機器３−４におけるシリアル番号のビット値は「１」であるため、スレーブ機器３−４のkensa_numにTx_num「１」＋p_count「３」がセットされる。そのため、「０」〜「５」の各タイムスロット（前回のp_count「３」の２倍のタイムスロット）のうち、「１」のタイムスロットにおいてスレーブ機器３−３からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「３」のタイムスロットにおいてスレーブ機器３−１からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「４」のタイムスロットにおいてスレーブ機器３−４からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになり、「５」のタイムスロットにおいてスレーブ機器３−２からｎｐｎバイポーラトランジスタ２６をオンさせる信号Ｓｓが出力されバス４の信号レベルがローレベルになる。すなわち、スレーブ機器３−３は、「１」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−１は、「３」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−４は、「４」のタイムスロットにおいてパルスをバス４へ送出し、スレーブ機器３−２は、「５」のタイムスロットにおいてパルスをバス４へ送出する。従って、スレーブ機器３−１〜３−４の各p_countに「３」が保持され、スレーブ機器３−１のTx_numに「１」が保持され、スレーブ機器３−２のTx_numに「３」が保持され、スレーブ機器３−３のTx_numに「０」が保持され、スレーブ機器３−４のTx_numに「２」が保持される。
【００４２】
そして、スレーブ機器３−１は、Tx_num「１」を自身の識別情報に設定し、スレーブ機器３−２は、Tx_num「３」を自身の識別情報に設定し、スレーブ機器３−３は、Tx_num「０」を自身の識別情報に設定し、スレーブ機器３−４は、Tx_num「２」を識別情報に設定する。
【００４３】
このように、スレーブ機器３−１〜３−ｎは、それぞれ、スレーブ機器３−１〜３−ｎの全シリアル番号の各最下位ビット値のそれぞれの大きさにおいて、自身のシリアル番号の最下位ビット値の大きさの順位でパルスをバス４に送出した後、１つ上位のビット値が「１」のとき、１つ下位のビットにおける自身のパルス送出順位（Tx_num）と１つ下位のビットにおいてバス４に送出されたパルスの総数（p_count）との加算値をパルス送出順位としてバス４にパルスを送出し、１つ上位のビット値が「０」のとき、１つ下位のビットにおける自身のパルス送出順位（Tx_num）でパルスをバス４に送出することを自身のシリアル番号のビットを１つ上位にする毎に最上位ビットまで繰り返し、最上位ビットにおける自身のパルス送出順位（Tx_num）を識別信号として設定する。これにより、シリアル番号のビットが１つ上位になったときのそのビット値が「１」であるとき、１つ下位ビットのシリアル番号の大きさの順位（Tx_num）に、重み付けとして１つ下位ビットのシリアル番号の大きさの順位の一番大きい数よりも大きい数であるパルス送出総数（p_count）を加算することができるので、スレーブ機器３−１〜３−ｎは、それぞれ、スレーブ機器３−１〜３−ｎの全シリアル番号のそれぞれの大きさにおいて、自身のシリアル番号の大きさの順位を得ることができ、その順位を識別情報として設定することができる。
【００４４】
本実施形態のバスシステム１によれば、自動的に識別情報を設定することができるので、人為的な設定ミスを防止するためにスレーブ機器３−１〜３−ｎを形状や色で区別する必要がなくコストの増大を抑えることができる。また、本実施形態のバスシステム１によれば、シリアル番号のビット数に応じて各シリアル番号の大きさの順位の特定にかかる時間を推測することができるので、識別情報の設定時間を容易に見積もることができる。また、本実施形態のバスシステム１によれば、各シリアル番号の大きさの順位を識別情報として得ているため、容易に、かつ、確実にスレーブ機器３−１〜３−ｎに識別情報を設定することができる。また、本実施形態のバスシステム１によれば、あるスレーブ機器３が故障して新しいスレーブ機器３に取り替える場合においても、各スレーブ機器３が図３に示す識別情報設定処理を行うことにより、新しい識別情報を容易に設定することができる。
【００４５】
図５は、本実施形態のバスシステム１におけるスレーブ機器３の他の動作を説明するためのフローチャートである。
まず、スレーブ機器３は、マスター機器２から送信される識別情報設定信号を受信すると、b_ptr、p_count、Tx_num、及びkensa_numをそれぞれゼロにする（ＳＴ１）。
【００４６】
次に、スレーブ機器３は、自身のシリアル番号においてb_ptrに対応する位のビット値をkensa_numにセットする（ＳＴ２）。例えば、b_ptrが「０」のとき、シリアル番号の最下位ビット値がkensa_numにセットされ、b_ptrが「１」のとき、シリアル番号の最下位ビットから１つ上位のビット値がkensa_numにセットされる。
【００４７】
次に、スレーブ機器３は、ビット検査信号を送出する（ＳＴ３）。
次に、スレーブ機器３は、他のスレーブ機器３と同期がとれたか否かを判断する（ＳＴ４）。
【００４８】
他のスレーブ機器３と同期がとれたと判断すると（ＳＴ４がＹｅｓ）、スレーブ機器３は、kensa_numに対応するタイムスロットにおいてパルスをバス４へ送出した後、全タイムスロットにおいてバス４へ送出されたパルスのカウント値をp_countに保持する（ＳＴ５）。
【００４９】
次に、スレーブ機器３は、p_countが１であるか否かを判断する（ＳＴ６）。
p_countが１であると判断すると、すなわち、スレーブ機器３−１〜３−ｎが全て「０」又は「１」のタイムスロットにおいてパルスをバス４へ送出したとき（ＳＴ６がＹｅｓ）、スレーブ機器３は、b_ptrを検査対象外のb_ptrとして保持し（ＳＴ７）、ＳＴ８に進む。例えば、シリアル番号が「１００００１」のスレーブ機器３−１と、シリアル番号が「１０１０１０」のスレーブ機器３−２と、シリアル番号が「０００１１１」のスレーブ機器３−３と、シリアル番号が「１００１１１」のスレーブ機器３−４とを備えるバスシステム１の場合、b_ptrが「４」のとき、各ビット値は「０」であるため、p_countが１となる。
【００５０】
一方、p_countが１でないと判断すると、すなわち、スレーブ機器３−１〜３−ｎから「０」及び「１」のタイムスロットにおいてそれぞれパルスがバス４へ送出されたとき（ＳＴ６がＮｏ）、スレーブ機器３は、b_ptrに１を加算する（ＳＴ８）。
【００５１】
次に、スレーブ機器３は、b_ptrがシリアル番号の全ビット数よりも大きいか否かを判断する（ＳＴ９）。
b_ptrがシリアル番号の全ビット数よりも大きくないと判断すると（ＳＴ９がＮｏ）、スレーブ機器３は、ＳＴ２に戻る。
【００５２】
一方、b_ptrがシリアル番号の全ビット数よりも大きいと判断すると（ＳＴ９がＹｅｓ）、スレーブ機器３は、b_ptr、p_count、Tx_num、及びkensa_numをそれぞれゼロにする（ＳＴ１０）。
【００５３】
次に、スレーブ機器３は、自身のシリアル番号においてb_ptr「０」に対応する位のビット値（自身のシリアル番号の最下位ビット値）をkensa_numにセットする（ＳＴ１１）。
【００５４】
次に、スレーブ機器３は、他のスレーブ機器３と同期をとるためのビット検査信号（同期信号）を送出する（ＳＴ１２）。
次に、スレーブ機器３は、他のスレーブ機器３と同期がとれたか否かを判断する（ＳＴ１３）。
【００５５】
他のスレーブ機器３と同期がとれたと判断すると（ＳＴ１３がＹｅｓ）、スレーブ機器３は、kensa_numに対応するタイムスロットにおいてパルスをバス４へ送出した後、全タイムスロットにおいてバス４へ送出されたパルスのカウント値をp_countに保持するとともに、全タイムスロットにおける自身のパルスの送出順位をTx_numに保持する（ＳＴ１４）。
【００５６】
次に、スレーブ機器３は、b_ptrに１を加算する（ＳＴ１５）。
次に、スレーブ機器３は、b_ptrがシリアル番号の全ビット数よりも大きいか否かを判断する（ＳＴ１６）。
【００５７】
b_ptrが全シリアル番号のビット数よりも大きくないと判断すると（ＳＴ１６がＮｏ）、スレーブ機器３は、b_ptrが検査対象外のb_ptrであるか否かを判断する（ＳＴ１７）。
b_ptrが検査対象外のb_ptrであると判断すると（ＳＴ１７がＹｅｓ）、スレーブ機器３は、ＳＴ１５に戻る。
【００５８】
一方、b_ptrが検査対象外のb_ptrでないと判断すると（ＳＴ１７がＮｏ）、スレーブ機器３は、シリアル番号のb_ptrに対応する位のビット値が１であるか否かを判断する（Ｓ１８）。
【００５９】
シリアル番号のb_ptrに対応する位のビット値が１であると判断すると（ＳＴ１８がＹｅｓ）、スレーブ機器３は、Tx_num＋p_countをkensa_numにセットし（ＳＴ１９）、Ｓ３に戻る。
【００６０】
一方、シリアル番号のb_ptrに対応する位のビット値が１でないと判断すると（Ｓ１８がＮｏ）、スレーブ機器３は、Tx_numをkensa_numにセットし（ＳＴ２０）、ＳＴ１２に戻る。
【００６１】
また、b_ptrがシリアル番号の全ビット数よりも大きいと判断すると（ＳＴ１６がＹｅｓ）、スレーブ機器３は、そのときのTx_numを識別情報として保持する（ＳＴ２１）。これにより、スレーブ機器３−１〜３−ｎにそれぞれ互いに異なる識別情報が設定される。そして、マスター機器２は、スレーブ機器３−１〜３−ｎからそれぞれ送られてくる信号に付加される識別情報に基づいて、どのスレーブ機器３から送られてきた信号であるかを判断することができる。
【００６２】
このように構成する場合においても、上記実施形態と同様に、コストの増大を抑えるとともに、識別情報の設定時間の見積もりや設定処理が容易で、かつ、確実に複数のスレーブ機器にそれぞれ識別情報を設定することができる。また、このように構成する場合は、予め、スレーブ機器３−１〜３−ｎの各シリアル番号においてある位のビット値が全て「０」又は「１」になるときのb_ptrを検査対象外のb_ptrとして保持しておき、各シリアル番号の大きさの順位を特定する際に、検査対象外のb_ptrに対応するビットにおいてシリアル番号の大きさを特定しないようにしているので、識別信号設定処理にかかる時間を短縮することができる。特に、シリアル番号が「００００００００００００００１０００１」のように「０」又は「１」が続く場合に有効である。
【００６３】
なお、上記実施形態では、図３のＳ３、図５のＳＴ３、又は図５のＳＴ１２において、スレーブ機器３−１〜３−ｎの間で同期をとるためのビット検査信号を送出する構成であるが、図４（ａ）〜図４（ｆ）に示すように、ビット検査信号のパルス幅をそのときのタイムスロットの数に応じて変えるように構成してもよい。
【００６４】
このように構成する場合、スレーブ機器３−１〜３−ｎは、ビット検査信号に基づいて、全てのパルスが出力し終わるのにかかる時間を知ることができるので、必要最低限のタイムスロットを設定することができ、バス４が無駄に使用されることを防ぐことができる。
【００６５】
また、上記実施形態では、図３のＳ７又は図５のＳＴ１６において、b_ptrがシリアル番号の全ビット数よりも大きいと判断したとき、Tx_numを識別情報とする構成であるが、図３のＳ７又は図５のＳＴ１６において、バス４に送出されたパルスの総数（p_count）がバス４に接続されるスレーブ機器３の総数よりも大きいと判断したとき、Tx_numを識別情報とするように構成してもよい。
【００６６】
このように構成する場合は、シリアル番号の全ビットに対して大きさの順位を特定する場合に比べて、識別情報設定処理にかかる時間をさらに短縮することができる。
【符号の説明】
【００６７】
１  バスシステム
２  マスター機器
３−１〜３−ｎ  スレーブ機器
４  バス
【図１】
2010245860.tif 000003
【図２】
2010245860.tif 000004
【図３】
2010245860.tif 000005
【図４】
2010245860.tif 000006
【図５】
2010245860.tif 000007
【図６】
2010245860.tif 000008