Скачиваний:
48
Добавлен:
21.02.2014
Размер:
839.17 Кб
Скачать

1 Анализ технического задания

Управляющая микроЭВМ проектируется на базе однокристального МП или однокристальной микроЭВМ К1816ВЕ51 и включает в себя основные устройства: процессорный модуль, память ОЗУ и ПЗУ, устройства параллельного ввода/вывода для связи с объектом управления, блок последовательного канала для связи с ЭВМ верхнего уровня, программируемый системный таймер, контролер прерываний, контролер прямого доступа в память, пульт управления.

Все модули системы объединяются интерфейсом (магистралью), требованию к которому определяются заданным типом микропроцессора – К1816ВЕ51. Обмен данными может осуществляться как в едином адресном пространстве, так и в разделенном с помощью управляющих сигналов обращения к ВУ и ЗУ.

Процессорный модуль включает в себя микропроцессор и дополнительные БИС: тактовый генератор, шинные формирователи, регистры защелки и др.

Устройства ввода для связи с ОУ должны обеспечить ввод в процессорный модуль значения х1, х2, х3, х4с двоичных датчиков, а также 8 –разрядных двоичных кодовNU1,NU2,NU3, принимаемых с выхода АЦП. Сигнал датчика в аварийной ситуации ха воспринимается только подсистемой прерываний.

Устройства вывода должны обеспечить выдачу двоичных управляющих воздействий у1, у2, у3определенной длительности и кода управляющего напряжения У4– 8 – разрядного двоичного вектора на вход ЦАП. В структуру ОУ входит устройство принимающее массив данных из ПЗУ(ОЗУ) в режиме прямого доступа в память (ПДП). Запрос на ПДП возникает асинхронно по отношению к процедуре управления.

Пульт управления должен обеспечивать ввод в ПМ значения 8 – разрядной двоичной константы К, ввод двоичного значения сигнала «СТОП», формирование сигнала начальной установки системы, вывод на светодиодную

индикацию значений х1, х2, х3, х4, у1, у2, у3,NU1, У4.

Системный таймер должен обеспечивать отсчет временных задержек, реализуемых при работе алгоритма управления.

Блок последовательного обмена предназначен для передачи на микроЭВМ верхнего уровня информации о состоянии процесса управления. По запросу со стороны микроЭВМ разрабатываемая управляющая микроЭВМ должна обеспечивать выдачу по последовательному каналу кадра. Передача информации с верхнего уровня не предусмотрена.

Контролер прерываний обеспечивает фиксацию запросов от различных источников и дисциплину обслуживания запросов.

Алгоритм управления определяется функциями:

у112&|Х34,t1=10 мкс,

где Х1234 – значения с двоичных датчиков;

у2=NU1-NU2+К,t2=50 мксt3=45 мкс,

где NU1,NU2 – 8-разрядные двоичные коды;

t1,t2,t3– длительность управляющих сигналов.

Блок памяти реализуется на БИС следующих типов: БИС ОЗУ – К565РУ8, БИС ПЗУ – К556РТ5.

2 Разработка процессорного модуля и интерфейса

2.1 Анализ структуры цп к1816ве51

В состав однокристального МК К1816ВЕ51 (рисунок 1) входит 8-разрядный ЦП, управляющее ПЗУ, внутреннее ОЗУ данных, 32 линии прямого ВВ, четыре тестируемых входа, канал последовательного ВВ, два или три 16-разрядных таймера/счетчика Т и логика двухуровневой системы прерываний с пятью или шестью источниками запросов. Эти средства образуют резидентную часть МК, размешенную непосредственно на кристалле. Базовая организация предоставляет встроенные средства расширения своих ресурсов, которые предусматривают либо реализацию вне кристалла всей памяти программ, либо расширение памяти, имеющейся внутри кристалла до 64К байт. Имеется возможность подключения дополнительной внешней памяти данных в 64К байт. Дальнейшее расширение ресурсов может быть выполнено только с помощью внешних средств.

Приборы семейства ВЕ51/8052 размещаются в стандартных 40 выводных корпусах, для их работы требуется единственный источник питания +5В.

Основные параметры БИС К1816ВЕ51:

Источник питания, В 5.

Рассеиваемая мощность, Вт 1,5.

Диапазон рабочих температур,0С 0…+70.

Частота синхронизации, МГц 2,5.

Емкость ОЗУ, Кбайт 64.

Емкость ПЗУ, Кбайт 1.

Для сокращения ширины физического интерфейса большинство логических линий совмещаются. Так при обращениях к внешней памяти порт Р0 выполняет роль совмещенной шины адреса/данных, а Р2 - шины старшей части адреса.

Все выводы порта РЗ выполняют роль линий управления и специального ВВ. В архитектуре К1816ВЕ51 и ее модификациях использован стандартный для МК принцип независимости сред для хранения программ и данных. Всего же архитектура ВЕ51 включает пять типов пространств, четыре из которых являются областями данных:

RSEGПространство регистров

DSEGПространство внутренней памяти

BSEGБитовое пространство данных

XSEGПространство внешней памяти

CSEGПространство программного кода

P3.0 P3.1

RxD TxD

XTAL1 XTAL2

ЕА

ALE

RST

RSEN

P3.7RD

P3.6WR

T0 T1 T2*T2EK* INT0 INT1 P0 P1 P2 P3

P3.4 P3.5 P1.0 P1.1 P3.2 P3.3 A0 A

AD0 – AD7

A8 – A15

Рисунок 1 – Схема микроконтроллера

Набор регистров ВЕ51. Набор программно-доступных регистров процессора ВЕ51 приведен на рисунке 2. Архитектура относится к классу аккумуляторных с переключаемыми банками рабочих регистров. Поэтому центральным регистром набора считается 8-разрядный аккумулятор А, выполняющий обычные функции основного арифметического регистра.

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

15 87 0

РС

DPH

DPL

DPTR

B

A

C

Y

A

C

F

0

RC

O

V

P

PSW

SP


R0

R1

R2

R3

R4

R5

R6

R7

Рисунок 2 – Набор регистров

Регистр слова состояния программы включает в себя флажки:

PSW.7CYПеренос из старшего разряда АЛУ;

PSW.6 АС Дополнительный перенос из младшей тетрады АЛУ;

PSW.5F0 Флажок пользователя общего назначения включает

также флажки;

PSW.2OVПризнак арифметического переполнения результата;

PSW.1PПризнак четности.

Сюда же входит двухразрядное поле RS (Registers Select) выбора одного из четырех возможных банков рабочих регистров. Флажки признаков результата CY, АС и OV, как правило, отражают состояние последней арифметической операции, флажок Р - четность содержимого А. Флажок переноса CY является аккумулятором булевого процессора. Назначение флажка F0 определяется пользователем в конкретной ситуации.

Шестнадцатиразрядный программный счетчик PC управляет последовательностью выполнения команд, хранящихся в программной памяти объемом до 64К байт. Указатель данных DPTR также имеет длину 16 разрядов, каждая его половина может быть адресована независимо от другой. Этот регистр используется в качестве адресного при пересылке констант из памяти программ и доступе к переменным из внешней памяти данных, а также для организации передачи управления.

Указатель стека образует системный стек глубиной до 256 байт. Он всегда содержит адрес последнего байта, занесенного в стек. Стек растет в сторону увеличения содержимого SP.

В МК ВЕ51 предусмотрено четыре банка по восемь рабочих регистров R0-R7 в каждом, переключаемых полем RS слова состояния программы. Регистры выполняют общецелевые функции промежуточного хранения данных. По аналогии с ВЕ48 два регистра R0 и R1 каждого банка реализуют также функции 8-разрядных указателей данных.

Использование наборов рабочих регистров позволяет существенно уменьшить длительность переключения контекстов ЦП, что очень важно для МС реального времени. Следует также отметить, что в ВЕ51 отсутствует ряд ограничений, накладываемых на обработку подпрограмм и процедур обслуживания прерываний.

При сбросе МК все регистры устанавливаются в исходное состояние. Программный счетчик PC принимает значение 0000Н, аккумулятор А - 00Н; В - 00Н; PSW - 00Н; SP - 07H и DPTR - 0000Н. Сброс PC обеспечивает передачу управления по стартовому адресу 0000Н, а установка SP в состояние 07Н поддерживает совместимость со стеком ВЕ48. Сброс PSW реализует выбор нулевого регистрового банка RB0.

2.1.1 Арифметико – логическое устройство ВЕ51.В состав АЛУ входят блоки: комбинационная схема обработки байтов, регистры, аккумулятор, схема десятичного корректора и схема формирования признаков. Аккумулятор используется в качестве регистра операнда и регистра результата.

Комбинационная схема АЛУ выполняет следующие операции:

- операции сложения;

- логические операции И, ИЛИ и исключающее ИЛИ;

- инкремент, декремент, инверсию, циклический сдвиг влево и

вправо через флаг переноса;

- десятичную коррекцию содержимого аккумулятора.

Флаги переноса фиксируются на триггерах, входящих в состав регистра слова состояния программы – ССП (рисунок 3). Логика условных переходов МП оперирует флагами F0 иF1 (их функции определяет разработчик), флагом переполнения таймераTF, сигналами на входах Т0 и Т1.

7 6 5 4 3 2 1 0

С

AC

F0

BS

1

S2

S1

S0

C–перенос; АС – вспомогательный перенос;F0 – флаг пользователя;

BS– банк регистров;S0-S2 – указатель стека

Рисунок 3 – Формат слова состояния программы

Программистом могут быть использованы флаги рабочего банка регистров.

2.1.2 Организация памяти ВЕ51.Пространство, внутренней памяти DSEG имеет общий объем 256 байт. Однако организация ВЕ51 предусматривает реализацию только первой его половины (128 байт).

Все банки рабочих регистров, а также системный стек в МК ВЕ51 располагаются во внутренней памяти данных и могут рассматриваться как обычные ячейки памяти. Существуют два способа адресации памяти данных МК: прямой (direct) и косвенный (Ri, i = 0-1) через регистры R0, R1 выбранного в данный момент одного из банков RB0 - RB3. При прямой адресации доступна только младшая половина адресного пространства внутренней памяти данных (128 байт), при косвенной обеспечивается доступ к любой ее ячейке (256 байт). Введение прямой адресации значительно расширило возможности обработки данных МК, в частности появились средства прямого доступа в соседние регистровые банки и стек системы, интерпретируемые как обычные ячейки памяти.

Микроконтроллер ВЕ51 имеет мощную и развитую подсистему ВВ и средства поддержки режима реального времени. Для их управления в МК предусмотрен ряд регистров, которые размещаются во второй половине прямо адресуемого пространства, образующей пространство специальных регистров (128 байт). Сюда же включены порты и основные регистры ЦП.

Центральный процессор ВЕ51 содержит специальную логику, предназначенную для выполнения нескольких однобитовых операций – булев, или одноразрядный процессор для вычисления булевых выражений. В основу булева процессора положен стандартный аккумуляторный принцип организации. В данном случае роль аккумулятора выполняет флажок переноса CY.

Для хранения булевых данных в архитектуре ВЕ51 предусмотрено специальное одноразрядное линейно упорядоченное пространство BSEG объемом

256 байт, которое физически совмещено с байтовым пространством данных DSEG. При этом одна часть пространства BSEG попадает на обычные ячейки памяти DSEG и может рассматриваться как область общего назначения. Обычно она используется для хранения булевых переменных. Другая часть пространства BSEG попадает на ячейки памяти, совмещенные с регистрами МК. что обеспечивает независимый доступ к их отдельным разрядам. В булевом пространстве определена только прямая адресация bit.

Пространство внешней памяти XSEG имеет объем 64К байт и реализуется внешними по отношению к МК средствами. В команде используются два типа адресации: косвенная регистровая по DPTR и страничная с номером страницы в Р2 и смещением в R0, R1.

Память программ CSEG адресуется 16-разрядным счетчиком PC и, следовательно, может иметь объем до 64 Кбайт.

2.1.3 Порты ввода-вывода.Подсистема ВВ микроконтроллера ВЕ51 размещается непосредственно на кристалле. Для ВВ данных и управления процессом их передачи в состав МК введен ряд портов данных и регистров управления/состояния, совокупность которых образует набор специальных регистров.

Физическая система ВВ микроконтроллера ВЕ51 состоит из четырех двунаправленных 8-разрядных портов Р0 - РЗ. Все порты ВВ отображены в пространстве внутренней памяти DSEG по адресам 80Н, 90Н, 0А0Н, 0В0Н и ничем не отличаются от обычных ячеек памяти. Отказ от изолированного пространства ВВ. используемого в архитектуре ВЕ48, позволил увеличить вычислительную эффективность МС интенсивного ВВ, привел к более регулярной структуре набора команд ВЕ51. Если ранее для увеличения возможностей арифметической – логической обработки данных ВВ было необходимо вводить ряд новых команд, то теперь любая команда с операндом из внутренней памяти может быть применена к содержимому портов Р0 - РЗ.

