18 января 2017
Кравченко Виктор

Логичеcкий 16-канальный анализатор Saleae Logic 16 (клон)

Радиотехника и электроника Цифровые устройства Arduino
01 На заметку:
В видео более подробная инструкция по использованию логического анализатора Saleae Logic 16 с программным обеспечением Saleae Logic 1.2.10

У данной статьи есть видеоверсия!
Подписывайтесь на канал, чтобы быть в курсе обновлений!


Данные опроса дисплея (16×4 символов, 128×64 точки) — Display_25 MHz, 125 M.logicdata (267 KB)
02

Те, кто работает с Arduino в 99% случаях имеют дело с логическими (цифровыми) сигналами — 0 (LOW) и 1 (HIGH). Даже вывод аналогового сигнала Arduino осуществляется посредством генерации ШИМ — что тоже, по сути, является комбинацией логических уровней — 0 и 1. Масса популярных протоколов и интерфесов — I2C, SPI, MODBUS и др., для обмена данными используют именно нули и единицы. Именно для визуализации, анализа, расшифровки и сравнения таких сигналов и предназначены логические анализаторы. Можно сказать, что логический анализатор — это осциллограф, который понимает только 2 уровня сигнала — 0 и 1. Он следит за изменением сигналов во времени и незаменим в отладочных работах при работе с цифровой техникой.

03

Ещё одно отличие логического анализатора от осциллографа заключается в том, что осциллограф отображает входящие данные в режиме реального времени, а логический анализатор эти данные сначала захватывает, а потом отправляет в специализированный софт для анализа.

04

В этой статье будут рассмотрены возможности и сферы применения 16-канального логического анализатора (далее ЛА) Saleae Logic 16, а точнее, его китайского клона.

Проверено — автор рекомендует:
Купить Логический анализатор Saleae Logic 16 (клон)
Как покупать на Aliexpress со скидкой от 5,5%

Видео-инструкция о покупке со скидками на Aliexpress




Совершенно не помешает десяток дополнительных клипс, которые можно докупить отдельно.

Проверено — автор рекомендует:
Клипсы для логических анализаторов Saleae Logic 16 (клон) — комплект из 10 шт.
05

Описание, характеристики

Комплектация: логический анализатор, 20-канальная шина (16 каналов и 4 провода — земля GND), USB-кабель питания/передачи данных, 4 клипсы
Комплектация: логический анализатор, 20-канальная шина (16 каналов и 4 провода — земля GND), USB-кабель питания/передачи данных, 4 клипсы
06

ЛА Saleae Logic 16 имеет 16 каналов, по которым может отслеживать изменение логических сигналов. Кто-то может сказать, что это много, и 8 каналов более чем достаточно, но в разделе о сферах применения будут показаны ситуации, в которых 16 каналов будут использованы одновременно. Отсутствие возможности захвата аналоговых сигналов, компенсировано наличием большого количества цифровых каналов — осциллографам такое количество каналов и не снилось, а если и снилось, то стоит космических денег. Справедливости ради, стоит упомянуть о том, что оригинальные Saleae Ligic умеют захватывать аналоговый сигнал на частотах, в разы меньших частоты сэмплирования цифровых данных. Это ограничение накладывает использование аналого-цифрового преобразователя (АЦП) для оцифровки аналоговых сигналов.

07

Как и в вопросе выбора осциллографа, одной из главных характеристик подобных приборов является частота — скорость захвата событий, дискретность получаемых данных — у ЛА Saleae Logic 16 она составляет 100 МГц. Для нужд Arduino хватает с запасом. Но на такой частоте обеспечивается одновременная работа только 3 каналов. При использовании более 3 каналов, частота будет снижена. Основные характеристики ЛА:

  • Частота сэмплирования зависит от количества используемых каналов:
    • 100 МГц - 3 канала
    • 50 МГц - 6 каналов
    • 32 МГц - 9 каналов
    • 16 МГц - 16 каналов
  • Поддержка различных логических уровней — 1.2 В, 1.8 В и 3.3+ В (устанавливается программно);
  • Возможность подключения внешнего источника частоты семплирования (выходы SCK и HCK);
  • Объем аппаратного буфера — 10 млрд. сэмплов;
  • Поддержка из коробки оригинального программного обеспечения Saleae Logic — Saleae Logic Software.

08

Работа с ЛА и ПО Saleae Logic Software

Для начала стоит отметить, что ПО Saleae Logic Software с точки зрения автора — лучшее ПО по работе с логическими анализаторами и обработке полученной с них информации. Несмотря на простой дизайн, оно очень функционально, логично и лаконично.

09

При подключении ЛА к компьютеру ПО Saleae Logic Software определяет его автоматически — проблем быть не должно.

10
11

Если все таки драйвер не нашелся автоматически, системе можно подсказать — драйвера располагаются в папке с установленной программой (по умолчанию C:\Program Files\Saleae LLC\Drivers):

12
13

