Toque no I2C. Faça um analisador lógico simples

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

Source: https://habr.com/ru/post/pt423313/


All Articles