(57)【要約】【課題】ＬＳＩ個別ＩＤ設定装置において、デバイス識別子を高速かつ確実に設定する。【解決手段】複数のＬＳＩが個別ＩＤ演算回路を有し、前記個別ＩＤ演算回路が、スタートパルスとエンドパルスの間隔で個別ＩＤを指定する個別ＩＤ付与トークン信号（ＩＤＴ信号）をデイジーチェーンの上流から下流のＬＳＩの前記個別ＩＤ演算回路に順次に送信し、前記個別ＩＤ演算回路は、上流から受信した前記スタートパルスとエンドパルスの間隔を１クロックずつ増したＩＤＴ信号を下流に送信し、前記エンドパルスを上流から受信する前にデイジーチェーンの下流にスタートパルスを送信し、一方、上流から受信したスタートパルスとエンドパルスの間隔で指定される個別ＩＤを各ＬＳＩの個別ＩＤとしてレジスタに記憶するＬＳＩ個別ＩＤ設定方法を用いる。【選択図】図２
2010277137.tif 000002
【特許請求の範囲】
【請求項１】
複数のＬＳＩが個別ＩＤ演算回路を有し、前記個別ＩＤ演算回路が、スタートパルスとエンドパルスの間隔で個別ＩＤを指定する個別ＩＤ付与トークン信号（ＩＤＴ信号）をデイジーチェーンの上流から下流のＬＳＩの前記個別ＩＤ演算回路に順次に送信し、前記個別ＩＤ演算回路は、デイジーチェーンの上流から受信した前記ＩＤＴ信号のスタートパルスとエンドパルスの間隔を１クロックずつ増したＩＤＴ信号を下流の個別ＩＤ演算回路に送信し、前記ＩＤＴ信号のエンドパルスを上流から受信する前にデイジーチェーンの下流にＩＤＴ信号のスタートパルスを送信し、一方、上流から受信したＩＤＴ信号のスタートパルスとエンドパルスの間隔で指定される個別ＩＤを各ＬＳＩの個別ＩＤとしてレジスタに記憶することを特徴とするＬＳＩ個別ＩＤ設定方法。
【請求項２】
請求項１記載のＬＳＩ個別ＩＤ設定方法において、前記デイジーチェーンの最上流のＬＳＩが前記個別ＩＤ演算回路を有し、最上流の個別ＩＤ演算回路が下流の個別ＩＤ演算回路に前記ＩＤＴ信号を送信したことにより最下流のＬＳＩの個別ＩＤ演算回路が作成したＩＤＴ信号を前記最上流の個別ＩＤ演算回路に送信し、前記最上流の個別ＩＤ演算回路は、最下流の個別ＩＤ演算回路からのＩＤＴ信号のエンドパルスを前記ＩＤＴ信号を送信した時点から予め設定された時間以内に受信しなかった場合に、再度前記ＩＤＴ信号を、前記デイジーチェーンの下流の前記個別ＩＤ演算回路に送信することを特徴とするＬＳＩ個別ＩＤ設定方法。
【請求項３】
複数のＬＳＩが個別ＩＤ演算回路を有し、前記個別ＩＤ演算回路が、スタートパルスとエンドパルスの間隔で個別ＩＤを指定する個別ＩＤ付与トークン信号（ＩＤＴ信号）をデイジーチェーンの上流から下流のＬＳＩの前記個別ＩＤ演算回路に順次に送信し、前記個別ＩＤ演算回路は、デイジーチェーンの上流から受信した前記ＩＤＴ信号のスタートパルスとエンドパルスの間隔を１クロックずつ増したＩＤＴ信号を下流の個別ＩＤ演算回路に送信する出力生成回路を有し、前記出力生成回路が、前記ＩＤＴ信号のエンドパルスを上流から受信する前にデイジーチェーンの下流にＩＤＴ信号のスタートパルスを送信し、一方、上流から受信したＩＤＴ信号のスタートパルスとエンドパルスの間隔で指定される個別ＩＤを各ＬＳＩの個別ＩＤとしてレジスタに記憶するＩＤ作成回路を有することを特徴とするＬＳＩ個別ＩＤ設定装置。
【請求項４】
請求項３記載のＬＳＩ個別ＩＤ設定装置において、前記デイジーチェーンの最上流のＬＳＩが前記個別ＩＤ演算回路を有し、最上流の個別ＩＤ演算回路が下流の個別ＩＤ演算回路に前記ＩＤＴ信号を送信したことにより最下流のＬＳＩの個別ＩＤ演算回路が作成したＩＤＴ信号を前記最上流の個別ＩＤ演算回路に送信し、前記最上流の個別ＩＤ演算回路は、前記ＩＤＴ信号を送信した後に、最下流の個別ＩＤ演算回路からのＩＤＴ信号のエンドパルスを受信するまでの時間（待機時間）を計数するタイムアウト演算回路を有し、前記待機時間が予め設定された時間を越えた場合に、再度前記ＩＤＴ信号を、前記デイジーチェーンの下流の前記個別ＩＤ演算回路に送信することを特徴とするＬＳＩ個別ＩＤ設定装置。
【請求項５】
請求項３又は４に記載のＬＳＩ個別ＩＤ設定装置において、前記個別ＩＤ演算回路が、ＬＳＩ個別ＩＤ設定装置のアドレスバス及びデータバスの動作と独立に動作して前記レジスタに記憶した個別ＩＤの値を検証することを特徴とするＬＳＩ個別ＩＤ設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ個別ＩＤ設定方法に関し、特に、デイジーチェーンを介して、ＬＳＩの個別ＩＤを設定する方法および装置に関するものである。
【背景技術】
【０００２】
従来、回路、装置、システムに含まれる種々の集積回路、ユニット、機器等のデバイス間で通信を行うため、それらデバイスの識別法として種々の方法がある。その１つの識別方法として、特許文献１では、マスタ・デバイスと複数のスレーブ・デバイスを互いに接続するバスを有し、それらのデバイスを接続するデイジーチェーン接続線を介して、スレーブ・デバイスに対し、当該デバイスを識別するためのデバイス識別子（個別ＩＤ）を割り当てる技術が提案されていた。
【０００３】
すなわち、特許文献１の技術では、デイジーチェーン接続線を介してスレーブ・デバイスに対しデバイス識別子（個別ＩＤ）を割り当て、その際に、デイジーチェーンの最上流のデバイスからデバイス識別子（個別ＩＤ）付与トークンを送付し、下流のデバイスに２クロックずつ遅らせたデバイス識別子（個別ＩＤ）付与トークンを送付する。そして、各下流のデバイスは、デバイス識別子（個別ＩＤ）付与トークンが到着する時間とデバイス識別子（個別ＩＤ）付与開始コマンドの時間差を測定するためのクロックカウント回路を有し、その時間差に基づいて、各デバイスのデバイス識別子（個別ＩＤ）を決定する技術が提案されていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１９６２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術では、スレーブ・デバイスに対しデバイス識別子、すなわち個別ＩＤ（ＬＩＤ）を割り当てるために、デイジーチェーン接続線とともに、デバイス識別子（個別ＩＤ）付与開始コマンドを与える配線を必要とするので、配線の本数が多い欠点があった。また、最上流のデバイスから下流のデバイスまでデイジーチェーンでデバイス識別子（個別ＩＤ）付与トークンを送付する過程でデバイス識別子（個別ＩＤ）付与トークンが遅延した場合に、設計した値と相違する値のデバイス識別子（個別ＩＤ）がデバイスに設定されてしまい、個別ＩＤの設定の確実性が劣る問題があった。そのため、本発明は、これらの問題を解決し、ＬＳＩに高速かつ確実に個別ＩＤを設定することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、複数のＬＳＩが個別ＩＤ演算回路を有し、前記個別ＩＤ演算回路が、スタートパルスとエンドパルスの間隔で個別ＩＤを指定する個別ＩＤ付与トークン信号（ＩＤＴ信号）をデイジーチェーンの上流から下流のＬＳＩの前記個別ＩＤ演算回路に順次に送信し、前記個別ＩＤ演算回路は、デイジーチェーンの上流から受信した前記ＩＤＴ信号のスタートパルスとエンドパルスの間隔を１クロックずつ増したＩＤＴ信号を下流の個別ＩＤ演算回路に送信し、前記ＩＤＴ信号のエンドパルスを上流から受信する前にデイジーチェーンの下流にＩＤＴ信号のスタートパルスを送信し、一方、上流から受信したＩＤＴ信号のスタートパルスとエンドパルスの間隔で指定される個別ＩＤを各ＬＳＩの個別ＩＤとしてレジスタに記憶することを特徴とするＬＳＩ個別ＩＤ
設定方法である。
【０００７】
また、本発明は、上記のＬＳＩ個別ＩＤ設定方法において、上記デイジーチェーンの最上流のＬＳＩが上記個別ＩＤ演算回路を有し、最上流の個別ＩＤ演算回路が下流の個別ＩＤ演算回路に上記ＩＤＴ信号を送信したことにより最下流のＬＳＩの個別ＩＤ演算回路が作成したＩＤＴ信号を上記最上流の個別ＩＤ演算回路に送信し、上記最上流の個別ＩＤ演算回路は、最下流の個別ＩＤ演算回路からのＩＤＴ信号のエンドパルスを上記ＩＤＴ信号を送信した時点から予め設定された時間以内に受信しなかった場合に、再度上記ＩＤＴ信号を、上記デイジーチェーンの下流の上記個別ＩＤ演算回路に送信することを特徴とするＬＳＩ個別ＩＤ設定方法である。
【０００８】
また、本発明は、複数のＬＳＩが個別ＩＤ演算回路を有し、前記個別ＩＤ演算回路が、スタートパルスとエンドパルスの間隔で個別ＩＤを指定する個別ＩＤ付与トークン信号（ＩＤＴ信号）をデイジーチェーンの上流から下流のＬＳＩの前記個別ＩＤ演算回路に順次に送信し、前記個別ＩＤ演算回路は、デイジーチェーンの上流から受信した前記ＩＤＴ信号のスタートパルスとエンドパルスの間隔を１クロックずつ増したＩＤＴ信号を下流の個別ＩＤ演算回路に送信する出力生成回路を有し、前記出力生成回路が、前記ＩＤＴ信号のエンドパルスを上流から受信する前にデイジーチェーンの下流にＩＤＴ信号のスタートパルスを送信し、一方、上流から受信したＩＤＴ信号のスタートパルスとエンドパルスの間隔で指定される個別ＩＤを各ＬＳＩの個別ＩＤとしてレジスタに記憶するＩＤ作成回路を有することを特徴とするＬＳＩ個別ＩＤ設定装置である。
【０００９】
本発明は、スレーブ・デバイスの個別ＩＤ演算回路がＩＤＴ信号のスタートパルスを受信後、エンドパルスＥＮＤを受信する前に、次段のスレーブ・デバイスの個別ＩＤ演算回路へＩＤＴ信号のスタートパルスを送信することにより、ＩＤＴ信号同士のスタートパルスとエンドパルスまでのタイミングをオーバラップさせることで、全スレーブ・デバイスの個別ＩＤの設定時間を短縮できる。
【００１０】
また、本発明は、上記のＬＳＩ個別ＩＤ設定装置において、上記デイジーチェーンの最上流のＬＳＩが上記個別ＩＤ演算回路を有し、最上流の個別ＩＤ演算回路が下流の個別ＩＤ演算回路に上記ＩＤＴ信号を送信したことにより最下流のＬＳＩの個別ＩＤ演算回路が作成したＩＤＴ信号を上記最上流の個別ＩＤ演算回路に送信し、上記最上流の個別ＩＤ演算回路は、上記ＩＤＴ信号を送信した後に、最下流の個別ＩＤ演算回路からのＩＤＴ信号のエンドパルスを受信するまでの時間（待機時間）を計数するタイムアウト演算回路を有し、前記待機時間が予め設定された時間を越えた場合に、再度上記ＩＤＴ信号を、上記デイジーチェーンの下流の上記個別ＩＤ演算回路に送信することを特徴とするＬＳＩ個別ＩＤ設定装置である。
【００１１】
また、本発明は、上記のＬＳＩ個別ＩＤ設定装置において、上記個別ＩＤ演算回路が、ＬＳＩ個別ＩＤ設定装置のアドレスバス及びデータバスの動作と独立に動作して上記レジスタに記憶した個別ＩＤの値を検証することを特徴とするＬＳＩ個別ＩＤ設定装置である。
【発明の効果】
【００１２】
本発明は、複数のＬＳＩを並列に使用する回路構成において、各ＬＳＩに個別ＩＤ演算回路を設置する。その個別ＩＤ演算回路がデイジーチェーンを介して、スタートパルスとエンドパルスの間隔で個別ＩＤ（ＬＩＤ）を指定する個別ＩＤ付与トークン信号（ＩＤＴ信号）を順次に上流から下流のＬＳＩに送信し、上流から受信したＩＤＴ信号に対して下流に送信するＩＤＴ信号のスタートパルスとエンドパルスの間隔を１クロックずつ増して送信する。本発明は、個別ＩＤ演算回路がスタートパルスを受信した際に、エンドパルス
を受信する前に直ぐにＩＤＴ信号のスタートパルスを次段のスレーブ・デバイスへ送信することにより、ＩＤＴ信号の送受信をオーバラップさせ全ＬＳＩの個別ＩＤの設定時間を短縮できる効果がある。特に、本発明は、スタートパルスとエンドパルスの間隔で個別ＩＤを指定するので、設定誤りを少なくして確実に個別ＩＤを設定できる効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態のＬＳＩ個別ＩＤ設定装置のブロック図である。
【図２】本発明の個別ＩＤ演算回路の回路図である。
【図３】本発明の個別ＩＤ付与トークン信号（ＩＤＴ信号）のタイミングチャートである。
【図４】本発明の個別ＩＤ演算回路のスレーブ動作モードの動作のフローチャートである。
【図５】本発明の個別ＩＤレジスタのビット構成を示す図である。
【図６】本発明のシステム状態レジスタ（ＳＴＡＴＵＳレジスタ）のビット構成を示す図である。
【図７】本発明の各スレーブ・デバイスのＩＤＴ信号のタイミングチャートである。
【図８】本発明の第２の実施形態のＬＳＩ個別ＩＤ設定装置のブロック図である。
【図９】本発明の個別ＩＤ演算回路のマスタ動作モードの動作のフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明の実施形態について、図面を参照して詳細に説明する。
＜第１の実施形態＞
図１から図７を参照して第１の実施形態を説明する。図１には第１の実施形態の通信システムを示す。この通信システムは、図１のように、マイクロプロセッサ（ＭＰＵ）やデジタル・シグナル・プロセッサ（ＤＳＰ）等のマスタ・デバイス１と、記憶回路やデジタル−アナログ変換器（ＤＡＣ）やアナログ−デジタル変換器（ＡＤＣ）やコーデック（ＣＯＤＥＣ）のようなＩＮ／ＯＵＴデバイスやＰＬＬ等のＬＳＩのスレーブ・デバイス２−１〜２−４を備えている。スレーブ・デバイス２−１〜２−４には個別ＩＤ演算回路３を備える。
【００１５】
マスタ・デバイス１とスレーブ・デバイス２−１〜２−４の各々は、バス４に接続されている。また、マスタ・デバイス１とスレーブ・デバイス２−１〜２−４を連鎖するデイジーチェーン接続線５を備えている。このデイジーチェーン接続線５によって、マスタ・デバイス１と、スレーブ・デバイス２−１〜２−４の備える個別ＩＤ演算回路３をデイジーチェーン形式で接続する。
【００１６】
図１に示した通信システムにおいては、マスタ・デバイス１と各スレーブ・デバイス２−１〜２−４との間におけるコマンド等の制御信号およびデータは、バス４を介して伝送される。このバス４は、パラレルバスで構成する。一方、各スレーブ・デバイス２−１〜２−４の識別子、すなわち個別ＩＤ（ＬＩＤ）は、予め、デイジーチェーンを用いたシリアルデータの伝送により、個別ＩＤ演算回路３に自動的に付与される。すなわち、スレーブ・デバイス２−１〜２−４の各々のデバイス識別子、すなわち個別ＩＤ（ＬＩＤ）は、デイジーチェーン接続線５を介して、シリアルデータである個別ＩＤ付与トークン信号（ＩＤＴ信号）をマスタ・デバイス１から、スレーブ・デバイスの個別ＩＤ演算回路３に伝達させる。
【００１７】
個別ＩＤ演算回路３は、デイジーチェーン接続線５にＩＤトークン入力端子ＲＩＤＸを接続させ、その端子から、個別ＩＤ付与トークン信号（ＩＤＴ信号）を受信して自己のデバイスの個別ＩＤとしてレジスタ６−１の個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤに記憶する。そして、個別ＩＤ演算回路３は、その個別ＩＤの番号を１つ増した出力用の個別ＩＤ付与トークン信号（ＩＤＴ信号）を作成してＩＤトークン出力端子ＴＩＤＸから出力し、デイジーチェーン接続線５によって次段のスレーブ・デバイスの個別ＩＤ演算回路３のＩＤトークン入力端子ＲＩＤＸに送信する。
【００１８】
（個別ＩＤ演算回路）
以下、図２を参照して、個別ＩＤ演算回路３を説明する。個別ＩＤ演算回路３は、マスタ動作モードとスレーブ動作モードとを切り替えて用いることができる機能を持たせ、両動作モードの切り替えは、マスタ／スレーブ選択端子（Ｍ／Ｓ）に入力する電位で切り替える。マスタ／スレーブ選択端子（Ｍ／Ｓ）を電源電位に接続し値１に設定することでマスタ動作モードで動作させ、グラウンド電位に接続し値０に設定することでスレーブ動作モードで動作させる。この個別ＩＤ演算回路３をマイクロプロセッサ（ＭＰＵ）やデジタル・シグナル・プロセッサ（ＤＳＰ）等のＬＳＩに組み込んで、マスタ動作モードとスレーブ動作モードとを切り替えることで、そのＬＳＩをマスタ・デバイス１あるいはスレーブ・デバイス２−１〜２−４に切り替えて使用することができる。第１の実施形態の図１の通信システムでは、スレーブ・デバイス２−１〜２−４の備える個別ＩＤ演算回路３は、そのマスタ／スレーブ選択端子（Ｍ／Ｓ）を接地し、スレーブ動作モードで動作させる。また、この個別ＩＤ演算回路３は、初期化入力端子ＩＮＩＴ＿Ｂで初期化され、また、リセット端子ＲＳＴ＿Ｂから信号でリセットする。
【００１９】
以下、図１の通信システムにおいて、個別ＩＤ演算回路３が、デイジーチェーンを用いて個別ＩＤ（ＬＩＤ）（またはデバイス番号）を作成する動作を図２から図６を用いて説明する。個別ＩＤ演算回路３は、図２のように通信システムのクロック発生回路から供給される同期クロック信号（ＣＬＫ）に接続するクロック入力端子ＣＬＫを有する。そのクロック入力端子ＣＬＫは制御回路３６に接続して個別ＩＤ演算回路３を動作させるようにする。そして、デイジーチェーン接続線５には、図３のタイミングチャートに示すようなシリアルなデータである個別ＩＤ付与トークン信号（ＩＤＴ信号）を伝送させる。すなわち、ＩＤＴ信号は、同期クロック信号（ＣＬＫ）の２クロックにわたるスタートパルスＳＴＡＲＴから始まり、２クロックにわたるエンドパルスＥＮＤで終了する２つのパルスから成る信号で形成する。このスタートパルスＳＴＡＲＴからエンドパルスＥＮＤまでの間の時間のクロック（ＣＬＫ）数を個別ＩＤ（ＬＩＤ）としてレジスタ６−１内の個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤに記憶する。
【００２０】
（個別ＩＤ受信処理）
図１のマスタ・デバイス１のＩＯポートにデイジーチェーン接続線５を接続し、それを最初のスレーブ・デバイス２−１の個別ＩＤ演算回路３のＩＤトークン入力端子ＲＩＤＸに接続し、そのデイジーチェーン接続線５に個別ＩＤ付与トークン信号（ＩＤＴ信号）を伝送させる。スレーブ・デバイス２−１の個別ＩＤ演算回路３は、図４のフローチャートに示すように、ＩＤＴ信号のスタートパルスＳＴＡＲＴを入力処理回路３１がＩＤトークン入力端子ＲＩＤＸから受け取るまで待機して、受け取ったＩＤＴ信号をＩＤ作成回路３２と、出力生成回路３３と、レジスタ６−１及び６−２とタイムアウト演算回路３５に渡して処理させる。
【００２１】
ＩＤ作成回路３２は、入力処理回路３１からＩＤＴ信号を受け取り、図４のフローチャートに示すように、そのスタートパルスＳＴＡＲＴからエンドパルスＥＮＤを受信するまでの間の時間をクロック（ＣＬＫ）数で計数する。図４に示すように、予めスレーブ・タイムアウトリミットレジスタＲ＿ＳＳＣＬに書き込まれたタイムアウト限界数以内の時間で（タイムアウトする以前に）、入力処理回路３１がエンドパルスＥＮＤを受信した場合は、ＩＤ作成回路３２が以下の処理を行う。すなわち、ＩＤ作成回路３２が個別ＩＤ付与トークン信号（ＩＤＴ信号）のスタートパルスＳＴＡＲＴからエンドパルスＥＮＤまでの間のクロック（ＣＬＫ）数の計数値を、個別ＩＤ（ＬＩＤ）として個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤに記憶させる。個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤのビット構成を図５に示す。スレーブ・デバイス２−１はローカルデバイス指定回路７を有し、ローカルデバイス指定回路７には個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤの出力端子とバス４とを接続し、個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤの値のスレーブ・デバイス２−１自身の個別ＩＤ（ＬＩＤ）と、バス４が指令する個別ＩＤ（ＬＩＤ）とを比較し、両者が一致する場合にアクティブ端子ＡＣＴの電位をハイレベル（値１）にしてスレーブ・デバイス２−１の制御回路８を動作させる。
【００２２】
ＩＤ作成回路３２は、入力処理回路３１から個別ＩＤ付与トークン信号（ＩＤＴ信号）のスタートパルスＳＴＡＲＴを受け取った際に、レジスタ６−１内のスタートパルス検出レジスタＰ＿ＳＴＲを設定し、その出力端子からパルス信号を出力する。また、入力処理回路３１から個別ＩＤ付与トークン信号（ＩＤＴ信号）のエンドパルスＥＮＤを受け取った際に、レジスタ６−１内のエンドパルス検出レジスタＰ＿ＥＮＤを設定し、その出力端子からパルス信号を出力する。
【００２３】
（個別ＩＤ送信処理）
図４のフローチャートのように、出力生成回路３３は、入力処理回路３１から個別ＩＤ付与トークン信号（ＩＤＴ信号）のスタートパルスＳＴＡＲＴを受け取った際に、ＩＤＴ信号のエンドパルスＥＮＤの受信を待たずに、出力処理回路３４にＩＤトークン出力端子ＴＩＤＸから、出力用ＩＤＴ信号のスタートパルスＳＴＡＲＴを出力させる。そのスタートパルスＳＴＡＲＴだけの出力用ＩＤＴ信号を、次段のスレーブ・デバイス２−２の個別ＩＤ演算回路３が、ＩＤトークン入力端子ＲＩＤＸから受信する。すなわち、図７のタイミングチャートに示すように、スレーブ・デバイス２−１の個別ＩＤ演算回路３がＩＤＴ信号のスタートパルスを受信後、エンドパルスＥＮＤを受信する前に、次段のスレーブ・デバイス２−２の個別ＩＤ演算回路３へＩＤＴ信号のスタートパルスを送信する。これにより、図７のように、スタートパルスＳＴＡＲＴとエンドパルスＥＮＤまでの各ＩＤＴ信号のタイミングをオーバラップさせ、個別ＩＤ（ＬＩＤ）の設定時間を短縮できる効果がある。
【００２４】
次に、マスタ・デバイス１から個別ＩＤ演算回路３が出力用ＩＤＴ信号のエンドパルスＥＮＤを受信する。エンドパルスＥＮＤを受信した個別ＩＤ演算回路３の出力生成回路３３は、エンドパルスＥＮＤの受信時点から１クロック（ＣＬＫ）分だけ待ってから、出力用ＩＤＴ信号のエンドパルスＥＮＤを作成する。そして、出力処理回路３４が、そのエンドパルスＥＮＤの出力用ＩＤＴ信号をＩＤトークン出力端子ＴＩＤＸから出力する。そのエンドパルスＥＮＤの出力用ＩＤＴ信号を、次段のスレーブ・デバイス２−２が、ＩＤトークン入力端子ＲＩＤＸから受信する。出力生成回路３３がＩＤＴ信号のエンドパルスＥＮＤを作成する際に、図６に示すＳＴＡＴＵＳレジスタＲ＿ＳＴＡＴＵＳのＥＴＯビットの値を０に設定しつつ、個別ＩＤ演算回路３を初期状態に復帰させ、入力処理回路３１が新たなＩＤＴ信号のスタートパルスＳＴＡＲＴを受け取るまで待機する。
【００２５】
こうして、順次個別ＩＤ（ＬＩＤ）の値を１ずつ増したＩＤＴ信号を個別ＩＤ演算回路３が作成し、デイジーチェーン接続線５で接続する後段のスレーブ・デバイスに送付して、それにより、全てのスレーブ・デバイスの個別ＩＤ演算回路３の個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤに、値を１ずつ増した個別ＩＤ（ＬＩＤ）を設定する。
【００２６】
（ＳＴＡＴＵＳレジスタ設定処理）
また、個別ＩＤ演算回路３は、システムの状態をあらわすデータをレジスタ６−２内のシステム状態レジスタ（ＳＴＡＴＵＳレジスタ）Ｒ＿ＳＴＡＴＵＳに記憶させ、その内容は、スレーブ・デバイスがアクティブの場合にバス４に読み出される。図６にＳＴＡＴＵＳレジスタＲ＿ＳＴＡＴＵＳの１６ビットのビット構成を示す。ＳＴＡＴＵＳレジスタＲ
＿ＳＴＡＴＵＳの１６ビットのうちの１つのＭ／Ｓビットはマスタ／スレーブビットであり、マスタ／スレーブ選択端子（Ｍ／Ｓ）で切り替えられた個別ＩＤ演算回路３の動作モードをあらわす。その値が１の場合はマスタ動作モードをあらわし、値が０の場合はスレーブ動作モードをあらわす。また、ＳＴＡＴＵＳレジスタＲ＿ＳＴＡＴＵＳのＥＴＯビットは、タイムアウトエラービットであり、値が１の場合は、タイムアウトエラーが発生した状態を通知し、値が０の場合は正常動作中の状態を通知する。
【００２７】
（タイムアウトカウント処理）
先ず、バス４から、個別ＩＤ演算回路３のスレーブ・タイムアウトリミットレジスタＲ＿ＳＳＣＬにタイムアウト限界数を書き込む。そして、図４のフローチャートに示すように、入力処理回路３１がＩＤＴ信号のスタートパルスＳＴＡＲＴを受信した際に、タイムアウト演算回路３５がタイムアウトカウント処理を開始する。すなわち、タイムアウト演算回路３５は、入力処理回路３１からＩＤＴ信号を受け取り、ＩＤＴ信号のスタートパルスＳＴＡＲＴからエンドパルスＥＮＤを受信するまでの間の時間をクロック（ＣＬＫ）数で計数する。タイムアウト演算回路３５は、この計数処理により、ＩＤＴ信号のスタートパルスＳＴＡＲＴの後のエンドパルスＥＮＤの到達時間が極めて遅れているかエンドパルスＥＮＤが到達しない場合を検出する。そして、その計数値がスレーブ・タイムアウトリミットレジスタＲ＿ＳＳＣＬに設定したタイムアウト限界数に達したら、タイムアウト演算回路３５が、クロック（ＣＬＫ）数の計数を停止する。次に、タイムアウト演算回路３５がタイムアウト通知レジスタＰ＿ＴＯＥを設定し、その出力端子からパルス信号を出力するとともに、ＳＴＡＴＵＳレジスタＲ＿ＳＴＡＴＵＳのＥＴＯビットの値を１に設定してタイムアウトエラーが発生中の状態をあらわしつつ個別ＩＤ演算回路３を初期状態に復帰させる。
【００２８】
＜第２の実施形態＞
図８と図９を参照して第２の実施形態を説明する。図８には第２の実施形態の通信システムを示す。この通信システムは、図８のように、マスタ・デバイス１にマスタ動作モードで動作する個別ＩＤ演算回路３を備える。すなわち、マスタ・デバイス１の個別ＩＤ演算回路３は、マスタ／スレーブ選択端子（Ｍ／Ｓ）を電源端子のハイレベル（値が１）の電位に設定してマスタ動作モードで動作させる。そして、マスタ・デバイス１に搭載した個別ＩＤ演算回路３が、デイジーチェーン接続線５で接続するスレーブ・デバイス２−１用のＩＤＴ信号を作成して送信し、一方、デイジーチェーンの最終段のスレーブ・デバイス２−４の個別ＩＤ演算回路３からのＩＤＴ信号をマスタ・デバイス１の個別ＩＤ演算回路３が受信するリング構成の通信システムを構成する。
【００２９】
以下、図９のフローチャートにより、図８のリング構成のデイジーチェーンを用いた通信システムのマスタ・デバイス１に搭載する個別ＩＤ演算回路３のマスタ動作モードを説明する。
（個別ＩＤ送信処理）
マスタ動作モードで動作させる個別ＩＤ演算回路３は、図９のフローチャートに示すように、最初に電源を接続するパワーオンリセットの際に、マスタ・デバイス１用の個別ＩＤ（ＬＩＤ）を１に設定し、個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤに記憶させる。それと同時に、出力生成回路３３が次段のスレーブ・デバイス２−１用のＩＤＴ信号のスタートパルスＳＴＡＲＴを作成し、出力処理回路３４のＩＤトークン出力端子ＴＩＤＸからデイジーチェーン接続線５に送信させる。次に、出力生成回路３３が、先に送信したスタートパルスＳＴＡＲＴの後に２クロック（ＣＬＫ）経過後にエンドパルスＥＮＤを作成し、出力処理回路３４のＩＤトークン出力端子ＴＩＤＸからデイジーチェーン接続線５に送信させる。こうして、マスタ・デバイス１用の個別ＩＤ（ＬＩＤ）の値を１つ増した２の値の個別ＩＤ（ＬＩＤ）のＩＤＴ信号をデイジーチェーン接続線７−２で接続した次段のスレーブ・デバイスに送る。
【００３０】
（最終段からのエンドパルス受信待ち処理）
マスタ・デバイス１の個別ＩＤ演算回路３は、ＩＤトークン出力端子ＴＩＤＸからＩＤＴ信号のエンドパルスＥＮＤを出力した後に、デイジーチェーン接続線５で接続した最終段のスレーブ・デバイス２−４からのＩＤＴ信号のエンドパルスＥＮＤを、ＩＤトークン入力端子ＲＩＤＸから受信するまで待機する。この処理のため、予めマスタ・デバイス１の個別ＩＤ演算回路３のレジスタ６−２内のマスタ・タイムアウトリミットレジスタＲ＿ＭＳＣＬにバス４からタイムアウト限界数を書き込む。そして、タイムアウト演算回路３５が、図９のフローチャートに示すように、ＩＤＴ信号のエンドパルスＥＮＤを受信するまでの間の時間をクロック（ＣＬＫ）数で計数する。
【００３１】
タイムアウト演算回路３５は、その計数値がマスタ・タイムアウトリミットレジスタＲ＿ＭＳＣＬが記憶しているタイムアウト限界数に達する場合に、ＩＤＴ信号のエンドパルスＥＮＤの到達時間が極めて遅れているかエンドパルスＥＮＤが到達しない場合を検出する。その場合は、タイムアウト演算回路３５が、クロック（ＣＬＫ）数の計数を停止する。そして、タイムアウト通知レジスタＰ＿ＴＯＥを設定し、その出力端子からパルス信号を出力し、ＳＴＡＴＵＳレジスタＲ＿ＳＴＡＴＵＳのＥＴＯビットの値を１に設定してタイムアウトエラーが発生中の状態をあらわしつつ個別ＩＤ演算回路３を初期状態に復帰させる。その上で再度、次段のスレーブ・デバイス２−１用のＩＤＴ信号のスタートパルスＳＴＡＲＴをＩＤトークン出力端子ＴＩＤＸから送信する処理以降の動作をやり直す。
【００３２】
＜第３の実施形態＞
第３の実施形態は、ＬＳＩ個別ＩＤ設定装置のデバイスの構成は、第２の実施形態と同じ構成であり、マスタ・デバイス１と、スレーブ・デバイス２−１、２−２、２−３、２−４に、個別ＩＤ演算回路３を設置したＬＳＩ個別ＩＤ設定装置を用いる。このＬＳＩ個別ＩＤ設定装置の個別ＩＤ演算回路３は、マスタ・デバイス１と、スレーブ・デバイス２−１、２−２、２−３、２−４のアドレスバスとデータバスの動作と独立に、以下のように個別ＩＤ演算回路３を動作させる。すなわち、スレーブ・デバイス２−１、２−２、２−３、２−４の個別ＩＤ演算回路３は、スレーブ動作モードで動作し、かつ、ＩＤ作成回路３１が、受信したＩＤＴ信号のスタートパルスＳＴＡＲＴからエンドパルスＥＮＤまでの間のクロック（ＣＬＫ）数の計数値を個別ＩＤ（ＬＩＤ）とし、個別ＩＤレジスタＲ＿ＬＯＣ＿ＩＤに記憶している値と比較し、両者の値が一致しなかった場合に、検査結果の可否をＳＴＡＴＵＳレジスタＲ＿ＳＴＡＴＵＳに記憶させる。
【００３３】
第３の実施形態は、これにより、マスタ・デバイス１とスレーブ・デバイス２−１、２−２、２−３、２−４のアドレスバスとデータバスの動作と独立に個別ＩＤ演算回路３を動作させて個別ＩＤ（ＬＩＤ）の値を検証することで、個別ＩＤ（ＬＩＤ）の確実性を増し、システムの安全性を高めることができる効果がある。
【００３４】
本発明のＬＳＩ個別ＩＤ設定方法が設定できるＬＳＩの個別ＩＤ（ＬＩＤ）の数は、利用できるマスタ・デバイス１の端子数に制限されないという利点がある。すなわち、本発明は、デイジーチェーンを利用することで、マスタ・デバイス１の設定端子数の増加を伴わずに、スレーブ・デバイスの数を増加させることができる。特に、本発明は、デバイス識別子（個別ＩＤ）付与開始コマンドを与える配線を用いずに１本のデイジーチェーン接続線５だけでスレーブ・デバイスのＬＳＩの個別ＩＤ（ＬＩＤ）を自動的に設定することができる効果がある。
【００３５】
なお、本発明は、以上の実施形態に限定されず、マスタ・デバイス１に対して２以上のデイジーチェーンの連鎖を接続することも可能である。その場合は、異なるディジーチェーンに連鎖するスレーブ・デバイス群毎に異なるラインアドレスを指定することで異なる
デイジーチェーンのスレーブ・デバイスを区別する。
【産業上の利用可能性】
【００３６】
本発明は、複数のＬＳＩを並列に使用する構成において、各ＬＳＩに個別ＩＤ演算回路を加えることで、各ＬＳＩのデバイス識別子、すなわち個別ＩＤ（ＬＩＤ）を、自動的に短時間に設定する通信システムに利用できる。
【符号の説明】
【００３７】
１・・・マスタ・デバイス
２−１、２−２、２−３、２−４・・・スレーブ・デバイス
３・・・個別ＩＤ演算回路
４・・・バス
５・・・デイジーチェーン接続線
６−１、６−２・・・レジスタ
７・・・ローカルデバイス指定回路
８・・・制御回路
３１・・・入力処理回路
３２・・・ＩＤ作成回路
３３・・・出力生成回路
３４・・・出力処理回路
３５・・・タイムアウト演算回路
３６・・・制御回路
ＡＣＴ・・・アクティブ端子
ＣＬＫ・・・クロック入力端子
ＩＮＩＴ＿Ｂ・・・初期化入力端子
Ｍ／Ｓ・・・マスタ／スレーブ選択端子
Ｐ＿ＳＴＲ・・・スタートパルス検出レジスタ
Ｐ＿ＴＯＥ・・・タイムアウト通知レジスタ
Ｐ＿ＥＮＤ・・・エンドパルス検出レジスタ
ＲＩＤＸ・・・ＩＤトークン入力端子
ＲＳＴ＿Ｂ・・・リセット端子
ＴＩＤＸ・・・ＩＤトークン出力端子
Ｒ＿ＬＯＣ＿ＩＤ・・・個別ＩＤレジスタ
Ｒ＿ＭＳＣＬ・・・マスタ・タイムアウトリミットレジスタ
Ｒ＿ＳＳＣＬ・・・スレーブ・タイムアウトリミットレジスタ
Ｒ＿ＳＴＡＴＵＳ・・・システム状態レジスタ（ＳＴＡＴＵＳレジスタ）
ＩＤＴ・・・個別ＩＤ付与トークン信号
ＬＩＤ・・・個別ＩＤ
ＳＴＡＲＴ・・・スタートパルス
ＥＮＤ・・・エンドパルス
【図１】
2010277137.tif 000003
【図２】
2010277137.tif 000004
【図３】
2010277137.tif 000005
【図４】
2010277137.tif 000006
【図５】
2010277137.tif 000007
【図６】
2010277137.tif 000008
【図７】
2010277137.tif 000009
【図８】
2010277137.tif 000010
【図９】
2010277137.tif 000011