2.Аппаратные средства микропроцессорных САУ.

  1. Структура аппаратных средств.
  2. Одноплатный микроконтроллер "Электроника МС 2702" (Электроника К1-20 ).
  3. Однокристальные микроконтроллеры семейства МК-51 (МСS-51)
  4. Однокристальный микроконтроллер SAB 80515.
    1. Архитектура микроконтроллера.
    2. Особенности внутрикристальной периферии. Таймер 2
    3. Аналого - цифровой преобразователь.
    4. Структура системы прерываний контроллера SAB80515.
  5. Однокристальный микроконтроллер 8ХС196МС.
2.1 Структура аппаратных средств.

На рис. 2.1 показана функциональная схема трехконтурной электромеханической микропроцессорной системы, имеющей обратные связи по току, скорости и положению.
Система условно может быть разбита на три функциональных блока: микроконтроллер, устройство сопряжения с объектом и силовой электромеханический блок.

Рис.2.1. Функциональная схема электромеханической микропроцессорной системы.

Микроконтроллер можно разделить на две части - вычислитель (ВЧС), включающий микропроцессор (CPU), ОЗУ (RAM) и ППЗУ (EPROM) и периферийные устройства, наиболее типичными из которых являются параллельные порты ввода-вывода, таймеры и контроллер прерываний.
УСО обычно содержит оптронные развязки, АЦП с коммутатором и масштабирующими усилителями, датчик тока, преобразователь положения (фазометр) и пр.
Силовой блок содержит вентильный преобразователь (транзисторный или тиристорный), исполнительный двигатель (ДПТ), датчик скорости - тахогенератор и датчик положения, в качестве которого обычно применяется фотодатчик или СКВТ.
В зависимости от степени интеграции микросхем аппаратура микроконтроллера и УСО может быть реализована в виде различных наборов. При недостаточно большой степени интеграции применяемых БИС и СИС, например, при использовании серии КР580, микроконтроллер представляется в виде отдельной платы, а при более высокой степени интеграции в одном корпусе содержатся как вычислительная часть контролера, так и его периферийные устройства (так называемая однокристальная микроЭВМ), а зачастую и элементы УСО - многоканальные АЦП, преобразователи сигналов датчика положения и специальные генераторы управления вентильными преобразователями.

2.2 Одноплатный микроконтроллер "Электроника МС 2702" (Электроника К1-20 ).

Контроллер, упрощенная структурная схема которого показана на рис. 2.2, состоит из следующих функциональных узлов:
       - центральный процессор - 1;
       - устройства памяти - 2,3;
       - контроллер прерываний - 4;
       - устройства параллельного ввода-вывода 5,6;
       - таймер - 7;
       - устройство последовательного ввода-вывода - 8;
       - пульт управления - 9.
Вычислительная часть контроллера содержит микропроцессор К580ИК80, ОЗУ КР565РУ2 объемом 1 Кбайт, ППЗУ пользователя объемом 12 Кбайт на основе микросхем К573РФ5. Распределение адресного пространства памяти приведено в таблице 2.1.

Таблица 2.1. Распределение поля памяти.
 
Банк ЗУ
Поле адресов 
Назначение 
1 банк
2000-23FF
 ОЗУ КР566РУ2 1кбайт
2 банк
 5000-57FF
 ППЗУ К573РФ5 2кбайт
3 банк
5800-5FFF
ППЗУ К573РФ5 2кбайт
 4 банк
 6000-67FF
ППЗУ К573РФ5 2кбайт
 5 банк
6800-6FFF
ППЗУ К573РФ5 2кбайт
6 банк
7000-77FF
ППЗУ К573РФ5 2кбайт
7 банк
7800-7FFF
ППЗУ К573РФ5 2кбайт
 
 Периферийные устройства КПУ, через которые контроллер организует связь с объектом управления, включают в себя контроллер прерывания (К580ВН59), обрабатывающий сигналы от 8 источников прерываний, таймер К580ВИ53 и универсальный синхронно-асинхронный последовательный приемопередатчик К580ВВ51 для связи с ЭВМ верхнего уровня.
Рис. 2.2. Функциональная схема микроконтроллера "Электроника МС2701"

Распределение пространства адресов ввода-вывода приведено в табл. 2.2.
Контроллер МС 2702 имеет пульт управления (ПУ), связанный с системной магистралью через параллельный порт К580ВВ55 и содержащий клавиатуру и цифровую индикаторную панель. С помощью пульта управления и резидентного программного обеспечения (монитора), хранящегося в постоянной памяти, можно выполнять команды чтения и записи информации в ОЗУ и регистры ПУ, а также осуществлять запуск и трассировку программ пользователя, что позволяет создавать и отлаживать программы управления непосредственно с помощью аппаратуры контроллера.
Микроконтроллер "Электроника МС 2702" относится к микропроцессорным средствам общего назначения и может быть использован в составе систем управления технологическими процессами, не требующими высокого быстродействия, так как обладает невысокой разрядностью (8 разрядов), а из-за сравнительно низкой тактовой частоты - 2МГц - период квантования при управлении объектом не может быть сделан, в зависимости от сложности алгоритма управления, менее 1 - 5 мс.

Таблица 2.2. Распределение адресов регистров устройств ввода-вывода
 
 Наименование БИС Наименование 
Внутренних регистров БИС
 Адрес (Н-код) 
1 Таймер К580ВИ53 Таймер-0 
Таймер-1 
Таймер-2 
РУС (регистр управляющего слова)
Е0 
Е1 
Е2 
Е3
2 Параллельный порт 1 
К580ВВ55
Канал А 
Канал В 
Канал С 
РУС 
 F4 
 F5 
F6 
 F7 
3 Параллельный порт 2 
К580ВВ55
Канал А 
Канал В 
Канал С 
РУС
 F0 
F1 
 F2 
F3
4 Пульт управления 
К580ВВ55 
А - сегмент 
В - код клавиши 
С - номер позиции 
РУС
Е4 
Е5 
Е6 
Е7
5  Последовательный порт К580ВВ51 Данные 
Инструкция режима, 
Инструкция команды
F8,FA 
F9,FB
6 Контроллер прерываний К580ВН59 СКИ 1 
СКИ 2,СКО 2
FE,FC 
FF,FD 
 
2.3 Однокристальные микроконтроллеры семейства МК-51(МСS-51).

Базовой моделью семейства микроконтроллеров фирмы INTEL MCS-51 является микроконтроллер 8051, структурная схема которого приведена на рис. 2.3.
Контроллер содержит следующие функциональные узлы:
   - 8-разрядное центральное процессорное устройство (CPU), приспособленное для применения в устройствах управления;
   - внутреннюю память программ объемом 4 Кбайт;
   - внутреннюю память данных объемом 128 байт;
   - четыре восьмиразрядных порта, которые могут быть настроены индивидуально на ввод или вывод информации. При наличии внешней памяти программ или данных через порты Р0 и Р2 организуется магистраль адрес/данные с адресным пространством 64К, как показано на рис. 2.3;
   - два 16-разрядных таймера-счетчика;
   - дуплексный последовательный порт;
   - внутренний тактовый генератор с частотой 12, 16, 20, 24 МГц;
   - шестивходовую двухуровневую пятивекторную систему прерываний с двумя внешними входами запросов
прерывания

.
Рис. 2.3. Структурная схема базовой модели однокристальной микро-ЭВМ семейства MCS-51.

Семейство MCS-51 содержит большое количество разновидностей (ветвей), отличающихся объемом внутренней памяти данных и программ, тактовой частотой, разнообразием периферийных устройств внутри кристалла (количество таймеров, портов ввода-вывода, наличие АЦП, количество запросов на прерывание и т.д.).
Основные данные о микропроцессорах семейства MCS-51 приведены в таблице 2.3.
Линий запроса прямого доступа к памяти контроллеры не имеют.
Контроллеры семейства 8051, 8052, 80CS51 имеют четыре различные варианта исполнения, представленные в таблице 2.4.
Отечественным аналогом микроконтроллера 8051АН является однокристальная микроЭВМ К1816ВЕ51, а аналогом контроллера, не имеющего внутренней памяти программ - 8031АН - микроЭВМ К1816ВЕ31.
Рассмотрим организацию контроллера МК51 на примере однокристальной микроЭВМ К1816ВЕ51. Микроконтроллер К1816ВЕ51 конструк тивно выполнен в корпусе, имеющем 40 выводов, как изображено на рис. 2.4. Назначение выводов микросхемы приведено в таблице 2.5.

Таблица 2.3. Основные данные микроконтроллеров семейства MCS-51.
 
Тип
Объем внутр. ПЗУ (Кбайт) 
Объем внутр. ОЗУ Данных (байт)
F такт, (МГц) 
 УВВ
Кол-во источн. прерыв.
Кол-во каналов РСА
Кол-во каналов АЦП
8051
8052
80С51
0-4 
0-8
0-4 
128
256 
128
12
12
12, 16
 32 
32
32
5
6
5
 0
  0 
 0
-
8ХС52 8ХС54 8ХС58 8XL52 8XL54 8XL58
0-32
 
8-32
256
 
256
12,16,
20,24
12,16,
20
32
 
32
 6
 
6
  0 
 
0
 -
 
8ХС51FA 8XC51FB 8XC51FC 8XL51FA 8XL51FB 8XL51FC
 0-32
 
0-32
256
 
256 
12-24 
 
12,16, 
20
 32
 
32
 7 
 
7
 5 
 
5
 
  8XC51GX
0-8
256 
12,16
48 
15 
10 
 8
 8XC152
0-8
 256
16.5
 40-56
11
-
8XC51SL
 0-16
