JP6927811B2 - 設定装置、デバイス、および設定方法 - Google Patents

設定装置、デバイス、および設定方法 Download PDF

Info

Publication number
JP6927811B2
JP6927811B2 JP2017167801A JP2017167801A JP6927811B2 JP 6927811 B2 JP6927811 B2 JP 6927811B2 JP 2017167801 A JP2017167801 A JP 2017167801A JP 2017167801 A JP2017167801 A JP 2017167801A JP 6927811 B2 JP6927811 B2 JP 6927811B2
Authority
JP
Japan
Prior art keywords
setting
identifier
selection
bus
slave
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.)
Active
Application number
JP2017167801A
Other languages
English (en)
Other versions
JP2019046104A (ja
Inventor
修 白田
修 白田
直樹 尾辻
直樹 尾辻
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.)
Asahi Kasei Microdevices Corp
Original Assignee
Asahi Kasei EMD 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 Asahi Kasei EMD Corp filed Critical Asahi Kasei EMD Corp
Priority to JP2017167801A priority Critical patent/JP6927811B2/ja
Publication of JP2019046104A publication Critical patent/JP2019046104A/ja
Application granted granted Critical
Publication of JP6927811B2 publication Critical patent/JP6927811B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、設定装置、デバイス、および設定方法に関する。
従来、マスタデバイスを複数のスレーブデバイスにバス接続し、マスタデバイスが対象とするスレーブデバイスに固有のデバイス識別子を指定したコマンドを送信して各スレーブデバイスを個別に制御するインターフェイス方式が用いられている。
例えばカメラ等のレンズを各軸方向等の複数のアクチュエータで移動させて制御する手振れ補正機能(OIS:Optical Image Stabilizer)を実行する場合、複数のアクチュエータを駆動する複数の駆動装置(スレーブデバイス)のそれぞれは、制御装置(マスタデバイス)から当該駆動装置に対するデバイス識別子を受信してレンズの目標位置の情報を受け取って、アクチュエータを駆動する。
このようなマスタデバイスと複数のスレーブデバイスとの間の通信のために、各スレーブデバイスを識別するための固有のデバイス識別子を設定する必要がある。従来、チップセレクトピン、チップイネーブルピン、DIP(Dual In−line Package)スイッチ、またはジャンパブロック等のコネクタを利用して、ユーザによりビットをセットして、各スレーブデバイスにデバイス識別子を設定していた。
特許文献1には、スレーブデバイスが、当該スレーブデバイスとマスタデバイスとの間のクロック信号線およびデータ信号線の接続状態(スレーブデバイスがマスタデバイスと順接続または逆接続のいずれであるか)を判別して、接続状態に従って自身のアドレスを切り替えることが記載されている。特許文献2には、スレーブデバイスにおいて、比較器回路の出力する値をアドレスの一部とすることが記載されている。引用文献2において、比較器回路は、スレーブデバイスの出力端子OUTと基準電圧とが入力に接続され、出力端子OUTにVDDが接続されると値1を出力し、GNDが接続されると値0を出力するものである。
特許文献1 特開2017−097787号公報
特許文献2 特開2015−043242号公報
これらのようなデバイス識別子設定のために、チップイネーブルピン等を用いるとピン数が増加して、デバイスコストが増加し、またシステムが複雑になる可能性がある。そこで、複数のスレーブデバイスのそれぞれに対して、固有のデバイス識別子を効率的に設定することが求められる。
上記課題を解決するために、本発明の第1の態様においては、バスに接続された複数のデバイスのそれぞれに対して固有のデバイス識別子を設定する設定装置であって、複数のデバイスを選択待ちモードとする選択動作コマンドを、バスを介して送信する選択動作コマンド送信部と、選択待ちモードの複数のデバイスの中からデバイス識別子を設定する対象デバイスを選択する選択回路と、対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、バスを介して送信する識別子設定コマンド送信部と、を備える設定装置を提供する。
本発明の第2の態様においては、他のデバイスと共にバスに接続され、設定装置により固有のデバイス識別子の設定を受けるデバイスであって、バスに接続されるバスインターフェイスと、バスに接続された複数のデバイスを選択待ちモードとする選択動作コマンドを、バスを介して受信したことに応じて、当該デバイスを選択待ちモードとする選択待ちモード切替部と、選択待ちモードにおいて、デバイス識別子を設定する対象デバイスとして選択されたか否かを検出する選択検出部と、対象デバイスとして選択されている間に、対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドをバスを介して受信したことに応じて、当該デバイスのデバイス識別子を設定する設定部とを備えるデバイスを提供する。
本発明の第3の態様においては、バスに接続された複数のスレーブデバイスのそれぞれに対して固有のデバイス識別子を設定する設定方法であって、マスタデバイスが、複数のスレーブデバイスを選択待ちモードとする選択動作コマンドを、バスを介して送信し、選択回路が、選択待ちモードの複数のスレーブデバイスの中からデバイス識別子を設定する対象デバイスを選択し、マスタデバイスが、対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、バスを介して送信する設定方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係るシステムの構成例を示す。 本実施形態のシステムにおける、マスタデバイス、スレーブデバイス、および選択回路の構成例を示す。 本実施形態における設定方法のフロー図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本実施形態において、複数のスレーブデバイスのそれぞれに対してデバイス識別子を設定する設定方法の説明図である。 本発明の複数の態様が全体的又は部分的に具現化されうるコンピュータ1200の例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るシステム10の構成例を示す。システム10は、マスタデバイス100と、バス110と、バス110を介してマスタデバイス100に接続される複数のスレーブデバイス120−1、120−2、120−3、・・・120−n(以下、単に「複数のスレーブデバイス120」または「スレーブデバイス120」とも呼ぶ)と、選択回路130とを備える。本実施形態において、マスタデバイス100および選択回路130は、複数のスレーブデバイス120を選択待ちモードとしてから対象のスレーブデバイス120を選択して、対象のスレーブデバイス120に固有のデバイス識別子を設定していく設定装置として機能する。
本実施形態において、システム10は、一例として、カメラ等のレンズを各軸方向のアクチュエータによって駆動することにより、手振れ補正およびピント合わせ等を行うレンズ駆動システムである。複数のスレーブデバイス120のそれぞれは、複数のアクチュエータのそれぞれを駆動するために設けられたドライバ回路であってよい。
マスタデバイス100は、一例として、複数のスレーブデバイス120にバス110を介して接続されると共に、選択回路130に接続される。マスタデバイス100は、例えばマイクロコントローラ、プロセッサ、またはこれらを含むコンピュータである。マスタデバイス100は、初期化処理またはパワーオン処理等において、バス110に接続された複数のスレーブデバイス120を個別に識別可能とするために、複数のスレーブデバイス120のそれぞれに固有のデバイス識別子を設定する設定動作を行う。また、マスタデバイス100は、初期化処理等の後の通常動作において、互いに異なるデバイス識別子が設定された複数のスレーブデバイス120のそれぞれを個別に制御して、システム10の目的に沿ったアプリケーション動作である通常動作(すなわち例えばレンズ駆動動作)を行う。
マスタデバイス100は、上記の設定動作および通常動作において、バス110を介してコマンドを対象とするスレーブデバイス120に送信する。また、マスタデバイス100は、上記の設定動作中に選択回路130を制御して、複数のスレーブデバイス120のうちデバイス識別子を設定する対象のスレーブデバイス120を選択させる処理を行わせる。
バス110は、複数のスレーブデバイス120に接続され、スレーブデバイス120とマスタデバイス100との間の通信に用いられる。本実施形態において、バス110は、一例としてI2C(Inter−Integrated Circuit)バスであり、クロック信号を伝送するクロック信号線(SCL)およびデータ信号を伝送するデータ信号線(SDA)を有する。これに代えて、バス110は、他の各種のシリアルバスまたはパラレルバスを用いてもよい。
複数のスレーブデバイス120は、バス110に接続されない選択用端子121−1、121−2、121−3、・・・121−n(以下、単に「選択用端子121」とも呼ぶ)において、制御対象1、2、3、・・・nにそれぞれ接続される。スレーブデバイス120は、デバイス識別子の設定動作および通常動作において、マスタデバイス100からコマンドを受信し、受信したコマンドが当該受信したスレーブデバイス120に既に設定されているデバイス識別子を含む場合には、コマンドに含まれるデータを記憶および/または処理する。複数のスレーブデバイス120は、一例として同一のデバイスであってよく、システム10における使用形態までは考慮せずに製造されるため、例えば全てのスレーブデバイス120が同一のデバイス識別子を初期のデバイス識別子として設定される等、最初からシステム10内においてそれぞれが必ず固有のデバイス識別子を有する状況にはならない。このため、複数のスレーブデバイス120のうちの少なくとも1つは、デバイス識別子の設定動作において、設定対象のデバイスとして選択され、マスタデバイス100からのコマンドに応じて固有のデバイス識別子が設定される。
スレーブデバイス120は、例えばアクチュエータ等の制御対象に接続される出力端子を有し、通常動作において、出力端子を介して制御対象を制御する。また、本実施形態においては、出力端子が選択用端子121を兼ねており、デバイス識別子の設定動作においては、選択用端子121は、複数のスレーブデバイス120のうち設定対象のデバイスを選択するための端子として機能する。
選択回路130は、複数のスレーブデバイス120の選択用端子121にそれぞれ接続される。選択回路130は、デバイス識別子の設定動作において、マスタデバイス100からのコマンドに応じて、複数のスレーブデバイス120の中からデバイス識別子を設定する対象デバイスを選択用端子121を介して選択する。
図2は、本実施形態のシステム10における、マスタデバイス100、スレーブデバイス120、および選択回路130の構成例を示す。図2におけるスレーブデバイス120は、他のスレーブデバイス120と共にバス110に接続されるものであり、図2においては他のスレーブデバイス120は省略する。図2におけるスレーブデバイス120は、図1に示すシステム10の複数のスレーブデバイス120−1、120−2、120−3、・・・120−nのうちのいずれであってもよい。
マスタデバイス100は、設定制御部205と、アプリケーション制御部215とを備える。設定制御部205は、スレーブデバイス120と選択回路130とに接続され、デバイス識別子の設定動作のための各種のコマンドをスレーブデバイス120と選択回路130とに送信する。
設定制御部205は、選択動作コマンド送信部200と、識別子設定コマンド送信部210と、通常動作コマンド送信部220とを有する。選択動作コマンド送信部200は、バス110に接続され、複数のスレーブデバイス120を選択待ちモードとする選択動作コマンドを、バス110を介して複数のスレーブデバイス120に送信する。識別子設定コマンド送信部210は、バス110に接続され、対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、バス110を介して複数のスレーブデバイス120に送信する。通常動作コマンド送信部220は、バス110に接続され、固有のデバイス識別子が設定された対象デバイスを通常動作状態にする通常動作コマンドを、バス110を介して対象デバイスであるスレーブデバイス120に送信する。これらのコマンドは、宛先となるスレーブデバイス120の既に設定されているデバイス識別子を含んでよい。
アプリケーション制御部215は、スレーブデバイス120に接続され、通常動作においてスレーブデバイス120を制御する各種のコマンドを送信する。アプリケーション制御部215は、例えば、手振れ補正機能を実行するカメラ等においてレンズの目標位置等を算出して、スレーブデバイス120に当該目標位置等を示すコマンドを送信し、スレーブデバイス120にアクチュエータ等の制御対象を制御させる。
スレーブデバイス120は、バスインターフェイス230と、識別部240と、記憶部250と、選択待ちモード切替部260と、選択検出部270と、設定部280と、アプリケーション処理部290とを有する。なお、図2は、スレーブデバイス120のデータ端子SDAに接続されるバス110のデータ信号線のみを示し、クロック信号線は省略する。
バスインターフェイス230は、バス110のデータ信号線が接続されたデータ端子SDAおよびクロック端子SCL(不図示)に接続され、デバイス識別子の設定動作および通常動作において、マスタデバイス100との間で送受信されるデータを処理する。バスインターフェイス230は、入力バッファ232と、ノイズ除去フィルタ233と、シリアル/パラレル変換部234と、遅延フィルタ235と、出力バッファ236とを有する。
入力バッファ232は、データ端子SDAに接続され、データ端子SDAで受信したデータをバッファしてノイズ除去フィルタ233に送信する。ノイズ除去フィルタ233は、入力バッファ232に接続される。ノイズ除去フィルタ233は、ローパスフィルタ、ハイパスフィルタ、およびバンドパスフィルタのいずれかでよく、また、これらの組み合わせでもよい。ノイズ除去フィルタ233は、入力バッファ232から受信したデータのノイズを除去して、シリアル/パラレル変換部234に送信する。
シリアル/パラレル変換部234は、ノイズ除去フィルタ233と記憶部250とに接続される。シリアル/パラレル変換部234は、ノイズ除去フィルタ233から受信したシリアルデータをパラレルデータに変換して識別部240に送信する。また、シリアル/パラレル変換部234は、マスタデバイス100に送信するためのパラレルデータを記憶部250から受け取り、シリアルデータに変換して遅延フィルタ235に送信する。
遅延フィルタ235は、シリアル/パラレル変換部234に接続され、マスタデバイス100に送信されるデータを、予め定められた時間遅延させて、出力バッファ236に送信する。遅延フィルタ235は、バス110のクロック信号線SCLを介して入力されるクロックの立ち下がり検出から、データ端子SDAから送信されるデータ信号を遅延させることで、クロックのロー期間中にデータ端子SDAからデータ信号の出力を確実に行うことができる。
出力バッファ236は、遅延フィルタ235に接続され、遅延フィルタ235からのデータをバッファし、バス110を介してマスタデバイス100に送信する。出力バッファ236は、例えば入力されたデータ信号を−1倍して反転増幅する。出力バッファ236は、スイッチに対する出力により、データ端子SDAとグラウンド電位との間を電気的に接続または切断する。例えばデータ端子SDAにプルアップ抵抗を介してハイ電圧が印加されている場合、出力バッファ236からスイッチに対する信号がハイになるとプルアップ抵抗からグラウンド電位へと電流を流して電圧降下させ、データ端子SDAをロー状態とする。また、出力バッファ236からスイッチに対する信号がローになるとプルアップ抵抗からグラウンド電位への電流を遮断し、データ端子SDAをハイ状態とする。これにより、出力バッファ236に入力されるデータ信号の論理と略同一の論理信号が、データ端子SDAから出力される。
識別部240は、バスインターフェイス230と設定部280とに接続される。識別部240は、デバイス識別子の設定動作および通常動作において、バスインターフェイス230からのデータに含まれるデバイス識別子が、当該スレーブデバイス120の既に設定されているデバイス識別子と一致するかを識別する。識別部240は、受信したデータのデバイス識別子が当該スレーブデバイス120のデバイス識別子と一致する場合には、当該デバイス識別子と共に受信した一連のデータを記憶部250に格納する。一方識別部240は、受信したデータのデバイス識別子が当該スレーブデバイス120のデバイス識別子と一致しない場合には、受信した一連のデータを記憶部250に格納せずに破棄等する。識別部240は、識別部240内または記憶部250内に格納されたデバイス識別子を用いて識別を行ってよい。また、識別部240は、デバイス識別子の設定動作において、設定部280により当該識別に用いるデバイス識別子を設定される。
記憶部250は、識別部240に接続される。記憶部250は、例えば揮発性または不揮発性メモリ等であってよい。記憶部250は、マスタデバイス100から識別部240を介して受信したデータおよびマスタデバイス100へ送信されるデータ等を含む各種のデータを格納する。
選択待ちモード切替部260は、記憶部250に接続される。選択待ちモード切替部260は、デバイス識別子の設定動作において、バス110に接続された複数のスレーブデバイス120を選択待ちモードとする選択動作コマンドを、マスタデバイス100からバス110を介して受信したことに応じて、スレーブデバイス120を選択待ちモードとする。選択待ちモード切替部260は、記憶部250に選択動作コマンドが格納されたことに応じて、例えばフラグをセットすることにより、通常動作状態から選択待ちモードに切り替えてよい。
選択検出部270は、選択用端子121に接続される。選択検出部270は、デバイス識別子の設定動作において、スレーブデバイス120が選択待ちモードにおいて、デバイス識別子を設定する対象デバイスとして選択されたか否かを選択用端子121を介して検出し、検出結果を設定部280に送信する。選択検出部270は、例えば、選択用端子121に印加される電圧または選択用端子121で受信する信号に基づいて、対象デバイスとして選択されたか否かを検出する。
設定部280は、記憶部250と選択検出部270と選択待ちモード切替部260とに接続される。設定部280は、デバイス識別子の設定動作において、スレーブデバイス120が対象デバイスとして選択されている間に、対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドをバス110を介して受信したことに応じて、当該スレーブデバイス120のデバイス識別子を設定する。例えば、設定部280は、記憶部250に識別子設定コマンドが格納されたことに応じて、識別部240において既に設定されているデバイス識別子(例えば識別部240または記憶部250に格納されているデバイス識別子)を新たなデバイス識別子で上書きして変更してよい。設定部280は、選択検出部270からの検出結果と選択待ちモード切替部260によるモード切り替え(例えばフラグの値)とに基づいて、選択待ちモードにおいて当該スレーブデバイス120が対象デバイスとして選択されているかを判定してよい。
アプリケーション処理部290は、記憶部250と選択用端子121との間に接続される。アプリケーション処理部290は、通常動作において、記憶部250に格納されたデータを読み出して各種の処理を実行して、選択用端子121を介して信号を出力して制御対象を制御してよい。
図3は、本実施形態において、バス110に接続された複数のスレーブデバイス120のそれぞれに対して固有のデバイス識別子を設定する設定方法を示すフロー図である。
図4〜10は、本実施形態において、バス110に接続された複数のスレーブデバイス120のそれぞれに対して固有のデバイス識別子を設定する設定方法を示す説明図である。
図3のS300では、全てのスレーブデバイス120は、デバイス自体の初期化処理またはパワーオン処理等の後に通常動作状態となり、一例として同一のデバイス識別子を有する状態となる。従って、マスタデバイス100は、複数のスレーブデバイス120のうちの特定のスレーブデバイス120を対象としたコマンドを送信することができない。なお、通常動作状態では、選択回路130は、スレーブデバイス120との間の電気的接続を切断した状態であってよい。例えば図4に示すように、全てのスレーブデバイス120−1、120−2、120−3、・・・120−nは、通常動作状態であり、既に設定されている初期のデバイス識別子がE6hである。
次にS310では、マスタデバイス100は、デバイス識別子E6hを含む選択動作コマンドをバス110を介して複数のスレーブデバイス120−1、120−2、120−3、・・・120−nに送信する。スレーブデバイス120−1、120−2、120−3、・・・120−nは、当該選択動作コマンドを受信して、バスインターフェイス230で処理し、識別部240は、コマンドに含まれるデバイス識別子E6hと既に設定されている初期のデバイス識別子E6hとが一致しているか識別する。識別部240は、デバイス識別子が一致していると識別すると、コマンドに含まれるデータを記憶部250に格納する。選択待ちモード切替部260は、記憶部250に格納されたデータを読み取り、選択動作コマンドが格納されたことを確認するとスレーブデバイス120を選択待ちモードに切り替える。このような選択動作コマンドの送信により、例えば図5に示すように、全てのスレーブデバイス120−1、120−2、120−3、・・・120−nが選択待ちモードに切り替わる。
選択待ちモード切替部260は、フラグを選択待ちモード切替部260内または記憶部250内にセットしてよい(例えば選択待ちモードを示すフラグビット=1)。この際、設定部280は、選択待ちモード切替部260から、選択待ちモードに切り替わったことを示す信号(またはレジスタ/フラグ値)を受信する。
次にS320では、マスタデバイス100が対象デバイスを選択するコマンドを選択回路130に送信し、選択回路130は、選択待ちモードの複数のスレーブデバイス120の中からデバイス識別子を設定する対象デバイスを選択する。マスタデバイス100は、対象デバイスとなるスレーブデバイス120−1を特定するコマンドを選択回路130に送信してよく、または、選択回路130は、選択するコマンドの受信に応じて予め定められた基準(例えば順番等)に従って複数のスレーブデバイス120−1、120−2、120−3、・・・120−nの中から対象デバイスを選択するものであってもよい。
選択回路130は、選択待ちモードの複数のスレーブデバイス120−1、120−2、120−3、・・・120−nのうち対象デバイスとして選択するスレーブデバイス120−1の選択用端子121−1に予め定められた第1の電圧を印加し、他のスレーブデバイス120−2、120−3、・・・120−nの選択用端子121には、第1の電圧とは異なる第2の電圧を印加してよい。選択回路130は、スイッチ等により印加する電圧を切り替えてよい。例えば図6に示すように、選択回路130は、対象デバイスとして選択するスレーブデバイス120−1の選択用端子121に電圧VDD(ハイレベル)を印加し、他のスレーブデバイス120−2、120−3、・・・120−nの選択用端子121には電圧VSS(ローレベル)を印加してよい。
なお、例えば選択用端子121がプルアップまたはプルダウンされている場合には、選択回路130は、対象デバイスの選択用端子121のみに接続して第1の電圧を印加し、他のスレーブデバイス120には接続しないでよい。また、選択回路130は、対象デバイスとして選択されたことを示す信号を、対象デバイスであるスレーブデバイス120−1の選択検出部270に送信してもよい。なお、検査工程においてプローブ等を用いて選択用端子121に電圧を印加する場合等には、選択回路130は、マスタデバイス100に接続されなくてもよい。
選択検出部270は、選択用端子121に印加されている電圧と、予め定められた閾値電圧とを比較して、対象デバイスとして選択されたことを検出する。選択検出部270は、当該スレーブデバイス120−1が対象デバイスとして選択されたことを検出すると、検出結果を設定部280に送信する。例えば、図6においては、選択検出部270は、選択用端子121に印加されている電圧が予め定められた閾値電圧より大きい場合に、対象デバイスとして選択されたことを検出してよく、これによってスレーブデバイス120−1のみが対象デバイスとして選択されたと認識する。なお、選択検出部270は、選択回路130から、対象デバイスとして選択されたことを示す信号を受信したことに応じて、対象デバイスとして選択されたことを検出してもよい。
次にS330では、マスタデバイス100は、デバイス識別子E6hを含む識別子設定コマンドをバス110を介して複数のスレーブデバイス120−1、120−2、120−3、・・・120−nに送信する。当該識別子設定コマンドを受信した複数のスレーブデバイス120−1、120−2、120−3、・・・120−nのうち、選択待ちモード中で、選択検出部270が対象デバイスとして選択されたことを検出したスレーブデバイス120−1の設定部280は、識別部240に設定されている当該スレーブデバイス120−1のデバイス識別子を変更する。対象のスレーブデバイス120−1の識別部240は、例えば図7に示すように、デバイス識別子を18hに変更される。
識別子設定コマンドは、対象デバイスが有する複数のデバイス識別子の候補のうちのいずれかを対象デバイスのデバイス識別子として設定するものであってよい。例えば設定部280は、スレーブデバイス120−1による当該識別子設定コマンドの受信に応じて、複数のデバイス識別子の候補のうち、識別子設定コマンドにより指定された(例えば識別子設定コマンドによりx番目のデバイス識別子の候補を指定される等)デバイス識別子を設定してよく、または、複数のデバイス識別子の候補のうち、予め定められた基準(順番等)に従ってデバイス識別子を設定してよい。複数のデバイス識別子の候補は、識別部240に格納されたものであってよく、または、記憶部250に格納されたものであってもよい。なお、新たなデバイス識別子が設定されたスレーブデバイス120−1は、識別子設定コマンドに対する応答として、当該設定されたデバイス識別子をマスタデバイス100にバス110を介して通知してよい。
また、識別子設定コマンドは、設定用のデバイス識別子を含むものであってよく、設定部280は、受信した当該設定用のデバイス識別子をスレーブデバイス120−1の新たなデバイス識別子として設定してよい。
次にS340では、マスタデバイス100は、デバイス識別子18hを含む通常動作コマンドをバス110を介してスレーブデバイス120−1に送信する。スレーブデバイス120−1の識別部240は、通常動作コマンドに含まれるデバイス識別子18hと変更後のデバイス識別子18hが一致するため、通常動作コマンドのデータを記憶部250に格納する。当該スレーブデバイス120−1の選択待ちモード切替部260は、記憶部250に通常動作コマンドが格納されたことに応じてスレーブデバイス120−1を通常動作状態に切り替える。この場合選択待ちモード切替部260は、モードを示すフラグをリセットして(例えばフラグビット=0)、通常動作状態に切り替わったことを示す信号を設定部280に送信してよい。デバイス識別子がE6hである他のスレーブデバイス120−2、120−3、・・・120−nは、選択待ちモードを維持する。これにより、例えば図8に示すように、デバイス識別子が変更されたスレーブデバイス120−1のみが通常動作状態となる。
次にS350では、マスタデバイス100は、デバイス識別子を設定すべき全てのスレーブデバイス120にデバイス識別子が設定されたかを確認する。
デバイス識別子を設定すべきスレーブデバイス120が残っている場合には、S320に戻り、選択回路130は、第1の対象デバイスであるスレーブデバイス120−1に対してデバイス識別子が設定されたことに応じて、複数のスレーブデバイス120の中から次にデバイス識別子を設定すべき第2の対象デバイスを選択する。例えば選択回路130は、マスタデバイス100から次の対象デバイスを選択するためのコマンドを受信することに応じて、または第1の対象デバイスが通常動作状態に戻ったことに応じて、第2の対象デバイスであるスレーブデバイス120−2を選択してよい。これにより、例えば図9に示すように、選択回路130は、次の対象デバイスであるスレーブデバイス120−2の選択用端子121−2に電圧VDDを印加する。
次にS330では、マスタデバイス100の識別子設定コマンド送信部210は、第2の対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、バス110を介して送信し、スレーブデバイス120−1と同様の方法でデバイス識別子を設定する。そして、S340−S350をスレーブデバイス120−1と同様に行い、S320−S350を繰り返す。これにより、デバイス識別子を設定すべき全てのスレーブデバイス120のそれぞれに固有のデバイス識別子が設定された場合に、S360でデバイス識別子の設定動作を終了する。ここで、最後のスレーブデバイス120−nのデバイス識別子は、他のスレーブデバイス120のデバイス識別子が既に変更されているため、当該最後のスレーブデバイス120−nに固有のものであり、変更されなくてもよい。従って、例えば図10に示すように、スレーブデバイス120のそれぞれに固有のデバイス識別子が設定される。
なお、S340においてマスタデバイス100が通常動作コマンドを送信する代わりに、S330においてデバイス識別子が設定されたスレーブデバイス120は自動的に通常動作状態に戻ってもよい。
また、上記の本実施形態においては、S310で送信される選択動作コマンドおよびS330で送信される識別子設定コマンドは、既に設定されている初期のデバイス識別子を含むことで、識別部240により識別されたが、これに代えて、選択動作コマンドおよび識別子設定コマンドは当該デバイス識別子を含まなくともよい。この場合、選択動作コマンドおよび識別子設定コマンドを受信する、バス110に接続された全てのスレーブデバイス120は、識別部240による識別を行うことなく当該受信したコマンドを記憶部250に格納し、設定部280は、当該スレーブデバイス120が対象デバイスとして選択されている場合に新たなデバイス識別子を設定してよい。これにより、初期のデバイス識別子が同一ではない複数のスレーブデバイス120がバス110に接続されている場合にも、当該複数のスレーブデバイス120に新たなデバイス識別子を効率的に設定可能である。
本実施形態のシステム10により、バス110に接続された同一のデバイス識別子を有する複数のスレーブデバイス120に対して、選択回路130で対象デバイスを選択しながら固有のデバイス識別子を設定することができる。本実施形態のシステム10では、対象デバイスの選択を、バス110が接続される端子とは異なる端子を介して選択回路130により行うことができるため、デバイス識別子の設定のための動作が煩雑とならない。また、本実施形態のシステム10では、デバイス識別子の設定のためのチップイネーブルピン等が不要であるため、チップイネーブルピン等によるシステム全体のコストの増大および実装面積の増大を抑制できる。
図11は、本発明の複数の態様が全体的又は部分的に具現化されうるコンピュータ1200の例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の1又は複数の「部」として機能させ、又は当該オペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。このようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、グラフィックコントローラ1216、及びディスプレイデバイス1218を含み、これらはホストコントローラ1210によって相互に接続される。コンピュータ1200はまた、通信インターフェース1222、ハードディスクドライブ1224、DVD−ROMドライブ1226、及びICカードドライブのような入出力ユニットを含み、これらは入出力コントローラ1220を介してホストコントローラ1210に接続される。コンピュータはまた、ROM1230及びキーボード1242のようなレガシの入出力ユニットを含み、これらは入出力チップ1240を介して入出力コントローラ1220に接続される。
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、これにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又は当該グラフィックコントローラ1216自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示させる。
通信インターフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVD−ROMドライブ1226は、プログラム又はデータをDVD−ROM1201から読み取り、ハードディスクドライブ1224にRAM1214を介してプログラム又はデータを提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
ROM1230は、内部に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
プログラムが、DVD−ROM1201又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース1222に対し、通信処理を命令してよい。通信インターフェース1222は、CPU1212の制御の下、RAM1214、ハードディスクドライブ1224、DVD−ROM1201、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、ハードディスクドライブ1224、DVD−ROMドライブ1226(DVD−ROM1201)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような、様々なタイプの情報が、情報処理されるべく、記録媒体に格納されてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、これにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
以上の説明によるプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、これにより、プログラムをコンピュータ1200にネットワークを介して提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム10、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 システム、100 マスタデバイス、110 バス、120 スレーブデバイス、121 選択用端子、130 選択回路、200 選択動作コマンド送信部、205 設定制御部、210 識別子設定コマンド送信部、215 アプリケーション制御部、220 通常動作コマンド送信部、230 バスインターフェイス、232 入力バッファ、233 ノイズ除去フィルタ、234 シリアル/パラレル変換部、235 遅延フィルタ、236 出力バッファ、240 識別部、250 記憶部、260 選択待ちモード切替部、270 選択検出部、280 設定部、290 アプリケーション処理部、1200 コンピュータ、1201 DVD−ROM、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インターフェース、1224 ハードディスクドライブ、1226 DVD−ROMドライブ、1230 ROM、1240 入出力チップ、1242 キーボード

Claims (9)

  1. バスに接続された複数のデバイスのそれぞれに対して固有のデバイス識別子を設定する設定装置であって、
    前記複数のデバイスを選択待ちモードとする選択動作コマンドを、前記バスを介して送信する選択動作コマンド送信部と、
    前記選択待ちモードの前記複数のデバイスの中からデバイス識別子を設定する対象デバイスを選択する選択回路と、
    前記対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、前記バスを介して送信する識別子設定コマンド送信部と、
    を備える設定装置。
  2. 前記選択回路は、前記選択待ちモードの前記複数のデバイスのうち前記対象デバイスとして選択するデバイスの選択用端子に予め定められた電圧を印加する請求項1に記載の設定装置。
  3. 前記選択用端子は、前記バスに接続されない端子である請求項2に記載の設定装置。
  4. 固有のデバイス識別子が設定された前記対象デバイスを通常動作状態にする通常動作コマンドを、前記バスを介して送信する通常動作コマンド送信部を更に備える請求項1から3のいずれか一項に記載の設定装置。
  5. 前記選択回路は、第1の前記対象デバイスに対してデバイス識別子が設定されたことに応じて、前記複数のデバイスの中から次にデバイス識別子を設定すべき第2の前記対象デバイスを選択し、
    前記識別子設定コマンド送信部は、前記第2の対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、前記バスを介して送信する
    請求項1から4のいずれか一項に記載の設定装置。
  6. 前記識別子設定コマンドは、前記対象デバイスが有する複数のデバイス識別子の候補のうちのいずれかを前記対象デバイスのデバイス識別子として設定する請求項1から5のいずれか一項に記載の設定装置。
  7. 前記複数のデバイスのそれぞれは、前記バスに接続されたスレーブデバイスであり、
    前記選択動作コマンド送信部および前記識別子設定コマンド送信部は、マスタデバイスに設けられる
    請求項1から6のいずれか一項に記載の設定装置。
  8. 他のデバイスと共にバスに接続され、設定装置により固有のデバイス識別子の設定を受けるデバイスであって、
    バスに接続されるバスインターフェイスと、
    バスに接続された複数のデバイスを選択待ちモードとする選択動作コマンドを、前記バスを介して受信したことに応じて、当該デバイスを選択待ちモードとする選択待ちモード切替部と、
    前記選択待ちモードにおいて、デバイス識別子を設定する対象デバイスとして選択されたか否かを検出する選択検出部と、
    前記対象デバイスとして選択されている間に、前記対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを前記バスを介して受信したことに応じて、当該デバイスのデバイス識別子を設定する設定部と
    を備えるデバイス。
  9. バスに接続された複数のスレーブデバイスのそれぞれに対して固有のデバイス識別子を設定する設定方法であって、
    マスタデバイスが、前記複数のスレーブデバイスを選択待ちモードとする選択動作コマンドを、前記バスを介して送信し、
    選択回路が、前記選択待ちモードの前記複数のスレーブデバイスの中からデバイス識別子を設定する対象デバイスを選択し、
    前記マスタデバイスが、前記対象デバイスに固有のデバイス識別子を設定する識別子設定コマンドを、前記バスを介して送信する
    設定方法。
JP2017167801A 2017-08-31 2017-08-31 設定装置、デバイス、および設定方法 Active JP6927811B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017167801A JP6927811B2 (ja) 2017-08-31 2017-08-31 設定装置、デバイス、および設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017167801A JP6927811B2 (ja) 2017-08-31 2017-08-31 設定装置、デバイス、および設定方法

Publications (2)

Publication Number Publication Date
JP2019046104A JP2019046104A (ja) 2019-03-22
JP6927811B2 true JP6927811B2 (ja) 2021-09-01

Family

ID=65816487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017167801A Active JP6927811B2 (ja) 2017-08-31 2017-08-31 設定装置、デバイス、および設定方法

Country Status (1)

Country Link
JP (1) JP6927811B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730251A (en) * 1985-10-28 1988-03-08 International Business Machines Corporation Automatic I/O address assignment
JP2004341894A (ja) * 2003-05-16 2004-12-02 Sony Corp 半導体装置
JP5109597B2 (ja) * 2007-11-02 2012-12-26 横河電機株式会社 データ転送装置及び半導体試験装置
US8461782B2 (en) * 2009-08-27 2013-06-11 Allegro Microsystems, Llc Linear or rotational motor driver identification
JP2013054453A (ja) * 2011-09-01 2013-03-21 Patoraito:Kk デイジーチェーン接続された機器のid設定方法およびシステム機器

