È possibile utilizzare SMBus solo su PCI Express 1X?


9

Secondo la pagina Wikipedia su PCI Express , gli slot PCI-e 1X hanno 18 posizioni pin su due corsie (quindi 36 pin) e le posizioni 5-9 rappresentano SMBus e JTAG.

Vorrei collegare un µC come dispositivo SMBus (essenzialmente I²C) e comprendo i requisiti del protocollo di messaggio aggiuntivo, ma non sono esattamente sicuro con quali pin intendo interfacciarmi.

Riesco a vedere pin per SMCLK, SMDAT, TCK, TDI, TMS, TRST, TDO, WAKE, PREST, PRSNT1, PRSTN2, oltre a un mucchio di cose specifiche PCI. So che i pin PRSNT devono essere messi in corto circuito e che ci sono alimentazioni + 12V e + 3.3V per il dispositivo, ma il resto è un po 'confuso. Normalmente con I²C penserei SDA e SCL, ma i pin che vedo qui assomigliano più al tipo di interfaccia che mi aspetterei da SPI, con pin di dati di input e output separati e selezione del dispositivo. È questo il bit JTAG e intendo semplicemente guardare SMCLK / SMDAT?

Quindi, la mia domanda è duplice:

  • Di quali pin dovrei preoccuparmi?
  • Devo fare altro che ponticellare i pin PRSNT1 / PRSNT2 per registrare il dispositivo? Cioè, posso tranquillamente ignorare tutto tranne l'interfaccia SMBus? In effetti, devo anche contrassegnare la scheda come presente con quei pin o è solo per i dispositivi che utilizzano il bus PCI?

Mi scuso se questa sembra una domanda piuttosto banale: sono molto più abile con il software che con l'hardware.


Non penso che dovresti legare insieme i pin PRSNT poiché non avrai un'interfaccia PCI Express.
Pedro_Uno

3
Ho cercato invano di fare anche questo. Mi sembra che poiché SMB è una parte opzionale sia del lato della scheda madre che del lato periferico delle specifiche PCIe, la maggior parte dei produttori non si preoccupa di implementare il cablaggio per questi due pin. Se si omettono queste tracce, un insieme di circuiti PCB già congestionato sarebbe un po 'più semplice da posizionare sui PCB. La scheda madre Asus che stavo tentando di utilizzare porta SDA e CLK in alto a 3V3, ma non vi accede mai.
Wossname il

Risposte:


7

SMCLK e SMDAT sono l'orologio SMB e le connessioni dati.

TCK, TDI, TMS, TRST e TDO sono le connessioni JTAG.

I pin PRSNT1 e PRSNT2 sono lì per dire all'host (hardware della scheda madre e sistema operativo) quante corsie del PCIe verranno utilizzate. Dal momento che in realtà non hai intenzione di utilizzare le corsie ad alta velocità, dubito che saranno rilevanti. Non ci saranno driver preesistenti per quello che stai facendo, quindi "registrare" la scheda non sarà terribilmente significativo. Ma probabilmente sarebbe OK accorciarli comunque, solo per far sapere al sistema che la scheda è lì.


Grazie. Potresti rispondere anche alla seconda parte della domanda, per favore? cioè devo fare altro che legare insieme i due pin PRSNT? O è persino necessario?
Polinomio

L'ampiezza della corsia viene negoziata come parte del processo di formazione del collegamento a livello di protocollo - PRSNT1 # / etc vengono utilizzati per le funzionalità relative a hot plug. Un numero fisso di corsie viene instradato verso ogni slot e il processo di addestramento tra periferica e host inizierà il più ampio possibile e si allenerà verso il basso se necessario. Non ho mai visto PRSNTx usato come parte del processo - potrebbe essere se lo hai usato per guidare alcune cinghie di configurazione, ma poi conti sulla scheda che lo implementa.
Krunal Desai,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.