|
|
|
|
|
Т. Ремизевич
Новые модели микроконтроллеров семейства HC908 фирмы Motorola
Семейство МК HC08 — "новый промышленный стандарт" 8-разрядных МК фирмы MOTOROLA. Семейство предназначено для массового использования в различных областях: промышленной автоматике, автомобильной и бытовой электронике, периферии персональных компьютеров, охранных системах. Семейство HC08 должно прийти на смену успешно отработавшему на протяжении 25 лет семейству HC05.
Процессорное ядро CPU08 было анонсировано ещё в 1994 году, однако темпы развития семейства в те годы сдерживала недостаточно совершенная технология FLASH-памяти, которая уже тогда проектировалась в качестве основной памяти программ для МК это-го семейства. В 1999 году фирма Motorola достигла передовых технических характеристик в области встроенной FLASH-памяти МК, и, как следствие, достаточно быстро стали появляться новые модели МК семейства HC908 (цифра "9" в обозначении МК указывает на наличие в составе МК модуля FLASH-памяти программ). Одновре-менно совершенствовалась структура встроенных периферийных модулей. В результате, в настоящее время МК семейства HC908 обладают всеми отличительными признаками современного МК:
- содержат высокопроизводительное 8-разрядное CISC-процессорное ядро. Максимальная частота внутренней шины составляет 8 МГц. Нижняя граница частоты тактирования отсутствует, поскольку регистры специальных функций периферийных модулей и ОЗУ выполнены на основе статических ячеек памяти. Система команд CPU08 включает 90 инструкций языка ассемблер, в том числе команды целочисленного беззнакового умножения 8-разрядных операндов (время выполнения операции составляет 5 циклов или 625 нс) и целочисленного беззнакового деления 16:8 (время выполнения операции — 7 циклов или 875 нс). Операция сложения или вычитания однобайтовой константы выполняется за 250 нс (2 цикла). CPU08 поддерживает 16 способов адресации, имеет двухадресные команды, которые позволяют выполнять пересылки данных между двумя ячейками памяти или регистрами специальных функций, минуя регистры центрального процессора;
- архитектура процессорного ядра CPU08 оптимизирована для создания компилятора с языка СИ;
- большинство моделей семейства HC08 имеют встроенный модуль FLASH-памяти программ. Программно управляемый регулятор повышенного напряжения в составе этого модуля позволяет выполнять операции стирания и программирования FLASH-памяти при питании МК от единственного источника напряжения от 3 до 5 В (1,83 В для некоторых моделей). Гарантированное число циклов перезаписи каждой ячейки памяти равно 10 тыс. Время сохранения данных при эксплуатации МК в расширенном диапазоне температур (от -40 до +125°С) составляет 10 лет, расчётное время хранения при работе МК в комнатных условиях (25°С) — 40 лет;
- все модели семейства HC908 содержат на кристалле резидентное ПЗУ программ. Режим адресации внешней памяти у МК отсутствует. Значительное число моделей выполнены в корпусах с числом выводов от 16 до 32. Планируется выпуск МК в 8-выводном корпусе;
- МК семейства HC08 выполнены на основе модульной технологии. Библиотека модулей семейства включает не только модули периферийных устройств, но и системные модули, в функции которых входит управление различными режимами работы МК. Структура и технические характеристики модулей соответствуют периферии 16-разрядных МК общего назначения. Особо следует выделить модуль программируемого таймера TIM08, который представляет собой многоканальный процессор событий с 16-разрядной временной базой. Двоичный счётчик модуля TIM08 имеет возможность программного управления временной базой при помощи функций останова и сброса, счётчик тактируется внутренним генератором с программируемым делителем частоты, внешнее тактирование также возможно. Каждый канал модуля TIM08 содержит подсистемы входной фиксации IC, выходного сравнения OC и 16-разрядного ШИМ-модулятора. Программная инициализация позволяет назначить каждому каналу одну из трёх названных функций. Данный модуль таймера имеется в составе даже 8-выводных МК семейства HC908;
- библиотека периферийных модулей имеет расширенный набор контроллеров последовательного обмена. Кроме стандартных для МК фирмы MOTOROLA портов асинхронного (SCI) и синхронного (SPI) обмена, разработаны контроллеры для работы в промышленных сетях с протоколом CAN и для перспективной шины вычислительной техники USB. Имеются модули контроллеров I2C и J1850;
- все МК имеют три режима энергопотребления: активный режим, в котором исполняется прикладная программа; режим ожидания (Wait), в котором останавливается тактирование центрального процессора, то есть программа не выполняется, но продолжается тактирование всех периферийных модулей; режим останова (Stop), в котором прекращается тактирование ядра и всей периферии. Следует отметить, что режим Wait имеет множество модификаций, поскольку практически все периферийные модули семейства HC08 допускают программное отключение, чем достигается минимальное потребление МК при сохранении в работоспособном состоянии необходимой периферии;
- все МК семейства HC908 позволяют реализовать режимы программирования и отладки в системе. С этой целью на плате целевой системы следует выполнить служебный разъём для подключения отладочного интерфейса MON08, который переводит МК в отладочный режим и осуществляет связь с ПК. При этом важно отметить, что MON08 позволяет вести отладку на языке исходного текста при программировании как на Ассемблере, так и на СИ.
На рис. 1 показано развитие семейства HC08 на протяжении двух послед-них лет, представлены перспективные модели, планируемые к выпуску в 2002 году. Структура и технические характеристики всех выпускаемых в настоящее время моделей c FLASH-памятью программ приведены в таблице. Из них наибольшее распространение на российском рынке получили пять МК: M68HC908JL3, M68HC908JK3, M68HC908JK1, M68HC908GP32 и M68HC908MR32. Не останавливаясь на них более подробно, заметим, что МК 908JL3/JK3/JK1 теперь имеют специальную версию с пониженным напряжением питания от 2,0 до 2,4В.
Рисунок 1. Диаграмма развития МК семейства HC08
В конце 2001 года фирма выпустила ряд новых достаточно интересных моделей. В таблице они выделены цветом. Остановимся на некоторых из них, по мнению автора, наиболее интересных широкому кругу читателей.
М68HC908GR4 и M68HC908GR8. Эти модели относятся к МК общего применения. Они наследуют особенности первого МК этой линии в семействе HC908 — 908GP32. Выполняются в корпусах 28DIP, 28SOIC и 32QFP. Содержат на кристалле центральный процессор CPU08, модуль FLASH-памяти объёмом 4096 (для GR4) и 7680 байт (для GR8), оперативную память объёмом 384 байт, 3 модуля таймеров, 6-канальный АЦП с разрешением 8 бит, контроллеры по-следовательного асинхронного (SCI) и синхронного (SPI) интерфейсов. Отме-тим следующие особенности структуры 908GR4 и 908GR8:
- система тактирования выполнена на основе модуля CGM08 с умножителем частоты, что позволяет использовать "часовой" кварцевый резонатор 32,768 кГц;
- модуль постоянной памяти внутрисхемной отладки впервые разделен на два сегмента. В первом сегменте, как и во всех предыдущих моделях, находится программа монитора отладки. Именно эта программа обеспечивает возможность отладки МК в системе. Во втором сегменте размещена программа для стирания и программирования FLASH ПЗУ. Столь незначительное на первый взгляд нововведение придаёт МК новое свойство. Ранее занесение новых данных во FLASH ПЗУ в процессе исполнения прикладной программы управления было затруднено. Причина в том, что структура модуля FLASH ПЗУ не позволяет одновременно выполнять программу, коды которой записаны в одной из страниц FLASH ПЗУ, и проводить операции стирания или программирования для другой страницы. Поэтому для решения задачи программирования в процессе исполнения прикладной программы оставался единственный путь: сначала передать коды программы программирования из FLASH ПЗУ в ОЗУ МК, а затем выполнить программу стирания/программирования из ОЗУ. Но для этого необходим увеличенный объём ОЗУ. Сейчас передача кодов программы программирования в ОЗУ не требуется. Эта программа уже содержится в масочном ПЗУ МК;
- МК содержат 3 модуля таймеров, из которых два являются 16-разрядными процессорами событий. Третий модуль — модуль базового таймера TBM08 — упрощенный, представляет собой программируемый делитель частоты для формирования меток реального времени. Модуль тактируется от низкочастотного генератора 32,768 кГц. При соответствующих программных установках сохраняет работоспособность при полном останове МК (в режиме STOP), переполнение счётчика таймера переводит МК из режима STOP в активный режим работы и генерирует прерывание с собственным вектором;
- достаточно высокая нагрузочная способность портов: все линии — 10 мА втекающего и вытекающего тока, три линии порта PortС — ±15 мА.
Таблица 1. МК семейства НС908 c FLASH-памятью программ
Тип МК Корпус/Uпит. |
Рези- дентная FLASH-память |
ОЗУ |
Линии aa./aua |
Модуль процессора событий |
Посл. интер- фейс |
АЦП |
Специальные модули |
Тип корпуса |
M68HC908AZ60A |
60K |
2K |
50 |
2xTIM08 6 каналов 2 канала COP |
SCI SPI MsCAN |
15 каналов 8-бит |
1K EEPROM |
64QFP |
M68HC908AS32 |
32K |
1K |
40 |
1xTIM08 6 каналов COP |
SCI SPI J1850 |
8 каналов 8-бит |
512 EEPROM |
52PLCC |
M68HC908AB32 |
32K |
1K |
51 |
2xTIM08 4 канала 4 канала COP |
SCI SPI |
8 каналов 8-бит |
512 EEPROM |
64QFP |
M68HC908GP32 |
32K |
512 |
33 |
2xTIM08 2 канала 2 канала COP |
SCI SPI |
8 каналов 8-бит |
Модуль таймера TBM08 |
40DIP 44QFP |
M68HC908GR8 |
7680 |
384 |
21 |
2xTIM08 2 канала 1 канал COP |
SCI SPI |
8 каналов 8-бит |
Модуль таймера TBM08 |
40DIP 44QFP |
M68HC908GR4 |
4096 |
384 |
21 |
2xTIM08 2 канала 1 канал COP |
SCI SPI |
6 каналов 8-бит |
Модуль таймера TBM08 |
40DIP 44QFP |
M68HC908EY16 |
16K |
512 |
24 |
2xTIM08 2 канала 2 канала COP |
ESCI SPI |
8 каналов 10-бит |
Модуль таймера TBM08 Модуль ICG08 |
32QFP |
M68HC908GT16 |
16K |
512 |
36 |
2xTIM08 2 канала 2 канала COP |
ESCI SPI |
8 каналов 8-бит |
Модуль таймера TBM08 Модуль ICG08 |
42SDIP 44QFP |
M68HC908GT8 |
8K |
512 |
36 |
2xTIM08 2 канала 2 канала COP |
ESCI SPI |
8 каналов 8-бит |
Модуль таймера TBM08 Модуль ICG08 |
42SDIP 44QFP |
M68HC908QT1 |
1536 |
128 |
6 |
1xTIM08 2 канала COP |
нет |
нет |
Модуль внутреннего тактирования |
8DIP 8SOIC |
M68HC908QT4 |
4K |
128 |
6 |
1xTIM08 2 канала COP |
нет |
4 канала 8-бит |
Модуль внутреннего тактирования |
16DIP 16SOIC |
M68HC908QY1 |
1536 |
128 |
14 |
1xTIM08 2 канала COP |
нет |
нет |
Модуль внутреннего тактирования |
8DIP 8SOIC |
M68HC908QY4 |
4K |
128 |
14 |
1xTIM08 2 канала COP |
нет |
4 канала 8-бит |
Модуль внутреннего тактирования |
16DIP 16SOIC |
M68HC908JL3 |
4K |
128 |
23 2x25 мА 7 LED |
1xTIM08 2 канала COP |
нет |
12 каналов 8-бит |
Возможна синхронизация от RC-генератора |
28DIP 28SOIC |
M68HC908JK3 |
4K |
128 |
15 2x25 мА 4 LED |
1xTIM08 2 канала COP |
нет |
10 каналов 8-бит |
Возможна синхронизация от RC-генератора |
20DIP 20SOIC |
M68HC908JK1 |
1536 |
128 |
15 2x25 мА 4 LED |
1xTIM08 2 канала COP |
нет |
10 каналов 8-бит |
Возможна синхронизация от RC-генератора |
20DIP 20SOIC |
M68HC908KX8 |
8K |
192 |
13 5x15 мА |
1xTIM08 2 канала COP |
SCI |
4 канала 8-бит |
Модуль ICG08 Модуль таймера TBM08 |
16DIP 16SOIC |
M68HC908KX2 |
2K |
192 |
13 5x15 мА |
1xTIM08 2 канала COP |
SCI |
4 канала 8-бит |
Модуль ICG08 Модуль таймера TBM08 |
16DIP 16SOIC |
M68HC908RK2 |
2K |
128 |
14 |
1xTIM08 2 канала COP |
нет |
нет |
Модуль ICG08 |
20 LQFP |
M68HC908RF2 |
2K |
128 |
12 |
1xTIM08 1 канал COP |
нет |
нет |
Модуль ICG08 Модуль УКВ |
32LQFP |
M68HC908MR32 |
32K |
768 |
44 |
2xTIM08 4 канала 2 канала COP |
SCI SPI |
10 каналов 10-бит |
Модуль PWM08 для управления силовыми преобразова- телями |
64QFP |
M68HC908MR16 |
16K |
768 |
44 |
2xTIM08 2 канала 4 канала COP |
SCI SPI |
10 каналов 10-бит |
Модуль PWM08 для управления силовыми преобразова- телями |
64QFP |
M68HC908MR8 |
8K |
256 |
14 |
2xTIM08 2 канала 2 канала COP |
SCI |
4 или 7 каналов 10-бит |
Модуль PWM08 для управления силовыми преобразова- телями |
32QFP 28DIP 28SOIC |
M68HC908SR12 |
12K |
512 |
31 |
2xTIM08 2 канала 2 канала COP |
SCI I2C |
14 каналов 10-бит |
Аналоговый модуль ММодуль ШИМ 3 канала 8-бит Модуль таймера TBM08 |
48LQFP 42SDIP |
M68HC908JB8 |
8K |
256 |
До 37 |
1xTIM08 2 канала COP |
USB |
нет |
|
20PDIP 28SOIC 44QFP |
M68HC908LD64 |
60K |
2K |
39 |
1xTIM08 2 канала COP |
I2C DD12AB USB |
6 каналов 8-бит |
Модуль OSD (On screen display) Модуль синхронизации Модуль ШИМ 8 каналов 8-бит |
64QFP |
M68HC908BD48 |
48K |
1K |
32 |
1xTIM08 2 канала COP |
I2C DD12AB USB |
6 каналов 8-бит |
Модуль ШИМ 16 каналов 8-бит |
64QFP |
Примечание: Цветом выделены новые МК, разные цвета объединяют МК с близкой структурой, которые в тексте статьи рассматриваются вместе.
|
|
M68HC908EY16 и M68HC908EY8 продолжают линию МК общего применения. Они имеют идентичный 908GP32 и 908GR8/GR4 набор периферийных модулей, в том числе, модуль базового таймера TBM08 и модуль умножителя частоты CGM08 с опцией тактирования от низкочастотного кварцевого резонатора 32,768 кГц. Основное отличие — новый модуль контроллера последовательного интерфейса ESCI08 (Enhanced serial communications interface), который позволяет включить МК в информа-ционную сеть с протоколом LIN (local interconnect network). Небольшое, но приятное изменение в модуле АЦП — он стал 10-разрядным.
M68HC908GT16 и M68HC908GT8. Структура этих МК близка к рассмотренным выше 908EY16 и 908EY8. Эти модели также имеют в своём составе контроллер LIN-интерфейса. От предыдущих моделей отличаются системой синхронизации. Внешний времязадающий элемент для системы тактирования теперь не требуется, МК 908GT16 и 908GT8 имеют в своём составе модуль внутреннего тактирования ICG08 (см. ниже).
M68HC908SR12 относится к классу специализированных МК. Область применения 908SR12 — приборы с автономным питанием с функциями контроля температуры, тока заряда и разряда аккумуляторной батареи. Может использоваться также в системах сбора данных, первичные датчики которых имеют выходной сигнал милливольтового диапазона.
В качестве базовой структуры для этого МК выбрана модель 908GP32, в которой дополнены новыми режимами модуль синхронизации и модуль АЦП, а также введены 3 новых модуля: 3-канальный высокочастотный ШИМ-модулятор, специальный аналоговый модуль и контроллер последовательного интерфейса с протоколом I2C.
Модуль АЦП имеет усовершенствованную структуру. Представляет собой 10-разрядный 14-канальный АЦП по-следовательного приближения. Время выборки сигнала встроенным устройством выборки и хранения составляет 5 мкс, время преобразования — 8,5 мкс. Модуль имеет 3 режима работы:
- однократное преобразование с программным заданием номера канала и установкой триггера готовности по завершении преобразования;
- режим непрерывного преобразования сигнала предварительно выбранного канала, при котором сразу по завершении предыдущего преобразования начинается следующее;
- режим автоматического сканирования 4 аналоговых каналов, при котором происходит последовательная оцифровка с автоматическим переключением аналогового мультиплексора и записью результата в 4 ячейки памяти. Следует отметить, что в последнем случае хранится только 8-бит результата.
Важной особенностью модуля АЦП является наличие выводов опорного напряжения VREFH и VREFL, потенциалы которых могут быть отличны от VDD и VCC.
Специализацию МК 908SR12 определяет аналоговый модуль, предназначенный для прямого подключения с по-следующей оцифровкой сигналов милливольтового диапазона. Модуль не содержит в себе АЦП, он является лишь предварительным масштабирующим усилителем с программируемым коэффициентом для рассмотренного выше АЦП. Структура аналогового модуля и типовая схема подключения внешних измерительных резисторов представлена на рис. 2. Аналоговый модуль включает:
- двухкаскадный усилитель, каждый каскад которого имеет программируемый коэффициент усиления (целочисленный от 1 до 16). В результате максимальный суммарный коэффициент усиления цепи может достигать 256. Точность установления коэффициента составляет 3,5%;
- аналоговый мультиплексор, который позволяет подключить ко входу усилителя три внешних источника сигналов с измеряемыми напряжениями. Учитывая, что при питании VDD = 3,0 В значение опорного напряжения должно быть таким же, минимальное входное напряжение для измерения составляет 3/256*1024 = 10 мкВ;
- встроенный полупроводниковый датчик температуры с диапазоном измерения от -20 до +70°С;
- компаратор, который при соответствующем подключении измерительного шунта сравнивает ток разряда аккумуляторной батареи с внутренним пороговым значением (отрицательным -8 мВ, не регулируется). При превышении генерирует сигнал прерывания и может выдавать логический сигнал на одну из линий порта МК.
Рисунок 2. Структура аналогового модуля МК HC908SR12
На рис. 2 показано подключение дополнительного внешнего терморезистора и шунта в цепи аккумуляторной батареи. Обратите внимание, что вывод VSSAM используется для измерения напряжения смещения нуля в схеме с 4-проводным включением измерительного ре-зистора.
Модуль ШИМ позволяет генерировать 3 независимых ШИМ-сигнала с разрешением 8 бит по коэффициенту заполнения. Частота всех трёх сигналов одинакова и устанавливается программно (4 значения). Максимальная частота составляет 125 кГц. Структура модуля позволяет организовать программируемый сдвиг фаз между формируемыми импульсами при сохранении различных коэффициентов заполнения в каналах.
Модуль синхронизации 908SR12 по принципу действия аналогичен моделям 908GP32, 908GR4 и 908GR8, то есть допускает тактирование от низкочастотного времязадающего элемента с последующим умножением частоты внутренними средствами модуля CGM08. Однако, в отличие от упомянутых моделей, 908SR12 имеет возможность тактирования от любого из трёх источников: внутреннего нестабильного генератора с частотой 24 кГц, внутреннего генератора с внешней RC-цепью или внутреннего генератора с внешним кварцевым резонатором.
M68HC908KX2 и M68HC908KX8 — маловыводные МК общего применения в корпусах 16DIP или 16SOIC. Объём памяти FLASH ПЗУ — 7680 байт для KX8 и 2048 байт для KX2, объём ОЗУ — 192 байта. Содержат на кристалле: модуль процессора событий с двумя каналами захвата/сравнения/ШИМ, модуль базового таймера, 4-канальный АЦП с разрешением 8 бит и контроллер последовательного асинхронного интерфейса.
Основная особенность — это первый МК серии HC908 с модулем внутреннего тактирования повышенной стабильности ICG08. Если пользователя удовлетворяют характеристики встроенного генератора, то внешние элементы (кварцевый резонатор, времязадающая RC цепь) могут отсутствовать. Это удобно, потому что освобождаются выводы портов, которые теперь можно использовать в проекте. Однако, ориентируясь на модель МК с внутренним тактированием, необходимо достаточно полно представлять особенности подобного типа решений, его достоинства и недостатки. Поэтому остановимся более подробно на характеристиках модуля внутреннего тактирования ICG08. Модуль включает 4 подсистемы:
- встроенный генератор, который формирует импульсную последовательность для тактирования центрального процессора и межмодульных магистралей МК без использования каких-либо внешних времязадающих элементов. Значение частоты fBUSопределяется пользователем путём программного задания коэффициента N:fBUS= 307,2 кГц x N/4 ± 25%, где N = 1127. Диапазон возможных значений fBUSпри тактировании от встроенного генератора может быть сужен до fBUS= 307,2 кГц x N/4 ± 2% путём использования специальных схемных и программных решений;
- внешний генератор, который представляет собой инвертирующий усилитель для подключения кварцевого резонатора;
- схему выбора источника тактирования МК (внутренний генератор, внешний импульсный сигнал или генератор с внешним кварцевым резонатором);
- блок контроля системы тактирования МК. Позволяет автоматически перейти на тактирование от работоспособного источника при отказе одного из двух постоянно работающих источников тактирования.
Принцип действия встроенного генератора иллюстрирует функциональная схема, представленная на рис. 3. Управляемый 12-разрядным цифровым кодом генератор DCO формирует импульсную последовательность с частотой следования f0, которая может находиться в диапазоне от 230*N до 384*N кГц. Центральная частота этого диапазона составляет fNOM = 307,2*N кГц. Начальное значение частоты f0 соответствует коду 800xh. Именно такой код формируется на выходе цифрового фильтра DLF по сигналу сброса после включения питания МК. Сигнал с выхода DCO поступает на вход делителя с коэффициентом N, который программируется пользователем. Начальное значение N составляет 21 (15h), что соответствует fBUS = f0/4 = 1,613 МГц ± 25%. Импульсная последовательность с выхода делителя поступает на вход блока сравнения частот. Этот блок измеряет разность между эталонным значением частоты fNOM = 307,2 кГц и f0/N. Указанная разность может быть представлена только шестью значениями кода: -32, -8, -1, +1, +8, +32. Блок цифрового фильтра DLF складывает или вычитает, в зависимости от знака, код разности и текущий код управления генератором f0. Значение f0 корректируется в сторону приближения к заданной частоте f0 = fNOM x N. Рассмотренная процедура повторяется несколько раз, пока разность (f0/N – fNOM) не станет укладываться в диапазон ± 0,05fNOM, представляемый в кодах схемы сравнения ±1. Достигнутое таким образом значение частоты f0 должно было бы составлять f0 = fNOM x N ±5% или f0 = 307,2 кГц x N ±5%, однако этого не происходит. Причиной тому является недостаточно высокая точность измерения разности частот. Эту операцию выполняет схема сравнения, которая устроена следующим образом:
Рисунок 3. Структура модуля внутреннего тактирования ICG08
- сначала интегрированный в корпус МК конденсатор заряжается стабильным током в течение периода частоты f0/N. В результате, напряжение на конденсаторе в конце периода дискретизации работы схемы обратной связи будет обратно пропорционально измеряемой частоте f0/N;
- полученное напряжение поступает на вход системы компараторов (рис. 3), которые выполняют параллельное аналого-цифровое преобразование. В качестве опорных напряжений компараторов выбраны значения, соответствующие 0,85fNOM, 0,95fNOM, 1,05fNOMи 1,15fNOM. Пятиразрядный код с выхода компараторов интерпретируется цифровым фильтром DLF значениями двоичного кода: -32, -8, -1, +1, +8, +32, — и используется далее для выполнения нескольких итераций подстройки частоты.
Невозможность точного выполнения эталонного источника тока и прецизионного конденсатора, источников опорного напряжения компараторов приводит к тому, что эталонные напряжения сравнения компараторов формируются с достаточно большой ошибкой. Поэтому реальная точность частоты f0/N не превышает ±25%. И, как следствие, частота тактирования МК лежит в ди-а-пазоне fBUS = 307,2 кГц x N/4 ± 25%. Однако стабильность поддержания полученного значения из указанного диапазона достигает 0,4%. Следует также иметь ввиду, что указанная величина отклонения 0,4% может быть получена при выборе достаточно больших интервалов изменения (более 100 периодов fBUS), в то время как длительности соседних периодов частоты fBUSмогут различаться на 11%.
Существует способ повышения точности формирования fBUS, при реализации которого частота тактирования межмодульных магистралей будет составлять fBUS = 307,2 кГц x N/4 ± 2%. Способ заключается в коррекции ёмкости конденсатора схемы сравнения в составе встроенного генератора ICG08. Конструктивно этот конденсатор выполнен в виде параллельно соединённых 639 конденсаторов одинаковой ёмкости, из которых 384 конденсатора подключены постоянно. Остальные 255 конденсаторов подключаются посредством программно управляемых ключей. При включении питания (в состоянии сброса) код управления ключами равен 80h, ёмкость конденсатора составляет 384 + 128 = 512 единиц. Для проведения коррекции частоты fBUS ко входу за-хвата таймера следует подключить источник сигнала со стабильной низкой частотой. Затем измерить с помощью таймера какой-либо временной параметр этого сигнала и сравнить полученное число с эталонным, заложенным в виде константы в память программы. Учитывая, что относительное изменение fBUS при коммутации каждого единичного конденсатора составляет 0,195%, рассчитать код коррекции для программного коммутатора (число единичных конденсаторов, которое следует подключить или отключить) и записать этот код в специальный регистр. Очевидно, что недостатком такого способа является необходимость иметь внешний времязадающий источник, что оборачивается изъятием из "проекта" одного вывода МК.
M68HC908QT1 и M68HC908QT4, M68HC908QY1 и M68HC908QY4. Эти модели объединены ласковым именем "MUSCA". Такое название отражает то обстоятельство, что МК 908QT1 и 908QT4 выполнены в 8-выводных корпусах. Это первые модели семейства HC908 в корпусах 8DIP и 8SOIC. МК 908QY1 и 908QY4 имеют аналогичную двум предыдущим моделям структуру. Единственное отличие — увеличенное число линий ввода/вывода, поэтому изменился и корпус: 16DIP или 16SOIC. Несмотря на свои малые размеры, MUSCA имеют весь набор модулей, обеспечивающий устойчивую работу МК семейства HC08 при неблагоприятных внешних условиях: сторожевой таймер, модуль сброса при включении питания, модуль контроля за пониженным напряжением питания, модуль сброса при выборке несуществующего кода команды или адресации, физически не поддерживаемой в кристалле ячейки памяти. Кроме центрального процессора, MUSCA содержит на кристалле: модуль FLASH ПЗУ объёмом 1536 (для QT1 и QY1) или 4096 байт (для QT4 и QY4), оперативную память объёмом 128 байт, двухканальный модуль процессора событий TIM08 с функциями IC/OC/PWM (входного захвата, или выходного сравнения, или ШИМ), 4-канальный АЦП с разрешением 8 бит (только QT4 и QY4), двунаправленные порты ввода/вывода (6 линий для QT1 и QT4, 14 линий для QY1 и QY4), модуль внешнего прерывания (1 линия) с возможностью расширения (до 7 линий — функция KBI). Интересные особенности модели MUSCA:
- имеется возможность выбора между четырьмя источниками тактирования: внутренним генератором со встроенным в корпус МК времязадающим элементом, внешним импульсным генератором, генератором с внешним кварцевым резонатором или RC-генератором с внешним задающим резистором. В первом случае, частота внутренней шины будет составлять fBUS= 3,2 МГц ± 25%. Точность установления частоты в режиме внутреннего тактирования может быть улучшена до fBUS= 3,2 МГц ± 5% с использованием метода, рассмотренного выше при описании модуля ICG08. Заявлена возможность поставки кристаллов, которые будут содержать в специальном энергонезависимом регистре число для программной коммутации блока корректирующих конденсаторов. Предполагается, что в программе пользователя это число должно быть считано и записано в соответствующий управляющий регистр. При тактировании от внешне-го импульсного генератора или кварцевого резонатора максимальная частота внутренней шины составляет 8,0 МГц. При тактировании от RC-генератора частота внутренней шины будет находиться в диапазоне от 0,5 до 3 МГц, причём даже при использовании внешнего задающего резистора с 1% допуском точность установления частоты будет хуже ±25%;
- МК имеют специальный модуль "пробуждения" для периодического вывода МК из режима низкого энергопо-требления типа STOP (IDD = 0,5 мкА). Это дополнительный (к модулю COP) сторожевой таймер, который имеет собственный, не связанный с общей системой тактирования, внутренний генератор;
- линии портов двунаправленные, с возможностью программного подключения внутреннего резистора. Нагрузочная способность всех линий моделей 908QT1 и908QT4составляет ¯15 мА. Дополнительные линии моделей 908QY1 и 908QY4 имеют нагрузочную способность ±10 мА.
M68HC908RK2 и M68HC908RF2. Эти модели всегда рассматриваются в паре. Хотя первый МК — 908RK2 относится к группе общего применения, а второй — 908RF2 — к специализированным МК. Дело в том, что МК 908RF2 объединяет в себе МК 908RK2 и независимый радиопередатчик (рис. 4). МК 908RK2 выполняются в корпусе 20SOIC. Объём памяти FLASH ПЗУ — 2048 байт, объём ОЗУ — 128 байт. Из периферийных модулей они содержат 14 линий портов ввода/вывода, модуль процессора событий TIM08 с двумя каналами захвата/сравнения/ШИМ, модуль сканирования клавиатуры и модуль внешнего прерывания. Для тактирования МК используется рассмотренный выше модуль внутреннего тактирования ICG08.
Рисунок 4. Структура системы с маломощным радиопередатчиком
МК 908RF2 выполняются в корпусе 32LQFP. МК, размещённый в корпусе модели 908RF2, имеет два отличия от 908RK2: число линий портов ввода/вывода равно 12, модуль таймера обладает только одним каналом захвата/сравнения/ШИМ. Оба МК имеют пониженное напряжение питания от 1,8 до 3,6 В, максимальная частота внутренней шины составляет 4 МГц.
Модуль УКВ передатчика в составе 908RF2 выполнен в виде независимого блока, не имеющего сигнальных связей с контроллером (рис. 5). Аналогичная система может быть выполнена на основе модели 908RK2 и ИМС передатчика MC33492/3 (рис. 4). Структурная схема передатчика представлена на рис. 6. Она включает:
Рисунок 5. Микроконтроллер HC908RF2
Рисунок 6. Структура радиопередатчика в составе МК HC908RF2
- модуль кварцевого генератора XCO;
- делитель частоты на 64 с выход-ным усилителем тактового сигнала DRIVER;
- синтезатор частоты с ФАПЧ, включающий управляемый напряжением генератор VCO, фильтр низкой частоты первого порядка LF, фазовый детектор PFD;
- выходной усилитель мощности PA;
- модуль управления CONTROL.
Передатчик может работать на частоте 315, 434 или 868 МГц в режиме амплитудной модуляции или частотной манипуляции. Скорость передачи данных — не более 10 кбод. Уровень выходной мощности передатчика задаёт сопротивление внешнего резистора REXT. Выходная мощность при подключении REXT = 50 Ом составляет:
- не менее -2 дБм на частоте 315 или 434 МГц;
- не менее -6 дБм на частоте 868 МГц.
Время захвата частоты системой ФАПЧ — не более 750 мкс. Уровень фазового шума при отстройке от несущей частоты — ±175 кГц:
- не более -72 дБн на частоте 315 или 434 МГц;
- не более 66 дБн на частоте 868 МГц.
M68HC908MR16 и M68HC908MR8 относятся к специализированным МК класса “Motor Control”. Модель 908MR16 по структуре, техническим характеристикам периферийных модулей и цоколевке корпуса полностью идентична уже знакомой модели 908MR32. Отличаются эти МК только объёмом ПЗУ: 16 Кбайт у 908MR16 против 32 Кбайт у 908MR32. МК 908MR8 представляет собой усечённую версию двух предыдущих моделей: объём FLASH ПЗУ сократился до 8 Кбайт, до 256 байт уменьшилось ОЗУ, число линий портов ввода/вывода стало равным 14. Однако характерные черты МК класса “Motor Control” 908MR8 сохранил в полной мере: в составе МК два двухканальных процессора событий типа TIM08, 10-разрядный АЦП с временем преобразования 8,5 мкс, 12-разрядный ШИМ-модулятор для управления трёхфазным инвертором напряжения (модуль PWM08).
Основные характеристики модуля PWM08:
- генерирует 6 независимых или 3 комплементарных пары ШИМ-сигналов;
- позволяет реализовать два способа формирования ШИМ-сигналов: одностороннюю “фронтовую” или двухстороннюю "центрированную" ШИМ-модуляцию;
- обеспечивает независимый выбор полярности сигналов ШИМ для верх-ней и нижней группы ключей;
- в комплементарном режиме работы реализует вставку программируемого “мёртвого времени”;
- обеспечивает коррекцию ширины импульса управления верхним и нижним ключами одной фазы для компенсации влияния “мёртвого времени”;
- имеет 4 (для 908MR32 и908MR16) (для 908MR8) или 2 входа аппаратной защиты с программируемым отключением выходов управления ключами;
- нагрузочная способность каждого из 6 каналов ШИМ равна 20 мА, что обеспечивает непосредственное подключение к оптопаре драйвера управления ключом.
По мнению автора, сокращение ресурсов с одновременным изменением типа корпуса (модель 908MR8 выпускается в корпусах 28DIP, 28SOIC и 32LQFP) должно привести к расширению применения дешёвого относительно низкопроизводительного "Motor Control" в простых массовых изделиях с силовыми транзисторными коммутаторами и в разомкнутых системах маломощного электропривода. И как подтверждение вышесказанному — специализированная микросхема MC3PHAC для управления асинхронным электроприводом на базе МК 908MR8.
MC3PHAC — микроконтроллер с законченным программным обеспечением для создания систем управления асинхронным частотно-регулируемым электроприводом. Программное обеспечение данного МК не может быть модифицировано, адаптация алгоритма управления к конкретному типу электропривода осуществляется посредством изменения численных констант. Задание констант возможно двумя способами: потенциометрами на плате контроллера проектируемого блока управления или от ПК верхнего уровня, связанного с платой управления по последовательному интерфейсу. Основные характеристики алгоритма управления, реализуемого MC3PHAC~:
- формирует 6 ШИМ модулированных сигналов управления драйверами силовых ключей трёхфазного мостового инвертора. Форма выходного напряжения синусоидальная, частота коммутации может варьироваться в пределах от 5,291 до 21,164 кГц. В алгоритме управления ключами предусмотрена возможность изменения мёртвого времени от 0,5 до 6,0 мкс (032 мкс в расширенной версии программы управления). Имеется вход аппаратной защиты силовых ключей, высокий логический уровень которого переводит сигналы управления вентилями в неактивное состояние. Восстановление сигналов управления ключами инвертора выполняется автоматически с программируемой пользователем задержкой относительно момента перехода в неактивное состояние сигнала защиты;
- реализует закон управления U/F = сonst с программируемой пользователем вольт-добавкой при нулевой частоте. Предельное значение частоты F может быть установлено, в зависимости от типа двигателя: 50 или 60 Гц. Допускает задание темпа процесса разгона или торможения: от 0,5 до 128 Гц/с;
- текущее значение уставки по скорости задаётся в аналоговом виде. Соответствующий вход может быть использован для организации замкнутой по скорости или по иному технологическому параметру системы. Однако функциональные преобразования, соответствующие передаточной функции контура обратной связи, должны быть выполнены внешними по отношению к MC3PHAC схемами. С целью подавления шумов, аналоговый сигнал на входе текущего задания по скорости обрабатывается с использованием алгоритма цифровой фильтрации, реализованного на основе 24-разрядного представления данных;
- управление режимами работы схемы осуществляется двумя логическими сигналами: "пуск/останов" и "направление вращения".
На рис. 7 приведён пример схемы включения MC3PHAC, который в полной мере демонстрирует возможность получения недорогого, но полнофункционального решения.
Рисунок 7. Пример реализации системы управления маломощным асинхронным двигателем с использованием МК MC3PHAC
И наконец, последние модели: M68HC908JB1 и M68HC90JB8 — МК общего назначения со встроенным модулем контроллера USB-шины; M68HC908LD64 и M68HC908BD48 — специализированные МК для управления цифровыми дисплеями.
Более подробную информацию о технических характеристиках МК семейства HC908 можно найти на сайте http://mot-sps.com. Весьма полезным может оказаться информация о типовых законченных решениях, которую Вы найдёте в разделе Reference Designs.
Литература
- Ремизевич Т.В. Микроконтроллеры для встраиваемых приложений. От общих подходов к семействам HC05 и HC08 фирмы Motorola. М.: Додэка, 2000. 272 с.
- Ремизевич Т. Микроконтроллеры семейства HC08 фирмы Motorola // Инженерная микроэлектроника. 1999. № 4. С. 43–50.
- Панфилов Д., Ремизевич Т., Архипов А. Отладчик для микроконтроллеров семейства HC908. Радио. 2002. № 2. С. 27–28.
- Панфилов Д., Ремизевич Т., Архипов А. Устройство отладки систем на основе микроконтроллеров HC908 // Электронные компоненты и системы. 2001. № 4 (44). С. 18–22.
|