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.
Antworten:
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.
quelle