256
16 
24
10
 
       Таблица 2.4. Микроконтроллеры семейства MCS-51.
 
Тип
Вариант без Памяти Программ
Вариант с EPROM 
Объем внутр. ПЗУ
Объем внутр. ОЗУ, байт
Кол-во таймеров
Технол. изгот
8051AH
8031AH 
8751H/BH 
4K 
128 
2
HMOS
8052AH
8032AH
8752BH 
8K
256 
3
HMOS 
KP1816BE51
KP1816BE31
KP1816BE751
4K
128
2
n-MOП 
80C51BH
80C31BH 
87C51 
4K
128 
2
  CHMOS
KP1830BE51 
KP1830BE31
KP1830BE751 
4K 
128
 2
 KMOП
 
                 Таблица 2.5. Назначение выводов микросхемы КР1816ВЕ51.
 
Номера Контактов 
Обозначение
Назначение
1-8
1-8 Р1.0 - Р1.7 
Входы-выходы порта Р1
9
 RST/VРD 
Cброс/питание холостого хода 
10
RXD
 Вход приемника
11
ТXD
Выход передатчика
12
INT0
Запрос прерывания 0 (ЗПР 0)
13
INT1 
Запрос прерывания 1 (ЗПР 1) 
14
Т0
Вход таймера/счетчика 0
15
Т1 
Вход таймера/счетчика 1
16
WR
Сигнал записи во внешнее ОЗУ
17
RD
Сигнал чтения внешнего ОЗУ
18-19
Х1,Х2 
Подключение внешнего резонатора 
20
Uss
"Земля" (Общий вывод И.П.) 
21-28
P2.0-P2.7
Входы-выходы порта P2
29
 PSEN
Активация внешней памяти программ 
30
ALE
Строб фиксации адреса внешней памяти
31
ЕA/ Uprog
Активация внутренней памяти программ / программирование внутренней памяти программ 
32-39
Р0.7-Р0.0 
 Входы-выходы порта Р0
40
Ucc
Питание + 5В
 
   Контроллер состоит из следующих функциональных узлов:
  - АЛУ (арифметико-логическое устройство);
  - резидентных памяти программ (РПП) и памяти данных (РПД);
  - регистров специальных функций (РСФ);
  - портов параллельного и последовательного ввода-вывода;
  - таймеров;
  - системы прерывания.
АЛУ МК51 реализует достаточно мощную систему команд, включающую команды умножения, деления, вычитания, выполнения операций над битами, команды управления. Большинство команд имеют формат один или два байта и выполняются за один или два машинных цикла длительностью 1 мкс (при тактовой частоте 12 МГц).
Память программ и память данных физически и логически разделены. Кроме того, к адресному пространству РПД примыкает адресная об-ласть регистров специальных функций, включающая в себя: аккумулятор (АСС), слово состояния программы (PSW), указатель стека (SP), указатель данных (DPTR), порты (Р0-Р3), регистр приоритетов (IP), регистр маски прерываний (IE), регистр режимов таймеров-счетчиков (TMOD), таймеры-счетчики (Т0, Т1), регистр управления и буфер приемопередатчика (SCON и SBUF) и др.
Рис 2-4. Расположение и обозначение выводов КМ1816ВЕ51.

Для побайтового ввода-вывода информации в МК51 могут быть использованы четыре порта (Р0-Р3). Помимо того, выводы порта Р3 (контакты 10-17) могут быть настроены для реализации альтернативных функций (см.табл.2.5) записью в соответствующие разряды порта логической единицы. В случае применения внешней памяти данных (ВПД) или программ (ВПП) используются выходные буферы портов Р0 и Р2. При этом через порт 0 в режиме мультиплексирования выводится младший байт адреса ВПД или ВПП, а затем осуществляется передача данных. Если разрядность адреса составляет более 8 бит, то через порт Р2 происходит выдача его старших разрядов.
Специальный сброс МК51 осуществляется подачей единицы на вход RST в течение по меньшей мере двух машинных циклов. При этом сбрасывается содержимое счетчика команд и всех регистров специальных функций, в регистр указателя стека записывается число 07Н, а в порты - 0FFH. После снятия сигнала RST запускается программа по адресу 0000H.
Упрощенная схема прерываний МК51 приведена на рис. 2.5.

Рис. 2.5. Упрощенная схема реализации прерываний МК-51.

