Новое семейство 16-разрядных микроконтроллеров Hitachi: Н8/300Н TINY
Многие существующие в настоящее время системы используют 8-разрядные микроконтроллеры (МК) с небольшим количеством ОЗУ и ПЗУ. Подобные МК используются в достаточно простых системах с минимальными требованями к коммуникационным и интеллектуальным возможностям, созданных достаточно давно и в настоящее время требующих дальнейшего развития. Современные системы должны быть более экономичными, дешевыми, быстрыми; они должны уметь работать с другими системами по определенным протоколам и др. В соответствии с возрастающими требованиями Hitachi создала 16-разрядные МК семейства H8/300H Tiny как замену 8-разрядным, в недорогих, но требующих высокой производительности системах. Говое семейство H8/300H Tiny — это новый шаг в развитии МК Hitachi, объединяющий в себе высокопроизводительное ядроH8/300H, энергосберегающие функции от H8/300L и достаточно мощную периферию.
Структура базовой модели H8/3664F нового семейства микроконтроллеров Tiny представлена на рис. 1.
Сердцем микроконтроллеров является ядро 300H, хорошо зарекомендовавшее себя еще в ранних моделях первых 16-разрядных микроконтроллеров Hitachi и получившее продолжение в современных микроконтроллерах для систем с управлением в реальном времени.
Достоинства новых микроконтроллеров:
- Мощное 16-разрядное ядро с частотой 16 MГц из семейства 300H.
- Программная совместимость со всеми 8- и 16-разрядными МК семейства H8X.
- Дешевые версии с Flash-памятью.
- Возможность заказа МК с масочным ПЗУ.
- Внутрисхемно программируемая и перепрограммируемая (удаленно) Flash-память.
- Версия с 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 нс.
- Ядро 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 кГц), или o (тактовая частота) / 32, 16, 8, или 4. При работе таймера в режиме отсчета интервалов времени частота работы таймера за счет встроенного делителя частоты может быть выбрана из 8 вариантов: o/8192, o/4096, o/2048, o/512, o/256, o/128, o/32, o/8. При работе таймера в режиме часов реального времени возможно задать один из четырех возможных периодов переполнения: 1, 0,5, 0,25, 31,25 с.
- Таймер V работает как 8-разрядный счетчик внешних событий. Совпадение сигнала в двух регистрах может использоваться для сброса счетчика, вызова прерывания или вывода ШИМ-сигнала с произвольным, заданным пользователем, коэффициентом заполнения. Особенности работы таймера: возможность задать рабочую частоту таймера из ряда «тактовая частота/N» (o/128, o/64, o/32, o/16, o/8, o/4) или тактировать таймер от внешнего источника; счетчик может сбрасываться при совпадении значений в регистрах A и B, а также внешним сигналом. Счетчик может быть остановлен после переполнения, если такой режим был выбран. Подсчет событий может происходить по переднему фронту, по заднему фронту или по обоим фронтам.
- 16-разрядный таймер. Таймер предназначен для операций выходного сравнения и входного захвата (CapCom). Таймер умеет подсчитывать внешние события и выдавать ШИМ-сигналы произвольной длительности в соответствии с уставками, хранящимися в базовых регистрах. К особенностям таймера относится следующее: возможность выбора одной из 5 тактовых частот: 4 внутренних (o, o/2, o/4, o/8) или от внешнего источника. Таймер может независимо работать с 4 каналами на вход или на выход одновременно. Таймер обладает четырьмя базовыми регистрами, которые можно использовать попарно: один из регистров в паре работает как буфер при операциях сравнения и захвата.
- Сторожевой таймер со встроенным осциллятором для работы на пониженной частоте.
- Последовательный интерфейс связи (SCI):
- SCI может работать как в асинхронном, так и в синхронном режимах. При работе с SCI возможно выбрать асинхронный или синхронный режим работы. Интерфейс может работать в полнодуплексном режиме. В интерфейсе присутствуют независимые приемник и передатчик, что дает возможность реализации совместно приема и передачи.
- Использование двойной буферизации и в приемнике, и в передатчике.
- Программное задание скорости передачи или использование внешнего источника тактирования
- 6 источников прерывания: transmit-end, transmit-data-empty, receive-data-full, overrun error, framing error, and parity error.
- Шина I2С.
- 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, характеризующихся наличием или отсутствием некоторых периферийных модулей или изменением размеров ПЗУ или ОЗУ (см. табл.).
Табл. Выпускаемые в настоящее время микроконтроллеры семейства Н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 kbytes | 32 kbytes | 8–16 kbytes | 32 kbytes | 32 or 56 kbytes |
Rom | 8–32 kbytes | 8–32 kbytes | — | 8–32 kbytes | 16–56 kbytes |
SRAM | 512–2 kbytes | 2 kbytes | 2 kbytes | 512–2 kbytes | 3–4 kbytes |
EEPROM | — | 512 kbytes | — | — | — |
16-bit timer | 1х16-bit with 4 capture/compare | 1 with 8 capture/compare | |||
8-bit timer | 2х8-bit timer | ||||
RTC | No | Yes | |||
Watchdog timer | Watchdog with independend oscillator on chip | ||||
USART | 1хUSART | 2хUSART | |||
I2C | 1хMulti-master I2C Interface | – | 1хMulti-master I2C Interface | ||
A/D | 8 chх10-bit | 4 chх10-bit | 8 chх10-bit | ||
POL/LVI | No | Yes (G version only) | |||
Sub-clock | Yes | No | Yes |
Например, в микроконтроллере H8/3672F сокращен объем ПЗУ, ОЗУ, а также уменьшено количество каналов АЦП и отсутствует поддержка I2C, в тоже время H8/3687F, наоборот, характеризуется увеличением тактовой частоты до 20 МГц, увеличением объема памяти, появлением дополнительного последовательного интерфейса, расширением возможностей 16-разрядного таймера, который теперь способен обеспечить управление 3-фазным асинхронным или вентильным двигателем, а также появлением супервизора напряжения питания.
Уже в начале следующего года Hitachi собирается расширить линейку микроконтроллеров H8/300H Tiny новыми устройствами, которые будут включать в себя такие периферийные блоки, как CAN и LIN-модули, USB-порты, а также варианты с увеличенным количеством (до 3 штук) последовательных интерфейсов. Планы по развитию микроконтроллеров семейства H8/300H Tiny отображены на рис. 3.
Благодаря встроенному отладочному интерфейсу E10T отладка и программирование микроконтроллеров становится простым и недорогим занятием. При мелкосерийном производстве во избежание затрат на отладочные элементы возможно самостоятельное создание отладочного модуля на основе PC и соединенного с ним 4-проводным кабелем микроконтроллера. Отладка (и программирование) идет при помощи специализированного программного обеспечения, условно-бесплатные версии которого доступны через ООО «Макро Тим» и на сайтах производителей этого обеспечения (
www.iar.com,
www.redhat.com). При серийном потреблении микроконтроллеров или при разработке действительно сложных систем рекомендуется пользоваться фирменными отладочными средствами LEM3664 и HS3664TCI01H PCI.
Кроме того, программирование и перепрограммирование микроконтроллера возможно внутрисхемно, то есть, используя расширенные возможности микроконтроллеров Hitachi по прерываниям, можно загрузить программу в ПЗУ либо через последовательный интерфейс (при первой загрузке программы), либо через порты ввода—вывода общего назначения (при ее перезаписи).
Более подробную информацию о микроконтроллерах Hitachi, об отладочных средствах и т. п. можно получить на сайтах
www.hitachi-eu.com/micro/,
www.hmse.com.