Вконтакте Facebook Twitter Лента RSS

Одноканальный логический анализатор из компьютера. Доработка логического анализатора из китая

Логический анализатор - незаменимый помощник при отладке цифровой схемотехники. Давайте рассмотрим основные приёмы работы с логическим анализатором Saleae Logic Analyzer и его китайскими аналогами.

Для работы нам понадобится:

  • соединительные провода (рекомендую вот такой набор);
  • макетная плата (breadboard).

1 Технические характеристики логического анализатора Saleae logic analyzer

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

В таблице перечислены основные параметры логического анализатора, моей китайской копии анализатора фирмы Saleae .

2 Установка драйвера для логического анализатора Saleae

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

Если у вас копия другой фирмы, например, USBee AX Pro, то с большой долей вероятности для него также подойдут драйверы от производителя анализатора-оригинала.

3 Примеры работы с логическим анализатором

Для первого эксперимента возьмём преобразователь USB-UART на микросхеме FTD1232. Подключим анализатор к порту USB. Выводы каналов с 1 по 6 подключим к выводам USB-UART преобразователя. По большому счёту, больше всего нас интересует только две линии - Rx и Tx, можно обойтись только ими. Преобразователь определился в системе как COM-порт. Запустим любую терминалку (вот, например, неплохая программа для работы с COM-портом) и подключимся к порту.


Подключение USB-UART конвертера на микросхеме FTD1232 к логическому анализатору

Запускаем программу Saleae Logic . Если драйверы для анализатора установлены корректно, в заголовке программы будет указано Connected - подключено. Допустим, мы не знаем на каком канале будет сигнал, а на каком нет, поэтому не будем выставлять триггер для начала захвата сигнала. Просто нажмём на стрелки большой зелёной кнопки Start (Старт) и выставим в поле Duration (Длительность), скажем, 10 секунд. Это время, в течение которого логический анализатор будет собирать приходящие по всем 8-ми каналам данные после нажатия кнопки «Старт». Запускаем захват и одновременно отправляем в COM-порт какое-нибудь сообщение. Через 10 секунд анализатор закончит сбор данных и выведет результат в поле просмотра сигналов. В данном случае сигнал будет лишь на одном канале, который присоединён к выводу Tx (передатчик) USB-UART преобразователя.


Для наглядности можно настроить декодер перехваченных данных. Для этого в правом столбце находим поле Analyzers , нажимаем иконку в виде плюса - «Добавить», указываем тип - Async Serial . Появится окно с выбором настроек. В первое поле вводим номер канала, на котором у вас данные. Остальное оставим как есть. После нажатия кнопки Save (Сохранить), над полем соответствующего канала появятся метки голубого цвета с отображением значений байтов, которые были перехвачены. Нажав на шестерёнку в данном дешифраторе, можно задать режим отображения значений - ASCII, HEX, BIN или DEC. Если вы передавали в COM-порт строку, выберите режим ASCII, и увидите тот текст, который был вами передан в порт.


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

Аналогичным образом подключим логический анализатор к преобразователю USB-RS485. Линии данных всего две, поэтому можно установить триггер срабатывания по фронту любого из каналов: сигнал в протоколе RS-485 дифференциальный и фронты импульсов появляются одновременно на каждом из каналов, но в противофазе.


Нажмём кнопку «Старт» в программе анализатора. С помощью нашей терминалки подключимся к USB-RS485 конвертеру и передадим какие-нибудь данные. По срабатыванию триггера программа начнёт собирать данные, по завершению выведет их на экран.


Программа Saleae Logic позволяет экспортировать сохранённые данные в виде изображений и текстовых данных, сохранять настройки программы, аннотации и декодеры каналов.

Последний пример в данном небольшом обзоре - захваченный кадр данных, переданный по последовательному протоколу SPI. В канале 2 виден сигнал выбора ведомого, в канале 0 - тактовые импульсы, а в канале 1 - собственно данные от ведущего устройства к ведомому.


Выводы

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

Скачать инструкцию по работе с программой для логического анализатора Saleae

  • Скачать инструкцию по работе с программой для логического анализатора Saleae с Depositfiles.com
  • Скачать инструкцию по работе с программой для логического анализатора Saleae c File-upload.com
  • Скачать инструкцию по работе с программой для логического анализатора Saleae c Up-4ever.com
  • Скачать инструкцию по работе с программой для логического анализатора Saleae c Hitfile.com

Для работы в сложных цифровых схемах китайский логический анализатор вещь крайне необходимая. Подкупает так же и его небольшая цена и удобное программное обеспечение. И он вполне меня устраивал пока не возникла необходимость одновременно просмотреть работу разных узлов схемы, питающихся от разных источников и не имеющих общей земли. Изначально анализатор имеет 8 не развязанных по питанию каналов с амплитудой импульсов на входе 5 вольт. Данная доработка позволяет сделать входы анализатора гальванически развязанными и работать с импульсами амплитудой от 3-х вольт до 25 вольт. Положение галетных переключателей выбирается в зависимости от размаха входных импульсов. Но расчетно схема сохранит работоспособность до 65 вольт.

В схеме используются высокоскоростные оптроны, рассчитанные для работы в оптоволоконных сетях. Частотные характеристики оптрона выше, чем может пропустить анализатор,так как минимальная длительность импульса которую может зарегистрировать анализатор составляет что то около 42 наносекунд. Ток светодиода оптрона выбран в районе 6-7,5mA. Оптрон допускает повышение тока до 15mA. А такой ток возникнет при входном напряжении 65 вольт при положении галетного переключателя "25v".

Конкретно моя плата содержит 4 гальванически развязанных канала и 4 не развязанных с 5-ти вольтовыми входами. Питание подается с платы анализатора. При этом надо провести некоторую доработку: достать из корпуса плату анализатора, перерезать дорожку идущую к выводу 9 разъема и подать на этот вывод через резистор 10 Ом напряжение с правого вывода LM1117.

Схема и конструкция получились достаточно простыми, а возможностей использования добавилось значительно.
При испытании гальванически развязанных входов, для чистоты эксперимента, входы подключались параллельно. Т.е взаимно соединялись 4 входа IN A,B,C,D и соответственно Gnd A,B,C,D . Переключатели устанавливались в одинаковое положение. Импульсы создавались искусственным дребезгом контактов и внешним источником питания на соответствующее напряжение.

При сборке использовались оптроны 6N137, переключатели МПН-1, в делителях стоят резисторы смд0805, но поместятся и 1206.При впаивании шлейфа для подключения к анализатору частично изменена последовательность, но на плате все подписано.

Вместо переключателей МПН-1 можно использовать любые другие, правда при этом придется корректировать печатную плату или использовать провода. Автор - Дубовицкий Николай.

Покупая всякую китайскую электронику для своих «поделок» часто сталкиваюсь с проблемой плохого описания работы,

Тема сегодняшней статьи — использование дешевого китайского логического анализатора купленного на Алиэкспресс .

Что такое логический анализатор? Это такой прибор… для логического анализа))) Сразу приходит на ум фильм с Робертом Де Ниро

Зачем он нужен? Ну конечно же занимать логическим анализом))). А точнее анализом логических уровней разных микроконтроллеров и периферии к ним. То что принято называть реверс инжинирингом.

Характеристики

  • Совместимость по софту с Saleae Logic 8
  • Число цифровых входов - 8
  • Два индикатора - питания и состояние логических входов
  • Входное сопротивление 100КОм, входная емкость 5пФ
  • Питание через USB
  • Поддерживаемые частоты дискретизации:
  • 24МГц,16МГц, 12МГц, 8МГц, 4МГц, 2МГц, 1МГц, 500КГц, 250КГц, 200КГц, 100КГц, 50КГц, 25КГц;
  • Количество сохраняемых значений одного измерения - 10000

С одной стороны разъем на 10 штырьков и распиновкой на корпусе

С другой Mini USB для питания и подключения к компьютеру

Внутренности

Внутри корпуса плата, на ней микропроцессор с высокоскоростным USB интерфейсом CY7C68013A от компании CYPRESS , EEPROM ATMLH432 и шинный формирователь LVC245A от NXP .

На входе анализатора стоят токоограничивающие резисторы 100 Ом, подтягивающие к земле резисторы 100 КОм и конденсаторы 5 пФ. Все честно, как в описании.

Подключение

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

Качество зажимов очень посредственное, но хорошие зажимы обойдутся дороже самого анализатора

Софт

Это, пожалуй, самое интересное в данном анализаторе. К нему подходит родной софт от Saleae Logic .

Доступны версии для OSX, Linux и Windows на 32 и 64 бита.
Saleae Logic 1.2.3 под Windows 7 заработал с пол пинка, софт запустился, железо опозналось, не смотря на надпись версии «Beta».

Интересные плюшки в софте от Saleae Logic

Триггер срабатывания записи логической последовательности на каждый канал

  • На изменения логического уровня в «0»
  • На изменение логического уровня в «1»
  • На положительный импульс заданной длительности
  • На отрицательный импульс заданной длительности

Подсчет статистических показаний по текущему измерению

Декодирования протоколов: Async Serial, I2C, SPI, Hide, 1-Wire, Atmel SWI, BISS C, CAN, DMX-512, HD44780, HDLC, HGMI CEC, I2S/ PCM, JTAC, LIN, MDIO, Manchester, Midi, Modbus, PS/2 Keyboard/Mouse, SMBus, SWD, Simple Parallel, UNI/O, USB LS и FS

Ведение журнала по декодируемому протоколу

Кроме того, данный анализатор можно прошить под софт от USBee

Позанимаемся анализом

Как раз разбирался с подключением ультразвуковых датчиков DYP-ME007Y, на вид абсолютно одинаковыми, но работающими совершенно по разному .

Если один работает точно по даташиту: короткий импульс на «триггер» запускает ультразвуковой импульс и по длительности эхо измеряется расстояние. То второй и третий (с мигающим светодиодом) примерно раз в 100мс без каких либо внешних пинков сам мерит расстояние и посылает его на скорости 9600 в виде четырех байт (включая контрольную сумму). Программа Saleae Logic позволяет включить декодирование сигнала последовательной шины в последовательность байт. Датчики второго типа отлично работают с отключенным выводом «TRIG», хотя может и ждут какой нибудь команды на этом входе, но сие даже волшебный приборчик не покажет.

Далее захотелось посмотреть ШИМ сигнал Aтмеги 168? Включил все шесть каналов поддерживающих PWM на разный уровень и с удивлением обнаружил, что частота двух каналов ШИМ отличается от 4-х других. Задействованы разные таймеры?

А что там на шине данных у моих ?

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

С анализом шины I2C тоже никаких проблем. Софт нормально справился с декодированием.Можно видеть пакеты записи в регистры при работе драйвера дисплея TM1637

RF-приемник на 315МГц, подключенный напрямую к анализатору, получил сигнал с радиовыключателей , и выдал манчестреский код. После подбора скорости манчестреский код превращается умной программкой в последовательность байт.

Интересно, а как с точностью измерения временных интервалов? Точного генератора импульсов у меня под рукой не оказалось, но Ардуиновская tone(1000) на 1000Гц

и tone(20000) на 20КГц дают довольно точный результат.

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

Небольшой итог

Логический анализатор очень нужная и полезная вещь для тех, кто занимается раскапыванием китайской периферии к микроконтроллерам (Назовем красиво - реверс инжинирингом)
Из достоинств данной железки хочу отметить:

  • Привлекательную цену
  • Совместимость с довольно удобным софтом Saleae Logic
  • Защита на входе в виде шинного формирователя LVC245A
  • Малые габариты

Явных недостатков у этой железки для себя не нашел. Жаль, что я не приобрел логический анализатор раньше — сколько времени бы я сэкономил во многих проектах. Несомненно, кому то возможностей данной железки окажется мало. Есть масса более навороченных моделей, но по цена $100-200 делает эти приборы гораздо менее доступными для радиолюбителей.

Поанализируем что-нибудь еще?

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

Внутри: сам анализатор (жена не сразу поверила что эта маленькая фигня — то, за что я отдал почти 3000, и ждал месяц — настолько он маленький), USB-кабель(довольно длинный), провода с захватами, диск с драйверами и ПО, книжка-инструкция по эксплуатации.

красная — цангового типа, мелкая, очень удобная — легко цепляет ногу attiny2313 в SOIC

Используется только нижняя половина разъема, это 8 каналов, GND, VCC(который имеет двоякое назначение: в версии STD это питание входного преобразователя уровней, тоесть, если его запитать от 12в, логической единицей будет 12, а если от 5, то и за «1» будет 5В), на который в этой версии(и в PRO)вывели 5В,100мА, но не подключили ни к одному проводу, а добраться до него при вставленном разъеме нельзя — а на кой мне эти пять воль без возможности измерений?

В версиях выше STD был исключен входной преобразователь уровней, это было сделано для обеспечения совместимости с USBee AX, диапазон которого ограничен +3.3 и +5, а мне например больше и не надо:) А в версии PRO добавлен АЦП, который работает в режиме осциллографа(+-1В, и делитель 1:10 в комплекте).

Верхняя часть разъема содержит в себе переключалку(три контакта, и джампер) режима работы – косить под USBee или работать со своей программой, и контакты TRG, GND, CLK.

Максимальная частота обновления у каждого канала это 24 мГц, а вот с заявленным «неограниченным временем записи» непонятное — судя по поведению программ от AX — в приборе есть некий фиксированный буфер, время заполнения которого зависит от частоты(ее можно уменьшить), который затем передается на комп, и там обрабатывается.

При частоте 24мГц, можно записать максимум 300М состояний время записи при этом составит 12 секунд
Если понизить частоту до 6мГц, можно писать в течении 50 секунд, а при 1мГц буфера хватит на 300 секунд. С учетом того, что можно настроить запись по событию, этого времени должно хватить – у меня пока проблем не возникало.

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

Есть так же вход-выход CLK, с которого можно как тактированить наблюдаемое утройство, так и брать тактовый сигнал с устройства (если он присутствует отдельно в протоколе, как например в SPI)

(в случае версии STD, это единственный вариант, если не перешивать EEPROM, но в этом случае мы лишаемся возможности вывода сигналов, из за входного преобразователя, так как он видимо односторонний)
Простое, умеет расшифровывать I2C, 1WIRE, UART, SPI, имеет SDK для написания своих анализаторов(на.NET).
Минусы:
Написано на.NET – очень любит кушать память, три-четыре измерения сьедают 500мб памяти, приходится перезапускать.
Не умеет расшифровывать ЮСБ
Плюсы:
Сохраняет состояние и настройки анализаторов при перезапуске
Есть функция AutoBaud(удобно при перехвате UART)
Похож на USBee Suite, только не такой функциональный

USBee Suite
Графическая оболочка для пакета программ USBee AX Test Pod
Очень красиво и наглядно, пожалуй на этом все. Умеет все, что умеет USBee AX Test Pod

USBee AX Test Pod
Комплект программ, идущих в комплекте к USBee AX(c другими версиями они немного другие)

Data Logger

Digital Frequency Generator – генератор частот

Digital Voltmeter – вольтметр(нужен аналоговый вход)

Oscilloscope – осциллограф

Pulse Counter – счетчик импульсов


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

Если есть желание прикупить, то можете написать сюда или мне на почту — [email protected] , будет профит в виде скорости и скидки:)

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

0

Vassilis Serasidis Логический анализатор - это инструмент, который позволит увидеть и проанализировать последовательность логических 0 и 1 в цифровом сигнале. К примеру, можно изучить цифровой сигнал с ИК приемника-демодулятора типа TSOP-1736, выходные и входные сигналы микросхемы MAX232, а также шину I2C (линия тактирования и линия данных) во многих электронных устройствах. В статье мы рассмотрим конструкцию миниатюрного 4-канального логического анализатора с ЖК дисплеем от мобильного телефона Nokia 5110/3110. Основой конструкции является микроконтроллер Atmel ATmega8, помимо него используются еще несколько дискретных компонентов. Основные характеристики прибора: 4-канальный логический анализатор; возможность исследования сигналов с частотой до 400 кГц; входное напряжение до +5 В; ЖК дисплей с разрешением 84 × 48 точек; питание от 4 аккумуляторов 1.2 В, максимальное напряжение питания 4.8 В; память: от 3.7 мс для высокоскоростных сигналов до 36 с для низкоскоростных сигналов; кнопки управления; простая конструкция. Принципиальная схема На Рисунке 1 представлена принципиальная схема прибора. Сразу следует отметить, что прибор питается от 4 аккумуляторов с напряжением 1.2 В каждый.
Нажмите для увеличения Внимание!!! Питание от 4 батареек с напряжением 1.5 В недопустимо, при данной схеме прибора, так как напряжение 6 В может вывести из строя микроконтроллер и ЖК дисплей.
Выключатель S1 предназначен для подачи питания. Подтягивающие резисторы R2-R5 установлены с целью исключения появления ложных данных на цифровых входах прибора из-за влияния электромагнитных полей или при касании пальцами сигнальных щупов. Светодиод LED1 предназначен для индикации наличия сигнала на цифровых входах прибора и, следовательно, начала записи сигналов в память. В схеме используется ЖК индикатор от мобильного телефона Nokia 3310/5510, он рассчитан на работу при напряжении питания 3.3 В - 5.0 В, однако максимальное напряжение для подсветки дисплея - 3.3 В, поэтому в схеме установленo три последовательно включенных диода 1N4007 (D1-D3) по линии питания подсветки дисплея. Благодаря диодам напряжение снизится до 2.7 В и его вполне будет достаточно для питания подсветки. Процесс захвата данных и программное обеспечение Следует отметить, что автором подготовлены две версии прошивки микроконтроллера. Изначально, для версии 1.00 логического анализатора, использовалась интегрированная среда разработки AVR Studio 4.18, но затем автор перекомпилировал исходный код и для AVR Studio 5 - версия 1.01. После перекомпиляции под 5 версию среды разработки и дальнейшего тестирования прибора, было замечено улучшение стабильности захватываемых сигналов. Запись сигналов ведется во внутренний буфер памяти ОЗУ, который рассчитан на 290 отсчетов. Буфер данных образован 870 байтами (для 1 версии программы микроконтроллера) из которых 2 байта используются для счетчика и 1 байт для информирования о входном канале. В версии 1.01 буфер данных был сокращен до 256×3=768 Байт с целью увеличения скорости захвата данных, т.к. переменная размера буфера является 8-битной, вместо 16-битной, которая использовалась в первой версии ПО. После подачи питания, микроконтроллер переходит в режим ожидания импульса на любом из 4 входов прибора. По определению входного импульса микроконтроллер начинает подсчет времени до поступления следующего импульса на любом из 4 входов. Длительность выборки хранится в 16-битной переменной «counter». После переполнения этой переменной информация о состоянии 4 входов и значение счетчика сохраняются в буфере и значение его адреса увеличивается на три (2 байта для счетчика и 1 байт - информация о входной линии). Этот процесс повторяется пока микроконтроллер не заполнит весь буфер (870/3=290 выборок или импульсов). Процесс записи сигналов в память микроконтроллера изображен на рисунке 2. После заполнения буфера, все накопленные данные отображаются на ЖК дисплее в виде осциллограммы. Пользователь может управлять осциллограммой - передвигать влево (кнопка S3) или вправо (кнопка S4), чтобы просмотреть всю сохраненную последовательность импульсов. Если были записаны низкоскоростные сигналы, то пользователь может изменить масштаб в пропорции 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 или 8192 нажатием на кнопку S2. При программировании микроконтроллера необходимо установить Fuse-биты в соответствии с рисунком. Вид печатной платы и расположение компонентов

© 2024 Windows. Инструкции. Программы. Железо. Ошибки