Внешние прерывания INT0 и INT1 могут быть вызваны либо низким логическим уровнем, либо переходом из 1 в 0 на входах МК51 в зависимо-сти от значений IT0 и IT1 - управляющих бит, представленных в регистре TCON (timer control register - регистр управления таймерами) разрядами TCON.0 и TCON.2. При появлении запросов от внешних источников прерываний устанавливаются флаги IE0 и IE1 в разрядах TCON.1 и TCON.3.
При переполнении таймеров устанавливаются флаги запроса прерываний от таймеров TF0 и TF1 (TCON.5 и TCON.7), которые сбрасываются автоматически при передаче управления программе обслуживания прерываний. Флаги запросов на прерывания от приемника и передатчика - RI и TI - устанавливаются универсальным приемопередатчиком и должны сбрасываться программно .
Два регистра специальных функций IE и IP позволяют управлять режимами прерываний и уровнями приоритета. Каждому запросу соответствует адрес вектора прерывания в поле адресов памяти программ (см. рис. 2.5). По адресу вектора прерывания должна быть записана команда безусловного перехода (JMP) к подпрограмме обслуживания прерывания. Возврат в основную программу осуществляется по команде RETI. Подробно с организацией работы однокристальной микроЭВМ типа К1816ВЕ51 можно познакомиться в [2].

2.4 Однокристальный микроконтроллер SAB 80515.
 

2.4.1 Архитектура микроконтроллера.

Однокристальный микроконтроллер фирмы Siemens SAB 80515 является дальнейшим развитием базовой архитектуры микроконтроллеров семейства INTEL MCS 8051.Функциональная и структурная схема микроконтроллера SAB 80515 приведены на рис. 2.6 и рис. 2.7. Как видно из

Рис. 2.6. Функциональная схема микроконтроллера SAB 80515.

этих схем, контроллер имеет расширенные возможности по сравнению с базовой архитектурой, которые заключаются в следующем:
  -увеличен объем внутренней памяти программ до 8 Кбайт;
  -увеличено количество портов ввода-вывода до шести;
  -добавлен третий таймер (Timer 2) c дополнительными функциями;
  -имеется восьмиканальный аналогово-цифровой преобразователь (A/D);
  -добавлен сторожевой таймер (watchdog), что создает дополнительные удобства для применения контроллера  в системах управления динамическими объектами;
  -кроме того, расширена система прерываний.
Архитектура и структура микроконтроллера совместима с базовой системой. Так порты Р0 и Р2 имеют такую же дополнительную функцию, как организация магистрали адрес/данные для внешней памяти и внешних устройств. Порт Р3 имеет те же альтернативные функции, что и в базовой модели. В отличии от базовой модели порт Р1 здесь имеет альтернативные функции, связанные с захватом-привязкой внешних событий, которая осуществляется дополнительным таймером 2.

Рис. 2.7. Структурная схема микроконтроллера SAB 80515

Организация адресного пространства контроллера такая же, как и в базовой модели с некоторыми расширениями, вызванными появлением дополнительных возможностей. Так нижняя часть адресного пространства памяти программ отводится под хранение векторов прерывания в том же порядке, как и в базовой модели, но с увеличением количества векторов прерывания с пяти до двенадцати. Верхняя часть адресного пространства внутренней памяти данных, также отводится под регистры специальных функций, причем адреса с 80Н по В0Н - под регистры периферии общие с

Таблица 2.6. Регистры специальных функций.
 
Обозначение
Наименование 
Адрес 
1*
2
P0
SP
Порт 0.
Указатель стека
80H
81H
3
4
DPL
DPH
Указатель данных мл.байт:
ст.байт:
82H
83H
5
6*
PCON
TCON
Регистр управления питанием
Регистр управления таймерами
87H
88H
7
8
TMOD
TL0
Регистр режимов таймеров
Регистр таймера 0, мл. байт
89H
8AH
9
10
TL1
TH0
Регистр таймера 1, мл. байт
Регистр таймера 0, ст. байт
8BH
8CH
11
12*
TH1
P1
Регистр таймера 1, мл. байт
Порт 1
8DH
90H
13*
14
SCON
SBUF
Регистр управления последовательным портом
Буфер последовательного порта
98H
99H
15*
16*
P2
IEN0
Порт2
Регистр разрешения прерываний 0
A0H
A8H
17
18*
IP0
P3
Регистр приоритетов 0
Порт3
A9H
B0H
19
20
IEN1
IP1
Регистр разрешения прерываний 1
Регистр приоритетов 1
B8H
B9H
21*
22
IRCON
CCEN
Регистр управления разрешения прерываний.
Регистр разрешения захвата/привязки
C0H
C1H
23
24
CCL1
CCH1
Регистр захвата/привязки 1 мл. байт
ст. байт
C2H
C3H
25
26
CCL2
CCH2
Регистр  захвата/привязки 2 мл. байт
ст. байт
C4H
C5H
27
28
CCL3
CCH3
Регистр  захвата/привязки 3 мл. байт
ст. байт
C6H
C7H
29*
30
31
T2CON
CRCL
CRCH
Регистр управления таймерами 2
Регистр  захвата/загрузки/привязки  мл. байт
ст. байт
C8H
CAH
CBH
32
33
TL2
TH2
Регистр таймера 2, мл. байт
ст. байт
CCH
CDH
34*
35
PSW
ADCON
Регистр состояния программы
Регистр управления АЦП
D0H
D8H
36
37
ADDAT
DAPR
Регистр данных АЦП
Регистр программирования АЦП
D9H
DAH
38*
39*
ACC
P4
Аккумулятор
Порт4
E0H
E8H
40*
41*
B
P5
Регистр В
Порт5
F0H
F8H
        * Регистры, к которым возможно побитовое обращение.

