Обзор бюджетного китайского логического анализатора

Здравствуйте, уважаемые радиолюбители. В этой публикации рассмотрим анализатор, который, как известно, один из самых необходимых инструментов в арсенале радиолюбителя. Это видео снято на канале Паяльник TV. Автор ролика расскажет о маленьком, но незаменимом во многих случаях приборчике — логическом анализаторе. Он по своим функциям является клоном известного логического анализатора Saleae Logic, который можно приобрести в интернет-магазинах. В своё время он был купен примерно за 5-6 долларов. Это миниатюрный 8-канальный логический анализатор с максимальной частотой сэмплирования 24 Мгц.

На сегодняшний день компания Saleae выпустила довольно много новых моделей логических анализаторов, в том числе линейку Про, в которой возможно переключать логические уровни, то есть, есть возможность работы с логическими уровнями 1,8 В.

Также возможность появилась захвата аналогового сигнала, правда, с невысокой частотой дискретизации. На момент приобретения этого клона в линейке Saleae было всего, если я не ошибаюсь, 2 логических анализатора это 8-канальный и 16-канальный. И вот у меня в руках 8-канальный анализатор, то есть, его клон. В комплекте было 10 таких проводков длиной где-то 25 см, с такими разъёмами, которые на IDC и PLS контакты. И сразу я заказал такой наборчик небольших щупов, чтобы было удобно сразу подцепиться либо к ножкам компонентов, либо в других случаях, когда такие контакты невозможно использовать.

И большим, конечно, стимулом, можно сказать, к созданию этого обзора стала новая версия программного обеспечения от компании Saleae, которое обладает заметно большими возможностями перед старыми версиями. И большая часть этого обзора будет посвящена именно обзору программного обеспечения, так как, собственно, здесь особо нечего рассказывать. Так как этот логический анализатор на основе ПК, и схема его достаточно проста. Здесь лишь один контроллер, задача которого — в реальном времени передавать данные на USB. И обвязка минимальна. Сейчас я покажу поближе. Корпус разбирается довольно просто, и перед нами теперь лежит такая платка. Как я говорил, ничего особенного здесь нет. Разъём mini-USB, кварц 24 МГц, сам контроллер с минимумом обвязки. Здесь подтягивающие резисторы, и резисторы последовательно стоят, защитные.1



С обратной стороны так же микросхемка EPROM, развязка по питанию, и стабилизатор 3,3 В, и IDC разъём припаян для подключения. В отличие от оригинальной версии, китайцы, конечно, на аппаратной части значительно сэкономили. Во-первых, это отсутствие защитных диодов по входам. В оригинальной версии это есть. Также там присутствует предохранитель, SMDшный стоит, по питанию. И самое большое отличие – это применение многослойной печатной платы. Здесь же плата двухслойная. Соберём прибор и приступим к обзору программной части. Итак, это старая версия программы, 1.1.15. Анализатор у нас не подключён, и сейчас мы можем воспользоваться программой в режиме симуляции. Но об этом попозже. Начнём с настроек, их не так много. Первое это размер буфера, то есть, то количество сэмплов, которое мы можем увидеть левее первого срабатывания триггера. По умолчанию 10 миллионов, но можем изменить от 1 до 1000. И активировать длинную запись, до 1 триллиона сэмплов. Но здесь предупреждение, что это займёт много памяти. Далее, настройки интерфейса и проверки обновлений, настройки для 16-канального анализа. И здесь мы можем указать папку с дополнительными плагинами, анализаторами протоколов. Настройки захвата, количества сэмплов, от 1 миллиона до 10 миллиардов, и частота сэмплирования, от 25 кГц до 24 МГц.

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

Настройки триггера весьма скромные это у нас либо восходящий фронт, либо спадающий фронт. И для остальных каналов мы можем задать дополнительные условия. Сейчас синхронизация запустится в момент, когда на нулевом канале будет спадающий фронт, на первом канале в этот момент будет высокий логический уровень, на втором низкий, и на третьем высокий. Теперь поддерживаемые протоколы. Их не очень много, но зато есть SPI Ии V2C, самые популярные в микроконтроллерах интерфейсы. Добавляем SPI – и попадаем в настройки. Здесь указываем, к какому каналу подключён какой сигнал. И настраиваем свойства протокола какой бит первый, количество бит на посылку, до 64, 8 стандартно, полярность, фаза тактового сигнала, и какое активное состояние Enable, низкое или высокое. Сохраняем, и программа предлагает нам переименовать каналы. Соглашаемся. И воспользуемся симуляцией. На остальных каналах хаотичная последовательность символов, так как никаких протоколов на них не назначено. Увеличиваем масштаб, Enable, тактовый сигнал, выходящие данные, входящие данные. Последний байт не докодируется, так как в этот момент Enable высокий, то есть, не активна у нас передача. И над каждым байтом его значение. Можем изменить настройки, в какой системе лучше отображать. Мне удобнее в двоичной, вот наши байты в двоичной системе. Справа окно измерений, то есть, наводя курсор, мы видим ширину импульса, период и частоту. Можем добавить скважность, и показывать байт.

Также есть возможность установить курсоры, но работают они весьма странно. То есть, для быстрой навигации это не годится. Мы поставили два курсора, хотим другой байт какой-то посмотреть, и никак быстро перейти к нему не можем. Если нажмём опять на Т1, то заново программа предложит установить курсор. Не очень это удобно, но как есть. Новая версия программы 1.1.34 бета. Этот интерфейс мне нравится гораздо больше. Всё более однородно, лучше отрисовано, и наконец-то можно просто взять – и мышкой перетащить канал в нужное место. Или даже несколько каналов. А не лазить через меню, как в предыдущей версии, которая в этой версии также на виду. Можно изменить также вертикальный масштаб канала. И по правому щелчку тоже появляется меню. Продолжительность захвата теперь устанавливается не только в сэмплах, но и по времени, в миллисекундах или в секундах. Поставим 10 секунд, 4 МГц, частота сэмплирования. Как видите, в новой версии наш китайский анализатор определился без проблем. Добавилось довольно много новых протоколов, как вы видите. Не буду все перечислять, но вот даже USB 1.1, PS/2, JTAG, и даже HD44780. Теперь можно отлаживать дисплей. Дальнейшую работу я покажу на реальном устройстве. добавим протокол SPI, входящих данных у нас нет. И протокол, по умолчанию все настройки. Скроем пустые каналы, и сделаем побольше оставшиеся. Скрыть каналы, выделим все, увеличиваем масштаб…
Настройки синхронизации в этой версии расширились. Хотя по-прежнему им далеко до профессиональных логических анализаторов, но всё равно, это уже какой-то шаг вперёд. Помимо синхронизации по восходящему и спадающему фронту, есть возможность синхронизации по ширине импульса, как положительного, так и отрицательного. Сейчас нам это не понадобится. Установим синхронизацию по восходящему фронту. Проверим настройки, 10 с, частота 4 МГц. Нажимаем старт, и ждём события от триггера. Событие произошло, сделаем несколько посылок… Думаю, хватит. Вот наша первая посылка. Почему-то здесь не произошло распознавание отправляемых данных. Очень странно… Надо будет проверить в ранней версии программы. Возможно, это связано с бета версией. Вот они, наши тактовые импульсы. И в конце защёлкивающие импульс, который выводит данные на выходы регистра. Проверим остальные посылки… Да, в остальных всё в порядке. Настроим на двоичное отображение… Давайте посмотрим, что с первой посылкой в старой версии программы. Нажимаем Старт и ждём события от триггера. Так, первая посылка… Тоже не докодировалась. Очень жаль. Остальные проверим. Уже вижу… Да, всё в порядке.

Теперь о новых плюшках. Появилась вкладка аннотаций. Здесь мы можем добавить закладку, пару маркеров, так же, как в предыдущей версии, или измерение. Добавляя закладку, мы просто сохраняем текущую позицию экрана и при навигации можем легко вернуться. Пара маркеров, так же, как и в предыдущей версии, но работает, конечно, намного лучше. Во-первых, мы можем поставить несколько пар. И во-вторых, опять же, есть возможность навигации по ним, довольно удобно. Первая пара, вторая… Мы можем неограниченное количество их использовать. Также можно добавить измерения. Что это такое? Штука довольно полезная. Похожее на пару маркеров, но более функциональное. Так же устанавливаем начальную и конечную точку, и теперь это измерение у нас всегда отображается.
В настройках можем указать необходимые отображаемые величины средняя частота, средняя скважность, количество фронтов, восходящих и нисходящих, количество положительных и отрицательных импульсов, максимально узкий положительный, максимально широкий положительный импульс. Также отрицательный, период, средний период и количество периодов. При наведении курсора теперь сверху сигнала отображается измерения. Хотя мы можем настроить отображение как и в предыдущей версии в боковой панели, этот режим мне не очень нравится. Гораздо удобнее сразу все измерения при наведении курсора. Из новых плюшек — это список декодированных данных. Можем использовать его для быстрой навигации. Также доступен поиск по этому списку, но пока работает он весьма странно. То ли количество символов в строке ограничено, то ли эту функцию пока ещё не доделали. То есть, попробуем найти, допустим, 01 00 1111. Ничего. А если без пробелов… Тоже ничего. И попробуем полностью ввести строку… Всё, опять ничего. Надеюсь, в следующих версиях программы они эту штуку профиксят, так как это довольно полезно.

Небольшое неудобство – то, что при установке продолжительности захвата в сэмплах нельзя ввести 10 и поставить букву М, чтобы установить 10 миллионов сэмплов. Обязательно надо ввести именно цифрами, 10 000 000. Попробуем посмотреть какой-нибудь более скоростной интерфейс, например, I2S. Анализатор сейчас подключён к ЦАПу, и я подключу по порядку все каналы. CLOCK – это BIT CLOCK, FRAME – WORD CLOCK, и DATA — объяснять не нужно. Здесь нет сигнала, только MASTER CLOCK. Все остальные параметры оставляем по умолчанию, так как формат передачи I2S. Сохраняем. Скроем ненужные каналы опять. Сейчас у меня воспроизводится файл с частотой дискретизации 44,1 кГц и разрядностью 16 бит. Итак, вот они, наши 44 кГц на WORD CLOCK. BIT CLOCK, как мы видим, не очень симметричные импульсы. Но нам важно только моменты спадающих фронтов. И время между ними всегда одинаковое. Так что никаких проблем. И поочерёдно первый и второй каналы. Так как в настройках у меня установлено 24 бита на слово, а проигрывается 16, то, естественно, последние биты заполнены нулями. Я переключился на другой файл, 96 кГц с разрядностью 24 бита. Итак, 96, BIT CLOCK… Опять немножко несимметричные импульсы, но расстояние между ними всегда одинаковое, так что никаких проблем. И уже в каждом слове реальных 24 бита.




Оставьте комментарий к этой записи

* Текст комментария
* Обязательные для заполнения поля