Потребовалось посмотреть консистентность общения c устройством по шине I2C. Вспомнил, что в закромах Родины валяется демоплата за 120 рубликов (сейчас в пределах 200-300 рублей) на FX2LP. Покупалась для реализации SMBus-USB адаптера, что бы перепрошить батарейку ноутбука. До перепрошивки не дошло, но всплыло где-то в голове, что эта плата фигурировала как анализатор сигналов.
Собственно, саму плату искать на eBay или Aliexpress по словам Cypress FX2LP
, а софт для работы вот, от проекта
Sigrok:
- https://sigrok.org/wiki/Downloads - качать PulseView (в Manjaro PulseView присутствует в репозитории)
- https://sigrok.org/wiki/Fx2lafw - это фирмварь для платы, что бы Sigrok понял как с ней работать, в Manjaro нужно из AUR ставить. Можно как исходники, можно так и предотстроенные бинарники.
- https://sigrok.org/wiki/Saleae_Logic - а это то, как Sigrok видит нашу плату.
Sigrok автоматически загружает прошивку в плату, если вы её выбрали. Если ничего не происходит: запустите pulseview из терминала и посмотрите, что выпадает на экран.
А вот так выглядит сграбленный сигнал вместе с включенным парсером I2C:
В данном примере:
- D0 - клок
- D1 - данные
Плюсом этой платы может стать ещё то, что лёгким движением она может быть превращена в I2C/SMBus-USB конвертер, используя наработки и прошивку из проекта: https://github.com/karosium/smbusb. Собственно этот проект и создан для реверса протокола прошивок АКБ ноутбуков.