Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Название:Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Автор:
- Жанр:
- Издательство:Издательский дом «ДМК-пресс»
- Год:2007
- Город:Москва
- ISBN:5-9706-0034-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С краткое содержание
В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах.
Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров.
Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Делитель 0 обслуживает каналы 0 и 1 (рис. 4.100), он формирует свой выходной сигнал из импульсной последовательности CLOСK_A. Делитель 1 обслуживает каналы 2 и 3 (рис. 4.100) и формирует выходной сигнал из последовательности CLOСK_B. Коэффициент деления каждого из этих делителей определяет код в регистрах PWSCAL0 и PWSCAL1 соответственно. Коэффициент деления Kx (x — номер делителя) вычисляется по формуле:
Kx = (PWSCALx + 1)/2,
где PWSCALx — десятичный эквивалент кода в регистре PWSCALx.
Код из регистров PWSCAL0 и PWSCAL1 автоматически загружается в вычитающие счетчики PWSCNT0 и PWSCNT1, когда последние обнуляются. Таким образом, счетчики выполняют функцию делителей частоты с плавно изменяющимся коэффициентом деления. Регистры счетчиков PWSCNT0 и PWSCNT1 доступны только для чтения. Форматы регистров PWSCAL0/PWSCAL1 и PWSCNT0/PWSCNT1 приведены на рис. 4.106 и 4.107.

Рис. 4.106.Формат регистров делителей PWSCALx

Рис. 4.107.Формат регистров вычитающих счетчиков PWSCNTx
При рассмотрении принципа действия отдельного канала генератора ШИМ-сигнала мы выяснили, что в формировании сигнала участвует непрерывно считающий 8-разрядный двоичный счетчик, текущий код которого сравнивается с кодом коэффициента заполнения и кодом периода. В регистрах PWCNTx (x — номер канала 0…3) отображается текущий код счетчика каждого канала. Формат регистров PWCNTx представлен на рис. 4.108. Регистры PWCNT0… PWCNT3 доступны только для чтения, попытка записи в регистр счетчика текущего кода вызывает сброс счетчика.

Рис. 4.108.Формат регистров счетчика каналов PWCNTx
Число регистров периода PWPERx равно числу каналов ШИМ в модуле PWM. Все регистры PWPER0…PWPER3 — 8-разрядные. Формат регистров PWPER0…PWPER3 приведен на рис. 4.109. Период следования ШИМ-сигнала каждого канала определяется кодом, который записан в соответствующем регистре периода PWPERx:

Рис. 4.109.Формат регистров периода каналов PWPERx
• для фронтовой ШИМ период сигнала равен
T PWM= (PWPERx + 1)/fx
• для центрированной ШИМ период сигнала равен
T PWM= 2 × (PWPERx + 1)/fx
где PWPERx — десятичный эквивалент кода в регистре периода PWPERx, fx — частота тактирования счетчика канала с номером «x».

Рис. 4.110.
Число регистров коэффициента заполнения PWDTYx также равно числу каналов ШИМ в модуле PWM. Все регистры PWDTY0…PWDTY3 — 8-разрядные. Формат регистров PWDTY0…PWDTY3 представлен на рис. 4.110. Длительность импульса в каждого канале определяется кодом, который записан в соответствующем регистре коэффициента заполнения PWDTYx:
• для фронтовой ШИМ длительность импульса равна
T IMP= (PWDTYx + 1) / [(PWPERx + 1) × fx]
• для центрированной ШИМ длительность импульса равна
T IMP= 2 × (PWDTYx + 1) / [(PWPERx + 1) fx]
Число регистров коэффициента заполнения PWDTYx также равно числу каналов ШИМ в модуле PWM. Все регистры PWDTY0…PWDTY3 — 8-разрядные. Формат регистров PWDTY0…PWDTY3 представлен на рис. 4.110. Длительность импульса в каждого канале определяется кодом, который записан в соответствующем регистре коэффициента заполнения PWDTYx:
• для фронтовой ШИМ длительность импульса равна
TIMP = (PWDTYx + 1) / [(PWPERx + 1) × fx]
• для центрированной ШИМ длительность импульса равна
TIMP = 2 × (PWDTYx + 1) / [(PWPERx + 1) × fx]
Коэффициент заполнения в обоих режимах равен
γ = [(PWDTYx + 1)/(PWPERx + 1)] × 100%,
где PWDTYx — десятичный эквивалент кода в регистре коэффициента заполнения PWDTYx, PWPERx — десятичный эквивалент кода в регистре периода PWPERx, fx — частота тактирования счетчика канала с номером «x».
Формат регистра управления модулем PWMCTL представлен на рис. 4.111. В этом разделе мы рассмотрим только бит CENTR этого регистра. Этот бит определяет форму выходных сигналов всех каналов модуля PWM. Если бит CENTR = 1, то в каналах реализуется центрированная ШИМ, при CENTR = 0 выходные сигналы генерируются по способу фронтовой ШИМ.

Рис. 4.111.Формат регистра управления PWCTL
Этот регистр используется только в специальных режимах работы МК. Его формат представлен на рис. 4.112. Более подробно мы не будем его рассматривать.

Рис. 4.112.Формат регистра PWTST
Обслуживание модуля PWM — альтернативная функция линий порта PORT P. Линии PP0…PP3 порта P могут использоваться не только в качестве выходов модуля PWM, но и как линии порта ввода/вывода общего назначения. Если работа соответствующих каналов модуля PWM разрешена, то линии порта P автоматически конфигурируются для работы в качестве выходов, на которых формируются ШИМ-сигналы. Если каналы модуля PWM не активизированы, то линии PP0…PP3 работают как обычные линии ввода/вывода. Направление передачи сигнала линиями PP0…PP7 определяется битами регистра направления передачи DDRP. Формат регистра DDRP приведен на рис. 4.113. Запись 1 в соответствующий разряд регистра DDRP конфигурирует линию на вывод. Порт P обслуживается регистром данных PORTP (рис. 4.113).

Рис. 4.113.Формат регистров обслуживания порта PORTP
4.24.5. Примеры программирования модуля PWM
Изучая модуль PWM, читатель должен был заметить, что модуль требует инициализации достаточно большого числа регистров для определения параметров работы каналов ШИМ. Однако после активизации каналов их программное обслуживание состоит лишь в смене значений коэффициента заполнения и реже, периода следования выходной импульсной последовательности.
Рассмотрим последовательность действий, которую необходимо проделать для инициализации модуля PWM:
Читать дальшеИнтервал:
Закладка: