Сучасні інтерфейси інформаційно-вимірювальних систем електро-механічних об’єктів
Сучасні інтерфейси інформаційно-вимірювальних систем електро-механічних об’єктів
2
СУЧАСНІ ІНТЕРФЕЙСИ ІНФОРМАЦІЙНО-ВИМІРЮВАЛЬНИХ
СИСТЕМ ЕЛЕКТРО-МЕХАНІЧНИХ ОБ'ЄКТІВ
План
1. Призначення та характеристики інтерфейсів в ІВС
2. Інтерфейс RS-232C
3. Інтерфейси RS-485 і RS422
4. Інтерфейс USB
1. Призначення та характеристики інтерфейсів в ІВСДля функціонування будь-якої ІВС необхідно забезпечити взаємодію між усіма її функціональними блоками ї зовнішніми системами або пристроями. Для цього, в більшості випадків, використовують стандартні інтерфейси. Під інтерфейсом ІВС мається на увазі сукупність правил (протоколів) і програмного забезпечення процесу обміну інформацією між функціональними блоками, а також відповідних технічних засобів спряження функціональних блоків у системі [1].Використання стандартних інтерфейсів дозволяє значно зменшити трудомісткість проектування, експлуатаційні витрати, забезпечити уніфікацію функціональних блоків. До складу сучасної ІВС, як правило, входять аналогові, цифрові, та аналого-цифрові функціональні блоки. Внаслідок того, що в сучасних ІВС переважна більшість інформації представлена у цифровому вигляді, в подальшому розглянемо тільки найбільш поширені сучасні цифрові інтерфейси, тим більше що інформації про них у вітчизняній технічній літературі недостатньо.Згідно [1], цифрові інтерфейси за характером управління поділяються на централізовані та децентралізовані, за системою шин інформаційних та службових сигналів - на об'єднані та роз'єднані, за організацією системи шин - на радіальні та колективні, за порядком обміну інформацією - на послідовні та паралельні, за методом обміну інформації - на синхронні та асинхронні. Майже всі сучасні цифрові інтерфейси є програмованими інтерфейсами, тобто існує можливість програмним шляхом змінювати їх режими роботи та деякі параметри.До основних параметрів інтерфейсів відносяться швидкість обміну даними, довжина лінії зв'язку, формат та розрядність даних, направленість, максимально допустима кількість об'єктів, що обслуговуються, завадостійкість, імовірність помилки передачі даних, тип каналу передачі даних, життєздатність, енергоспоживання та інші.Інтерфейси стандартизуються та рекомендуються до використання Міжнародною електротехнічною комісією та іншими профільними організаціями. Повний опис інтерфейсу наводиться у відповідній специфікації.2. Інтерфейс RS-232CІнтерфейс RS-232С, специфікація якого була прийнята у 1969 році, є модифікацією інтерфейсу RS-232, специфікація якого була прийнята у 1962 р. (Існують також модифікації EIA-232-D (1986 р) та EIA/TIA-232-E (1991 р)).Розроблявся як інтерфейс для підключення периферійних засобів до персональних комп'ютерів а також для з'єднання комп'ютерів між собою, в теперішній час широко використовується у різних галузях техніки.Інтерфейс RS-232С послідовний двонаправлений [2, 3], може працювати як в синхронному так і в асинхронному режимі, швидкість обміну даними встановлюється у відповідності з стандартним рядом і може змінюватись програмно (як правило, не більше 115.2 кбіт/с), рекомендована відстань передачі даних до 15 м, логіка сигналів від'ємна. Інтерфейс призначений для обміну даними між двома об'єктами, але за допомогою спеціалізованих пристроїв можливо збільшення їх кількості. Існує також можливість роботи інтерфейсу тільки в одному напрямку.В інтерфейсі RS-232С передбачені наступні сигнали:FG - захисне заземлення (екран)TxD - передання данихRxD - прийом данихRTS - сигнал запиту на передання даних (активний під час передання)CTS - сигнал скидання (активний під час передання)DSR - готовність даних (використовується для встановлення режиму модема)SG - сигнальне заземлення (нульовий дріт)DCD - виявлення несучої данихDTR - готовність вихідних данихRI - індикатор викликуУсі перераховані сигнали використовуються тільки в тому випадку, коли здійснюється обмін даними між комп'ютером та модемом. В інших випадках для забезпечення двонаправленого обміну достатньо використання ліній -TxD, - RxD, SG, FG (чотирьохдротова лінія зв'язку), як наведено на рис.1.Рисунок 1 - Чотирьохдротова лінія зв'язку для RS-232ССигнали DTR та RTS програмно можуть бути встановлені в стан логічного нуля або одиниці. У цьому випадку їх можна використовувати для живлення мікропотужних зовнішніх пристроїв, хоча це і не рекомендуєтьсяФормат передачі даних інтерфейсу RS-232C наведений на рис.2.Рисунок 2 - Формат даних RS232CПередання даних у RS-232С починається зі стартового біту, після чого передаються 5, 6, 7 або 8 біт даних, біт парності та один або два стопових біта. Отримавши стартовий біт, приймач проводить вибірку бітів даних через визначені проміжки часу. Приймач і передавач повинні бути запрограмовані на однакову швидкість і однаковий формат обміну даними. Розходження швидкості приймача та передавача даних, згідно стандарту RS-232С, не повинно перевищувати 10%. Біт парності необхідний для контролю вірності передання даних.Стандартний ряд швидкостей обміну даними: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 біт/с.Усі сигнали RS-232С, для забезпечення високої завадостійкості, передаються спеціально обраними рівнями. Для передавача високий рівень вихідної напруги повинен бути в діапазоні від +5 до +15 В, низький рівень - у діапазоні від - 5В до -15 В, у діапазоні від -5 до +5 В знаходиться зона невизначеності. Для приймача високий рівень вхідної напруги повинен бути в діапазоні від +3 до +25 В, низький рівень - у діапазоні від - 3В до -25 В, у діапазоні від -3 до +3 В знаходиться зона невизначеності. Логіка даних інтерфейсу RS-232С від'ємна, тобто логічній одиниці відповідає низький рівень напруги, а логічному нулю - високий рівень.Слід відзначити, що досить часто обмін даними між функціональними блоками (особливо при невеликих відстанях), здійснюється у форматі RS-232С або його модифікаціях, але вимоги до рівнів не виконуються. Наприклад, якщо здійснюється обмін даними між двома мікропроцесорними функціональними блоками на відстані декілька десятків сантиметрів, недоцільно використовувати перетворювачі рівнів. Послідовні порти мікропроцесорів з'єднуються безпосередньо між собою і для передання логічних рівнів використовуються рівні вихідної напруги мікропроцесорів.З метою підвищення завадостійкості доцільно використовувати екранований кабель. Якщо відбувається передання даних на великі відстані необхідно здійснювати узгодження лінії зв'язку.Для електричного з'єднання функціональних блоків з інтерфейсом RS-232С як правило використовується два типи роз'ємів - 25-контактний DB25 або 9-контактний DB9. Призначення контактів роз'ємів DB25 та DB9 для інтерфейсу RS232C наведено у таблиці 1.Таблиця 1 - Призначення контактів роз'ємів DB25 та DB9 для інтерфейсу RS232C
Коло
DB25
DB9
FG
1
-
TxD
2
3
RxD
3
2
RTS
4
7
CTS
5
8
DSR
6
6
SG
7
5
DCD
8
1
DTR
20
4
RI
22
9
3. Інтерфейси RS-485 і RS422Інтерфейси RS-485 і RS-422-A призначені для передачі даних по симетричним колам ліній зв'язку на відміну від RS-232 (Recommended Standard 232, який прийняли в 1962 р) і його модифікацій RS-232-C (1969 р), EIA-232-D (1986 р), EIA/TIA-232-E (1991 р), які були розроблені для передачі даних по несиметричним лініям. Асоціація електронної промисловості (EIA - Electronic Industries Association) і американський національний інститут стандартів (ANSI - American National Standard Institution) в 1983 р. затвердили інтерфейс RS - 485, як стандарт EIA RS-485 (далі RS-485). RS-485 отримав широке розповсюдження в апаратурі промислового призначення.RS-485 регламентує вимоги фізичного інтерфейсу тільки в частині електричних параметрів прийомопередавачів. Протокол обміну, часові співвідношення, вид передачі (послідовний або паралельний), тип з'єднувача не регламентується і можуть бути будь-якими на вибір розробника. Максимальна довжина лінії жорстко не обмежується, але для кабелю 24 AWG (неекранована вита пара) вказана довжина 1200 м. Максимальна швидкість передачі також жорстко не обмежується. Швидкість передачі обмежується не параметрами передавача, а довжиною кабелю. Основні технічні параметри RS-485 і його попередника RS-422-А наведені в таблиці 2. Головна відмінність RS-485 від RS-422-А полягає в тому, що RS-485 є "багатоточковим" інтерфейсом.Таблиця 2 - Основні технічні параметри RS-485 і його попередника RS-422-А
Інтерфейс
RS-422-А
RS-485
Ліня зв'язку
Диференційна
Диференційна
Кількість передавачів
1
32
Кількість приймачів
10
10
Максимальна довжина кабелю, м
1200
1200
Максимальна швидкість передачі,
Мбіт/с
10
10
Діапазон синфазних напруг для для
Передавача і приймача, В
від - 7 до +7
Від - 7 до +12
Мінімальна диференційна напруга на
виході передавача, В
2
1,5
Опір навантаження, Ом
100
60
Вихідний струм витоку у вимкнутому
стані, мкА
100
100
Струм короткого замикання
Передавача, мА:
на "загальний"
на шину - 7 або +12 В
150
150
250
Вхідний опір приймача, кОм
4
12
Чутливість приймача, мВ
Схема підключення прийомопередавачів інтерфейсу RS-485 до лінії зв'язку наведена на рис.3. Стандарт на інтерфейс RS-485 рекомендує підключення до лінії зв'язку не більше 32 прийомопередавачів.
Рисунок 3 - Схема підключення прийомопередавачів інтерфейсу RS-485 до лінії зв'язку
Стандарт вимагає, щоб при закорочені виходів передавача на шину живлення передавач не виходив з ладу. Тому в усіх мікросхемах прийомопередавачів передбачено схему захисту від перевантаження за струмом і від перегріву корпусу. При температурі корпусу С передавач вимикається.
Прикладена до лінії зв'язку напруга в деяких випадках може перевищувати допустиму синфазну напругу, тому найбільш ефективний захист від електромагнітних перевантажень лінії - гальванічна розв'язка, яка забезпечує захист системи але не обмежує напругу, прикладену до лінії. Для гальванічної розв'язки необхідно застосовувати оптрони і додаткове джерело живлення, гальванічно розв'язане з системою. Рекомендується захистити прийомопередавач за допомогою зовнішніх стабілітронів, які обмежують напругу у лінії.
Навіть при великий кількості передавачів на лінії може бути часовий інтервал коли всі вони знаходяться у високоімпендансному стані. Такий стан лінії називають холостим. В цьому випадку на лінії відбуваються флуктуації напруги, і стан лінії є невизначеним. В результаті цього вхід приймача може знаходитися в будь-якому стані (логічна одиниця або логічний нуль). Логічний рівень залежить від рівня шумів і полярності напруги на лінії. Такий стан приймача не є бажаним, тому як може привести до помилок в роботі системи. Такий випадок виникає не тільки при "холостій лінії", але і при коротко замкненій.
Є два шляхи уникнути невизначеності: апаратний і програмний. Програмний метод полягає в тому, що програмне забезпечення створюється таким чином, щоб запобігти виникненню холостого стану лінії.
Апаратний метод передбачає захист як при "холостій" лінії, так і при коротко замкненій. В мікросхемах прийомопередавачів RS-485 як правило передбачений захист за допомогою резисторів, підключених між неінвертуючим входом і шиною живлення та між інвертуючим входом і загальною шиною.
Важливим фактором, який необхідно враховувати при використанні інтерфейсу RS-485, є узгодження лінії зв'язку за допомогою резисторів, як наведено на рис.3. При роботі на неузгодженій лінії виникає міжсимвольна інтерференція і відповідно помилки при обміні даними. Типове значення хвильового опору витої пари знаходиться в межах від 100 до 120 Ом.
4. Інтерфейс USBТипова топологія шини USB наведена на рис.4. Керування шиною здійснює так званий хост. Хост призначений для знаходження, підключення/відключення пристрою, керування потоками даних, контролю статусу пристрою, розподілу внутрішнього живлення між підключеними пристроями. На шині завжди існує тільки один хост, тому направлення передачі даних прийнято визначати з його позиції. Якщо передача відбувається від хоста до пристрою, то потік має напрямок OUT і називається downstream. При передачі від пристрою до хосту потік має направлення IN і називається upstream.Рисунок 4 - Типова топологія шини USBПристрої, які підключаються до шини, є підлеглими і діляться на два види: хаб і пристрій, який виконує деяку функцію. Хаб служить розгалуджувачем шини і надає свої порти для підключення інших пристроїв, і хабів в тому числі. Хост періодично запитує статус хаба і за його зміною визначає підключення нового пристрою чи відключення працюючого.Гілки, які формує хаб, закінчуються підключеним пристроєм, який виконує визначену функцію. Частина портів хаба залишається вільною, вони заборонені до підключення нового пристрою і на роботу шини не впливають.Підлеглі пристрої не можуть самостійно посилати дані по шині, всі операції виконуються ними тільки за дозволом хосту. Але, якщо хост перевів пристрій в режим зниженого споживання енергії, то при переході в активний режим пристрій сигналізує про зміну свого статусу, не чекаючи дозволу хосту. Пристрої можуть використовувати власне джерело живлення чи внутрішнє джерело шини USB. Сумарний струм, який споживається пристроями від джерела шини USB, не повинен перевищувати 1А. Допускається підключення до шини до 127 підлеглих пристроїв.На шини USB доступні три режими роботи: низькошвидкісний, повношвидкісний і високошвидкісний. В першу чергу швидкість роботи шини визначає хост, а при підключенні пристрій налагоджується на доступну максимальну швидкість. Найвища швидкість передачі досягається при роботі пристрою у високошвидкісному режимі роботи.Для виявлення підключення нового пристрою до шини, хост періодично запитує статус хабів. В момент виявлення пристрою він не має адреси і не сконфігурований, тому хост звертається до нього за нульовою адресою через спеціальну контрольну точку. Першою командою хост присвоює пристрою унікальний адрес, з яким він працює до моменту відключення. Далі, використовується команда зчитування опису пристрою і опису всіх його можливих конфігурацій. Після цього хост командою встановлює першу доступну конфігурацію, не аналізуючи її призначення. Після цього пристрій вважається сконфігурованим і готовим до роботи. Отримана інформація дозволяє операційній системі ідентифікувати пристрій і завантажити відповідний драйвер. Подальше керування пристроєм передається драйверу.На шині USB використовується пакетна передача інформації. Для обміну одним пакетом даних хост і пристрій виконують цикл, який уявляє собою послідовність "запит даних - підтвердження". Службова інформація, яка супроводжує корисні дані, однозначно визначає адресата, цілісність даних і готовність пристрою до наступного циклу. Всю інформацію, яка передається по шині USB, можна розділити на наступні типи:пакети запиту;пакети даних;маркери підтвердження;інші пакети.Пакет запиту - це пакет службової інформації. Хост посилає запит перед обміном даними чи для перевірки готовності. Пакет запиту (рис.5) складається з ідентифікатора пакету (маркер запиту), адреси пристроїв ADDR, адреси точки ENDP і контрольної суми CRC5.Рисунок 5 - Пакет запитуЗапити, доступні хосту, мають наступні призначення:OUT - хост починає передачу даних точці ENDP пристрою ADDR;IN - хост чекає дані з точки ENDP пристрою ADDR;SETUP - хост починає контрольну передачу даних точці ENDP пристрою ADDR;PING - хост перевіряє готовність точки ENDP пристрою ADDR;Пакет даних завжди передається вслід за запитом. До складу пакету (Рис.6) входять дані і контрольна сума. CRC16. На розмір пакету даних накладають обмеження тип передачі і режим роботи шини USB.Рисунок 6 - Пакет данихІснують наступні маркери даних:DATA0 - парний пакет даних;DATA1 - непарний пакет даних;DATA2, МDATA3 - додаткові маркери, які використовуються при ізохронному обміні на високошвидкісній шині.Маркери даних дозволяють не тільки ідентифікувати пакет, але ще і контролювати цілісність потоку за рахунок їх визначеної послідовності.Маркери підтвердження (рис.7) призначені для повідомлення про результати обміну даними і стану точки пристрою.Рисунок 7 - Маркер підтвердження.Маркери вміщують наступну інформацію:АСК - дані отримані без помилок і будуть оброблені;NAK - для точки OUT - дані отримані без помилок, але нема можливості їх обробити, і тому потрібна повторна передача даних. Для точки IN - дані не готові, хост може повторити запит пізніше;STALL - точка находиться в стані HALT і не може виконувати свої функції без втручання хосту. Хост не повинен повторювати запит;NYЕT - дані отримати без помилок і будуть оброблені. Наступний пакет точка прийняти не готова. Даний маркер має місце на високошвидкісній шині для передачі BULK і використовується точками OUT.До інших пакетів відносяться SOF, PRE, ERR, SPLIT, які мають спеціалізоване призначення. Так наприклад пакет SOF використовується для синхронізації і передається хостом з визначеним інтервалом часу.На шині USB існує чотири типи передачі даних. Вони відрізняються передаваємим об'ємом даних, пріоритетом доставки і системою контролю і усунення помилок.Найбільш частіше використовується тип - BULK. Для даного типу передачі гарантована доставка даних без помилок, при цьому час доставки не гарантовано і залежить від завантаженості шини. Контроль даних на рівні пакету - сумою CRC16 і на рівні потоку, де парний та непарний пакет мають відповідні маркери - DATA0, DATA1. У випадку помилки приймаюча сторона не вертає маркер підтвердження, тоді на передаючій стороні запускається механізм автоматичного повтору передачі. Розмір пакету даних може бути випадковим, в тому числі рівним нулю, але не повинен перевищувати максимально допустиме значення. Для високошвидкісної шини USB максимальне значення складає 512 байт, для повношвидкісної - 8, 16, 32 або 64 байта. Типова передача даних для повношвидкісної шини для цього режиму ілюструється рис.8.Рисунок 8 - BULK - передача данихХост, при роботі на повношвидкісній шині, на протязі двох циклів передає дані пристрою та отримує підтвердження. В третьому циклі, після отримання даних, пристрій повідомляє про неможливість обробити дані.Для високошвидкісної шини після прийому другого пакету точка відповість підтвердженням NYET. Це дозволяє хосту призупинити передачу третього пакету даних і контролювати його готовність коротким запитом PING. Продовжити передачу можна буде після отримання підтвердження АСК.BULK - прийом ілюстрований рис.9.Рисунок 9 - BULK - прийом данихХост посилає запит IN і підтвердження отримання даних маркером АСК. У другому циклі точка не готова передати дані, тому замість пакету даних вона посилає маркер NAK. Після отримання відмови хост повторює запит через деякий час. Останній цикл закінчується маркером STALL. Даний маркер посилає точка, яка не може виконувати по якимось причинам свої функції; такий стан точки називається HALT. В подібній ситуації для відновлення роботи точки потрібно втручання хосту. Точка, яка находиться в стані HALT, ніяк не впливає на роботу інших точок.Інший тип передачі - INTERRUPT. Такий тип використовується при необхідності обміну даними через заданий часовий інтервал. Хост гарантує обмін з заданим інтервалом і враховує це при розподілі завантаження шини.Розмір пакету даних для високошвидкісної шини має значення від 1 до 1024 байт, а для повношвидкісної - від 1 до 64 байт. Інтервал опитування точки також залежить від режиму роботи шини і знаходиться в діапазоні 0.125...4 мс для високошвидкісного режиму і 1...255 мс для повношвидкісного.Цикли обміну схожі на BULK - транзакції, відсутність даних для передачі з точки IN є штатною ситуацією, хост сформує наступний запит після закінчення заданого часу.Наступний тип передачі - ISOCHRONOUS. Передача такого типу призначена для швидкої доставки пакетів даних, при цьому контроль цілісності даних зводиться до мінімуму і обмежений наявністю контрольної суми CRC16. Пошкоджений пакет знищується приймаючою стороною, передаюча сторона про виникнення помилки не сповіщається. Даний тип передачі використовується для потоків відео - і аудіоданих.Розмір пакету даних на високошвидкісній шині досягає 1024 байт, на повношвидкісній - 1023. Типовий прийом інформації ізохронного типу наведено на рис.10.Рисунок 10 - Ізохронний прийом данихОстанній тип передачі даних - CONTROL. Даний тип передачі використовується тільки при звертанні до контрольної точки пристрою. Повна трансакція контрольної передачі (рис.11) складається з трьох фаз.Рисунок 11 - Формат контрольної транзакціїПерша фаза називається SETUP, під час цієї фази хост передає пакет даних розміром 8 байт. Даний пакет даних містить вимогу, яку повинен виконати пристрій. Друга фаза - фаза даних є необов'язкова. Вона присутня у випадку, коли для виконання вимог необхідні додаткові дані. Структура потоку в фазі даних повністю ідентична BULK - транзакції. Остання фаза називається фазою статусу. Хост, чекаючи підтвердження про виконання вимог пристроєм, надсилає запити. Направлення запитів протилежно тим, які використовувались в фазі даних. При переданні запиту OUT хост посилає пакет даних нульової довжини. Поки пристрій зайнятий виконанням вимог, він відповідає маркером NAK, після успішного завершення - маркером АСК. Якщо пристрій не здатний виконати вимоги, то в фазі даних чи статуса повертає маркер STALL.Розмір пакету даних на високошвидкісній шині складає 64байт, на повношвидкісній - 64, 32, 16 або 8 байт.