регистрами базовой функции, а с В8Н по F8H - дополнительные регистры специальных функций контроллера SAB 80515. Перечень регистров специальных функций приведен в таблице 2.6.

2.4.2 Особенности внутрикристальной периферии. Таймер 2.

Рассмотрим более подробно некоторые особенности дополнительной внутрикристальной периферии контроллера SAB 80515.
Таймер 2 может функционировать как таймер, счетчик событий и управляемый таймер, кроме того, он может выполнять перезагрузку счетчика, осуществлять сравнение кодов таймера и четырех 16-ти разрядных регистров. Таким образом, таймер 2 представляет собой довольно сложное устройство, структурная схема которого показана на рис. 2.8.

Рис. 2.8. Структурная схема таймера 2.
Он содержит в своем составе следующие регистры:
  - CCN - регистр разрешения захвата/привязки.
  - T2CON - регистр управления таймером 2
  - TL2, TH2 -двухбайтный регистр сравнения/перезагрузки/захвата.
  -CRCL, CRCH - двухбайтный регистр сравнения/перезагрузки/захвата.
А также три 16-ти разрядных регистра захвата/привязки - CCL1, CCH1; CCL2, CCH2; CCL3, CCH3.
В качестве входов/выходов этой системы используются альтернативные выводы порта Р1, имеющие следующие назначения:
  Р1.0//CC0 - выход привязки/вход захвата для СRC
  Р1.1/INT4/CC1 - выход привязки/вход захвата для СC1
  Р1.2/INT5/CC2 - выход привязки/вход захвата для СC2
  Р1.3/INT6/CC3 - выход привязки/вход захвата для СC3
  Р1.4/ - вход внешнего прерывания 2
  Р1.5/Т2EX - внешний вход перезагрузки таймера
  Р1.7/T2 - внешний счетный вход или вход управления таймера 2
Как обычно, чтобы использовать альтернативные функции этих выводов необходимо предварительно записать "1" в соответствующие защелки порта Р1.
Рис. 2.9. Таймер 2 в режиме сравнения.
Как видно из схемы, на счетный вход таймера могут подаваться импульсы от внутреннего генератора с частотой деленной на 12 -Fosc/12, ко-торая в свою очередь может еще быть поделена на 2, или импульсы с внешнего входа P1.7 и, кроме того, вход Р1.7 может быть использован как стробирующий вход управления (GATE ) при работе в режиме таймера.
Таким образом, таймер может работать в режиме собственно таймера, инкрементируясь каждый машинный цикл или через один, а также в режиме счетчика внешних событий. При работе в режиме таймера возможно управление счетом с внешнего входа Р1.7/Т2 так, что значение Т2 = 1 разрешает счет, а Т2=0 останавливает.
Настройка таймера на различные режимы определяется кодом, записываемым в регистр управления Т2CON с адресом 0С8Н, назначение разрядов которого приведено в таблице 2.7.
Как указывалось выше, таймер 2 может работать в режиме захвата/привязки, суть которого заключается в следующем.
Таблица 2.7.Регистр управления таймера 2.
 
T2PS
I3FR
I2FR
T2R1
T2R0
T2CM
T2I1
T2I0
Бит
CFH
CBH
CDH
CCH
CBH
CAH
C9H
C8H
Адрес
 
 
Символ Позиция Функция
T2I0 

T2I1

T2CON0 

T2CON1

Выбор входа таймера 2
T2I0 T2I1 Режим входа
0 0 Нет входа, таймер выключен
0 1 Режим неуправляемого таймера
1 0 Режим счетчика внешних событий
1 1 Режим управляемого таймера
T2CM T2CON2 Бит режима сравнения
T2R0 

T2R1

Выбор режима перезагрузки
T2R0 T2R1 Режимы перезагрузки
0 Х Перезагрузка запрещена
1 0 Режим 0 автоперезагрузка
1 1 Режим 1 Внешняя перезагрузка
I2FR 

I3FR

T2CON5 

T2CON6

Настройка установки флагов прерываний IEX2 и IEX3 от внешних прерываний INT2 и INT3. При "0" установка флага по спаду, а при "1" - по фронту, входного напряжения
T2PS T2CON7 Бит деления входной частоты на 2. При T2PS =1 происходить деление на 2. При работе в режиме счетчика T2PS =0,
В режиме привязки формируется внешнее событие на выводах Р1.0 - Р1.3, привязанное к определенным временным меткам. Это реализуется путем сравнения кода, формируемого в таймере, с кодами, занесенными программным путем в регистры захвата /привязки CCR и СС1-3. При равенстве кодов происходит установка соответствующего триггера защелки пор-та P1 в состояние "1",сброс этого триггер происходит при переполнении таймера, как показано на рис. 2.9
Рис. 2.10. Таймер 2 в режиме захвата.

