Логический анализатор приставка к ПК

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

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

Недавно разбирался с двумя ультразвуковыми датчиками DYP-ME007Y, . И, когда в очередной раз захотелось посмотреть, какие сигналы бегают от датчика к микроконтроллеру и обратно, вспомнил о таком чудном приборе. И тут подвернулся ОН по цене менее $6.




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

Самое вкусное в данном анализаторе это то, что подходит .
Доступны версии для 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

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

Позанимаемся логическим анализом.

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

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

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



Далее посмотрел работу шины I2C. И опять софт нормально справился с декодированием.Можно видеть пакеты записи в регистры при работе

Подключил ленту с - анализатор нормально проглотил 800КГц и успешно расшифровал протокол DFX-512

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

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


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

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

Логический анализатор очень нужная и полезная вещь для тех, кто занимается раскапыванием китайской периферии к микроконтроллерам (Назовем красиво - реверс инжинирингом)
Из достоинств данной железки хочу отметить:
  • Привлекательную цену
  • Совместимость с довольно удобным софтом Saleae Logic
  • Защита на входе в виде шинного формирователя LVC245A
  • Малые габариты
Явных недостатков у этой железки для себя не нашел. Жаль, что я не приобрел логический анализатор раньше -сколько времени бы я сэкономил во многих проектах.

Сейчас стоит задача анализа логических уровней на 12В, давно хотел разобраться с датчиками ABS своего авто. Думаю, что резисторный делитель и 5-ти вольтовый стабилитрон на каждом входе будет в самый раз.

Довольно часто в домашних электронных поделках возникает необходимость посмотреть тот или иной сигнал, причем достаточно его цифрового представления - что передает МК по I2C, правильно ли настроен ШИМ и т.п. Если на работе есть хороший осциллограф, то покупать его для дома - слишком дорогое удовольствие, особенно, когда необходимость возникает лишь от случая к случаю.
В последнее время появились недорогие (в пределах $50) логические анализаторы, однако меня от их покупки всегда останавливало одна мысль: штука то предельно простая, почему бы не сделать её своими руками из подручных материалов?
В данной статье я расскажу, как сделать простой логический анализатор с минимальными финансовыми затратами - все что нужно это отладочная плата Stm32F4Discovery .

Логический анализатор (далее ЛА) – устройство предназначенное, для записи, просмотра и анализа сигналов в цифровых схемах. Подобно осциллографу, ЛА подключается одним или несколькими щупами к анализируемой схеме, но в отличие от осциллографа фиксирует только два состояния сигнала «0» и «1». Важной функцией ЛА является способность автоматически расшифровывать записанные сигналы, например, разобрать обмен данными по шине I2C или SPI. Также ЛА отличаются бОльшим, по сравнению с осциллографами, количеством анализируемых линий: от 8 в простых анализаторах до сотен в промышленных образцах.
Описываемый здесь проект - LogicDiscovery - это SUMP -совместимый логический анализатор, выполненный в формате USB-приставки к ПК. Он обладает довольно скромными характеристиками: 20MHz, 16 каналов, 24кБ памяти. Однако, этого достаточно для весьма большого круга задач: анализ линий UART, I2C, SPI (в пределах нескольких мегагерц), параллельных шин, измерение временных характеристик сигналов и т.п.

Приступим

Итак, все, что нам понадобится это:
  • Отладочная плата Stm32F4Discovery . От 500 рублей в московской рознице, а может она уже лежит в ваших закромах? Подойдет и любая другая плата на STM32F4 или STM32F2, но тогда придется подправить исходники.
  • Несколько проводов, для подключения к анализируемой схеме.
  • Прошивка, готовая к употреблению лежит на Google.Code . Там же находятся исходники.
  • Кроме того нужен клиент для ПК, рекомендую OLS .
