Новое семейство 16-разрядных микроконтроллеров
Hitachi — I8/300I 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.
Дмитрий Чоловский
|