¿Es posible utilizar solo SMBus en PCI Express 1X?

9

De acuerdo con la página de Wikipedia en PCI Express , las ranuras PCI-e 1X tienen 18 pines en dos carriles (36 pines) y las posiciones 5-9 representan SMBus y JTAG.

Me gustaría conectar un µC como dispositivo SMBus (esencialmente I²C), y entiendo los requisitos adicionales del protocolo de mensajes, pero no estoy exactamente seguro con qué pines estoy destinado a interactuar.

Puedo ver pines para SMCLK, SMDAT, TCK, TDI, TMS, TRST, TDO, WAKE, PERST, PRSNT1, PRSTN2, además de un montón de cosas específicas de PCI. Sé que los pines PRSNT tienen que estar en cortocircuito y que hay suministros de + 12V y + 3.3V para el dispositivo, pero el resto es un poco confuso. Normalmente con I²C estaría pensando en SDA y SCL, pero los pines que veo aquí se parecen más al tipo de interfaz que esperaría de SPI, con pines de datos de entrada y salida separados y selección de dispositivo. ¿Es este el bit JTAG, y estoy destinado a estar mirando SMCLK / SMDAT?

Entonces, mi pregunta es doble:

  • ¿Con qué pines debería preocuparme?
  • ¿Tengo que hacer algo más que puentear los pines PRSNT1 / PRSNT2 para registrar el dispositivo? Es decir, ¿puedo ignorar todo salvo la interfaz SMBus? De hecho, ¿necesito marcar la tarjeta como presente con esos pines, o es solo para dispositivos que utilizan el bus PCI?

Disculpas si esto parece una pregunta bastante trivial: soy mucho más hábil con el software que con el hardware.

Polinomio
fuente
No creo que deba atar los pines PRSNT, ya que no tendrá una interfaz PCI Express.
Pedro_Uno
3
He intentado en vano hacer esto también. Me parece que debido a que SMB es una parte opcional tanto del lado de la placa madre como del lado periférico de la especificación PCIe, la mayoría de los fabricantes no se molestan en implementar el cableado para estos dos pines. Omitir estos rastros haría que un conjunto de enrutamiento de PCB ya congestionado sea un poco más fácil de colocar en los PCB. La placa base Asus que intentaba usar eleva tanto SDA como CLK a 3V3, pero nunca accede a ellas.
Wossname

Respuestas:

7

SMCLK y SMDAT son el reloj SMB y las conexiones de datos.

TCK, TDI, TMS, TRST y TDO son las conexiones JTAG.

Los pines PRSNT1 y PRSNT2 están ahí para decirle al host (hardware de la placa base y sistema operativo) cuántos carriles de PCIe va a utilizar. Dado que en realidad no tiene la intención de utilizar los carriles de alta velocidad, dudo que sean relevantes. No habrá ningún controlador preexistente para lo que está haciendo, por lo que "registrar" la placa no será muy significativo. Pero probablemente estaría bien acortarlos de todos modos, solo para que el sistema sepa que la placa está allí.

Dave Tweed
fuente
Gracias. ¿Podrías responder también la segunda parte de la pregunta? es decir, ¿tengo que hacer algo más que unir los dos pines PRSNT? ¿O es eso incluso necesario?
Polinómico
El ancho del carril se negocia como parte del proceso de capacitación de enlace a nivel de protocolo: PRSNT1 # / etc. se utilizan para las funciones relacionadas con la conexión en caliente. Se enruta un número fijo de carriles a cada ranura, y el proceso de entrenamiento entre el periférico y el host comenzará lo más ancho posible y entrenará hacia abajo si es necesario. Nunca he visto utilizar PRSNTx como parte del proceso; podría ser si lo usó para manejar algunas correas de configuración, pero luego cuenta con la tarjeta que lo implementa.
Krunal Desai