Схемотехніка апаратного інтерфейсу керування зовнішніми пристроями

Олег Желюк

Існує значна кількість апаратних засобів робота яких ґрунтується на системі команд та керуючих сигналів від персонального комп’ютера. Такі пристрої виготовлялись в час виникнення ЕОМ і будуть проектуватись надалі. Без них неможливо використання сучасних комп’ютерних засобів у промисловості, наукових дослідженнях, діловиробництві, побуті, навчальних закладах та інших сферах людської діяльності. Такі пристрої можуть бути використані для навчальних потреб у шкільному курсі, для керування фізичними приладами, пристроями автоматики, світлодинамічними установками, пристроями динамічної індикації та іншими засобами, що можуть використовуватись для потреб навчальних закладів, виробництва та побуту. Їх використання в навчальному фізичному експерименті дозволяє автоматизувати ряд експериментальних досліджень, підвищити точність вимірювань, забезпечити наближення до сучасних наукових експериментальних методів.

Керування зовнішніми пристроями засобами комп’ютерної техніки передбачено програмно на основі як спеціалізованих операційних систем, створених для специфічних потреб, так і традиційно поширених таких як MS-DOS та Windows. Керування пристроями та обмін даними здійснюється через спеціальні “ворота” (канали), які отримали назву “порти”. В сучасних комп’ютерах використовують спеціалізовані порти двох типів – паралельні синхронні порти стандарту Centronics (LPT) та послідовні асинхронні порти стандарту RS-232 (COM). Паралельні порти мають імена «LPT1», «LPT2», а послідовні «COM1», «COM2», «COM3» … До портів підключають також пристрої, без яких роботу сучасної ЕОМ важко уявити: маніпулятор “мишка”, принтер, модем, сканер та ін.

В літературі здебільшого керування паралельними та послідовними портами описується на рівні регістрів цих портів на мові програмування Assembler. Це не дивно. Послідовний порт досить “повільний” та специфічний. Паралельний порт “швидший”. Створити програму для роботи з портами, знаючи алгоритм їх дії не викликає значних складнощів. Стандарт роботи паралельного порту на відміну від послідовного передбачає більш простий і доступний алгоритм для самостійного засвоєння, що і сприяє знайомству та розгляду основ роботи з зовнішніми пристроями саме на базі цього порту.

Термін “паралельний порт” досить часто асоціюють з терміном “принтерний порт”, оскільки він є самим зручним засобом сполучення друкуючого пристрою з ЕОМ. Для роботи паралельного порту IBM — сумісні ЕОМ використовують єдиний стандартний інтерфейс Centronics. Через паралельний порт відбувається обмін даними з рядом стандартних пристроїв: адаптери, комп’ютери, принтери, сканери, багатофункціональні пристрої та ін. Слід відмітити, що в навчальній практиці паралельний порт може використовуватись не тільки традиційно для роботи з принтером, але і для керування різноманітними пристроями за допомогою зовнішніх інтерфейсних засобів створених для виконання специфічних потреб користувачів.

Термін “паралельний порт” виник завдяки функціональній особливості: передачі інформації по одному байту (8 біт). При цьому для передачі даних використовується 8 провідників — ліній, по одній на кожен біт. Такі провідники утворюють восьми бітну шину даних. Біти інформації передаються одночасно з однією і тією ж швидкістю по індивідуальним провідникам. Оскільки використовуються 8 провідників для передачі даних, інформація може передаватись у 8 разів швидше, ніж по однопровідній лінії, що зумовлює основну перевагу паралельного порту на відміну від послідовного. А так як передача даних через порт здійснюється відповідно до паралельної обробки інформації в самому комп’ютері то такий метод передачі даних є одним з найбільш ефективних. Незважаючи на те, що використовується тільки 8 інформаційних ліній для повноцінного обміну з зовнішніми пристроями до порту входять ще ряд додаткових керуючих сигналів з відповідними провідниками.

Табл. 1.

Функціональне призначення контактів паралельного порту

 

