Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[0]

Микроконтроллеры фирмы Holtek

8-разрядные микроконтроллеры фирмы Holtek (http: www.holtek.com.tw) базируются на высокоэффективном RISC-подобном ядре. Они ориентированы на использование в удалённых контроллерах, контроллерах вентиляторов, светильников, стиральных машин, игрушек и пр. Микроконтроллеры имеют невысокую стоимость, что позволяет им конкурировать в ряде приложений. Следует отметить и эффективность заказа масочного варианта при небольших партиях. Одной из основных отличительных особенностей ряда микроконтроллеров является наличие моделей с встроенными драйверами ЖКИ, что обеспечивает возможность построения оптимальных устройств с дисплейными функциями. Ниже приведен перечень микроконтроллеров и их архитектурные особенности. В таблице используются следующие условные обозначения:

OTP-Однократно программируемый кристалл

ROM-Память программ с масочным ПЗУ

I/O-Линии ввода-вывода

I-Входы

O-Выходы

WDT-Сторожевой таймер

RTC-Часы реального времени

Перечень микроконтроллеров фирмы Holtek

Название

Память прогр.

OTP/ ROM

RAM

МГц

I/O

Таймер

Особенности

Корпус

8-разрядные микроконтроллеры ввода-вывода

HT48CA0

1024x14

ROM

32

4

10 + 6 I

1 + WDT

20SOP-A, 20DIP-A, 24SOP-A

HT48C10

1024x14

ROM

64

4

18

1 + WDT

18DIP-F, 20DIP-F, 20SOP-F, 24SDIP-B

HT48C30

2048x14

ROM

96

4

22

1 + WDT

18DIP-A, 20DIP-F, 20SOP-F, 28SDIP-B,

HT48C50

4096x15

ROM

160

4

32

1 + WDT

28SDIP-H

HT48C70

8192x16

ROM

224

4

56

1 + WDT

64QFP-A

HT48R11

1024x14

OTP

64

4

18

1 + WDT

18DIP-F-0, 20DIP-F-0, 24SDIP-B-0, 28CDIP-A-0

HT48R12

1024x14

OTP

64

4

18

1 + WDT

18DIP-F-0, 20DIP-F-0, 24SDIP-B-0, 28CDIP-A-0

HT48R31

2048x14

OTP

96

4

22

1 + WDT

18DIP-A-0, 20DIP-F-0, 28SDIP-B-0, 32CDIP-A-0

HT48R32

2048x14

OTP

96

4

22

1 + WDT

18DIP-A-0, 20DIP-F-0, 28SDIP-B-0, 32CDIP-A-0

8-разрядные ЖКИ-микроконтроллеры с драйверами ЖКИ

HT49100

1024x14

ROM

64

4

8 + 6 I

1+WDT+

Драйв. ЖКИ

48SSOP

RTC

19x3 или 18x4 сег., детектор пониж. напр. питания

HT49300

2048x14

ROM

96

4

8 + 4 I +

1+WDT+

Драйв. ЖКИ

64QFP

4 O

RTC

28x3 или 27x4 сег. , детектор пониж. напр. питания

Разрабатываемые 8-разрядные ЖКИ-микроконтроллеры с драйверами ЖКИ

HT49500

4096x15

ROM

160

4

Драйв. ЖКИ

32x4 сег.

HT49700

8192x16

ROM

224

4

Драйв. ЖКИ

40x4 сег.

Основные типы микроконтроллеров фирмы Holtek рассматриваются ниже на примерах микроконтроллеров HT48R11 и HT49100.


Микроконтроллер HT48R11

Микроконтроллер HT48R11 - 8-разрядный высокоэффективный RISC-подобный микроконтроллер. В контроллере предусмотрена возможность перевода в экономичный режим потребления по питанию.

Основные особенности микроконтроллера:

-цикл выполнения команд 1 мкс при тактовой частоте 4 МГц и напряжении питания 5 В

-все команды выполняются за 1 или 2 цикла

-63 команды

-двухуровневый стек подпрограмм

-1K х 14 память программ PROM

-64 х 8 память данных

-18 двунаправленных линий ввода/вывода

-втекающий/вытекающий ток выходов - 1,5/1 мА при напряжении питания 3 В и 4/2 мА при напряжении

5 В

-вход прерывания

-8-разрядный программируемый таймер/счётчик событий с прерыванием по переполнению

-сторожевой таймер

-функция останова для перевода в экономичный режим

-диапазон напряжений питания 3,0...5,2 В

Архитектура

Конвейер команд

В микроконтроллере цикл выполнения команды занимает 4 цикла тактового генератора. В свою очередь, в цикле выполнения команды одновременно выполняются две операции: исполнение текущей команды и выборку следующей команды из памяти. Благодаря этому линейные команды выполняются за 1 цикл. Однако команды перехода, изменяющие содержимое счётчика команд, требуют очистки конвейера, и выполняются за 2 цикла.

Счётчик команд PC

Микроконтроллер имеет 10-разрядный счётчик команд, позволяющий адресовать до 1K слов программной памяти. Младший байт счётчика команд (PCL) представлен в памяти данных, как регистр, доступный для чтения и записи, и имеет адрес 06h. После выборки из памяти очередной команды счётчик команд автоматически увеличивает свое значение на единицу и указывает на адрес следующей подлежащей выполнению команды. При выполнении команд перехода, условного пропуска команды, загрузки регистра PCL, вызова подпрограммы, начального сброса, внутреннего, внешнего прерываний или возврата из подпрограммы счётчик команд загружается определяемым соответствующей командой адресом.

В микроконтроллере имеется набор команд условного пропуска. В зависимости от выполнения соответствующего условия эти команды обеспечивают либо выполнение следующей за ними команды, либо холостого цикла.

Путём загрузки значения в младший байт счётчика команд PCL можно осуществить безусловный переход в пределах 256 соответствующих адресов программы.

При любой передаче управления из-за необходимости очистки конвейера команд образуется холостой цикл, в течение которого не выполняется команда.

Память программы

Память программы микроконтроллера может быть адресована счётчиком команд или табличным указателем. Некоторые адреса памяти программы зарезервированы для специальных применений:

000h: с этого адреса начинается выполнение программы после инициализации (сброса) микроконтроллера.

004h: адрес зарезервирован для подпрограммы обработки внешнего прерывания. В случае активизации сигнала на выводе INT микроконтроллера, если внешнее прерывание разрешено и стек подпрограмм не полон, управление передаётся команде по адресу 004h.


008h: адрес зарезервирован для прерывания таймера/счётчика событий. При наступлении события переполнения, если прерывание от таймера/счётчика разрешено и стек подпрограмм не полон, управление передаётся команде по адресу 008h.

Загрузка констант в регистры

Любое слово в памяти программ может быть использовано как константа для загрузки в регистры оперативной памяти. Команды TABRDC[m] (текущая страница) и TABRDL[m] (последняя страница) передают содержимое младшего байта кода в указанный регистр m оперативной памяти, а старший байт кода - в регистр TBLH (08H), который доступен только для чтения. Два старших бита в регистре TBLH читаются как 0. Указателем на адрес внутри страницы, из которого будет читаться константа, является регистр TBPL (07H). Все команды загрузки констант выполняются за 2 цикла.

Регистр стека STACK

В регистре стека при передаче управления подпрограммам сохраняется текущее значение счётчика команд PC. Регистр стека имеет два уровня и располагается вне памяти данных. Активный уровень определяется указателем стека (SP). При обращении к подпрограмме содержимое счётчика команд помещается в стек. При завершении подпрограммы содержимое счётчика команд восстанавливается командами возврата RET или RETI. После выполнения сброса микроконтроллера значение SP указывает на верхний уровень стека.

Если стек полон и при этом происходит разрешённое прерывание, устанавливается флаг запроса прерывания, но подтверждения не происходит. При освобождении стека прерывание будет обслужено. Таким образом предотвращается переполнение стека.

Память данных

Память данных состоит из 81 8-битных регистров. Она разделена на две функциональные группы: регистры специальных функций и универсальную память данных (64 регистра). Большинство регистров доступны для чтения и записи, но некоторые доступны только для чтения.

Регистры специальных функций включают в себя регистр косвенной адресации (00H), регистр таймера/счётчика событий (TMR, 0DH), регистр управления таймера/счётчика (TMRC, 0EH), младший байт счётчика команд (PCL, 06H), регистр указателя памяти (MP, 01H), аккумулятор (ACC, 05H), указатель таблицы (TBLP, 07H), регистр старшего байта указателя таблицы (TBLH, 08H), регистр состояния (STATUS, 0AH), регистр управления прерываниями (INTC, 0BH), регистр установки режимов сторожевого таймера (WDTS, 09H), регистры ввода-вывода (PA, 12H; PB, 14H; PC, 16H), регистры управления вводом-выводом (PAC, 13H; PBC, 15H; PCC, 17H). Остальное пространство до адреса 40H зарезервировано для дальнейших расширений, и читается как 00H. Универсальная память данных адресуется, начиная с адреса 40H, и используется для данных и информации управления.

Исключая некоторые специализированные биты, каждый из битов памяти данных может быть установлен или сброшен командами SET[m].i и CLEAR[m].i соответственно. Косвенный доступ к регистрам памяти данных обеспечивается через регистр указателя памяти (MP, 01H).

Регистр косвенной адресации

Расположенный по адресу (00H) регистр косвенной адресации не имеет физической реализации. Любая операция чтения-записи по отношению к этому регистру обеспечивает доступ к регистру памяти данных, адрес которого указан в регистре указателя памяти (MP, 01H). Чтение регистра 00H при косвенной адресации даёт результат 00H. Регистр указателя памяти (MP, 01H) является 7-битным. Старший бит регистра всегда читается как 1.

Аккумулятор

Аккумулятор тесно связан с арифметико-логическим устройством (АЛУ). Он представлен по адресу 05H в памяти данных. Обмен данными между двумя регистрами памяти может быть осуществлён только через аккумулятор.

Арифметико-логическое устройство (АЛУ)

АЛУ выполняет 8-разрядные арифметические и логические операции:

-арифметические действия (команды ADD, ADC, SUB, SBC, DAA),

-логические действия (команды AND, OR, XOR, CPL),



[стр.Начало] [стр.1] [стр.2]