В режиме захвата внешнего события выводы порта Р1.0 - Р1.3 работают на ввод и при возникновении внешнего события - изменения напряжения на ножках Р1.0 - Р1.3 вверх или вниз - происходит перезапись кода из регистра таймера в соответствующий регистр захвата/привязки, как показано на рис. 2.10.

Таблица 2.8. Регистр разрешения захвата/привязки CCEN(0C1H)
 
7 6 5 4 3 2 1 0
Режим CCR3 Режим CCR2 Режим CCR1 Режим CRC
 
Бит
Режимы
Нечетный
Четный
 
0
0
0
1
Захват/привязка запрещена 
Режим захвата внешнего события
1
1
0
1
Режим сравнения (привязки) 
Режим чтения "на лету"
Существуют две модификации режимов захвата/привязки. В режиме "0" описанные выше действия осуществляются чисто аппаратно, а в режимах "1" это осуществляется с помощью команд программы, что позволяет формировать выходное событие с управлением от программы и произво-дить чтение данных с таймера на лету и фиксировать в регистрах захвата/привязки
Настройка режимов захвата/привязки осуществляется с помощью записи соответствующих битов в регистр разрешения захвата/привязки CCEN с адресом 0С1Н, значения разрядов которого указаны в таблице 2.8.

2.4.3 Аналого - цифровой преобразователь.

Функциональная схема внутрикристального многоканального АЦП микроконтроллера SAB80515 показана на рис. 2.11. Она содержит три регистра специальных функций:
  -ADCON - регистр управления АЦП;
  -ADDAT- регистр данных АЦП;
  -DAPR- регистр программирования ЦАП;
Последний вместе со встроенным ЦАП служит для программного изменения опорных напряжений АЦП, что позволяет программировать диапазон преобразуемых напряжений.
Регистр управления АЦП ADCON служит для управления входным мультиплексором, установки работы АЦП и фиксации бита готовности.
Назначение битов регистра ADCON представлены в таблице 2.9.
 

7
6
5
4
3
2
1
0
Бит
BD
CLK
0
BSY
ADM
MX2
MX1
MX0
 
 
MX0
MX1
MX2
№ канала 
ADM
0 - режим одиночный 1- режим непрерывный
BSY
Флаг занятости
CLK
Подключение частоты 1/12 к выводу Р1.6
BD
Управление режимом последовательного порта 
Таблица 2.9.Назначение битов регистра ADCON.
Регистр данных AЦП АDDAT служит для хранения байта данных ре-зультата аналого-цифрового преобразования. Данные остаются в регистре до следующей перезаписи. Новые данные появляются в ADDAT в 15-ом машинном цикле после начала преобразования. Регистр ADDAT доступен и по чтению и по записи, поэтому, если АЦП не используется, то ADDAT может быть использован как регистр общего назначения. Регистр специальных функций DAPR предназначен для программирования внутреннего опорного напряжения АЦП. При этом может изменяться как внутренняя
Рис. 2.11. Функциональная схема АЦП микроконтроллера SAB 50515

"земля" относительно внешней, так и положительное напряжение также относительно внешней земли. Значения этих напряжений с шагом 1/16 от внешнего опорного напряжения задаются в регистре DAPR, причем четыре младших разряда задают напряжение внутренней "земли" IVAGND, а четыре старших - значение внутреннего опорного напряжения IVAREF. При внешнем опорном напряжении VAGND =0, а VAREF=+5B шаг будет равен 5/16 = 0,3125В.
На программируемое напряжение накладывается ограничение такое, что разность между внутренними напряжениями IVAGND и IVAREF не должна быть меньше 1В, т.е. разность между кодами должна быть не менее четырех шагов. Для удобства при коде 00, записанном в DAPR, внутреннее напряжение равняется внешнему (0-5)В.
Возможность программирования внутреннего опорного напряжения позволяет согласовать его с диапазоном внешних преобразуемых напряжений и таким образом сохранять точность преобразования при различных диапазонах входных сигналов. Кроме того, при изменении входного сигнала в полном диапазоне 0-5 В возможно увеличение разрядности преобразова-ния до 10-ти двоичных разрядов с помощью выполнения повторного преобразования, производимого после подгонки диапазона по результатам первого преобразования. При этом первое преобразование дает четыре старших разряда, которые должны быть записаны в младший полубайт регистра DAPR для подгонки диапазона, а затем следующее преобразование дает следующий результат, из которого шесть старших разрядов являются значащими.
Процедура преобразования начинается с операции обращения к регистру DAPR -операция "write-to-DAPR". При этом, если не изменяется диапазон опорных напряжений, т.е. в DAPR пишется код 00Н, то преобразование происходит за 15 машинных циклов, т.е. при частоте 12мГц составляет 15 мкс. При этом в течении первых пяти машинных циклов (5 мкс) происходит выборка и фиксация преобразуемого сигнала, а затем уже его преобразование. Источник входного сигнала должен быть достаточно мощным, чтобы зарядить входную емкость 25пФ в течение 5 мкс. Перепрограммирование каждого внутреннего опорного напряжения требует дополнительно семь машинных циклов. Таким образом, максимальное время преобразования при программировании обоих внутренних опорных напряжений составляет 29 машинных циклов т.е. 29 мкс.
В течение всего цикла преобразования бит занятости BSY находится в состоянии "1" и сбрасывается только по окончании преобразования, при этом также выставляется флаг запроса прерывания IADC. Если в АЦП уста-новлен режим непрерывного преобразования, то он переходит к выполне-нию нового цикла преобразования, в противном случае останавливается до следующей операции "write-to-DAPR".

