Analisador lógico: Lendo sinais analógicos (bônus)

Este post faz parte da série Analisadores lógicos

Introdução

Não, o título deste artigo não está errado. Nós realmente vamos ler sinais analógicos com o analisador lógico e isso é muito prático, pois, ao mesmo tempo que conseguimos capturar diversos sinais digitais, também podemos analisar, por exemplo, a tensão de fontes de alimentação ou o sinal analógico entrando no pino ADC do seu microcontrolador, tudo na mesma tela ao mesmo tempo!

Atenção: Seu analisador lógico precisa suportar leituras analógicas para os testes deste artigo. Como dito no artigo “Analisador lógico: Analisando sinais digitais”, o analisador lógico da Saleae Logic 8 que utilizo para escrever estes artigos, conta com 8 canais que podem efetuar leituras digitais ou analógicas entre 0-5v com 10-bit resolução.

Até agora nós vimos que grande parte do trunfo do analisador lógico é contar com muitos canais para analisar diversos sinais simultaneamente, o que acontece então se juntarmos leituras analógicas a isso? Temos uma ferramenta muito, mas muito legal!

Além de analisar os valores analógicos da tensão, é claro que podemos adicionar um resistor shunt e medir corrente, deixando a história ainda mais legal. Podemos ao mesmo tempo que lemos diversos sinais digitais, medir a tensão da fonte de alimentação para verificar se há picos de consumo ou alguma instabilidade e também a corrente que o circuito consome, tudo isso sendo salvo para analisarmos com calma já que temos um grande buffer a disposição (nosso computador).

Atenção: Caso você não consiga ler os detalhes dentro das imagens (valores, medições, tempos, etc), clique com o botão direito do mouse em cima da imagem e clique em “Abrir imagem em uma nova aba” ou “Open image on new tab”. Assim você poderá visualizar a imagem inteira e dar zoom pelo navegador.

Bancada de teste #1

Para o primeiro teste, vamos analisar um microcontrolador gerando 3 ondas diferentes via DAC (8-bit): Senoidal, dente de serra e triangular.

Como esperado de uma onda gerada via DAC, devemos ser capazes de ver os níveis e tempo de cada tensão gerada. Ou seja, veremos ondas levemente “quebradas” em minúsculas partes.

Figura 1 – Ondas geradas via DAC capturadas pelo analisador lógico.

Figura 2 – Zoom nas ondas senoidais geradas.

Figura 3 – Zoom em uma única senoide.

Figura 4 – Zoom no topo de uma senoide.

Ao analisar uma das ondas senoidais de perto, podemos observar cada degrau do DAC e também a duração de cada degrau. Adicionamos 8 marcadores temporais (tabela à direita da figura 4 acima) e podemos ver que o último degrau (topo da senoide) durou 13.93ms. 

Figura 5 – Zoom nas ondas dente de serra geradas.

Figura 6 – Zoom no topo de uma dente de serra.

Ao analisar uma das ondas dente de serra de perto, também podemos observar cada degrau do DAC e a duração de cada degrau. Adicionamos 6 marcadores temporais (tabela à direita da figura 6 acima) e podemos ver que todos degraus estão com duração de aproximadamente 1ms.

Figura 7 – Zoom nas ondas triangulares geradas.

Figura 8 – Zoom no topo de uma onda triangular.

Ao analisar uma das ondas triangulares de perto, também podemos observar cada degrau do DAC e a duração de cada degrau. Adicionamos 6 marcadores temporais (tabela à direita da figura 8 acima) e podemos ver que todos degraus estão com duração de aproximadamente 1ms.

O analisador lógico conseguiu capturar todos os sinais para teste sem problemas. Também conseguimos medir o tempo de cada degrau para cada onda e fazer qualquer outro tipo de análise que desejarmos, no entanto, só estamos interessados em ver as formas de onda e os degraus do DAC por enquanto.

Bancada de teste #2

Agora para complementar a grande utilidade das leituras analógicas integradas no mesmo software do analisador lógico, vamos analisar um ESP32 efetuando comunicação UART e 1-wire (DS18B20), enviando/recebendo dados via WiFi e também as tensões de alimentação 5V e 3.3V para verificar se estão estáveis ou não durante os picos de consumo do WiFi.

As imagens falam por si próprias, podemos ver os níveis de tensão, duração e medições apenas olhando as imagens abaixo, evitando a necessidade de textos explicativos. Não se esqueça de ampliar as imagens para uma boa visualização dos valores e detalhes.

Figura 9 – Sinais digitais e analógicos capturados.

Figura 10 – Zoom ao inserir a alimentação no sistema e boot do microcontrolador.

Figura 11 – Zoom nos canais analógicos e medição de Vpp na linha 3v3.

Figura 12 – Zoom nos canais analógicos e medição de Vpp na linha 5v.

Figura 13 – Mais zoom nos canais analógicos para ver o Ripple da fonte 5v.

Ao dar zoom nos canais analógicos (figuras 11, 12 e 13), podemos observar que a linha de alimentação 3.3v está bem mais estável que a 5v. Isso se deve ao fato da linha de 5v utilizar uma fonte chaveada e conseguimos ver seu Ripple de aproximadamente 50mV.

Figura 14 – Pequenos ruídos a cada 100ms em ambas fontes de alimentação.

Figura 15 – Zoom no ruído detectado.

Figura 16 – Zoom apenas no canal 3v3.

É possível observar que depois do rádio WiFi ser ligado (figuras 14, 15 e 16), houve pequenas oscilações na alimentação (tanto 3v3 quanto 5v) em intervalos fixos de aproximadamente 100ms. Isso é justamente o intervalo padrão dos beacons utilizado pelo WiFi. Podemos ver que há uma queda de ~25mV e depois um aumento de ~20mV na linha de 3v3 até estabilizar novamente. Essa queda é aceitável para o circuito em questão e não necessita correções, porém, é muito comum ver projetos com ESP32 que ficam instáveis e até reiniciando durante o uso do WiFi por causa do Brownout detector (BOD) que detecta quando a tensão fica abaixo de 2.8v (valor do BOD é selecionável) e reinicia o microcontrolador.

Figura 17 – Sinais ao desconectar a fonte de alimentação.

Para finalizar, podemos ver a queda de tensão após a remoção da fonte de alimentação do circuito, onde o microcontrolador demorou 13.25ms para que as GPIOs desligassem.

Com a análise acima, podemos concluir que as fontes estão bem dimensionadas para o circuito e inclusive não há grandes oscilações mesmo durante o pico de consumo do WiFi. O DS18B20 efetuou todas as conversões com sucesso e não causou nenhuma alteração na alimentação durante o funcionamento visto que seu consumo é baixo. Analisando o log serial (UART) do ESP32 também não houve prints indicando erros, lembrando que o canal de UART e 1-wire estão com os decodificadores de protocolos ativados, então os dados já estão prontos para visualizarmos de forma fácil.

Conclusão

Com os canais digitais e analógicos no mesmo produto, podemos fazer muita coisa legal que vai da imaginação e necessidade de cada um. Analisar fontes de alimentação, sinais analógicos que chegam no ADC do microcontrolador, sensores analógicos, medidores de corrente (via resistor shunt) e até analisar a forma de onda de sinais digitais com longos cabos, por exemplo.

Analisadores lógicos

Analisador lógico: Decodificando protocolos
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Hardware » Ferramentas de Desenvolvimento » Analisador lógico: Lendo sinais analógicos (bônus)

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: