1

Тема: Драйвер канала в режиме ШИМ

Здравствуйте,

Заметил такую странность. Если установить режим работы канала = ВЫХОД ШИМ; ПЛЮС/минус, в регистр периода канала эаписать константу 10, а в регистр выходных значений записать 5, то на выходе получим меандр с периодом 10 мс и 50% заполнением. Тут все хорошо. Если в регистр выходных значений при прочих равных записать 10, то получим 100% заполнение, т.е. на выходе будет просто постоянное напряжение 12 В (если напряжение питания 12 В). Здесь тоже все хорошо. Но вот в случае, когда в регистр выходных значений записан 0, на выходе у меня опять же получается 12 В. Я ожидал получить постоянный 0 В. Хотелось бы понять, это особенность драйвера, ошибка драйвера, или я что-то не так делаю?

Данные в регистр выходных значений записывает диаграмма, скриншот которой я приложил. При этом я вполне уверен, что в старшем байте значения, записанного в D-триггере находится 0, а на выходе 10 канала почему-то 12 В.

Вложений в сообщении

Иконка вложения pwm2.png 22.95 кб, скачивался 175 раз, последний раз 2016-11-02 

2

Re: Драйвер канала в режиме ШИМ

Вы все делаете правильно, но ШИМ в предельных значениях имеет свои особенности работы.
Сейчас мы работаем над расширением документации, в которой подобные моменты будут учтены.
Для работы ШИМ в соответствии с интуитивным его пониманием, попробуйте использовать следующую схему:

Вложений в сообщении

iopwm.png, 8.87 кб, 496 x 180
iopwm.png 8.87 кб, скачивался 304 раз, последний раз 2016-11-04 

3

Re: Драйвер канала в режиме ШИМ

Спасибо за подсказку. Такой вариант работает.

Я думал о чем-то подобном, но предполагал менять конфигурацию канала на стандартный выход и обратно. Устанавливать нулевой период ШИМ в голову не пришло...

4

Re: Драйвер канала в режиме ШИМ

Вариант с изменением конфигурации канала тоже будет работать.