H8 Family

H8 Family – это семейство 8-разрядных и 16-разрядных микроконтроллеров, разработанных компанией Hitachi Semiconductor в начале 1990-х годов.

Модели

Семейство H8 содержит в себе большое количество восьми- и шестнадцатиразрядных микроконтроллеров CISC-архитектуры, совместимых между собой снизу вверх (см. рис. 1). Продукция Hitachi в настоящее время лидирует на рынке шестнадцатиразрядных микроконтроллеров (объем ее продаж уже перевалил за отметку в $1 млн, что составляет около 30 % от общего объема), а на рынке восьмиразрядных микроконтроллеров Hitachi уже долгое время входит в пятерку ведущих производителей.

Рисунок 1 – Модели H8

Семейство H8 (рис. 1) состоит из микроконтроллеров четырех серий:

H8/300L — серия восьмиразрядных микроконтроллеров начального уровня, ориентированных на применение в тех системах, где ключевыми факторами являются сверхнизкое энергопотребление и малая стоимость;

H8/300 — серия микроконтроллеров, совместимых по коду с H8/300L, но имеющих в два раза меньшее время выполнения инструкций и расширенное до 64 Кбайт адресное пространство; как и в серии H8/300L, система команд и архитектура серии H8/300 оптимизированы для поддержки компиляторов языков высокого уровня;

H8/300H — серия шестнадцатиразрядных микроконтроллеров, совместимых снизу вверх с сериями H8/300 и H8/300L, имеющих производительность до 10 MIPS и расширенное до 16 Mбайт адресное пространство; кроме того, микроконтроллеры серии H8/300H могут иметь значительный (до 128 Кбайт) объем flash-памяти программ и большое количество разнообразных интегрированных периферийных устройств;

H8S — серия совместимых с H8/300H шестнадцатиразрядных микроконтроллеров, имеющих полностью статическое ядро, что позволило уменьшить энергопотребление в standby-режиме до 0,03 мкВт; кроме того, за счет уменьшившегося до одного такта времени выполнения большинства инструкций и возросшей до 25 MГц тактовой частоты значительно возросла производительность микроконтроллеров данной серии, достигшая, как и в серии H8/300H, 25 MIPS; микроконтроллеры серии H8S имеют богатый набор периферии, до 256 Кбайт памяти программ и до 16 Кбайт RAM.

Микроконтроллеры семейства H8 поддерживают множество различных режимов пониженного энергопотребления:

  • Sleep — работает тактовый генератор, CPU остановлен, состояние регистров CPU, периферии и RAM сохраняется;
  • Software Standby — тактовый генератор остановлен, сохраняется только состояние регистров CPU и содержимое RAM;
  • Hardware Standby (кроме H8/300L) — тактовый генератор остановлен, сохраняется только содержимое RAM;
  • Medium Speed (только H8/300L и H8S) — Bus Master работает на пониженной частоте, периферия функционирует в нормальном режиме;
  • Subsleep/Watch (только H8/300L и H8S) — CPU остановлен, работают только таймеры на частоте 32 кГц;
  • Subactive (только H8/300L и H8S) — CPU и таймеры работают на частоте 32 кГц;
  • Module Standby (только H8/300H и H8S) — остановка одного или нескольких интегрированных периферийных устройств.

H8/300L

Серия H8/300L содержит 45 микроконтроллеров (рис. 2), выделяются они из семейства низким энергопотреблением, возможностью работы при пониженном (вплоть до 1,8 В) напряжении питания, а также вкачает в себя драйвера для управления LCD или LCD-контроллером. Также присутствуют модели со встроенной флеш-памятью (до 60 Кбайт), объем RAM варьируется от 512 байт до 2 Кбайт. Все модели обладают встроенным восьми- или десятиразрядный многоканальным АЦП. Кроме того, микроконтроллеры серии H8/300L поддерживают большое число режимов энергосбережения, что в сочетании со встроенным контроллером LCD делает их удобными для применения в портативных устройствах.

Рисунок 2 – Характеристики микроконтроллеров серии Н8/300L

H8/300

Похожи на H8/300L, за исключением повышенного быстродействия и гораздо более развитой периферией. Почти все модели (кроме группы H8/3297) имеют интегрированный контроллер I2C, ISA и контроллер клавиатуры, а некоторые имеют встроенный двухканальный ЦАП (рис. 3).

Рисунок 3 – Характеристики микроконтроллеров серии Н8/300

H8/300H

Самая младшая линейка. Совместимы снизу вверх с восьмиразрядными микроконтроллерами, отличаются повышенной разрядностью, средним временем выполнения инструкций в два такта , максимальной тактовой частотой 20 МГц. Имеют расширенное до 16 Мбайт адресное пространство. Максимальный объем встроенной памяти – 128 Кбайт. Включает в себя контроллер внешней памяти (SRAM или DRAM), до пяти шестнадцатиразрядных PWM, двухканальный ЦАП и Smartcard-интерфейс (рис. 4). Все старшие модели имеют варианты с flash-памятью программ.

Рисунок 4 – Характеристики микроконтроллеров серии Н8/300Н

H8S

Рисунок 5 – Характеристики микроконтроллеров серии H8S/2100

