JP2015184935A - I2cバスの調停システムおよび調停方法 - Google Patents
I2cバスの調停システムおよび調停方法 Download PDFInfo
- Publication number
- JP2015184935A JP2015184935A JP2014061059A JP2014061059A JP2015184935A JP 2015184935 A JP2015184935 A JP 2015184935A JP 2014061059 A JP2014061059 A JP 2014061059A JP 2014061059 A JP2014061059 A JP 2014061059A JP 2015184935 A JP2015184935 A JP 2015184935A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- arbitration
- address
- bmc
- command
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 11
- 238000004891 communication Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- PXLYROINIXKFAW-UHFFFAOYSA-N 1-(3-bromophenyl)-2-(methylamino)propan-1-one Chemical compound CNC(C)C(=O)C1=CC=CC(Br)=C1 PXLYROINIXKFAW-UHFFFAOYSA-N 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】 BMCのFWが、Slave address設定用デバイスで、Arbitration必勝データフォーマットでコマンドを発行し優先権を取得するので、セレクタースイッチの使用や、BIOSを改造することなく、大きなコストアップにつながらない、I2Cバスの調停システムを提供する。【解決手段】 BMCとCPUとI2Cバスとを備えるI2Cバスの調停システムにおいて、I2Cバスに接続され、所定のアドレスを設定するアドレス設定部と、BMCに備えられ、I2Cバスを制御する制御部とを有し、制御部は、アドレス設定部を制御して所定のコマンドを出力させる。【選択図】 図1
Description
本発明は、I2C(Inter−Integrated Circuit)バスの順序制御を可能とする調停システムに関し、特に、I2Cバスの優先権を必ず得られる調停システムに関する。
サーバは、CPU以外にBMC(Base Management Controller)と呼ばれるコントローラを搭載し、サーバを構成するメモリやチップ、ファンなどの各モジュールの初期化や状態監視をすることにより、高度な品質や信頼性を実現している。
BMC上で動作するBMCのFW(firmware)とCPU上で動作するBIOS(Basic Input/Output System)は、各モジュールへアクセスするために、標準仕様であるI2Cバスを使用している。I2Cバスは、シリアルデータ(SDA)とシリアルクロック(SCL)の2本の信号線を用いて通信を行う。このバスはBIOSとBMCのFWで共有されているが、バスの使用権はI2Cバスのプロトコルにより調停される。
この調停方法は、先にアクセスを開始したものが優先される方法であるが、同じタイミングでアクセスを開始すると、SDAにより長くLowを出し続けたデバイスに優先権が与えられる。この調停方法によって、コマンド単位での調停が可能である。
I2Cバスは、コマンド単位の調停機能を有するものの、これだけでは、まとまったコマンドの順序制御はできない。例えば、メモリライザーボードのオンライン組み込みを想定した場合、まず、BMCFWは、組み込まれたボードの初期化処理を行い、それが完了してからBIOSの処理を開始しようとする。しかし、I2Cバスの調停は、コマンド単位の調停のため、BMCFWの初期化が完了しないうちに、BIOSから処理を開始される可能性があった。
このような事態を避けるためには、I2CのBMCFWからのパスとBIOSからのパスの間にセレクタースイッチを介して、BMCFWの処理が完了するまで、BIOSのパスを遮断するような順序制御を行うことがあった。また、BIOSを改造して、BIOSとBMCFWの通信パスからBMCFWの処理化処理が完了したことを示すメッセージを受け取るまで、BIOSの情報収集を待たせるという方法等があった。
しかし、セレクタースイッチの使用や、BIOSを改造することは、装置のコストアップにつながることになり、課題となっていた。
上記に関連する技術として、特許文献1には、容易な構成で調停を行うことを目的とし、属性情報を格納するメモリとマスタに対応して設けられ、マスタのメモリへのアクセス要求を受け付ける複数のチャネルと、ハードウエアで構成され、各チャネルが受け付けたアクセス要求を調停し、選択した1つのアクセス要求のメモリへのアクセスを許可し、確定する調停制御部とを有する技術が開示されている。
しかしながら、特許文献1は、シーケンス制御部、チャネル調停制御部、メモリアクセス制御部およびメモリ等が必要である、という課題があった。
本発明の目的は、この点を鑑みたものであり、セレクタースイッチの使用や、BIOSを改造することなく、大きなコストアップにつながらない、I2Cバスの調停システムを提供することである。
本発明では、上記課題を解決するために、BMCとCPUとI2Cバスとを備えるI2Cバスの調停システムにおいて、I2Cバスに接続され、所定のアドレスを設定するアドレス設定部と、BMCに備えられ、I2Cバスを制御する制御部とを有し、制御部は、アドレス設定部を制御して所定のコマンドを出力させることを特徴としている。
また、本発明では、上記課題を解決するために、BMCとCPUとI2Cバスとを備えるI2Cバスの調停方法において、I2Cバスに接続され、所定のアドレスを設定するステップと、BMCに備えられ、I2Cバスを制御するステップとを有し、I2Cバスを制御し、所定のコマンドを出力させるステップを有することを特徴としている。
本発明によれば、セレクタースイッチの使用や、BIOSを改造することなく、大きなコストアップにつながらない、I2Cバスの調停システムを提供することができる。
以下、本発明の実施形態について図面を参照して詳細に説明する。
図1を用いて、本実施形態におけるI2Cバスの調停システムの構成を説明する。
図1は、本実施形態のI2Cバスの調停システムの構成を示すブロック図である。
図1において、サーバ装置1は、CPU、メモリ、チップセット、ディスク、拡張カードなど、一般的なコンピュータとして必要なモジュールを含む装置を想定している。図1では、I2Cバス2を中心としたモジュールを示す。
サーバ装置1には、管理機能を強化するためにBMC3を搭載しており、CPU4とBMC3、およびサーバを構成するモジュール、ここでは例としてメモリライザーボード6とをI2Cバス2で接続している。また、メモリライザーボード6がオンライン保守された時のプレゼンスを、BMC3へ通知するためのプレゼンス専用信号線8で、メモリライザーボード6とBMC3が接続されている。メモリライザーボード6には、複数のDIMM(Dual Inline Memory Module)7が搭載されている。CPU4には、BIOS10が搭載され、BMC3には、制御部としてBMCFW9が搭載されている。
また、優先権取得用の最若番Slave address設定用デバイス5が、アドレス設定部としてI2Cバスに接続されている。この、最若番Slave address設定用デバイス5において、BMCFW9からの命令により、Arbitration必勝データフォーマットが作成される。本実施形態では、BMCの外に優先権取得用の最若番Slave address設定用デバイス5が配置されているが、BMC3とは、必ずしも独立している必要はなく、BMC3の一部として実装することもできる。
図2、図3、図4を用いて、本実施形態におけるI2Cバスの調停システムの動作について説明する。図2は、本実施形態のデータフォーマットの例である。図3は、本実施形態におけるBMCFWの動作を示すフローチャートである。図4は、本実施形態のデータの信号波形の例である。
まず、図2を用いて通常のI2Cバスのデータフォーマット100について説明すると、通常データフォーマットでは、冒頭の“S”つまりStart Condition(通信開始)の後のslave address101とその次のslave address102の両方へ、アクセス対象であるデバイスのアドレスを設定する。
このデータフォーマット同士でI2Cバスの調停が行われる場合、調停規則からSDAにより長く0を発行したほうが優先権を得られることから、slave address101が若い(bit列の先頭から数えて0がより多く続く)方がI2Cバスの優先権を得る。
そこで、本実施形態ではArbitration必勝データフォーマット110でコマンドをI2Cバス2へ出力する。Start Conditionの後のslave address111には、調停システムが対象とする装置内つまりサーバ装置1内に存在するデバイスのアドレスよりも若い番号を指定する。これにより、必ず優先権を得ることができる。アクセス対象となるデバイスのアドレスは、slave address112に設定する。slave address111に上記の若い番号を設定するために、優先権取得用の最若番Slave address設定用デバイス5を用意し、サーバ装置1内に存在するデバイスのアドレスよりも若い番号を割り当てておく。
また、BMCFW9は、BIOS10などの通信をArbitration必勝データフォーマットコマンドで妨害するが、Start Conditionを監視して妨害するために、BIOSよりも先に各モジュールの実装を知る必要がある。BMC3と各DIMM7はプレゼンス専用信号線8で接続されており、I2Cバス2の1クロック以内の時間でプレゼンスがBMCへ到着するものとする。
これに対して、BIOS10は、新しく実装されるモジュールのプレゼンスをI2Cバス2経由のポーリングで検知するため、BMCFW9が、新しく実装されたモジュールの存在を知るのは、BIOS10よりも必ず早くなる。1回目は、この関係が成立するが、次からは、BMCFW9は、他の処理も行うので、BIOS10からのコマンドが、BMCFW9が初期化中のデバイスに到着する可能性がある。
そこで、メモリライザーボード6が実装された場合を例に、BMCFW9による順序制御の動作を、図3を用いて説明する。
メモリライザーボード6が実装(S201)されると、プレゼンス専用信号線8を介して、BMC3へメモリライザーボードが実装されたことが通知される(S202)。
BMCFW9は、新しいデバイスのプレゼンスを検知(S202)すると、I2Cバス2のSDAを観測し、BIOS10を含む他のデバイスからのStart conditionが、発生(S203)したら(I2Cにおける通信開始)、Arbitration必勝フォーマットで妨害コマンドをI2Cバス2へ送信(S204)して、他のデバイスのコマンド送信を抑止する。
すなわち、I2Cバス2上で他のデバイスが通信していない状態になるまで妨害コマンドを送信し続ける。ここで妨害コマンドとは、他のデバイスのコマンド送信を抑止するためのコマンドである。
すなわち、I2Cバス2上で他のデバイスが通信していない状態になるまで妨害コマンドを送信し続ける。ここで妨害コマンドとは、他のデバイスのコマンド送信を抑止するためのコマンドである。
そして、他のデバイスが通信していない場合は、他のデバイスに邪魔されないために、Arbitration必勝フォーマットで、BMCFW9の処理を行うコマンドを送信(S205)する。
BMCFW9によるメモリライザーボード6の初期化処理が完了したら(S206)、他のデバイスからの通信を妨害するコマンドの送信(S204)を停止し(S207)、新しいデバイスの実装によるプレゼンス通知の到着待ち状態(S208)へ戻る。
次にArbitration必勝フォーマットを使用して、I2Cバスの優先権を取得する状況について、図4を用いて説明する。
装置内の通常デバイスの最も若いアドレスを0010000とすると、優先権取得用デバイスのアドレスには、これよりも若いアドレスの設定が必要であり、0001111を設定したとする。
BIOSの最若番アドレスを持つデバイスへのアクセスを、BMCFW9がArbitration必勝フォーマットを用いたコマンドで妨害する場合、BMCFW9は、SDAにStart Conditionを見つけると、Arbitration必勝フォーマットでコマンドを発行する。
図4の例では、BIOSが発行するデータフォーマットはStart Condition直後のslave addressが0010000であり、BMCFW9が発行するArbitration必勝フォーマットは、slave addressが0001111なので、クロック番号4では、BIOSのアクセスがSDAに1を発行しようとするのに対し、BMCFW9は、0を発行しようとする。
このとき0を出し続けた方が優先権を得るI2Cバスの調停ルールにより、BMCFW9が優先権を取得することができる。
このとき0を出し続けた方が優先権を得るI2Cバスの調停ルールにより、BMCFW9が優先権を取得することができる。
上述のように、BMCFWは、SDAにStart Conditionを見つけると、最若番Slave address設定用デバイスに命令して、Arbitration必勝データフォーマットでコマンドを発行し、優先権を取得する。
以上説明してきたように、本実施形態によれば、BMCのFWが、Slave address設定用デバイスで、Arbitration必勝データフォーマットでコマンドを発行し優先権を取得するので、セレクタースイッチの使用や、BIOSを改造することなく、大きなコストアップにつながらない、I2Cバスの調停システムを提供することができる。
つまりslave address101を優先権取得用デバイスの最若番アドレス111に変更すればよいので、大きなコストアップにならない。
つまりslave address101を優先権取得用デバイスの最若番アドレス111に変更すればよいので、大きなコストアップにならない。
尚、本願発明は、上述の実施の形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することが出来る。
本発明は、I2Cバスを用いてBMCが制御を行うサーバに利用可能である。
1 サーバ装置
2 I2Cバス
3 BMC
4 CPU
5 最若番Slave address設定用デバイス
6 メモリライザーボード
7 DIMM
8 プレゼンス専用信号線
9 BMCFW
10 BIOS
101 slave address
111 優先権取得用デバイスの最若番アドレス
2 I2Cバス
3 BMC
4 CPU
5 最若番Slave address設定用デバイス
6 メモリライザーボード
7 DIMM
8 プレゼンス専用信号線
9 BMCFW
10 BIOS
101 slave address
111 優先権取得用デバイスの最若番アドレス
Claims (10)
- BMCとCPUとI2Cバスとを備えるI2Cバスの調停システムにおいて、
前記I2Cバスに接続され、所定のアドレスを設定するアドレス設定部と、
前記BMCに備えられ、前記I2Cバスを制御する制御部と、
を有し、
前記制御部は、前記アドレス設定部を制御して所定のコマンドを出力させることを特徴とするI2Cバスの調停システム。 - 前記所定のコマンドはI2Cバスへ出力する請求項1に記載のI2Cバスの調停システム。
- 前記所定のコマンドは、前記I2Cバスにおいて、最優先で処理されることを特徴とする請求項1または2に記載のI2Cバスの調停システム。
- 前記制御部は、前記I2Cバスが通信開始の信号を検出した場合に、前記アドレス設定部を制御して前記所定のコマンドを出力させることを特徴とする請求項1から3のうち1に記載のI2Cバスの調停システム。
- 前記制御部は、外部からの信号を検出した場合に、前記アドレス設定部を制御して前記所定のコマンドを出力させることを特徴とする請求項1から4のうち1に記載のI2Cバスの調停システム。
- 前記所定のコマンドは、調停対象の装置内に存在するデバイスのアドレスよりも若いアドレスを指定するものである請求項1から5のうち1に記載のI2Cバスの調停システム。
- 調停対象の装置内に存在するデバイスと前記制御部を接続するプレゼンス専用信号線を備えたことを特徴とする請求項6に記載のI2Cバスの調停システム。
- 前記制御部は、前記調停対象の装置内に存在する前記BMC以外のデバイスが通信していない状態になるまで妨害コマンドを送信し続けること特徴とする請求項1から7のうち1に記載のI2Cバスの調停システム。
- 前記妨害コマンドは前記調停対象の装置内に存在するデバイスのアドレスよりも若いアドレスを指定するものである請求項1から8のうち1に記載のI2Cバスの調停システム。
- BMCとCPUとI2Cバスとを備えるI2Cバスの調停方法において、
前記I2Cバスに接続され、所定のアドレスを設定するステップと、
前記BMCに備えられ、前記I2Cバスを制御するステップと、
を有し、
前記I2Cバスを制御し、所定のコマンドを出力させるステップを有することを特徴とするI2Cバスの調停方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014061059A JP2015184935A (ja) | 2014-03-25 | 2014-03-25 | I2cバスの調停システムおよび調停方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014061059A JP2015184935A (ja) | 2014-03-25 | 2014-03-25 | I2cバスの調停システムおよび調停方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015184935A true JP2015184935A (ja) | 2015-10-22 |
Family
ID=54351382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014061059A Pending JP2015184935A (ja) | 2014-03-25 | 2014-03-25 | I2cバスの調停システムおよび調停方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015184935A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073238A (zh) * | 2016-11-11 | 2018-05-25 | 深圳中电长城信息安全系统有限公司 | 一种服务器架构及运行方法 |
CN114020679A (zh) * | 2021-11-12 | 2022-02-08 | 中国船舶重工集团公司第七一一研究所 | I2c总线控制电路及用于船舶的电路系统 |
-
2014
- 2014-03-25 JP JP2014061059A patent/JP2015184935A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073238A (zh) * | 2016-11-11 | 2018-05-25 | 深圳中电长城信息安全系统有限公司 | 一种服务器架构及运行方法 |
CN114020679A (zh) * | 2021-11-12 | 2022-02-08 | 中国船舶重工集团公司第七一一研究所 | I2c总线控制电路及用于船舶的电路系统 |
CN114020679B (zh) * | 2021-11-12 | 2023-11-07 | 中国船舶集团有限公司第七一一研究所 | I2c总线控制电路及用于船舶的电路系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959223B2 (en) | Method and system for interrupt signaling in an inter-integrated circuit (I2C) bus system | |
US8898358B2 (en) | Multi-protocol communication on an I2C bus | |
TWI671638B (zh) | 匯流排系統 | |
US20150347345A1 (en) | Gen3 pci-express riser | |
KR102209525B1 (ko) | 마이크로 서버, mac 주소 할당 방법 및 컴퓨터 판독가능 기록매체 | |
US9819532B2 (en) | Multi-service node management system, device and method | |
JP2012064021A (ja) | 通信システム、マスター装置、及びスレーブ装置、並びに通信方法 | |
US9575925B2 (en) | Rack server system and auto-addressing method thereof | |
CN109144922B (zh) | 数据传输装置及其方法 | |
US9928206B2 (en) | Dedicated LAN interface per IPMI instance on a multiple baseboard management controller (BMC) system with single physical network interface | |
WO2017084229A1 (zh) | 通用串行输入输出的数据传输方法 | |
JP2013089226A (ja) | メモリ制御装置 | |
JP2015184935A (ja) | I2cバスの調停システムおよび調停方法 | |
CN204154406U (zh) | 一种温度检测装置 | |
CN107678993B (zh) | 电脑系统及总线仲裁方法 | |
JP5981004B2 (ja) | 半導体装置 | |
CN116126769B (zh) | 用于串行总线的隔离电路及设备隔离方法 | |
JP2014170361A (ja) | 情報処理装置、バス分割方法、及びバス分割プログラム | |
JP2013186658A (ja) | データ伝送装置、データ伝送方法、及びプログラム | |
US11907155B2 (en) | Bus system connecting slave devices with single-wire data access communication | |
JP2009301339A (ja) | バス制御装置 | |
US9612931B2 (en) | System and method for synchronously controlling LED on multiple control modules based on a register synchronized with synchronous packets | |
WO2015058533A1 (zh) | 一种信息处理方法以及电子设备 | |
JP5805546B2 (ja) | 半導体装置 | |
JP2014186500A (ja) | I2cバス通信用デバイス、i2cバス通信システム、及びi2cバス通信方法 |