12,1K подписчиков

Логический анализатор Kingst LA5016. § 1. Небольшой обзор и настройки.

207 прочитали

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

Статья написана с расчетом на новичков в использовании логических анализаторов

Логический анализатор не заменяет осциллограф полностью, даже при работе только с цифровыми и логическими устройствами. Он предназначен для просмотра и анализа сигналов в устройстве с точки зрения "логических уровней". То есть, он отображает (и анализирует) сигнал в виде логических значений "0" и "1". Точнее, в виде "В"/"H" (высокий/high) и "Н"/"L" (низкий/low) , так как логическому значению "1" может соответствовать и низкий уровень напряжения. Примерно так, как показано на иллюстрациях в различных книгах и учебниках по цифровой электронике.

Кроме того, логический анализатор часто позволяет и "декодировать" некоторые протоколы обмена в цифровых устройствах, отобразить числовые значения передаваемой информации. Например, показать передаваемые по SPI или RS-232 данные, а для I2C еще адрес. Конечно, это можно сделать и вручную, по осциллограмме, но при анализе больших пакетов данных это не самый удобный вариант.

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

Впрочем, сегодняшняя статья не о применении логических анализаторов, а о совершенно конкретном устройстве Kingst LA5016. Точнее, о целом семействе устройств, в которое он входит.

Статья даже близко не является рекламной! Это именно обзор, как устройства, так и ПО для работы с ним. И я сознательно не даю ссылки на продавцов и магазины, где его можно купить. Все фотографии и иллюстрации сделаны для моего, купленного, а не полученного для обзора, анализатора.

Почему именно LA5016

Существует много различных вариантов логических анализаторов, различающихся не только функционалом, но и ценой. В том числе, осциллографы с встроенным логическим анализатором. Осциллограф с анализатором может быть самым оптимальным выбором для тех, кто работает как с аналоговыми, так и с цифровыми устройствами. Но цена таких осциллографов, с большим количеством логических каналов и хорошей функциональностью анализатора, довольно высока. Да "в поля" такой осциллограф не возьмешь. Осциллографоподобные логические анализаторы, с собственным экраном, тоже не дешевы.

А вот логические анализаторы, которые выполнены в виде "небольшой коробочки", подключаемой к компьютеру через USB, уже дешевле и подходят не только для любителей, но и для работы "в полях", на объекте. Все равно при этом ноутбук обычно бывает с собой. Но здесь уже большое значение будет иметь и ПО для ПК. При этом нужно учитывать, что не всегда на ПК установлен Windows.

ПО для логических анализаторов Kingst работает не только под Windows (32/64 бит, начиная с Windows 7), но и под Linux (только 64 бит), и под Mac OS (64 бит, x86). Работа под Linux, без "танцев с бубном", это весомый плюс (во всяком случае, с моей точки зрения). Сама программа абсолютно бесплатна и довольно удобна. Впрочем, о программе чуть позже.

В линейке логических анализаторов от Kingst есть несколько моделей, отличающихся, по большей части, частотой выборки и количеством каналов

Сравнительные параметры разных моделей, фрагмент документации
Сравнительные параметры разных моделей, фрагмент документации

Самая простая модель, LA1010, не имеет внутренней памяти, что делает ее мало интересной для практического применения. Зато она самая дешевая, порядка 4000 рублей, на момент написания статьи. Самая старшая модель, LA5032, имеет 32 логических канала, что может быть излишним. Если требуется такое количество каналов, то имеет смысл задуматься о приобретении серьезного анализатора (такие анализаторы "в полях" нужны крайне редко). Кроме того, эта модель самая дорогая, порядка 30000 рублей, на момент написания статьи.

