Сайт о телевидении

Сайт о телевидении

» » Логический анализатор приставка к ПК

Логический анализатор приставка к ПК

Логический анализатор в цифровой электронике может оказаться незаменимым помощником наравне с осциллографом. Часто при анализе цифровых сигналов не нужна большая разрядность АЦП, а достаточно наблюдения всего 2-х состояний входных сигналов – 1 или 0. При этом логический анализатор обладает большим числом входов, в то время как большинство осциллографов имеют только 2 канала.

Давно обратил внимание на различные логические анализаторы на основе микросхемы CY7C68013. Поглядывал на них и недавно, наконец, решился купить один из клонов Saleae Logic / USBee.

Выбирал самую простую и дешевую модель в виде готового законченного устройства в удобном корпусе. Выбор пал на 8-ми канальный 24МГц клон Saleae Logic. Сеё добро обошлось примерно в 300р.

Хоть в комплекте и шла ссылка на архив с ПО, но программное обеспечение и без него легко нашлось. Стоило только в поиске набрать название устройства «Saleae Logic» и перейти по первой ссылки на официальный сайт saleae.com . ПО установилось без проблем и после включение анализатор автоматически определился и начал работу. Программа порадовала: сделана добротно, удобная навигация, анализаторы протоколов…

Думал, что устройство будет получать, обрабатывать и отображать данные на лету, как осциллограф, но его работа оказалось немного другой. Задаём объем выделено памяти и частоту дискретизации и нажимаем «Start». Для того, что бы не писать пустоту и не отлавливать нужный сигнал, а только полезный можно воспользоваться триггерами. По завершению запаси можно просмотреть и проанализировать то – что было на линиях. Данные можно анализировать, как визуально и с помощью курсора замерять продолжительность импульсов и посылок, так в программе содержатся и хорошие инструменты для декодирования многих распространённых протоколов, таких как: CAN, DMX-512, I2C, I2S/PCM, манчестера, 1-Wire, UART, параллельного, SPI и UNI/O. Для проверки подцепил , содержащих UART и однопроводную линию данных RGB светодиодных контроллеров WS2811 и посмотрел, что твориться на линиях.

Так же есть возможность использования флагов, для подсчёта длины посылок.

Всё работает и всё что можно декодируется. В UART пакетах над каждой посылках подписан переданный байт, жалко только, что программа не распознаёт кириллицу, а отображает только ASCII код незнакомого ей символа.

Данный логический анализатор позволяет, как не странно, анализировать цифровые сигналы от 0 до 5,5В, пороговое напряжение 1,5В. Для большинства цифровых сигналов этого достаточно. Ни какой защиты по входам у него нет, ещё бы за такие деньги, так что во время его использования нужно быть аккуратным и не подключать его туда, куда не следует.

Заглянем во внутрь.

Первым делом в глаза бросается контроллер – CY7C68013A, рядом с ним находится ЕЕПРОМ, с настройками контроллера. Чем интересна эта микросхема – тем, что при каждом включении она загружает программу с компьютера по USB в свою RAM. И, по сути, из этого контроллер можно делать всё, что угодно, не прошивая в привычном понимании этого слова, когда другим микроконтроллерам необходим программатор или специальный надстройки. Ещё заметны 24МГц кварц и буферный элемент с обвязкой.

На обратной стороне расположился стабилизатор.

Качество сборки нормально, только плату не отмыли.

Повторюсь, логический анализатор и его программное обеспечение порадовали. Из недостатков – во время работы немного нагревается.

Купил анализатор логических сигналов. Думаю пригодится. Хорошая вещь, может помочь при исследовании сигналов и поиске неисправностей в логических схемах. Устройство является клоном Saleae logic, оригинал которого стоит не одну сотню долларов.

Характеристики:

  • Каналов: 8
  • Частота выборки: до 24 млн/с
  • Входное сопротивление: 100 кОм

Устройство представляет из себя небольшую коробочку, размером примерно со спичечный коробок. С одной стороны разъём miniUSB для подключения к компьютеру. С другой — гребёнка из 10 контактов (8 каналов + две земли). Посмотрим, что внутри.


Микроконтроллер Cypress CY7C68013A, EEPROM Atmel 24C028N и буфер 74HC245.


С другой стороны:


Для работы с устройством качаем программу Logic .

В центре находятся 8 полос-каналов, на которых будет выводиться график сигнала. Слева находится кнопка Start и кнопки настроек каналов. Справа — окна измерений и анализа. Рассмотрим настройки:


