Easyelectronics.ru

Электроника для всех
Текущее время: 21 окт 2018, 13:22

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 10:33 
Заглядывает иногда

Зарегистрирован: 02 июн 2012, 20:51
Сообщения: 35
Откуда: Хабаровск
Возникла у меня как-то потребность в логическом анализаторе. И как раз stm32f3Discovery без дела валяется, никак не могу придумать чего бы такого сделать, чтоб в атмегу не влезало и достаточно нужное, чтобы интерес не пропал на второй день.

Но один лишь логический анализатор - это скучно да и в stm32 остается куча ресурсов. Поэтому было решено сделать универсальный измерительный прибор.
Задача минимум:
1) Логический анализатор.
2) Генератор ШИМ
3) Многоканальный осциллограф.
4) Многоканальный генератор цифрового сигнала.
5) Двухканальный генератор аналогового сигнала.

Задача максимум измерители L, C, ESR, что-нибудь ещё...

Связь через виртуальный COM порт.

На данный момент реализованы: Генератор ШИМ и логический анализатор по протоколу SUMP. (пока только 8 каналов, но будет до 16-ти наверное)

Проект выложен на ГитХаб
https://github.com/zgogi/zlab

Также есть заготовка собственной программы и собственный протокол (но пока не покажу) Собственный протокол обмена максимально отвязан от железа. И если кто-то вздумает к примеру сделать лишь осциллограф с поддержкой этого протокола но с другими возможностями, то программа опознает в нем лишь осциллограф и будет знать чего он умеет, а чего не умеет. Предусмотрено включение нескольких модулей одновременно с разруливанием кофликтов (если два модуля используют одни и те же ресурсы).
Программа пишется на С++ с кроссплатформенной графической библиотекой wxWidgets, так что для переноса на линукс достаточно лишь подшаманить файл com_port.cpp.

Было бы неплохо использовать PulseView вместо написания своей программы и какие-то уже имеющиеся протоколы, но под Windows она больно глючная. Сначала падала при попытке подключения (об этом есть на багтрекере). Сегодня подключилась, но замер прошел только один раз, об этом я тоже читал у них на багтрекере. Проблема в том, что разработчики работают под Linux и компилируют Windows версию там же. И они не могут повторить эту ошибку, т.к. "Мастдаями" не пользуются.

Может кому попадались похожие open source проекты, открытые протоколы для осцилла например с уже имеющейся программой?

Ну и вообще критика приветствуется
P.S. я знаю, что на али экспрессе продаются дешевые анализаторы, но тут важен процесс.

_________________
Опыт не пропьёшь, для остального есть мастеркарт :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 11:08 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1742
Откуда: Харьков
ТТХ в итоге так и не огласили.

мастеркарД


Последний раз редактировалось alexsam 27 сен 2017, 12:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 11:18 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 662
alexsam писал(а):
ТТХ в итоге так и не огласили.

F3 с USB, значит без разгона, 72/5 = 14.4 MSPS для ЛА, если захватывать 32КБ через DMA, 28.8 MSPS, если писать на асме и тогда размер зависит от того, сколько не жалко флеша, ну и 36 MSPS, если запускать код захвата из CCM, но там всего где-то 1.3КБ максимальный размер буфера будет. Это в лучшем случае, но всегда можно написать и хуже :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 11:38 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1331
zgogi писал(а):
универсальный измерительный прибор
...
виртуальный COM порт
...
собственный протокол

Я бы поддержал, если б связь с компом через SWD+OpenOCD и соотв. протокол - команды OpenOCD

Получился бы красивый проект утилизации любых дискаверин


Последний раз редактировалось vt340 27 сен 2017, 12:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 12:15 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1742
Откуда: Харьков
Reflector писал(а):
alexsam писал(а):
ТТХ в итоге так и не огласили.

но всегда можно написать и хуже :)

Вот поэтому и спросил )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 12:20 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 662
alexsam писал(а):
Вот поэтому и спросил )

F3 хорош если делать простой и мелкий ЛА, но с аналоговыми каналами и встроенными усилителями, а тут целая Discovery... Если б она хотя бы на F4 была, я с него выжимал 130 MSPS для 8 бит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 14:57 
Заглядывает иногда

Зарегистрирован: 02 июн 2012, 20:51
Сообщения: 35
Откуда: Хабаровск
Reflector писал(а):
alexsam писал(а):
ТТХ в итоге так и не огласили.

F3 с USB, значит без разгона, 72/5 = 14.4 MSPS для ЛА, если захватывать 32КБ через DMA

Кварц ещё не впаивал. Пока тестирую на 48МГц тактовой от HSI. Захватываю через DMA по таймеру. Выдал на ШИМе 12МГц DMA запустил на 24МГц(теоретически)Изображение
Пропуски примерно на каждом десятом импульсе. С кварцем будет на треть быстрее. частоту показывает неправильно т.к. программа думает, что захват на 20МГц.
Для домашних поделок думаю вполне хватит. Ну и готовый девайс можно и на 4-ой серии собрать. Сейчас только изучаю СТМ.

Забить на встроенный USB и передавать данные через FTDI - это план Б. Но вариант с 4-ой серией выглядит привлекательней. Хотя мне такие скорости вроде не нужны.

А откуда 72/5 Если тактировать от таймера - то захватывать можно на половине частоты шины (что я и делаю). Другое дело, шина одна на всех и передавать их на такой скорости не получится. Кстати тут подумалось если его нежно усыпить на время измерения - то шину ведь никто занимать не будет. Я так понимаю DMA пихает данные в память за пять тактов или квота на использование шины?

Reflector писал(а):
F3 хорош если делать простой и мелкий ЛА, но с аналоговыми каналами и встроенными усилителями, а тут целая Discovery... Если б она хотя бы на F4 была, я с него выжимал 130 MSPS для 8 бит.

Дискавери - это испытательный полигон. В коробке с микросхемами лежат несколько 103 и 303 стм-ок вот одна из них и будет девайсом. Код пишу с учетом возможной переделки под другой камень. Аналоговую часть буду рассчитывать с учетом выжатых максимальных характеристик.

vt340 писал(а):
Я бы поддержал, если б связь с компом через SWD+OpenOCD и соотв. протокол - команды OpenOCD

Хм. А каким образом тут из OpenOCD можно пользу выжать? Этож для дебага вроде, а не для измерительных приборов.

_________________
Опыт не пропьёшь, для остального есть мастеркарт :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 15:16 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 662
zgogi писал(а):
Кварц ещё не впаивал. Пока тестирую на 48МГц тактовой от HSI. Захватываю через DMA по таймеру. Выдал на ШИМе 12МГц DMA запустил на 24МГц(теоретически)Изображение
Пропуски примерно на каждом десятом импульсе. С кварцем будет на треть быстрее. частоту показывает неправильно т.к. программа думает, что захват на 20МГц.
Для домашних поделок думаю вполне хватит. Ну и готовый девайс можно и на 4-ой серии собрать. Сейчас только изучаю СТМ.

Забить на встроенный USB и передавать данные через FTDI - это план Б. Но вариант с 4-ой серией выглядит привлекательней. Хотя мне такие скорости вроде не нужны.

А откуда 72/5 Если тактировать от таймера - то захватывать можно на половине частоты шины (что я и делаю). Другое дело, шина одна на всех и передавать их на такой скорости не получится. Кстати тут подумалось если его нежно усыпить на время измерения - то шину ведь никто занимать не будет. Я так понимаю DMA пихает данные в память за пять тактов или квота на использование шины?

72/5 - это максимум при работе с DMA(для F3/F0, F4 на такт быстрее, но у него еще есть более быстрый DCMI), причем без таймера, с таймером еще, кажется, на такт медленнее. И это во сне, если на максимальной скорости проверять в цикле флаг, то это негативно сказывается на точности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 15:24 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5102
zgogi, ИМХО большего чем на кипарисине не выжмешь. Смысл?
Надо делать по типу Saleae16 или LA2016...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 27 сен 2017, 18:45 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1331
zgogi писал(а):
Хм. А каким образом тут из OpenOCD можно пользу выжать? Этож для дебага вроде, а не для измерительных приборов.
OpenOCD - это не только gdb-сервер, но и telnet-сервер

zgogi писал(а):
Дискавери - это испытательный полигон. В коробке с микросхемами лежат несколько 103 и 303 стм-ок вот одна из них и будет девайсом.
Тогда не интересно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 07 окт 2017, 12:02 
Заглядывает иногда

Зарегистрирован: 02 июн 2012, 20:51
Сообщения: 35
Откуда: Хабаровск
dosikus_2 писал(а):
zgogi, ИМХО большего чем на кипарисине не выжмешь. Смысл?
Надо делать по типу Saleae16 или LA2016...

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

Основная часть прошивки будет платформонезависимое ядро с открытыми исходниками, хоть на атмеге собирай.
Только добавь пару модулей с интерфейсами типа
Код:
// Примерный интерфейс

#define DIGIT_IN_FREQ_MAX   100000

digit_in_init();
digit_in_start(param, callback);
digit_in_stop();



Аналогично будут analog_in, digit_out, analog_out, pwm_out и т.д.
Но набор модулей может быть произвольным. Программа сама разберется что есть в железе, а чего нет.

Ну и ещё нужно будет добавить модуль для связи с внешним миром.
Типа
host_init()
host_write()
host_read()

А вот программа - это нетривиальная штука, особенно двиганье курсоров мышкой и прочие кошерные вещи.
Пытался собрать pulsewiew под виндой, чтобы внедрить туда свой драйвер, но это больше походило, на обойди линуксовые костыли и подопри своими.
Библиотеки вроде собрались а вот графическая оболочка ни в какую не собирается. Зато узнал много нового о том как собирать программы из линуксовых исходников под Windows. Та программа, что выложена на их сайте собрана в линуксе. Сами они пишут, что вроде в винде собрать можно, но только при благополучной погоде на марсе и то частично. К слову их скрипт для винды не завелся.
Думаю попробовать задействовать их библиотеку для декодирования протоколов, а окна наверно придется свои делать, какие-то части может получится готовые выдрать из pulseview.
Ну и программу тоже выложу с исходниками.

_________________
Опыт не пропьёшь, для остального есть мастеркарт :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 25 окт 2017, 22:47 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 983
Откуда: Ижевск
какие вести?

_________________
Attiny13aПо20р.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 26 окт 2017, 00:12 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5102
СерОжа, новости отличные - из всего барахла удалось сляпать двух радисток, новости похуже-прыщавых не хотят...

zgogi, дохлый номер , переводи захват на циклон или Спартан (что нынче моднее)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 16 янв 2018, 19:09 
Заглядывает иногда

Зарегистрирован: 02 июн 2012, 20:51
Сообщения: 35
Откуда: Хабаровск
selevo писал(а):
какие вести?


Расковырял немного Pulseview вроде оттуда реально использовать библиотеку распознавания протоколов, всю программу под винду пересобрать то ещё приключение, там куча линукс зависимостей и костылей.
Так что GUI программу делаю свою (там будет больше типов сигналов чем в Pulseview) , протокол обмена свой + SUMP (определяется автоматически) В железе реализованы ШИМ выход, Цифровые и аналоговые входы. Но исходники последней версии пока не выкладывал, нужно причесать.

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

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

_________________
Опыт не пропьёшь, для остального есть мастеркарт :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логический анализатор с пасьянсом и радистками
СообщениеДобавлено: 16 янв 2018, 19:40 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2382
...а самое смешное, что в результате этих стараний на выходе получится всё та же херня с фигней. "Многоканальный осциллограф" - это конечно смело и захватывающе. Но вот недавно мы тут обсуждали, что херь это полная, чувак. Выйдет очередной обычный низкочастотный показомер со старыми радистками, которые еще у Мюллера со Штирлицем служили. Серьезно.
Без скоростных ПЛИС для захвата сигнала там и делать нечего.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB