No Image

Электронный анализатор движущихся изделий на логических элементах

0 просмотров
11 марта 2020

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

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

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

  • до 32 входных каналов;
  • память 128 КБайт на каждый канал;
  • частота дискретизации до 100 МГц;
  • вход внешнего тактирования;
  • все входы совместимы с 3.3 В и 5 В логикой;
  • настраиваемый размер буфера предвыборки/поствыборки кратный 8 КБайт;
  • 16 битный генератор внутренней синхронизации;
  • несколько режимов внутренней синхронизации;
  • программируемая задержка синхронизации;
  • программируемый счетчик событий синхронизации;
  • вход внешней синхронизации;
  • коммуникация с ПК по LPT (EPP режим) или USB интерфейсу;
  • несколько версий приложений для ПК под различные операционные системы.

Основным элементом логического анализатора является ПЛИС XC95288XL, производства компании Xilinx, которая и выполняет все основные функции. Принципиальная схема прибора изображена на Рисунке 1.

Рисунок 1. Принципиальная схема многоканального логического анализатора (версия 1.1)

В качестве источника тактовой частоты для ПЛИС используется осциллятор IC4 (IC6), позаимствованный со старой материнской платы компьютера. Несмотря на то, что осциллятор рассчитан на работу при напряжении 5 В, проблем в работе прибора при питании его напряжением 3.3 В выявлено не было.

Для хранения выборок используется внешнее быстродействующее ОЗУ – микросхема AS7C33128.

Для питания прибора используется внешний источник с выходным напряжением до 15 В. ПЛИС и ОЗУ имеют напряжение питания 3.3 В, поэтому установлен регулятор напряжения 3.3 В серии LD1117DT33.

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

Рисунок 2. Вид печатной платы логического анализатора (версия 1.1)

Замечание. Вместо вывода 40 (Vss) микросхемы SRAM к «земле» подключен вывод 39 этой микросхемы. Решение: соединить на печатной плате вывод 39 и 40 вместе (вывод 39 не используется в микросхеме SRAM).

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

Рисунок 3. Принципиальная схема адаптера USB интерфейса для логического анализатора (версия A 1.1)

Адаптер USB интерфейса для логического анализатора собран на микросхеме серии FT2232C производства компании FTDI. Данная микросхема объединяет в себе функциональность двух отдельных микросхем FT232BM и FT245BM. Она имеет два канала ввода/вывода, которые конфигурируются отдельно. Основные моменты конфигурации FT2232C для применения в составе прибора – это питание от USB интерфейса и режим эмуляции шины микроконтроллера (MCU Host Bus Emulation mode). Этот режим конвертируется в протокол EPP посредством мультиплексора IC3 74HCT4053D. Так как непосредственное декодирование сигналов /DST, /AST и RD/WR может вызывать конфликты таймингов, используется дополнительный сигнал A8, который используется в качестве сигнала RD/WR (чтение/запись) в периоды передачи данных по EPP протоколу.

Коннектор JTAG (CON2) используется для конфигурирования ПЛИС – это для будущих разработок, на текущий момент данный интерфейс не используется.

Микросхема EEPROM серии 93LC56 (IC2) хранит конфигурационные данные для микросхемы FT2232C и является обязательным элементом для правильного функционирования программируемого интерфейса. Для программирования данной микросхемы используется утилита FT_Prog (ранее она имела название MProg). Данная утилита и драйвера FT2232C доступны для скачивания на сайте компании FTDI.

Печатная плата адаптера разработана односторонней, что упрощает ее изготовление.

Рисунок 4. Вид рисунка печатной платы адаптера USB интерфейса (версия A1.1).

Существует также версия B 1.0 адаптера USB интерфейса (Рисунок 5). Данная версия отличается отсутствием коннектора JTAG и печатной платой, которая выполнена с учетом встраивания ее в корпус коннктора CANNON 25. Внешний вид собранных адаптеров а Рисунке 6.

Читайте также:  Анализ расхода электроэнергии на предприятии
Рисунок 5. Схема и печатная плата адаптера USB интерфейса для логического анализатора (версия B 1.0).
a) b)
Рисунок 6. Внешний вид адаптера USB интерфейса версия A 1.1 (а) и версия B 1.0 (b)

Также имеется еще одна версия схемы логического анализатора (Рисунок 7), в которую уже интегрированы интерфейсы USB и LPT. Автором этого варианта является Bob Grieb и при разработке схемы использовалась среда TinyCAD, печатная плата для него разрабатывалась в редакторе FreePCB.

Рисунок 7. Принципиальная схема второго варианта логического анализатора с интегрированным коммуникацонным интерфейсом USB и LPT (версия Bob Grieb)

Часть 2 – Прошивка ПЛИС, программное обеспечение для ПК

Загрузки

Проект (схема, печатная плата) логического анализатора (версия 1.1) – скачать
Проект Bob Grieb (схема, печатная плата) — скачать
Проект адаптера USB интерфейса (версия A 1.1) – скачать
Проект адаптера USB интерфейса (версия B 1.0) – скачать

Перевод: Vadim по заказу РадиоЛоцман

Довольно часто в домашних электронных поделках возникает необходимость посмотреть тот или иной сигнал, причем достаточно его цифрового представления — что передает МК по 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В, но тогда желательно добавить между источником сигнала и ЛА защитный резистор.

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

Полезности

PS: LogicDiscovery успешно применяется как дома, так и на работе, преимущественно для анализа последовательных интерфейсов (SPI, UART). Если будут пожелания по расширению функционала — буду рад выслушать. Учитывайте только, что многое упирается в ограничения клиента, например, размер выборки на F4 можно сделать в разы больше, однако клиент просто не знает других размеров.

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Строительство
0 комментариев
No Image Строительство
0 комментариев
No Image Строительство
0 комментариев
No Image Строительство
0 комментариев
Adblock detector