Доработка клона логического анализатора

Не секрет, что логический анализатор является одним из самых необходимых инструментов для разработчика встраиваемых систем. Осциллограф, конечно, во многих случаях выручает, но иногда просмотреть и проанализировать обмен между устройствами именно осциллографом невозможно, особенно, когда количество каналов больше двух и/или сам обмен достаточно растянут по времени. Скажу так, что вникнуть в обмен по шине USB и понять его на уровне «железа» мне помог именно логический анализатор.

Многие радиолюбители, не стеснённые лишними средствами, покупают самые доступные китайские логические анализаторы. У меня тоже такой имеется. Однако при эксплуатации оного с программным обеспечением Saleae Logic в последнее время у пользователей возникают проблемы. О решении сих проблем пойдёт речь в данной статье.

Проблема выражалась в следующем. При первом включении анализатор работал нормально: захватывал, отображал, декодировал обмен. При последующих включениях самопроизвольно начинали открываться новые сессии обмена, и их закрытие приводило только к ещё большему бесконтрольному открытию все новых сессий, что делало невозможным нормальную работу. Подобные проблемы описываются в интернете довольно широко. Предлагаются и возможные пути их решения. Например, на форумах некоторые товарищи предлагают перепаять внутреннюю EEPROM анализатора, заменив её на AT24C02 (якобы именно такая микросхема применяется в оригинальных анализаторах фирмы Saleae Logic). ?зучив всё, что я нашёл в интернете по этой теме, я первоначально поступил один к одному как описано в этой статье. Результат был положительным… за исключением того, что он (результат) был положительным только при первом включении после восстановления работоспособности. Дальнейшие включения повторили все вышеописанные в статье проблемы. Стало понятно, что логика работы программы Saleae Logic выходит за рамки простой проверки емкости внутреннего размера EEPROM анализатора или проверки только записанных в нем PID и VID. Алгоритм, заложенный разработчиками в программу, по каким-то своим дополнительным признакам выявляет, что логический анализатор является клоном и переписывает в EEPROM PID и VID. ?мея некоторый опыт работы с микросхемами EEPROM серии AT24 я принял решение просто аппаратно запретить в них запись, подтянув вывод WP к напряжению питания. Конечно же, сначала нужно переписать PID и VID на правильные (0xC0, 0x25, 0x09, 0x81, 0x38, 0x1B, 0x00, 0x00 с 0-го адреса). Переписать можно любым способом, например, как это пояснено в указанной выше статье. Я же воспользовался своими аппаратными средствами сделанными на макетке STM32F030, по мотивам этой статьи. Понять суть моих слов по доработке поможет фото ниже.

Фото

Как видите, коллеги, я оставил родную EEPROM (AT24C04), которая уже стояла в анализаторе, но разместил её на макетной плате, соединив с основной платой МГТФ — ными проводниками. Также, на всякий случай, добавил разъём для подтяжки вывода WP к земле, чтобы при необходимости перепрошить EEPROM без её выпаивания. Заизолировал внутреннее пространство синей изолентой (куда же без неё) и закрыл штатной крышкой. В итоге логический анализатор работает на официальном программном обеспечении Saleae Logic без сбоев. Несколько раз, по мере поступления обновлений, обновлял его (программное обеспечение) и в итоге эти обновления не повлияли на работу клона логического анализатора. Всем всех благ))).

Запись опубликована в рубрике Ремонт с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.