Все началось с этой темы в которой кроме всего прочего речь шла о 16-ти канальном ШИМ контроллере. Решил сделать его аналог на STM32F103C8T6. Т. к. пока с I2C Slave еще не разбирался, то сделал USB вариант. Может быть в дальнейшем сделаю I2C Slave.
Конечно же не обошлось без некоторых отличий от оригинала на PCA9685. Во первых ШИМ 16-ти битный, а не 12-ти битный и его частота составляет 1098 Гц, а не 1000 Гц. Кроме того получилось 15 каналов, а не 16, потому что один из ШИМ-выводов используется для USB.
Для тестирования была написана небольшая программа.
Она чем-то похожа на ту что давным-давно была написана для ATmega http://bascom.at.ua/publ/usb_pwm/1-1-0-43
Еще одно из применений этой конструкции конечно же светомузыка. Ведь у нас есть 15 каналов 16-ти битного ШИМ что позволяет формировать различные световые эффекты с очень плавным управлением яркостью.
Для теста написал плагин для Аимпа.
Соответствие выводов платы с контроллером и выводов ШИМ.
1- A8
2 - A9
3 - A10
4 - A0
5 - A1
6 - A2
7 - A3
8 - A6
9 - A7
10 - B0
11 - B1
12 - B6
13 - B7
14 - B8
15 - B9

