Eu tenho uma pergunta sobre a conexão física de um barramento SPI.
Eu tenho um mestre SPI (um dispositivo PIC32) e vários escravos (neste caso, dispositivos PIC16). Estou escrevendo apenas para os escravos, e o protocolo cuida de qual deles faz o que quando, para que não haja sinais MISO ou SS com os quais se preocupar e estou apenas paralelizando os dados e as linhas de relógio com todos os escravos. O comprimento total do ônibus não passa de um par de pés (digamos 60cm) e estou executando o SCK a 8MHz.
Agora, o posicionamento físico dos dispositivos escravos (que na verdade são nós de interface em outras placas) é tal que o barramento SPI retorna ao mestre de forma que seja possível conectar as duas extremidades de cada loop ao MOSI e SCK, respectivamente.
O diagrama a seguir mostra o que quero dizer - estou falando das conexões pontilhadas em vermelho - e a pergunta é: é bom fazer isso ou não?
Eu tenho poder e terra fazendo uma jornada semelhante, e isso é obviamente - e comprovadamente - útil porque minimiza a queda de tensão causada pelos escravos. No entanto, não tenho idéia se é bom ou ruim fazer o mesmo com essas linhas de sinal. Em vez disso, devo permitir algum tipo de terminação - resistores à terra (?) - ou talvez resistores em série para suprimir reflexos, ou o quê?
Eu tentei com e sem conectar os pontos, por assim dizer, e não há diferença funcional nem mudanças que eu possa ver no escopo, mas talvez se fosse um pouco mais de 60cm ou um pouco mais rápido que 8Mhz, Eu teria um problema? Por isso, estou procurando conselhos sobre o que fazer para me manter longe de problemas se algo mudar.
Embora essa pergunta esteja me incomodando particularmente para um barramento SPI de 60 cm a 8Mhz, existem princípios gerais para outras situações? Talvez as flexões em um barramento I2c devam ser posicionadas de maneira diferente?
Quaisquer links para material de leitura adequado também serão bem-vindos - não encontrei nada que cubra esta questão específica.
fonte
Respostas:
Loop de volta? NÃO. Se a linha for longa o suficiente para precisar de terminação (mais do que o tempo de execução * c / 10 ou mais), conduza-a com força suficiente para finalizá-la adequadamente e corresponda razoavelmente bem à linha e à finalização. Se a linha for curta o suficiente para não precisar de terminação, ela não precisará da condutividade 'extra' que você parece estar procurando com a conexão em loop.
Um resistor em série? NÃO. Esse estilo de terminação de origem-fim funciona apenas para um único receptor de ponto no final da linha. Nos pontos anteriores da linha, você obtém a pior forma de onda possível para seus receptores, que é um passo para a meia tensão, seguido de uma pausa, seguido de outro passo para a tensão máxima.
fonte
c/10
?O problema que vejo com a topologia de loop é que é difícil colocar os terminadores corretamente para suprimir as reflexões. isso não importa muito em 8MHz, mas pode ter se tornado um problema em frequências mais altas ou com linhas mais longas.
O único caso que vejo onde as linhas pontilhadas podem ajudar é quando o atraso de propagação do mestre para
SLAVE 6
era inaceitável. Nesse caso, você conectaria as linhas pontilhadas, mas interromperia o loop em algum lugar no meio (digamos, entreSLAVE 3
eSLAVE 4
) e terminaria cada ramificação independentemente.fonte
Com sinais rápidos ou longas filas, a reflexão do sinal se torna um problema. Nesses casos, você deve finalizar a linha corretamente, colocando um resistor conectando o final da linha e o terra (não o início da linha). A terminação faz a linha "parecer eletricamente infinita", para que o sinal não volte. Às vezes, a terminação também precisa de elementos LC para combater a impedância reativa.
No entanto, para o seu caso, a terminação não é necessária (linha curta para a velocidade do sinal, supondo que você não esteja operando em um ambiente eletricamente barulhento). É por isso que você não vê diferença. Também é uma prática ruim de design fazer um loop no seu sinal. Isso faz com que o sinal entre em loop, introduzindo ruído no seu circuito (e loops nas duas direções). Também facilita a captura de ruído de RF em suas linhas.
Além disso, geralmente também é ruim fazer um loop no terra e nas linhas de energia. O ruído de comutação digital e os loops de terra também existem, e podem ter um impacto dramático nos circuitos analógicos. Se necessário, você pode usar os garfos em Y (sem conexão na extremidade oposta) para reduzir a queda de tensão. Se isso não for suficiente, use traços mais amplos (traço maior -> menos resistência -> menos queda de tensão).
fonte