Клиент написан на Java, поэтому полученное решение не зависит от ОС. Теоретически вы можете использовать любой SUMP-совместимый клиент, однако ниже я буду описывать работу именно с этой программой.
Stm32F4Discovery питается от порта mini-USB, через который она и прошивается. Для использования функций ЛА плата подключается к ПК через порт micro-USB. Чтобы запитать плату от этого же порта соединяем перемычкой пины PA9 и 5V . PA9 подключен напрямую к Vbus порта micro-USB, а 5V это вход стабилизатора формирующего питание для платы. Для проверки работы соедините порты PA2 и PD0 . На PA2 формируется тестовый сигнал, а PD0 это первый вход ЛА.

Плата опознается ПК как COM-порт, для Linux драйвера стандартные и должны уже быть в ядре, для Win драйвера скачиваются с сайта ST. После того как плата опозналась можно запускать клиент и приступать к работе.
Но сначала ложка дёгтя.

Ограничения

В проекте используется открытый протокол SUMP . Данный протокол изначально разрабатывался для ЛА на базе ПЛИС, и поскольку в части записи входных сигналов и анализа потока данных микроконтроллеры по-прежнему им уступают, нам будут доступны не все функции реализованные в клиенте:
  • Максимальная частота записи – 20МГц, в оригинале до 200МГц
  • RLE-сжатие и фильтрация шумов не поддерживаются.
  • Нельзя выбрать произвольные группы каналов, только первую (8 каналов), либо первую + вторую (16 каналов).
  • Триггеры работают не по значению, а по фронту (впрочем, на мой взгляд, это уже достоинство).
  • Нет поддержки расширенных (Complex) триггеров.
Эти ограничения следует иметь ввиду при настройке клиента. Тот ничего не знает об этих ограничениях и позволит выбрать любые настройки. Полученный результат в этом случае будет некорректным.

Пользуемся

Запускаем клиент через файл run.bat или run.sh, в зависимости от используемой ОС. О функциях клиента можно почитать на его страничке, здесь я опишу процесс получения первых сэмплов и те настройки, которые попадают под ограничения.

В меню «Capture» , выбирая пункт «Begin capture» , открываем окно настроек записи. На первой странице в поле ««Analyzer port» выбираем порт, на котором сидит наш ЛА, больше ничего менять не нужно. Кнопкой ««Show device metadata» можно проверить наличие связи:

На второй странице указываем параметры захвата. Первые два пункта не трогаем,
«Sampling rate» не выше 20МГц (если указать больше – плата все равно использует 20МГц, но клиент будет думать, что используется указанное значение, в общем, ерунда получится).
«Channel groups» : 0 – используем одну группу каналов, это линии PD0-PD7, либо 0 и 1 – используем две группы каналов - линии PD0-PD15.
«Recording size» : для одной группы каналов – любое значение, для двух групп – не более 12kB (клиент предупредит, если в данном поле выбрано неверное значение).
Чекбоксы на данной странице не трогаем, они не поддерживаются:

Страница «Triggers» - самое интересное. Первый флажок ставим, чтобы просто включить триггеры.
«Before/After ratio» позволяет указать, в процентном соотношении, сколько данных сохранить до срабатывания буфера. После нажатия «Capture» ЛА сразу начинает запись данных, складывая их в циклический буфер, а по срабатыванию триггера отсчитывает указанный в поле After процент времени и отправляет данные на ПК.
«Type» - только «Simple», «Complex» - не поддерживается.
«Mode» - только «Parallel».
«Mask» - это те линии, на которых триггер будет ожидать перепад сигнала, поставте флаг в нулевой позиции для срабатывания по линии PD0
«Value» - фронт сигнала, по которому будет происходить срабатывание триггера. Флажок установлен – передний фронт. Флажок снят – задний:

Для проверки работы соедините порты PD0 и PA2 (на данном порту выводится тестовый сигнал UART) перемычкой.

Вот и все, нажимаем «Capture» и смотрим на полученный сигнал (Ctrl+F - обзорный масштаб):

Если ничего не происходит, значит, вы выставили срабатывание триггера на неправильные линии, или сигнала вовсе нет - проверьте настройки и подключение платы. Триггер можно запустить вручную, нажатием User button (синяя кнопка).

Техника безопасности

