Інтерфейс - це сукупність алгоритмів обміну і технічних засобів, що забезпечують обмін інформацією між пристроями.
Виділяють різні рівні інтерфейсу А - внутрішньосистемний інтерфейс - забезпечує взаємодію компонент ядра (дуже
високу швидкодію, реалізується не стандартно); В - системний інтерфейс - сполучення елементів ядра і елементів підсистеми вводу / виводу;
З - інтерфейс вводу / виводу забезпечує узгодженість між контролером введення / виведення і процесором введення / виведення;
D - периферійний інтерфейс сполучення контролерів введення / виводу з зовнішніми пристроями.
Процесор вводу / виводу виконує обробку та обмін даними з контролерами вводу / виводу.
Контролер введення / виводу управляє окремими блоками (зовнішніми пристроями).
Фізична реалізація - роз'єм Кількість контактів - 36
Кількість пристроїв, що підключаються - 1 (якщо немає складних схем дешифрування) Кількість розрядів даних - 8 - висновок, 4 - введення Швидкість виведення даних - 80-120 Кбайт / с (залежить від швидкодії приймача і передавача)
Швидкість введення даних - 40-60 Кбайт / с Довжина кабелю - до 2м.
Недоліки даного інтерфейсу робить незручним його використання в професійних вимірювальних системах, виключення складають прості блоки з невисокою швидкістю обміну, які спеціально розроблені для простого підключення до будь-якого стандартного комп'ютера.
Є стандартним інтерфейсом принтера в персональних комп'ютерах і був розроблений спеціально для цієї мети. Тому для підключення вимірювальних і управляючих приладів даний інтерфейс незручний через специфічність (див.
Існують модифікації цього інтерфейсу, більш зручні для підключення різних периферійних пристроїв:
1. двонаправлений "Bitronics" з можливістю введення восьмирозрядних чисел і, отже, збільшеною вдвічі швидкістю введення даних
2. розширений інтерфейс - "EPP" (Enhanced Parallel Port) і інтерфейс з розширеними функціями "ECP" (Extended Capabilities Port), що включає в себе можливості EPP плюс підтримку прямого доступу до пам'яті, обидва ці варіанти паралельного порту мають швидкість обміну інформації теоретично збільшеною до 2 Мбайт / с проте вимагають спеціальних кабелів
1. Синхронний режим (передача і прийом біт тактується імпульсами синхронізації). Інформація передається і приймається через вхід RxD. Через вихід передавача TxD видаються синхроімпульсів, стробирующие прийняті або видані біти. Формат посилки - 8 біт. Швидкість прийому і передачі задається з ряду тактових частот.
2. Асинхронний режим. Інформація передається через вихід TxD, а приймається через RxD. Формат посилки - 11 біт (стартовий - "0", 8 інформаційних біт, програмований 9-й біт і степових біти - "1"). 9-й біт використовується як біт контролю інформації по парності / непарності або в багатопроцесорних системах для
Фізична реалізація - роз'єм
Кількість контактів - 9 або 25
Кількість пристроїв, що підключаються - стандартно 1, але існують розширення протоколу, що дозволяють підключати до 256 пристроїв
Кількість розрядів даних - від 5 до 9
Швидкість передачі даних - 110. 115200 біт / с
Відстань - стандартне до 15 м, в більшості випадків при зменшенні швидкості передачі може бути збільшено.
Особливості даного інтерфейсу - вельми низька швидкість передачі (близько 10-14 КБ / с), відносна віддаленість об'єкта обміну інформацією від комп'ютера, застосування стандартного інтерфейсу для підключення до комп'ютера без його розтину.
Протокол обміну по асинхронному послідовному інтерфейсу
У відсутності передачі в лінії підтримується високий (одиничний) логічний рівень. Передача починається зі стартового біта, що має нульове значення Після цього передаються інформаційні біти - розряди переданого двійкового числа.
Першим передається молодший розряд, останнім - старший. Число біт даних від 5 до 8 (найчастіше - 8).
Далі передаються 1, 1.5 або 2 степових бита, мають одиничний рівень.
На цьому передача порції інформації (слова) закінчується і на лінії встановлюється високий рівень, тривалість цього проміжку часу нічим не обмежена.
Якщо система не виявив степових біт, то видається сигнал - помилка кадрування. Якщо приймач виявив розбіжність підрахованого і отриманого біта парності, то видається сигнал - помилка парності.
Електричні характеристики сигналів інтерфейсу
Існують два варіанти реалізації послідовного інтерфейсу
RS-232C - сигнал стандартизований по напрузі, у передавача логічна 1 - від +5 В до +15 В, логічний 0 - від -5 В до -15 В, на стороні приймача логічна 1 - від +3 В до +25 В, логічний 0 - від -3 В до -25 В. Цей варіант інтерфейсу є найбільш поширеним.
струмова петля - логічні рівні передаються комутацією струму 20 мА, стандартне навантаження при цьому дорівнює 680 Ом. При цьому методі зазвичай використовується гальванічна розв'язка входів приймачів. Даний варіант інтерфейсу має велику дальність передачі інформації.
Шина USB (Universal Serial Bus)
Універсальна послідовна шина для підключення різних пристроїв до комп'ютера. За задумом розробників, комп'ютер з шиною USB повинен виглядати наступним чином (рис.1):
Рис.1 - З'єднання периферійних пристроїв за допомогою шини USB
Архітектура шини USB:
Мал. 2 - Архітектура шини USB
Топологія шини USB дуже схожа на дерево (рис.2). У його корені знаходиться ведучий пристрій - хост, який здійснює управління шиною. До завдань хоста входить: виявлення підключення / відключення пристрою, управління потоками даних, контроль
статусу пристрою, облік статистики, розподіл внутрішнього харчування між підключеними пристроями. На шині завжди існує тільки один хост, тому направлення передачі даних прийнято визначати з його позиції. Якщо передача здійснюється від хоста до пристрою, то потік має напрямок OUT і називається downstream. При передачі від пристрою до хосту потік має напрямок IN і називається upstream.
Пристрої, що підключаються до шини, є підлеглими і діляться на два види: хаб і пристрій, що виконує деяку функцію. Хаб служить перехідником шини і надає свої порти для підключення інших пристроїв, і хабів в тому числі. Хост періодично запитує статус хаба і щодо його зміни визначає підключення нового пристрою або відключення працював. Хаб, поєднаний з хостом, називається кореневим. Функції, що їх кореневих хабом і звичайним, однакові.
Гілки, що формуються хабом, закінчуються підключеним пристроєм, який виконує певну функцію. Частина портів хаба залишається вільною, вони заборонені до підключення нового пристрою і на роботу шини не впливають.
Підлеглі пристрої не можуть самостійно, спонтанно послати дані по шині, всі операції виконуються ними тільки на вимогу хоста. Однак, якщо хост перевів пристрій в режим зниженого споживання харчування suspend, то при пробудженні від зовнішнього впливу пристрій сигналізує про зміну свого статусу, не чекаючи запрошення хоста.
Пристрої можуть використовувати власне джерело живлення або внутрішнє джерело шини USB. Сумарний струм, споживаний пристроями від джерела шини USB, не повинен перевищувати 1 А. Допускається підключення до шини до 127 підлеглих пристроїв і не більше семи рівнів (див. Рис).
На шині USB доступні три швидкісних режиму роботи пристроїв: низкоскоростной - до 1.5 Мбіт / сек, полноскоростной - до 12 Мбіт / сек і високошвидкісний - до 480 Мбіт / сек. В першу чергу швидкість роботи шини визначає хост, а вже при підключенні пристрій налаштовується на доступну максимальну швидкість. Найвища швидкість передачі досягається при роботі пристрою на високошвидкісній шині.
USB-пристрої приєднуються до загальної 4-х провідний шині, показаної на рис. 3 - 2 дроти живлення і 2 сигнальних дроти, скручених в виту пару для зменшення перешкод. USB-пристрої можуть під'єднуватися і від'єднуватися від шини без виключення живлення (так зване "гаряче підключення"). Максимальна довжина кабелю - 10 м.
GND-земля, Vbus-харчування, D + D- -Передача даних.
Рис.3 - Сполучні лінії кабелю USB
Роз'єми на кінцях USB-кабелю також специфіковані і виглядають наступним чином
Мал. 4 - Роз'єми кабелю USB
Структура інформаційного потоку
Всю інформацію, передану по шині USB, можна розділити на наступні типи:
пакети запиту (token);
пакети даних (data);
маркери підтвердження (handshake);
Запити, доступні хосту, мають таке призначення (вказується в поле PID):
OUT - хост починає передачу даних точці ENDP пристрої ADDR;
IN - хост очікує дані з точки ENDP пристрої ADDR;
SETUP - хост починає контрольну передачу для точки ENDP пристрої ADDR;
PING - хост перевіряє готовність точки ENDP пристрої ADDR. даний запит
доступний на високо швидкісній шині для передачі BULK (тип передачі гарантованої доставки даних без помилок) і звернений до точок з напрямком
Пакет даних (data) завжди передається у відповідь на звернення. До складу пакету входять ідентифікатор PID (маркер даних), корисні дані і контрольна сума CRC16. На розмір пакета даних накладають обмеження тип передачі даних і режим роботи шини USB.
Існують наступні маркери даних (тип маркера вказується в поле PID):
DATAO - парний пакет даних;
DATA1 - непарний пакет даних;
DATA2, MDATA - додаткові маркери, які використовуються при ізохронними (однонаправленому) обміні на високошвидкісній шині.
Маркери даних дозволяють не тільки ідентифікувати пакет, але ще і контролювати цілісність потоку за рахунок їх певній послідовності.
Маркери підтвердження (handshake) призначені для повідомлення про результати отримання даних і стані точки пристрою.
Маркери несуть наступну інформацію (тип маркера вказується в поле PID):
АСК - дані отримані без помилок і будуть оброблені;
NAK - для точки OUT - дані отримані без помилок, але немає можливості їх обробити, і тому потрібна повторна передача даних. Для точки IN - дані не готові, хост може повторити запит пізніше;
STALL - точка знаходиться в стані HALT і не може виконувати свої функції без втручання хоста. Хост не повинен повторювати запит;
NYET - дані отримані без помилок і будуть оброблені. Наступний пакет точка прийняти не готова. Даний маркер має місце на високошвидкісній шині для передачі BULK і використовується точками OUT.
До іншим пакетам відносяться SOF, PRE, ERR, SPLIT. Для програміста становить інтерес пакет SOF. Даний пакет використовується для синхронізації і передається хостом з певним інтервалом часу.
Типи передачі даних
На шині USB існує чотири типи передачі даних. Вони відрізняються переданим об'ємом даних, пріоритетом доставки і системою контролю і усунення помилок.
Найбільш часто використовуваний тип - BULK. Для подібної передачі гарантована доставка даних без помилок, при цьому час доставки не гарантоване і залежить від завантаженості шини. Контроль даних здійснюється на рівні пакета - сумою CRC16 - і на рівні потоку, де парний і непарний пакет мають відповідні маркери - DATA0, DATA1. У разі виявлення помилки прийомна сторона не повертає маркер підтвердження, тоді на передавальній стороні запускається механізм автоматичного повтору передачі.
Розмір пакета даних може бути довільним, в тому числі і нульовим, але не повинен перевищувати максимальне допустиме значення. Для високошвидкісної шини USB максимальне значення становить 512 байт, для полноскоростной - 8, 16, 32 або 64 байта.
BULK передача даних для полноскоростной шини показана на малюнку 5. Хост протягом двох циклів передає дані пристрою і отримує підтвердження. У третьому циклі, після отримання даних, пристрій повідомляє про неможливість обробити дані. Цей приклад демонструє слабке місце полноскоростной шини, де третій пакет даних втрачено і потрібно його повторна передача, що збільшує завантаження шини.
Другий тип передачі - INTERRUPT (переривання). Такий тип використовується при необхідності обміну даними через заданий часовий інтервал. Хост гарантує обмін із заданим інтервалом і враховує це при розподілі завантаження шини.
Розмір пакета даних для високошвидкісної шини має значення від 1 до 1024 байт, а для полноскоростной - від 1 до 64 байт. Інтервал опитування точки також залежить від режиму роботи шини і знаходиться в діапазоні 0,125. 4 мс для швидкісного режиму і 1. 255 мс для повношвидкісного.
Цикли обміну схожі на тип передачі BULK, представлені на рис. 5 і 6 вище. Відсутність даних для передачі з точки IN є штатною ситуацією, хост пошле наступний запит автоматично через певний час.
Розмір пакета даних на високошвидкісній шині досягає 1024 байт, на полноскоростной - 1023.
Типовий прийом інформації ізохронного типу показаний на рис. 7. Як можна побачити з малюнка, в циклах обміну відсутні маркери підтвердження.
Мал. 7 - Ізохронний прийом даних
Останній тип передачі даних - CONTROL (контроль, управління). даний тип
передачі використовується тільки при зверненні до контрольної точки пристрою. повна
транзакція контрольної передачі (рис. 8) складається з трьох фаз.
Мал. 8 - Формат контрольної транзакції
Перша фаза, показана у верхній частині малюнка, називається SETUP, під час цієї фази хост передає пакет даних розміром 8 байт. Даний пакет містить вимогу, яка повинна виконати пристрій. Друга фаза, зображена в середній частині малюнка, - фаза даних - є необов'язковою. Вона присутня в разі, коли для виконання вимоги необхідні додаткові дані. Структура потоку в фазі даних повністю ідентична BULK-транзакції. Остання фаза називається фазою статусу. Хост, чекаючи підтвердження про виконання вимоги пристроєм, посилає запити. Направлення запитів протилежно тим, які використовувалися в фазі даних. При передачі запиту OUT хост посилає пакет даних нульової довжини. Поки пристрій зайнятий виконанням вимоги, воно відповідає маркером NAK, після успішного завершення - маркером АСК. Якщо пристрій не здатний виконати вимоги або не підтримує його, то в фазі даних або статусу необхідно повернути маркер STALL. Розмір пакета даних на високошвидкісній шині складає 64 байта, на полноскоростной - 64, 32, 16 або 8 байт.
Стандартні вимоги, які використовуються для управління пристроєм, передаються за допомогою даного типу передачі. Програміст при розробці USB-пристрої повинен забезпечити виконання всіх стандартних вимог, а при необхідності може додати власні вимоги.
• додані 2 пари проводів - екранір.діф.пари (прийом і передача - реалізований
Для продовження скачування необхідно зібрати картинку: