Логический анализатор зачем нужен
Перейти к содержимому

Логический анализатор зачем нужен

  • автор:

Логический Анализатор

Собственно в разработках очень часто не хватает не столько осциллографа, сколько логического анализатора. Сначала хотел сделать сам, но написание своего софта под комп показалось довольно трудоемким и сложным, и по сути изобретением велосипеда. Поэтому стал искать на китайских сайтах недорогой USB логический анализатор — и нашел (например вот)
Через месяц это чудо пришло — но как анализатор работать не хотело ) Тогда стал искать в нете инфу по этому поводу и нашел вот эту статью, где все довольно хорошо расписано. Все сделал как в ней и было описано. На всякий случай повторю все и здесь, мало ли тот ресурс закроют, а драйв будет жить ))
Итак на самом деле то, что китайцы продают под видом логического анализатора на самом деле является отладочной платой для микроконтроллера CY7C68013A фирмы Cypress. Его основная фишка в том, что у него нет своей памяти (кроме RAM) и программу а также VID и PID он считывает с внешней памяти. Таким образом его можно выдать за любое устройство (в том числе и за Saleae и USBee).
Первая проблема в том, что прошивки адаптеров Saleae и USBee требуют работы с внешней памятью меньшего размера чем устанавливают китайцы на плату (у меня она шла с памятью 128К). Итак нужно поставить микросхему памяти 24LC02B (2k) взамен стоящей AT24C128 (128к).
Следующим шагом нужно сделать так чтобы можно было подключать микроконтроллер к компу с отключенной внешней памятью. Это нужно для того чтобы он вместо того чтобы считать VID и PID и программу с памяти и определиться как то, что там записано, определился как сам контроллер. Это нужно чтобы с помощью специальной программы от Cypress использовать этот микроконтроллер для прошивки этой самой внешней памяти.
Для того чтобы контроллер не мог общаться с внешней памятью автор статьи предлагает подключить линию SDA через ненужный для анализатора джампер J1. Что собственно я и сделал.

Итак выпаиваются резисторы R7 и R8 (1), режется линия от джампера J1 к VCC (2)(4), припаивается перемычка (3) от 5-ой ноги (SDA) микросхемы памяти к паду резистора R8, который соединен с джампером J1.

Далее режется линия SDA (5) и прокладывается перемычкой новая (6) от контакта джампера, который сидел на VCC, до микроконтроллера.

Далее устанавливаем программу CySuiteUSB (есть в архиве в конце). Затем подключаем девайс с отключенной перемычкой. Если Винда семерка, то до подключения надо перезагрузиться и нажимая F8 выбрать пункт отключения проверки цифровой подписи драйверов. Драйверы нужно ставить из папки Drivers (в архиве). Для семерки нужно указывать папку Driver\wlh.
После установки драйвера появится устройство Cypress EZ-USB FX2LP No EEPROM. Далее возвращаем перемычку на место (не отключая устройства от компа) и запускаем USB Control Center. Там выбираем Program FX2->Small EEPROM и выбираем файл saleae.iic или usbee.iicв (тоже в архиве) зависимости от того какой девайс хотим получить. После записи внизу в строке состояния появится Programming succeeded.
Я прошил себе saleae. Отключаем девайс
Далее ставим программу Saleae Logic и подключаем девайс. В программе появится надпись Connected.
Сам контроллер питается от 3.3 вольт, но входы у него толерантны и к 5-и вольтам, но на всякий случай я всеже решил сделать буфферную плату на микросхеме 74lvc245 (печатка ее лежит в архиве)

она одевается на отладочную платку и получается такой бутербродик

Данный анализатор может распознавать следующие протоколы

ну и просто данные по 8-и каналам с частой до 24 Мгц. На счет 24 мегагерц я не проверял, но 200 килогерцовый шим при сважности 1% (т.е импульс длительностью 0,05 мкс что по сути соотвествует 20МГц) было видно.

Обновлено 07.09.14
Время идет вперед (свой анализатор я покупал 2-а года назад) и теперь есть за те же деньги клон логического анализатора Saleae , работающий без всяких доработок. За ссылку спасибо EXEcutorXS

Поиск неисправной микросхемы с помощью логического анализатора

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

Очень часто на платах присутствует несколько микроконтроллеров, которые общаются между собой посредством интерфейса SPI, I2C или какого-то другого. И почти всегда на старте центральное управляющее устройство проверяет правильную инициализацию управляемых устройств. Такая проверка осуществляется установкой связи с управляемым микроконтроллером и попыткой чтения или записи некоторых значений регистров. И в случае сбоя отправляется сигнал сброса RESET на все устройства.
Например, в автомагнитоле HU-850 это можно заметить по характерным повторяющимся щелчкам в колонках с периодом в 3-5 секунд после включения.

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

Вот так в даташите выглядит схема выводов. Так как микросхема может состоять из нескольких блоков, то и питание на них может подаваться раздельно и лучше прозвонить их все и убедиться, что с этим все в порядке.
На схеме красным цветом обозначил выводы питания — Vss(земля) и Vdd(+3.3V). А сигнал RESET подается через 42-ю ногу с подписью DSP_RESET. Надеюсь сами её на картинке найдете 🙂

Процедура сброса так же описывается в даташите. Active low означает, что на эту ногу подается постоянное напряжение +5V и сброс произойдет, когда напряжение упадет близко к 0.

Для определения того, что управляющий контроллер посылает сигнал сброса на другие устройства, необходимо установить мультиметр в режим проверка постоянного напряжения +20V и поставить красный щуп на пин 42 DSP_RESET, а черный на землю. Если на протяжении 10-15 секунд вы будете наблюдать постоянное напряжение без падения, то сброса не происходит. Для более точного определения лучше подключить осциллограф, но не у всех он есть. Такую процедуру лучше провести для всех микроконтроллеров в схеме, так как они могут управляться разными каналами сброса с центрального контроллера.

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

В этом случае нам необходимо будет проверить сигнал на входе в I2C интерфейс. На этой микросхеме вывод A0 заземлен, так как он таким образом формирует режим подчиненного устройства(slave) для этого микроконтроллера. А на выводах SCL и SDA должно быть почти постоянно напряжение +5V. При передаче данных напряжение будет падать и это означает, что сигнал с управляющего устройства по крайней мере доходит до вывода микросхемы 🙂

На фото я обозначил входы I2C шины, которые подаются через резисторы на ноги микросхемы. Левая нога это SCL, а правая SDA.

После того как мы убедились, что с питанием микросхемы все в порядке, а по интерфейсу I2C идут какие-то данные, но центральный контроллер все равно посылает сигнал сброса, необходимо подключить логический анализатор и убедиться, что все подчиненные микроконтроллеры отвечают на запросы центрального.
Для этого необходимо иметь логический анализатор. Я купил такой на Ozon за примерно 900 рублей. На Алиэкспрессе будет дешевле раза в два 🙂

Для анализа нам потребуется программа Saleae Logic, которую можно скачать с сайта абсолютно бесплатно.
Скачать Saleae Logic

Учтите, что логический анализатор, так же как и большинство программаторов не будет работать от урезанного вывода USB на передней панели компьютера. Я сперва даже подумал, что мне нерабочий продали 🙂 Но подключил сзади напрямую в плату и все заработало.

Теперь подключаем каналы анализатора к выводам микросхемы и запускаем процесс.

Специальные захваты для ножек микросхем с логическим анализаторов в комплекте не идут и я покупал их на Aliexpress. Но можно использовать иглы от BDM рамки, как на первом фото.

Я подключился к соседней микросхеме, так как они работают по одной шине и увидел такую картину в программе анализа.

Как можно видеть справа, обмен данными идет с двумя устройствами с адресами 0x1E и 0x1C. И первое устройство передает какие-то данные, а вот 0x1C не отвечает на запросы управляющего микроконтроллера. Адресацию устройства можно посмотреть в даташите. В моем случае 0x1E это маленький квадратный контроллер, а 0x1C это как раз исследуемый прямоугольный SAA7709H.

! Рекомендую в случае нескольких контроллеров на одной шине подключить захваты на все микросхемы к выводам SDA и SCL и протестировать каждую. Так как при подключении к «неисправной» микросхеме 0x1C я увидел такую картину:

А должно быть вот так:

То есть, по каналу SCL(канал синхронизации, снизу графика) напряжение подается нормально и сигнал проходит. А вот по каналу SDA(сверху) нет нормальной формы сигнала данных. Это означает, что что-то не так с напряжением. Замерил еще раз мультиметром и анализатором до и после резистора и оказалось, что до резистора сигнал приходит нормальный, а после уже неправильный. Проверил резистор, он работает нормально, КЗ нет, сопротивление соответствует маркировке. Пропаял ногу SDA и точку рядом и сигнал начал проходит нормально.
(на этом скрине SCL и SDA были подключены наоборот. SCA теперь снизу, а SCL сверху)

Микросхема начала отвечать на запросы центрального микроконтроллера.

Сигналы RESET перестали поступать и магнитола нормально заработала.

P.S. Подписывайтесь на мой блог, если интересуетесь ремонтом автомобильной электроники 🙂

Обзор USB-осциллографа Hantek DSO-6022BL с логическим анализатором и гикпорном

Предлагаю вниманию уважаемой аудитории обзор осциллографа/логического анализатора Hantek6022BL.

Заинтересованных прошу под кат.

Технические характеристики
  • каналов: 2
  • полоса пропускания: 20 МГц
  • частота дискретизации: 48 Msa/s
  • объем памяти: 1Ms
  • интерфейс: USB 2.0
  • логических каналов: 16
  • пропускная способность: 10 МГц
  • объем памяти: 48Msa
  • глубина памяти: 1 Ms
  • размеры: 205 х 120 х35
  • питание: от порта USB
  • вес: 0,382 кг
Внешний вид

Внешний вид однозначно на 5. Блестящий и стильный алюминиевый корпус, пластиковые накладки, зеркальная надпись Hantek. Сразу видно, на дизайне здесь не экономят.

Вид спереди. Два BNC-разъема для щупов, разъем логического анализатора, контакты для калибровки. Всё предсказуемо.

USB, загадочная кнопка и не менее загадочный лючок с надписью USBXI, под которым прячется странный разъём.

Комплектация

В комплект входит сам осциллограф, шнур USB, два шлейфа к логическому анализатору, 20 зажимов для логического анализатора, два щупа к осциллографу в комплекте с разноцветными маркировочными колечками и отвёрточками для подстройки частотной характеристики щупа. Щупы носят название PP-80, однако имеют полосу пропускания 60 МГц, а не 80, как можно было бы подумать. Причины этому кроются, как мне кажется, в свойствах сумрачного китайского гения.
Также есть диск с ПО, малополезная в наши дни вещь.

Субъективные впечатления

На первый взгляд, превосходная вещь. Компактный, легкий прибор, в очень качественном алюминиевом корпусе (как Ipad, пишет на aliexpress продавец).
Помимо перечисленных интерфейсов, на корпусе устройства имеется кнопка с фиксацией (и это не выключатель питания, как можно было бы подумать) и разъем с маркировкой USBXI, не описанный в документации, и, вероятно, предназначенный для соединения нескольких устройств между собой. Также есть контакты встроенного калибровочного генератора.
Настала пора установить ПО и включить устройство.

Начало работы

Программное обеспечение проще всего скачать с русского сайта hantek.ru, даже не требуется регистрация, в отличие от «главного» сайта hantek.com. Инструкция на английском языке, программное обеспечение тоже, хотя на сайте есть и русификации.
Итак, ПО скачано, установлено, прибор подключен к компьютеру. Подключаем щупы, подсоединяем их к контактам калибровочного генератора и запускаем программу осциллографа. Видим два сигнала прямоугольной (почти) формы. Отверточкой подстраиваем щупы так, чтобы сигналы приобрели идеальную прямоугольную форму.
После того, как прибор прогрелся в течение 20 минут (по инструкции), делаем самокалибровку. Вроде бы ничего не изменилось, но на душе стало спокойнее.

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

Развёртка

Триггер имеет единственный режим запуска: Edge (по фронту), пользователь может выбрать источник (канал 1 или канал 2 и фронт, положительный или отрицательный).

Позволю себе лирическое отступление. Когда я учился в институте, некоторые преподаватели очень не любили выражения типа «передний фронт» и «задний фронт». Фронт бывает только передним, по определению, говорили они, поэтому нужно говорить просто «фронт», а то, что называют «задним фронтом», правильно называть «спадом». В глубине души я с ними согласен, но здесь я буду употреблять словосочетания «передний фронт» и «задний фронт».

Предусмотрен автозапуск, режим «Normal», и однократный запуск. Больше никаких «хитрых» режимов триггер не имеет.

Горизонтальная развёртка настраивается в пределах от 1 ns (совершенно бесполезный диапазон для данного прибора) до 3000 секунд. Есть режим отображения с горизонтальной развёрткой (x(t), y(t)) и с режим X-Y (удобен, например, для фигур Лиссажу).

Чувствительность каналов

Чувствительность каналов настраивается в пределах 200mV/дел до 5V/дел при коэффициенте щупа 1:1, и позволяет работать с щупами с делителями до 1:10000 (честно, никогда таких не видел, это должна быть очень высоковольтная штука).

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

Канал «математики»

Отображается в виде третьей осциллограммы и может отображать сумму, разность, произведение и частное значений сигнала в каналах A и B, а также спектр (FFT). Для FFT можно выбрать тип окна: прямоугольное, Хэмминг, Хэннинг, Блэкман. Можно выбрать линейную или логарифмическую шкалу амплитуд.

«Ref» канал

На самом деле это не какой-то особый канал, это просто отображение на экране ранее сохранённого сигнала рядом с текущими, например, для сравнения.

Режим измерений
«Горизонтальные» измерения

Измеряется период и частота сигнала, время нарастания и спада сигнала, ширина импульса и ширина промежутка между импульсами в единицах времени и в процентах к полному периоду.

«Вертикальные» измерения

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

Режим курсорных измерений

Пожалуй, единственный режим, который в «виртуальном» осциллографе удобнее чем в «настоящем». Просто выделяем мышкой прямоугольник на экране и видим deltaT и deltaV. Курсорных режимов три: вертикальный, горизонтальный и “cross”, то есть и тот, и другой сразу. Зачем при этом нужны первые два, непонятно.

Автоустановка

«Волшебная» кнопка, которая настраивает оптимальный (по мнению программы) режим отображения.

Интерполяция

В силу дискретной природы измерений, отображаемые данные могут быть интерполированы следующим образом: «ступенчатый» режим, то есть отсутствие интерполяции, «линейный» режим и интерполяция вида sin(x)/x, которая, теоретически, должна быть наиболее точной. К сожалению, эффекта от её включения увидеть так и не удалось.

Настройки отображения

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

Сохранение данных

Осциллограммы можно сохранять в разных форматах: txt, xls, doc и bmp. Первые три представляю собой просто значения отсчётов в текстовом виде, последний является скриншотом осциллограмм. Еще есть ref-формат, предназначенный для работы с ref-каналом.

На картинке выше показан интерфейс программы с двумя сигналами по входам А и В, с каналом математики, в который выводится FFT, с курсорами и с включенным режимом измерений.

В целом, осциллограф как осциллограф, только простейшие функции, но работают нормально. Можно было сделать лучше. Оценка 4.

Логический анализатор

Логический анализатор отображается в отдельном окне.

Мы видим 16 сигналов и … всё. Никаких настроек, никаких условий запуска, ничего вообще. Запуск захвата сигналов производится вручную кнопкой. Впрочем, одна настройка есть, SampleRate можно выбрать в пределах от 100 kSa/s до 48 kSa/s. Захват сигналов происходит до заполнения памяти (1M сэмплов).

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

В общем, за анализатор оценка 2 с плюсом (всё-таки хоть что-то работает). Может быть, есть некоторая надежда, что логический анализатор будет работать лучше в следующей версии ПО.

Альтернативное ПО

Ничего хорошего в этом плане пока нет. Есть альтернативное ПО для DSO-6022BE, но оно не заработало с этой моделью. К тому же оно практически ничем не отличается от родного, кроме небольших изменений в дизайне GUI.
Есть ПО для приборов Hantek под Linux, но оно вообще не поддерживает линейку DSO-6000.

Драйвера

Windows 7 автоматически ничего не нашла, конечно же, пришлось ей указывать папку с драйверами вручную.

Загадочная кнопка и разъём на задней панели

Насколько можно понять из руководства, эта кнопка предназначена для вызова ПО. Однако она этой функции не выполняет, и является на данный момент просто кнопкой-для-красоты. То же самое можно сказать и о разъеме USBXI. Даже если он и предназначен для объединения нескольких приборов в один, то ни кабеля, ни каких-либо следов поддержки этой функции в ПО найти не удалось.

Общая оценка

Это, конечно, игрушка. Если использование осциллографа является вашим повседневным делом, то лучше купить нормальный осциллограф, без приставки «USB». Даже недорогой осциллограф имеет гораздо больше возможностей и функций. Не говоря уже об логическом анализаторе.
Однако, если осциллограф вам нужен редко, или если у вас очень ограничен бюджет, то работать с этой моделью можно.

SDK

Производитель выложил SDK, что может открывать некие нетривиальные возможности использования прибора, например, в автоматизированных измерительных комплексах. Но SDK я пока не смотрел.

Гикпорн

Что же у него внутри?

Снимаем пластиковые накладки и отвинчиваем переднюю и заднюю крышки. Теперь можно вынуть плату.

Фото платы

Что есть что на этой плате? Я обозначил цифрами все микросхемы. Давайте посмотрим, что есть что.

1. «Мозгами» является микроконтроллер Cypress cy7c68013a-100axc (http://www.cypress.com/?docID=45142). Микроконтроллер на ядре 8051 с интерфейсом High-speed USB. В принципе, понятный выбор. Высокой скорости от процессора не нужно, т. к. вся обработка происходит на стороне компьютера, но нужен быстрый USB.

2. SN74LVC16245A (http://www.ti.com/lit/ds/symlink/sn74lvc16245a.pdf) — фронтенд логического анализатора. Обычный 16-разрядный буфер.

3. 24LC02BI (http://ww1.microchip.com/downloads/en/DeviceDoc/21709J.pdf) – EEPROM на 2 kb, для хранения каких-либо настроек. Почему их две, непонятно.

5. Inout A0505S-2WR (http://pdf1.alldatasheet.com/datasheet-pdf/view/611588/MORNSUN/A0505S-2WR2.html) – преобразователь +5V в двуполярное напряжение 5V для питания аналогового фронтенда.

7. EL5166 (http://www.intersil.com/content/dam/Intersil/documents/el51/el5166-67.pdf) – широкополосный операционный усилитель фирмы Intersil (полоса при единичном усилении 1,4 ГГц).

8. 74HC4051 (http://www.nxp.com/documents/data_sheet/74HC_HCT4051.pdf) — 8-и канальный аналоговый мультиплексор/демультиплексор

9. Самая интересная микросхема, АЦП, скрыта под радиатором. Небольшой нагрев паяльником, и радиатор отклеился, а под ним оказалась AD9288 (http://www.analog.com/static/imported-files/data_sheets/AD9288.pdf) – 8-bit ADC, 2 канала по 100 MSa/s.

Всё сделано предельно просто и минималистично, но аккуратно. Даже слишком просто, я надеялся увидеть хоть какую-нибудь ПЛИС. Аналоговый фронтенд имеет большой запас по частоте, это очень хорошо. Во «взрослых» осциллографах часто используется одно и то же железо для целого модельного ряда, а полоса частот у младших моделей обрезается программно, из маркетинговых соображений. Зная необходимый танец с бубном, можно получить из младшей модели старшую, использующую возможности железа на все 100%.
Но в данном случае старшие модели из этой же линейки имеют частоту дискретизации 150 и 250 МГц, то есть, как минимум другой АЦП.

Цена

Цена на момент покупки: 3866 рублей (на aliexpress). Цена на официальном российском сайте hantek 4400 рублей, например.

Стоит ли он этих денег, решать вам. На мой взгляд, если прибор приобретается для несложных задач (поиграться с ардуиной, например), то вряд ли вы найдёте что-то дешевле со сравнимыми параметрами. А для серъёзной работы рекомендую всё же потратиться на портативный настольный осциллограф.

На этом пока всё. Просьба о замеченных неточностях и ошибках сообщать в личку.

  • осциллограф
  • dso
  • логический анализатор

Логические анализаторы

Часто при разработке или отладке радиоэлектронных устройств состоящих из нескольких компонентов(микроконтроллер, АЦП, I2C память, итд) хочется посмотреть на общение этих компонентов между собой. Чтобы наконец понять почему всё написано «правильно», но ничего не работает. В целом для этого можно использовать цифровой осциллограф, но осциллографы с 4 каналами стоят достаточно дорого, да и не очень это удобно. Гораздо приятней такая задача решается при помощи логического анализатора. Логический анализатор по сути похож на осциллограф, но если основная задача осциллографа отображение изменение аналогового сигнала с чем он замечательно справляется, то цель логического анализатора запись цифрового(но не всегда только цифрового) сигнала с последующим его анализом в удобных программах.

Ниже я опишу опыт работы с логическими анализаторами Logic Pro 8 от Saleae ценой около 480$ и DSLogic Pro от DreamSourceLab(скорей всего копия) ценой $99 мне достался за 73$.
Кому стало интересно добро пожаловать под кат.

Технические характеристики

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

Число цифровых каналов 8 16 Чем больше тем лучше, но за год использования больше 4 пока было не особо нужно
Число аналоговых каналов 8 0 Для аналога предпочтительней всё же осциллограф, но иногда бывает удобно увидеть, что творится не только в цифре на канале, но и в аналоге.
Интерфейс USB 2.0 / USB 3.0 USB 2.0 USB 3.0 предпочтительней если он у вас есть конечно. Хотя момент спорный, ниже опишу почему.
Частота сэмплирования цифровых каналов Чем больше тем лучше, но в случае есть один нюанс, но об этом ниже.
Частота сэмплирования аналоговых каналов Чем больше тем лучше.
Диапазон напряжений цифра/аналог: Тут у Logic Pro 8 на выбор три пороговых напряжения 1.2V/1.8V/3.3V.
У DSLogic Pro выбор от 0V до 5V с шагом 0.1V также у него значится защита от перенапряжение -30V — +30V.
Внутреннее сопротивление каналов 1,8 MOm 250 кOm Чем больше тем лучше, меньше оказывается наводок на исследуемую схему.
Буфер 256Mbits Чем больше тем лучше, от этого параметра зависит сколько сэмплов может захватить анализатор не передавая их в компьютер. Вещь крайне полезная особенно для UBS 2.0
Глубина выборки в теории не ограничена 16MS на канал Чем больше тем лучше, Logic Pro 8 использует память PC глубина выборки может быть очень большой, однако буфера DSLogic Pro тоже хватает.

В общем по многим характеристикам Logic Pro 8 имеет перевес, особенно в плане аналоговой части. Однако отсутствие буфера сказывается отрицательно, во-первых скорость падает в два раза при использовании 4 каналов, и в 4 раза при использовании 6 и больше каналов. Но это не все, так как скорость плотно завязана на USB шину то казусы случаются если эта шина загружена, иногда достаточно подключить к одному USB хабу UART кабель, чтобы программа ругнулась и сказала, что скорости USB не хватает и скорость захвата будет снижена. Не то, чтобы это бывает часто и сильно мешает, но помнить про такое стоит.
Из особенностей DSLogic Pro хочется отметить ещё наличие внешней линии клока, и сигналов внешнего входа триггера, и выхода триггера.

Внешний вид и комплектация

Комплект Logic Pro 8:

  • сам анализатор
  • два коннектора с разноцветными проводами, по 4 канала на коннектор
  • 16 клипс для соединения с ногами микросхем, проводами, итд
  • USB 3.0 кабель USB-A to MictoUSB 3.0

Фотография на столе

Комплект DSLogic Pro:

  • сам анализатор
  • широкий коннектор на 16 каналов плюс дополнительные сигналы,
  • 16 разноцветных клипс для соединения с ногами микросхем, проводами, итд
  • USB 2.0 кабель USB-A to MictoUSB

Фотки с распаковки

Сравнение

Если сравнивать комплектацию то она приблизительно одинакова. Однако на мой взгляд коннектор с проводами для гораздо удобнее и приятней в обращении, провода более мягкие и гибкие. Клипсы у Logic Pro 8 в несколько раз удобнее. Во-первых имеют два штыря для соединения с проводом анализатора, что удобно, и во-вторых штыри для соединения находятся сбоку, что упрощает зацепку клипс с уже подключённым к ним проводом. У DSLogic Pro штырь находится сверху, что усложняет его подключение в разы, хотя по хваткости клипсы не отличаются, но общее качество всё же хромает.

Несколько сравнительных фото

Программное обеспечение

Какой бы не был хороший логический анализатор, без хорошего софта удобства работы с ним не будет. Хороший софт должен быстро отображать захваченные данные, позволять смотреть их характеристики такие как частоту, скважность. И очень хорошо, что бы он умел расшифровывать общеизвестные протоколы. Это невообразимо удобно указать где находятся ноги I2C и увидеть, что же именно происходило на шине с точки зрения I2C протокола, а не сидеть и чесать затылок вглядываясь и пытаясь понять так ли оно всё и какой здесь записался адрес. Каждый анализатор комплектуется своей программой:

Saleae Logic

Анализаторы Saleae комплектуются Saleae Logic

Программа мультиплатформенная, поддерживаются все версии Windows начиная с XP(год назад были проблемы с Win 7 и выше, в новой версии Win 7 работает без нареканий, выше не тестировал), Mac OS X 10.7 Lion+ устанавливалась и работала без нареканий, Ubuntu 12.04.2+ у меня так и не заработала(тестировал год назад на старой версии программы сейчас может работает), но я особо и не пытался.

Поддерживает большой список протоколов для анализа I2C/SPI/UART/CAN, работают без нареканий. Возможен захват как по ручному старту так и по триггеру на одном из каналов. Из недостатков на длинных выборках начинает достаточно сильно тормозить.

Из фич программы стоит отметить, возможность управление по telnet-подобному протоколу, наличие SDK для написания своих декодеров протоколов. Протоколы пишутся на C++, что усложняет процесс их написания.

DSView

DSLogic Pro комплектуется программой DSView:

Тоже мультиплатформенная программа поддержка Windows начиная с XP, Mac OS X 10.11.4, Linux(прога идёт в исходниках). По возможностям программа превосходит Saleae Logic, имеются более продвинутые триггеры с поддержкой сразу нескольких каналов, список протоколов достаточно обширен. Но тут разработчики пошли дальше и на протокол можно ещё навесить возможность расшифровки работы с конкретной реализацией этого протокола. Например Можно выбрать протокол I2C и реализацию 24СXX и после этого сразу прочитать, что именно происходило на шине с точки зрения данной микросхемы. Как протоколы так и их реализации пишутся при на Python, что по идее должно упростить написание и отладку. Тормозов в работе замечено не было.

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

Простое тестирование

Для простой проверки анализаторов была использована дев.плата DE0-Nano-SoC на которой были сгенерированы меандры от 200Mhz каждый следующий получен делением на 2 предыдущего (200/100/50) попробую захватить их имеющимися анализаторами.

На DSLogic Pro удалось захватить 200Mhz/100Mhz/50Mhz ниже и так понятно, что всё идёт отлично. Сказать, что 200 и 100 были захвачены идеально нельзя иногда есть небольшое уплывание частоты и скважности, но в целом нормально, на 50 уже всё идеально.

DSLogic Pro

Seleae нормально не смог снять 200Mhz и 100Mhz, но 50 Mhz уже идёт идеально.
Logic Pro 8

И всё-таки к таким замерам я бы серьёзно не относился, 200Mhz замерять просто «накидными» проводами наверное перебор, но попробовать стоило.

Для эксперимента попробуем захватить передачу данных по I2C(передачи разные поэтому данные не сходятся).

Seleae

DSLogic Pro

Всё отлично читается, понятно где какое событие наступило, какие адреса и данные были переданы. Никакой возни.

Тоже самое для CAN:

Seleae

DSLogic Pro

Результат такой же как и в I2C всё наглядно понятно за минимальный промежуток времени.

Выводы

Оба логических анализатора отлично справляются со своими задачами. Не смотря на разницу в цене выделить кого-то в лидеры я бы не смог, у них есть и плюсы и минусы. На стороне Saleae внешний вид, удобные провода, качественные клипсы, USB3.0 и аналоговые каналы, стоит ли за это отдавать 400$ вопрос сложный, если есть возможность то почему бы и нет. На стороне DSView больше каналов, вход для внешнего клока и триггеров, буфер внутри анализатора, OpenSource софт, и цена. И тот и другой может очень сильно облегчить и ускорить работу по наладке своих или чужих схем, и изучению.сторонних протоколов.

Если есть вопросы – спрашивайте.

PS. Seleae используется у нас около года проблемы были только с ранними версиями софта под Win7 и выше, DSView купил для личного пользования около недели назад по пока нареканий нет, но и время пользования небольшое…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *