CH341A не умеет прошивать микроконтроллеры PSoC напрямую: этот недорогой USB-программатор рассчитан на работу с SPI- и I2C-памятью (микросхемы серий 24xx и 25xx), а чипы Cypress PSoC программируются по интерфейсу SWD через фирменную утилиту PSoC Programmer и отладчики KitProg или MiniProg. Поэтому запрос «psoc programmer ch341a» чаще всего означает, что у пользователя есть программатор CH341A и нужно понять, подойдёт ли он для прошивки PSoC 3, PSoC 4, PSoC 5LP или PSoC 6.

Короткий ответ: напрямую — нет, но есть обходные пути. В этой статье разберём, почему возникает несовместимость, какие интерфейсы используют микроконтроллеры PSoC, какие программаторы поддерживаются официально и какие варианты доступны энтузиасту с ограниченным бюджетом.

Почему CH341A не подходит для прошивки PSoC

Программатор CH341A построен на одноимённой микросхеме-преобразователе USB в последовательные интерфейсы. Его основное назначение — чтение и запись EEPROM и SPI Flash: BIOS материнских плат, прошивки роутеров, память телевизоров и мониторов. В некоторых сборках он также умеет эмулировать простые UART-функции, но это исчерпывает его возможности.

Микроконтроллеры семейства PSoC (Programmable System-on-Chip) от Cypress, ныне входящей в Infineon, используют для прошивки и отладки двухпроводной интерфейс SWD (Serial Wire Debug) — линии SWDIO и SWCLK. Этот протокол требует точного тайминга и специфической последовательности инициализации, которую аппаратная логика CH341A просто не реализует. Дополнительно часть старых PSoC первого поколения (PSoC 1) программировалась по собственному протоколу ISSP, который CH341A также не поддерживает.

Именно поэтому PSoC Programmer при подключении CH341A даже не увидит устройство в списке портов: утилита ищет только фирменные отладчики Cypress и некоторые совместимые адаптеры.

💡

CH341A — программатор для SPI/I2C-памяти, а PSoC прошиваются по SWD. Это принципиально разные протоколы, поэтому прямой совместимости нет.