Сейчас многие начинающие отлаживают свои устройства в Proteus ISIS, а старики от паяльника брюзжат и выказывают свое негативное отношение к этому методу, не учитывая, что их у новичков нет, ни их опыта, ни (как правило) нужного оборудования. Опыт приходит с годами, а вот второй пункт мы и рассмотрим.
Логический анализатор – что за зверь?
Логический анализатор – это инструмент, предназначенный для перехвата, записи и последующего анализа состояний цифровых схем. Инструмент в цифровой электронике такой же нужный, как осциллограф при проектировании аналоговых схем. Собственно лог. анализатор можно назвать «сводным братом» осциллографа, функции у них очень похожи – отображение напряжения на сигнальной линии в зависимости от времени. А вот подход и приоритеты разные. Количество входных линий простейшего анализатора чуть ли на порядок больше, чем у самых дорогих моделей осциллографов. Разрешающая способность собранного на коленке анализатора сравнима с характеристиками осциллографов стоимостью в килобаксы. Объем перехватываемых семплов больше на несколько порядков. И все эти плюсы происходят из-за одного отличия – в отличии от осциллографа, логический анализатор видит и запоминает только два состояния сигнальной линии – логическая единица и логический ноль. Минусом это назвать сложно, для отладки цифровых схем большее в 99% случаев не требуется.
Но самое главное достоинство этого чудо-прибора кроется во втором слове названия. Логический анализатор не только рисует диаграммы сигнальных линий, но и анализирует их, переводя в понятный человеку язык. Конечно, для этого протокол передачи должен быть известен анализатору, но об этом поговорим немного позже.
Так вот ты какой, Северный Олень!
Логические анализаторы бывают нескольких видов:
- Самостоятельные приборы
- Модули для цифровых осциллографов
- Приставки для персонального компьютера.
Первый тип, как и любое профессиональное оборудование дорог и поэтому не очень подходит для начала. Вторые дешевле, но так, же обладают серьезным минусом: требуют наличия соответствующего (весьма не дешевого) осциллографа.
А вот на приставках к компьютеру остановимся подробнее, цена этих устройств минимальна, возможности вполне серьезные, а единственный недостаток, подключение к компьютеру, не такой уж и серьезный.
Кроме того, к большинству подобных приставок прилагается документация и API (Application Programming Interface), что позволяет добавить новые протоколы к уже известным анализатору.
Итак, перейдем к практике: сегодня в программе USB-анализаторы Logic-U и Open Logic Sniffer
Logic-U
Логический анализатор от украинской команды 6-lab. Аппаратно является клоном USBee AX(в который переделывается с помощью одного джампера) и полным клоном (причем с разрешения, как сообщает 6-lab) прибора от Saleae, чей софт Logic-U и использует.
Выполнен он на чипе CY7C68013 от Cypress.com и имеет аппаратную поддержку USB2.0, что позволяет передавать данные на больших скоростях и как следствие Logic-U умеет записывать достаточно большое количество семплов (до 2000.000.000). Записывает данные с 8 входов. А частота семплирования от 25kHz до 24MHz. Программа обработки Saleae Logic позволяет группировать входы произвольным образом, одновременно расшифровывать несколько протоколов.
Протоколы, поддерживаемые из коробки:
- Параллельная шина
- UART
- I2C
- SPI
- 1-Wire
- CAN
- А так же I2S, UNI/O, DMX-512, Manchester
Saleae Logic работает без подключения приставки — только захват данных заменяется на симуляцию, так что можно скачать и посмотреть как оно выглядит на самом деле
Еще один небольшой бонус — версия Logic-U Plus может стать клоном USBee, для это нужно просто переставить джампер. USBee это не столько логический анализатор (если честно, то Seleae Logic мне больше понравилась), сколько чудо примочка: генератор сигналов, простенький, но вполне рабочий одноканальный осциллограф, 8-и канальный частотомер, ШИМ-модулятор, счетчик импульсов, вольтметр, контроллер I2C.
На сайте доступны для покупки модули – переходник BNC для щупа, гальваническая развязка входов, преобразователи уровней RS-232/RS-422/CAN
Причем как сам прибор, так и модули-переходники можно приобрести как в собранном виде, так и в виде печатной платы и набора необходимых деталей для самостоятельной сборки
Цена в 70 баксов (за версию Logic-U Pro) или $39 (за набор для самостоятельного изготовления) вполне адекватная и бюджетная.
Посмотрим, как все это выглядит в деле:
Пример экспорта в CSV: logic-export.csv
Open Logic Sniffer
Открытая разработка – собирается самостоятельно или заказывается уже собранный (seeedstudio.com). Плату под Xilinx Spartan 3E в домашних условиях сделать сложно, а уже собранный на seeedstudio стоит смешных $50 вместе с почтовыми расходами. Так что, я решил купить готовый, тем более, что по нашим ценам на тот же spartan3E готовый прибор выходит еще и дешевле.
Зачем еще один? Иногда возможностей Logic-U не хватает. И главный недостаток – 8 входов в OLS решен радикально: 16 буферизованных входов с толерантностью к TTL и еще 16 не буферизованных (не распаяны, но запаять совсем не сложно) входов на 3.3V. (такой кучей входов вообще мало кто может похвастать). Линии включаются группами по 8 и соответственно кушают память, которой хватает максимум на 24k семплов. Но настройки триггера позволяют обходится даже таким небольшим количеством памяти и не чувствовать ограничений.
А вот второе достоинство – использование Spartan 3E для захвата данных позволило увеличить частоту семплирования до 200MHz. Что для приборчика ценой в $50 очень и очень много.
Продается этот шедевр в виде печатной платы, никакого корпуса китайская промышленность пока не придумала. Впрочем, для умельцев напильника и клея сделать корпус не составит больших трудов. Соединительные провода (miniUSB, сигнальные) в комплект так же не входят (о чем я, к сожалению, узнал не сильно сразу) и могут приобретаться отдельно (на том же seeedstudio.com).
Распаянная гребенка на 16 входов очень удобно устанавливается на макетные платы breadboard, так что сделать (или заказать) провода у меня до сих пор не возникало достаточно желания.
Подробная документация, схемы, и программное обеспечение dangerousprototypes.com и
Те же часики, то же время, другой анализатор:
И конечно же присутствует экспорт в CSV и HTML:
ols-export-i2c.html
ols-export-i2c.csv
P.S.
Как видно из некоторых скриншотов — оба прибора отлично работают в Linux, а вот ситуация с драйверами в Windows 7 x64 печальна — драйвера имеются, но из-за жесткой политики неназываемой компании в отношении не сертифицированных драйверов приходится переводить систему в режим тестирования (F8 при загрузке). Да и то, не всегда работает как хотелось бы. С Windows XP (x86) проблем не замечено.