É possível utilizar apenas o SMBus no PCI Express 1X?

9

De acordo com a página da Wikipedia no PCI Express , os slots PCI-e 1X têm posições de 18 pinos em duas faixas (portanto, 36 pinos) e as posições 5-9 representam SMBus e JTAG.

Gostaria de conectar um µC como um dispositivo SMBus (essencialmente I²C) e compreendo os requisitos adicionais do protocolo de mensagens, mas não tenho exatamente certeza com quais pinos devo fazer interface.

Posso ver pinos para SMCLK, SMDAT, TCK, TDI, TMS, TRST, TDO, WAKE, PERST, PRSNT1, PRSTN2, além de várias coisas específicas da PCI. Sei que os pinos do PRSNT precisam estar em curto e que existem suprimentos de + 12V e + 3,3V para o dispositivo, mas o resto é um pouco confuso. Normalmente, com o I²C, eu pensaria em SDA e SCL, mas os pinos que estou vendo aqui parecem mais com o tipo de interface que eu esperaria do SPI, com pinos de dados de entrada e saída separados e seleção de dispositivo. Esse é o bit JTAG e eu deveria estar apenas olhando para SMCLK / SMDAT?

Então, minha pergunta é dupla:

  • Com quais pinos devo me preocupar?
  • Preciso fazer algo mais do que saltar os pinos do PRSNT1 / PRSNT2 para obter o registro do dispositivo? Ou seja, posso ignorar com segurança tudo, menos a interface SMBus? Na verdade, eu preciso marcar a placa como presente com esses pinos ou é apenas para dispositivos que utilizam o barramento PCI?

Desculpas se esta parecer uma pergunta bastante trivial - sou muito mais especialista em software do que em hardware.

Polinomial
fonte
Eu não acho que você deve amarrar os pinos do PRSNT, pois você não terá uma interface PCI Express.
31615 Pedro_Uno
3
Eu tenho tentado em vão fazer isso também. Parece-me que, como o SMB é uma parte opcional do lado da placa-mãe e do lado periférico da especificação PCIe, a maioria dos fabricantes não se preocupa em implementar a fiação desses dois pinos. A omissão desses rastreamentos tornaria um conjunto já congestionado de roteamento de PCB um pouco mais fácil de ser colocado nos PCBs. A placa-mãe Asus que eu estava tentando usar eleva o SDA e o CLK para 3V3, mas nunca os acessa.
Wossname 22/11

Respostas:

7

SMCLK e SMDAT são o relógio SMB e as conexões de dados.

TCK, TDI, TMS, TRST e TDO são as conexões JTAG.

Os pinos PRSNT1 e PRSNT2 estão lá para informar ao host (hardware da placa-mãe e sistema operacional) quantas faixas do PCIe você usará. Como você realmente não pretende usar as faixas de alta velocidade, duvido que elas sejam relevantes. Não haverá drivers pré-existentes para o que você está fazendo, portanto, "registrar" o painel não será muito significativo. Mas provavelmente seria bom reduzi-los de qualquer maneira, apenas para informar ao sistema que a placa está lá.

Dave Tweed
fonte
Obrigado. Você também pode responder a segunda parte da pergunta, por favor? ou seja, eu tenho que fazer algo mais do que apenas amarrar os dois pinos do PRSNT? Ou isso é mesmo necessário?
Polinomial
A largura da pista é negociada como parte do processo de treinamento do link no nível do protocolo - o PRSNT1 # / etc é usado para recursos relacionados ao hot-plug. Um número fixo de faixas é roteado para cada slot, e o processo de treinamento entre periférico e host começará o mais amplo possível e treinará para baixo, se necessário. Eu nunca vi o PRSNTx usado como parte do processo - poderia ser se você o usasse para conduzir algumas correções de configuração, mas então você conta com a placa que o implementa.
Krunal Desai