Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32F103 DMA "сжимает" начало массива при выводе на ШИМ

Пн июл 01, 2019 10:34:00

Добрый день!
Пытаюсь запустить генерацию синуса для управления H-моста с использованием DMA на TIM4. Для этого использую таблицу синуса с 70 значений. Которая соответствует одной полуволне синуса, то есть от 0 до PI.
Проблема заключается в следующем. DMA не выдает весь массив равномерно.
Количество периодов PWM не соответствует тому количеству заданной в таблице (70) и в начале есть скомканный сигнал частота которого на порядок больше, чем задающая частота PWM.
На картинке это прекрасно видно (обведено красным кружком).
Изображение Изображение

В чем может быть проблема?

Re: STM32F103 DMA "сжимает" начало массива при выводе на ШИМ

Ср июл 03, 2019 09:19:14

Я плохо в этом разбираюсь.. И по существу мне просто интересно. А таймер №4 умеет ДэдТайм делать? Там в Н-мосте не будет замыкания? Или я втупляю? :dont_know:

Re: STM32F103 DMA "сжимает" начало массива при выводе на ШИМ

Ср июл 03, 2019 11:53:25

Я сделал задержку между каналами с использованием дополнительного таймера (TIM3). У меня транзисторы которые не формируют синусоиду включаемые таймером в прерывании от DMA.

Re: STM32F103 DMA "сжимает" начало массива при выводе на ШИМ

Чт июл 04, 2019 04:25:39

А если по пробовать настроить DMA на выдачу в прямом режиме (не циклическом) массива ШИМ.
Будет DMA сжимать ?
Ответить