Новое семейство 16-разрядных микроконтроллеров Hitachi: Н8/300Н Tiny

Компоненты и технологии, № 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

l2C Interface

10-bit A/D converter

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

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 регистра для полученных данных. Полученные данные

представлены в 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

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.