Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - Стивен Барретт
Шрифт:
Интервал:
Закладка:
Анализируя приведенные в таблице цифры, Вы можете увидеть ярко выраженную зависимость тока потребления МК от частоты тактирования. А также, что МК значительно снижает ток потребления в режимах ожидания WAIT и останова STOP.
4.25.1. Как остановить МК 68HC12
МК семейства 68HC12 переходит в режим ожидания WAIT сразу после исполнения команды WAI языка ассемблер. Перед тем, как перейти в режим ожидания, МК записывает в стек содержимое регистров центрального процессора и адрес возврата. Затем модуль системной интеграции отключает генератор тактирования центрального процессора, в то время как тактирование периферийных модулей МК продолжается. МК может быть выведен из состояния ожидания WAIT поступлением запроса на прерывание. Этот запрос может быть внешним, или внутренним, например, по какому либо событию в модуле таймера. После поступления запроса, МК перейдет из состояния WAIT в активный режим работы, восстановит значения кодов регистров центрального процессора из стека, а затем перейдет к исполнению подпрограммы прерывания.
МК переводится в режим останова STOP командой STOP языка ассемблер. Команда STOP исполняется только в том случае, если бит S в регистре признаков CCR центрального процессора сброшен. После поступления команды STOP центральный процессор сохраняет все регистры в стеке, а затем модуль системной интеграции полностью выключает систему тактирования МК. При полном отсутствии тактовых импульсов все логические элементы в составе полупроводниковой ИС микроконтроллера находятся в статическом режиме, т.е. в состоянии 0 или 1. Известно, что основные потери энергии в логических элементах происходят при переключениях из одного установившегося состояния в другое. Именно поэтому в состоянии STOP микроконтроллера, когда переключений элементов внутренней структуры нет, энергия потребления резко падает. Данные таблицы рис. 4.116 показывают, что в режиме останова STOP ток потребления МК снижается на три порядка, т.е. примерно в тысячу раз.
4.25.2. Как вывести МК 68HC12 из состояния пониженного энергопотребления
Поступление запроса на внешнее прерывание способно вывести МК семейства 68HC12/HCS12 из режима WAIT или STOP. Однако для подключения сигналов внешних запросов могут быть использованы не только входы IRQ и XIRQ. Линии портов PORT D, PORT Y и PORT J могут быть конфигурированы таким образом, что перепад сигнала на них из 1 в 0 вызовет переход МК из режима пониженного энергопотребления в активный режим работы.
Для реализации функции пробуждения МК все перечисленные регистры снабжены двумя дополнительными регистрами управления. Это регистр разрешения функции прерывания пробуждения KWIEx и регистр флагов прерывания пробуждения KWIFx (x — буквенное обозначение порта). Поскольку формат этих дополнительных регистров для всех перечисленных портов одинаков, мы рассмотрим только регистры порта D. На рис. 4.117 приведен формат всех четырех регистров специальных функций для обслуживания линий порта PORT D:
• Регистра данных PORTD;
• Регистра направления передачи DDRD;
• Регистра разрешения функции прерывания пробуждения KWIED;
• Регистра флагов прерывания пробуждения KWIFD.
Рис. 4.117. Формат регистров обслуживания порта PORD
Установка одного из битов регистра KWIED в 1 разрешает генерацию запроса на прерывание в момент перехода сигнала на одноименной линии из 1 в 0. Одновременно устанавливается флаг в регистре KWIFD. Прерывания от порта PORT D не имеют собственного вектора. Эти прерывания в МК связаны с прерыванием по входу IRQ. Поэтому, чтобы прерывания от линий порта PORT D были обслужены, необходимо установить бит IRQEN и разместить подпрограмму прерывания в памяти по вектору внешнего прерывания IRQ. Различные модели МК семейства 68HC12/HCS12 несколько отличаются по конфигурации функции внешнего прерывания пробуждения. Так в МК 68HC12A4 порты PORT J и PORT H обладают собственными векторами прерывания, что позволяет упростить подпрограмму прерывания по входу IRQ.
Обсудив возможность вывода МК из режима пониженного энергопотребления посредством дополнительных внешних прерываний, не следует забывать, что любой МК может быть переведен в активный режим работы подачей сигнала внешнего сброса.
Уменьшение потребляемой микроконтроллером в процессе работы мощности возможно также снижением частоты тактирования посредством перепрограммирования коэффициентов умножителя частоты или выбора специального режима тактирования «slow mode». Такое решение позволит оставить центральный процессор в работе, в отличие режимов WAIT и STOP, в которых центральный процессор останавливается.
4.26. Советы по использованию платы отладки MC68EVB912B32
В этом параграфе мы более подробно рассмотрим аппаратные средства отладочной платы MC68EVB912B32, в том числе, какие возможности предоставляет конструкция платы по присоединению к ней внешних интерфейсных компонентов.
Плата развития (evaluation board) MC68EVB912B32 разработана компанией Motorola для практического изучения МК семейства 68HC12 и отладки прикладных программ управления для относительно несложных приложений. На плате установлен МК MC68HC912B32 и дополнительные схемы, обеспечивающие функционирование МК и его связь с персональным компьютером для целей загрузки кодов разработанной программы и ее отладки. Внешний вид платы MC68EVB912B32 и схема размещения на ней компонентов представлены на рис. 4.118.
а) Внешний вид
б) Схема размещения компонентов
Рис. 4.118. Отладочной плата MC68EVB912B32
МК B32 схемотехнически установлен в режим взаимодействия с персональным компьютером по последовательному интерфейсу. Для организации взаимодействия необходимо установить соединение между портом P1 платы и COM-портом компьютера, используя для этого стандартный кабель с разъемами DB-9. Обмен производится со скоростью 9600 бод, в формате 8 бит данных, один стоповый бит, без контроля паритета. Обмен данными на более высоких скоростях невозможен.
Для работы с платой пользователь должен загрузить в персональный компьютер программный пакет класса «Интегрированная среда разработки ПО для микропроцессорных систем», например ICC12 от компании ImageCraft. Этот пакет позволит вам ввести исходный текст программы на языке ассемблера или на Си, произвести его компиляцию, обработать программой линковщика и получить файл исполняемых кодов. Далее следует загрузить полученный программный код в память МК отладочной платы, после чего выполнить внешний сброс МК. И МК начнет исполнять загруженную программу без участия персонального компьютера.
Отладочная плата MC68EVB912B32 имеет встроенную программу монитора отладки D-Bug12. Эта программа размещается в области Flash ПЗУ МК. Если пользователь желает поместить отлаживаемую программу также в область Flash, то он должен сначала стереть область Flash ПЗУ, а затем записать в эту область коды прикладной программы. При этом функции отладки будет невозможно реализовать.
МК B32 и другие ИС, размещенные на плате MC68EVB912B32, выполнены на основе CMOS технологии. Эти ИС достаточно чувствительны к статическому электрическому заряду, поэтому следует соблюдать повышенную осторожность при присоединении к плате внешнего оборудования. Более подробно вопросы безопасной коммутации внешних устройств к платам с МК мы рассмотрим в главе 5.
Отладочная плата MC68EVB912B32 имеет свободное монтажное поле для размещения дополнительных ИС, например ИС ЦАП, и установочных изделий, таких как дополнительные переключатели и светодиодные индикаторы. Для подключения этих компонентов к выводам МК можно использовать группу штыревых контактов 2×10, которую следует впаять в подготовленную линейку металлизированных отверстий. На каждый штыревой контакт может быть надета пружинящая клемма с подпаянным к ней монтажным проводом (рис. 4.119).
а) Соединение через штыревой контакт, на который надевается пружинящая клемма с подпаянным к ней пружинящим проводом
б) Конструкция пружинящей клеммы
в) Соединение двух плат с электронными компонентами при помощи мезонинной конструкции
Рис. 4.119. Способы подключения дополнительных компонентов к отладочной плате
Инженер кафедры вычислительной техники университета в Вайоминге Lew Sircin усовершенствовал данную технологию. Он предложил произвести автоматизированную разводку платы с дополнительными компонентами с выводом необходимых соединений на аналогичную линейку контактов 2×10, но только на дополнительной плате установить ответную часть разъема для штыревых контактов платы отладки. Соединив две платы через этот разъем, Вы получите мезонинную конструкцию, в которой одна плата расположена над другой (рис. 4.119).