PCマザーボードにはSMBusが1つしかありませんか?


8

マザーボードのSMBusクロックとデータラインに2本のワイヤーを接続しました(ヘッダーがないため、ワイヤーを介して手動ではんだ付けしました)。このバスをマイクロコントローラーにインターフェースしたいと思います。

私はこれらを私のスコープに接続しました、そしてそれらは正しい3.3Vまたはその辺りを示しています(これはプルアップがあるので配線が接続されたように私には思われます)。

Linuxでpython-smbusを介してこのSMBusを読み書きできます。同じSMBusがメモリモジュールのSPD eepromを取得する場合もあるので、このSMBusは確実に機能します。しかし、私はこの活動を自分のスコープで見ることはできません。

PCマザーボードにはSMBusが1つしかありませんか?または、複数あるので、ワイヤを間違った場所に接続していますか?

私のマザーボードはASRock X58 Extreme 6です(サウスブリッジはICH10Rです)


2
どのチップセットをお持ちですか?答えはサウスブリッジICによって異なります。SMBUSとI²Cは実装が非常に簡単で、複数のものを持つことは不可能ではありません。ユーザーの観点から見ると、すべてのPCマザーボードはほとんど同じです。ただし、低レベルでは、状況は大きく異なります。チップセットは、ハードウェアレベルでも多くの複雑さを抽象化します。
Alexios

サウスブリッジはICH10Rです
cksa361

回答:


4

見ていICH10ファミリのデータシートを

214ページで、SMBusについて説明します。マザーボードデバイスを制御/ポーリングするためのオンボードのSMBusインターフェイスは1つだけですが、外部マスターデバイスがICH10にイベントを送信できる追加のスレーブ SMBusがあります。コンピューター側からプログラムでこれを使用する方法はありません。222ページのセクション5.20.7では、これがどのように機能し、何ができるかについて説明しています。消灯管理、外部ウォッチドッグ、センサーテレメトリなどに使用されているようです。

そのスレーブインターフェイスに接続している可能性があります。そのため、トラフィックが表示されません。これらのピンのプルアップは、おそらく高インピーダンス入力を保護するためにあります。


0

バスの数はシステムによって異なります。

現在(2017年)、多くのシングルプロセッサソケットマザーボードは、サウスブリッジで単一のSMBusコントローラーを使用しています。このバスは、PCIeスロットのSMBusピンの両方に接続され、eepromからのDRAM構成情報の読み取りなどに使用されます。Intel Xeon E5プロセッサーのように、より多くのピンを持つソケットを使用するプロセッサーは、メモリeepromと通信するために複数のI2Cバスを備えているため、スロットとマザーボードデバイス間で単一のI2Cバスを共有しないでください。

スロット内のカードのアドレスが競合している場合、またはバスに偽の信号が送信されている場合、システムが起動しない(DIMMパラメーターを読み取ってDRAMコントローラーを初期化できない)か、マザーボードのI2Cに動作上の問題がある可能性があります温度/電圧モニターなどのデバイス。

残念ながら、SMBus標準では現在、0x50-0x57(DIMM SPD eeprom)などの非常に一般的なI2Cアドレスを回避するためのデバイスを必要としないため、複数のバスを持つハイエンドサーバーでは正常に機能するが、それより低いサーバーでは機能しないカードが作成されています共有バスを備えたエンドサーバー。共有バスの設計で使用されるアドレスは、マザーボードの設計と実装されているメモリスロットによって異なります。4つのメモリスロットを備えたシステムがあり、そのうち2つが実装されており、SMBusを使用してすべてが正常に動作するPCIeコントローラカードがあるとします。さらに2つのDIMMを追加しようとすると、システムが起動しません。その理由は、コントローラーカードのSMBusアドレスが新しいDIMMのI2Cアドレスと競合するためです。問題は、メモリではなくコントローラカードです。

回避策には、コントローラーカードのSMBusピンにテープを貼る(正しいピンについては、PCIeに関するWikipediaの記事を参照)、または一部のマザーボードには、SMBusがスロットにルーティングされているかどうかを制御するジャンパーがあります。

長期的な解決策は、共有SMBus / I2Cコンピュータのこの現実を反映するようにSMBus仕様を変更し、アドレス0x50-0x57および熱センサーなどに一般的に使用される他のアドレスをアドオンカードで禁止することです。DIMMシリアルプレゼンス検出(SPD)仕様を明確にして、共有I2Cバス上のデバイスがどのように競合する可能性があるかを明記し、アドレスの競合を回避するための対策を講じることをお勧めします。私が見たMicron SPD仕様はビットパターンについて話しているので、どのI2Cアドレスが消費されるかを理解するには、注意深く読む必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.