а) Временные диаграммы ШИМ-сигналов с различными коэффициентами заполнения
б) Регулировочная характеристика
Рис. 4.2. Широтно-импульсная модуляция
• Модуль контроллера последовательного обмена BDLC (Byte Data Link Communication) поддерживает коммуникационный протокол SAE J1850, который является действующим стандартом бортовой информационной сети в автомобилях североамериканского производства.
• Модуль контроллера CAN интерфейса msCAN12 (Motorola Scalable Controller Area Network) содержит в себе набор аппаратных средств для поддержки коммуникационного протокола промышленных сетей в стандарте CAN 2.0 A/B. Этого модуля нет в составе МК модели B32, однако он присутствует во многих других моделях семейства HC12 и HCS12. Пример работы с этим модулем приведен в главе 9.
Для более полного восприятия структуры МК B32 мы дополним приведенные технические характеристики небольшим примером применения.
На рис. 4.3. представлена микропроцессорная система регулирования скорости электрического двигателя на основе МК семейства 68HC12. Желаемая скорость вращения двигателя (число оборотов в секунду — об/с) задается посредством шестнадцатикнопочной клавиатуры. МК 68HC12 осуществляет преобразование вводимых с клавиатуры кодов в ШИМ сигнал для управления двигателем. Информация о скорости вращения двигателя снимается с выхода оптического импульсного датчика, установленного на валу двигателя. Измеренное значение скорости используется для вычисления коэффициента заполнения ШИМ сигнала, который управляет подключением силового напряжения к обмотке двигателя. Регулирование коэффициента заполнения ШИМ сигнала позволяет поддерживать скорость вращения двигателя на заданном уровне. Текущая скорость двигателя отображается на жидкокристаллическом (ЖК) индикаторе.
Рис. 4.3. Система управления электрическим двигателем на основе МК 68HC12
Вопрос: какие подсистемы МК семейства 68HC12 используются для реализации рассмотренной системы регулирования скорости вращения двигателя?
Ответ:
• Параллельный порт задействован для ввода сигналов с клавиатуры.
• Модуль ШИМ используется для генерации широтно-модулированного сигнала управления силовым ключом IRF530. Этот ключ коммутирует силовое напряжение к обмотке двигателя. Если в примере использовать МК семейства 68HC12, который не имеет в своем составе модуля ШИМ, например A4, то этот же сигнал может быть сгенерирован одним из каналов многофункционального таймера в режиме выходного сравнения OC.
• Выход оптического импульсного датчика подключается на вход счетчика внешних событий PA. Внешний датчик и встроенный в МК счетчик вместе образуют цепь обратной связи системы управления скоростью вращения двигателя.
• Модуль меток реального времени RTI реализует периодические прерывания для считывания накопленного в счетчике внешних событий числа импульсов. Это значение используется для вычисления реальной скорости вращения двигателя.
• Параллельный порт и несколько дополнительных линий другого порта используются для вывода информации на ЖК индикатор.
4.2. Аппаратные средства МК семейства HCS12
Новое семейство МК HCS12 унаследовало архитектуру процессорного ядра и большинства периферийных модулей от своего предшественника, семейства 68HC12. Каковы основные отличия МК нового семейства HCS12 от изученных представителей 68HC12?
• Напряжение питания большинства моделей МК семейства HCS12 равно 5,0 В, что позволяет обеспечить электромагнитную совместимость в автомобильных и общепромышленных применениях.
• Повышенна производительность процессорного ядра. Частота тактирования центрального процессора и межмодульных магистралей МК семейства HCS12 составляет 25 МГц против 8 МГц у HC12;
• Увеличен объем резидентной памяти. Объем встроенного в МК семейства HCS12 ОЗУ достигает 12 Кб, объем Flash ПЗУ — 512 Кб. Кроме того, в составе большинства моделей МК имеется значительная область EEPROM (до 4 Кб) для хранения перепрограммируемых констант пользователя;
• Большое число интегрированных на кристалл разнообразных контроллеров последовательных интерфейсов, т.к. МК семейства предназначены для работы в качестве интеллектуальных узлов распределенных систем управления.
Семейство HCS12 объединяет ряд моделей МК с одинаковым процессорным ядром CPU HCS12. Отдельные представители семейства различаются объемом встроенной памяти и количеством и типом интегрированных на кристалл МК периферийных модулей. Однако каждый МК из семейства HCS12 имеет в своем составе следующие функциональные модули:
• Память трех типов: FLASH память программ, энергонезависимая память EEPROM для хранения изменяемых констант пользователя и статическое ОЗУ для размещения промежуточных переменных прикладной программы управления;
• Многофункциональный 16-разрядный таймер с 8 каналами IC/OC;
• Многоканальный аналого-цифровой преобразователь;
• Контроллеры последовательного обмена нескольких стандартов;
• Модуль ШИМ общего назначения, ряд моделей оснащен специализированным модулем ШИМ для управления автономными вентильными преобразователями.
Структурная схема одного из представителей семейства HCS12 — микроконтроллера MC9S12DP256B представлена на рис. 4.4. Обратите внимание, что большая часть модулей этого МК уже рассматривалась Вами в составе МК MC68HC912B32 (рис. 4.1). Однако на кристалле MC9S12DP256B размещены уже два 8-канальных АЦП, добавлены 5 модулей контроллеров CAN и новый модуль PPAGE для аппаратной поддержки режима страничной адресации внешней памяти. Также претерпел изменения модуль таймера ECT, который стал именоваться «усовершенствованным таймером с функцией фиксации» (Enhanced Capture Timer).
Рис. 4.4. Структура микроконтроллера MC9S12DP256B
Мы надеемся, что читатель получил общее представление о МК семейства 68HC12/HCS12, и следует перейти к подробному изучению их технических особенностей. Далее на протяжении этой главы мы рассмотрим аппаратную реализацию и регистровые модели отдельных модулей в составе МК семейства 68HC12/HCS12. Также будут рассмотрены примеры программного обслуживания каждого модуля. В последующих главах мы объединим полученные навыки программирования периферии МК при создании микропроцессорных устройств различного назначения.
4.3. Режимы работы МК семейства 68HC12/HCS12
Микроконтроллеры семейства 68HC12/HCS12 функционируют в одном из восьми режимов, которые делят на две группы: рабочие режимы и специальные режимы. Рабочие режимы позволяют создать различную аппаратную реализацию встраиваемого контроллера, в то время как специальные режимы работы предназначены для проведения тестовых испытаний и диагностики МК в процессе производства. Поэтому инженерам по применению микроконтроллеров важно изучить лишь группу рабочих режимов.
BKGD MODB MODA | Режим работы | PORTA | PORTB |
---|---|---|---|
000 | Специальный однокристальный | PORTA | PORTB |
001 | Специальный расширенный с 8-разрядной внешней шиной | ADDR [15...8] DATA [7...0] | ADDR [7...0] |
010 | Специальный периферийный | ADDR, DATA | ADDR, DATA |
011 | Специальный расширенный с 16-разрядной внешней шиной | ADDR, DATA | ADDR, DATA |
100 | Нормальный однокристальный | PORTA | PORTB |
101 | Нормальный расширенный с 8 разрядной внешней шиной | ADDR [15...8] DATA [7...0] | ADDR [7...0] |
110 | Резервный (периферийный) | — | — |
111 | Нормальный расширенный с 16 разрядной внешней шиной | ADDR, DATA | ADDR, DATA |
Рис. 4.5. Режимы работы микроконтроллеров семейства 68HC12
Каждый режим из группы рабочих задает собственное распределение адресного пространства МК и конфигурацию магистралей для подключения внешней памяти. Режим работы МК назначается посредством комбинации логических сигналов на входах BKGD, MODB, MODA микроконтроллера в состоянии начального запуска МК. Состояние начального запуска именуют также состоянием сброса (Reset). Сразу после выхода из состояния сброса МК запоминает кодовую комбинацию на перечисленных входах и переходит в соответствующий режим работы. Полный перечень режимов работы МК 68HC12/HCS12 представлен на рис. 4.5. Там же указаны альтернативные функции линий портов PORT A и PORT B, которые они приобретают в каждом из режимов работы.
4.3.1. Рабочие режимы
В большинстве проектируемых устройств Вы будете использовать МК 68HC12/HCS12 в одном из трех рабочих режимов:
• Однокристальном или автономном режиме;
• Расширенном режиме с 16-разрядной внешней шиной;
• Расширенном режиме с 8-разрядной внешней шиной.
Расширенные режимы работы предоставляют возможность подключения к МК внешней памяти и внешних периферийных ИС с использованием параллельных магистралей адреса и данных. Сигналы магистралей формируются на линиях портов PORTA и PORTB, поэтому использование соответствующих выводов МК в качестве линий ввода/вывода общего назначения в расширенных режимах работы становится невозможным.
Краткое описание рабочих режимов:
• Однокристальный режим работы (BKGD: 1, MODB: 0, MODA: 0) обеспечивает функционирование МК с использованием только внутренней памяти. Поэтому коды прикладной программы управления и ее переменные должны размещаться только во внутреннем ПЗУ и ОЗУ МК. Порты PORTA и PORTB используются в качестве обычных двунаправленных портов ввода/вывода. Подключение внешних периферийных ИС должно производиться с использованием последовательных интерфейсов или с программной поддержкой временной диаграммы обмена на линиях портов ввода/вывода.
• Расширенный режим с 16 разрядной системной шиной (BKGD: 1, MODB: 1, MODA: 1) обеспечивает функционирование МК с использованием как внутренней, так и внешней памяти. Для подключения внешней памяти предназначена 16-разрядная мультиплексированная магистраль адрес/данные ADDR15–0/DATA15–0. При этом старший байт мультиплексированной во времени магистрали ADDR15–8/DATA15–8 формируется на линиях PORTA, младший байт ADDR7–0/DATA7–0 — на линиях PORTB.
• Расширенный режим с 8 разрядной системной шиной (BKGD: 1, MODB: 0, MODA: 1) также реализует работу МК с использованием внутренней и внешней памяти. Но для подключения внешней памяти предназначены 16-разрядная магистраль адреса ADDR15–0 и 8-разрядная магистраль данных DATA7–0. Старший байт магистрали адреса ADDR15–8 выводится на PORTA, младший байт ADDR7–0 — на PORTB. Двунаправленная 8-разрядная магистраль данных DATA7–0 использует линии порта PORTA в мультиплексированном со старшими разрядами магистрали адреса режиме. В обоих расширенных режимах некоторые линии порта PORTE используются для передачи сигналов управления обменом по шине.
4.3.2. Режимы работы отладочной платы M68EVB912B32
В данном параграфе мы рассмотрим режимы отладки, которыми может воспользоваться начинающий разработчик микропроцессорных систем, используя для своих экспериментов специальную плату отладки M68912B32EVB. Установленный на плате МК MC68HC912B32 работает в однокристальном режиме. Возможен перевод МК в расширенный режим работы. Для этого на плате имеются переключатели и разъемы системной шины для подключения внешних элементов. Однако в процессе выполнения учебных задач эта операция вряд ли будет необходима. Объем учебных примеров таков, что программы могут быть размещены во внутренней памяти МК отладочной платы.
Плата отладки M68912B32EVB позволяет реализовать четыре различных режима отладки, каждый из которых назначается посредством определенной конфигурации переключателей режимов:
• Режим EVB. В этом режиме реализуется работа под управлением резидентного монитора отладки D-Bug12. Аппаратные средства отладочной платы выполнены таким образом, что сразу после включения запустится программа, которая размещается во Flash ПЗУ МК. В заводском исполнении в эту область памяти помещается программа монитора отладки D-Bug12. Если же пользователь вместо программы монитора записал коды программы пользователя, то начнет исполняться последняя. Однако чтобы не потерять коды программы монитора, неопытному пользователю не следует перепрограммировать область Flash ПЗУ. Записанный в памяти МК монитор отладки D-Bug12 содержит в себе простую, но полнофункциональную среду отладки, которая позволяет загрузить в память МК небольшие программы и протестировать их работоспособность.
• Режим JUMP EE. В этом режиме исполняется программа, загруженная с адреса $D000 в область памяти EEPROM. Поскольку область памяти EEPROM ограничена 768 байтами, то исполняемый в реальном времени фрагмент программы должен быть очень коротким. Такой режим пригоден для лабораторных испытаний функционирования в реальном времени отдельных фрагментов разрабатываемой прикладной программы.
• Режим POD. В этом режиме аппаратные средства отладочной платы M68912B32EVB используются в качестве интерфейса между последовательным портом персонального компьютера и отладочным портом модуля отладки BDM другого микроконтроллера, установленного на другой отладочной плате (можно использовать вторую плату M68912B32EVB, как показано в гл.3), или на плате собственной разработки. При этом этот другой МК будет находиться в режиме внутрисхемной отладки под управлением встроенного в МК модуля BDM. В этом внутрисхемной отладки возможно реализовать все этапы отладки, начиная с записи программы во Flash память МК (программирование) и заканчивая испытаниями прикладной программы в реальном времени на объекте управления. Для взаимодействия с отлаживаемым МК следует использовать один из пакетов программного обеспечения, рассмотренных в гл. 3.
• Режим BOOTLOAD. Этот режим предназначен для занесения программы во Flash или EEPROM память микроконтроллера MC68HC912B32, установленного на отладочной плате.