Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_ЦАП_АЦП.doc
Скачиваний:
71
Добавлен:
03.03.2016
Размер:
95.74 Кб
Скачать

Вопросы программирования ацп и цап

Микропроцессорный тренажер, изучаемый в данном курсе и используемый при проведении лабораторных работ, снабжен многофункциональной платой 5710 производства американской фирмы Octagon Systems.

Состав платы 5710.

Плата 5710 содержит два канала аналогового вывода (два 12-ти разрядных АЦП DAC813 производства фирмы Burr-Brown), 16 однопроводных или 8 дифференциальных каналов аналогового ввода, обеспечиваемые одной 12-ти разрядной микросхемой АЦП последовательного типа AD574 фирмы Analog Devices, и коммутатором аналоговых сигналов. Кроме того, плата снабжена микросхемой таймера – счетчика Intel 82C54, и микросхемой программируемого параллельного интерфейса 82С55. Одна такая плата оборудована всем необходимым для построения современной цифровой системы управления, например, электроприводом прокатного стана.

Сначала рассмотрим программирование ЦАП. .

Последовательность действий должна быть следующей.

  1. Масштабирование и преобразование данных. Данные должны быть отмасштабированы таким образом, чтобы выводимое на ЦАП число не превышало его разрядность. В нашем случае разрядность ЦАП – 12. То есть, диапазоном засылаемых в ЦАП чисел является 0-4095.

Для диапазона выводимых ЦАП значений аналогового сигнала 5В, таблица соответствия входных и выходных значений имеет вид:

дискретный код

0

2047

4095

аналоговый сигнал

-5В

+5В

Для того, чтобы сформировать на выходе ЦАП напряжение V, лежащее в диапазоне 5В, необходимо воспользоваться следующей формулой:

, и округлить получаемое число до ближайшего целого.

Пример. Для получения на выходе ЦАП напряжения V=--2.75 В, необходимо на ЦАП выдать код

.

Для диапазона выводимых ЦАП значений аналогового сигнала 0, +10В, таблица соответствия входных и выходных значений имеет вид:

дискретный код

0

2047

4095

аналоговый сигнал

+5В

+10В

Для того, чтобы сформировать на выходе ЦАП напряжение V, лежащее в диапазоне 0, +10В, необходимо воспользоваться следующей формулой:

Цсуа 3.5

, и округлить получаемое число до ближайшего целого.

Пример. Для получения на выходе ЦАП напряжения V=-+2.75 В, необходимо на ЦАП выдать код

  1. Разделение данных на младший значащий байт (lsb least significant bit)и старший значащий полубайт (msb) [most significant bit].

Дело в том, что хотя разрядность ЦАПа – 12, но за один раз записать в регистры ЦАПа двенадцатиразрядное число нельзя, потому что разрядность шины данных у модуля 5710 – 8.

Делается это так. Необходимо подготовленный Code разделить без остатка на 256 (девятиразрядное число). Это и будет MSB. Затем необходимо найти остаток от деления Code на 256 – это и будет LSB.

Пример. Для рассмотренного выше 1 случая Code=922. Это число при делении без остатка на 256 дает 3. Остаток от деления составит .

Таким образом, получаем MSB=3, LSB=154.

Пример. Для рассмотренного выше 2 случая Code=1126. Это число при делении без остатка на 256 дает 4. Остаток от деления составит 1126-4*256=102.

Таким образом, получаем MSB=4, LSB=102.

  1. Вывод подготовленных таким образом старшего и младшего полубайта в соответствующие регистры.

Таблица адресов регистров микросхем ЦАП:

LSB

MSB

DAC0

BASE+0x0C

BASE+0x0D

DAC1

BASE+0x0E

BASE+0x0F

Где BASE=0x110 - базовый адрес платы 5710.