Also Published As

Publication number Publication date
JP2019046104A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
CN107423169B (zh) 用于测试高速外围设备互连设备的方法和系统
US10152443B2 (en) System and method for providing personality switching in a solid state drive device
US9256561B2 (en) Communication control apparatus and method of controlling the same
TWI488045B (zh) 內部整合電路與通用串行輸入輸出的自動偵測裝置、系統及其方法
US20180210783A1 (en) Information processing apparatus, control method of the same, and storage medium
US9098640B2 (en) Controller, electronic equipment unit, and USB device control method
US10509750B2 (en) System and method for controlling multi-function pins in management controller stack
CN102272723A (zh) 用于快速启动usb装置的系统、设备及方法
US20090283600A1 (en) Automatic detection of an enabled interface of a card reader
US8954619B1 (en) Memory module communication control
US20170109248A1 (en) Sharing bus port by multiple bus hosts
US9779047B2 (en) Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems
CN109473081A (zh) 一种接口电路、显示方法及显示设备
JPWO2010010633A1 (ja) 機能拡張装置、情報処理装置、情報処理システム、制御方法およびプログラム
US10509759B2 (en) Multiple storage devices implemented using a common connector
US20160350024A1 (en) Integrated circuit chip and method therefor
CN104731577A (zh) 多系统和启动所述多系统的方法
JP6927811B2 (ja) 設定装置、デバイス、および設定方法
JP5651622B2 (ja) データ伝送装置、データ伝送方法、及びプログラム
US20110270814A1 (en) Expanding Functionality Of One Or More Hard Drive Bays In A Computing System
CN107818061B (zh) 关联外围设备的数据总线和管理总线
JP6991016B2 (ja) デバイス、システム、設定方法、およびプログラム
JP2015049612A (ja) Usbホスト装置、及びusbホスト装置用のプログラム
US9128873B2 (en) Memory bus attached input/output (‘I/O’) subsystem management in a computing system
US9632805B2 (en) Data storage device and error correction method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210727

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210805

R150 Certificate of patent or registration of utility model

Ref document number: 6927811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150