Для любителей самой оптимальной моделью будет, на мой взгляд, будет LA2016, которая стоит чуть больше 10000 рублей. LA1016, видимо ввиду непопулярности, найти гораздо сложнее, а стоимость может оказаться даже выше, чем у LA2016. Да и на официальном сайте этой модели уже нет, лишь в документации осталось упоминание. Поскольку в моем случае была необходимость работать с довольно высокочастотными устройствами, оптимальной оказалась LA5016 (стоимость порядка 18000 рублей, на момент написания статьи).

Кроме того, модели LA1010-LA2016 выполнены в пластиковых корпусах, а LA5016 и LA5032 в металлических, что повышает механическую живучесть при работе вне стен лаборатории. Впрочем, корпуса все равно не герметичны.

Немаловажен и диапазон значений напряжения анализируемых сигналов: от -50 В до +50 В. Все таки на реальных объектах напряжения в устройствах бывают и не совсем "логических уровней" и нужно, что бы анализатор это выдерживал.

Собственно логический анализатор и его начинка

Корпус алюминиевый, состоит из двух половиной и двух накладок на торцах. Все скреплено 80 винтами и легко разбирается

Внешний вид LA5016, фото мои
Внешний вид LA5016, фото мои

Повторю, что корпус не является герметичным, поэтому под дождем работать не стоит. Плата анализатора установлена в пазах корпуса и сидит довольно плотно. Половина разъема входных каналов не используется (NC). Это запас для LA5032.

Входные каналы разделены на две группы, по 8 каналов в каждой. И это не только визуальное деление. Выводы GND электрически соединены между собой. Подключение к анализируемому устройству осуществляется простыми и весьма распространенными зажимами

Зажимы для подключения к анализируемому устройству и соединительные провода. Фото мои
Зажимы для подключения к анализируемому устройству и соединительные провода. Фото мои

На нижней фотографии показан один из "пучков" соединительных проводников (их в комплекте 3, по 9 проводников) с подсоединенными тремя зажимами. "Земляной" (GND) черный и термоусадка на нем белая. Зажимы GND черные, а сигнальные серые. Проводники цветные, причем цвета соответствуют цветам каналов в программе. Длина проводников примерно 20 см. Проводники очень мягкие, но обладают специфическим запахом (что ожидаемо). Запах быстро выветривается. На проводниках указана предельная температура 200 градусов.

Кроме логических входов имеется и два канала ШИМ (PWM). Впрочем, функциональность ШИМ здесь мала и пользоваться генератором неудобно. Но об этом позже. В комплекте есть два "пучка" по 2 проводника для подключения в выходам ШИМ.

Порт USB 2.0, его быстродействия достаточно. Питается логический анализатор от USB. Кабель USB, толстый и мягкий, в комплекте.

Но внешний вид это не самое интересное. Многим ведь интересно "что у куколки внутри"

Плата логического анализатора LA5016. Фото мое
Плата логического анализатора LA5016. Фото мое

Как видно, деталей совсем немного. И видно, что входы действительно разделены на две группы по 8 каналов в каждой. Кроме входных делителей установлены и защитные диоды (сборки) SRV05-4A (4 канала в каждой сборке). Далее выборкой и первичной обработкой анализируемых сигналов занимается FPGA PANGO PGL22G, рядом с которой разместилась микросхема ОЗУ. Ну а управляет всем этим микроконтроллер COREBAI CBM9002A (семейство MCS-51). Рядом с входными делителями разместился ОУ SGM8272,Ю который выполняет роль буфера для выходов ШИМ.

На обратной стороне платы деталей практически нет

Обратная сторона платы анализатора практически пустая. Фото мое
Обратная сторона платы анализатора практически пустая. Фото мое

Защитных элементов в цепях USB нет, в отличии от входных каналов. И это стоит учитывать.

Но самое главное, не стоит забывать, что данный логический анализатор не является изолированным! То есть, при его использовании общий провод анализируемого устройства оказывается соединенным с общим проводом ПК/ноутбука. Поэтому не стоит пользоваться LA5016 для анализа не изолированных от сети устройств.

