Resistores de terminação: são necessários?


20

Para um projeto que estou criando, estou usando um SDRAM IS42s32800 (TSOP) com um microcontrolador LPC1788 (QFP). No PCB, tenho 4 camadas com um plano de aterramento logo abaixo da camada de sinal superior e um plano de VDD logo acima da camada de sinal inferior. Os traços médios entre a CPU e a RAM têm 60 mm de comprimento, sendo o mais longo 97 mm, a linha do relógio 53 mm de comprimento e nenhuma linha possui resistores de terminação montados. O que me interessa é se é absolutamente necessário ou não ter resistores de terminação nas linhas DRAM. Esse design funcionaria sem eles ou eu não deveria nem tentar experimentá-lo sem os resistores?


O que diz a folha de dados?
Matt Young


Respostas:


32

Se a frequência / tempo de subida e a distância forem altas o suficiente para causar problemas, sim, você precisará de terminação.

Modelo de linha de transmissão

No rastreio mais longo de 97 mm, acho que você provavelmente se safará sem eles (dados os cálculos abaixo) Se você possui um pacote de PCB que lida com modelos IBIS e simulação no nível da placa (por exemplo, Altium e outros pacotes caros), simule sua configuração e julgue se você precisa deles a partir dos resultados.

Se você não tiver esse recurso disponível, poderá fazer alguns cálculos usando o SPICE.
Eu estava um pouco bagunçado com o LTSpice , eis os resultados ( fique à vontade para corrigir as coisas se alguém vir um erro)

Se assumirmos:

  • O tempo de subida do sinal de entrada de RAM é de cerca de 2ns
  • PCB é FR4 com um Er ou ~ 4.1
  • A espessura do cobre PCB é 1 oz = 0,035 mm
  • Altura do traço acima do plano do solo = 0,8 mm
  • Largura do traço = 0.2mm
  • Comprimento do traço = 97mm
  • A entrada de dados RAM é 10kΩ em paralelo com 5pF (capacitância da folha de dados, resistência escolhida para uma entrada LVTTL típica, pois nada é fornecido - a folha de dados é muito ruim, por exemplo, a corrente de fuga na p.21 é dada como 10A !?)
  • A impedância do driver é de 100Ω (extraída da folha de dados de valores altos / baixos e corrente -> Vh = Vdd - 0,4 a 4mA, então 0,4V / 4mA = 100Ω)

Usando o wCalc (uma ferramenta de calculadora de linha de transmissão) definida para o modo de microinterrupção e inserindo os números, obtemos:

  • Zo = 177,6Ω
  • L = 642,9 pH / mm
  • C = 0,0465 pF / mm
  • R = 34,46 mΩ / mm
  • Atraso = 530,4 ps

Agora, se inserirmos esses valores no LTSpice usando o elemento de linha de transmissão com perdas e simularmos, obtemos:

Stripline

Aqui está a simulação do circuito acima:

Stripline Sim Zdrv = 100 ohm

A partir deste resultado, podemos ver com uma impedância de saída de 100 100 que não devemos esperar nenhum problema.

Apenas por interesse, digamos que tivéssemos um driver com uma impedância de saída de 20 Ω, o resultado seria bem diferente (mesmo em 50 Ω, há 0,7 V acima / abaixo da escala. Observe que isso se deve em parte à capacitância de entrada de 5pF que causa o toque, o overshoot em 2ns seria menor sem capacitância [~ 3.7V], então, como Kortuk aponta, verifique os parâmetros agregados também, mesmo se não estiver tratando como uma TLine - veja final):

Stripline Sim Zdrv = 20 ohm

Uma regra prática é que se o tempo de atraso (tempo para o sinal passar do motorista para a entrada) for superior a 1/6 do tempo de espera, devemos tratar o rastreamento como uma linha de transmissão (observe que alguns dizem 1/8, alguns digamos 1/10, que são mais conservadores) Com um atraso de 0,525 ns e um tempo de subida de 2ns, resultando em 2 / 0,525 = 3,8 (<6), temos que tratá-lo como uma TLine. Se aumentarmos o tempo de subida para 4ns -> 4 / 0,525 = 7,61 e fizermos a mesma simulação de 20 again novamente, obteremos:

Stripline Zdrv = 20 ohm Tr = 4ns

Podemos ver que o toque é muito menor, portanto, provavelmente nenhuma ação deve ser tomada.

Portanto, para responder à pergunta, supondo que eu esteja próximo dos parâmetros, é improvável que deixá-los de fora cause problemas - especialmente porque escolhi um tempo de subida / queda de 2ns, mais rápido que a folha de dados do LPC1788 (p.88 Tr min = 3 ns, Tfall min = 2,5 ns)
Para ter certeza, colocar um resistor de 50 Ω em cada linha provavelmente não faria mal.

Modelo de componente ampliado

Como observado acima, mesmo que a linha não seja uma linha de transmissão, ainda podemos tocar devido aos parâmetros agrupados. O traço L e o receptor C podem causar muitos toques se o Q for alto o suficiente.
Uma regra prática é que, em resposta a uma entrada de etapa perfeita , um Q de 0,5 ou menos não tocará, um Q de 1 terá 16% de superação e um Q de 2 44% de superação.
Na prática, nenhuma entrada de passo é perfeita, mas se o passo do sinal tiver energia significativa acima da frequência ressonante do LC, haverá um toque.

Portanto, para o nosso exemplo de impedância de 20 Ω, se apenas tratarmos a linha como um circuito fixo, o Q será:

Q=euCRs=62,36nH9.511pF20Ω=4.05

(Capacitância é capacitância de entrada de 5pF + capacitância de linha - resistência da linha ignorada)

A resposta a uma entrada de etapa perfeita será:

Vovershoot=3.3.Ve-π(4Q2)-1 1=2,23V

Portanto, o pior pico de superação será de 3,3V + 2,23V = ~ 5,5V

Para um tempo de subida de 2 ns, precisamos calcular a frequência ressonante de LC e a energia espectral acima disso devido ao tempo de subida:

Frequência de toque = 1 / (2PI * sqrt (LC)) = 1 / (2PI * sqrt (62,36nH * 9,511pF)) = 206MHz

1 12πeuC=1 12π62,36nH9.511pF

Um tempo de subida de 2 ns possui energia significativa abaixo da frequência do "joelho" (regra geral), que é:

0,5 / Tr = 0,5 / 2 ns = 250 MHz, que está acima da frequência de toque calculada acima.

Com uma frequência do joelho exatamente igual à frequência do toque, a superação será em torno da metade da entrada perfeita do passo, portanto, a aproximadamente 1,2 vezes a frequência do joelho, provavelmente estamos observando cerca de 0,7 da resposta perfeita do passo:

Então 0,7 * 2,23 V = ~ 1,6 V

Pico estimado de superação com tempo de espera de 2 ns = 3,3 V + 1,6 V = 4,9 V

euC0,5

Simulações:

Lumped

Simulação de passo perfeito:

Resposta do passo ampliado

2 ns Risetime Simulation:

Tempo de espera de 2ns

Solução (com 100 Ω Rdrv + 60 resist resistor da série = 160 Ω R1 total adicionado):

Solução amortecida criticamente

Podemos ver que a adição do resistor de 160 produces produz a resposta de amortecimento crítico de 0 V excedente criticamente esperada.

Os cálculos acima são baseados em regras práticas e não são totalmente exatos, mas devem chegar perto o suficiente na maioria dos casos. O excelente livro "High Speed ​​Digital Design", de Jonhson e Graham, é uma excelente referência para esse tipo de cálculo e muito mais (leia o capítulo de exemplo da NEWCO para obter informações semelhantes às anteriores, mas melhor - muitas das alternativas acima foram baseadas no conhecimento disso. livro)


@OliGlaser, geralmente, no mundo real, medimos L e C de uma microstrip (para um sistema concentrado) ou apenas calculamos para obter uma estimativa de um resistor para um Q de 0,5 e depois ajustamos esse valor empiricamente ?
Saad

11
Eu diria que depende do seu projeto e ferramentas. Se você estiver usando ferramentas PCB de ponta, essas coisas e muito mais serão feitas automaticamente se você especificar as restrições corretas. Se não estiver usando ferramentas caras, vale a pena executar pelo menos as estimativas iniciais para avaliar se você pode ter problemas - isso não leva muito tempo e pode evitar muitos problemas posteriormente. Se não tiver certeza, você sempre pode fazer coisas como almofadas add para um resistor de terminação a ser instalado, se necessário (vários valores podem ser julgados - empiricamente é bom se ele funciona)
Oli Glaser

Observe também que você não precisa que o Q esteja no ponto 0,5; abaixo disso, também está bom (é acima de onde o toque começa - submergido) 0,5 é apenas o valor ideal (amortecido criticamente) para o tempo de subida mais rápido sem ultrapassagem. À medida que você aumenta R (overdamped), o tempo de espera diminui e, eventualmente, se torna um problema, mas você geralmente terá alguma margem.
11139 Oli Glaser

6

A Altera recomenda seu uso com alguns tipos de SDRAM neste documento, mas diz que eles podem ser evitados usando a terminação interna para o FPGA e SDRAM, se oferecido. Nenhuma das placas FPGA que tenho com SDRAM possui terminação externa nas conexões e os dispositivos não possuem terminação interna. Parece que eles devem ser usados, idealmente, mas na prática eles geralmente são deixados de lado. Você deveria se safar.


Eu não ou- ter, mas o fabricante de minha placa de desenvolvimento usado eles, então eu pensei que eu deveria assim
özg

@ user9663 Se você for fazer algum tipo de teste de emissões, acho que os resistores de terminação são uma boa idéia para evitar o toque. Para ser sincero, tenho pouca experiência com a SDRAM.
justing
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.