Ist es möglich, SMBus nur auf PCI Express 1X zu verwenden?

9

Laut der Wikipedia-Seite zu PCI Express haben die PCI-e 1X-Steckplätze 18 Pin-Positionen auf zwei Spuren (also 36 Pins) und die Positionen 5-9 stehen für SMBus und JTAG.

Ich möchte einen µC als SMBus-Gerät (im Wesentlichen I²C) anschließen und verstehe die zusätzlichen Anforderungen an das Nachrichtenprotokoll, bin mir aber nicht ganz sicher, mit welchen Pins ich eine Schnittstelle herstellen soll.

Ich kann Pins für SMCLK, SMDAT, TCK, TDI, TMS, TRST, TDO, WAKE, PREST, PRSNT1, PRSTN2 sowie eine Reihe von PCI-spezifischen Dingen sehen. Ich weiß, dass die PRSNT-Pins kurzgeschlossen werden müssen und dass das Gerät mit +12 V und +3,3 V versorgt wird, aber der Rest ist etwas verwirrend. Normalerweise würde ich bei I²C an SDA und SCL denken, aber die Pins, die ich hier sehe, ähneln eher der Art von Schnittstelle, die ich von SPI erwarten würde, mit separaten Eingangs- und Ausgangsdaten-Pins und Geräteauswahl. Ist das das JTAG-Bit und soll ich nur SMCLK / SMDAT betrachten?

Meine Frage ist also zweifach:

  • Mit welchen Pins sollte ich mich befassen?
  • Muss ich mehr tun, als die PRSNT1 / PRSNT2-Pins zu überbrücken, um das Gerät zu registrieren? Kann ich also alles außer der SMBus-Schnittstelle ignorieren? Muss ich die Karte überhaupt als mit diesen Pins vorhanden markieren, oder ist es nur für Geräte, die den PCI-Bus verwenden?

Entschuldigung, wenn dies eine eher triviale Frage ist - ich bin viel geschickter mit Software als mit Hardware.

Polynom
quelle
Ich denke nicht, dass Sie die PRSNT-Pins zusammenbinden sollten, da Sie keine PCI Express-Schnittstelle haben werden.
Pedro_Uno
3
Ich habe vergeblich versucht, dies auch zu tun. Es scheint mir, dass die meisten Hersteller sich nicht die Mühe machen, die Verkabelung für diese beiden Pins zu implementieren, da SMB ein optionaler Bestandteil sowohl der Motherboard-Seite als auch der Peripherieseite der PCIe-Spezifikation ist. Das Weglassen dieser Spuren würde es etwas einfacher machen, einen bereits überlasteten Satz von PCB-Routing auf den PCBs auszulegen. Das Asus-Motherboard, das ich verwenden wollte, zieht sowohl SDA als auch CLK auf 3V3 hoch, greift jedoch nie darauf zu.
Wossname

Antworten:

7

SMCLK und SMDAT sind die SMB-Takt- und Datenverbindungen.

TCK, TDI, TMS, TRST und TDO sind die JTAG-Verbindungen.

Die PRSNT1- und PRSNT2-Pins teilen dem Host (Motherboard-Hardware und Betriebssystem) mit, wie viele Lanes der PCIe Sie verwenden werden. Da Sie eigentlich nicht beabsichtigen, die Hochgeschwindigkeitsspuren überhaupt zu nutzen, bezweifle ich, dass sie relevant sein werden. Es wird keine bereits vorhandenen Treiber für das geben, was Sie tun, daher ist das "Registrieren" des Boards nicht besonders aussagekräftig. Aber es wäre wahrscheinlich in Ordnung, sie trotzdem kurzzuschließen, nur um das System wissen zu lassen, dass das Board vorhanden ist.

Dave Tweed
quelle
Vielen Dank. Könnten Sie bitte auch den zweiten Teil der Frage beantworten? dh muss ich mehr tun, als nur die beiden PRSNT-Stifte zusammenzubinden? Oder ist das überhaupt nötig?
Polynom
Die Fahrspurbreite wird im Rahmen des Verbindungstrainings auf Protokollebene ausgehandelt - PRSNT1 # / etc werden für Hot-Plug-bezogene Funktionen verwendet. Eine feste Anzahl von Fahrspuren wird zu jedem Steckplatz geleitet, und der Trainingsprozess zwischen Peripheriegerät und Host beginnt so breit wie möglich und wird bei Bedarf nach unten trainiert. Ich habe PRSNTx noch nie als Teil des Prozesses gesehen - es könnte sein, dass Sie damit einige Konfigurationsbänder ansteuern, aber dann zählen Sie auf die Karte, die es implementiert.
Krunal Desai