Здесь можно выбрать частоту выборки (24 млн/с) и длительность:


Чем больше частота и длительность, тем больше потребуется памяти для сбора и хранения данных.
Для каждого канала можно выбрать ширину полосы, настроить фильтр помех или вообще скрыть канал:

Для одного из каналов можно настроить триггер: по фронту сигнала, по спаду, по ширине высокого или низкого импульса. Тогда при нажатии кнопки Start отсчёт времени записи начнётся только после срабатывания триггера.


Теперь для интереса рассмотрим различные сигналы с ардуинки.
Поморгаем светодиодом с паузой в 100 мс. Такой код:

1 2 3 4 5 6 void loop() { digitalWrite(13 , HIGH) ; delay(100 ) ; digitalWrite(13 , LOW) ; delay(100 ) ; }

void loop() { digitalWrite(13, HIGH); delay(100); digitalWrite(13, LOW); delay(100); }

Сигнал:


Видим, что период получился 0.2 с, и частота 5 Гц. Всё верно.
Теперь уменьшим задержки до 1 мс:

1 2 3 4 5 6 void loop() { digitalWrite(13 , HIGH) ; delay(1 ) ; digitalWrite(13 , LOW) ; delay(1 ) ; }

void loop() { digitalWrite(13, HIGH); delay(1); digitalWrite(13, LOW); delay(1); }

Увеличим:

Пока всё как мы и ожидали. Период чуть больше 2 мс, частота около 500 Гц.
Теперь совсем уберём задержку:

1 2 3 4 void loop() { digitalWrite(13 , HIGH) ; digitalWrite(13 , LOW) ; }

void loop() { digitalWrite(13, HIGH); digitalWrite(13, LOW); }

1 2 3 4 void loop() { PORTB = B11111111; PORTB = B00000000; }

void loop() { PORTB = B11111111; PORTB = B00000000; }


Ого, частота возросла больше, чем в 10 раз и теперь составляет примерно 1 МГц!
Но что с шириной импульсов? Почему ширина высокого уровня значительно короче, чем низкого? Ведь запись в регистр должна производиться с одинаковой скоростью независимо от содержимого. Есть что-то ещё, что выполняется после функции loop()?
Попробуем избавиться от стандартного перехода по функции loop и вставим бесконечный цикл:

1 2 3 4 5 6 7 void loop() { while (1 ) { PORTB = B11111111; PORTB = B00000000; } }

void loop() { while (1) { PORTB = B11111111; PORTB = B00000000; } }

Уже лучше. И частота возросла до 4 МГц! Часть тактов теряется на прохождение сравнения в цикле (1 — истина?). Ну и теперь попробуем чередовать несколько одинаковых команд друг за другом:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 void loop() { while (1 ) { PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; } }

void loop() { while (1) { PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; PORTB = B11111111; PORTB = B00000000; } }

Вот этой аномалии я немного не понял. Частота возросла до 8 МГц! То есть по одной операции на такт. Но при этом почему-то уменьшилась в два раза (с 83 нс до 41 нс) ширина положительного импульса. Что на это повлияло я объяснить не готов. Надо пробовать ковырять HEX-файл в дизассемблере.
Работа с регистрами напрямую очень необходима при работе с устройствами, которые критичны к синхронности импульсов на разных выводах. Посмотрим для примера, как различается импульс на двух контактах. Когда мы ставим друг за другом две команды digitalWrite для разных контактов, то мы считаем, что сигнал появится одновременно и там и там. Но конечно же это не так:

1 2 3 4 5 6 7 8 void loop() { while (1 ) { digitalWrite(12 , HIGH) ; digitalWrite(11 , HIGH) ; digitalWrite(12 , LOW) ; digitalWrite(11 , LOW) ; } }

void loop() { while (1) { digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(12, LOW); digitalWrite(11, LOW); } }


Логический анализатор приставка к ПК.

Поздравляю уважаемого Кота с днём рождения ещё раз и в качестве подарка представляю на ваш суд свою конструкцию, а именно программно-аппаратный комплекс тридцати двух канальный логический анализатор с максимальной частотой дискретизации 100 мГц и объёмом памяти записи 128 килобайт. Связь с ПК осуществляется через SPP LPT порт, так что подойдут и старые ПК на базе Р-1 и PCMCI - LPT карты обычно работающие только SPP режиме, и имеющие не стандартные адреса. Всем известно, что при разработке, налаживании или ремонте цифровой электроники этот прибор порой очень необходим. В Интернете есть много материала на эту тему, много конструкций достойных повторения, но исполненных на элементах каких в Российской глубинке не найти. Решено было попробовать стряпать самому, благо перепала Альтеровская ПЛИСина ЕРМ3064АТС100-10, быструю память KM736V789T-60 выдрал из материнки ноутбука APPLE (кэш процессора, процессор IBM что-то типа пентиум-2). Поскольку количества выводов ПЛИС для проекта явно не достаточно пришлось усложнять схему ключами и мультиплексором.

