Рис. 4.114.Использование ШИМ для поворота рулевого колеса радиоуправляемой модели автомобиля.
Определим параметры настройки модуля PWM для генерации ШИМ-сигнала с частотой 50 Гц и коэффициентом заполнения 4,5…10,0 %. Предположим, что частота импульсной последовательности E_CLOСK равна 8 МГц. Тогда период следования импульсов E_CLOСK составляет:
T ECLOCK= 1/f ECLOCK= 1/8 МГц = 125 нс
Период следования формируемого ШИМ-сигнала составляет:
T PWM= 1/f PWM= 1/50 Гц = 20 мс
Число периодов импульсной последовательности E_CLOСK, которое должно быть отсчитано для формирования периода ШИМ-сигнала, составляет:
K E_CLOCK= T PWM/T E_CLOCK= 20 мс/125 нс = 160 000
Подсчитанное число слишком велико, чтобы его можно было разместить не только в 8-разрядном, но и 16-разрядном регистре. Поэтому при конфигурации модуля PWM необходимо воспользоваться программируемым делителем частоты E_CLOСK. Максимальное значение коэффициента этого делителя составляет 128: 160 000/128 = 1250.
Именно такое число отсчетов следует использовать для генерации ШИМ-сигнала с частотой 50 Гц. Число 1250 может быть размещено в 16-разрядном регистре, поэтому мы будем использовать объединение двух 8-разрядных каналов модуля PWM в один 16-разрядный. Аналогичным способом следует вычислить коды, соответствующие диапазону возможных коэффициентов заполнения 4,5…10,0%.
Запишите код инициализации модуля PWM для управления серводвигателем рулевого механизма самостоятельно, используя блок схему рис. 4.115 и программный фрагмент init_pwm.
Рис. 4.115.Последовательность действий МК при обслуживании модуля PWM
4.25. Ограничение энергии потребления
Используя мобильный телефон, Вы должны были заметить, что он переходит в режим экономичного расхода энергии аккумуляторной батареи после того, как Вы перестали им пользоваться. Все современные телефоны оснащены красочным дисплеем с подсветкой. После завершения разговора подсветка дисплея автоматически выключается, и будет оставаться в выключенном состоянии до тех пор, пока пользователь не начнет нажимать на кнопки панели управления. Однако через некоторое время после последнего нажатия дисплей опять выключится.
Все описанные действия имеют своей целью экономию энергии аккумуляторной батареи в те промежутки времени, когда телефоном не пользуются. Телефон переходит в режим низкого энергопотребления («sleep mode» — режим сна) и остается в нем до тех пор, пока не поступит звонок или пользователь нажмет на кнопки. В главе 6 мы подробно рассмотрим, как экономить энергию батареи в микропроцессорных системах. Мы также увидим, что энергия потребления МК, выполненных по CMOS технологии, пропорциональна частоте системной шины МК. Некоторые значения для токов потребления в различных режимах работы МК приведены в таблице рис. 4.116.
Частота внутренней системной шины |
Максимальные значения токов потребления |
2 МГц |
4 МГц |
8 МГц |
Активный режим работы |
Однокристальный режим |
15 мА |
25 мА |
45 мА |
Расширенный режим |
25 мА |
45 мА |
70 мА |
Режим ожидания Wait (все периферийные модули отключены) |
Однокристальный режим |
1,5 мА |
3 мА |
5 мА |
Расширенный режим |
4 мА |
7 мА |
10 мА |
Режим останова STOP Однокристальный режим, (система тактирования выключена) |
–40 +85 (°C) |
10 мА |
10 мА |
10 мА |
+85 +105 (°C) |
25 мА |
25 мА |
25 мА |
+105 +125 (°C) |
50 мА |
50 мА |
50 мА |
Рис. 4.116.Ток, потребляемый МК семейства 68HC12 в различных режимах работы
Анализируя приведенные в таблице цифры, Вы можете увидеть ярко выраженную зависимость тока потребления МК от частоты тактирования. А также, что МК значительно снижает ток потребления в режимах ожидания WAIT и останова STOP.
4.25.1. Как остановить МК 68HC12
МК семейства 68HC12 переходит в режим ожидания WAIT сразу после исполнения команды WAI языка ассемблер. Перед тем, как перейти в режим ожидания, МК записывает в стек содержимое регистров центрального процессора и адрес возврата. Затем модуль системной интеграции отключает генератор тактирования центрального процессора, в то время как тактирование периферийных модулей МК продолжается. МК может быть выведен из состояния ожидания WAIT поступлением запроса на прерывание. Этот запрос может быть внешним, или внутренним, например, по какому либо событию в модуле таймера. После поступления запроса, МК перейдет из состояния WAIT в активный режим работы, восстановит значения кодов регистров центрального процессора из стека, а затем перейдет к исполнению подпрограммы прерывания.
Читать дальше