Кроме того, порты Р0 - РЗ совмещены с битовым пространством BSEG, что обеспечивает доступ к отдельным его разрядам независимо от других. Порты Р0 - РЗ занимают адреса BSEG: 80Н - 87Н, 90Н - 97Н, 0А0Н -0А7Н и 0В0Н - 0В7Н соответственно.

Расширение пространства ВВ может быть выполнено за счет области XSEG или другими средствами с помощью самих портов Р0 - РЗ и SBUF.

При обращении к внешней памяти программ или данных порты Р0, Р2 выполняют функции системных шин AD и АВ соответственно. Младший байт адреса и данные передаются через Р0 в мультиплексном режиме: сначала выводится адрес, а затем для передачи данных используется порт. Старший байт адреса формируется на Р2. Линии порта РЗ реализуют управление циклами обмена и другие специальные функции аппаратного уровня:

Р3.0 RxD Вход приемника последовательного канала;

Р3.1 TxD Выход передатчика последовательного канала;

Р3.2 INT0 Вход запроса на прерывание 0;

РЗ.З INT1 Вход запроса на прерывание 1;

Р3.4 T0 Внешний вход таймера/счетчика 0;

Р3.5 T1 Внешний вход таймера/счетчика 1;

Р3.6 WR Строб записи в XSEG;

Р3.7 RD Строб чтения XSEG.

Порты Р1 - РЗ имеют встроенную нагрузку, тогда как для порта Р0, выполненного по схеме с открытым коллектором, требуется внешняя нагрузка. Каждый вывод портов Р0 - РЗ может быть использован в качестве выходного независимо от других. Для перевода какого-либо вывода в режим входа в соответствующий разряд выходного регистра должна быть записана 1.

Следует отметить, что в отличие от ВЕ48 в МК ВЕ51 все 32 вывода портов Р0 - РЗ тестируются индивидуально с помощью условных команд

ветвления:

JB bit, rel ; Если BSEG(bit)=1, то SJMP rel

JNB bit, rel ; Если BSEG(bit) = 0, то SJMP rel

JBC bit, rel ; Если BSEG(bit) = 1, то SJMP rel и BSEG(bit) ← 0

Последняя команда после тестирования всегда на выводе порта, как и в любом другом разряде из пространства BSEG, устанавливает 0.

2.1.4 Таймеры/счетчики.К стандартным средствам поддержки режима реального времени относятся таймеры/счетчики и подсистема прерываний. Если таймеры необходимы для организации системных меток реального времени и отработки временных интервалов, то подсистема прерываний обеспечивает своевременную реакцию МК на асинхронные события, происходящие как внутри МС, так и вне ее. В состав BE51 входят два 16-разрядных таймера/счетчика СТ0, СТ1. Состояние таймеров/счетчиков отражается программно-доступными регистровыми парами (TH0,TL0), (TH1, ТL1) и (ТН2, TL2) соответственно, размещенными в пространстве DSEG по адресам (8СН, 8АН),(8DH, 8ВН) и (0CDH, 0ССН).

Таймеры/счетчики СТ0 - СТ2 могут быть запрограммированы для работы либо в качестве таймера, либо в качестве счетчика. Функция таймера состоит в счете числа машинных циклов, следующих с частотой OSC/12.

Функция счетчика заключается в отслеживании числа переходов из 1 в 0 на соответствующих входах Т0, Tl, T2.

Управление режимом работы СТ0, СТ1 осуществляет регистр TMOD (Timer/Counter Mode), который расположен по адресу 89Н. Регистр разбит на два 4-разрядных подрегистра T0MOD и T1MOD, которые ответственны за управление СТ0 и СТ1 соответственно.

За управление СТ0, СТ1 также ответствен регистр TCON (Timer/Counter Control), расположенный по адресу 88Н.

Для управления работой СТ2 служит регистр T2CON (Timer/Counter 2 Control), расположенный по адресу 0С8Н.

2.1.5 Управление работой микроконтроллера. Устройство управления в каждом цикле команды формирует последовательность сигналов, управляющих всеми блоками МП и организует их взаимосвязь.

Синхронизация микроконтроллера. Приборы семейства ВЕ51 размещаются в стандартных 40-выводпых корпусах (рисунок 4), для их работы требуется единственный источник питания +5 В. Встроенный в схему генератор рассчитан на работу с кварцевым резонатором (диапазон частот 3,5-12 МГц), подключенным к выводам XTAL1 и XTAL2 (рисунок 5). Возможно также использование внешнего ГТИ с подачей тактовых импульсов па вывод XTAL1. При делении частоты OSC на 2 получается основная внутренняя тактовая частота CLK. Первая половина периода CLK называется фазой Р1, вторая - фазой Р2. Каждый машинный цикл состоит из шести периодов CLK, называемых состояниями S1, S2, …, S6 или 12 периодов OSC, называемых фазами S1P1. S1P2, S2P1,S2P2 S6P1. S6P2.

