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

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

Московский институт


инженеров железнодорожного транспорта


--------------------------------------------------------------


Кафедра: Автоматизированные системы управления


АППАРАТНО-ПРОГРАММНЫЕ СРЕДСТВА ВВОДА-ВЫВОДА


АНАЛОГОВОЙ ИНФОРМАЦИИ В СИСТЕМАХ РЕАЛЬНОГО


РЕАЛЬНОГО ВРЕМЕНИ


Методические указания "Аппаратно-программные средства


систем сбора данных и управления"


М О С К В А 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 - биты кода устанавливаемого напряжения на выходе


<
p> ЦАП (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 с.


_

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

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

Слов:2514
Символов:23685
Размер:46.26 Кб.