Входное сопротивление каналов анализатора не самое высокое - 220 кОм, а емкость 12 пФ. Это не создаст проблем при работе с чисто логическими сигналами и цепями, но при подключении к высокоомным цепям проблемы могут быть.

Стоит отметить, что плата сделана очень качественно, а любители искать остатки флюса будут разочарованы - флюс отмыт полностью.

Программа для ПК

ПО называется KingstVIS и, как уже было сказано, работает и под Windows, и под Linux, и под Mac OS. Установка очень проста, поэтому нет смысла ее рассматривать. Стоит учитывать, что под Linux нет интеграции с используемым DE, запускать программу нужно просто из каталога ее установки. Впрочем, это единственное неудобство, которое легко исправить вручную. Программа использует Qt, но никакие системные зависимости ей не требуются.

Окно программы выглядит достаточно просто, а фанаты "темной темы" будут довольны. Правда сторонники "светлой темы" (например, я) будут расстроены, так как тему оформления изменить нельзя

Внешний вид окна программы анализатора. Ве каналы включены, анализатор подключен. Иллюстрация моя
Внешний вид окна программы анализатора. Ве каналы включены, анализатор подключен. Иллюстрация моя

Это окно программы запущенной под OpenSUSE Tumbleweed на моем ноутбуке. У вас внешний вид может немного отличаться, так, скорее всего, не будет элемента управления ШИМ в панели инструментов. Впрочем, это единственный элемент панели инструментов, наличием которого можно управлять.

Кстати, весьма интересной и полезной особенностью ПО является возможность работать даже при отсутствии собственно логического анализатора. Конечно, это не полноценная работа, а лишь демонстрационный режим, но он позволяет потенциальному покупателю анализатора заранее познакомиться с возможностью работы ПО в его системе и оценить его возможности и удобство. Такое не часто встречается.

Конечно, самая интересная часть окна это область, где отображаются временные диаграммы. Но начнем мы не с нее, а панели инструментов и области со списком и параметрами каналов.

Режим работы анализатора

Самый первый (самый левый) элемент позволяет выбрать модель анализатора, что имеет смысл только при отсутствии собственно анализатора (в демонстрационном режиме), как так модель подключенного анализатора определяется автоматически, и задать режим его работы

Инструмент выбора модели анализатора (в демо режиме) и режима работы. Иллюстрация моя
Инструмент выбора модели анализатора (в демо режиме) и режима работы. Иллюстрация моя

Поскольку анализатор физически подключен, модель LA5016 определилась автоматически. Но в демо режиме вы можете выбрать любую модель. Для выбора модели нужно кликнуть на название модели. Обратите внимание, что LA1016 здесь тоже уже нет. Если же кликнуть по расположенной рядом шестеренке, то откроется меню выбора режима работы, которое мы рассмотрим немного подробнее.

Любой анализатор, кроме LA1010, может работать в двух режимах (поле "Sample Mode Select"):

  • Первый режим "Normal Mode" - является основным режимом работы для всех анализаторов, кроме LA1010. В этом режиме данные отсчетов собираются во внутренней памяти анализатора и затем передаются в программу. Такой режим работы позволяет добиться максимальной скорости записи сигналов, но длительность записи ограничена размером внутренней памяти анализатора.
  • Второй режим "Stream Mode" (поточный режим) - не использует внутреннюю память анализатора. То есть, все модели анализаторов в этом режиме ведут себя как LA1010. Данные отсчетов сразу передаются в программу. В этом режиме скорость записи сигналов ограничена и зависит от количества активных каналов, как и для LA1010. Зато длительность записи может быть очень большой.

Выбрать отображаемые каналы можно сняв или установив отметки в поле "Channel Select". Можно выбрать сразу группу каналов в поле "Channel Quick Select", соответствующие отметки поставятся автоматически.

Частота выборки и количество записываемых выборок

