Цитата
Но меня АЛГОРИТМ интересует - последовательность включения этих 6 ключей чтоб результат получить.
аогоритм там простой - генерировать с помощью ШИМа огибающую синуса. предварительно нужна таблица синуса, например круглое количество - 256 отсчетов в памяти программ или данных, 16-битные счетчики текущего отсчета, старший байт используется как индекс в этой таблице, плюс коррекция амплитуды в сторону уменьшения для понижения частоты. при каждом переполнении частотозадающего таймера новое значение загружается в регистры ШИМа.
управление таймерами зависит от конкретного выбранного контроллера - формирование мертвого времени программное или аппаратное, если это поддерживается.