- Присосаться к I2C. Сделай простой логический анализатор
- Работа с логическим анализатором Saleae Logic Analyzer
- 1 Технические характеристики логического анализатора Saleae logic analyzer
- 2 Установка драйверадля логического анализатора Saleae
- 3 Примеры работы с логическим анализатором
- Выводы
- Сравнение логических анализаторов на базе ПК: PGY-LA-EMBD, Logic16 Pro и SP209
- Факторы, которые следует учитывать при выборе логического анализатора
- Логический анализатор Prodigy Technovations PGY-LA-EMBD
- Логический анализатор Saleae Logic Pro 16
- Логические анализаторы Ikalogic SP209
- Заключение
Присосаться к I2C. Сделай простой логический анализатор
Здравствуйте. Хочу показать простой USB-логический анализатор, который можно собрать на любой отладочной плате с микроконтроллером STM32F042 например NUCLEO-F042K6 от ST. А впрочем, по ссылкам найдёте исходники и легко переделаете на любой другой из этого семейства. В этой конструкции 8 каналов. Под них в микроконтроллере задействованы порты PA0-PA7. Максимальная частота выборки – 8 МГц. Максимальная частота входного сигнала – 2 МГц. Максимальное количество выборок на канал – 4096.
Вот здесь нужно отметить, что логический анализатор это железо & ПО для захвата сигнала и его последующего исследования, измерения, анализа интерфейсов.
Оболочка для ПК позволяет после захвата проанализировать сигналы на всех 8 каналах, а также
измерить частоту сигналов, период и длительность импульсов. Подсчитать количество фронтов в выделенном участке, длительность этого участка.
А если присосаться к последовательному I2C интерфейсу и активировать анализатор, то будут автоматически расшифрованы все компоненты I2C подкрашены и обозначены в удобном для анализа виде.
Работа логического анализатора начинается с нажатия на кнопку «Начать захват». Дальше происходит следующее:
1) Устройству передаются параметры захвата.
2.а) Если триггер не задан, захват сигнала начинается сразу после получения параметров захвата.
2.б) Если триггер задан, устройство анализирует входной сигнал, не выполняя захват. Захват сигнала начинается после обнаружения условий, заданных установленным триггером.
3) Буфер захвата заполняется в соответствии с заданным количеством выборок.
4) Устройство передает данные на ПК.
5) ПО обрабатывает и отображает полученные данные.
Триггер может быть установлен на один или несколько каналов. Если триггеры заданы для нескольких каналов, захват сигнала начинается при одновременном наступлении всех условий, заданных установленными триггерами, т.е. между триггерами действует логическая связь «И».
Можно изменить имя и цвет каждого канала. Область отображения сигналов можно прокрутить или масштабировать.
С помощью инструмента «Измерение» можно измерить продолжительность выбранного участка, период, частоту, длительность импульса, посчитать количество фронтов.
Инструмент «Линейка» проводит вертикальную линию, охватывающую сигналы всех каналов, в указанном месте с указанием времени. «Линейка» удобна при оценке расположения фронтов разных каналов относительно друг друга и относительно нулевой отметки времени.
В этом ролике на простом примере можно посмотреть, как это всё работает:
В заключении хочу добавить, что оболочка написана в Visual Studio, ПО для микроконтроллера в IAR. В ближайшее время подарю 16+ канальный логический анализатор с I2C, SPI, UART, I2S. Для построения рассматриваются два микроконтроллера: stm32f730, stm32f446.
Спасибо всем, пользуйтесь на здоровье!
→ Скачать инструкцию, прошивку и скетч.
→ Скачать IAR проект
→ Скачать Visual Studio проект
Источник
Работа с логическим анализатором Saleae Logic Analyzer
Логический анализатор – незаменимый помощник при отладке цифровой схемотехники. Давайте рассмотрим основные приёмы работы с логическим анализатором Saleae Logic Analyzer и его китайскими аналогами.
Для работы нам понадобится:
1 Технические характеристики логического анализатора Saleae logic analyzer
Логический анализатор – это инструмент для временного анализа цифровых сигналов. Это незаменимый, действительно незаменимый инструмент при отладке цифровой электроники. Оригинальные анализаторы от именитых производителей стоят больших денег. У наших китайских друзей можно купить такое устройство за копейки. Поэтому если у вас его ещё нет – обязательно приобретите. Возможности данного небольшого устройства весьма внушительны.
В таблице перечислены основные параметры логического анализатора, моей китайской копии анализатора фирмы Saleae.
Параметр | Значение |
---|---|
число цифровых каналов | 8 |
частота оцифровки на канал | до 24 МГц |
количество сэмплов в выборке | до 1G (зависит от количества памяти ПК) |
входное сопротивление | 100 кОм |
диапазон рабочих напряжений | –0,5…5,25 В |
напряжение логического «0» | –0,5…0,8 В |
напряжение логической «1» | 2,0…5,25 В |
защита от статики | |
защита по превышению напряжения | +/−15 В |
2 Установка драйверадля логического анализатора Saleae
Для данного логического анализатора – китайской копии – к счастью, подходит драйвер от оригинала. Заходим на официальный сайт, скачиваем программу для своей операционной системы и устанавливаем её. Драйверы будут установлены вместе с программой. Кстати, обзор возможностей программы в виде инструкции на английском языке приложен в конце данной статьи.
Скачиваем программу и драйверы для логического анализатора Saleae Logic Analyzer
Если у вас копия другой фирмы, например, USBee AX Pro, то с большой долей вероятности для него также подойдут драйверы от производителя анализатора-оригинала.
3 Примеры работы с логическим анализатором
Для первого эксперимента возьмём преобразователь USB-UART на микросхеме FTD1232. Подключим анализатор к порту USB. Выводы каналов с 1 по 6 подключим к выводам USB-UART преобразователя. По большому счёту, больше всего нас интересует только две линии – Rx и Tx, можно обойтись только ими. Преобразователь определился в системе как COM-порт. Запустим любую терминалку (вот, например, неплохая программа для работы с COM-портом) и подключимся к порту.
Подключение USB-UART конвертера на микросхеме FTD1232 к логическому анализатору
Запускаем программу Saleae Logic. Если драйверы для анализатора установлены корректно, в заголовке программы будет указано Connected – подключено. Допустим, мы не знаем на каком канале будет сигнал, а на каком нет, поэтому не будем выставлять триггер для начала захвата сигнала. Просто нажмём на стрелки большой зелёной кнопки Start (Старт) и выставим в поле Duration (Длительность), скажем, 10 секунд. Это время, в течение которого логический анализатор будет собирать приходящие по всем 8-ми каналам данные после нажатия кнопки «Старт». Запускаем захват и одновременно отправляем в COM-порт какое-нибудь сообщение. Через 10 секунд анализатор закончит сбор данных и выведет результат в поле просмотра сигналов. В данном случае сигнал будет лишь на одном канале, который присоединён к выводу Tx (передатчик) USB-UART преобразователя.
Последовательный сигнал, захваченный логическим анализатором
Для наглядности можно настроить декодер перехваченных данных. Для этого в правом столбце находим поле Analyzers, нажимаем иконку в виде плюса – «Добавить», указываем тип – Async Serial. Появится окно с выбором настроек. В первое поле вводим номер канала, на котором у вас данные. Остальное оставим как есть. После нажатия кнопки Save (Сохранить), над полем соответствующего канала появятся метки голубого цвета с отображением значений байтов, которые были перехвачены. Нажав на шестерёнку в данном дешифраторе, можно задать режим отображения значений – ASCII, HEX, BIN или DEC. Если вы передавали в COM-порт строку, выберите режим ASCII, и увидите тот текст, который был вами передан в порт.
Настройки декодера данных
Тут же, в правом столбце программы Saleae Logic, можно добавлять к перехваченным данным закладки, проводить измерения задержек и длительностей, выставлять всевозможные маркеры и даже проводить поиск по данным для декодированных протоколов.
Аналогичным образом подключим логический анализатор к преобразователю USB-RS485. Линии данных всего две, поэтому можно установить триггер срабатывания по фронту любого из каналов: сигнал в протоколе RS-485 дифференциальный и фронты импульсов появляются одновременно на каждом из каналов, но в противофазе.
Подключение конвертера USB-RS485 к логическому анализатору
Нажмём кнопку «Старт» в программе анализатора. С помощью нашей терминалки подключимся к USB-RS485 конвертеру и передадим какие-нибудь данные. По срабатыванию триггера программа начнёт собирать данные, по завершению выведет их на экран.
Последовательный сигнал RS485, захваченный логическим анализатором
Программа Saleae Logic позволяет экспортировать сохранённые данные в виде изображений и текстовых данных, сохранять настройки программы, аннотации и декодеры каналов.
Последний пример в данном небольшом обзоре – захваченный кадр данных, переданный по последовательному протоколу SPI. В канале 2 виден сигнал выбора ведомого, в канале 0 – тактовые импульсы, а в канале 1 – собственно данные от ведущего устройства к ведомому.
Последовательный сигнал SPI, захваченный логическим анализатором
Выводы
Логический анализатор может быть очень полезен при разработке и настройке всевозможных электронных устройств, при написании программного обеспечения, работающего в связке с железом, при работе с микроконтроллерами, ПЛИС и микропроцессорами, для анализа работы различных устройств и протоколов обмена данными, и для многих других применений. Кроме того, он портативен и не нуждается в отдельном питании.
Инструкция по работе с программой для логического анализатора Saleae
По ссылкам ниже можно скачать инструкцию с файлообменников, либо напрямую с сайта.
Источник
Сравнение логических анализаторов на базе ПК: PGY-LA-EMBD, Logic16 Pro и SP209
Для построения встроенной системы требуется, чтобы несколько устройств взаимодействовали с центральным процессором, как правило, через шину SPI или I2C. Если ваша система довольно сложна и что-то работает не так, как ожидалось, логический анализатор может исправить положение. Итак, выбор правильного логического анализатора имеет решающее значение для успешного проекта. В этом обзоре дается сравнение логических анализаторов на базе ПК, и мы сравним продукты трех компаний: Prodigy Technovations, Saleae и Ikalogic.
Факторы, которые следует учитывать при выборе логического анализатора
Прежде чем мы углубимся в сравнительную часть, мы должны знать несколько моментов, на основе которых мы будем их сравнивать. Логические анализаторы имеют определенное количество каналов. Чем больше каналов, тем дороже продукт. Итак, выберите количество каналов соответствующим образом в зависимости от размера вашего проекта. Также следует учитывать несколько других технических характеристик, которые перечислены ниже:
- Полоса пропускания канала: определяет максимальную частоту, которую может измерять логический анализатор.
- Частота выборки: количество выборок, которое логический анализатор может получить за одну секунду. Высокая частота дискретизации поможет выявить сбои, возникающие в течение очень короткого времени.
- Уровни напряжения: встроенные системы обычно работают на нескольких логических уровнях. Таким образом, логический анализатор должен быть достаточно гибким, чтобы поддерживать эти логические уровни.
- Возможность триггера: хороший логический анализатор должен уметь устанавливать сложные и вложенные триггеры.
- Продолжительность захвата: для крупномасштабного проекта требуется очень длинный непрерывный поток данных для анализа. Значит, логический анализатор должен работать долгое время.
Логический анализатор Prodigy Technovations PGY-LA-EMBD
У Prodigy Technovations есть логический анализатор серии Discovery. Этот анализатор встроенных интерфейсов также обозначается как PGY-LA-EMBD. Это 16-канальный логический анализатор, обеспечивающий скорость синхронизации 1 Гвыб/с. Это позволяет пользователю фиксировать глитчи до 1 нс. Он обеспечивает скорость 1 Гвыб/с на всех своих каналах и поддерживает одновременную отладку нескольких протоколов.
PGY-LA-EMBD также поддерживает интеллектуальную непрерывную потоковую передачу данных на HDD/SSD главного компьютера через интерфейс USB 3.0. При этом логический анализатор не ограничивает объем собираемых данных и полностью зависит от емкости внешнего хранилища.
Логический анализатор Saleae Logic Pro 16
С момента своего первого выпуска логического анализатора на базе ПК в 2008 году Saleae была известна разработкой недорогих логических анализаторов. Они предлагают три модели: Logic 8, Logic Pro 8 и Logic Pro 16. Цифры указывают количество входных каналов. Все эти устройства имеют компактный форм-фактор и поддерживают цифровые и аналоговые входы. Logic Pro 16 может обеспечить частоту дискретизации до 500 мс/с на 4 каналах и 100 мс/с на 16 каналах.
Logic Pro 16 поддерживает более 20 протоколов связи, некоторые из которых — Serial, SPI, I2C, Atmel SWI, Biss-C, CAN. Это делает его гораздо более гибким логическим анализатором по сравнению с другими. Вместе с обширной поддержкой программного обеспечения установка довольно проста и может быть использована с легкостью.
Логические анализаторы Ikalogic SP209
Серия логических анализаторов SP209 от Ikalogic обеспечивает углубленный анализ логических сигналов и протоколов с временным разрешением 200 МГц (5 нс). Ikalogic предлагает две модели: SP209 и SP209i, причем последняя больше ориентирована на промышленное использование. Обе модели предлагают 9 каналов для ввода, причем SP209i интегрирует промышленные приемники для шин CAN, LIN, RS232 и RS485. В серии SP209 предусмотрены входные каскады триггера Шмитта с регулируемыми порогами.
Программное обеспечение совершенно бесплатно и может использоваться для настройки и отображения сигналов. Этот анализатор также поддерживает потоковую передачу через USB и имеет специальные интерфейсы запуска и запуска на портах SMA. Ikalogic предлагает встроенные в комплект зонды микрозахвата для обеспечения высококачественного сбора данных.
Параметры | Логический анализатор PGY-LA-EMBD | Серия Saleae Logic | Логический анализатор серии SP209 |
---|---|---|---|
Цена | 1500 долларов США | 999 долларов США | 600 долларов США |
Поддержка уровня напряжения | 1,2 В, 1,8 В, 2,5 В, 3,3 В, 5 В | 1,2 В, 1,8 В, 2,5 В, 3,3 В, 5,0 В | 1,8 В, 2,5 В, 3,3 В, 5 В |
Кол-во каналов | 16 | 16 | 9 |
Масса | 200 г | 220 г | 105 г |
Максимальная частота дискретизации | 1 Гвыб/с | 500 мс/с | 200 мвыб/с |
Габаритные размеры | 140 х 100 х 35 мм | 92 х 92 х 15 мм | 85 х 60 х 13 мм |
Генерация отчетов | PDF и CSV | CSV, двоичный, VCD и MATLAB | Только CSV |
Набор датчиков | Зонд с подвижным проводом с гнездовыми разъемами | Micro-Gripper Hooks | Набор зондов Micro Grabber |
Входной буфер | 4 ГБ DDR3 | Недоступен | 2 ГБ DDR3 |
Автономное декодирование | Имеется в наличии | Недоступен | Недоступен |
Одновременное декодирование протокола I2C, SPI и UART | Имеется в наличии | Недоступен | Недоступен |
Анализ ошибок пакета протокола | Доступен (недостаточное отображение битовой ошибки) | Недоступен | Недоступен |
Внешние триггеры | Разъем Trigger Out SMA | Недоступен | Триггерный выход, триггер в разъемах SMA |
Поддерживаемые протоколы | I2C, SPI, UART, I3C, SPMI, RFFE | Последовательный, SPI, I2C, Atmel SWI, Biss-C, CAN, DMX-512, HD44780, HDLC, I2S, JTAG, LIN, MDIO, MIDI, | I2C, SPI, UART, USART, 1-провод, CAN, LIN, RS485, TWI |
Тип USB | USB 3.0 | USB 3.0 | USB 2.0 |
Поддерживаемые операционные системы | Windows 7, 8, 8.1, 10 | Windows XP, Vista, 7, 8,10, Linux, macOS | Windows 7, 8,10, Linux, macOS |
Возможности триггера | ● Авто ● Образец ● Ширина импульса ● Протокол Aware ● Задержка запуска | ● Запуск по фронту ● Запуск по ширине импульса | ● Запуск по фронту ● Изменение логики на одном или нескольких каналах ● Запуск по последовательности синхронизированных логических сигналов. ● Запуск по протокольному слову или событию. ● Вход внешнего триггера ● Выход триггера ● Двухступенчатый триггер |
Заключение
После сравнения логических анализаторов на базе ПК, мы пришли к выводу, что выбор продукта для вашего проекта в конечном итоге зависит от вашего бюджета и масштаба, в котором вы их будете использовать.
Если вы готовы сделать все возможное или можете немного увеличить свой бюджет, то логический анализатор PGY-LA-EMBD от Prodigy Technovations станет для вас идеальным решением. PGY-LA-EMBD модернизируется на месте и поддерживает очень высокую частоту дискретизации 1 Гвыб/с, что делает его перспективным продуктом, и поэтому в него стоит инвестировать.
Если у вас немного ограничен бюджет и для вашего проекта достаточно меньшего количества каналов, вы можете выбрать логический анализатор серии SP209. Этот обеспечивает немного более низкую частоту дискретизации по сравнению с другими, но но за такую цену весьма оправданная функциональность.
Если у вас средний бюджет и вам требуется простота настройки и использования, тогда вам подойдут логические анализаторы Saleae. Saleae пользуется популярностью среди разработчиков логических анализаторов на базе ПК из-за своего компактного размера и расширяемого клиентского программного обеспечения.
Источник