Ground Bounce

O estudo da integridade de sinais em placas de circuito impresso é uma necessidade para qualquer projeto eletrônico. Conhecer os possíveis problemas, sua teoria e formas de identificação é sem dúvidas essenciais nas habilidades de depuração e validação de um projeto funcional e confiável. O Ground Bounce que vamos estudar aqui é uma fonte notória de ruídos.

 

Experiência

 

Para uma interessante prática, montei o circuito da figura 01, algo razoavelmente simples para o estudo do Ground Bounce:

 

Circuito montado para análise do Ground Bounce
Figura 01 - Circuito montado para análise

 

O código implementado no Arduino UNO é simples também. Ligo e desligo todos os LEDs a cada 1 ms.

 

 

As saídas de número 0 a 7 do Arduino UNO está cada uma ligada a um resistor de 470 R através dos fios de cor lilás, que por sua vez, estão cada um em série com um LED e que por sua vez está em paralelo com um capacitor de 100 nF.

 

Os LEDs e os capacitores, apenas simulam cargas e capacitâncias inerentes de um circuito eletrônico. Fazem circular corrente elétrica.

 

O GND (ground) do circuito está representado pelos fios de cor cinza.

 

A saída 0 além do LED, está ligada também a ponta de prova do canal amarelo de um osciloscópio com sua respectiva garra ligado do GND.

 

Vamos fazer o trigger do osciloscópio, na subida ou descida desse sinal.

 

Até aí tudo certo! Vejamos o que temos mais:

 

Uma outra ponta de prova, do canal azul do osciloscópio, ligado ao um terminal de GND da placa Arduino UNO e sua garra também no GND? Estranho isso, só pode ter sido ligado errado! O canal azul não vai medir nada, a ponta e a garra estão em GND, ou seja, mesmo potencial elétrico!

 

Vejamos então a tela do osciloscópio:

 

Transição de subida do sinal - Ground Bounce
Figura 02 - Transição de subida do sinal

 

Na figura 02, o canal azul apresentou um pico de aproximadamente 2V no momento de subida do sinal do canal amarelo. Ué, mas no canal azul a ponta de prova e a garra estão em GND! Como pode ter ocorrido uma diferença de potencial?

 

Na descida do sinal do canal amarelo temos:

 

Figura 03 - Transição de descida do sinal

 

Formou um pico no canal azul, só que agora negativo!

 

O problema

 

A palavra BOUNCE significa PULO, SALTO, então GROUND BOUNCE é salto do terra. E foi o que vimos, um pequeno salto da tensão, tanto positivo, quanto negativo nas transições de sinais.

 

Esse efeito, não é desejável em projetos de placa de circuito impresso e se estiver vendo em seu projeto uma quantidade excessiva de erros de bit em linhas de comunicação, instabilidade da tensão de alimentação e reset inesperados, em muitos casos, o problema pode ser ground bounce.

 

A mudança no referencial de tensão do GND ocasionada pelo Ground Bounce, faz com que a tensão de alimentação dos circuitos fique fora dos limites máximos ou mínimos dos componentes ou o nível de sinal de um barramento de comunicação seja interpretada erroneamente como 0 ou 1.

 

Nas próximas figuras, 04 e 05, vemos a linha de VCC (5 V) variando de acordo com a variação da tensão de referência GND.

 

Figura 04 - Ground Bounce ocasionando variação positiva da tensão de 5V

 

Figura 05 - Ground Bounce ocasionando variação negativa da tensão de 5V

 

O Ground Bounce é causado por um elemento fundamental: compreende a uma tensão na indutância total do circuito eletrônico, formado pelas indutâncias parciais intrínsecas das trilhas, planos, terminais dos componentes e conectores, tudo isso adicionado a caminhos de retorno (GND) mal projetados. 

 

A tensão através dessa indutância total está diretamente relacionada à mudança de corrente, portanto, quanto mais rápido for subida e descida dos sinais, pior o problema se torna. Quanto mais saídas forem acionadas ao mesmo tempo, maior será o valor de corrente, agravando ainda mais o efeito.

 

Como mitigar

 

O Ground Bounce segue a seguinte relação:

 

V = L * [di / dt]

 

V: Tensão gerada na indutância do circuito, a tensão do Ground Bounce propriamente dito.

 

Sabemos como o Ground Bounce se comporta e também as relações entre as principais variáveis envolvidas, então para diminuir V (Ground Bounce) devemos:

 

  • Diminuir o L (Indutância Total) trabalhando com a diminuição das indutâncias parciais:
    • Criar planos de GND amplos e contínuos;
    • Trilhas de GND mais curtos e largos possíveis;
    • Mantenha os sinais próximos aos caminhos de GND.
    • Invólucros de componentes com baixa indutância interna e nos seus terminais.

 

  • Diminuir o [di / dt] (Variação da corrente por unidade de tempo):

Para di (corrente)

    • Limitar a corrente instantânea com o uso de resistores em série com os sinais de comunicação;
    • Usar mais caminhos de retorno;
    • Não acionar várias saídas ao mesmo tempo, alterne entre os acionamentos;
    • Usar sinais diferenciais.

Para dt (tempo)

    • Aumentar o tempo de subida e descida dos sinais.

 

O uso de capacitores de desacoplamento entre VCC e GND, bem próximos às linhas de alimentação dos circuitos, também auxiliam no tratamento do problema.

 

Observação

 

Em alguns artigos são usados duas definições técnicas diferentes. Nas transições de subida do sinal o efeito é chamado de VCC Sag (Sag = Afundamento) e nas transições de descida é o Ground Bounce propriamente dito.

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Alexandre Fernandes dos Anjos
Graduando em engenharia de computação, técnico em eletrônica e informática. Tenho a eletrônica como hobby desde minha infância. Membro do Laboratório Hacker de Campinas - LHC, onde participo e contribuo ativamente das atividades. Atualmente trabalho como especialista em hardware, desenvolvendo soluções voltadas à IoT.

6
Deixe um comentário

avatar
 
4 Comment threads
2 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
Thiago Lucas MachadoPedro NavarroAlexandre Fernandes dos AnjosRonaldo LinsAlexandre Bensi Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Thiago Lucas Machado
Visitante
Thiago

Muito bom artigo, parebéns!

Pedro Navarro
Membro
Pedro Navarro

Excelente artigo. No site temos poucas publicações sobre boas práticas para reduzir EMC em um circuito, assunto muito importante e pouco abordado na eletrônica brasileira. Vejo que você é um dos principais publicadores desse assunto no blog, parabéns!

Ronaldo Lins
Membro
Ronaldo Lins

Excelente!
Esse é o tipo de problema que se a pessoa não souber onde atacar, vai perder muitas noites de sono.

Alexandre Bensi
Visitante
Alexandre Bensi

Excelente artigo, coisas assim conseguimos ver com anos de prática e muitas dores de cabeça