КОНТАКТ
25-pin
СИГНАЛ ВХІД/ВИХІД
1 Strobe Вихід
2 Data0 Вихід
3 Data1 Вихід
4 Data2 Вихід
5 Data3 Вихід
6 Data4 Вихід
7 Data5 Вихід
8 Data6 Вихід
9 Data7 Вихід
10 Ask Вхід
11 Busy Вхід
12 PE Вхід
13 Select Вхід
14 Autofd Вихід
15 Error Вхід
16 Init Вихід
17 Slct In Вихід
18 – 25 Ground

Стандарт IBM — сумісних ЕОМ передбачає взаємодію трьох паралельних портів, яким призначені базові адреси 03BCh, 0378h та 0278h для передачі даних. В будь-якій системі ці адреси мають бути унікальними, тобто два паралельні порти не можуть використовувати одну й ту ж базову адресу. В IBM — сумісних системах за паралельними портами зарезервовано три спеціалізованих логічних імені, що підтримуються системою LPT1, LPT2, LPT3. Абревіатуру LPT можна подати як Line Printer. Сучасні IBM — сумісні комп’ютери здебільшого оснащені вбудованими паралельними портами і в основному не використовують базову адресу 03BCh. Стандартне функціональне призначення контактів гнізда паралельного порту для використання його в роботі з друкуючим пристроєм наведено в таблиці 1.

 

Strobe – сигнал для синхронізації запису даних в друкуючий пристрій.

Data0 — Data7 – лінії 8-ми бітної шина даних.

Ask (Asknowledge) – при переході з високого рівня на низький сигналізує про завершення вводу даних.

Busy – низький рівень сигналізує про готовність принтера до прийому даних. Під час друку, вводу даних, знаходження принтера в автономному режимі, або помилці встановлюється сигнал високого рівня.

PE (Paper Empty) – встановлюється високий рівень при закінченні паперу.

Select – високий рівень сигналізує про те, що принтер приєднано.

Autofd – при встановленні низького рівня папір автоматично переміщується на наступний рядок (активний рівень встановлюється перемикачами на принтері).

Error – при відмові принтера, відсутності паперу, автономному режимі та помилці встановлюється низький рівень.

Init (Input Prime) – при встановленні низького рівня буфер друку очищується, а контролер принтера встановлюється у вихідний стан.

Slct In – при низькому рівні задається можливість вводу даних (активний рівень встановлюється перемикачами на принтері).

 

Для знайомства з роботою та контролю дії восьми бітної шини даних паралельного порту доцільно виготовити світлодіодний індикатор. Принципова схема такого пристрою зображена на рис. 1. Індикаторами стану ліній паралельного порту є напівпровідникові світлодіоди HL1 – HL8 типу АЛ307 або інші з випромінюванням у видимому діапазоні та робочим струмом до 20 мА. Враховуючи конструктивні обмеження ліній паралельного порту по вихідному струму, а також для обмеження струму світлодіодів, відповідно до технічних умов, послідовно до HL1 – HL8 включено резистори R1 — R8. Світлодіодний індикатор з’єднують групою гнучких провідників з паралельним портом ЕОМ через 25-ти контактне гніздо. Дані, що поступають до паралельного порту через 8 інформаційних ліній відповідають стандарту TTL (транзисторно-транзисторної логіки), який зумовлює напругу логічної “1” не більше 5 В, а напругу логічного “0” близько 0 В.

1

Рис. 1.

Основи програмного керування паралельним портом через 8 бітну шину даних (Data0 – Data7) можна розглянути, скориставшись наведеними програмами. Програми створені з використанням мови програмування Turbo Basic, що разом з простим та комфортним інтерфейсом користувача дозволяє зручне компілювання та створення виконуваних *.exe – файлів. Програмні засоби дозволяють реалізувати таймери, хронометри, спускові пристрої, системи “старт-фініш”, ефективні технічні засоби для знайомства з двійковим рахунком, встановлення відповідності чисел десяткової та двійкової систем числення, змоделювати дію світлофора, здійснити динамічні ефекти “Біжучий вогонь” та ін. В наведених програмах використовується паралельний порт LPT1 з адресою 0378h. Слід відмітити, що можливі випадки коли в залежності від особливостей апаратного виконання конкретної ЕОМ адреси паралельного порту можуть бути 0278h, або 03BCh.

