Всем доброе время суток.
Проектирую систему управления, в состав которой входит операция по суммированию 20 источников сигнала (по напряжению), обработка полученного значения и формирование из него четырёх выходных аналоговых сигнала. То есть сумматор на 20 каналов с 4 выходами.
Можно было бы сделать аналоговый сумматор, но сложность заключается в том, что функции выходных сигналов зависят не только от начальных значений, но и от того, сколько каналов активно на данный момент времени. При проектировании получалось что без логики управления не обойтись и микроконтроллер был нужен в любом случае.
Так как в современных микроконтроллерах есть встроенный АЦП и ШИМ, то возникла идея сделать всё устройство на одном микроконтроллере.
Все 20 входов (и один запасной, в сумме 21) завести на микроконтроллер и подключить их к каналам АЦП, реализовав программу, которая последовательно опрашивает каждый канал и выполняет операцию суммирования уже в цифровом виде.
Выходы сделать на основе ШИМ, то есть использовать один таймер и 4 выхода, установив на каждый выход свою скважность.
То есть получается система, которая последовательно оцифровывает 21 вход, считывает значение активности входа (обычный цифровой вход), исходя из этих данный проводит математическую операцию, по результатам выдает на 4 выхода ШИМ сигнал, которой поступает на ФНЧ и формируются 4 аналоговых выхода.
С микроконтроллерами опыта большого не имел (когда-то программировал 8-разрядные pic контроллеры на ассемблере), в основном занимаюсь аналоговой схемотехникой, поэтому хотелось бы получить советы по поводу использования микроконтроллера, можно ли завести на одном контроллере такую периферию и на каком конкретно? Так сложилось, что использовать могу только микроконтроллеры STM. Из поиска вроде бы подходит STM32F103ZCT6.
Подскажите пожалуйста, можно ли реализовать всё что я задумал на данном микроконтроллере?
Если кратко, можно ли на STM32F103ZCT6 организовать последовательный опрос 21 канала и оцифровкой каждого, соответственно 21 обычных GPIO и 4 ШИМ выхода?