3733 ВИРТУАЛЬНЫЕ СРЕДСТВА ИЗМЕРЕНИЯ - Страница 2

Программирование платы

Адресное пространство платы

Управление всеми устройствами на плате (АЦП, ЦАП, таймеры, цифровые линии) осуществляется через порты ввода - вывода компьютера. Плата занимает 16 последовательных ячеек в пространстве ввода-вывода компьютера начиная с базового адреса, установленного на плате с помощью перемычек (табл. 1.4).

Таблица 1.4

Описание портов ввода-вывода PC

Адрес порта

Направление

Описание

BASE

Чтение

(16-бит)

Результат аналого-цифрового преобразования (16 бит)

BASE

Запись

(16-бит)

12-битный код, устанавливаемый на ЦАП (младшие 12 бит)

BASE+2

Запись (8-бит)

Установка номера канала АЦП, режима подключения каналов, коэффициента усиления

BASE+2

Чтение (8-бит)

Вых. трёх счётчиков-таймеров и бит готовн.

BASE+3

Чтение (8-бит)

Значения 8 бит ТТЛ линий с внешнего разъёма

BASE+3

Запись (8-бит)

Установка 8 ТТЛ линий на внешнем разъёме

BASE+4

Запись (8-бит)

Старт аналого-цифрового преобразования

BASE+8

Чтение/Запись
(8-бит)

Программирование таймера A
(микросхема 580ВИ53)

BASE+9

Чтение/Запись
(8-бит)

Программирование таймера B
(микросхема 580ВИ53)

BASE+A

Чтение/Запись
(8-бит)

Программирование таймера C
(микросхема 580ВИ53)

BASE+B

Запись (8-бит)

Регистр управления таймера 580ВИ53

BASE+0xF

Запись (8-бит)

Включение / Отключение линии IRQ от шины компьютера

BASE - базовый адрес платы (в данной работе на плате установлен базовый адрес 310h).

Структура портов платы показана на рис. 1.1.

 

Рис. 1. 1  Структурная схема платы

Установка напряжения на ЦАП

На плате установлен один цифроаналоговый преобразователь, который устанавливает напряжение на линии “Выход ЦАП” на внешнем разъёме в соответствии с записанным в ЦАП цифровым кодом. На ЦАП передается      16-битный код, но поскольку код ЦАП – 12-битный, то старшие 4 бита не используются. Соответствие 12 - битного кода ЦАП напряжению приведено на рис. 1.2.

 

Рис. 1.2. Функция преобразования ЦАП

 

Для установки ЦАП в языке ассемблер используют команду записи в порт:

out  dx, ax

где dx и ax – 16-разрядные регистры общего назначения. В dx записывают адрес порта ЦАП (BASE), в ax – код, передаваемый на ЦАП (0…4095).

Пример установки кода на ЦАП:

mov dx, 310H      ; адрес установки кода на ЦАП (BASE)

mov  ax, 0

out  dx, ax        ; установим минимальное напряжение

mov  ax, 4095

out  dx, ax        ; установим максимальное напряжение

Использование АЦП

Управление коммутатором и усилением

На плате установлен один АЦП с 32-канальным коммутатором, c помощью которого на вход АЦП подается один из 16- или 32-аналоговых каналов. После переключения номера канала в коммутаторе нельзя сразу давать старт АЦП, необходимо организовать задержку на установление аналогового канала. Эта задержка составляет 4 мкс.

Одновременно с номером аналогового канала осуществляется управление коэффициентом усиления и режимом подключения сигналов (т. е. используется 16-канальный дифференциальный режим или 32-канальный режим с общей землей). Формат байта установки режима АЦП представлен в табл. 1.5. Поле "Коэффициент усиления" (U2-U1) представлено в табл. 1.6. Поле "Номер канала" (С4-С1) в дифференциальном режиме показано в табл. 1.7.

Таблица 1.5

Бит

8

7

6

5

4

3

2

1

Имя

U2

U1

M32

C5

C4

C3

C2

C1

 

При дифференциальном подключении поле M32 должно быть равно 0 (соответственно бит C5 номера канала C5-C1 также должен быть равен нулю). В 32-канальном режиме бит M32 должен быть равен единице, при этом номер канала задаётся всеми битами C5-C1.

Таблица 1.6

Бит U2

Бит U1

Усиление

Диапазон входного сигнала АЦП

1

1

1

±5.12 В

1

0

2

±2.56 В

0

1

5

±1.024 В

0

0

Зарезервирован

 

 

Таблица 1.7

Номер канала АЦП

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Бит 1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Бит 2

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

Бит 3

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

Бит 4

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

 

Соответствие кода с АЦП напряжению на входе в зависимости от коэффициента усиления АЦП показано на рис. 1.3.

Рис. 1.3. Функции преобразования АЦП в зависимости
от установленного коэффициента усиления (КУ)

Для установки номера канала режима работы и коэффициента усиления АЦП,  в языке ассемблер используют команду записи в порт:

out  dx, al

где в dx записывают адрес порта номера канала АЦП (BASE+2), в al – код, задающий режим АЦП (табл 1.5).