Після знайомства з роботою 8-бітної шини даних для подальшого знайомства з роботою паралельного порту доцільно розглянути роботу ліній, що використовується для передачі керуючих сигналів. До таких ліній належать вихідні лінії Strobe, Autofd, Init, Slct In. Для знайомства з функціональною дією цих ліній схему індикатора необхідно доповнити попарними ланцюжками з послідовно з’єднаного резистора та світлодіода аналогічно до ланцюжків індикації стану шини даних. Такі ланцюжки підєднують відповідно між контактами 1, 14, 16, 17 та 18-25 гнізда паралельного порту. Програмно сигнали на лініях Strobe, Autofd, Init, Slct In встановлюються при звертанні за адресою 037Ah, або 027Ah, 03BEh. Слід відмітити, що паралельний порт може використовуватись не тільки  для виводу інформації, але й для вводу даних, сприймати та проводити подальшу обробку сигналів, що надходять на вхідні лінії Ask, Busy, PE, Select, Error. Для зчитування даних із цих ліній використовують адреси 0379h, або 0279h, 03BDh.

Світлодіодний індикатор не потребує дефіцитних комплектуючих і спеціалізованого обладнання для налагодження. Він може бути виготовлений силами учнів в позаурочний час на гуртках радіофізичного профілю.

 

 

rem Переводимо з десяткового у двiйкове

cls

input «Уведіть десяткове число від 0 до 255»;d

out &h378,d

print «Спостерігайте за свіченням свiтлодiодiв на індикаторі»

print «Свiтлодiоду, що світить відповідає — 1. Іншим — 0»

end

rem Двiйковий рахунок

cls

for i=0 to 255

out &h378,i

delay .1

next

end

 

 

rem Ефект «Біжучий вогонь»

cls

for i=1 to 10

for j=0 to 8

out &h378,2^j

delay .15

next j

next i

end

 

 

rem «Світлофор»

cls

for i=1 to 10

out &h378,1: delay 3

out &h378,2: delay 1

out &h378,4: delay 3

out &h378,2: delay 1

next i

end

 

 

rem Ефект «Світимо по черзі»

cls

out &h378,1

delay .5

out &h378,2

delay .5

out &h378,4

delay .5

out &h378,8

delay .5

out &h378,16

delay .5

out &h378,32

delay .5

out &h378,64

delay .5

out &h378,128

delay .5

out &h378,256

delay .5

end

 

 

На практиці для керування пристроями та експериментальними засобами від комп’ютера необхідно виготовити зовнішній пристрій — апаратний інтерфейс. Схема такого зовнішнього апаратного інтерфейсу, який підєднується до однієї з лінії шини даних паралельного порту зображено на рис. 2. Апаратний інтерфейс забезпечує комутацію електричного кола з допомогою контактів реле К1. При необхідності комутації декількох різних виконуючих пристроїв відповідно збільшують кількість апаратних інтерфейсних схем які підєднують до інших ліній шини даних паралельного порту. Транзистор VT1 вибирають n-p-n типу, такий щоб забезпечував струм спрацювання реле К1. Чутливість схеми регулюють підбором резистора R1. Діод VD1 забезпечує захист транзистора VT1 від екстраструмів розмикання. Реле К1 необхідно підібрати таке, щоб надійно спрацьовувало при напрузі живлення 4 – 5 В, а  його контакти витримували струм зовнішніх комутуючих пристроїв.

2

Рис. 2.

Схеми з використанням в якості комутуючих елементів електромагнітних реле мають як свої переваги так і недоліки. Основною перевагою схем з реле можна вважати можливість забезпечення гальванічної розв’язки між схемою управління та комутуючими пристроями. До недоліків слід в першу чергу віднести значний час спрацювання та гістерезис контактів реле, а також прояв ряду нестабільних вольт-амперних характеристик, зумовлених конструктивними особливостями електромагнітних реле, на елементи електричного кола в момент комутації, що в ряді випадків негативно впливає на достовірність та точність експериментальних даних. Частково вплив таких недоліків можна зменшити використавши в якості комутуючих елементів напівпровідникові прилади. Схема інтерфейсу з триністором для комутації кола з лампою розжарення подана на рис. 3.

3

Рис. 3.

