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 Совершенно не помешает десяток дополнительных клипс, которые можно докупить отдельно. Проверено — автор рекомендует: Клипсы для логических анализаторов Saleae Logic 16 (клон) — комплект из 10 шт. |
05 |
Описание, характеристики Комплектация: логический анализатор, 20-канальная шина (16 каналов и 4 провода — земля GND), USB-кабель питания/передачи данных, 4 клипсы
|
|
06 |
ЛА Saleae Logic 16 имеет 16 каналов, по которым может отслеживать изменение логических сигналов. Кто-то может сказать, что это много, и 8 каналов более чем достаточно, но в разделе о сферах применения будут показаны ситуации, в которых 16 каналов будут использованы одновременно. Отсутствие возможности захвата аналоговых сигналов, компенсировано наличием большого количества цифровых каналов — осциллографам такое количество каналов и не снилось, а если и снилось, то стоит космических денег. Справедливости ради, стоит упомянуть о том, что оригинальные Saleae Ligic умеют захватывать аналоговый сигнал на частотах, в разы меньших частоты сэмплирования цифровых данных. Это ограничение накладывает использование аналого-цифрового преобразователя (АЦП) для оцифровки аналоговых сигналов. |
|
07 |
Как и в вопросе выбора осциллографа, одной из главных характеристик подобных приборов является частота — скорость захвата событий, дискретность получаемых данных — у ЛА Saleae Logic 16 она составляет 100 МГц. Для нужд Arduino хватает с запасом. Но на такой частоте обеспечивается одновременная работа только 3 каналов. При использовании более 3 каналов, частота будет снижена. Основные характеристики ЛА:
|
|
08 |
Работа с ЛА и ПО Saleae Logic Software Для начала стоит отметить, что ПО Saleae Logic Software с точки зрения автора — лучшее ПО по работе с логическими анализаторами и обработке полученной с них информации. Несмотря на простой дизайн, оно очень функционально, логично и лаконично. |
|
09 |
При подключении ЛА к компьютеру ПО Saleae Logic Software определяет его автоматически — проблем быть не должно. |
|
11 |
Если все таки драйвер не нашелся автоматически, системе можно подсказать — драйвера располагаются в папке с установленной программой (по умолчанию C:\Program Files\Saleae LLC\Drivers): |
|
13 |
Как и у осциллографов, логическому анализатору можно указать тип события, по которому начнет производиться захват. Таких типов событий два:
|
|
14 |
Длительность захвата, также как и количество отслеживаемых каналов, диапазон логических уровней и частота сэмплирования, устанавливается в настройках: |
|
16 |
Осуществлять навигацию по полученным данным помогают блоки, появляющиеся при наведении мыши на один из краев области с данными — при нажатии на них можно очень быстро перемещаться к предыдущим/следующим изменениям (перепадам) логических сигналов. |
|
18 |
Получаемые в разных сессиях данные, очень удобно организовывать в отдельных закладках (по аналогии с листами Excel) — их можно переименовывать, а также сохранять и открывать позже для изучения: |
|
19 |
При нажатии на кнопку со стрелками, данные выделяются в отдельную вкладку
|
|
20 |
Помимо сохранения и экспорта самих полученных данных, также можно сохранять и использовать настройки, используемые в конкретном захвате данных: |
|
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 и прерывания
|
32 |
Для чего нужно? Частоту ШИМ иногда полезно знать в светодиодных матрицах, чтобы можно было корректно подстроить частоту генерации ШИМ, по отношению к смене сигналов общего анода/катода: |
|
33 |
Чтение протоколов I2C. ЛА поможет увидеть данные запрашиваемые/получаемые по распространенным протоколам, например в модуле часов реального времени DS3231 по протоколу I2C |
|
35 |
В случае если анализатор протокола, например I2C, по вашему мнению «косячит», убедитесь, что на линии тактирования нет помех (дребезга). В случае его наличия, с ним можно справиться при помощи глитч-фильтра (англ. Glitch Filter — фильтр помех): |
|
36 |
|
В демонстрируемых результатах расшифровки данных за каждым полученным байтом следует бит подтверждения получения:
|
37 |
Самое крутое — реверс-инжиниринг. Если перед вами устройство с частями без опознавательных знаков, для того, чтобы понять как происходит обмен данными между ними, то ЛА просто незаменим. На примере ниже, обмен данными с дисплеем в универсальном тестере: |
|
38 |
|
Проверено — автор рекомендует: http://ali.pub/kw0fj Тестер MG328 |
39 |
|
Данные для расшифровки в качестве домашнего задания — Display_25 MHz, 125 M.logicdata (267 KB)
|
40 |
Что почитать: |
|
41 |
Похожие запросы:
|
|