Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

В конце данной главы в разделе самостоятельных заданий (задание 12) мы предложим Вам определить параметры инициализации модуля ШИМ самостоятельно. А пока приведем два примера.

Инициализация модуля PWM, пример 1

Определим параметры настройки модуля PWM для генерации ШИМ-сигнала с частотой 976 Гц и коэффициентом заполнения 66,7%.

Частоту тактирования канала ШИМ выберем равной 8МГц/32 = 250 кГц. Этой частотой будем тактировать 8-разрядный счетчик канала. Для формирования частоты 976 Гц потребуется 256 отсчетов частоты 250 кГц, что соответствует максимально возможному коэффициенту счета 8-разрядного счетчика периода канала.

Для формирования сигнала с коэффициентом заполнения 66,7% следует установить код периода, равный 256 отсчетам, а код коэффициента заполнения — 171 отсчету. Для формирования ШИМ-сигнала будем использовать канал 0 модуля PWM.

Программный фрагмент init_pwm.c производит начальную установку регистров специальных функций модуля PWM для генерации на выходе PP0 ШИМ-сигнала с частотой 976 Гц и коэффициентом заполнения 66,7%:

/*--------------------------------------------------------*/

/* Функция init_pwm задает начальные установки модуля PWM */

/*--------------------------------------------------------*/

void ini_pwm(void) {

 PWTST = 0x00; /*выбрать нормальный режим работы модуля PWM*/

 PWCTL = 0х00; /*выбрать режим фронтовой ШИМ*/

 PWCLK = 0x28 /*канал 0 в 8разрядном режиме, коэфф. деления*/

              /* частоты E_CLOСK равен 32*/

 PWPOL = 0х01; /*установить высокий активный уровень сигнала*/

 DDRP = 0хFF; /*настроить порт P на вывод*/

 PWEN = 0x01; /*разрешить работу канала 0 модуля PWM */

 PWPER0 = 255; /*установить код периода*/

 PWDTY0 = 171 /*установить код коэффициента заполнения*/

}

/*--------------------------------------------------------*/

Инициализация модуля PWM, пример 2

В начале раздела 4.24, мы рассматривали пример использования широтно-импульсной модуляции для управления серводвигателем. Для напоминания структурная схема управления серводвигателем приведена на рис. 4.114. В рассматриваемом примере серводвигатель приводит в движение рулевой механизм радиоуправляемой модели автомобиля. Вращение серводвигателя обеспечивает отклонение рулевого механизма на определенный угол от центрального положения. Этот угол определяется средним значением напряжения, которое прикладывается к двигателю. Напряжение регулируется способом широтноимпульсной модуляции, тогда среднее значение напряжения прямопропорционально коэффициенту заполнения ШИМ-сигнала. Значение коэффициента заполнения передается по радиоканалу. Изменение длительности импульсов напряжения, прикладываемого к серводвигателю, при сохранении частоты следования импульсов вызывает поворот рулевого механизма на определенный угол. Допустимый для рулевого управления диапазон регулирования коэффициента заполнения составляет от 4,5 до 10 %. При этом частота следования импульсов напряжения на двигателе должна составлять 50 Гц.


Рис. 4.114. Использование ШИМ для поворота рулевого колеса радиоуправляемой модели автомобиля.


Определим параметры настройки модуля PWM для генерации ШИМ-сигнала с частотой 50 Гц и коэффициентом заполнения 4,5…10,0 %. Предположим, что частота импульсной последовательности E_CLOСK равна 8 МГц. Тогда период следования импульсов E_CLOСK составляет:

TECLOCK = 1/fECLOCK = 1/8 МГц = 125 нс

Период следования формируемого ШИМ-сигнала составляет:

TPWM = 1/fPWM = 1/50 Гц = 20 мс

Число периодов импульсной последовательности E_CLOСK, которое должно быть отсчитано для формирования периода ШИМ-сигнала, составляет:

KE_CLOCK = TPWM/TE_CLOCK = 20 мс/125 нс = 160 000

Подсчитанное число слишком велико, чтобы его можно было разместить не только в 8-разрядном, но и 16-разрядном регистре. Поэтому при конфигурации модуля PWM необходимо воспользоваться программируемым делителем частоты E_CLOСK. Максимальное значение коэффициента этого делителя составляет 128: 160 000/128 = 1250.

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT