Компоненты и технологии, № 5'2002
Новое семейство 16-разрядных микроконтроллеров
Hitachi - H8/300H Tiny
Многие существующие в настоящее время системы используют 8-разрадные микроконтроллеры (МК) с небольшим количеством ОЗУ и ПЗУ. Подобные МК обычно используются в достаточно простых системах с минимальными требованиями к коммуникационным и интеллектуальным возможностям, созданных достаточно давно и в настоящее время требующих дальнейшего развития. Современные системы должны быть более экономичными, дешевыми, быстрыми; они должны уметь работать с другими системами по определенным протоколам и т. д. В соответствии с возрастающими требованиями Hitachi создала 16-разрядные МК семейства H8/300H Tiny как замену 8-разрядным в недорогих, но требующих высокой производительности системах. Новое семейство H8/300H Tiny — это новый шаг в развитии МК Hitachi, объединяющий в себе высокопроизводительное ядро H8/300H, энергосберегающие функции от H8/300L и достаточно мощную периферию.
Дмитрий Чоловский
dmitry_tcholovsky@macroteam.ru
С1 м л
труктура базовой модели H8/3664F нового семейства микроконтроллеров Tiny представлена на рис. 1. Сердцем микроконтроллеров является ядро 300H, хорошо зарекомендовавшее себя еще в ранних моделях первых 16-разрядных микроконтроллеров Hitachi и получившее продолжение в современных микроконтроллерах для систем с управлением в реальном времени.
Достоинства новых микроконтроллеров:
• Мощное 16-разрядное ядро с частотой 16 МГц из семейства 300H.
• Программная совместимость со всеми 8- и 16-разрядными МК семейства H8X.
• Дешевые версии с Flash-памятью.
• Возможность заказа МК с масочным ПЗУ.
• Внутрисхемно программируемая и перепрограммируемая (удаленно) Flash-память.
Vcc Vss Test RESNMI
1111 11111
an0-an7
Timers
Clock
pulse
generator
Timer A
Timer V
Timer W
Watchdog
CPU
H8/300H
Serial Communication Interface (Ich)
l2C Interface
10-bit A/D converter (8 ch)
P80-P87
Timers
Hi-Current
P50-P57
int0-int7
l2C
Port 2 Port 7
TFT Ш
P20-P22
SCI
Рис. 1. Структурная схема микроконтроллера H8/3664F
Р7о-Р72
Timers
• Версия с EEPROM.
• Достаточно мощная периферия.
• Низкое энергопотребление.
16-разрядное ядро H8/300H, используемое в микроконтроллерах серии 300H/Tiny, обладает следующими характеристиками:
• Вся серия H8, включая Н8/300Н Tiny, обладает общим ядром и регистрами общего назначения (РОН), позволяющими эффективно выполнять программы, написанные на С.
• РОН являются 32-разрядными регистрами и могут использоваться частично как 8- или 16-разрядные регистры (рис. 2).
• Регистры можно использовать собственно как банки данных и как указатели на данные.
• Регистр ERP7 используется как указатель стека.
• 8-разрядный регистр кода условия (CCR) содержит все флаги CPU (переполнение, нуль, перенос, флаг прерываний).
• Теоретически возможен переход по любому адресу в 16-мегабайтном адресном пространстве (24-разрядный PC), но реально используется 64-килобайтное адресное пространство (шина адреса не выведена).
• Система команд состоит из 62 команд с основным акцентом на арифметику.
• Основная масса команд — двухбайтные.
• Большинство команд адаптировано под 16- и 32-разрядные данные.
• Стандартные команды сложения и вычитания 32-разрядных чисел, умножения 16-разрядных, деления 32- на 16-разрядные со знаком и без знака.
• В системе команд присутствует SLEEP-инструкция, позволяющая одной командой вводить микроконтроллер в режим ожидания. При этом существенно снижается энергопотребление.
• Производительность ядра:
- Основная масса команд выполняется за два такта, что при стандартной тактовой частоте 16 МГц составляет 125 нс.
- 32-битное сложение и вычитание — 125 нс.
- Деление — 875 нс.
Компоненты и технологии, № 5'2002
• Ядро H8/300H является существенно более производительным по сравнению с 8 разрядными устройствами при сохранении сходной стоимости с 8-разрядными устройствами
• Благодаря программной совместимости всех представителей семейства H8, программы могут быть перенесены на другие 16-разрядные микроконтроллеры производства Hitachi. Также представители этого семейства могут выполнять программы ранее созданные для младших, 8-разрядных, семейств Н8/300Х H8/3664F — первый МК в новом семействе
H8/300H Tiny от Hitachi. Микроконтроллер обладает 32 Кб Flash-ПЗУ, 2 Кб ОЗУ, а также множеством периферийных модулей, которые подробно описаны ниже. Существующие в настоящее время другие представители этого семейства обладают EEPROM на кристалле (H8/3664N) и низкой стоимостью по причине небольшого объема Flash на кристалле (H8/3672F и H8/3670F). Все МК pin-to-pin совместимы.
Базовая модель H8/3664F имеет следующие периферийные модули:
• Два 8-разрядных таймера: таймер А и таймер W:
- Таймер А может работать как в режиме измерителя интервалов, так и в режиме реального времени при подключении осциллятора 32,768 кГц на дополнительном осцилля-торном входе микроконтроллера. При переполнении происходит переход к подпрограмме обслуживания прерывания. В ходе работы таймера на вывод TMOW микроконтроллера может выводиться один из 8 возможных сигналов: 32,768 кГц / 32, 16, 8, или 4 (1, 2, 4 или 8 кГц), или 0 (тактовая частота) / 32, 16, 8, или 4. При работе таймера в режиме отсчета интервалов времени частота работы таймера за счет встроенного делителя частоты может быть выбрана из 8 вариантов: 0/8192, 0/4096, 0/2048, 0/512, 0/256, 0/128, 0/32, 0/8. При работе таймера в режиме часов реального времени возможно задать один из четырех возможных периодов переполнения: 1, 0,5, 0,25, 31,25 с.
- Таймер V работает как 8-разрядный счетчик внешних событий. Совпадение сигнала в двух регистрах может использоваться для сброса счетчика, вызова прерывания или вывода ШИМ-сигнала с произвольным, заданным пользователем, коэффициентом заполнения. Особенности работы таймера: возможность задать рабочую частоту таймера из ряда «тактовая частота/N» (0/128, 0/64, 0/32, 0/16, 0/8, 0/4) или тактировать таймер от внешнего источника; счетчик может сбрасываться при совпадении значений в регистрах A и B, а также внешним сигналом. Счетчик может быть остановлен после переполнения, если такой режим был выбран. Подсчет событий может происходить по переднему фронту, по заднему фронту или по обоим фронтам.
• 16-разрядный таймер. Таймер предназначен для операций выходного сравнения и входного захвата (CapCom). Таймер умеет подсчитывать внешние события и выдавать
General Registers
15 0 7 0 7 0
ER0 Е0 R0H R0L
ER1 El R1H R1L
ER2 Е2 R2H R2L
ER3 ЕЗ R3H R3L
ER4 Е4 R4H R4L
ER5 Е5 R5H R5L
ER6 Е6 R6H R6L
ER7 (SP) Е7 R7H R7L
Control Registers (CR) 23 0
1 PC 1
7 6 5 4 3 2 10
Legend CCR| і |u|h|u|n|z|v|c|
SP :Stack pointer H :Half-carry flag
PC :Program counter U :User bit
CCR :Condition-code register N :Negative flag
1 interrupt mask bit Z :Zero flag
Ul :User bit V ¡Overflow flag
С :Carry flag
Рис. 2. Структура регистров общего назначения ядра Н8/300Н Tiny
ШИМ-сигналы произвольной длительности в соответствии с уставками, хранящимися в базовых регистрах. К особенностям таймера относится следующее: возможность выбора одной из 5 тактовых частот: 4 внутренних (0, 0/2, 0/4, 0/8) или от внешнего источника. Таймер может независимо работать с 4 каналами на вход или на выход одновременно. Таймер обладает четырьмя базовыми регистрами, которые можно использовать попарно: один из регистров в паре работает как буфер при операциях сравнения и захвата.
Сторожевой таймер со встроенным осциллятором для работы на пониженной частоте. Последовательный интерфейс связи (SCI): SCI может работать как в асинхронном, так и в синхронном режимах. При работе с SCI возможно выбрать асинхронный или синхронный режим работы. Интерфейс может работать в полнодуплексном режиме. В интерфейсе присутствуют независимые приемник и передатчик, что дает возможность реализации совместно приема и передачи. Использование двойной буферизации и в приемнике, и в передатчике.
Программное задание скорости передачи или использование внешнего источника тактирования
6 источников прерывания: transmit-end, transmit-data-empty, receive-data-full, overrun error, framing error, and parity error. Шина I2C.
8 каналов 10-разрядных АЦП Этот периферийный модуль обеспечивает преобразование аналогового сигнала в 10-разрядный код по 8 каналам (4 канала для версии в 42-выводном корпусе). Время преобразования приблизительно составляет 4,4 мкс на канал (при работе на 16 МГц). АЦП может работать в дух основных режимах: одиночный режим (одноканальное АЦ преобразование) и сканирующий режим (непрерывное последовательное АЦ преобразование от 1 до 4 каналов)
В АЦП существует 4 регистра для полученных данных. Полученные данные
представлены в 16-разрядном виде, где старшие биты — полученный результат, а младшие — «0». В АЦП предусмотрена возможность задержки начала преобразования относительно момента разрешения преобразования на 66 или 128 тактов.
- Два способа начала преобразования: программно и по сигналу внешнего триггера.
- Возможность вызова аппаратного прерывания по готовности результата.
• 29 входов—выходов (8 — с повышенной токовой проводимостью) + 8 входов.
• Интерфейс Е10Т, предназначенный для внутрисхемной отладки и программирования системы.
Микроконтроллеры семейства H8/300H Tiny обладают большими возможностями по прерываниям:
• Все возможные источники прерываний имеют свой вектор прерывания.
• Время отклика — не более 2,6 мкс (300Н, 16 Мгц).
• Возможны программные и аппаратные прерывания:
- Программно по команде TRAPA0.. .TRAPA3.
- Аппаратно в зависимости от источника.
• Аппаратные прерывания:
- Стандартный режим: запрет прерываний (кроме немаскируемого прерывания NMI) устанавливается I-битом в регистре состояния кода (CCR). При обслуживании прерывания I-бит устанавливается до момента окончания прерывания или до программного сброса.
- Расширенный режим: возможно установить приоритеты прерываний. При этом прерывание с более высоким приоритетом сможет «вклиниться» в выполнение более низкого прерывания.
В настоящее время Hitachi выпускает несколько разновидностей модели H8/3664F, характеризующихся наличием или отсутствием некоторых периферийных модулей или изменением размеров ПЗУ или ОЗУ (см. табл.). Например, в микроконтроллере H8/3672F сокращен объем ПЗУ, ОЗУ, а также уменьшено количество каналов АЦП и отсутствует поддержка I2C, в тоже время H8/3687F, наоборот,
е
Компоненты и технологии, № 5'2002
Табл. Выпускаемые в настоящее время микроконтроллеры семейства Н8/300Н Tiny и их параметры
H8/3664F H8/3664N H8/3672F H8/3694 H8/3687
CPU 16 MHz H8/300H CPU 20 MHz H8/300H CPU
Flash 32 or 56 kbytes
Rom 8-32 kbytes | 8-32 kbytes | - 16-56 kbytes
SRAM 3-4 kbytes
EEPROM - | 512 kbytes | - - -
16-bit timer 1 x 16-bit with 4 capture/compare 1 with 8 capture/compare
8-bit timer 2x8-bit timer
RTC No 1 Yes
Watchdog timer Watchdog with independend oscillator on chip
USART 1x USART 2xUSART
I2C 1 xMulti-master I2C Interface | - 1 xMulti-master I2C Interface
A/D 8 chx10-bit
POL/LVI No Yes (G version only)
Sub-clock Yes | No Yes
Н8/300Н Tiny + CAN^y Roadmap
104
)\ Q203
H8/3664F H6MHr/32kHa.h Tiny + CAN
Integration us/ E + Comms
Рис. 3. Развитие семейства H8/300H Tiny
характеризуется увеличением тактовой частоты до 20 МГц, увеличением объема памяти, появлением дополнительного последовательного интерфейса, расширением возможностей 16-разрядного таймера, который теперь способен обеспечить управление 3-фазным асинхронным или вентильным двигателем, а также появлением супервизора напряжения питания.
Уже в начале следующего года Hitachi собирается расширить линейку микроконтроллеров H8/300H Tiny новыми устройствами, которые будут включать в себя такие периферийные блоки, как CAN и LIN-модули, USB-порты, а также варианты с увеличенным количеством (до 3 штук) последовательных интерфейсов.
Планы по развитию микроконтроллеров семейства H8/300H Tiny отображены на рис. 3.
Благодаря встроенному отладочному интерфейсу E10T отладка и программирование микроконтроллеров становится простым и недорогим занятием. При мелкосерийном производстве во избежание затрат на отладочные элементы возможно самостоятельное создание отладочного модуля на основе PC и соединенного с ним 4-проводным кабелем микроконтроллера. Отладка (и программирование) идет при помощи специализированного программного обеспечения, условно-бесплатные версии которого доступны через ООО «Макро Тим» и на сайтах производителей этого обеспечения (www.iar.com, www.redhat.com). При серийном потреблении микроконтроллеров или
при разработке действительно сложных систем рекомендуется пользоваться фирменными отладочными средствами ЬБМ3664 и Ш3664ТСЮ1Н РС1.
Кроме того, программирование и перепрограммирование микроконтроллера возможно внутрисхемно, то есть, используя расширенные возможности микроконтроллеров НйасЫ по прерываниям, можно загрузить программу в ПЗУ либо через последовательный интерфейс (при первой загрузке программы), либо через порты ввода—вывода общего назначения (при ее перезаписи).
Более подробную информацию о микроконтроллерах НйасЫ, об отладочных средствах и т. п. можно получить на сайтах www.hi-tachi-eu.com/micro/, www.hmse.com.