Однажды, когда мне приспичило заполучить логический анализатор, ноги повели меня на SiGrok: отличное и универсальное FOSS ПО с анализом протоколов и поддержкой большого количества железа (представьте, не только логические анализаторы и осциллографы!)
На канале мне сразу подсказали, что меньше чем за 5 баксов (блин, дёшево!) можно заполучить плату логического анализатора с приличными характеристиками: на базе чипа "fx2lp" CY7C68013A
Ну-с, с чем её едят?
Такой расклад мне очень понравился, я не думая заказал плату на AliExpress. Правда, через пару недель, играясь с Blue Pill с прошивкой "логический анализатор SUMP" я понял, что не хватает щупов (легко находятся поиском "logic analyzer probe"), и я заказал и их.
Когда плата пришла, начал разбираться. Почему-то не нашёл внятной "хаутушки", поэтому решил поделиться опытом тут.
Один и джамперов переключает режим EEPROM, второй непонятно, чем занят. Это белое пятно я хочу закрыть позже, когда соберу информацию.
Впрочем, на wiki Sigrok и странице производителя эта информация есть.
На канале мне сразу подсказали, что меньше чем за 5 баксов (блин, дёшево!) можно заполучить плату логического анализатора с приличными характеристиками: на базе чипа "fx2lp" CY7C68013A
Ну-с, с чем её едят?
Такой расклад мне очень понравился, я не думая заказал плату на AliExpress. Правда, через пару недель, играясь с Blue Pill с прошивкой "логический анализатор SUMP" я понял, что не хватает щупов (легко находятся поиском "logic analyzer probe"), и я заказал и их.
Когда плата пришла, начал разбираться. Почему-то не нашёл внятной "хаутушки", поэтому решил поделиться опытом тут.
Назначение платы.
Когда Cypress создала серию чипов fx/fx2/fxlp/... , идея была создать некий универсальный инструмент, о чём можно почитать немного на Linux-USB. Поэтому можно найти ещё несколько любопытных применений этой платы.
Немного подробностей: Сypress’s EZ-USB® FX2LP™ (CY7C68013A/14/15/16A) — это микроконтроллер семейства 8051, "прокачанный" определённым образом (см. ссылку выше). Даташит доступен на 3-х языках.
Немного подробностей: Сypress’s EZ-USB® FX2LP™ (CY7C68013A/14/15/16A) — это микроконтроллер семейства 8051, "прокачанный" определённым образом (см. ссылку выше). Даташит доступен на 3-х языках.
Назначение джамперов.
Если разъёмы у китайской платы подписаны, то назначение джамперов скрыты кодами "J1" и "J2" ☺
Впрочем, на wiki Sigrok и странице производителя эта информация есть.
Эмм. Нужна картинка?
Как работать с платой.
Как показало описание на Linux-USB и практика,
- Прошивка прекрасно грузится "на лету" прямо в чип и работает оттуда. То есть вшивать нужную прошивку необязательно: при подключении по USB загружаем прошивку, USB ресетится, после чего плата работает в соответствии с загруженной прошивкой
- На плате есть также EEPROM, в который можно записать прошивку. В этом случае при включении плата уже будет работать под управлением прошивки
Как работать с платой, как логическим анализатором.
Возвращаюсь к ребятам из команды SiGrok. У них присутствует "побочный" проект Fx2lafw. Это открытая прошивка (на самом деле набор прошивок) для целой плеяды плат FX2/FX2LP. Функциональность прошивок: Логический анализатор или Осциллограф. Поддержка железа — зашкаливает ))
Однако, скачав, обнаружились 12 файлов прошивок без особых описаний ((
Тут могу дать рекомендацию: fx2lafw-sigrok-fx2-8ch.fw завелась сразу и без вопросов.
По шагам:
- скачиваем прошивку
- её ещё немного нужно подготовить:
$ objcopy -I binary -O ihex fx2lafw-sigrok-fx2-8ch.fw fx2lafw-sigrok-fx2-8ch.fw.hex
- устанавливаем программу fxload (у меня Linux. Ребята, про M$ не спрашивайте). Что приятно, установилась прямо из репозитария
- подключаем плату по USB. Обнаруживается примерно так (lsusb):
Bus 001 Device 096: ID 04b4:8613 Cypress Semiconductor Corp. CY7C68013 EZ-USB FX2 USB 2.0 Development Kit
- заливаем прошивку:
$ fxload -D /dev/bus/usb/001/096 -t fx2lp -I fx2lafw-sigrok-fx2-8ch.fw.hex
- Проверяем, что плата по USB видна уже иначе (в том же lsusb):
Bus 001 Device 097: ID 1d50:608c OpenMoko, Inc. Fx2lafw
- Запускаем PulseView, наслаждаемся! ☺
Для удобства пишем правило udev.
Чтобы не отвлекаться во время работы, автоматизируем процесс заливки прошивки.
Создаём файл и располагаем по пути /etc/udev/rules.d/90-fx.rules
ACTION!="add", GOTO="fx_rules_end"
SUBSYSTEM!="usb", GOTO="fx_rules_end"
#Cypress Semiconductor Corp. CY7C68013 EZ-USB FX2 USB 2.0 Development Kit
ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", \
SYMLINK+="fx2lp-devkit", \
RUN+="/usr/bin/fxload -D /dev/fx2lp-devkit -t fx2lp -I /lib/firmware/fx2lafw-sigrok-fx2-8ch.fw.hex"
LABEL="fx_rules_end"
ну, можно работать!
UPD 12.09.19: добавил полезные ссылки.
UPD 12.09.19: добавил полезные ссылки.
Комментариев нет:
Отправить комментарий