2.4.4 Структура системы прерываний контроллера SAB80515.

Система прерываний контроллера SAB80515 имеет двенадцать источников прерываний и четыре уровня приоритетов. Все источники прерываний организованы в шесть пар, как представлено в таблице 2.10.

1 Внешнее прерывание 0 Прерывание от АЦП
2 Прерывание от таймера 0 Внешнее прерывание 2
3 Внешнее прерывание 1 Внешнее прерывание 3
4 Прерывание от таймера 1 Внешнее прерывание 4
5 Прерывание от посл. порта Внешнее прерывание 5
6 Прерывание от таймера 2 Внешнее прерывание 6
Таблица 2.10. Источники прерываний.
Структура источников прерываний показана на рис. 2.12 а,б.
Некоторые из этих источников прерываний вызываются одним или двумя внешними или внутренними событиями. Каждый из источников пре-рываний имеет свой вектор прерывания, расположенный в памяти программ по адресам 00-6BH как показано в таблице 2.11.
Внешние прерывания и могут активизироваться либо уровнем сигнала, либо отрицательным переходом, в зависимости от значения бит IT0 и IT1 в регистре управления таймером ТСОN. Флаги, устанавливаемые этими прерываниями, являются биты IE0 и IE1 в том же регистре ТСОN. Если внешнее прерывание вызывается отрицательным переходом, то соответствующий флаг сбрасывается при переходе к программе обслуживания. Если прерывание активизируется уровнем, то он и определяет значения соответствующего флага.
Источник
Адрес вектора
IE0
0003H
TF0
000ВH
IE1
0013H
TF1
001BH
RI+TI
0023H
TF2+EXF2
002ВH
IADC
0043H
IEX2
004BH
IEX3
0053H
IEX4
005BH
IEX5
0063H
IEX6
006BH
Таблица 2.11. Адреса векторов прерываний.

Прерывания от таймеров 0 и 1 вызывается флагами TF0 и TF1, которые устанавливаются переполнением сигналов таймеров. Эти флаги также сбрасываются автоматически после вызова программы обслуживания.
Прерывания от последовательного порта RI и TI могут исходить от приемника RI или передатчика TI, поэтому они не сбрасываются автоматически, а программа обслуживания должна опросить эти флаги для окончательного определения источника прерывания, а затем сбросить их.
Флаг прерывания от АЦП IADC в регистре IRCON должен быть сброшен программой обслуживания.
То же самое относится и к прерываниям от переполнения таймера 2 и внешнего прерывания от Р1.5, которые выставляют флаги TF2 и EXF2 в регистре IRCON.
Внешнее прерывание  может быть активизировано либо положительным, либо отрицательным переходом в завиcимости от значения бита I2FR в регистре T2CON. Это преобразование устанавливает флаг IEX2 в регистре IRCON, которые сбрасываются автоматически при вызове программы обслуживания.

Рис. 2.12(а). Структура источников прерываний.

Внешнее прерывание  также, как и ,  может активизироваться либо положительным, либо отрицательным переходом в зависимости от значения бита I3FR в регистре T2CON. Оно устанавливает флаг IEX3 в регистре IRCON, который также сбрасывается автоматически. Этот флаг может быть также установлен при возникновении сигнала привязки на выводе P1.0.Внешние прерывания INT4, INT5 и INT6 активизируются положительным переходом. Они устанавливают флаги IEX4, IEX5 и IEX6 в регистре IRCON, которые также сбрасывается автоматически. Эти флаги также могут быть установлены сигналами привязки СС1, СС2, СС3, возникающими на выводах P1.1, P1.2 и P1.3.

Рис. 2.12(б). Структура источников прерываний.