Следующие два элемента панели инструментов позволяют задать количество записываемых отсчетов и частоту записи отсчетов. И вот об этом надо рассказать более подробно, так как в документации на программу описание довольно расплывчатое.

Выбор количества записываемых отсчетов и частоты записи отсчетов. Иллюстрация моя
Выбор количества записываемых отсчетов и частоты записи отсчетов. Иллюстрация моя
  • Первый параметр "Sample Depth" (количество записываемых отсчетов) задает "длительность горизонтальной развертки", но не в единицах времени, а в количестве записываемых отсчетов. По сути, это размер буфера, который и будет отображаться в области временных диаграмм. Мы никак не сможем выйти за пределы этого буфера. То есть, будет отображаться не более выбранного нами количества отсчетов.
  • Второй параметр "Sample Rate" (частота записи отсчетов, частота выборки) задает интервал времени между двумя последовательными отсчетами. То есть, определяет скорость, с которой заполняется буфер.

Буфер можно представить как множество точек, каждая из которых и является отсчетом. Каждая точка-отсчет может принимать лишь одно из двух значений, "0" или "1". Значение точки соответствует ее вертикальной координате. Временной интервал между точками соответствует шагу по горизонтальной оси (время).

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

На иллюстрации выбрана частота записи 1 МГц, что соответствует интервалу между отсчетами 1 мкс. Количество отсчетов выбрано равным 200000 (200 тысяч). Это и дает нам длительность буфера 200 равную мс. Это максимальная длительность отображаемого в области временных диаграмм процесса, для выбранных параметров.

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

Давайте рассмотрим случай короткого положительного импульса, который мы хотим увидеть. Для этого нам нужен хотя бы один отсчет соответствующий "1" на фоне соседних отсчетов "0". Если частота выборки низкая (интервал времени между последовательными отсчетами большой), то наш импульс может оказаться между двумя отсчетами и мы его просто не увидим.

Для устойчивой регистрации импульса нам нужно, что бы интервал времени между отсчетами был меньше длительности импульса. Причем для большей точности нам нужны несколько отсчетов за время длительности импульса. Это и определяет выбор частоты выборки. Например, если минимальная длительность импульсов, которые мы хотим зафиксировать, равна 1 мкс, то интервал времени между выборками должен быть минимум в 5 раз меньше, то есть, минимум 200 нс. А это дает минимальную частоту выборок равную 5 МГц. Если нужна большая точность измерения времени (длительности), то частоту нужно выбрать еще выше. Если минимальная длительность импульсов неизвестна, придется действовать методом проб и ошибок.

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

Остается рассказать о влиянии режима работы (Normal или Stream) на частоту выборки и количество отсчетов. Если посмотреть еще раз на последнюю иллюстрацию, что можно заметить, что некоторые размеры буфера (в отсчетах) помечены "*". Причем если выбрать режим Stream, то отметки "*" исчезнут. Все дело в размере встроенной памяти и использовании анализатором алгоритмов сжатия данных. Если сигнал изменяется медленно, то алгоритм сжатия позволяет "втиснуть" все отсчеты в память и фактическое время измерения будет равняться ожидаемому. Но если сигнал изменяется быстро, время измерения будет меньше, так как все данные не поместятся во внутреннюю память. А количество сохраненных отсчетов будет меньше запрошенного.

Именно поэтому время измерения указано как "Expected Sample Time" - ожидаемое. А звездочка означает, что фактически может быть сохранено меньше отсчетов, чем мы указали. В режиме Stream внутренняя память не используется, все данные сразу передаются в программу, поэтому всегда будет записано запрошенное количество отсчетов. Вот звездочки и пропадают.

При этом в режиме Stream максимальная частота выборки ограничена 100 МГц, если активных каналов не более 3. Если мы включим больше каналов, то частота выборки автоматически будет уменьшена до 50 МГц, если каналов не более 6. Или до 20 МГц, если включено более 6 каналов. Если же мы проявим настойчивость и выберем большую частоту, то часть каналов автоматически отключится.

Выборка и циклическая выборка

Следующий важный элемент панели инструментов - управление выборкой

Элемент управления выборкой. Иллюстрация моя
Элемент управления выборкой. Иллюстрация моя

Здесь все гораздо проще. Однократная выборка примерно соответствует режиму однократного запуска развертки осциллографа. То есть, анализатор дожидается срабатывания триггера запуска, если он задан и разрешен, или сразу, если триггера нет, и выполняет один цикл выборки. После чего возвращается в состояние "Стоп".

Циклическая выборка исключает переход в состояние " Стоп", после отображения содержимого буфера начнется новый цикл выборки-отображения. До тех пор, пока не будет нажата кнопка "Стоп".

Изменение цвета фона кнопок показывает текущее состояние анализатора. На иллюстрации это "Стоп".

Масштабирование

Это не самый важный элемент управления, так как масштабированием можно управлять мышкой непосредственно в области отображения временных диаграмм. Да и перемещать "осциллограммы" по горизонтали можно мышкой. Но первые две кнопки позволяют быстро вернуться "в исходную точку", если "что-то пошло не так".

Управление позицией триггера и масштабированием. Иллюстрация моя
Управление позицией триггера и масштабированием. Иллюстрация моя

Стоит отметить, что уменьшение изображения по горизонтали соответствует отображению большего временного отрезка "осциллограммы", а увеличение меньшего.

На этом закончим знакомство с панелью инструментов, управление ШИМ рассмотри позднее. Переходим к настройке каналов.

Тип логики и пороговый уровень

Эта настройка общая для всех каналов. Найти ее можно в самом верху области со списком и параметрами каналов

Настройка порогового напряжения для всех каналов. Иллюстрация моя
Настройка порогового напряжения для всех каналов. Иллюстрация моя

Клик по типу логики открывает выпадающий список, где можно выбрать один из стандартных, что автоматически выберет и величину порогового напряжения, единственный важный здесь параметр. Причем здесь все очень просто. Значение сигнала выше порогового уровня означает состояние "1", ниже - "0". Для ТТЛ пороговый уровень 1.6 В, для любой CMOS половина напряжения питания.

Можно задать собственный пороговый уровень если выбрать "Custom I/O". Но пороговое напряжение должно быть выше -4 В и ниже +4 В.

Настройка канала

Изменение настроек каналов
Изменение настроек каналов

Мы можем изменить название канала, если кликнем не нему. На иллюстрации показано, что я изменил название с "Channel 0" на "Cnannel -0-". Это может быть полезно, если используется большое количество каналов, что бы не вспоминать, какой канал какому сигналу соответствует.

Клик по шестеренке рядом с названием канала открывает показанное на иллюстрации меню. Первый его пункт, "Channel Enable Settings", открывает уже знакомое нам меню с выбором активных (отображаемых) каналов.

Пункт "Use Color for Wavwform" позволяет выводить временные диаграммы не цветными, а серыми. Может оказаться полезным для тех, у кого есть проблемы с восприятием цветов.

Пункты "Channel Height... " позволяют изменить высоту отображения канала. Например, можно увеличить размер важных каналов и оставить маленькими менее важные, с точки зрения пользователя.

Пункт "Show Real Time Status" действует на все каналы сразу. Он включает/выключает отображение наличия изменений сигнала в канале

Отображение наличия изменений сигнала в канале. Иллюстрация моя
Отображение наличия изменений сигнала в канале. Иллюстрация моя

Последний рассматриваемый пункт, "Glitch Filter Settings..." позволяет включить фильтрацию импульсных помех

Настройка фильтрации импульсных помех для каналов
Настройка фильтрации импульсных помех для каналов

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

Кроме того, мы можем изменить взаимное расположение каналов по вертикали, наведя мышку на цветную полоску с номер канала и зажав ее левую кнопку. Теперь канал можно перетаскивать.

