Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизация / Автоматизация / Конспект_лекций_2005_у.doc
Скачиваний:
306
Добавлен:
29.03.2015
Размер:
3.3 Mб
Скачать

Работа с цап.

Работа с ЦАП осуществляется через 5 регистров: DACCON – регистр управления, DAC0L, DAC0H – регистры данных для ЦАП0, DAC1L,DAC1H – регистры данных для ЦАП1.

Регистр управления DACCON:

Расположение бит

Мнемокод

Описание

DACCON.7

MODE

Устанавливает режим работы. Если бит установлен то ЦАП работает в 8 разрядном режиме, работа происходит только с DAC0L или DAC1L. Если бит сброшен то ЦАП работает в 12 разрядном режиме.

DACCON.6

RNG1

Выбор диапазона работы ЦАП1.

Если бит установлен то диапазон от 0 до Vdd, если сброшен диапазон от 0 до Vref.

DACCON.5

RNG0

Выбор диапазона работы ЦАП0.

Если бит установлен то диапазон от 0 до Vdd, если сброшен диапазон от 0 до Vref.

DACCON.4

CLR1

Бит очистки ЦАП1.

Если бит установлен то выходное напряжение соответствует коду, если сброшен то напряжение на выходе равно 0.

DACCON.3

CLR0

Бит очистки ЦАП0.

Если бит установлен то выходное напряжение соответствует коду, если сброшен то напряжение на выходе равно 0.

DACCON.2

SYNC

Бит синхронизации ЦАП0 и ЦАП1.

Если бит установлено то выходы ЦАП изменяются одновременно как только данные попадают в регистры DACxL. Можно добиться одновременной установки выходов путем записи данных в ЦАП при SYNC=0 и переводом SYNC в 1. Тогда выходы изменяться одновременно.

DACCON.1

PD1

Бит включения ЦАП1.

Если бит установлен то ЦАП включен.

DACCON.0

PD0

Бит включения ЦАП0.

Если бит установлен то ЦАП включен.

Преобразование начинается только тогда когда данные записываются в младшие 8 разрядов daCxL.

Система мониторинга работоспособности микроконвертора.

Для контроля правильной и безотказной работы микроконвертора используется 2 аппаратных монитора: монитор источника питания и сторожевой таймер.

Монитор источника питания.

Монитор источника питания можно запрограммировать на прерывание в случае падения ниже одного из 5 пороговых значений от 2,6 до 4,6 В цифрового или аналогового питания. Бит прерывания не будет восстановлен в течении не менее 256 мс и до тех пор пока напряжение не будет восстановлено выше порогового уровня. Это гарантирует возможность сохранения всех регистров микроконтроллера.

Сторожевой таймер.

Назначение сторожевого таймера генерировать сигнал аппаратного сброса, если АЛУ ADuC812 выполняет ошибочные действия.

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

Система прерываний ADuC812.

В микроконверторе поддерживается 9 прерываний с двумя уровнями приоритета.

Таблица. Источники прерывания и вектора обработчиков прерывания.

Прерывание

Наименование источника прерывания

Адрес вектора

Приоритет прерывания

PSMI

Монитор источника питания

43h

1

IE0

Внешнее прерывание INT0/

03h

2

ADCI

Завершение преобразования АЦП

33h

3

TF0

Переполнение таймера/счетчика 0

0Bh

4

IE1

Внешнее прерывание INT1/

13h

5

TF1

Переполнение таймера/счетчика 1

1Bh

6

I2CI/ISPI

Прерывание последовательного интерфейса

3Bh

7

RI/TI

Прерывание УАПП

23h

8

TF2/EXF2

Прерывание от таймера/счетчика 2

2Bh

9

Рис. Система прерываний ADuC812.

При возникновении прерывания от одного из источников (если прерывание от данного источника разрешено соответствующими битами в регистре IE или IE2) прерываний происходит останов выполняющейся программы и переход на обработчик прерывания установленный по соответствующему вектору. Начинает выполняться код обработчика прерывания. Возвращение к выполнению основной программы происходит после выполнения команды RETI. Ход выполнения основной программы продолжается с того места, где было прервано. По команде RETI очищается также соответствующий флаг прерывания.