Как и у осциллографов, логическому анализатору можно указать тип события, по которому начнет производиться захват. Таких типов событий два:

  • по команде пользователя — ручной режим запуска/остановки захвата:
  • по триггеру — по восходящему сигналу (фронту), по ниспадающему (спаду), по положительному импульсу и по отрицательному импульсу:

14

Длительность захвата, также как и количество отслеживаемых каналов, диапазон логических уровней и частота сэмплирования, устанавливается в настройках:

15
16

Осуществлять навигацию по полученным данным помогают блоки, появляющиеся при наведении мыши на один из краев области с данными — при нажатии на них можно очень быстро перемещаться к предыдущим/следующим изменениям (перепадам) логических сигналов.

17
18

Получаемые в разных сессиях данные, очень удобно организовывать в отдельных закладках (по аналогии с листами Excel) — их можно переименовывать, а также сохранять и открывать позже для изучения:

19
При нажатии на кнопку со стрелками, данные выделяются в отдельную вкладку
При нажатии на кнопку со стрелками, данные выделяются в отдельную вкладку
20

Помимо сохранения и экспорта самих полученных данных, также можно сохранять и использовать настройки, используемые в конкретном захвате данных:

21
22

Примеры использования

В этом разделе приведена лишь малая часть тех ситуаций, в которых ЛА станет глазами радиолюбителя.

23 На заметку:
Если вы только собрались приобретать себе ЛА, либо он ещё в пути, но поиграться хочется — к каждому примеру приложены файлы данных, полученные в реальных экспериментах. Можете скачивать и разбираться с ПО Saleae Logic Software 1.2.10 на реальных данных.
24

Дребезг. В отличие от осциллографа DSO138 с низкой частотой дискретизации, ЛА может очень наглядно показать дребезг и помочь в борьбе с ним:

25
Вот так выглядит размыкание контактов с точки зрения микроконтроллера
Вот так выглядит размыкание контактов с точки зрения микроконтроллера
Особенно интересно встречать необычные проявления дребезга, как например «дребезг в дребезге» на размыкании контактов первого нажатия кнопки, файл с данными — bounce 100 MHz, 200 M.logicdata (1,27 KB)
26

ИК-сигнал. При помощи ЛА можно определить тип используемого протокола и считать передаваемый код:

27
Сигналы с безымянного пульта — IR_noname_100 MHz, 500 M Samples [13].logicdata (22,4 KB)
Сигналы с пульта LG — IR_LG_100 MHz, 500 M Samples [13].logicdata (19,7 KB)
Сигналы с пульта General Satellite- IR_GS_100 MHz, 500 M Samples [10].logicdata (20,6 KB)
28

Обмен цифровыми данными с датчиками. На примере датчика DHT11 можно посмотреть как происходит обмен данными с МК:

30

ШИМ. Запустив ШИМ на любом пине Arduino можно посмотреть на его частоту:

31
Возможно вы будете удивлены, что на разных выходах Arduino, генерация ШИМ идет с разной частотой, это происходит из-за использования разных таймеров. Подробнее в статье — Таймеры Arduino и прерывания
Возможно вы будете удивлены, что на разных выходах Arduino, генерация ШИМ идет с разной частотой, это происходит из-за использования разных таймеров. Подробнее в статье — Таймеры Arduino и прерывания
32

Для чего нужно? Частоту ШИМ иногда полезно знать в светодиодных матрицах, чтобы можно было корректно подстроить частоту генерации ШИМ, по отношению к смене сигналов общего анода/катода:

33

Чтение протоколов I2C. ЛА поможет увидеть данные запрашиваемые/получаемые по распространенным протоколам, например в модуле часов реального времени DS3231 по протоколу I2C

34
В данном массиве данных глитч-фильтр уже применен
I2C_100 MHz, 10 M Samples [4].logicdata (6,61 KB)
35

В случае если анализатор протокола, например I2C, по вашему мнению «косячит», убедитесь, что на линии тактирования нет помех (дребезга). В случае его наличия, с ним можно справиться при помощи глитч-фильтра (англ. Glitch Filter — фильтр помех):

36
В демонстрируемых результатах расшифровки данных за каждым полученным байтом следует бит подтверждения получения:
  • ACK (от англ. ACKnowledgement — подтверждение) — получено,
  • NAK (или NACK) (от англ. Negative ACKnowledgement — отрицательное подтверждение) — не получено.
37

Самое крутое — реверс-инжиниринг. Если перед вами устройство с частями без опознавательных знаков, для того, чтобы понять как происходит обмен данными между ними, то ЛА просто незаменим. На примере ниже, обмен данными с дисплеем в универсальном тестере:

38

Проверено — автор рекомендует:
http://ali.pub/kw0fj Тестер MG328
39
Данные для расшифровки в качестве домашнего задания — Display_25 MHz, 125 M.logicdata (267 KB)
40

Что почитать:

41

Похожие запросы:

  • Логический анализатор 16 каналов 100МГц
  • логический анализатор saleae logic (клон)
  • Логический анализатор 24МГц 8 каналов
  • Логический анализатор на микроконтроллере CY7C68013A
comments powered by HyperComments