ЗМІСТ
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.
.
-------¬< Br />
| +----- T ------------------------------------------ - ШУпр
| ЦП/ОП +-----|--------------- T ----------------------- ----- Шадра
| +-----|---------------|----------------- T -------- - ШДан
L ------- | | |
--------- | |
| | |
-----|-----------------------|-----------------|-- ------------¬< br />
|----+---¬ --------------+-----------------+------- -----¬ |
| | +-----+ ДША | |
| | +-----+ | |
| | | L ----- T ---------- T ---------- T ---------- T ------ |
| | | | | | | |
| | | ------|----------|----------|----------|-----¬ |
| | +-----+-----+----¬-----+----¬-----+----¬-----+-- - ¬ | |
| | | | | P0 | | P1 | | P2 | | P3 | | |
| | +-----+ L ---------- L ---------- L ---------- L ------- --- | |
| | | L -------- TT ------------- T --------------- T ---- |
| | | | | | | |
| | +-------- T ----- |-|------ T ------ |-------¬ | |
| | БВ +--------+- T --- |-|------+- T ---- |-------+-¬ | |
| | | | | | | | | | | | | |
| | | ---+-+---+-+--¬---+-+----+---¬---+-+-----+--¬ | < br />
| | | | | | | | | |
| | | | АЦП | | ЦАП | | Таймер | |
| | | | | | | | | |
| | | L ------ T ------- L ------ T ------- L -------------- | < br />
| | | | | |
| | | -------+------¬ | |
| | +-----+ Коммутатор | | |
| | +-----+ Каналів | | pro411B |
| L -------- LT-T-T ------- T-| |
L --------------- |-|-|-------|--------|------------ -------------< br />
| | | | |
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 ---------- ---------------¬< br />
| АДРЕСА | ОПЕРАЦІЯ | ФОРМАТ | ПРИЗНАЧЕННЯ |
| ПОРТУ | + - T - T - T - T - T - T - T - + |
| | | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
+-----+--------+--+--+--+--+--+--+--+--+---------- ---------------+< br />
| | Запис | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Молодші 8 біт коду ЦАП |
| 300H +--------+--+--+--+--+--+--+--+--+-------------- -----------+< br />
| | Читання | a7 | a6 | a5 | a4 | a3 | a2 | a1 | a0 | Молодші 8 біт коду АЦП |
+-----+--------+--+--+--+--+--+--+--+--+---------- ---------------+< br />
| | Запис | c3 | c2 | c1 | c0 | b | b | b9 | b8 | Старші 4 біта коду ЦАП |
| | | | | | | | | | | І номер каналу АЦП |
| 301H +--------+--+--+--+--+--+--+--+--+-------------- -----------+< br />
| | Читання | c3 | c2 | c1 | c0 | a | a | a9 | a8 | Старші 4 біта коду АЦП |
| | | | | | | | | | | І номер каналу АЦП |
+-----+--------+--+--+--+--+--+--+--+--+---------- ---------------+< br />
| | Запис | X | X | Z | D | t3 | t2 | t1 | t0 | Встановлення режимів АЦП |
| 302H +--------+--+--+--+--+--+--+--+--+-------------- -----------+< br />
| | Читання | X | X | X | X | X | E | R | X | Ознаки формування |
| | | | | | | | | | | Коду АЦП |
+-----+--------+--+--+--+--+--+--+--+--+---------- ---------------+< br />
| 303H | запис | довільне значення | Запуск АЦП на вимір |
L ----- +--------+--+--+--+--+--+--+--+--+---------- ----------------< br />
У таблиці іспоьзовани наступні позначення:
а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.
.
-------------¬< Br />
| Генератор |
| Тактових |
| Імпульсів |
L ----- T -------
|
| Fвх = 119380 Гц
|
------+------¬< Br />
| Таймер |
| (Канал 0) |
L ----- T -------
|
| Fвих = 18.2 Гц
|
------+------¬< Br />
| Контролер |
| Переривань |
L ----- T -------
|
| IRQ 0
|
------+------¬< Br />
| Центральний |
| Процесор |
L ----- T -------
|
| INT 8
|
------+------¬< Br />
| Програма |
| Обробки |
| Переривання |
| INT8 |
L ----- T -------
|
|
|
------+------¬< Br />
| СчТ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 с.
?