Регистры разрешения прерываний.

IE:

Расположение бит

Мнемокод

Описание

IE.7

EA

Разрешение обработки всех прерываний.

IE.6

EADC

Разрешение обработки прерывания АЦП.

IE.5

ET2

Разрешение обработки прерывания по переполнению таймера/счетчика 2

IE.4

ES

Разрешение обработки прерывания АУПП

IE.3

ET1

Разрешение обработки прерывания по переполнению таймера/счетчика 1

IE.2

EX1

Разрешение обработки внешнего прерывания 1

IE.1

ET0

Разрешение обработки прерывания по переполнению таймера/счетчика 0

IE.0

EX0

Разрешение обработки внешнего прерывания 0

IE2:

Расположение бит

Мнемокод

Описание

IE2.7 -

IE2.2

NU

Не используются

IE2.1

EPSM

Разрешение обработки прерывания монитора источника питания

IE2.0

ESI

Разрешение обработки прерывания от интерфейсов SPI/

В случае одновременного возникновения прерываний из нескольких источников первым обрабатывается прерывание имеющее наиболее высокий приоритет (наивысший приоритет 1 – у монитора источника питания). Для некоторых прерываний можно искусственно поднять приоритет над остальными прерываниями, за это отвечает регистр IP.

Расположение бит

Мнемокод

Описание

IP.7

PSI

Устанавливает приоритет прерывания от интерфейса SPI/I2C

IP.6

PADC

Устанавливает приоритет прерывания от АЦП

IP.5

PT2

Устанавливает приоритет прерывания от таймера/счетчика 2

IP.4

PS

Устанавливает приоритет прерывания от УАПП

IP.3

PT1

Устанавливает приоритет прерывания от таймера/счетчика 1

IP.2

PX1

Устанавливает приоритет внешнего прерывания 1

IP.1

PT0

Устанавливает приоритет прерывания от таймера/счетчика 0

IP.0

PX0

Устанавливает приоритет внешнего прерывания 0

Спектр микроконтроллеров на базе ядра МК51 выпускаемых фирмой Analog Devices представлен в таблице:

Тип

АЦП канал /разр

ЦАП

Кол-во/разр

Flash программ

EEPROM данных

ОЗУ

Дополнительно

ADuC812

8/12

2/12

8 Кбайт

640 байт

256 байт

5 мс АЦП преобразование

ADuC814

6/12

2/12

8 Кбайт

640 байт

256байт

Низкое энергопотребление

ADuC816

2/16

1/12

8 Кбайт

640 байт

256байт

Programmable Gain Input

ADuC824

1/24 + 1/16

1/12

8 Кбайт

640 байт

256байт

Pin-Compatible Upgrade to ADuC816

ADuC831

8/12

2/12 + 2 PWM

62 Кбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC812

ADuC832

8/12

2/12+ 2 PWM

62 Кбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC812

plus PLL

ADuC834

1/24 + 1/16

1/12+ Dual PWM

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC824

ADuC836

2/16

1/12+ 2 PWM

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC816

ADuC841

8/12

2/12+ 2 PWM

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC812 ускоренное 8052 ядро

ADuC842

8/12

2/12+ 2 PWM

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC812 plus PLL ускоренное 8052 ядро

ADuC844

1/24 + 1/16

1/12+ 2 PWM

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC824 ускоренное 8052 ядро

ADuC845

10/24 + 1/24

1/12+ 2/16+ PWM/16

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC824 ускоренное 8052 ядро

ADuC846

2/16

1/12 + 2 PWM

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC816 ускоренное 8052 ядро

ADuC847

10/24

2/16 + 2 PWM/16

62 Kбайт

4Kбайт

256+2K-байт

Увеличение памяти для ADuC816 ускоренное 8052 ядро