Ir para o conteúdo principal

Guia do Analisador Lógico

O Analisador Lógico Wokwi registra os valores dos sinais digitais do seu projeto. É uma ferramenta de depuração poderosa e pode ajudá-lo a diagnosticar problemas em seu circuito e código. Também é muito útil para auxiliar no processo de aprendizagem.

Alguns casos de uso incluem:

Sinais de protocolo I2C decodificados no PulseView
Analisador Lógico: sinais do protocolo I2C decodificados no PulseView

Características

O Analisador Lógico Wokwi possui 8 canais digitais, chamados D0 a D7. Ele tem uma taxa de amostragem de 1 GHz, que deve ser mais do que suficiente para a maioria das aplicações.

Cada canal possui um LED de atividade que fica verde sempre que há uma atividade no canal. Os LEDs de atividade fornecem uma maneira fácil de ver se os sinais estão conectados corretamente.

O analisador lógico possui um pequeno display. Mostra o número de amostras capturadas desde o início da simulação.

O acionamento configurável permite registrar apenas parte dos dados. Por exemplo, você pode iniciar a gravação ao pressionar o botão ou gravar apenas enquanto a comunicação SPI estiver ativa (usando o pino SS como um acionamento).

Usando o Analisador Lógico

Primeiro, adicione o Analisador Lógico ao seu projeto. Você pode fazer isso clicando no botão de adição azul e selecionando "Logic Analyzer (8 channels)".

Em seguida, conecte os sinais que deseja gravar aos pinos do Analisador Lógico. Por exemplo, se você deseja gravar a comunicação I2C entre um Arduino Uno e alguns periférico (como o DS1307 RTC), você pode conectar os pinos A4/A5 (que transportam os sinais SDA/SCL) aos pinos D0/D1 do Analisador Lógico.

Inicie a simulação. Você deve ver os LEDs verdes em atividade piscando conforme os sinais estão chegando, e o número de amostras aparecerão acumuladas.

Para visualizar a captura, pare a simulação. Isso baixará um arquivo chamado "wokwi-logic.vcd" para o seu computador. O arquivo contém os sinais gravados no formato Value Change Dump.

Você pode usar um software como o PulseView ou GTKWave para abrir e visualizar os arquivos de captura. Esse software também inclui analisadores de protocolo poderosos que podem decodificar muitos protocolos comuns, como UART, I2C, WS2812 e muitos outros.

Usando o Acionamento

Por padrão, o analisador lógico registra dados para toda a duração da simulação. O acionamento permite controlar a gravação de dados, definindo o valor de um dos pinos de entrada do analisador digital (D7 por padrão).

Aqui estão alguns exemplos de casos de uso comuns:

Use os atributos triggerPin e triggerLevel para configurar o pino de acionamento e definir o nível de disparo ("alto" ou "baixo"). Verifique a documentação do Analisador Lógico Wokwi para obter mais informações.

Personalizando os nomes dos canais

Por padrão, os nomes dos canais são D0, D1, D2, etc. Você pode personalizar os nomes dos canais configurando o atributo channelNames. Por exemplo, para nomear os canais "SCL", "SDA", "RST", adicione o seguinte atributo ao analisador lógico:

  { 
"type": "wokwi-logic-analyzer",
"id": "logic1",
"attrs": {
"channelNames": "SCL,SDA,RST"
}
}

Os nomes dos canais afetam apenas a saída do arquivo VCD. Os pinos de entrada do analisador lógico são chamados de D0, D1, etc., independentemente do atributo channelNames.

Visualizando os dados no PulseView

PulseView é uma GUI de código aberto que suporta Analisadores Lógicos. Ele roda em Linux, Windows, Mac OS X e há até uma versão para Android. Você pode visitar a página de downloads para obter a última versão. Para usuários de computadores Mac com a arquitetura ARM (M1/M2), siga o guia PulseView no Mac M1/M2.

Carregue o arquivo de sinal gravado (VCD) clicando na pequena seta ao lado do botão "Open" e selecione a opção: "Import Value Change Dump data..."

PulseView: Import Value Change Dump data

Você verá uma caixa de diálogo onde pode escolher o arquivo VCD a ser importado. Depois de selecionar um arquivo, haverá outra caixa de diálogo com as opções de importação:

PulseView: Compress idle periods

Infelizmente, as opções padrão geralmente fazem com que o PulseView consuma muita memória RAM e fique lento. Você pode reduzir o uso de memória definindo um valor em Downsampling factor (Fator de redução da resolução). Um valor de 50 deve funcionar para a maioria dos casos de uso. A tabela a seguir mostra alguns valores comuns:

Downsampling factorTaxa de amostragemQuando usar?
10001MHzSinais de baixa frequência / gravações longas (mais de 10 minutos)
5020MHzSinais comuns (UART, I2C, LED PWM, WS2812, etc.)
10100MHzSinais de velocidade alta (10MHz+)
11GHzSinais de velocidade muito alta (50MHz+)

Após confirmar as opções de importação, você deverá ver os sinais importados na tela. Os nomes dos sinais serão "logic.D0", "logic.D1", etc.

Para saber mais sobre como usar o PulseView, consulte o manual do usuário do PulseView.

Configurando o Windows para abrir arquivos VCD no PulseView

Você pode configurar o Windows para abrir automaticamente arquivos VCD no PulseView. Abra uma janela do Prompt de Comando (cmd) como administrador e digite os seguintes comandos:

ftype vcdfile="%ProgramFiles%\sigrok\PulseView\pulseview.exe" "-I" "vcd:downsample=50" "%1"
assoc .vcd=vcdfile

Observe que esses comandos não funcionam no PowerShell. Funciona apenas no Prompt de Comando (cmd) com privilégios de administrador. O comando define o fator de redução da resolução para 50, mas você pode escolher um valor diferente que se adapte às suas necessidades (consulte a tabela acima).

Visualizando os dados no GTKWave

GTKWave é um software multiplataforma de visualização de ondas de código aberto. GTKWave pode abrir arquivos VCD gerados pelo Wokwi Logic Analyzer.

O wokwi2gtkwave Python script é um projeto contribuído por um usuário de automação para usar o GTKWave com Wokwi: ele pode monitorar seu diretório de downloads e abrir automaticamente novos arquivos com GTKWave. O script também configura GTKWave para exibir automaticamente os sinais de seus arquivos VCD e ampliá-los para caber na tela.