Входные ключи выполнены на двух шинных формирователях 74FCT164245, по сути, эта микросхема - две 74245 в одном корпусе, но имеет функцию преобразования уровней 5 вольт в 3, что не мало важно. Входные формирователи так же полезны в деле защиты дорогих и дефицитных деталей от аварийного попадания на их выводы высокого напряжения. На двух микросхемах IDTQS32X245 (тоже 2 * 74245) собран мультиплексор, сужающий 32-ух разрядную шину ОЗУ в восьми разрядную для последующей передачи в ПК. Все эти микросхемы были сняты с материнских плат отслуживших ноутбуков с 486-ым процессором. Генератор на 100 мГц достать не удалось, пришлось собирать на микросхеме ICD2028 (снята с материнки 486-го ПК), на отдельной плате в виде стандартного узла. В ходе разработки и модернизации выяснилось, что ресурсов ПЛИС не достаточно для воплощения задуманного, а результаты изысканий внушали оптимизма, через посылторг была приобретена микросхема ЕРМ3128АТС100-7, что позволило комфортно приблизить проект к логическому завершению и оставить ресурсы для модернизации. Проект для ПЛИС разработан на MAX+plus II, для тех кто не знаком с азами разработки и программирования ПЛИС фирмы Altera, рекомендую прочитать статью Абрамова Сергея, ссылка на неё https://electronix.ru в разделе "статьи". Плата устройства разработана в P-CAD 2001 и довольно сложна для "утюжной" технологии, но как видите, нет ни чего не возможного.

Устройство пока находится в "без оболочном" исполнении и предусматривает подключение плат входных, и выходных разъёмов, на которых будут находиться подтягивающие к GND, и помехозащитные элементы. В перспективе, раздобыв приличные АЦП и ОУ анализатор можно превратить в четырёх канальный запоминающий осциллограф. Устройство потребляет от источника питания 5 вольт (с подключенным к этой линии 3-х вольтовым стабилизатором) порядка 130 мА из них 50 мА приходится на генератор, так что запитав его от USB ноутбука работающего на батарее получаем гальванически развязанный с сетью прибор. На принципиальной схеме не изображены блокировочные конденсаторы ёмкостью 0,1 мкФ которые необходимо устанавливать возле каждого вывода Vcc питания микросхем. Разъём Х1 предназначен для программирования ПЛИС, разъём Х2 и выводы 1, 2 разъёма Х3 для подключения к LPT порту, при чём разводка Х2 соответствует нумерации разъёма DB-25 LPT порта, выводы 1 и 2 разъёма Х3 соединяют с выводами 17, 18-25 LPT порта соответственно. На выводе 7 разъёма Х3 присутствуют импульсы с частотой дискретизации (для тактирования АЦП, на случай его подключения), выводы 3-6 зарезервированы, их необходимо оставить не подключенными к чему либо. Х4 предназначен для подключения питания, разъёмы Х5, Х6 для исследуемых сигналов. При повторении конструкции в качестве ОЗУ можно использовать микросхемы кэш памяти процессоров Пентиум-II и с натяжкой Пентиум-I (у них максимальная частота "клока" 79 мГц), главное, ширина шины данных должна быть 32 - 36 бит и ёмкость 128 кбайт. Лучше использовать микросхемы взятые из ноутбуков, в противном случае потребляемый устройством ток может возрасти в несколько раз. В качестве ключей можно использовать 74НС244 - 245 или другие с Z-состоянием на выходах, при этом придётся разводить плату и позаботится о согласовании уровней исследуемых сигналов.
Теперь не много о программе со стороны ПК. Она написана на Delphi 7, крайне проста, но основную функцию отображения сигналов выполняет. Из всех "удобств" только курсорные измерения, запуск синхронизации по фронту или спаду одного из каналов, сохранение изображения в файл ВМР, возможность выбора длинны записи в ОЗУ 1 кбайт или 128 кбайт (на малой частоте дискретизации при 128 кбайтной длине время записи достигает 3 минут). А так же временная лупа, возможность выбора длинны просматриваемой на экране страницы памяти 1 кбайт или 8 кбайт, возможность выбрать количество просматриваемых каналов 8, 16, 32. От длинны страницы, количества используемых каналов, мощности процессора ПК, частоты дискретизации зависит время записи, передачи и прорисовки изображения, и как следствие максимальная частота обновления экрана при автоматическом запуске. Так что при больших значениях каналов, килобайт, микросекунд просмотр в реальном времени не возможен. Максимальная частота обновления экрана 100 мСек. Размер окна программы ограничен для возможности использования комплекса на старом ноутбуке с размером дисплея 800*600 пикселей.
В заключение хотелось попросить профессиональных "ПЛИСоводов" и программистов не судить строго, ведь это первый мой опыт в построении устройства на программируемой логике, да и вообще мы от сохи т.е. любители.

0

Vassilis Serasidis Логический анализатор - это инструмент, который позволит увидеть и проанализировать последовательность логических 0 и 1 в цифровом сигнале. К примеру, можно изучить цифровой сигнал с ИК приемника-демодулятора типа TSOP-1736, выходные и входные сигналы микросхемы MAX232, а также шину I2C (линия тактирования и линия данных) во многих электронных устройствах. В статье мы рассмотрим конструкцию миниатюрного 4-канального логического анализатора с ЖК дисплеем от мобильного телефона Nokia 5110/3110. Основой конструкции является микроконтроллер Atmel ATmega8, помимо него используются еще несколько дискретных компонентов. Основные характеристики прибора: 4-канальный логический анализатор; возможность исследования сигналов с частотой до 400 кГц; входное напряжение до +5 В; ЖК дисплей с разрешением 84 × 48 точек; питание от 4 аккумуляторов 1.2 В, максимальное напряжение питания 4.8 В; память: от 3.7 мс для высокоскоростных сигналов до 36 с для низкоскоростных сигналов; кнопки управления; простая конструкция. Принципиальная схема На Рисунке 1 представлена принципиальная схема прибора. Сразу следует отметить, что прибор питается от 4 аккумуляторов с напряжением 1.2 В каждый.
Нажмите для увеличения Внимание!!! Питание от 4 батареек с напряжением 1.5 В недопустимо, при данной схеме прибора, так как напряжение 6 В может вывести из строя микроконтроллер и ЖК дисплей.
Выключатель S1 предназначен для подачи питания. Подтягивающие резисторы R2-R5 установлены с целью исключения появления ложных данных на цифровых входах прибора из-за влияния электромагнитных полей или при касании пальцами сигнальных щупов. Светодиод LED1 предназначен для индикации наличия сигнала на цифровых входах прибора и, следовательно, начала записи сигналов в память. В схеме используется ЖК индикатор от мобильного телефона Nokia 3310/5510, он рассчитан на работу при напряжении питания 3.3 В - 5.0 В, однако максимальное напряжение для подсветки дисплея - 3.3 В, поэтому в схеме установленo три последовательно включенных диода 1N4007 (D1-D3) по линии питания подсветки дисплея. Благодаря диодам напряжение снизится до 2.7 В и его вполне будет достаточно для питания подсветки. Процесс захвата данных и программное обеспечение Следует отметить, что автором подготовлены две версии прошивки микроконтроллера. Изначально, для версии 1.00 логического анализатора, использовалась интегрированная среда разработки AVR Studio 4.18, но затем автор перекомпилировал исходный код и для AVR Studio 5 - версия 1.01. После перекомпиляции под 5 версию среды разработки и дальнейшего тестирования прибора, было замечено улучшение стабильности захватываемых сигналов. Запись сигналов ведется во внутренний буфер памяти ОЗУ, который рассчитан на 290 отсчетов. Буфер данных образован 870 байтами (для 1 версии программы микроконтроллера) из которых 2 байта используются для счетчика и 1 байт для информирования о входном канале. В версии 1.01 буфер данных был сокращен до 256×3=768 Байт с целью увеличения скорости захвата данных, т.к. переменная размера буфера является 8-битной, вместо 16-битной, которая использовалась в первой версии ПО. После подачи питания, микроконтроллер переходит в режим ожидания импульса на любом из 4 входов прибора. По определению входного импульса микроконтроллер начинает подсчет времени до поступления следующего импульса на любом из 4 входов. Длительность выборки хранится в 16-битной переменной «counter». После переполнения этой переменной информация о состоянии 4 входов и значение счетчика сохраняются в буфере и значение его адреса увеличивается на три (2 байта для счетчика и 1 байт - информация о входной линии). Этот процесс повторяется пока микроконтроллер не заполнит весь буфер (870/3=290 выборок или импульсов). Процесс записи сигналов в память микроконтроллера изображен на рисунке 2. После заполнения буфера, все накопленные данные отображаются на ЖК дисплее в виде осциллограммы. Пользователь может управлять осциллограммой - передвигать влево (кнопка S3) или вправо (кнопка S4), чтобы просмотреть всю сохраненную последовательность импульсов. Если были записаны низкоскоростные сигналы, то пользователь может изменить масштаб в пропорции 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 или 8192 нажатием на кнопку S2. При программировании микроконтроллера необходимо установить Fuse-биты в соответствии с рисунком. Вид печатной платы и расположение компонентов

