За способом передачі сигналу все шини можна розділити на послідовні і паралельні.
- Лінії для обміну даними (шина даних);
- Лінії для управління даними (шина управління);
Для кожної з цих шин вводиться поняття ширини и. У паралельних шинах поняття «ширина шини» відповідає її розрядності - кількості сигнальних ліній, або, іншими словами, кількістю одночасно переданих ( «виставляються на шину») бітів інформації. Сигнал на кожній лінії може приймати два значення 0 і 1 (лінія з двома станами). Сигналом для старту і завершення циклу прийому / передачі даних служить зовнішній синхросигнал.
Для передачі в шині може використовуватися позитивна логіка або негативна логіка. При позитивній логіці високий рівень напруги відповідає логічній одиниці на відповідній лінії зв'язку, низький - логічному нулю. При негативній логіці - навпаки.
На рис ... показана в наближеному вигляді передача даних по шині шириною 8 розрядів (тобто шина має 8 ліній для передачі даних і одну для синхросигналу). Зрозуміло, що за один цикл по 8-розрядній шині може передаватися один байт.
Проблема паралельних шин в тому, що кожна лінія такої шини має свою довжину, свою паразитную ємність і індуктивність, а також взамоіндуктівность. При паралельній передачі байти заважають один одному внаслідок наявності взаімоіндуктівності, тому ймовірність помилок збільшується, чим обмежується частота шини.
Крім ліній (провідників) важливим компонентом шини є контролер шини, який здійснює управління процесом обміну даними і службовими сигналами і зазвичай виконується у вигляді окремої мікросхема або інтегрується в мікросхеми Chipset. Для роботи контролера шини потрібен зовнішній синхронизирующий сигнал (тактова частота), який виробляється опорним генератором.
Ще раз обговоримо особливості кожної з видів шин (ліній), перерахованих вище.
Шина данни х - це основна шина, по якій власне і відбувається передача інформації. Кількість її розрядів (ліній зв'язку) визначає швидкість і ефективність інформаційного обміну. Швидкість передачі даних (вона ж пропускна здатність) вираховується за формулою:
швидкість передачі даних = тактова частота * розрядність * [2..4]
Отримане число не є реальним. У житті на шини впливає купа всіляких чинників: неефективна провідність матеріалів, перешкоди, недоліки конструкції і складання а також багато іншого. За деякими даними, різниця між теоретичною швидкістю передачі даних і практичної може становити до 25%.
Малюнок Робота паралельної шини, сигнали на лінії даних
Шина даних завжди двунаправленная, так як передбачає передачу інформації в обох напрямках.
Шина управління - це допоміжна шина, керуючі сигнали на якій забезпечують узгодження роботи процесора (або іншого господаря магістралі, задатчика, master) з роботою пам'яті або пристрою вводу / виводу (пристрої-виконавця, slave).
Керуючі сигнали також обслуговують запит і надання переривань. запит і надання прямого доступу.
Найголовніші керуючі сигнали - це строби обміну, тобто сигнали, що формуються процесором і визначальні моменти часу, в які здійснюється пересилка даних по шині даних, обмін даними.
- Строб запису (виводу). який визначає момент часу, коли пристрій-виконавець може приймати дані, виставлені процесором на шину даних;
При цьому велике значення має те, як процесор закінчує обмін в межах циклу, в який момент він знімає свій строб обміну. Можливі два шляхи вирішення, синхронний і асинхронний обмін, (рис. ....) Відповідно, шини також діляться на синхронні і асинхронні:
- При синхронному обміні процесор закінчує обмін даними самостійно, через раз і назавжди встановлений часовий інтервал витримки (tвид), тобто без урахування інтересів пристрої-виконавця;
- При асинхронному обміні процесор закінчує обмін тільки тоді, коли пристрій-виконавець підтверджує виконання операції спеціальним сигналом (так званий режим handshake - рукостискання).
Переваги синхронного обміну - більш простий протокол обміну, менша кількість керуючих сигналів. Недоліки - відсутність гарантії, що виконавець виконав необхідну операцію, а також високі вимоги до швидкодії виконавця, при синхронному обміні доводиться штучно збільшувати тривалість строба обміну для відповідності вимогам більшого числа виконавців, щоб вони встигали обмінюватися інформацією в темпі процесора.
Малюнок Синхронний і асинхронний обмін.
Переваги асинхронного обміну - більш надійна пересилання даних, можливість роботи з різними за швидкодією виконавцями. Недолік - необхідність формування сигналу підтвердження усіма виконавцями, тобто додаткові апаратурні витрати.
Лінії шини управління можуть бути як односпрямованим, так і двонаправленими.
У послідовних шинах використовується одна сигнальна лінія (можливе використання двох окремих каналів для розділення потоків прийому-передачі). Відповідно, інформаційні біти тут передаються послідовно. Дані для передачі через послідовну шину вдягаються в пакети (пакет - одиниця інформації, що передається як ціле між двома пристроями), в які, крім власне корисних даних, включається деяка кількість службової інформації: старт-біти, заголовки пакетів, синхросигнали, біти парності або контрольні суми, стоп-біти і т. п.
Як приклад наведемо опис обміну для послідовного інтерфейсу RS-232.
Дані передаються пакетами по одному байту (8 біт). Спочатку передається стартовий біт, протилежної полярності станом незайнятої лінії, після чого передається безпосередньо кадр корисної інформації - 8 біт. Побачивши стартовий біт, приймач вичікує інтервал T1 і зчитує перший біт, потім через інтервали T2 зчитує інші інформаційні біти. Останній біт - стоповий біт, який свідчить про те, що передача завершена. Дуже важливо, щоб тактові частоти приймача і передавача були однаковими, допустима розбіжність - не більше 10%.
Малюнок Робота послідовної шини, формат даних RS-232
Послідовні шини часто використовують більш ніж два стану лінії (іноді додаткові стану використовують для службової інформації).
Мала кількість сигнальних ліній і логічно більш складний механізм передачі даних послідовних шин обертаються для них істотною перевагою - можливістю нарощування робочих частот. Послідовний спосіб передачі має перевагу перед паралельним якщо довжина лінії перевищує хоча б кілька сантиметрів.