Логический анализатор CY7C68013A

Тому, кто ищет недорогой вариант 16-канального логического анализатора уровней, возможно будет полезна эта статья. Речь пойдет об устройстве на китайской отладочной плате EZ-USB FX2LP CY7C68013A за 300 рублей (на апрель 2018) с контроллером CY7C68013A от CYPRESS. Работает он без доработок с отличной бесплатной программой PulseView (16 каналов) это полностью легальный вариант и с небольшими доработками с Saleae Logic (8 каналов). Также используют с USBee Suite, но я не пробовал. В последних двух случаях это уже вроде как мелкое мошенничество.

Внешний вид платы

ОС у нас будет Windows (проверено в 7,10). Просидел 3 часа с Linux Debian – продвинулся где-то до середины, потихоньку получается, думаю, собрать можно, если очень захотеть, но я пока отложу это «увлекательное» занятие. Для тех кому интересно: https://hackaday.io/project/21056-building-sigrok-on-linux-mint

Микросхема CY7C68013A и железо

Начнем с небольшого обзора. CY7C68013A довольно слабенький, по сегодняшним меркам, 8-битный микроконтроллер с ядром 8051 и без встроенной энергонезависимой памяти. Поэтому программа должна либо каждый раз загружаться извне, либо через тот же USB, либо надо использовать внешнюю EEPROM, что мы и наблюдаем. В целом контроллер заточен на работу с USB. Важным аспектом является то, что при питании 3.3В все входы у нас «5V tolerant», то есть можно смело подавать сигналы 5В.

Теперь о плате: тут имеется выключатель питания платы, кнопка reset и две перемычки J1 и J2 (есть также более старый вариант платы с одной перемычкой, о нем ничего сказать не могу). Перемычка J1 подает питание на пользовательские диоды D1 и D2, которые подключены к контроллеру. Перемычка J2 вероятнее всего меняет адрес микросхемы, что делает ее пригодной (перемычка снята) или непригодной (установлена) к записи через Cypress USB Console.

Работа с PulseView

Для того чтобы устройство заработало с PulseView нам понадобится проделать следующее:

  1. Установить PulseView https://sigrok.org/wiki/Downloads
  2. Установить драйвер https://community.cypress.com/docs/DOC-12366
  3. Устройство будет распознано как Cypress FX2LP No EEPROM Device, но работать как мы хотим оно пока не будет
  4. Теперь нам надо с помощью программы Zadig http://zadig.akeo.ie/ подменить наш драйвер
  5. Запустите Zadig, в Options установите «List all drivers»
  6. Выберите Cypress FX2LP No EEPROM Device, после зеленой стрелки WinUSB (по умолчанию) и нажмите Replace Driver (материал частично взят отсюда: http://www.instructables.com/id/FX2LP-CY7C68013A-USB-Dev-Board-Logic-Analyzer/ )
  7. Установка может занять 5-10 мин., в конце может появиться сообщение о провале, но драйвер заменится

Окно Zadig

Рис.1. Окно Zadig.

  1. Далее открываем PulseView. Устройство должно определиться автоматически, если этого не произошло, переподключаем плату, жмем на выпадающее меню и выбираем наше устройство (step1; как на скриншоте), жмем Scan…(step3), выбирает найденное (step4) и жмем «ок».

Окно PulseView

Рис.2. Окно PulseView.

Окно PulseView, Connect to device

Рис.3. Окно PulseView, Connect to device.

Здесь для нас не имеет значения установлены или сняты джамперы.

Выборка 23MSps до 8 каналов и 11.5MSps до 16 каналов.

Переделка под Saleae Logic

А теперь для тех, кто хочет потратить время и нервы непонятно зачем. Переделка под Saleae Logic. Сама программа мне понравилась меньше, чем PulseView, но если ви таки хочите немного охотиться до впечатлений, то вот они: для истользования с Saleae Logic нам понадобится прошить в EEPROM PID/VID, чтобы ПО распознало устройство как нативное. Но!, микросхема памяти EEPROM 24C128, установленная на плате не годится для тех прошивок, которые нам предлагают повсеместно. Годные микросхемы 24с02..24с16 (я поставил аналог с алиэкспресса — 24LC16). Но и это еще не всё, прошив память вы потеряете возможность использовать 16 каналов. PulseView тоже сможет работать с устройством, но уже увидит его как Saleae Logic с 8 каналами. Чтобы иметь возможность использовать оба варианта, нам понадобятся небольшие доработочки.

Доработок немного:

  1. Отпаять R8 и D2
  2. Отогнуть 8-ю ножку 24LC16, чтобы она не касалась дорожки (делать это надо перед пайкой микросхемы, иначе велик риск отломать ножку)
  3. Припаять перемычку (любой проводок или лучше кусочек ножки выводного резистора. Сначала припаять, потом отрезать остаток ножки) между отогнутой ножкой и посадочными местами резистора R8, как на фото

Переделка платы

Рис.4. Переделка платы.

Такая доработка даст возможность отключать питание микросхемы памяти перемычкой J1, когда надо будет использовать 16 каналов и включать для использования Saleae Logic.

Аппаратные доработки закончены, перейдем к программным. Чтобы прошить память потребуется:

  1. Скачать и установить ПО: CySuiteUSB_3_4_7_B204 http://www.cypress.com/documentation/software-and-drivers/suiteusb-34-usb-development-tools-visual-studio (кстати вместе с ним ставится и драйвер)))
  2. Снять перемычку J2, установить J1, включить устройство
  3. В программе CyConsole идем в Options, выбираем EZ-USB Interface

Окно CyConsole

Рис.5. Окно CyConsole.

Окно CyConsole, Options

Рис.6. Окно CyConsole, Options.

  1. Если вы ранее уже подменили драйвер через Zadig, то ничего у вас не выйдет! Надо откатиться обратно. Для этого надо в диспетчере устройств удалить драйвер (свойства, драйвер, удалить устройство), обязательно поставив чекбокс «Удалить программы драйверов для этого устройства». Если что читать здесь: https://github.com/pbatard/libwdi/issues/8
  2. Жмем «S EEPROM» и прошиваем прошивкой Saleae.iic (материал частично взят отсюда: http://myfreescalewebpage.free.fr/toolbox/logic/logic.htm ) прошивка прилагается
  3. Если всё хорошо, то видим следующее:

Успешная прошивка

Рис.7. Успешная прошивка.

  1. Не забудьте снова подложить драйвер через Zadig (снять J1, переподключить, подменить драйвер)

Если вдруг понадобится перепрошить память, надо снять J1, переподключиться, «S EEPROM» выбрать прошивку но не открывать (прошивать) ее, установить J1, открыть (прошить).

Теперь мы имеем 2 устройства. Снятая перемычка J1 – 16 каналов PulseView, установленная — 8 каналов Saleae Logic.
Ярослав Власов

1
Отправить ответ

Пожалуйста зарегистрируйтесь чтобы оставить комментарий
1 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Cnc-genius Recent comment authors
  Подписаться  
Notify of
ruslan_markiv
Участник
ruslan_markiv

Классная статья!