В этой статье пойдет речь о логическом анализаторе - незаменимом инструменте для реверс-инжиниринга, да и вообще полезном в хозяйстве приборе. Для тех кто ни разу с подобным прибором не сталкивался скажу, что логический анализатор это что-то типа осциллографа, но у него много каналов и он может различать только два состояния сигнала: логический ноль и единицу. Используется оно в основном чтоб присосаться к какой-нибудь шине данных и считывать с неё то, что по ней передается, в компьютер. Ну а на компьютере работает специальный софт который эти данные отображает в дружественном для пользователя виде. Если бы программа просто показывала нам набор единиц и нулей растянутых во времени, то толку от этого было бы мало ибо анализ таких данных очень сложен и может взорвать моск даже опытному инженеру. Поэтому, все нормальные программы умеют декодировать протоколы типа 1-Wire, i2c, SPI, UART и так далее. Собранный мной анализатор поддерживает две популярные программы Saleae Logic и USBee Suite .

Сердцем девайса является контроллер CY7C68013A широко известный на просторах интернетов. Именно на нем народ клепает приборы вроде моего. К сожалению, у нас я не смог найти такой, пришлось покупать (13$) на Ebay небольшую отладочную платку с этим контроллером, а потом варварски его оттуда выковыривать. Кстати на той же плате есть почти все что нам потребуется для изготовления девайса (кроме буфера). Сама платка выглядит вот так:

Шаг выводов у контроллера очень мелкий, и если у вас не возникает желания "подковать блоху", то можно оставить контроллер на своем месте просто подпаяв к этой плате буфер. Но тут есть один момент об который я ломал голову почти целый день - этой на плате стоит не совсем та микросхема памяти. В первых нескольких байтах этой микросхемы должен быть записан идентификатор устройства и производителя (PID и VID). Как потом оказалось эта EEPROM память, может быть использована программой контроллера для каких-то своих целей. Прошивка предполагает, что к контроллеру подключена память 24lc02 ну а фактически китайцы туда присобачили 24lc128. Из-за разницы в адресации к ячейкам, прошивка не может записать (или прочитать?) что-то в какую-то ячейку памяти и девайс не стартует. Однако те самые первые байты с PID и VID пишутся/читаются правильно даже с микросхемой памяти большего объёма. Микросхема достаточно редкая (потому что старая) и я не нашел её не местном радиобазаре и втыкал всякие по очереди из тех что были в наличии. Успешно заработала 24lc04, а 24lc16 и всё что больше - работать правильно отказались. Эта проблема была только с софтом от Saleae, что же касается USBee, то там все работало без замены микросхемы. Кстати у контроллера CY7C68013A есть одна примечательная особенность: Он не имеет ни какой энергонезависимой памяти в которой хранится его прошивка. Она записывается в контроллер драйвером и остается в нем пока есть питание. Таким образом меняя VID и PID в микросхеме памяти, мы можем превратить девайс во что угодно:-) Теперь посмотрим из чего же сделан наш девайс:

А собственно ничего почти в нем и нет:

  • Сам контроллер CY7C68013A
  • Микросхема памяти
  • Буфер
  • Стабилизатор на 3.3 в

