CANNY 5 nano, Драйвер широтно-импульсного модулятора (ШИМ)

Материал из CANNY Wiki
Перейти к: навигация, поиск

Общее описание[править]

Три из восемнадцати каналов ввода-вывода (Канал №5, Канал №7 и Канал №16) CANNY5 nano поддерживают работу в режиме широтно-импульсного модулятора.

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

Драйвер ШИМ CANNY5 nano имеет два основных режима работы, задаваемых раздельно для каждого из трех каналов: низкочастотный и высокочастотный. Низкочастотный режим, позволяет реализовывать импульсный режим работы соответствующего канала с периодом от 2 до 65536 миллисекунд с шагом 1 миллисекунда, при использовании стандартных настроек системного таймера, и периодом от 200 до 6553600 микросекунд с шагом 100 микросекунд, при использовании увеличенного разрешения системного таймера.

В режиме высокочастотного ШИМ, период задается в диапазоне от 2 до 256 микросекунд, с шагом 1 микросекунда вне зависимости от настроек масштаба времени системного таймера.

8 13 1 1.png

Каналы могут быть задействованы независимо друг от друга и иметь индивидуальные настройки заполнения (скважности) ШИМ и подтяжки линии. В режиме низкочастотного ШИМ каналы также могут иметь и индивидуальные настройки значений периода, в то время как в режиме высокочастотного ШИМ, период является параметром, общим для всех использующих данный режим ШИМ каналов.

Каналы ШИМ имеют независимую во всех режимах работы настройку активного потенциала канала: открытый коллектор либо +5В.

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

Параметр Перечень допустимых значений
Конфигурация высокочастотного режима ШИМ Высокочастотный режим канала ШИМ включен, разрешение, 1мкс; Высокочастотный режим канала ШИМ выключен, разрешение, 1мс / 100мкс.
Конфигурация режима открытого коллектора ШИМ Режим открытого коллектора канала ШИМ включен; Режим открытого коллектора канала ШИМ выключен.

Именованные константы, содержатся в разделе «Конфигурация каналов ввода-вывода» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню входа функционального блока, имеющего тип «Константа».

Для перевода канала контроллера в режим широтно-импульсного выхода, необходимо:

  • в «Регистр включения драйвера ШИМ канала №ХХ» передать числовое значение, отличное от «0»;
  • в «Регистр включения высокочастотного режима ШИМ канала №ХХ» передать значение именованной константы, соответствующей выбранному режиму работы;
  • в «Регистр установки режима открытого коллектора ШИМ канала №ХХ» передать значение именованной константы, соответствующей выбранному режиму работы;
  • в «Регистр установки периода ШИМ канала №ХХ» передать числовое значение от 0 до 65565 (для низкочастотного ШИМ), либо числовое значение от 0 до 256 (для высокочастотного ШИМ), устанавливающее период генерируемых импульсов;
  • в «Регистр установки скважности ШИМ канала №ХХ» передать числовое от 0 до 65565 (для низкочастотного ШИМ), либо числовое значение от 0 до 256 (для высокочастотного ШИМ), устанавливающее заполнение (скважность) генерируемых импульсов в мс.

Регистры драйвера[править]

Ниже приведено описание допустимых значений регистров управления работой драйвера широтно-импульсного модулятора.

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

Регистр Ожидаемые значения
Регистр установки периода ШИМ канала №ХХ
В режиме низкочастотного ШИМ (мс / 0,1мс):
1...65535 = задать период генератора ШИМ указанного канала.
В режиме высокочастотного ШИМ (мкс):
1...256 = задать период генератора ШИМ указанного канала. Значение превышающее 256 будет взято по модулю 256.
Регистр установки заполнения (скважности) ШИМ канала №ХХ
В режиме низкочастотного ШИМ (мс / 0,1мс):
1...65535 = задать заполнение (скважность) ШИМ указанного канала.
В режиме высокочастотного ШИМ (мкс):
1...256 = задать заполнение (скважность) ШИМ указанного канала. Значение превышающее 256 будет взято по модулю 256.
Регистр включения драйвера ШИМ канала №ХХ
1...65535 = перевести канал контроллера в режим широтно-импульсного модулятора;
0 = использовать канал контроллера в обычном режиме.
Регистр установки режима открытого коллектора ШИМ канала №ХХ
1...65535 = режим открытого коллектора включен, полярность генерации ШИМ для канала «воздух» / GND;
0 = режим открытого коллектора выключен, полярность генерации ВЧ ШИМ для канала +5В / GND.
Регистр включения высокочастотного режима ШИМ канала №ХХ
1...65535 = перевести канал контроллера в режим высокочастотного широтно-импульсного модулятора;
0 = использовать канал в режиме низкочастотного ШИМ.


Особенности работы[править]

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

При включении драйвера ШИМ канала, в случае если значение его периода указано равным 0, то, вне зависимости от указанного значения заполнения (скважности), канал ШИМ будет всегда находиться в состоянии GND. В случае если значение заполнения (скважности) указано равным 0, то, вне зависимости от других заданных параметров, канал ШИМ будет всегда находиться в состоянии GND.

Если значение заполнения (скважности) больше значения периода или равно ему, то канал ШИМ будет всегда находиться в состоянии +5В или «воздух», в зависимости от значения регистра установки режима открытого коллектора ШИМ канала.

При использовании для работы с низкочастотным ШИМ режима увеличения разрешения системного таймера значения периода и заполнения задается в сотнях микросекунд, иначе — в миллисекундах.

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

Если канал включен в режиме ШИМ, т. е. в «Регистр включения драйвера ШИМ канала №ХХ» установлено значение, отличное от 0, то при установке в него значения 0 работа ШИМ канала немедленно прекращается и канал передается под управление драйвера ввода-вывода.

Примеры[править]

Функциональная диаграмма плавного изменения яркости светодиода, подключенного к каналу №16 контроллера:

8 13 3 1.png

ВНИМАНИЕ! Каналы CANNY5 nano не имеют защиты от короткого замыкания или перегрузки. Во избежание выхода каналов из строя, избегайте прямого подключения каналов с включенным выходным потенциалом GND к силовым цепям положительной полярности!


Смотри также[править]

CANNY 5 nano

CANNY 5 nano, Драйвер каналов ввода-вывода

CANNY 7, Драйвер каналов ввода-вывода

CANNY 7, Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)