Вот здесь нужно отметить, что логический анализатор это железо & ПО для захвата сигнала и его последующего исследования, измерения, анализа интерфейсов.
Оболочка для ПК позволяет после захвата проанализировать сигналы на всех 8 каналах, а также
измерить частоту сигналов, период и длительность импульсов. Подсчитать количество фронтов в выделенном участке, длительность этого участка.
А если присосаться к последовательному I2C интерфейсу и активировать анализатор, то будут автоматически расшифрованы все компоненты I2C подкрашены и обозначены в удобном для анализа виде.
Работа логического анализатора начинается с нажатия на кнопку «Начать захват». Дальше происходит следующее:
1) Устройству передаются параметры захвата.
2.а) Если триггер не задан, захват сигнала начинается сразу после получения параметров захвата.
2.б) Если триггер задан, устройство анализирует входной сигнал, не выполняя захват. Захват сигнала начинается после обнаружения условий, заданных установленным триггером.
3) Буфер захвата заполняется в соответствии с заданным количеством выборок.
4) Устройство передает данные на ПК.
5) ПО обрабатывает и отображает полученные данные.
Триггер может быть установлен на один или несколько каналов. Если триггеры заданы для нескольких каналов, захват сигнала начинается при одновременном наступлении всех условий, заданных установленными триггерами, т.е. между триггерами действует логическая связь «И».
Можно изменить имя и цвет каждого канала. Область отображения сигналов можно прокрутить или масштабировать.
С помощью инструмента «Измерение» можно измерить продолжительность выбранного участка, период, частоту, длительность импульса, посчитать количество фронтов.
Инструмент «Линейка» проводит вертикальную линию, охватывающую сигналы всех каналов, в указанном месте с указанием времени. «Линейка» удобна при оценке расположения фронтов разных каналов относительно друг друга и относительно нулевой отметки времени.
В этом ролике на простом примере можно посмотреть, как это всё работает:
В заключении хочу добавить, что оболочка написана в Visual Studio, ПО для микроконтроллера в IAR. В ближайшее время подарю 16+ канальный логический анализатор с I2C, SPI, UART, I2S. Для построения рассматриваются два микроконтроллера: stm32f730, stm32f446.
Спасибо всем, пользуйтесь на здоровье!
> Скачать инструкцию, прошивку и скетч.
> Скачать IAR проект
> Скачать Visual Studio проект
Комментарии (29)
Disasm
14.09.2018 17:53+2Лучше бы вы своё устройство научились к оболочке от Saleae цеплять. Да и тот же клон их логического анализатора стоит на Ali дешевле, чем ваша плата. И скорость там побольше будет.
tolegs Автор
14.09.2018 19:57Первое. Saleae коммерческий, закрытый продукт.
Второе. Клон ворованный.
Ни к первому, ни тем более ко второму отношения не имеюSerge78rus
15.09.2018 11:40Если Вы противник проприетарного софта, то использование Visual Studio для написания оболочки выглядит несколько непоследовательно.
Nick_Shl
15.09.2018 19:26Visual Studio Community — абсолютно бесплатная IDE от Miscrosoft для опенсорсных проектов.
Serge78rus
16.09.2018 10:13Автора не устроила оболочка Saleae по причине своей проприетарности, хотя она тоже бесплатна. Бесплатный софт != свободный.
remzalp
17.09.2018 09:39софт, раздаваемый с исходниками под свободной лицензией, предназначенный для компиляции под проприетарный процессор — является свободным? :)
Serge78rus
17.09.2018 10:12А разве Вам кто то запрещает портировать его под другую аппаратную платформу, в том числе и открытую? Только давайте сейчас не будем вдаваться в вопросы целесообразности портирования абстрактного продукта X под не менее абстрактную платформу Y.
Если вопрос задан с целью троллинга, о чем можно судить по смайлику, то просто отсылаю Вас на профильные ресурсы, например FSF.remzalp
17.09.2018 13:06Про свободную программу — "у пользователей есть свобода выполнять, копировать, распространять, изменять и улучшать программу" (с) gnu.org
В файлах исходников у автора в заголовке:
/* *************************************************************** * COPYRIGHT(c) ЗАО «ЧИП и ДИП», 2018 * * Программное обеспечение предоставляется на условиях «как есть» (as is). * При распространении указание автора обязательно. *************************************************************** */
Так что подытоживая — свободной программы не получилось.
Хотя и на Visual Studio можно писать вполне себе свободный C++/С# код. В определении свободной программы нет обязательности работы именно под GNU/Linux, да и инструменты для работы с кодом и компиляции тоже как-то не ограничены.
Wingtiger
15.09.2018 12:13те же осциллографы на стм32 китайцы воруют и продают как оригинальные и закрытые. А если и меняют схему (чтоб не воровство), то почти всегда в сторону ухудшения. И я не настолько богат чтобы покупать хорошее и/или фирменное. Буду жить лучше — буду покупать хорошее и дорогое.
Grimar
14.09.2018 19:59+2Тогда уже к sigrok, с которым клон Saleae тоже отлично работает.
xvilka
14.09.2018 21:02+1Угу, а именно PulseView:
Одно из больших преимуществ проекта — большое количество поддерживаемого оборудования и декодеров сигналов.bugdesigner
15.09.2018 09:06Отличный проект, но опять же не хватает триггеров и поиска по протокольным событиям. Вот у меня Tektronix умеет запускать триггер, скажем по определённому адресу I2C или отсутствию ответа на шине, например. Этого, а так же поиска по данным/событиям PulseView не хватает катастрофически.
Nick_Shl
14.09.2018 18:36+1Почему IAR? Я понимаю, что у некоторых есть на работе, у некоторых тыреный… но не лучше бы взять что нибудь бесплатное?
Atollic TrueStudio стал бесплатным. Есть ещё System WorkBench for STM32 — полностью бесплатная среда разработки(Eclipse + gcc), поддерживаемая в CubeMX. Для своих домашних поделок я использую именно последнюю, хотя на работе использую IAR.NordicEnergy
14.09.2018 19:25Забавно, когда вместо одного древнего гуано мамонта (IAR) советую такое же гуано, но более современное и с другими болячками. Если уж эклипс, то хотя бы чистый. Воркбенч баганый как не знаю что, особенно отладчик, хотя казалось бы все эти баги отсутствуют в эклипсе. ТруСтудио сейчас привязана только к stm, а это плохо и неудобно.
bugdesigner
15.09.2018 09:10Не вижу никаких проблем, главное ведь — исходный код. А собрать можно и GCC, нужно только совсем немного потрудиться над make файлом.
Nick_Shl
15.09.2018 19:36Не сталкивался с багами в Воркбенче. Какие именно баги?
Вот в коде генерируемым CubeMX — там да, баг на баге сидит и багом погоняет. Но с каждой новой версией их правят потихоньку.
Привязка это проблема только если вы часто меняете платформы. Для хобби не всегда это нужно.
tolegs Автор
14.09.2018 19:38У IAR тоже есть бесплатная лицензия с ограничением по коду: для ядер cortex-m0 и cortex-m0+ 16 кб, для других 32 кб.
Punk_Joker
14.09.2018 19:57+3Ожидал увидеть какие-то детали по реализации. А оказалась очередная короткая реклама личного проекта
x893
14.09.2018 23:46PulseView отличный!
Но и Электронные Войска надо понять — чем-то надо заниматься.
Выборы только в ноябре — свободное время есть.
Costic
15.09.2018 15:19Мне нравится идея. Если USB-пакеты будете разбирать — шикарно. Про UART и CAN не забудете? И было бы удобнее на githab'e разместить, если это всё OpenSource.
Пользовательский интерфейс надо бы доработать. Например, убрать диагональные полосы. При наводке мыши на сигнал сразу в статусе можно показывать частоту/длину периода и т.д. Окошко с расшифровкой данных и таймингами надо бы снабдить Header'ом и поиском. Спасибо.
nerudo
Не вполне понял, триггеры срабатывают на уровне транзакций I2C или просто по сигналам?
tolegs Автор
Только по сигналам
nerudo
Жалко. Без этого получается просто интеллектуальный осциллограф. Я так понимаю, разбор протокола на стороне GUI происходит?