Главная » Хабрахабр » Присосаться к 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 Интересное!

Как программист новую машину подбирал

В предыдущих статьях (I, II, III) я подробно рассказывал о разработке сервиса для поиска выгодных б/у автомобилей в РФ. В крупных городах существует огромное количество официальных дилеров, по крайней мере для популярных брендов. Поездив продолжительное время на различных б/у машинах, ...

ReactOS 0.4.10 — теперь со вкусом BTRFS и весёлыми иконками для папок

Привет, Хабр! И какой! Прошло всего каких-то пять месяцев со дня прошлого релиза ReactOS, а мы уже выкатываем новый! Как обычно, у нас для вас фирменный коктейль из киллер-фич и адового тюнинга незначительных компонентов системы. В этом выпуске — внедрение ...