Официально анонсирован (http://www.hermann-uwe.de/blog/sigrok--cross-platform-open-s...) проект по разработке программного фреймворка Sigrok (http://sigrok.org/), предназначенного для организации работы логических анализаторов (http://en.wikipedia.org/wiki/Logic_analyzer). Фреймворк построен с использованием модульной архитектуры и позволяет гибко расширять и добавлять новые декодеры через плагины или модули. В Sigrok обеспечена поддержка различных протоколов и интерфейсов, которые позволяют подключаться к множеству логических анализаторов, выполняя функции записи и оценки измерений, визуализации полученных данных. Система также может применяться в процессе автоматизации проектирования электронных приборов (EDA - Electronic Design Automation (http://en.wikipedia.org/wiki/Electronic_design_automation)).Код проекта написан на языках C/C++ и распространяется под лицензией GPL (http://sourceforge.net/directory/license:osi-approved-open-s.../). Модули и декодеры создаются на языке Python. Из платформ поддерживаются Linux, Mac OS X, FreeBSD и Windows. В настоящее время
доступны (http://sigrok.git.sourceforge.net/git/gitweb.cgi?p=sigrok/si...) декодеры для протоколов I²C, I²S, JTAG, Wii Nunchuck (http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk), DCF77, LPC, UART и USB.
Несмотря на то, что сейчас в мире существует несколько малобюджетных логических анализаторов, в том числе поставляемых с открытым ПО, - все они выполняют одинаковую задачу: текущую запись, накопление, а также анализ цифровых сигналов и последовательностей. Главная же проблема в том, что каждый из них обычно поставляется со своим собственным протоколом и интерфейсом сопряжения, и, соответственно, каждый такой логический анализатор жестко завязан на предоставляемое вместе с ним программное обеспечение – на его функциональность, специфику и ограничения. Обычная ситуация в этой сфере такова, что в лучшем случае такое ПО работает лишь с одним семейством логических анализаторов от одной компании-производителя.
На этом фоне проект Sigrok ставит своей главной целью создание универсального программного окружения для любых типов и разновидностей логических анализаторов. Для реализации этого планируется создание драйверного модуля, который будет относительно прост для программирования и представлять доступ ко всему спектру возможностей фреймворка Sigrok. В частности, им можно будет управлять в том числе через графические фронтенды, написанные на GTK (sigrok-gtk (http://sigrok.org/wiki/Sigrok-gtk)) и Qt (sigrok-gt (http://sigrok.org/wiki/Sigrok-gt)), а также через интерфейс командной строки (sigrok-cli (http://sigrok.org/wiki/Sigrok-cli)). По сообщениям от разработчиков, на текущий момент версия интерфейса на базе GTK реализована более полно и качественно, пока работая более стабильно, чем аналог на базе Qt.
<center><a href="http://hermann-uwe.de/files/images/Sigrok-gtk-0.1.png"&... src="http://www.opennet.dev/opennews/pics_base/0_1336128047.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
Согласно отчету проекта о поддержке аппаратного обеспечения различных логических анализаторов, Sigrok на данный момент полностью поддерживает 9 ведущих на рынке логических анализаторов, включая следующие наиболее известные из них: Open Bench Logic Sniffer (http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer), Salae Logic (http://www.saleae.com/logic/) и Bus Pirate (http://dangerousprototypes.com/docs/Bus_Pirate). В исходных текстах фреймворка также есть средства для работы со звуковыми картами через интерфейс ALSA (http://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture). Сообщается, что поддержка ALSA уже почти готова, и будет полностью завершена в следующем релизе. Другие дополнительные модули, которые находятся сейчас в разработке, позволяют работать с популярным семейством логических анализаторов на базе Cypress FX2, например моделью USBee SX (http://www.usbee.com/sx.html), для которой Sigrok содержит в себе необходимые микропрограммы для ПЗУ. В будущем запланирована реализация поддержки таких программируемых адаптеров, как PICkit 2.
Несмотря на логичную и полезную миссию проекта Sigrok, не все производители довольны подобной свободной разработкой, в качестве объяснения мотивов этого можно привести такой факт: многие производители очень хорошо продают свой специализированный софт для каждой конкретной модели логического анализатора. Их стоимость также зависит от включаемых возможностей, при этом в каждой из таких ниш им нет практически никакой конкуренции. Например, за 300 долларов продается программный пакет CWAV USBee Suite Pro (http://www.usbee.com/suite.html), который предлагает расширенный набор декодеров и может использоваться с анализаторами от разных производителей, при этом пусть и с более узким охватом списка поддерживаемых производителей, он обеспечивает полную поддержку заявленного оборудования.
<center><a href="http://hermann-uwe.de/files/images/Sigrok_vcd_output_in_gtkw... src="http://www.opennet.dev/opennews/pics_base/0_1336128016.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
В этом плане предстоит выполнить ещё много работы, прежде чем Sigrok по-настоящему станет серьёзным конкурентом подобным коммерческим пакетам: на данный момент бета-версия Sigrok предоставляет собой лишь набор базовых возможностей и самые простые формы анализа, а с учётом того, что большинство протоколов в нём поддерживаются не до конца – серьёзный анализ данных на его базе пока весьма проблематичен.
URL: http://www.hermann-uwe.de/blog/sigrok--cross-platform-open-s...
Новость: http://www.opennet.dev/opennews/art.shtml?num=33768