Помните: вы подключаетесь напрямую к портам микроконтроллера! Никакой защиты, кроме встроенных в МК диодов на плате нет. Поэтому сначала удостоверьтесь что, изучаемый сигнал имеет максимальное напряжение 3.3В, в крайнем случае 5В, но тогда желательно добавить между источником сигнала и ЛА защитный резистор.

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

  • Электроника для начинающих
  • Логические анализаторы

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

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

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

    Логические анализаторы отличаются друг от друга в основном: количеством и типом каналов, наличием буфера, частотой сэмплирования.
    Небольшая сравнительная таблица с характеристиками:
    Logic Pro 8 DSLogic Pro Описание
    Число цифровых каналов 8 16 Чем больше тем лучше, но за год использования больше 4 пока было не особо нужно
    Число аналоговых каналов 8 0 Для аналога предпочтительней всё же осциллограф, но иногда бывает удобно увидеть, что творится не только в цифре на канале, но и в аналоге.
    Интерфейс USB 2.0 / USB 3.0 USB 2.0 USB 3.0 предпочтительней если он у вас есть конечно. Хотя момент спорный, ниже опишу почему.
    Частота сэмплирования цифровых каналов 500 MS/s - USB 3.0
    100 MS/s - USB 2.0
    400 MS/s - для 4 каналов
    200 MS/s - для 8 каналов
    100 MS/s - для 16 каналов
    Чем больше тем лучше, но в случае есть один нюанс, но об этом ниже.
    Частота сэмплирования аналоговых каналов 50 MS/s - USB 3.0
    10 MS/s - USB 2.0
    - Чем больше тем лучше.
    Диапазон напряжений цифра/аналог: 1.2V - 5.5V / -10V - +10V 0V - 5V / - Тут у 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 гораздо удобнее и приятней в обращении, провода более мягкие и гибкие. Клипсы у Logic Pro 8 в несколько раз удобнее. Во-первых имеют два штыря для соединения с проводом анализатора, что удобно, и во-вторых штыри для соединения находятся сбоку, что упрощает зацепку клипс с уже подключённым к ним проводом. У DSLogic Pro штырь находится сверху, что усложняет его подключение в разы, хотя по хваткости клипсы не отличаются, но общее качество всё же хромает.

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

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

    Saleae Logic

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


    Программа мультиплатформенная, поддерживаются все версии Win dows начиная с 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 и на выложены исходники софта, и HDL части. А на приведена схематика. Поэтому возможно скоро будет куча клонов данного устройства(возможно у меня тоже клон).

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

    Для простой проверки анализаторов была использована дев.плата 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(передачи разные поэтому данные не сходятся).

    Vassilis Serasidis

    Логический анализатор - это инструмент, который позволит увидеть и проанализировать последовательность логических 0 и 1 в цифровом сигнале. К примеру, можно изучить цифровой сигнал с ИК приемника-демодулятора типа TSOP-1736 , выходные и входные сигналы микросхемы , а также шину I2C (линия тактирования и линия данных) во многих электронных устройствах.

    В статье мы рассмотрим конструкцию миниатюрного 4-канального логического анализатора с ЖК дисплеем от мобильного телефона Nokia 5110/3110. Основой конструкции является микроконтроллер , помимо него используются еще несколько дискретных компонентов.

    Основные характеристики прибора:

    • 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 три последовательно включенных диода (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-биты в соответствии с рисунком.

    Вид печатной платы и расположение компонентов

    Демонстрация работы прибора

    Загрузки

    Принципиальная схема, рисунок печатной платы, исходный код и файл для прошивки микроконтроллера (v1.0, AVR Studio 4.18) -

    Исходный код и файл для прошивки микроконтроллера (v1.01, AVR Studio 5) -

    Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться .

    • Как я понял, ваш дисплей с "резинкой", установлен он на самодельную платку, т.е. токопроводящая резинка касается дорожек которые вы нарезали на платке. Если так, то учтите - это самое слабое место конструкции... Fuse-биты проверяли (считывали)? Правильно установлены? Я не исключаю и проблему в самом дисплее. Я еще исходники гляну, может там что-то можно настроить/изменить относительно дисплея...
    • Vadzz, да, я это понимаю, самое уязвимое место.. Я нашел какой-то мобильный, с шагом контактов как у моего экрана. Как будет время попробую сделать.. Вопрос еще в том, рабочий ли экран, не спалил ли я его контроллер (если это возможно). А пока заброшу эту идею. Очень сложно достать готовый экран этот и он стоит больше чем это устройство нужно.. Я лучше сделаю такое же устройство, только вывод данных на компьютер через usb. (по учебнику http://eldigi.ru/site/comp/18.php). Все равно мастерю за компьютером и всё через usb делаю.. Либо же друг делает диплом на тему миниатюрный осцилограф usb. Схема на единственном элементе AtTiny и кварц. +вывод данных в программу на компьютере в виде временной диаграммы\линии.. Возьму у него.. ПО я сделаю.. Я эту штуковину начал делать потому что она так красиво и пафосно выглядит со стороны;) А особенно работает.. ну ниче, начну работать с китайскими передатчиками придется ее сделать.. Там уже на импульсы нужно смотреть и анализировать.. А так спасибо за помощь)
    • Хлопцы, зацените) Всё таки не удержался.. Переднюю панельку еще думаю дооформлю.
    • Рад что все получилось и заработало, выглядит норм. Только расскажите по-подробнее в чем была проблема (наверное, все же дисплей не работал), для многих будет полезна ваша информация (если не секрет, конечно). Спасибо.
    • Ну проблема была в дисплее. И то я купил не красный, а синий, по этому еще контакты не сошлись по расположению, и немного в названии разнятся. Подключение (на схеме\синий дисплей): Vcc-Vcc GND-GND Rst-Rst SCE-CE D\C-DC DN-Din SKLK-CLK LED-BL Если будет желание- попробую вставить\запустить свой старый дисплей. Посмотрю, может он сгорел.. а то столько мучился с ним.
    • Небольшой тест прибора, пару багов. 1) При перемотке долго мотаем вперед, потом назад и в какой-то момент оно отказывается двигать назад и заклинивает на каком-то значении. Можно прокрутить еще вперед и опять назад и после этого клинит на другом значении.. Вот фото, хотя тут ничего не видно будет http://s017.radikal.ru/i433/1306/57/cf1dfbd2f106.jpg 2) При перематывании смазывается временная диаграмма http://s60.radikal.ru/i169/1306/33/1c23e0d9815c.jpg http://i066.radikal.ru/1306/9f/c894839ca1fd.jpg 3) При изменении зума перемотка сбрасывается в 0-ю позицию(но не всегда). Нужно пофиксить чтоле.. Думаю можно было бы добавить пару вкусняшек в проект: Сенсорные кнопки (реализуются элементарно, всего три МОМ-ных резистора) Вольтметр (GND постоянно подключен, по этому неплохо было бы на АЦПшнике сделать чтоле ибо каждый раз мультиметр подключать не то, а этот помог бы. Измеряет в пределах до 5в, как раз для цифровухи). Осцилограф (не знаю как, но было бы очень неплохо. Главная проблема думаю с отображением будет). Подключение через USB к ПК. Отображение рвеменной диаграммы в программе- святое. Если делать осцилограф, то в программе будет проще отображать всё.. Выглядеть будет примерно так (моя програма) http://s48.radikal.ru/i119/1306/eb/9c25ff0d3d7b.png Так же можно программой что-то изменять в настройках прибора..
    • К стати, в протеусе данная штуковина неплохо симулируется..
    • Собрал девайс. Включается, показывает. Если без резисторов 33к (и без источников сигнала), то при включении всякие гребенки увидеть можно. С резисторами и источником (TSOP ик и spi-девайс) - все линии ровненькие. Никакой реакции совершенно. Куда рыть-то?
    • Инпуты замыкаются на + а не на землю чтоб показывало. Мне пришлось инвертировать выход TSOP.
    • Индикатор от телефона тоже заработал. У меня сначала не показывал ничего, поставил резисторные делители на входы дисплея от мк и все заработало. 1ком от мк до дисплея и 3,3 ком от дисплея на землю
    • инвертирование не помогает
    • Прошивка с исправленными ошибками и с добавлениями(UART, Частотомер, Редактор пропусков перед измерением, а также ещё к нему программу для компьютера. Analizator.exe Описание: Analizator_PC V2.1 Analizator.exe 4_канальный логический анализатор.DSN Описание: Analizator_proteus http://www.fayloobmennik.net/4274643 Analizator.hex Описание: Analizator_Atmega8 http://www.fayloobmennik.net/4291611 4_канальный логический анализатор Описание: Analizator_shema http://www.fayloobmennik.net/4285824 2й вариант http://radikal.ru/fp/ИСХОДНИКИ ДЛЯ АНАЛИЗАТОРА КОМУ ИНТЕРЕСНО. AnalizatorKSA.zip Не сомневайтесь всё работает так как надо! У вас теперь появится возможность проверить это в симуляторе, а также покопаться в исходнике.Избавляю вас от рутинной работы. Не судите за мои там комментарии, у каждого они свои. К тому же это черновики, а не коммерческий продукт. Моя поставленная цель была достигнута, поэтому черновики так и остались черновиками. Вы можете делать с ними всё , даже вырвать у них сердце. А цель была одна - сделать его удобным, более точным, надёжным. Всё, что я проделал вы можете прочитать в моих 2х программах для РС в разделе "Справка" Для анализа и сравнения полученного результата я выкладываю исходный текст основной измерительной программы Vasilisa Serasidisa. Посмотрите, и сравните сколько тактов тратится на измерение у меня, и у него. И убедитесь, что лучшие программисты это р у с с к и е!!! Добавлю: С тех пор как сконструировал 2 версии анализаторов решил множество проблем связанных с цифровым обменом и по шине CAN и I2C пультов и пр. Вариант на ATmega48 даже предпочтительней со скоростными протоколами. Например, CAN в 140 Кбит анализировал просто на ура! в отличии от не без известного анализатора Digan. Да и сам он величиной с флешку. Всем удачи! Izmerenie.txt ВЫКЛАДЫВАЮ НОВУЮ ВЕРСИЮ (3йвариант) БОЛЕЕ МОЩНОГО АНАЛИЗАТОРА, А ТАКЖЕ ПРЕДЫДУЩУЮ ВЕРСИЮ С ДОБАВЛЕНИЯМИ И ФАЙЛОМ ПРОТЕУСА ССЫЛКА НА АРХИВ http://www.fayloobmennik.net/5569369
    • 1. Кто повторил оригинальный вариант - от Seradis, нет ли серьезных багов, делающих вообще неприменимость девайса - типа всегда пропускается первый байт и т.п.? Выше пишут об "отображение эпюр", но хотелось бы, что они именно были достоверные:). 2. Сергей7 не выкладывает исходник, что не дает оценить его функционал в полной мере. Если изготовить вначале оригинал, то потребуются ли изменения в апаратке для дальнейшего развития девайса по доработке Сергея7?
    • Отправлял вам сообщение и никакой реакции. Дошло ли?
    • наверное, нет. ... :(Спасибо за исходники! счас посмотрю.....
    • Рад помочь!:D
    • Прошивки с добавлениями(UART, Частотомер, Редактор пропусков перед измерением в AnalizatorKSA.zip нет
    • может печатка в lay есть у кого?
    • Посмотрите новый вариант, я выложил. И предыдущий доработанный тоже (с прошивкой, файлом протеуса и дороб.программой).
    • в чём писали и можно полную схему я так и не понял по чём собирать и сколько ины проц пишет в себя для передачи по уарт

    В данной статье представлен простой логический анализатор работающий с оболочками USBee v1.1.57 и Logic v1.1.15. Собран на микросхеме распространенной микросхеме CY7C68013A фирмы Cypress. У меня имелась готовая плата с этой микросхемой заказанная с сайта Aliexpress. Вот такой у нее вид:

    Хотел на ней сделать LPT порт, но потом надобность в нем пропала и так она валялась не востребованная. Понадобился мне простой логический анализатор. Решено было сделать на этой плате. На просторах интернета много схем на этой микросхеме. Требовалось добавить буфер для передачи данных, сделать защиту по входу и возможность выбора с какой оболочкой работать. Плата расширения одевается сверху основной платы. Скажу сразу, что схема, плата, прошивки и все необходимое для работы с данным логическим анализатором находится внизу статьи. В качестве буфера использовалась микросхема 74LVC4245 , можно применить 74LVC8T245A они полностью идентичны. Защитную функцию по входу выполняют диодные сборки BAV99. И так родилась такая схема:


    Джампером J1 выбираем направление передачи данных. В замкнутом состоянии на прием данных, в разомкнутом на передачу. Есть такая оболочка как USBee AX Test Pod . Она содержит много тестовых утилит при помощи нее можно протестировать работу собранного устройства. Одна из возможностей это генерировать на выводах XP3 разные частоты. Правда самому задавать их нельзя. Выводится сразу 8 разных частот. Также можно устанавливать в 0 или 1 выходы и много других тестов. Джампером XP5 выбираем с какой оболочкой будем работать USBee v1.1.57 или Logic v1.1.15 . В U2 и U3 соответственно загружается прошивка для разных оболочек. Джампер XP4 это защита от записи. Нужен будет при старте оболочки от Logic. Джампером J2 задаем напряжение входных уровней. Если он замкнут то входной уровень сигнала должен быть 3.3 V. Так же предусмотрена возможность установить уровень сигнала такой каким напряжение питается диагностируемое устройство но не больше 5V. Для этого размыкаем J2 и напряжение питания диагностируемой платы подаем на 10 вывод XP3. Так же не забываем соединить между собой общий провод анализатора с диагностируемой платой. Для начала нам нужно доработать основную плату т.е удалить микросхему памяти 24C128.

    У моей платы также не было соединения GND USB разъема и GND CY7C68013A пришлось соединить проводком.


    Больше никаких изменений делать не нужно.

    Теперь изготавливаем нашу платку размером 41мм х 58мм. В итоге получаем такой результат:



    Соединяем две платы:



    Для начала работы нам нужно прошить микросхемы памяти. Для этого устанавливаем утилиту от Cypress CySuiteUSB_3_4_7_B204 . Убираем с платы джампер XP5 и подключаем плату к ПК, в диспетчере устройств появится неизвестное устройство.


    Устанавливаем драйвера из файла Driver_Cypress_win7 win8. Указываем диспетчеру, что искать драйвера в этой папке. Система сама установит необходимый драйвер. Появится новое устройство в контроллерах USB:


    Запускаем установленную программку Control Center . Перед нами откроется окно, где в верху должно быть наше устройство.

    Выбираем вкладку Option затем EZ-USB Interface:

    Откроется следующее окно:


    Ничего здесь не меняем. Нам нужна только кнопка S EEPROM. Джампером XP5 выбираем одну их микросхем памяти. Нажимаем S EEPROM и указываем где хранится наша прошивка. Выбираем прошивку в зависимости от типа памяти и нажимаем "Открыть". Цифры в конце названия прошивки указывают для какого типа памяти прошивка. Для 24C01 нужно выбирать USBeeAX_01, а для 24C02 USBeeAX_01.


    Пойдет процесс заливки информации. При удачной прошивке должно быть сообщение как на скриншоте. Кол-во байт может отличаться в зависимости от выбранной прошивке.


    Нажимаем кнопку сброс на плате и видим в диспетчере устройств новое неопознанное устройство. Устанавливаем драйвера. В автоматическом режиме драйвера не установятся. В ручном режиме указываем, что установить с диска и выбираем драйвер из папки Driver Cypress win7_win8. У меня на Windows 8.1 заработало с драйвером EZ-USB FX1 No EEPROM (3.4.5.000).