Компоненты и технологии, № 4'2003
Популярные 8-разрядные микроконтроллеры
фирмы HOLTEK
Фирма HOLTEK ради удешевления конечного продукта взяла за правило выпускать микросхемы не только в традиционных корпусах, но и в бескорпусном варианте.
Уже давно перестали быть экзотикой бескорпусные микроконтроллеры, смонтированные прямо на печатной плате (технология chip-on-board), стеклянном корпусе (технология chip-on-glass) или на шлейфе ЖКИ. При этом сам индикатор становится интеллектуальным, а схема упрощается и удешевляется одновременно. Монтаж бескорпусного контроллера на шлейф или плату клавиатуры также позволяет удешевить этот узел, заставив его выдавать готовые коды клавиш, осуществлять буферирование клавиатуры. В этой статье мы познакомимся с представителями двух семейств микроконтроллеров HOLTEK — HT48 и HT49.
Юрий Ермаков
Потребность в дешевых микроконтроллерах на нашем рынке будет существовать всегда. Область применения таких микроконтроллеров — от приборостроения и систем управления технологическими процессами до автоматов осве-
щения, стиральных машин, игрушек, пылесосов и другой бытовой техники. Иначе говоря, они применяются везде, где необходимо снабдить привычные вещи новыми, полезными и неожиданными функциями, разместив при этом схему управления на площади 5-рублевой монеты.
Семейство НТ48 — это 8-разрядные микроконтроллеры с числом выводов от 24 до 64. Микросхемы предназначены для управления процессами в бытовой технике, игрушках. Говоря об их применении, можно провести параллель с контроллерами типа 8051.
Семейство НТ49 — это 8-бразрядные микроконтроллеры с числом выводов от 48 до 100. У этих микросхем порты приспособлены для управления ЖКИ разных типов.
Наиболее популярными на сегодняшний день оказались микроконтроллеры HT48R50A-1/HT48C50-1 и HT49R50A-1/HT49C50-1/HT49C50L, поэтому мы приведем краткое их описание.
HT48R50A-1/HT48C50-1 — 8-разрядные RISC-контроллеры (рис. 1), имеющие 35 двунаправленных линий ввода-вывода, однократно программируемую или масочную память программ — 4 Кх15; память данных — 160х8; два таймера: 16-разрядный и 8-разрядный. В контроллерах предусмотрено два внутренних и одно внешнее прерывание.
Микросхемы упакованы в корпуса DIP/SOP (28 ножек) и SSOP (48 ножек), ну и, конечно, бескор-пусный вариант (рис. 2, 3). Напряжение питания: 3,3-5,5 В при максимальной частоте 8 МГц и 2,2-5,5 В при максимальной частоте 4 МГц.
В составе микроконтроллера имеется встроенный монитор напряжения, дающий сигнал общего сброса при пониженном напряжении питания, 8- и 16-разрядные программируемые таймеры —
Компоненты и технологии, № 4'2003
PB5 II 1 48 □ PB6
PB4 II 2 47 □ PB7
РАЗ II 3 46 □ PA4
PA2 С 4 45 □ PA5
РАЇ II 5 44 □ PA6
РАО II 6 43 □ PA7
РВЗ II 7 42 □ NC
РВ2 II 8 41 □ NC
PBl/Iz"|I 9 40 □ NC
PBO/BZ II 10 39 □ NC
РВ5 Ц 1 28 □ PB6 NcC 11 38 □ OSC2/PG2
РВ4 □ 2 27 ЦРВ7 Nell 12 37 □ OSC1/PG1
РАЗ □ 3 26 □ PA4 NClI 13 36 □ VDD
РА2 □ 4 25 □ PA5 Nell 14 35 □ Ris
РА1 С 5 24 □ PA6 PD7 □ 15 34 □ tmri
РАО □ 6 23 □ PA7 PD6 □ 16 33 □ PD3
РВЗ Ц 7 22 □ OSC2/PG2 PD5 С 17 32 □ PD2
РВ2 Ц 8 21 □ OSC1/PG1 PD4 Г 18 31 I PD1
PB1/BZ- □ 9 20 □ VDD VSS Г 19 30 I PDO
PB0/BZ □ 10 19 □ RES PGO/INT II 20 29 □ PD7
VSS □ 11 18 □ PC5/TMR1 TMRO С 21 28 □ PC6
PGO/INT □ 12 17 □ PC4 PCO II 22 27 □ PC5
PC0/TMR0 Ц 13 16 □ PC3 PCI II 23 26 □ PC4
PCI □ 14 15 □ PC2 PC2 С 24 25 □ рсз
HT48R50A -1/НТ48С50-1-А HT48R50A -1/НТ48С50-1-А
-28 SKDIP-A/SOP-A - 48 SSOP-A
Рис. 2
-о T3 rp -0-0 22 IP IP
* The 1C substrate should be connected to VSS in the PCB layout artwork.
Рис. 3
счетчики событий, вырабатывающие пре- Таблица 1. Назначение выводов контроллеров HT48R50A-1/HT48C50-1
рывание по переполнению. Генератор способен работать как от внутренней RC-цепочки, так и с использованием внешних кварцевых резонаторов, в том числе и «часовых»
(32x768 Гц), либо от внешней RC-цепочки.
Для защиты от «зависаний» предусмотрен сторожевой таймер. Имеются парафазные выходы с поддержкой программируемого делителя частоты. Для уменьшения потребляемой мощности предусмотрены функции останова и запуска (HALT и wake up). Контроллер имеет однократно программируемое ПЗУ программ емкостью 4096x15 и ОЗУ 160x8 бит.
Поддержка 6-уровневого вложения подпрограмм осуществляется 63 мощными инструкциями, есть инструкции для операций с отдельными битами. Все инструкции выполняются за 1-2 машинных цикла.
HT49C50-1 и HT49C50L — 8-разрядные высокоэффективные контроллеры, приспособленные для работы с ЖКИ с организацией сегментов 33х2, 33х3 или 32х4 (рис. 4).
Они содержат: однократно программируемую или масочную память программ —
4 Кх15; ОЗУ — 160x8; 8 линий ввода; 12 двунаправленных линий ввода-вывода; два 8-разрядных таймера-счетчика с функцией программного делителя частоты. Контроллеры имеют 2 вывода для внешних прерываний и 2 парафаз-ных выхода, управляемых программируемым делителем частоты. Микросхемы упакованы в корпуса SSOP-A (48 ножек) и QFP-A (100 ножек), есть и бескорпусный вариант (рис. 5, 6, 7).
Напряжение питания при 4 МГц —
2,2-5,5 В для HT49R50A- 1/HT49C50-1; при 8 МГц — 3,3-5,5 В для HT49R50A-1/HT49C50-1; при 500 кГц — 1,2-2,2 В для HT49C50L.
В составе микроконтроллеров HT49R50A-1/HT49C50-1 имеется встроенный монитор напряжения, дающий сигнал общего сброса при пониженном напряжении питания. Генераторы (один — тактовый, второй — часы реального времени) способны работать как от
Обозначение выводов Вход/выход Варианты Комментарии
PA0~PA7 Вх/вых Входы с притягивающим верхним резистором, входы с триггером Шмитта, wake up, или обычные выходы Двунаправленный 8-разрядный порт. Каждый бит может быть сконфигурирован, как вход wake up. Программное конфигурирование вывода позволяет создать выход, совместимый с КМОП-уровнями, или вход с верхним притягивающим резистором, или вход с триггером Шмитта с КМОП-уровнями.
PB0/BZ PB1/BZ PB2~PB7 Вх/вых Входы с притягивающим верхним резистором, парафазные выходы Двунаправленный 8-разрядный порт. Каждый бит может быть сконфигурирован как выход, совместимый с КМОП-уровнями, или вход с верхним притягивающим резистором, или вход с триггером Шмитта с КМОП-уровнями. Порты РВ0 и РВ1 могут работать как парафазные выходы с внутреннего программируемого делителя, работающего вместе с таймером-счетчиком 0.
PD0~PD7 Вх/вых Входы с притягивающим верхним резистором или обычные выходы Двунаправленный 8-разрядный порт. Каждый бит может быть сконфигурирован как выход, совместимый с КМОП-уровнями, или вход с верхним притягивающим резистором, или вход с триггером Шмитта с КМОП-уровнями.
VSS - - «-» источника питания, «земля»
PG0/INT Вх/вых Входы с притягивающим верхним резистором или обычные выходы Двунаправленный 8-разрядный порт. Каждый бит может быть сконфигурирован как выход, совместимый с КМОП-уровнями, или вход с верхним притягивающим резистором, или вход стриггером Шмитта с КМОП-уровнями. PG0 может программно переключаться как вход внешнего прерывания. Прерывание осуществляется по отрицательному перепаду на этом входе.
TMR0 Вх - Вход таймера-счетчика 0. На входе триггер Шмитта без подтягивающего резистора.
PC0~PC7 Вх/вых Входы с притягивающим верхним резистором или обычные выходы Двунаправленный 8-разрядный порт. Каждый бит может быть сконфигурирован как выход, совместимый с КМОП-уровнями, или вход с верхним притягивающим резистором, или вход с триггером Шмитта с КМОП-уровнями.
TMR1 Вх - Вход таймера-счетчика 1. На входе триггер Шмитта без подтягивающего резистора.
RES Вх - Вход сброса. На входе триггер Шмитта, активный уровень - низкий.
VDD - - Положительное напряжение питания.
OSC1/PG1 OSC2/PG2 Вх/вых Входы с притягивающим верхним резистором или обычные выходы, подключение внешней RC-цепочки или кварцевого резонатора, или работа от внешнего источника синхроимпульсов К этим выводам подключается внешняя RC-цепочка или кварцевый резонатор, на вывод OSC2 программно могут быть выведены импульсы с частотой, равной 1/4 частоты системных часов. Эти выводы могут быть программно сконфигурированы для работы с «часовым» кварцем (32 768 Гц). При конфигурации этих выводов как линий порта G работа контроллера осуществляется от внутреннего RC-генератора, работающего на одной из 4 частот (3,2 МГц, 1,6 МГц, 800 кГц, 400 кГц). Биты порта могут быть сконфигурированы как выход, совместимый с КМОП-уровнями, или вход с верхним притягивающим резистором, который можно программно включить и выключить. В случае использования этих выводов для работы с времязадающими цепочками биты PG1, PG2 можно использовать как внутренние регистры. В этом случае использование притягивающих резисторов запрещено.
е
Компоненты и технологии, № 4'2003
4----IE OSC3
----HE OSC4
=S| PC \t---------->63 peo-рез
PORT В ____
----------IE PB0/INT0
----------IE PB1/ÍÑTÍ
----------IE PB2/TMR0
----------IE PB3/TMR1
----------И PB4-PB7
EpAO/BZ >EPA1/BZ >EpA2 >E PA3/PFD HE PA4-PA7
HALT EN/DIS ____________i_
LVD/LVR
PORTA
PA
£ ЯІ Я si I ^ § І G § 5 z z 2 S z 5 5 §
пппппппппппппппппп
PA5 С / 100 1 99 98 97 96 95 94 93 92 91 90 89 88 87 В6 85 84 83 В2 81 80 □ sEGl
NC С 2 79 □ SEG2
NC с 3 78 □ sEG3
NC с 4 77 □ nc
NC с 5 76 □ nc
NC с 6 75 □ nc
PA6 с 7 74 □ SEG4
PA7 с 8 73 □ SEG5
PBO/INTO с ? 72 □ SEG6
PB1/INT1 с 10 71 □ SEG7
PB2/TMR0 с 11 70 □ SEGB
PB3/TMR1 с 12 69 □ SEG9
PM с 13 68 □ SEG10
PBS с 14 67 □ SEG11
PB6 с 15 HT49R50A-1 /НТ49С50-1 /HT49C50L 66 □ SEG12
PB7 с lé -100 QFP-A 65 □ SEG13
PCO с 17 64 □ seG14
PCI с 18 63 □ sEG15
PC2 с 19 62 □ SEG16
PCS с 20 61 □ SEG17
NC С 21 60 □ SEGl 8
NC с 22 59 □ SEG19
NC с 23 58 □ SEG20
NC с 24 57 □ sEG21
NC С 25 56 □ NC
NC с 26 55 □ nc
NC с 27 54 □ nc
NC с 2В 53 □ nc
NC с 29 52 □ nc
VSS с 30 51 □ nc
un
s <
33 34 35 36 37 ЗВ 39 40 41 42 43 44 45 46 47 48 4? 50
uuuuuuuuuuuuuuuuuu
й ! й 8
" і
Рис. 5
внутренней RC-цепочки, так и с использованием внешних кварцевых резонаторов, в том числе и «часовых» (32 768 Гц), либо от внешней RC-цепочки. Для защиты от «зависаний» предусмотрен сторожевой таймер. Для уменьшения потребляемой мощности предусмотрены функции останова и запуска (HALT и wake up).
Поддержка 6-уровневого вложения подпрограмм осуществляется 63 мощными инструкциями, есть инструкции для операций с отдельными битами. Все инструкции выполняются за 1-2 машинных цикла.
«Высоковольтные» версии этих контроллеров предназначены для приложений, требующих высокой скорости работы, а вообще семейство
НТ49 применяется в интеллектуальных ЖК-дисплеях, калькуляторах, электронных весах, часах, таймерах, игрушках и досуговых приборах (вроде «тетриса»), а также многих других устройствах с батарейным питанием и ЖКИ.
Все микроконтроллеры могут храниться при температуре от -50 до +125 °С, рабочая температура — от -40 до +85 °С. Выводы пор-
PAO/BZ Ц i 48 □ RES
PA1/BZ С 2 47 □ OSC1
PA2 □ 3 46 □ OSC2
PA3/PFD □ 4 45 □ VDD
PA4 Ц 5 44 □ OSC3
PA5 Ц 6 43 □ OSC4
PA6 Ц 7 42 □ SEG10
PA7 □ 8 41 □ SEG11
PBO/INTO □ 9 40 □ SEG12
PB1/INT1 □ 10 39 □ SEG13
PB2/TMR0 С 11 38 □ SEG14
PB3/TMR1 □ 12 37 □ SEG15
PB4 □ 13 36 □ SEG16
PB5 □ 14 35 □ SEG17
VSS □ 15 34 □ SEG18
VLCD Ц 16 33 □ SEG19
VI □ 17 32 □ SEG20
V2 Ц 18 31 □ SEG21
ci □ 19 30 □ SEG22
C2E 20 29 □ SEG23
COMO □ 21 28 □ SEG24
COMI □ 22 27 □ SEG25
СОМ2Ц 23 26 □ SEG26
COM3/SEG32 Ц 24 25 □ SEG27
HT49R5 0A-1 / HT49C5 0-1 / HT49C50L
-48 SSOP-A
Рис. 6
TRIM2 TRIM1
PA6 H
PA7 и
INTO/PBO и
INT1/PB1 и
TMR0/PB2 и
TMR1/PB3 H Л
PB4 и (0,0)
PB5 и —1 ►
PB6 и
PB7 и
PCO 0
PCI 0
PC2 и
PC3 и
VSS 0
|j¡][i9][2¡>][íi][¡3 [ШИШИ [¡¡і dEd*] S i®l HU mi di d3[H] IHI
и SEG4
[я] SEG5
ии SEGÓ
0 SEG7
0 SEG8
и SEG9
0 SEG10
0 SEG11
н SEG12
0 SEG13
0 SEG14
@ SEG15
0 SEG16
0 SEG17
@ SEG18
НЕ] SEG19
0 SEG20
SEG21
ел trt <л
OOOOOOOGO
ыиююыююмы
Рис. 7
" The 1C substrate should be connected to VSS in the PCB layout artwork.
Компоненты и технологии, № 4'2003
Таблица 2. Назначение выводов контроллеров HT49C50-1 и HT49C50L
Обозначение выводов Вход/ выход Варианты Комментарии
PA0/BZ PA1/BZ PA2 PA3/PFD PA4-PA7 Вх/вых Входы с притягивающим верхним резистором или без, wake up, выходы КМОП, N-МОП РА0~РА7 являются 8-разрядными двунаправленными портами ввода-вывода с триггерами Шмитта на входе, каждый бит порта может быть сконфигурирован как вход инициализации режима wake up, РА0~РА3 могут конфигурироваться как КМОП-выход или N-МОП вход-выход с или без притягивающего верхнего резистора. РА4~РА7 всегда с верхним притягивающим резистором в режиме входа и N-МОП в режиме выхода. РА0~РА1 могут быть установлены как входы-выходы или парафазные выходы. РАЗ может конфигурироваться как вход-выход или вывод программируемого делителя частоты.
PB0/INT0 PB1/INT1 PB2/TMR0 PB3/TMR1 PB4~PB7 Вх - РВ0~РВ7 являются 8-разрядными портами ввода с триггерами Шмитта на входе, каждый бит порта может быть сконфигурирован как вход с верхним притягивающим резистором. РВ0 и РВ1 могут быть установлены как входы внешних прерываний INT0 и INT1 соответственно. РВ2 и РВ3 могут быть программно установлены как входы таймеров-счетчиков TMR0 и TMR1.
PC0~PC3 Вх/вых Входы с притягивающим верхним резистором или без, выходы КМОП, N-МОП PC0~PC3 являются 4-разрядными портами ввода с триггерами Шмитта на входе, могут конфигурироваться как КМОП-выход или N-МОП вход-выход с или без притягивающего верхнего резистора.
VSS - - Отрицательный вывод питания, «земля».
V2 Вх - Питание ЖКИ для HT49C50L, напряжение накачки HT49R50A-1/HT49C50-1.
VLCD Вх - Напряжение накачки для HT49C50L, питание ЖКИ для HT49R50A-1/HT49C50-1.
V1,C1,C2 Вх - Выводы схемы накачки напряжения.
SEG32/COM3 C0M2~C0M0 Вых S, 1/3 или j (скважность) SEG32 может быть установлен как сегмент или общий вывод ЖК-панели, C0M2~C0M0 — общие выводы для ЖК-панели.
SEG31~SEG0 Вых - Выходы сегментов ЖК-панели.
0SC4 0SC3 Вых/вх Часы реального времени или системные часы Часы реального времени. 0SC4 и 0SC3 - выводы для подключения часового кварца 32 768 Гц. Дополнительная синхронизация от отдельных часов или от тактовых импульсов. Конденсатор не требуется.
VDD - - Положительное напряжение питания.
0SC2 0SC1 Вых/вх Подключение кварца или RC-цепочки Выводы служат для подключения внешней RC-цепочки или кварца, если рабочая частота должна отличаться от задаваемой внутренней RC-цепочкой. 0SC2 является выходом тактовых импульсов с частотой, равной j системной частоты. Системные тактовые импульсы могут программно получаться от часов реального времени, в этом случае эти выводы могут быть не подключены.
RES Вх - Вход системного сброса с триггером Шмитта, активный низкий уровень.
тов рассчитаны на максимальный ток -8/25 мА при напряжении питания 5 В.
Команды выполняются за 1-2 цикла, этим контроллеры напоминают немного упрощенные знаменитые AVR-контроллеры фирмы ATMEL. Но в отличие от них, количество уровней вложения у HT больше.
Применение однократно программируемого ПЗУ сразу отсекает небольшую группу потребителей, которым необходимы штучные или мелкосерийные изделия. Отладка становится слишком дорогой. Зато крупные производители значительно выигрывают в себестоимости изделий. Даже PIC-контроллеры фирмы MICROCHIP с однократно программируемым ПЗУ имеют более высокую цену
и немного меньшее быстродействие на той же тактовой частоте.
Если говорить о ценах, имеет смысл привести ориентировочные цены для партий от 5000 штук:
HT48R50A-1 $0,95 (в корпусах 28DIP, 28S0P, 48SS0P)
HT48R50A-1 $0,68 (бескорпусный)
HT49R50A-1 $1,34 (в корпусах 100QFP, 48SS0P)
HT49R50A-1 $0,72 (бескорпусный)
Если партия очень крупная, можно заказать масочную версию. Цена при этом снизится дополнительно на 30-50%.
Вот вам и секрет дешевизны электроники — микроконтроллер практически по цене транзистора.