H8S – продолжение шестнадцатиразрядных микроконтроллеров от Hitachi. Основывается на новом статическом ядре, но при этом имеет обратную совместимость. Некоторые инструкции выполняются за один такт. Включает в себя модуль аппаратного умножения с накоплением (MAC) — 16Ѕ16+42 бит. Увеличился набор встроенной периферии, включая I2C-, IrDA-, SmartCard- и CAN-контроллеры, а также контроллер внешней памяти BurstROM. Обладает режимами пониженного энергопотребления. Более подробные характеристики микроконтроллеров серии H8S приведены на рис 5 и 6.

Рисунок 6 – Характеристики микроконтроллеров серии H8S/2200/2300/2600

SuperH

SuperH (рис. 7) включают тридцатидвухразрядные RISC-ядра с длиной инструкции 16 бит, и работают со скоростью одной инструкции в такт. SuperH состоит из нескольких серий (SH-1, SH-2, SH-DSP, SH-3, SH3-DSP, SH-4), каждая из которых предназначена для отпряденных решений.[Источник 1]

Рисунок 7 – Характеристики RISC-микроконтроллеров семейства SuperH

Архитектура

Рисунок 8 – Структура базовой модели H8/3664F нового семейства микроконтроллеров Tiny

Сердцем микроконтроллеров является ядро 300H, хорошо зарекомендовавшее себя еще в ранних моделях первых 16-разрядных микроконтроллеров Hitachi и получившее продолжение в современных микроконтроллерах для систем с управлением в реальном времени (см. рис. 8).

Достоинства новых микроконтроллеров:

  • Мощное 16-разрядное ядро с частотой 16 MГц из семейства 300H.
  • Программная совместимость со всеми 8- и 16-разрядными МК семейства H8X.
  • Дешевые версии с Flash-памятью.
  • Возможность заказа МК с масочным ПЗУ.
  • Внутрисхемно программируемая и перепрограммируемая (удаленно) Flash-память.
  • Версия с EEPROM.
  • Достаточно мощная периферия.
  • Низкое энергопотребление.

16-разрядное ядро H8/300H, используемое в микроконтроллерах серии 300H/Tiny, обладает следующими характеристиками:

  • Вся серия H8, включая Н8/300Н Tiny, обладает общим ядром и регистрами общего назначения (РОН), позволяющими эффективно выполнять программы, написанные на С.
  • РОН являются 32-разрядными регистрами и могут использоваться частично как 8- или 16-разрядные регистры.
  • Регистры можно использовать собственно как банки данных и как указатели на данные.
  • Регистр 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, характеризующихся наличием или отсутствием некоторых периферийных модулей или изменением размеров ПЗУ или ОЗУ (см. рис. 9).

Рисунок 9 – Выпускаемые в настоящее время микроконтроллеры семейства Н8/300Н Tiny и их параметры

Например, в микроконтроллере H8/3672F сокращен объем ПЗУ, ОЗУ, а также уменьшено количество каналов АЦП и отсутствует поддержка I2C, в тоже время H8/3687F, наоборот, характеризуется увеличением тактовой частоты до 20 МГц, увеличением объема памяти, появлением дополнительного последовательного интерфейса, расширением возможностей 16-разрядного таймера, который теперь способен обеспечить управление 3-фазным асинхронным или вентильным двигателем, а также появлением супервизора напряжения питания.

Уже в начале следующего года Hitachi собирается расширить линейку микроконтроллеров H8/300H Tiny новыми устройствами, которые будут включать в себя такие периферийные блоки, как CAN и LIN-модули, USB-порты, а также варианты с увеличенным количеством (до 3 штук) последовательных интерфейсов. Планы по развитию микроконтроллеров семейства H8/300H Tiny отображены на рис. 10.

Рисунок 10 – Планы по развитию H8/300H Tiny

Благодаря встроенному отладочному интерфейсу E10T отладка и программирование микроконтроллеров становится простым и недорогим занятием. При мелкосерийном производстве во избежание затрат на отладочные элементы возможно самостоятельное создание отладочного модуля на основе PC и соединенного с ним 4-проводным кабелем микроконтроллера. Отладка (и программирование) идет при помощи специализированного программного обеспечения, условно-бесплатные версии которого доступны через ООО «Макро Тим» и на сайтах производителей этого обеспечения. При серийном потреблении микроконтроллеров или при разработке действительно сложных систем рекомендуется пользоваться фирменными отладочными средствами LEM3664 и HS3664TCI01H PCI.

Кроме того, программирование и перепрограммирование микроконтроллера возможно внутрисхемно, то есть, используя расширенные возможности микроконтроллеров Hitachi по прерываниям, можно загрузить программу в ПЗУ либо через последовательный интерфейс (при первой загрузке программы), либо через порты ввода—вывода общего назначения (при ее перезаписи)[Источник 2].

Источники

  1. Микроконтроллеры фирмы Hitachi // Рынок микроэлектронники [2019]. URL: http://www.compitech.ru/html.cgi/arhiv/00_05/stat_46.htm (дата обращения: 30.01.2019).
  2. Новое семейство 16-разрядных микроконтроллеров Hitachi — I8/300I Tiny // compitech [2019].. URL: http://www.compitech.ru/html.cgi/arhiv/02_05/stat_106.htm (дата обращения: 31.01.2019).