8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 31 32 33 34 35 36 37 ... 39

Первая команда ввода(порт А)

Третья команда ввода

Шина данных

4с1аршихразряда Вторая команда ввода

<1

Шина данных

ПИ

(режим ввода)

ARDY

Порт А, адрес ОАОН

Порт В, адрес 0A2H

8 младших разрядов 4--

Порт А,

сигаал RDY Сигнал

выборки-хранения

©

ОдновибраторА

D,,...D,

©

12-разрядный АЦП

Л

©

т

Сигнал выборки-0 хранения

и

Одновибратор В

Сигнал начала преобразования

Входной сигнал АЦП

Сигнал окончания преобразования

Устройство выборки-хранения

Аналоговый входной

сигнал «-о

и

Выборка

Q Сигнал начала преобразования

12-разрядные

-( бмкс,

Хранение

ipem выборки бмкс

типом устройства [выборки-хранения

выходные данные\{ Преобразование )f

© Сигнал окончания преобразования

[ Программа ]

Выполнение первой команды ввода (из сигнала ARDY вырабатывается сигаал выборки-хранения)

25 мкс

преобразования 25 мкс определяется типом АЦП

Вы полнение второй командыВыполнение третьей команды

ввода (8 младших разрядовввода (4 старших разряда

считываютсясчитываются

из порта В в ЦПУ)из порта А в ЦПУ)

Рис. 8.22. Схема ввода аналогового сигнала в микрокомпьютер

Сначала для выработки сигнала ARDY выполняется первая команда ввода. Это вспомогательная команда ввода, так как данные, считываемые по этой команде из порта А в ЦПУ, не используются. По нарастающему фронту сигнала ARDY (позиция 1 на временной диаграмме) запускается одновибратор А, вырабатывающий сигнал выборки-хранения (позиция 2). Когда этот сигнал равен «1», Устройство выборки-хранения считывает входной аналоговый сигнал, когда он равен «0», хранит считанное значение и устанавливает его на выходе. Длительность импульса одновибратора А больше времени, необходимого для выборки (на рисунке - 6 мкс).

Для того чтобы одновременно с выходным сигналом устройства выборки-хранения сигнал (3) начала цикла преобразования АЦП

низкого быстродействия АЦП приходится вводить ограничение на скорость изменения входного сигнала. А что если для преобразования быстро изменяющегося аналогового сигнала в цифровой запомнить мгновенное значение аналогового сигнала на входе АЦП и сохранять его постоянным в течение всего цикла преобразования?

Действительно, такой способ широко используется в АЦП, в состав которого входит устройство выборки-хранения. Это устройство в указанный момент времени (например, по фронту импульса) выбирает сигнал - выборка, запоминает его - хранение.

На Рис. 8.22 показан пример применения устройства выборки-хранения с 12-разрядным АЦП (ADC 80 AG-12, Рис. 8.21).

Считывание 12-разрядного цифрового кода на выходе АЦП портом ввода-вывода микрокомпьютера осуществляется через параллельный интерфейс, порты А и В которого устанавливаются в режим ввода. После считывания в микрокомпьютер очередного пакета данных на вывод RDY ПИ, установленного в режим ввода, подается сигнал «1», по которому ПИ оповещает внешнее устройство (например, аналоговый датчик) о готовности к приему следующей «порции» данных. Таким образом, по сигналу RDY осуществляется синхронизация работы устройства выборки-хранения и АЦП.

Как показано на Рис. 8.22, для того чтобы сформировать сигнал начала преобразования и сигнал выборки-хранения из сигнала ARDY порта А, применяются два одновибратора. Одновибратор вырабатывает одиночный импульс при поступлении на его вход нарастающего или спадающего фронта сигнала. Длительность этого импульса пропорциональна произведению значений сопротивления резистора и емкости конденсатора, образующих цепь задержки.

Как показано на схеме, 4 старших разряда (D, i...D8) и 8 младше разрядов (D7...D0) 12-разрядного цифрового выхода АЦП соединены соответственно с выводами данных портов А и В. С помощью временной диаграммы, представленной на Рис. 8.22, рассмотрим порядок выполнения операций при вводе в ЦПУ аналогового сигнала.


~ Задача № 7 ~

С помощью схемы ввода аналогового сигнала, состоящей из устройства выборки-хранения, 12-разрядного АЦП и ПИ, соединенных как показано на Рис. 8.22, изменяющийся аналоговый сигнал считывается с высокой скоростью, и 128 12-разрядных кодов последовательно загружаются в память

Таблица 8.2. Адреса ПИ

Порт

Адрес

Порт А

Данные - ОАОН

Управляющий код - ОАШ

Порт В

Данные - 0А2Н

Управляющий код - ОАЗН

Итак, для того чтобы считать 12-разрядное число, полученное в результате преобразования аналогового сигнала, по схеме, приведенной на Рис. 8.22, необходимо трижды выполнить команду ввода. Первая команда цикла последовательного считывания преобразованных данных - вспомогательная (см. Рис. 8.23). Посредством следующих двух команд ввода осуществляется считывание первого 12-разрядного числа.

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

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

В программе не используется функция прерывания. Временная задержка выполняется внутрипрограммно. Содержание этой операции становится очевидным из сопоставления схемы алгоритма с текстом программы. Например, команда «IN A, (APORTD)» выпол-

принял значение «1», используется одновибратор В. Время преобразования АЦП равно 25 мкс. Поэтому через 25 мкс, после того как значение сигнала 3 станет равным «1», АЦП сформирует и установит на выходе 12-разрядные данные (4). Одновременно с этим сигнал окончания преобразования принимает значение «О». По командам ввода (2, 3) ЦПУ считывает эти данные, в результате чего из портов В и А параллельного интерфейса в ЦПУ последовательно вводятся сначала 8 младших разрядов, а затем 4 старших разряда данных. Команда ввода из порта В должна предшествовать команде ввода из порта А. В противном случае будет выработан сигнал APvDY, и следующий цикл преобразования аналогового сигнала начнется, прежде чем будут считаны 8 младших разрядов из порта В. При этом возможны ошибки трансляции данных.

В программе должна быть предусмотрена задержка 31 мкс после выполнения первой холостой команды ввода до выполнения команд ввода 2 и 3, считывающих преобразованные данные. Этот временной интервал складывается из времени, необходимого для выборки аналогового сигнала с помощью устройства выборки-хранения (6 мкс) и времени, в течение которого осуществляется цикл преобразования (25 мкс). С целью эффективного использования ЦПУ обращение к нему из ПИ происходит по сигналу прерывания, который формируется из сигнала окончания цикла преобразования, а в программе обработки прерывания осуществляется считывание данных.

Описанный выше метод позволяет значительно повысить точность преобразования изменяющегося во времени аналогового сигнала и скорость его ввода в ЦПУ. Теперь давайте рассмотрим приведенную ниже программу и попробуем оценить скорость ввода данных в ЦПУ.

Задача № 7 - программа ввода в ЦПУ изменяющегося во времени аналогового сигнала

Разберем следующую задачу программирования.

Адреса используемых портов ПИ определяются, как показано в Табл. 8.2 (тот же адрес, что и в примере на Рис. 8.2). Оба порта (А и В) ПИ устанавливаются в режим ввода (управляющий код - 4FH). Зададим начальный адрес загрузки данных в области ОЗУ равным 0900Н.


Команда ввода (порт А) 1 .

Задержка > 31 мкс

I

Команда ввода (порт В) 1 Команда ввода (порт A) J

Холостая команда ввода, вырабатывающая сигнал ARDY

Считывается первый 12-разрядный код

Задержка > 31 мкс I

Команда ввода (порт В) Команда ввода(порт А)

J

Считывается второй 12-разрядный код

Задержка > 31 мкс

Команда ввода (порт В) Команда ввода(порт А)

Считывается третий 12-разрядный код

Рис. 8.23. Порядок выполнения команд ввода при последовательном считывании данных

няется за 11 импульсов тактового сигнала, а команда «DJNZ», как мы уже знаем, вычитает 1 из содержимого регистра В. Если результат вычитания отличен от 0, осуществляется переход. Для выполнения этой команды требуется 8 импульсов тактовой частоты, если она совершается без перехода, или 13 импульсов - с переходом.

Задержка 32 мкс (блок 5) и 22 мкс (блок 12) реализуется с помощью циклически повторяющейся команды «DJNZ». Количество проходов цикла, соответствующее требуемому времени задержки, перед выполнением цикла загружается в регистр В. Давайте подсчитаем время, необходимое для выполнения отдельных частей программы. Для этого, как обычно, просуммируем количество импульсов тактовой частоты (соответствующие значения приведены на Рис. 8.24).

®

©

®

Начало )

Установка указателя стека - 1000Н

т

Загрузка кода 0900Н в пару регистров H-L

Установка портов А и В ПИ в режим ввода

©

Вырабатывается сигнал ARDY

Задержка 32 мкс

©

®

8 младших разрядов считываются из порта В

1

Это значение загружается в память по адресу, хранящемуся в H-L

1

HLHL + 1

4 старших разряда считываются из порта А

1

Это значение загружается в память по адресу, хранящемуся в H-L

+

HI <- HL+1

1

Задержка 22 мкс

HFT

Содержимое "ь1

регистра L = 0?

Конец )

ORG ООООН

APORTD EQU ОАОН

APORTC EQU 0А1Н

BPORTD EQU 0А2Н

BPORTC EQU ОАЗН

LD SP, 1000Н ® LD HL, 0900Н © LD A, 4FH 1 OUT (APORTC), а[® OUT (BPORTC), А! IN A, (APORTD) © LD В, 06H

LI : DJNZ LI

DATAIN: IN A, (BPORTD) © LD (HL), A ® INC HL®

IN A, (APORTD) (9) LD (HL), A © INC HL®

LD В, 04H

L2 : DJNZ L2 LD A, L

CP ООН\®

JP NZ, DATAIN END

Требуемое

число импульсов

(7) (13,8)

(П) (7) (6) (П) (7) (6) (7) (13,8) (4) (7) (10)

ис. 8.24. Схема алгоритма и программа для задачи № 7

i-2970



0 ... 31 32 33 34 35 36 37 ... 39