Аппаратно-программные средства ввода/вывода аналоговой информации в системах реального времени

Доступен только на StudyGur

Тема:
Скачиваний: 0
Страниц: 8
Опубликован:
ЧИТАЙТЕ ПОЛНЫЙ ТЕКСТ ДОКУМЕНТА

ПРЕДПРОСМОТР

Московский институт
инженеров железнодорожного транспорта
-------------------------------------------------------------Кафедра: Автоматизированные системы управления
АППАРАТНО-ПРОГРАММНЫЕ СРЕДСТВА ВВОДА-ВЫВОДА
АНАЛОГОВОЙ ИНФОРМАЦИИ В СИСТЕМАХ РЕАЛЬНОГО
РЕАЛЬНОГО ВРЕМЕНИ
Методические указания "Аппаратно-программные средства
систем сбора данных и управления"
М О С К В А
1 9 9 2 г.
.
СОДЕРЖАНИЕ
1. ВВЕДЕНИЕ...........................................
2. ХАРАКТЕРИСТИКА КОНТРОЛЛЕРА ВВОДА-ВЫВОДА АНАЛОГОВОЙ
ИНФОРМАЦИИ.........................................
2.1. Назначение и устройство контроллера...........
2.2. Организация управления работой АЦП и ЦАП......
3. СРЕДСТВА ПРОГРАММИРОВАНИЯ ВВОДА-ВЫВОДА АНАЛОГОВОЙ
ИНФОРМАЦИИ.........................................
4. СРЕДСТВА ИЗМЕРЕНИЯ ВРЕМЕНИ В ПЭВМ..................
4.1. Назначение и функции таймера ПЭВМ.............
4.2. Программные средства для измерения времени....
5. Контрольные вопросы...........................
6. СПИСОК ЛИТЕРАТУРЫ..................................
.
1.ВВЕДЕНИЕ
При решении задач автоматизации контроля и управления техническими системами как правило возникает необходимость сбора и обработки информации,представленной в виде аналоговых электрических
сигналов.Источником информации при этом служат первичные преобразователи (датчики) ,преобразующие физические параметры системы в
электрический сигнал.При этом часто требуется,чтобы и управляющее
воздействие было представленно в аналоговой форме.
Решение такого рода задач основано на использовании аналогоцифровых (АЦП) и цифро-аналоговых (ЦАП) преобразователей. Требования,предъявленные
к выбору средств аналогового ввода-вывода,обусловлены,с одной стороны,характеристиками объекта контроля(количество и частотный спектр измеряемых параметров),а с другой стороны - необходимостью обеспечить совместимость (информаци-
онную,электрическую,конструктивную), с управляющей ЭВМ.
В настоящее время применяют два варианта подключения аналоговых устройств к ЭВМ.
-непосредственно к системной магистрали ЭВМ;
-с использованием промежуточного контроллера с выходом на
стандартный интерфейс (типа КАМАК,МЭК и т.п.)
В данной работе используются встроенный контроллер ввода-вывода аналоговой информации pro411B в составе IBM-совместимой ПЭВМ
"МАЗОВИЯ".
2. ХАРАКТЕРИСТИКА КОНТРОЛЛЕРА ВВОДА-ВЫВОДА АНАЛОГОВОЙ
ИНФОРМАЦИИ pro411B.
2.1.Назначение и устройство контроллера.
Контроллер pro411B реализован в виде платы для компьютеров
класса IBM PC XT/AT и предназначен для ввода-вывода аналоговых
сигналов с использованием АЦП и ЦАП.Плата контроллера размещается
внутри системного блока ПЭВМ, занимая один из свободных разьёмов
расширения, предназначенных специально для установки дополнительного оборудования ПЭВМ. При этом обеспечиваются основные требования по конструктивной, электрической и информационной совместимости контроллера с системной магистралью компьютера.Для подключения приёмников и источников аналоговых электрических сигналов
контроллер имеет специальный стандартизированный разъём, вынесенный на заднюю панель системного блока.
Структурная схема контроллера pro411B приведена на рис.1.
.
-------¬
¦
+-----T-------------------------------------------- ШУпр
¦ЦП/ОП +-----¦---------------T---------------------------- ШАдр
¦
+-----¦---------------¦-----------------T---------- ШДан
L------¦
¦
¦
--------¦
¦
¦
¦
¦
-----¦-----------------------¦-----------------¦--------------¬
¦----+---¬
--------------+-----------------+------------¬ ¦
¦¦
+-----+
ДшА
¦ ¦
¦¦
+-----+
¦ ¦
¦¦
¦
L-----T----------T----------T----------T------ ¦
¦¦
¦
¦
¦
¦
¦
¦
¦¦
¦
------¦----------¦----------¦----------¦-----¬ ¦
¦¦
+-----+-----+----¬-----+----¬-----+----¬-----+----¬¦ ¦
¦¦
¦
¦¦
P0
¦¦
P1
¦¦
P2
¦¦
P3
¦¦ ¦
¦¦
+-----+L----------L----------L----------L----------¦ ¦
¦¦
¦
L--------T-T-------------T---------------T---- ¦
¦¦
¦
¦ ¦
¦
¦
¦
¦¦
+--------T-----¦-¦------T------¦-------¬
¦
¦
¦¦ БУ
+--------+-T---¦-¦------+-T----¦-------+-¬
¦
¦
¦¦
¦
¦ ¦
¦ ¦
¦ ¦
¦
¦ ¦
¦
¦
¦¦
¦
---+-+---+-+--¬---+-+----+---¬---+-+-----+--¬ ¦
¦¦
¦
¦
¦¦
¦¦
¦ ¦
¦¦
¦
¦
АЦП
¦¦
ЦАП
¦¦
Таймер
¦ ¦
¦¦
¦
¦
¦¦
¦¦
¦ ¦
¦¦
¦
L------T-------L------T-------L-------------- ¦
¦¦
¦
¦
¦
¦
¦¦
¦
-------+------¬
¦
¦
¦¦
+-----+ Коммутатор ¦
¦
¦
¦¦
+-----+ каналов
¦
¦
pro411B
¦
¦L-------LT-T-T-------T¦
¦
L---------------¦-¦-¦-------¦--------¦------------------------¦ ¦ ¦
¦
¦
0 1 2
15
Вых
Рис. 1. Структурная схема контроллера pro411B
.
Блок управления(БУ) предназначен для организации взаимодействия
контроллера с системной магисталью ПЭВМ и обеспечивает согласованную работу всех его элементов. Системная магистраль подключена
непосредственно к центральному процессору(ЦП) и оперативной памяти (ОП) компьютера и состоит из трёх групп линий параллельной передачи:управления, адреса и данных. Связь с контроллером pro411B
осуществляется в асинхронном режиме и всегда только по инициативе
ЦП.
Особую роль для организации обмена данными с процессором играют специальные регистры контроллера, называемые портами ввода-вывода. Каждый порт ввода-вывода имеет уникальный адрес. Процессор
располагает специальными средствами, позволяющими по известному
адресу(ПЭВМ обеспечивает возможность адресовать до 65535 портов),
обращаться к любому порту ввода-вывода для чтения или записи данных. Контроллер pro411B имеет 4 однобайтных порта P0-P3 с адресами 300H-303H. Адреса соответствующих портов pro411B могут быть
изменены при помощи специальных переключателей, расположенных на
плате.
Таким образом, чтобы передать или получить информацию от устройства, прцессор в соответствующих линиях магистрали формирует
управляющий сигнал(чтение или запись), устанавливает адрес требуемоего порта и(в случае записи) посылает данные. Дешифратор адреса порта(ДшА) контроллера определяет, с каким из портов затребована связь, а блок управления реализует операцию чтения данных
из магистрали в порт или выдаёт данные из порта в магистраль.
С портами ввода-вывода связаны функциональные блоки контроллера: АЦП,ЦАП,таймер и коммутатор каналов. Коммутатор каналов
обеспечивает возможность подключения к АЦП нескольких источников
аналоговых сигналов. Таймер предназначен для настройки АЦП на требуемую частоту опроса, поддерживая режим автоматического запуска
через заданный прмежуток времени( от 18мкс до 65мс).
Блок АЦП контроллера pro411B обеспечивает преобразование напряжение-код методом последовательной аппроксимации и характеризуется следующими параметрами:
- разрядность кода:12 бит;
- диапазон входного напряжения: -10..+10 В;
- время преобразования: 15 мкс;
- число коммутируемых каналов: 16.
Блок АЦП реализует режим работы с автоматическим переключением
каналов, а также предоставляет возможность призводить как внешний (программный), так и внутренний (автоматический) запуск через
заданный интервал времени.
Блок ЦАП контроллера имеет следующие характеристики:
- разрядность кода: 12 бит;
- диапазон выходного напряжения: -10..+10 В;
- время стабилизации выходного напряжения: 500 нс;
- скорость нарастания выходного напряжения: 0.5 В/мкс;
- количество выходов: 1.
.
2.2 Организация управления работой АЦП и ЦАП
Как отмечалось выше, связь ЦП ЭВМ с контроллером pro411B
организуется путём обмена данными с портами ввода-вывода, имеющими адреса 300H-303H.При этом ЦП является активной стороной
и имеет возможность в произвольные моменты времени выполнять
операции чтения данных из любого порта или записи данных в
порт. Каждый из портов предназначен для обмена информацией
строго определённого назначения и формата. Более того, один и
тот же порт может использоваться для данных различного типа в
зависимости от того, какая операция (чтение или запись) выполняется.В таблице 1 дано описание функций, реализуемых путём
записи или чтения портов ввода-вывода контроллера pro411B.
Таблица 1
Назначение портов ввода-вывода контроллера pro411B
------T--------T-----------------------T-------------------------¬
¦АДРЕС¦ОПЕРАЦИЯ¦
ФОРМАТ
¦
НАЗНАЧЕНИЕ
¦
¦ПОРТА¦
+--T--T--T--T--T--T--T--+
¦
¦
¦
¦ 7¦ 6¦ 5¦ 4¦ 3¦ 2¦ 1¦ 0¦
¦
+-----+--------+--+--+--+--+--+--+--+--+-------------------------+
¦
¦ запись ¦b7¦b6¦b5¦b4¦b3¦b2¦b1¦b0¦Младшие 8 бит кода ЦАП
¦
¦300H +--------+--+--+--+--+--+--+--+--+-------------------------+
¦
¦ чтение ¦a7¦a6¦a5¦a4¦a3¦a2¦a1¦a0¦Младшие 8 бит кода АЦП
¦
+-----+--------+--+--+--+--+--+--+--+--+-------------------------+
¦
¦ запись ¦c3¦c2¦c1¦c0¦b ¦b ¦b9¦b8¦Старшие 4 бита кода ЦАП ¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦и номер канала АЦП
¦
¦301H +--------+--+--+--+--+--+--+--+--+-------------------------+
¦
¦ чтение ¦c3¦c2¦c1¦c0¦a ¦a ¦a9¦a8¦Старшие 4 бита кода АЦП ¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦и номер канала АЦП
¦
+-----+--------+--+--+--+--+--+--+--+--+-------------------------+
¦
¦ запись ¦ X¦ X¦ Z¦ D¦t3¦t2¦t1¦t0¦Установка режимов АЦП
¦
¦302H +--------+--+--+--+--+--+--+--+--+-------------------------+
¦
¦ чтение ¦ X¦ X¦ X¦ X¦ X¦ E¦ R¦ X¦Признаки формирования
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦кода АЦП
¦
+-----+--------+--+--+--+--+--+--+--+--+-------------------------+
¦303H ¦ запись ¦произвольное значение ¦Запуск АЦП на измерения ¦
L-----+--------+--+--+--+--+--+--+--+--+-------------------------В таблице испоьзованы следующие обозначения:
а11...а0 - биты кода измеренного напряжения на входе АЦП
(0-4095);
b11...b0 - биты кода устанавливаемого напряжения на выходе
ЦАП (0-4095);
с3...с0 - номер канала АЦП (0-15);
t3...t0 - номер эадаваемой временной задержки между запусками АЦП в автоматическом режиме(0-15);
D - бит установки режима автоматического запуска АЦП (D=1);
Z - бит установки режима автоматического декрементирования
номера канала АЦП (Z=1);
R - бит признака готовности кода АЦП к считыванию (R=1 преобразование закончено, данные готовы к считыванию);
E - бит признака ошибки набегания (E=1 -сформирован новый
код АЦП при невостребованном старом);
X - неиспользуемые разряды (устанавливаются в 0).
.
3. СРЕДСТВА ПРОГРАММИРОВАНИЯ
ИНФОРМАЦИИ
ВВОДА-ВЫВОДА АНАЛОГОВОЙ
Программное управление работой контроллера аналогового устройства осуществляется с использованием операций чтения/записи
применительно к портам ввода-вывода.
На языке ТурбоПаскаль для обращения к портам применяется специальная языковая конструкция Port[<адрес_порта>:word],обладающая
всеми свойствами массива значений типа byte,индексируемого по адресу порта в пределах 0..65535 (в десятичной системе) или
O..FFFF (в шестнадцатиричной). Ниже приведён пример использования
конструкции Port:
var x,y:byte;
var
a:word;
begin
a:=$300;
x:=Port[a]; {чтение из порта с адресом a}
y:=1;
Port[$303]:=y {запись в порт с адресом 303H}
Port[$302]:=32+16 {
end;
4. СРЕДСТВА ИЗМЕРЕНИЯ ВРЕМЕНИ В ПЭВМ
4.1.Назначение и функции таймера ПЭВМ
Для контроля текущего времени и измерения временных интервалов
ПЭВМ имеет специальное устройство, называемое таймером[4]. Таймер
состоит из трёх идентичных независимых блоков, называемых каналами. Канал 0 используется непосредственно для организации подсчёта
текущего времени, а также для синхронизации дисковых операций.
Канал 1 управляет процессом регенерации оперативной памяти. Канал
2 используется для генерации звуковых сигналов.
Вход каждого канала таймера связан с генератором тактовых импульсов ПЭВМ, при этом частота импульсов, подаваемых на вход таймера Fвх постоянна и равна 1193180 Гц для всех типов ПЭВМ IBM. На
выходе канала таймера также формируется последовательность импульсов,частота которой Fвых зависит от значения D, записанного в
специальный 16-разрядный регистр "задержки" канала в соответствии
с выражением:
Fвых = Fвх/D
Таким образом таймер осуществляет "деление" входной тактовой
частоты, реализуемое при помощи счётчика тактовых импульсов. Первоначально в регистр счётчика помещается число D, которое затем
уменьшается на единицу каждый раз, когда импульс от тактового генератора пропускается через канал. Когда значение счётчика достигает нуля, канал таймера изменяет уровень выходного сигнала на
противоположный и вновь загружает в счётчик число D, после чего
процесс повторяется.
Настройка каналов таймера на требуемую выходную частоту осуществляется программным путём при обращении к специальным портам
таймера(40H-42H).Обычно настройка производится автоматически при
загрузке операционной системы, для чего имеются специальные процедуры базовой системы ввода-вывода (BIOS) ПЭВМ. При этом в регистр задвижки канала 0, используемого для подсчёта текущего времени, записывается число D=65535(FFFFH), обеспечивающее значение
выходной частоты Fвых = 18.2 Гц.
Следует отметить, что таймер работает независимо от ЦП, оказывая, в то же время, постоянное воздействие на ЦП через систему
аппаратных прерываний. Механизм прерываний лежит в основе метода
подсчета текущего времени, используемого в ПЭВМ. Метод иллюстрируется схемой, приведённой на рис.2.
.
-------------¬
¦ Генератор ¦
¦ тактовых
¦
¦ импульсов ¦
L-----T------¦
¦
Fвх=119380 Гц
¦
------+------¬
¦ Таймер
¦
¦ (канал 0) ¦
L-----T------¦
¦
Fвых=18.2 Гц
¦
------+------¬
¦ Контроллер ¦
¦ прерываний ¦
L-----T------¦
¦
IRQ 0
¦
------+------¬
¦ Центральный¦
¦ процессор ¦
L-----T------¦
¦
INT 8
¦
------+------¬
¦ Программа ¦
¦ обработки ¦
¦ прерывания ¦
¦
INT8
¦
L-----T------¦
¦
¦
------+------¬
¦СчТB=СчТB+1 ¦
L------------Рис.2. Последовательность операций при подсчете текущего
времени
.
Импульсы с выхода канала 0 таймера поступают на контроллер
прерываний ПЭВМ, который вырабатывает сигналы прерывания с кодом
IRQ0,соответствующим прерыванию от таймера. Прерывания возникают
18.2 раза в секунду, т.е. приблизительно каждые 55мс. ЦП, получив
прерывание, приостанавливает работу и передаёт управление специальной программе обработки прерывания от таймера INT8 в BIOS.
Программа обработки увеличивает на 1 значение 4-байтового счётчика
текущего времени(СчТВ), хранящегося в памяти по адресу
0040Н:006CН.
Анализируя содержимое счётчика в различные моменты времени,
можно измерять временные интервалы и определять текущее время суток.Например, если известны значения СчТВ n1 и n2, полученные в
моменты t1 и t2, то величину интервала dt=t2-t1 можно вычислить
по формуле:
dt=(n2 - n1)/18.2
(3.1)
Обычно при загрузке операционной системы СчТВ обнуляется (сказанное относится к ПЭВМ типа XT, не имеющим часов реального
времeни с автономным источником питания), что соответствует установке текущего времени 0час 0мин 0.0сек или, как принято обозначать в DOS: 00:00:00.00. Максимальное значение, которое может содержать счетчик, соответствует 23:59:59.99 и равно
((23*60+59)*60+59)*18.2+99=1573039
Любое значение СчТВ в интервале 0..1573039 может интерпретироваться
как текущее время суток после выполнения соответствующих арифметических преобразований, для чего имеются необходимые программные
средства как в DOS, так и в системах программирования (см. п.
4.2).Следует отметить, что программа обработки прерывания от таймера INT8 обеспечивает автоматический сброс значения СчТВ в ноль
при достижении максимального значения.
4.2.Программные средства для работы с таймером ПВЭМ
Программное прерывание
DOS
INT21H содержит две функции,
обеспечивающие чтение и установку текущего времени суток и выполняющие необходимые преобразования между значениями СчТВ и часами-минутами-секундами. Время выдаётся с точностью до 0.01 секунды, но поскольку счётчик времени обновляется с частотой в 5 раз
меньше, то показание сотых долей секунды весьма приблизительное.
Функция 2CH выдаёт, а функция 2DH -устанавливает время. В обоих
случаях используются одни и те же регистры процессора:
AH - номер функции;
CH - часы(от 0 до 23);
CL - минуты(от 0 до 59);
DH - секунды(от 0 до 59);
DL - сотые доли секунды(от 0 до 99).
Функция установки текущего времени производит запись в СчТВ
числа, соответствующего заданным значениям параметров CH...DL.
Язык командного процессора MS DOS содержит встроенную команду
time, обеспечивающую чтение и установку текущего времени суток в
диалоговом режиме с использованием формата DOS.В ПЭВМ, не имеющих
часов с автономным питанием, рекомендуется выполнять команду time
перед началом каждого сеанса работы.
Системы программирования на языках высокого уровня(Паскаль,
Бейсик, Си) содержат собственные процедуры чтения и установки текущего времени и, кроме того, содержат дополнительные возможности
по измерению времени.
В системе Турбо Паскаль 5.5 для установки и чтения текущего
времени предназначены процедуры SetTime и GetTime модуля DOS:
SetTime(var Hour,Minute,Second,Sec100:word)
GetTime(var Hour,Minute,Second,Sec100:word),
где Hour -часы, Minute -минуты, Second -секунды, Sec100 -сотые
доли секунды.
Рассмотренные выше программные средства можно использовать
для измерения временных интервалов. При этом, однако, если
нужно оценить интервал в несколько секунд, потребуется отслеживать изменение сразу трeх переменных (Hour,Minute,Second).
Поэтому, в данном случае, целесообразно было бы располагать
одной переменной времени, а именно значением СчТВ. В Турбо
Паскале имеется возможность непосредственно прочитать содержимое СчТВ из памяти с использованием конструкции MemL. Например:
var TimeCount: longint;
. . .
TimeCount:=MemL[$0040 : $006C];
В этом случае оценка временных интервалов сводится к простому
расчeту по формуле (3.1).
5. Контрольные вопросы
1. Назовите основные функциональные блоки контроллера pro411B.
2. Каковы режимы функционирования АЦП?
3. Что такое цикл опроса, и от каких факторов зависит его деятельность?
4. Что такое ошибка набегания?
5. Каким образом определяется готовность АЦП к считыванию кода преобразованного
напряжения?
6. Объясните используемый принцип управления работ ЦАП.
7. От каких факторов зависит быстродействие программы вывода данных через ЦАП?
8. Каков механизм организации контроля текущего времени в ПЭВМ?
9. Назовите способы определения длительности временных интервалов в ПЭВМ.
Каково точность измерения?
6. Список литературы.
1. Краус М., Кучбах Э., Вошми О. Г. Сбор данных в управляющих вычислительных
системах: М.: Мир, 1987.-294 с.
2. Блок 12-битного АЦП для компьютеров IBM PC XT/AT: -Научно-производственное
предприятие proТЕСТ: Варшава, 1990.
3. Микропроцессоры: в 3 кн. Кн. 25 средства сопряжения. Контролирующие и
информационно-управляющие системы:/ В. Д. Вернер, И. В. Воробьёв, А. В. Горячев
и др.; под ред Л. Н. Преснухина.-Мн. Выш. шк. ;1987 -303 с.
4. Джордайн Р. Справочник программиста персональных компьютеров типа IBM PC
XT/AT: - М. Финансы и статистика, 1991 - 544 с.
_
ЗАРЕГИСТРИРУЙТЕСЬ - ЭТО БЕСПЛАТНО

Похожие документы

Микроконтроллерный регулятор оптимальной системы управления

... Рис.12. Анализ по постоянному току в случае I Д  20 мА. ...

docx | 441.4 kB | 42 страниц