Имеем:
1. Плата управления освещением. Включает в себя полевой транзистор, ATtiny13 и FT232RL для связи контроллера с ПК через USB.
2. Программа для ПК, которая задает уровень освещения.
Работает все следующим образом:
При подключении платы к ПК, создается виртуальный COM-порт на который через программу посылаются числовые значения, определяющие уровень яркости источника освещения. Управление яркостью осуществляется путем изменения параметра ШИМ-сигнала, который генерирует ATtiny13.
Задача:
Избавиться от FT232RL, а ATTiny13 заменить микроконтроллером с большим количеством Flash-памяти для программной реализации в нем протокола USB совместно с основной программой.
Решение:
Внимание привлек проект AVR-CDC (страничка проекта - http://www.recursion.jp/avrcdc/. Его описание на русском - http://microsin.net/programming/AVR/avr-cdc.html). Данный проект имеет две реализации. Первый - CDC-232. Превращает контроллер в переходник USB-RS232, создавая виртуальный COM-порт на ПК. В чистом виде, для моей задачи, позволяет заменить дорогую микросхему FT232RL на более дешевый контроллер ATtiny45. Вторая реализация - CDC-IO. Она позволяет управлять регистрами специального назначения микроконтроллера AVR через виртуальный COM-порт на ПК, путем посылки на него определенных текстовых команд.
Вопрос:
Хорошим ли решением будет дополнение CDC-232 кодом, который будет генерировать ШИМ-сигнал, а при получении информации с ПК будет изменять его параметры? Или существует более оптимальный вариант, позволяющий использовать только один контроллер и обойтись без переписывания программы?

