Прочитав статью http://easyelectronics.ru/skorostnoj-av ... llera.html решил сообразить себе такой программатор, но немного модернизировав. Во-первых, использовать FT232 по прямому назначению - как преобразователь USB-UART, а всю логику организовать на вспомогательном контроллере. Сам же этот контроллер будет программироваться при необходимости описанным в статье способом.
Пока не вдаваясь в подробности протоколов прошивки решил просто добавить автоматический режим, когда выходы SPI отсекаются от схемы, оставив при этом ручной. МК тут является просто буфером, и гонит через себя данные, тем самым анализируя линию SCK и отсекая/подключая выходы при необходимости. Так же на нём индикация режима и опрос кнопок...
Заготовка прошивки готова, осталось запрограммировать логику режимов - их четыре:
"RUN" - выводы SPI на программируемое устройство отсечены. Оно работает само по себе
"PROG" - RESET пациента зажат, SPI подключеы к схеме, пока нет сигнала SCK с FT232 идёт опрос кнопок. Как сигнал появляется - опрос кнопок заканчивается (чтоб нельзя было случайно выйти из режима во время прошивки), МК перекидывает данные на пациента. Как только сигнал на SCK не будет изменяться некоторое время (задаётся таймером) - опрос кнопок запускается.
"AUTO" - То же самое, но после остановки SCK выводы на пациента отсекаются (аналогично RUN), а при появлении - подключаются (аналогично PROG)
"UART" - переброс линий UART на пациента.
Так же добави возможность выключать питание программируемого девайса кнопкой (или программно, если понадобится)
Для опытов нужно воплотить это в железе. Схемы под рукой нет (скину вечером), вот фото того, что получилось. Делал специально под корпус от розетки RJ-45, уж очень там защёлки мне понравились