Командный цикл МК содержит несколько машинных циклов и отсчитывается от фазы S1P1. По фазе S1P2 в IR фиксируется код операции. Второй байт двухбайтовой команды читается в S4P2 того же машинного цикла, третий - в S1P2 следующего. Таким образом, для ввода каждого байта требуется один машинный полуцикл. Вовремя всех оставшихся полуциклов в фазах S1P2 и S4P2 читается код операции следующей размещенной в памяти команды. Однако байт в IR не вводится и PC не инкрементируется, что приводит к его игнорированию. Ввод повторяется до окончания текущего командного цикла, который всегда завершается в фазе S6P2. Вслед за этим начинается новый командный цикл с вводом в IR кода операции следующей по исполнению команды.

Другую временную последовательность исполнения имеет однобайтовая двух цикловая команда обращения к внешнему ОЗУ Данных MOVX. Доступ к ОЗУ реализуется во втором машинном Цикле, поэтому первый машинный цикл

соответствует общей схеме, а во втором отсутствуют пустые операции FETCH. Во

время второго машинного цикла первый строб ALE отсутствует, так как доступ к внешнему ОЗУ требует всего машинного цикла.

X

19

18

TAL1

X

9

TAL2

RST

MC

39

AD0

AD1

AD2

AD3

AD4

AD5

AD6

AD7

P

38

0.0

P

37

0.1

P

36

0.2

P

35

0.3

P

34

0.4

P

33

0.5

P

32

0.6

P0.7

10

K=D

T=D

INT0

INT1

T0

T1

WR

RD

P

11

3.0

P

12

3.1

P

13

3.2

P

14

3.3

P

15

3.4

P

16

3.5

P

17

3.6

P3.7

1

T2*

T2EX*

P

2

1.0

P

3

1.1

P

4

1.2

P

5

1.3

P

6

1.4

P

7

1.5

P

8

1.6

P1.7

31

EA

21

A8

A9

A10

A11

A12

A13

A14

A15

P

22

2.0

P

23

2.1

P

24

2.2

P

25

2.3

P

26

2.4

P

27

2.5

P

28

2.6

P

30

2.7

A

29

LE

PSEN

Рисунок 4 – Условное графическое обозначение МП

Запись результата операции в порты Р0 —РЗ реализуется в фазе S6P2 последнего машинного цикла соответствующей команды, однако на выходе порта новое значение появляется только в следующей фазе S1P1.

При записи в порты Р1—РЗ информации, требующей перехода из 0 в 1, через выходную цепь в течение S1P1 и S1P2 пропускается импульс тока,

амплитуда которого в 100 раз превышает номинальное значение.

10 мкФ 20МГц

X

10 мкФ

TAL1

Кварц

XTAL2

10 мкФ

RST

8.2 k

Рисунок 5 – Схема синхронизации МП

Это делается для повышения скорости переключения выходных сигналов. Порт Р0 такими свойствами не обладает. Выходы портов Р1—Р3 обеспечивают управление четырьмя маломощными ТТЛ – входами (IOL = 1,6 мА). Нагрузочная способность порта Р0 IOL = 3,2 мА. Вход RST служит для приведения МК в исходное состояние. Сигнал запроса воспринимается всякий раз, когда на входе RST удерживается напряжение высокого уровня более двух машинных циклов (24 периода OSC) при условии, что генератор запущен. В течение следующего машинного цикла формируется внутренний сигнал сброса, который, повторяется до тех пор, пока вход RST активен.

Микроконтроллеры семейства ВЕ51 осуществляют режим хранения записанных в их внутреннюю память данных при выключенном источнике питания +5В. В данном режиме запасное напряжение питания поступает на вход RST, а ток потребления очень мал.

а – считывание CSEG; б – считываниеXSEG; в – записьXSEG

Рисунок 6 – Временная диаграмма обращения к внешней памяти:

При подаче напряжения +5 В запасной источник должен оставаться во включенном состоянии еще два машинных цикла, в течение которых выполняется общий сброс МК.

Соседние файлы в папке ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩЕЙ МИКРОЭВМ-