Olá. Quero mostrar um analisador lógico USB simples que possa ser montado em qualquer placa de depuração com um microcontrolador STM32F042, por exemplo, NUCLEO-F042K6 da ST. No entanto, você encontrará os códigos-fonte nos links e os converterá facilmente em qualquer outro membro desta família. Existem 8 canais neste design. Sob eles, as portas PA0-PA7 estão envolvidas no microcontrolador. A taxa máxima de amostragem é de 8 MHz. A frequência máxima de entrada é 2 MHz. O número máximo de amostras por canal é 4096.
Aqui deve-se notar que o analisador lógico é
hardware e software para capturar o sinal e suas pesquisas subsequentes, medições e análises de interfaces.

O shell do PC permite, após a captura, analisar os sinais em todos os 8 canais, bem como
meça a frequência dos sinais, o período e a duração dos pulsos. Conte o número de frentes na seção selecionada, a duração desta seção.
E se você se ater à interface I2C serial e ativar o analisador, todos os componentes I2C serão descriptografados automaticamente, pintados e marcados em um formato conveniente para análise.
A operação do analisador lógico começa clicando no botão "Iniciar captura". Então acontece o seguinte:
1) Os parâmetros de captura são transferidos para o dispositivo.
2.a) Se o gatilho não estiver definido, a captura do sinal começará imediatamente após o recebimento dos parâmetros de captura.
2.b) Se o gatilho estiver ativado, o dispositivo analisará o sinal de entrada sem realizar uma captura. A captura do sinal começa depois que as condições especificadas pelo gatilho definido são detectadas.
3) O buffer de captura é preenchido de acordo com um determinado número de amostras.
4) O dispositivo transfere dados para um PC.
5) O software processa e exibe os dados recebidos.
Um gatilho pode ser instalado em um ou mais canais. Se os gatilhos estiverem definidos para vários canais, a captura do sinal começará quando todas as condições especificadas pelos gatilhos definidos, ou seja, existe uma conexão lógica AND entre os gatilhos.
Você pode alterar o nome e a cor de cada canal. A área de exibição da forma de onda pode ser rolada ou dimensionada.
Usando a ferramenta Medição, você pode medir a duração da seção selecionada, período, frequência, duração do pulso e contar o número de frentes.
A ferramenta Régua desenha uma linha vertical que abrange os sinais de todos os canais no local especificado com a hora. A "régua" é conveniente ao avaliar a localização das frentes de diferentes canais em relação uma à outra e em relação à marca de tempo zero.
Neste vídeo, com um exemplo simples, você pode ver como tudo funciona:
Concluindo, quero acrescentar que o shell está escrito no Visual Studio, software para o microcontrolador no IAR. Num futuro próximo, darei um analisador lógico de 16 + canais com I2C, SPI, UART, I2S. Dois microcontroladores são considerados para construção: stm32f730, stm32f446.
Obrigado a todos, use sua saúde!
→
Faça o
download das instruções, firmware e esboço.
→
Baixar projeto IAR
→
Baixe o projeto do Visual Studio