Главная » Хабрахабр » Присосаться к I2C. Сделай простой логический анализатор

Присосаться к I2C. Сделай простой логический анализатор

Здравствуйте. Хочу показать простой USB-логический анализатор, который можно собрать на любой отладочной плате с микроконтроллером STM32F042 например NUCLEO-F042K6 от ST. А впрочем, по ссылкам найдёте исходники и легко переделаете на любой другой из этого семейства. В этой конструкции 8 каналов. Под них в микроконтроллере задействованы порты PA0-PA7. Максимальная частота выборки – 8 МГц. Максимальная частота входного сигнала – 2 МГц. Максимальное количество выборок на канал – 4096.

Вот здесь нужно отметить, что логический анализатор это железо & ПО для захвата сигнала и его последующего исследования, измерения, анализа интерфейсов.

Подсчитать количество фронтов в выделенном участке, длительность этого участка.
Оболочка для ПК позволяет после захвата проанализировать сигналы на всех 8 каналах, а также
измерить частоту сигналов, период и длительность импульсов.

А если присосаться к последовательному I2C интерфейсу и активировать анализатор, то будут автоматически расшифрованы все компоненты I2C подкрашены и обозначены в удобном для анализа виде.

Дальше происходит следующее: Работа логического анализатора начинается с нажатия на кнопку «Начать захват».

Захват сигнала начинается после обнаружения условий, заданных установленным триггером.
3) Буфер захвата заполняется в соответствии с заданным количеством выборок.
4) Устройство передает данные на ПК.
5) ПО обрабатывает и отображает полученные данные. 1) Устройству передаются параметры захвата.
2.а) Если триггер не задан, захват сигнала начинается сразу после получения параметров захвата.
2.б) Если триггер задан, устройство анализирует входной сигнал, не выполняя захват.

Если триггеры заданы для нескольких каналов, захват сигнала начинается при одновременном наступлении всех условий, заданных установленными триггерами, т.е. Триггер может быть установлен на один или несколько каналов. Область отображения сигналов можно прокрутить или масштабировать. между триггерами действует логическая связь «И».
Можно изменить имя и цвет каждого канала.

С помощью инструмента «Измерение» можно измерить продолжительность выбранного участка, период, частоту, длительность импульса, посчитать количество фронтов.

«Линейка» удобна при оценке расположения фронтов разных каналов относительно друг друга и относительно нулевой отметки времени. Инструмент «Линейка» проводит вертикальную линию, охватывающую сигналы всех каналов, в указанном месте с указанием времени.

В этом ролике на простом примере можно посмотреть, как это всё работает:

В ближайшее время подарю 16+ канальный логический анализатор с I2C, SPI, UART, I2S. В заключении хочу добавить, что оболочка написана в Visual Studio, ПО для микроконтроллера в IAR. Для построения рассматриваются два микроконтроллера: stm32f730, stm32f446.

Спасибо всем, пользуйтесь на здоровье!

→ Скачать инструкцию, прошивку и скетч.
→ Скачать IAR проект
→ Скачать Visual Studio проект


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

KubeSail и его бесплатный Kubernetes-кластер для разработчиков

Для её достижения они предложили K8s-кластер в виде управляемой услуги (managed service), в рамках которой имеется бесплатный тарифный план. В начале года появился новый веб-сервис KubeSail, созданный двумя американскими Kubernetes-энтузиастами, задавшимися целью «сделать преимущества Kubernetes более доступными для всех разработчиков». ...

[Из песочницы] Про агрессивный офис

История про то, как обычное “Доброе утро, Клавдия Петровна” от коллеги по работе тормозит заложенный природой механизм агрессии, и, возможно, спасает чью-то жизнь на следующем офисном совещании. Я не имею привычки орать на свою команду. Да и вообще в 2019 ...