Все биты, устанавливаемые прерываниями, кроме IE0 и IE1, могут быть установлены или сброшены программным способом, и таким образом выполнять функции программных прерываний.
Кроме того, все прерывания могут быть индивидуально и все сразу запрещены с помощью регистров IEN0 и IEN1, формат которых показан на рис. 2.13.
Существует также двойной регистр установки уровней приоритетов IP0 (0A9H) и IP1(0B9H).
Регистр IEN0 (0A8H)

Регистр IEN0 (0A8H)
EAL WDT ET2 ES ET1 EX1 ET0 EX0 Бит
Регистр IEN1 (0В8H)
EXEN2 SWDT EX6 EX5 EX4 EX3 EX2 EADC Бит
Регистр управления прерываниями IRCON(0C0H)
EXF2 TF6 IEX6 IEX5 IEX4 IEX3 IEX2 IADC Бит
0C7H 0C6H 0C5H 0C4H 0C3H 0C2H 0C1H 0C0H Адрес
Рис. 2.13. Формат регистров разрешения прерывания.

Структура системы разрешения и приоритетов прерываний показана на рис. 2.12, из которого видно назначение основных разрядов регистров IEN и IP

2.5 Однокристальный микроконтроллер 8ХС196МС.

16-разрядный микроконтроллер 8ХС196МС предназначен для управления быстрыми процессами, характерными для электродвигателей и силовых электронных преобразователей, их питающих. Блок-схема контроллера показана на рис. 2.14. У него имеются довольно мощная вычислительная часть, содержащая центральный процессор (CPU), регистровое ОЗУ (RAM) объемом 512 байт и внутреннюю память программ (типа EPROM) объемом 16 Кбайт, а также разветвленная внутренняя периферия - аналого-цифровой преобразователь (ADC), контроллер событий (EPA), два таймера, 3-х фазный генератор периодических сигналов (WG) и широтноимпульсный модулятор (PWM) [3 - 4].
Центральный процессор содержит регистровое арифметико-логическое устройство (RALU) и 512-битовый регистровый файл (RF), который делится на две части: нижнюю (LRF) и верхнюю (URF). Нижний файл содержит 24 байта регистров специальных функций и 232 байта RAM, к которым может непосредственно обращаться RALU и их можно считать своего рода регистрами общего назначения, заменяющими аккумулятор. CPU является 16-разрядным и соединен с контроллерами прерываний и памяти через 16-разрядную шину. Система команд базируется на системе команд 8096ВН. Она использует различные типы адресации и включает полный набор арифметических и логических команд для 8- и 16-разрядных данных. 32-разрядные типы данных поддерживаются для результатов умножения 16-разрядных чисел, деления 32-разрядных чисел на 16-разрядные и операций сдвига.
Контроллер имеет гибкую систему прерываний, в которой, кроме традиционного программируемого контроллера прерываний, имеется периферийный сервер транзакций (PTS). PTS имеет несколько программ обслуживания прерываний, реализованных на микропрограммном уровне. В результате реализуется высокоскоростная обработка некоторых типов прерываний. PTS выполняет одиночные и массовые передачи байтов и слов между областями памяти, управляет аналого-цифровым преобразованием множества сигналов, а также поддерживает обмен по последовательному каналу.
Внутрикристальная периферия обеспечивает выполнение функций ввода-вывода и обслуживается с помощью регистров специальных функций.

Рис. 2.14.Блок схема микроконтроллера 8ХС196МС.

Контроллер событий (EPA) реализует функции ввода-вывода, связанные с таймерами 1 и 2. В режиме ввода EPA осуществляет "захват" события, отмечая по таймеру время, когда оно произошло. В режиме вывода EPA реализует "привязку" события к заданному промежутку времени, переключая состояние выхода по времени, задаваемому таймером. Применяется для измерения с использованием частотных инкрементных датчиков.
Генератор периодических сигналов (WG) формирует 3 пары взаимосвязанных импульсно-модулированных сигналов. Он используется для управления 3-фазными двигателями переменного тока, вентильными и шаговыми двигателями.
Широтно-импульсный модулятор (PWM) является дополнением к генератору периодических сигналов. Рабочий цикл и период каждого из двух выходов PWM программируется посредством 8-разрядного регистра периодов. Выходы блока PWM управляются разрядами специального регистра в блоке генератора периодических сигналов.
13-канальный аналого-цифровой преобразователь (ADC) может осуществлять 10-разрядное или быстрое 8-разрядное преобразование. Возможен режим сканирования каналов ADC c помощью сервера транзакций. Предусмотрена также возможность программного контроля и коррекции сдвига нуля.
Микроконтроллер имеет 7 портов ввода-вывода. Порты 0 и 1 используются как входы 13-канального ADC. Порт 2 может быть использован для специальных функций. Порт 6 - выходной порт PWM и WG. Порт 3 и порт 4 могут быть использованы в качестве 16-разрядной внешней шины адрес/данные. Отдельные выводы портов мультиплексируются и могут обслуживать стандартные средства ввода-вывода.