Триністор VS1 вибирається в залежності від вимог до споживаного струму в колі та комутованої напруги. Така схема працює в колі змінного струму з комутованою напругою від декількох одиниць до декількох сотень вольт. При цьому в якості комутуючих елементів використовують триністори КУ201, КУ202 з буквенними індексами, що відповідають комутованій напрузі, або інші які забезпечують накладені технічні умови. За такими ж вимогами підбирають діоди випрямляча VD1-VD4.

Дещо спрощується конструкція інтерфейсу при використанні схеми виконаної за рис. 4. В цій схемі використано симетричний триністор – симістор. Комутуючі елементи підключаються до клем ХР1.

4

Рис. 4.

Схеми інтерфейсів зображених на Рис. 2 — Рис. 4 допускають комутацію споживачів з активним та реактивним характером навантаження. При використанні інтерфейсу виконаному за схемою на Рис.3 необхідно враховувати, що в колі навантаження буде проходити постійний пульсуючий струм, що потребує врахування при роботі з реактивним навантаження. При роботі з інтерфейсами виконаними за схемами на Рис.3 та Рис.4 слід пам’ятати, що у випадку їх живлення безпосередньо від побутової мережі змінного струму 220 В комутуючі елементи, інтерфейс та сам комп’ютер знаходяться під потенціалом мережі. Для забезпечення гальванічної розв’язки з мережею в такому випадку використовують роздільні трансформатори з одиничним коефіцієнтом трансформації. При роботі з джерелом високої напруги необхідно вжити всі заходи щодо забезпечення вимог техніки безпеки. Вказаних недоліків позбавлена схема з використанням оптичних пар світлодіод–фотоелемент — оптронів, що забезпечує гальванічну розв’язку між елементами комутації та керуючим комп’ютером. Інтерфейси з використанням оптронів зображені на схемах Рис. 5 та Рис. 6.

5

Рис. 5.

 

Функціонально робота інтерфейсів за схемами на Рис. 4 та Рис. 5 є аналогічною. Перевага інтерфейсу за схемою Рис. 6 в тому, що для забезпечення дії допоміжних елементів не вимагається додаткового зовнішнього джерела живлення напругою 5 В.

У випадку коли споживана потужність комутуючих елементів перевищує декілька десятків Ватт триністори та випрямляючі діоди розташовують на радіаторах. Для забезпечення роботи схем запропонованих зовнішніх інтерфейсів використовують джерело живлення напругою 5 В, що забезпечує струм 100 мА.

6

Рис. 6.

В залежності від потреб користувача та алгоритму комутації виконуючих пристроїв створюють програму-драйвер для керування роботою апаратного інтерфейсу. Як приклад таку програму наведено для створення світлодинамічної установки, що разом з відповідними схемами восьми зовнішніх інтерфейсів (по одному на кожну лінію шини даних) дозволяє створити автоматичну установку для світлового супроводу.

 

‘Динамiчна установка

dim k(9)

for l=1 to 9: read s: k(l)=s: next l

data 3,14,8,6,8,8,8,16,16: ‘Значення фiксованих режимiв

1 for n=1 to 9

d=k(n): ‘Кiлькiсть параметрiв у фiксованому режимi

gosub 2

out &h378,0: delay .25: out &h378,255: delay .25: out &h378,0: delay .25

‘Роздiловий фрагмент

for p=1 to 8

for i=1 to d

read a: out &h378, a

delay .5

next i

next p

next n

goto 1

data 146,73,36

data 1,2,4,8,16,32,64,128,64,32,16,8,4,2

data 129,195,231,255,231,195,129,0

data 129,66,36,24,36,66

data 224,0,224,0,7,0,7,0

data 24,60,126,255,126,60,24,0

data 136,204,238,255,119,51,17,0

data 1,3,7,15,31,63,127,255,254,252,248,240,224,192,128,0

data 192,160,144,72,36,18,9,5,3,5,9,18,36,72,144,160: stop

2 for b=1 to 50: out &h378, int(rnd(1)*255): delay .2: next b: return

‘Випадковi спалахи

 

Директор Рівненського міського

природничо-математичного ліцею,

Кандидат педагогічних наук,

Заслужений вчитель України

Желюк Олег Миколайович.

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

26.01.2017 PGurov

 Метки: ,

Comments are closed.