Настройка триггера запуска

Это немного хитрая настройка, к тому же параметры располагаются в разных местах. Основная настройка выполняется с помощью кнопок расположенных рядом с названием канала

Основная настройка параметров триггера запуска. Иллюстрация моя
Основная настройка параметров триггера запуска. Иллюстрация моя

Во многих случаях требует запуск "развертки" по одному из фронтов импульса в одной из каналов. Для выбора такого триггера запуска достаточно кликнуть мышкой по соответствующей кнопке в нужном канале. Выбранный триггер в выбранном канале будет подсвечен изменением цвета фона. На иллюстрации включен триггер по переднему (нарастающему) фронту в канале 1. Важно отметить, что такой триггер может быть включен лишь в каком то одном канале. Если попытаться включить триггер по фронту в другом канале, то ранее включен будет автоматически выключен. Если нужно просто отключить триггер, просто кликните по кнопке еще раз.

С комбинированный триггером немного сложнее. Во первых, ни высокий уровень, ни низкий уровень, не являются значимыми событиями. Это лишь уровни, которые сигнал может принимать в течении любого времени. А для триггера запуска нужно именно событие, один из фронтов. Однако, уровни сигнала могут задавать дополнительные логические условия. Давайте рассмотрим небольшой пример, после которого все станет понятно

Комбинированный триггер. Иллюстрация моя
Комбинированный триггер. Иллюстрация моя

В отличии от триггера по фронтам, кнопки комбинированного триггера (дополнительных условий) можно включить в произвольной комбинации произвольного количества каналов. Но кроме того, нужно включить и триггер по фронтам для одного из каналов. Результирующее условие срабатывания триггера запуска будет определяться операцией логического "И", как и показано на иллюстрации. В данном примере, триггер запуска сработает по нарастающему фронту, если в канале 0 высокий уровень и в канале 2 низкий уровень.

Еще одна настройка триггера запуска спрятана в общих настройках, которые мы уже рассматривали. Вспомните инструмент выбора модели и режима работы. В самом низу настроек (клик по шестеренке) был пункт "More Settings...", который мы не стали рассматривать. Теперь пришло время и для него. При этом откроется меню, большая часть которого посвящена ШИМ, но в нижней части притаилась и наша настройка триггера

Дополнительная настройка триггера запуска. Иллюстрация моя
Дополнительная настройка триггера запуска. Иллюстрация моя

Это настройка положения нуля триггера запуска по горизонтали. При запуске цикла выборки эта настройка определит, в каком месте по горизонтальной оси (время) будет располагаться позиция срабатывания триггера, если за 100% принять всю длину горизонтальной оси. Это позволяет увидеть, что происходило незадолго до срабатывания триггера запуска.

Предпоследняя настройка связанная с триггером запуска спряталась в еще одном меню. Оно скрылось в правой части окна программы

Настройка триггера запуска для циклической выборки. Иллюстрация моя
Настройка триггера запуска для циклической выборки. Иллюстрация моя

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

Самая последняя настройка, связанная с триггером запуска, спряталась в том же самом меню, но на другой вкладке

Последняя настройка, связанная с триггером запуска. Иллюстрация моя
Последняя настройка, связанная с триггером запуска. Иллюстрация моя

Это тоже касается расположения момента запуска триггера в области временных диаграмм, но при отображении результатов выборки и с учетом масштабирования. Последний вариант "Zoom all the way out" отменяет для очередной выборки любое масштабирование и отображает полную длительность "развертки". Вы можете попробовать любой из вариантов и выбрать понравившийся.

Промежуточное заключение

Статья получилась гораздо более объемной, чем планировалось. Поэтому я решил разделить ее на две части. Во второй части будем заниматься практическим использованием логического анализатора, включая декодирование протоколов и измерения.

До новых встреч!