Ну и всякая типовая обвязка. Кстати на конденсаторах народ народ на форумах экономить не рекомендует, иначе самопроизвольные сбросы и прочие сюрпризы вам гарантированы. Отдельно стоит рассказать о назначении перемычек. Нафига нужна JP3 я пока не понял, но на всякий случай поставил, так как во многих подобных девайсах она есть. Без неё всё пока работает нормально. Перемычка JP1 управляет защитой от записи, её наличие разрешает запись чего-либо в микросхему. JP2 нужна для того чтоб временно отсоединять память от контроллера для её дальнейшей прошивки. Как это сделать сейчас разберемся. Кстати, прошить её можно обычным программатором для подобных микросхем, но для удобства лучше воспользоваться моим способом. Первым делом нужно скачать (и установить!) Cypress SuiteUSB 3.4, сделать это можно на официальном сайте или у меня . Затем необходимо снять перемычку JP2, а перемычку JP1 установить. После этого подключаем девайс и видим появилось новое устройство. После установки драйверов оно должно отображаться так:

Понятно, что контроллер не обнаружил микросхемы памяти и не понимает кто он из-за невозможности прочитать VID и PID. Когда контроллер находится в таком режиме, мы можем записать что-то в EEPROM память при помощи специальной утилиты которую мы установили ранее. Возвращаем перемычку JP2 на место при этом не отключая устройство! Теперь нужно запустить программу Usb control center и выбрать в списке слева наше устройство "Cypress EZ-USB FX2LP EEPROM missing ". Потом нужно в меню выбрать пункт Program FX2 -> Small EEPROM и в открывшемся окне выбрать тот файл содержимое которого нужно прошить в EEPROM. Если вы желаете использовать софт Saleae Logic , то нужно прошить туда вот этот файл . А если хочется юзать USBee Suite, то вот этот . Когда все успешно прошьётся, то внизу окна появится соответствующая надпись:

Если там ошибка, то не установлены перемычки JP1 и JP2. Теперь можно устанавливать софт и пробовать запустить анализатор. Софт Saleae Logic скачать можно на официальном сайте или , а USBee Suite или у меня . Установка ни каких проблем вызвать не должна, везде нажимаем "далее" и со всем соглашаемся:) Особо активно я пока этот анализатор не использовал, поэтому о софте подробнейшего рассказа не будет, расскажу только базовые возможности этих двух софтин. Ну а начну с чего попроще: Saleae Logic. Софт умеет декодировать следующие протоколы:

  • DMX-512
  • I2S / PCM
  • Manchester
  • 1-Wire
  • Async Serial
  • Simple Parallel
  • UNI/O

Данные после декодирования можно выгрузить в текстовый файл или сохранить в сыром виде а потом анализировать. Например вот так выглядит обмен данными между термометром DS18B20 и контроллером:

А вот тут я шлю привет через UART :

Захват данных может начаться как в ручном режиме так и по триггеру. Достоинство этой программы в простоте и интуитивно понятном интерфейсе. А еще она не очень требовательна к ресурсам по сравнению со следующей программой USBee Suite . Сразу после запуска у нас появятся 8 цифровых каналов и один аналоговый, которого в нашей конструкции физически нет. Поэтому его можно отключив нажатием крестика около него. Ну или можно припаять АЦП и немного обвязки и он начнет работать. Но мне с моим нормальным осциллографом это нафиг не нужно и я не стал заморачиваться. Программа умеет понимать следующие протоколы

  • Sync Serial
  • Parallel bus
  • Async Serial
  • SMBus
  • 1-Wire

Самый главный плюс - оно понимает USB, пока он мне не нужен, но скоро буду раскуривать и вот тогда анализатор будет как раз кстати. Я попробовал снять те же самые данные что и выше, при помощи этой программы. Опять тот же самый 1-Wire термометр от Dallas semiconductor:

и опять те же данные отправляемые через UART :

Меня удивило то, что не смотря на всю свою крутость обе программы не умею делать автодетект скорости UARTa. Что касается остальных протоколов, то до них еще не дошла очередь, но я обязательно их испытаю. Ни какого корпуса для девайса у меня нет, но возможно в ближайшем будущем он появится. Еще рекомендую купить цветных проводков, ведь каждому каналу в программах соответствует свой цвет и это очень удобно. Не лишними будут так же хваталки, которыми удобно присасываться почти к любому месте на плате:

Называются они "Test Hook Clip Probes" если кто будет искать в магазинах заморских. Продаются они сразу по 20 штук на DealExtreme. Предвидя вопросы на счёт платы, скажу сразу что она сделана обычным ЛУТом. Ничего ни где не отвалилось. Контроллер был припаян при помощи паяльника, матов и фена. Главное не торопиться. Ну а все остальные детальки очень большие и паяются феном или паяльником легко и непринужденно. Кстати, моя первая плата в Eagle, так что прошу не судить строго:)

Саму печатку можно скачать . Предложения и комментарии принимаются.