Навіщо потрібен послідовний порт. COM-порт. Поєднання пристроїв з ПК. Програмування. Конфігурування та переривання

Ось ми й дісталися COM порту. Але з ним все не так просто як з LPT, і його повноцінне використання вимагатиме значно великих зусиль. Головною проблемою є і його головна перевага - передача даних у послідовному вигляді. Якщо LPT байт даних передається по 8-ми лініях по біту на кожну, і стан кожної лінії можна було легко подивитися, то в COM портубайт даних передається біт за бітом по одній лінії (щодо землі, звичайно) і подивитися, що там передається за допомогою одних світлодіодів не вдасться. Для цього потрібен спеціальний пристрій - перетворювач потоку послідовних даних у парралельний, т.зв. USART (Universal Synchronous/Asynchronous Receiver Transmitter). Наприклад, він є у складі материнської плати комп'ютера, забезпеченого COM портом, у будь-якому більш серйозному мікроконтролері.


Сподіваюся, ви ще занепали в освоєнні COM порту. Все не так уже й похмуро. Деякі результати можна отримати без USART. Сформулюємо завдання, яке реалізуємо на початковому етапіроботи з COM портом:


"Хочу щоб до комп'ютера через COM порт підключався світлодіод. Запускаю програму. Даю якусь дію в цій програмі, світлодіод загоряється, роблю інше - світлодіод гасне."


Завдання досить специфічне (з урахуванням того, що USART не використовується) і є чистою "самопальщиною", але цілком реалізована і працездатна. Давайте приступимо до її реалізації.


1. COM порт

Знову беремо системний блок вашого ПК і дивимось у тилову частину. Примітаємо там 9-ти штирковий роз'єм - це і є COM порт. Реально їх може бути кілька (до 4-х). На моєму ПК встановлено два COM порти (див. фото).


2. Подовжувач COM порту


3. Апаратна частина

З апаратною частиною нам теж доведеться "повозитися", тому що вона буде складніше ніж з першим пристроєм для LPT порту. Справа в тому, що протокол RS-232 по якому йде обмін даними в COM порту, має дещо відмінне співвідношення логічний стан - напруга. Якщо зазвичай це логічний 0 0 В, логічна 1 +5 В, то RS-232 це співвідношення таке: логічний 0 +12 В, логічна 1 -12 В.

І наприклад, отримавши -12 В не відразу зрозуміло, що з цією напругою робити. Зазвичай проводять перетворення рівнів RS-232 ТТЛ (0, 5 В). Найпростіший варіант – стабілітрони. Але я пропоную зробити цей перетворювач на спеціальній мікросхемі. Називається вона MAX232.

Тепер давайте подивимося, а які сигнали з порту COM ми можемо подивитися на світлодіодах? Насправді, в COM порту є аж 6 незалежних ліній, які становлять інтерес для розробника пристроїв сполучення. Дві з них поки що для нас недоступні – лінії з передачі послідовних даних. А ось 4 призначені для управління та індикації процесу передачі даних і ми зможемо "передати" їх під свої потреби. Дві з них призначені для управління з боку зовнішнього пристрою і ми їх поки чіпати не будемо, а ось останні дві лінії ми зараз і використовуємо. Вони називаються:

  • RTS- Запит на передачу. Лінія взаємодії, яка показує, що комп'ютер готовий для прийому даних.
  • DTR- Комп'ютер готовий. Лінія взаємодії, яка показує, що комп'ютер увімкнений і готовий до зв'язку.

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

Отже, зберемо схему, яка дозволить нам проводити задумані дії.

А ось її практична реалізація. Я думаю ви мені вибачте, що я зробив її в такому стрімкому макетному варіанті, бо робити плату для такої "високопродуктивної" схеми не хочеться.


4. Програмна частина

Тут все простіше. Давайте створимо Windows додаток Microsoft Visual C++ 6.0 на основі MFC для управління двома лініями взаємодії COM порту. Для цього створюємо новий проект MFC і вказуємо йому ім'я, наприклад, TestCOM. Далі вибираємо варіант побудови на основі діалогу.

Надайте зовнішній вигляд вікну діалогу нашої програми, як на рис. нижче, а саме додайте чотири кнопки по дві на кожну з ліній. Одна з них відповідно необхідна для того, щоб "погасити" лінію, інша щоб її "встановити" в одиниця.

Class CTestCOMDlg: public CDialog ( // Construction public: CTestCOMDlg(CWnd* pParent = NULL); // standard constructor HANDLE hFile;

Щоб наша програма могла управляти лініями COM порту, його треба спочатку відкрити. Напишемо код, відповідальний за відкриття порту під час завантаження програми.

HFile = CreateFile("COM2", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0,NULL); if(hFile==INVALID_HANDLE_VALUE) ( MessageBox("Не вдалося відкрити порт!", "Помилка", MB_ICONERROR); ) else ( MessageBox("Порт успішно відкритий", "Ok", MB_OK); )

За допомогою стандартної функції Win API CreateFile()відкриваємо COM-порт COM2. Далі перевіряємо успішність відкриття з висновком інформаційного повідомлення. Ось тут треба зробити важливе зауваження: COM2 - це в моєму комп'ютері, а на Вашому комп'ютері Ви могли підключити його до іншого COM порту. Відповідно, його ім'я потрібно змінити на те, який порт Ви використовуєте. Подивитися, які номери портів є на Вашому комп'ютері, можна так: Пуск -> Налаштування -> Панель управління -> Система -> Обладнання -> Диспетчер пристроїв -> Порти (COM та LPT).

У результаті функція CTestCOMDlg::OnInitDialog(), розташована у файлі TestCOMDlg.cpp, класу нашого діалогу має набути вигляду:

BOOL CTestCOMDlg::OnInitDialog() ( CDialog::OnInitDialog(); // Add "About…" IDM_ABOUTBOX), ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); ) ) // Set the icon for this dialog. Framework does this automatically // when the application"s main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here hFile = CreateFile("COM2", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0,NULL); ( MessageBox("Порт успішно відкритий", "Ok", MB_OK); ) return TRUE; // return TRUE unless you set the focus to a control )

Тепер додамо обробники кнопок керування лініями. Я дав їм відповідні імена: функція, яка встановлює одиниця на лінії DTR - OnDTR1(), 0 - OnDTR0(). Для лінії RTS відповідно аналогічним чином. Нагадаю, що обробник створюється при подвійному клацанніна кнопку. У результаті, ці чотири функції повинні набути вигляду:

Void CTestCOMDlg::OnDTR1() ( // TODO: Add your control notification handler code here EscapeCommFunction(hFile, 6); ) void CTestCOMDlg::OnDTR0() ( // TODO: Add your control notification handler code here EscapeCommF 5); EscapeCommFunction(hFile, 3);

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

Все, комілюємо, запускаємо. Якщо все добре, маємо побачити повідомлення про успішне відкриття порту. Далі, натисканням відповідних кнопок блимаємо світлодіодами, підключеними до COM порту.

© Іванов Дмитро
Грудень 2006

Сучасний персональний комп'ютер ніколи не набув би такої великої популярності, виконуй він лише обчислювальні функції. Нинішній ПК – це багатофункціональний пристрій, за допомогою якого користувач може не тільки проводити будь-які розрахунки, але також виконувати ще масу різних справ: роздруковувати текст, керувати зовнішніми пристроями, зв'язуватися з іншими користувачами за допомогою комп'ютерних мереж і т. д. Ця величезна функціональність досягається за допомогою додаткових пристроїв– периферії, які підключаються до персонального комп'ютера у вигляді спеціальних роз'ємів, званими портами.

Порти персонального комп'ютера

Портелектронний пристрій, що виконується прямо на материнській платі ПК або додаткових платах, що встановлюються в персональний комп'ютер. Порти мають унікальний роз'єм для підключення зовнішніх пристроїв – периферії. Призначені вони для обміну даними між ПК та зовнішніми пристроями (принтерами, модемами, цифровими фотоапаратами тощо). Досить часто, в літературі можна зустріти ще одну назву для портів. інтерфейси.

Всі порти можна умовно розбити на дві групи:

  • Зовнішні- для підключення зовнішніх пристроїв (принтери, сканери, плотери, пристрої відеозображення, модеми тощо);
  • Внутрішні- для підключення внутрішніх пристроїв (жорсткі диски, плати розширення).

Зовнішні порти персонального комп'ютера

  1. PS/2- порт для підключення клавіатури;
  2. PS/2- порт для підключення "мишки";
  3. Ethernet- порт для підключення локальної мережіі мережевих пристроїв(роутерів, модемів та ін.);
  4. USB- порт для підключення пристроїв зовнішньої периферії(принтерів, сканерів, смартфонів та ін.);
  5. LPT- Паралельний порт. Служить для підключення застарілих моделей принтерів, сканерів і плотерів;
  6. COM- Послідовний порт RS232. Служить для підключення пристроїв dial-up модемів і старих принтерів. Нині застаріли, мало використовується;
  7. MIDI- порт для підключення ігрових консолей, midi клавіатур, музичних інструментівз таким самим інтерфейсом. У Останнім часомпрактично витіснений USB-портом;
  8. Audio In- аналоговий вхід для лінійного виходузвукових пристроїв (магнітофонів, плеєрів та ін);
  9. Audio Out- Вихід аналогово звукового сигналу (навушники, колонки та ін);
  10. Мікрофон- мікрофонний вихід для підключення мікрофона;
  11. SVGA- порт для підключення пристроїв відеовідображення: моніторів, сучасних LED, LCD та плазмових панелей (цей тип роз'єму є застарілим);
  12. VID Out- порт використовується для виведення та введення низькочастотного відеосигналу;
  13. DVI- порт для підключення пристроїв відео, більш сучасний ніж SVGA.

Послідовний порт (COM-порт)

Один із найстаріших портів, що встановлюються в ПК протягом уже понад 20 років. У літературі досить часто можна зустріти його класичне найменування – RS232. Обмін даними за допомогою його відбувається у послідовному режимі, тобто лінії передачі та прийому – однобітні. Таким чином, інформація, яка передається від комп'ютера до пристрою або навпаки, поділяється на біти, які послідовно йдуть один за одним.

Швидкість передачі даних, що забезпечується цим портом не велика, і має стандартизований ряд: 50, 100, 150, 300, 1200, 2400, 4800, 9600, 14400, 38400, 57600, 115200 Кбіт

Використовувався послідовний порт для підключення до ПК таких "повільних" пристроїв, як перші принтери та плотери, dial-up модеми, маніпулятори "миша" і навіть для зв'язку комп'ютерів між собою. Як би не була повільною його швидкість, для того, щоб з'єднати пристрої між собою потрібно всього три дроти - настільки простим був протокол обміну даними. Зрозуміло, що для повноцінної роботи потрібно було Велика кількістьпровідників у шнурі.

На сьогоднішній день послідовний порт практично вже не використовується і повністю витіснений молодшим, але й швидкісним «собратом». USB-портом. Слід зазначити, що деякі виробники все ще комплектують COM-портом свої материнські плати. Проте, найменування - «послідовний порт» досі використовується розробниками програмного забезпечення. Так, наприклад, Bluetooth-пристрою, порти стільникових телефонів часто видаються саме як «послідовний порт». Це, можливо, дещо збиває з пантелику, але зроблено це з тієї причини, що передача даних у них теж здійснюється послідовно, але на вищій швидкості.

Якщо з якоїсь причини вам може знадобитися COM-порт, а на вашому ПК його немає, то для цього цілі можна скористатися перехідником, який підключається до сучасного USB-порту, що є на всіх сучасних ПК, а з іншого боку такого перехідника є роз'єм послідовного порту. Є, щоправда, одне обмеження, якщо програмне забезпечення безпосередньо зверталося до «заліза» справжнього COM-порту, то працювати з таким перехідником воно не буде. У цьому випадку необхідно купувати спеціальну платуяка встановлюється всередину вашого ПК.

Конструктивно, послідовний порт ПК має роз'єм типу «тато» (з штирками, що стирчать):


На сьогоднішній день, 25-ти штирковий роз'єм послідовного порту практично вийшов із вжитку і вже кілька років не встановлюється на ПК. Якщо виробник забезпечує материнську плату COM-портом, це 9-ти контактний роз'єм типу DB9.

Є інтерфейсом для підключення таких пристроїв, як принтери, сканери і плотери.

Дозволяє одночасно передавати 8 біт даних, щоправда в одному напрямку – від комп'ютера до периферії. На додаток до цього, має 4 керуючі біти (так само як і у випадку з бітами даних, керуючі біти передаються від ПК до зовнішнього пристрою), і 4 біти стану (ці біти комп'ютер може «прочитати» з пристрою).

У Останніми роками, LPT-порт удосконалили, і він став двостороннім, тобто біти даних стало можливим передавати через нього в обидві сторони. На сьогоднішній день застарів і практично не використовується, хоча виробники материнських плат все ще включають його до її складу.

Ентузіасти та радіоаматори часто використовують цей порт для керування якими-небудь нестандартними пристроями (вироби тощо).

USB-інтерфейс

USB– це скорочення повного назви порту – universal serial bus («універсальна послідовна шина»).

На сьогоднішній день це один з портів, що найбільш широко використовуються на персональному комп'ютері. І це не випадково – його технічні характеристики та простота використання справді вражають.

Швидкість обміну даними для інтерфейсу USB 2.0 може досягати – 480 Мбіт/сек, а інтерфейсу USB3.0 – до 5 Гбіт/сек (!).

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

Крім цього, популярність даного порту обумовлена ​​ще й тим, що розробники заклали в нього одну дуже корисну особливість - даний портможе бути джерелом електроживленнядля підключеного до нього зовнішнього пристрою. У цьому випадку не потрібний додатковий блок для підключення до електричної мережіщо дуже зручно.

Для версії порту USB 2.0 максимальний струм може досягати значення в 0.5A, а у версії USB3.0 - 0.9А. Перевищувати вказані значенняне рекомендується, оскільки це призведе до виходу інтерфейсу з експлуатації.


Розробники сучасних цифрових пристроїв постійно прагнуть до мінімізації. Тому конструктивно цей порт може мати крім стандартного роз'єму, ще й міні-варіант для мініатюрних пристроїв – mini-USB. Жодних принципових відмінностейвід стандартного USB-порту крім конструкції самого роз'єму mini-USB немає.


Майже всі сучасні пристрої мають USB-порт для підключення до ПК. Легкість установки - підключений пристрій розпізнається операційною системою практично відразу після приєднання, дає можливість користуватися таким портом без спеціальних комп'ютерних знань. Принтери, сканери, цифрові фотоапарати, смартфони та планшети, зовнішні накопичувачі – це лише невеликий список периферійного обладнання, що зараз використовує цей інтерфейс. Простий принцип - "увімкнув і працюй"зробили цей порт воістину бестселером серед усіх наявних на сьогоднішній день інтерфейсів персонального комп'ютера.

Порт Fire-Wire (Інші назви - IEEE1394, i-Link)

Цей вид інтерфейсу з'явився нещодавно – з 1995 року. Є високошвидкісною шиною послідовного типу. Швидкість передачі може досягати - до 400 Мбіт/сек стандарті IEEE 1394 та IEEE 1394a, 800 Мбіт/сек та 1600 Мбіт/сек - для стандарту IEEE1394b.

Спочатку цей інтерфейс був розроблений як порт для підключення внутрішніх накопичувачів (типу SATA), але ліцензійна політика компанії Apple – одного з розробників цього стандарту вимагала виплати за кожен чіп контролера. Тому на сьогоднішній день лише невелика кількість цифрових пристроїв (деякі моделі фотоапаратів та відеокамер) забезпечені даним видом інтерфейсу. Широкого поширення цей вид порту так і не набув.



Значення цього інтерфейсу важко переоцінити, як правило, саме він використовується для підключення персонального комп'ютера до локальної мережі або для виходу в Інтернет у більшості випадків. Практично всі сучасні ПК, ноутбуки та нетбуки обладнані вбудованим у материнську плату Ethernet-портом. У цьому неважко переконатись, якщо оглянути зовнішні роз'єми.

Для підключення зовнішніх пристроїв використовується спеціальний , що має з обох кінців однакові роз'єми – RJ-45, що містять вісім контактів


Кабель симетричний, у зв'язку з чим порядок підключення пристроїв значення не має - до будь-якого з ідентичних роз'ємів кабелю можна підключити будь-який пристрій на вибір - ПК, роутер, модем і т. п. Маркується абревіатурою - UTP, загальноприйнята назва – « кручена пара» . У більшості випадків як для домашнього, так і для офісного використання застосовують кабель п'ятої категорії UTP-5 або UTP-5E.

Швидкість даних, що передаються по Ethernet-з'єднанню, залежить від технічних можливостей порту і становить 10 Мбіт/сек, 100 Мбіт/сек і 1000 Мбіт/сек. Слід розуміти, що ця пропускна здатність є теоретичною, і що реальних мережахвона трохи нижче через особливості роботи Ethernet-протоколу передачі.

Також, слід мати на увазі, що далеко не всі виробники встановлюють у свої Ethernet-контролери швидкодіючі чіпи, оскільки вони дуже дорогі. Це призводить до того, що на практиці, реальна швидкістьпередачі даних значно нижче, зазначеної на упаковці або специфікації. Як правило, практично всі Ethernet-карти сумісні між собою та зверху вниз. Тобто нові моделі, що мають можливість підключення на швидкості в 1000 Мбіт/сек (1 Гбіт/сек), без проблем будуть працювати зі старими моделями, на швидкостях 10 і 100 Мбіт/сек.

Для візуального контролю цілісності підключення Ethernet-порт має індикатори Link та Act. Індикатор Link - горить зеленим кольором при правильному та працюючому фізичному підключенні, тобто кабель між пристроями підключений, він цілий, порти робітники. Другий індикатор Act («активність») має, як правило, помаранчеве свічення та блимає під час передачі або прийому даних.

Внутрішні порти персонального комп'ютера

Як було зазначено вище, внутрішні портипризначені для підключення такої периферії, як накопичувачі жорстких дисках, CD та DVD-ROM , «карт-рідери» , додаткові COM та USB портиі т. п. Знаходяться внутрішні порти або на материнській платі або на додаткових платах розширення, що встановлюються в системну шину.

Нині застарілий інтерфейс для підключення старих моделей накопичувачів на жорстких дисках (вінчестерів, HDD). Після створення SATA-інтерфейсу отримав назву PATA-інтерфейсу, або скорочено – ATA. PATA – ParallelAdvanced Technology Attachment. Це паралельний інтерфейсПередавання даних для підключення накопичувачів було розроблено в середині 1986 року знаменитою тепер компанією WesternDigital.


Залежно від виробника, материнська плата може містити від одного до чотирьох каналів IDE. Сучасні виробники, як правило, залишають всього один IDE-порт для сумісності, а останнім часом і він виключений зі складу материнської плати, повністю витіснений. сучасним інтерфейсом SATA.

Швидкість передачі даних останньої версіїінтерфейс EnhancedIDE може досягати - 150 Мбіт/сек. Підключення пристроїв здійснюється за допомогою кабелю IDE, що має 40 або 80 жил для старого або нового типу інтерфейсу відповідно.



Як правило, за допомогою одного кабелю можна підключити до двох пристроїв одночасно до одного порту IDE. У цьому випадку, за допомогою перемичок на накопичувачах, що визначають «старшинство» пристроїв, що працюють у парі, вибирається режим роботи – на одному пристрої – "майстер" (master), а для іншого «підлеглий» (slave).

Підключати можна як однотипні пристрої, наприклад два накопичувача на жорстких дисках або два DVD-ROM, так і різні в будь-яких поєднаннях - DVD-ROM і HDD або CD-ROM і DVD-ROM. Роз'єм для підключення значення не має, слід лише звернути увагу, що два роз'єми для підключення периферії зміщені для зручності одного з кінців шлейфу.

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

За наявності двох портів IDE та двох накопичувачів усередині ПК, для збільшення швидкості обміну даними необхідно підключати кожен накопичувач на окремий порт IDE.

Цей інтерфейс є розвитком свого попередника інтерфейсу IDE, З тією лише різницею, що на відміну від свого «старшого товариша» він не є паралельним, а послідовним інтерфейсом. SATA - SerialATA.

Конструктивно він має всього сім провідників для своєї роботи і набагато меншу площу як роз'єму, так і сполучного кабелю.


Швидкість передачі даних цього інтерфейсу значно вище застарілого IDE і в залежності від версії SATA становить:

  1. Сатарев. 1.0 – до 1.5 Гбіт/сек;
  2. Сатарев. 2.0 – до 3 Гбіт/сек;
  3. Сатарев. 3.0 – до 6 Гбіт/сек.

Так само, як і IDE-інтерфейс шнур для підключення пристроїв «універсальний» - роз'єми однакові з обох боків, але, на відміну від «собрата», тепер за допомогою одного SATA-кабелю можна підключити лише один пристрій до одного SATA-порту.

Але навряд чи варто засмучуватися із цього приводу. Виробники подбали про те, щоб кількість портів була достатньою для різних застосувань, встановлюючи на одну материнську плату до 8 портів SATA. Роз'єм SATA-порту третьої ревізії, як правило, має яскраво-червоний колір.

Додаткові порти

Більшість материнських плат обладнано виробниками додатковою кількістю портів USB, а іноді ще одним, додатковим COM-портом.


Зроблено це для зручності користувача. Більшість сучасних корпусів настільних ПК мають USB-роз'єми, встановлені на передній панелі для комфортного підключення зовнішніх накопичувачів. В цьому випадку не потрібно тягтися до задньої стінки системного блокуі «попадати» в Usb-роз'єм, який виведено на задню панель.

Такий роз'єм на передній панелі і підключається до додаткового USB-порту на материнській платі. Крім усього іншого, виведених на задню панель інтерфейсів USBможе просто не вистачати, на увазі великої кількостіпристроїв периферії, у цьому випадку можна придбати додаткову планкуз роз'ємами USBта підключити їх до додаткових портів.


Все сказане вище відноситься і до інших портів, встановлених на материнській платі. Наприклад, послідовний порт COM або FireWireIEEE1394 може просто не виводитися на задню панель персонального комп'ютера, проте на материнській платі він є присутнім. В цьому випадку достатньо купити відповідний шлейф та вивести його назовні.

Назвати портами дані роз'єми буде технічно невірно, хоча метод підключення до них додаткових плат все-таки чимось схожий на інші звичні порти. Принцип той самий - встромив і ввімкнув. Система найчастіше сама знайде пристрій і запросить (або встановить автоматично) драйвера.


У такі шини встановлюються, наприклад, зовнішня графічна карта, звукова карта, внутрішній модем, плата відеовводу, інші додаткові плати розширення, які дозволяють ПК розширити свої функції та можливості.

Шини PCI та PCIe несумісні одна з одною, тому перш ніж придбати собі плату розширення необхідно уточнити – які системні шинивстановлені на материнській платі вашого ПК.

PCIex 1 і PCIex 16 – це сучасна реалізація старішої шини PCIрозробленої у 1991 році. Але на відміну від своєї попередниці, вона є послідовною шиною, а крім того, всі шини PCIe з'єднані по топології «зірка», у той час як стара шина PCI з'єднувалася паралельно один одному. Крім цього, нова шинамає такі переваги, як:

  1. Можливість гарячої заміниплат;
  2. Смуга пропускання має гарантовані параметри;
  3. Контроль цілісності даних при прийомі та передачі;
  4. Кероване енергоспоживання.

Розрізняються шини PCI Express кількістю провідників, що підводяться до слота, за допомогою яких здійснюється обмін даними з встановленим пристроєм(PCIex 1, PCIex2, PCIex 4, PCIex 8, PCIex 16, PCIex 32). максимальна швидкістьпередачі може досягати - 16 Гбіт/сек.

THR - проміжний регістр даних передавача(тільки для запису) Дані, записані в регістр, будуть переслані у вихідний зсувний регістр (коли він буде вільний), з якого надійдуть на вихід за наявності сигналу, що дозволяє. CTS. Біт 0 передається (і приймається) першим. При довжині посилки менш як 8 біт старші біти ігноруються.
RBR - буферний регістр даних, що приймаються(тільки для читання) Дані, прийняті вхідним зсувним регістром поміщаються в регістр RBR, звідки вони можуть вважатися процесором. Якщо на момент закінчення прийому чергового символу попередній не було зчитано з регістру, фіксується помилка переповнення. При довжині посилки менше 8 біт старші біти у регістрі мають нульове значення.
DLL - регістр молодшого байта дільника частоти.
DLM - регістр старшого байта дільника частоти. Дільник визначається за формулою D=115200/V де V - швидкість передачі, біт/с. Вхідна частота синхронізації 18432 МГц ділиться на заданий коефіцієнт, після чого виходить 16-кратна частота передачі даних.
IЕR - регістр дозволу переривань. Одиничне значення біта дозволяє переривання від джерела.
Призначення біт регістру IER:
* біти = 0 - не використовуються;
* біт 3 - Mod_IE- зі зміни стану модему (будь-який з ліній CTS, DSR, RI, DCD);
* біт 2 - RxL_IЕ- з обриву/помилки лінії;
* біт 1 - TxD_IE- по завершенні передачі;
* біт 0 - RxD_IЕ- з прийому символу (у режимі FIFO - переривання по тайм-ауту).
IIR - регістр ідентифікації переривань та ознаки режиму FIFO(тільки для читання). Для спрощення програмного аналізу UART вибудовує внутрішні запити переривання за чотирирівневою системою пріоритетів. Порядок пріоритетів (за спаданням): стан лінії, прийом символу, звільнення регістра передавача, стан модему. При виникненні умов переривання UART вказує на джерело з найвищим пріоритетом доти, доки його не буде скинуто відповідною операцією. Тільки після цього буде виставлено запит із зазначенням наступного джерела. Нижче описано призначення біт регістру IIR.
* Біти - ознака режиму FIFO:
11-режим FIFO 16550A;
10 – режим FIFO 16550;
00 – звичайний.
* Біти – не використовуються.
* Біт 3 - переривання за тайм-аутом прийому в режимі FIFO (у буфері є символи для зчитування).
* Біти - причина переривання з найвищим пріоритетом (у звичайному, не FIFO-режимі):
11 - помилка/обрив лінії, скидання виконується читанням регістра стану лінії;
10 - прийнятий символ, скидання виконується читанням даних;
01 - передано символ (реєстр THRпорожній), скидання виконується записом даних;
00 – зміна стану модему; скидання виконується читанням регістру стану модему.
* Біт 0 – ознака необслуженого запиту переривання (1 – немає запиту, 0 – є запит).
У режимі FIFO причину переривання ідентифікують біти.
* О11 - помилка/обрив лінії. Скидання виконується читанням регістру стану лінії.
* 010 – прийнятий символ. Скидання виконується читанням регістру даних приймача
* 110 - індикатор тайм-ауту (за 4-кратний інтервал часу символу не передано і не прийнято жодного символу, хоча в буфері є принаймні один). Скидання виконується читанням регістру даних приймача.
* 001 - регістр THRпорожній. Скидання виконується записом даних.
* 000 - зміна стану модему ( CIS, DSR, RIабо DCD). Скидання виконується читанням регістру MSR.
FCR - регістр управління FIFO(тільки для запису). Нижче описано призначення біт регістру FCR:
* Біти - ITL(Interrupt Trigger Level) – рівень заповнення FIFO-буфера, при якому виробляється переривання:
00 – 1 байт (за замовчуванням);
01 - 4 байти;
10 – 8 байт;
11 – 14 байт.
* Біти зарезервовані.
* Біт 3 - дозвіл операцій DMA.
* Біт 2 - RESETTF(Reset Transmitter FIFO) - скидання лічильника FIFO-передавача (записом одиниці; зсув регістр не скидається).
* Біт 1 - RESETRF(Reset Receiver FIFO) - скидання лічильника FIFO-приймача (записом одиниці; зсувний регістр не скидається).
* Біт 0 - TRFIFOE(Transmit And Receive FIFO Enable) – дозвіл (одиницею) режиму FIFO для передавача та приймача. При зміні режиму FIFO буфери автоматично очищаються.
LCR - регістр управління лінією(Налаштування параметрів каналу). Нижче описано призначення біт регістру LCR.
* Біт 7 - DLAB(Divisor Latch Access Bit) – управління доступом до дільника частоти.
* Біт 6 - BRCON(Break Control) - формування обриву лінії (надсилання нулів) при BRCON=1.
* Біт 5 - STICPAR(Sticky Parity) - примусове формування біта паритету:
0 - контрольний біт генерується відповідно до паритету символу;
1 - постійне значення контрольного біта: при EVENPAR=1 - нульове, при EVENPAR=0 – одиничне.
* Біт 4 - EVENPAR(Even Parity Select) – вибір типу контролю: 0 – непарність, 1 – парність.
* Біт 3 - PAREN(Parity Enable) - дозвіл контрольного біта:
1 – контрольний біт (паритет або постійний) дозволений;
0 – контрольний біт заборонений.
* Біт 2 - STOPB(Stop Bits) – кількість стоп-біт:
0 – 1 стоп-біт;
1 - 2 стоп-біти (для 5-бітного коду стоп-біт матиме довжину 1,5 біт).
* Біти - SERIALDB(Serial Data Bits) - кількість біт даних:
00 – 5 біт;
01-6 біт;
10 – 7 біт;
11 – 8 біт.
MCR - регістр управління модемом. Нижче описано призначення біт регістру MCR.
* Біти = 0 - зарезервовані.
* Біт 4 - LME(Loopback Mode Enable) - дозвіл режиму діагностики:
0 – нормальний режим;
1 – режим діагностики (див. нижче).
* Біт 3 - IE(Interrupt Enable) – дозвіл переривань за допомогою зовнішнього виходу OUT2 MSR.7:
0 – переривання заборонені;
1 - переривання дозволено.
* Біт 2 - OUT1C(OUT1 Bit Control) - керування вихідним сигналом 1 (не використовується); у режимі діагностики надходить на вхід MSR.6.
* Біт 1 - RTSC(Request To Send Control) – управління виходом RTS; у режимі діагностики надходить на вхід MSR.4:
0 – активний (-V);
1 - пасивний (+V).
* Біт 0 - DTRC(Data Terminal Ready Control) – управління виходом DTR; у режимі діагностики надходить на вхід MSR.5:
0 – активний (-V);
1 - пасивний (+V).
LSR - регістр стану лінії(точніше, стани приймача). Нижче наведено призначення біт регістра LSR.
* Біт 7 - FIFOE(FIFO Error Status) - помилка прийнятих даних у режимі FIFO (буфер містить хоча б один символ, прийнятий з помилкою формату, паритету або урвищем). У FIFO-режимі завжди 0.
* Біт 6 - TEMPT(Transmitter Empty Status) - регістр передавача порожній (немає даних передачі ні зсувному регістрі, ні буферних регістрах THRчи FIFO).
* Біт 5 - THRE(Transmitter Holding Register Empty) – регістр передавача готовий прийняти байт для передачі. У режимі FIFO вказує на відсутність символів у FIFO-буфері передачі. Може бути джерелом переривання.
* Біт 4 - BD(Break Detected) - індикатор обриву лінії (вхід приймача перебуває у стані 0 щонайменше, ніж час посилки символу).
* Біт 3 - FE(Framing Error) – помилка кадру (невірний стоп-біт).
* Біт 2 - РЕ(Parity Error) – помилка контрольного біта (паритету або фіксованого).
* Біт 1 - ОЕ(Overrun Error) – переповнення (втрата символу). Якщо прийом чергового символу починається до того, як попередній вивантажений з регістра, що зсуває, в буферний регістр або в регістр FIFO, колишній символ в зсувному регістрі втрачається.
* Біт 0 - DR(Receiver Data Ready) - прийняті дані готові (у DHR чи FIFO-буфері). Скидання - читанням приймача.
Індикатори помилок – біти – скидаються після читання регістру LSR. У режимі FIFO ознаки помилок зберігаються у FIFO-буфері разом із кожним символом. У регістрі вони встановлюються (і викликають переривання) у той момент, коли символ, прийнятий з помилкою, знаходиться на вершині FIFO (перший у черзі на зчитування). У разі обриву лінії у FIFO заноситься лише один «обривний» символ, і UART чекає відновлення та наступного старт-біту. MSR- Регістр стану модему. Нижче описано призначення біт регістру MSR:
* Біт 7 - DCD(Data Carrier Detect) – стан лінії DCD:
0 – активна (-V);
1 – пасивна (+V).
* Біт 6 - RI(Ring Indicator) – стан лінії RI:
0 – активна (-V);
1 – пасивна (+V).
* Біт 5 - DSR(Data Set Ready) – стан лінії DSR:
0 – активна (-V);
1 – пасивна (+V).
* Біт 4 - CTS(Clear To Send) – стан лінії CTS:
0 – активна (-V);
1 – пасивна (+V).
* Біт 3 - DDCD(Delta Data Carrier Detect) - зміна стану DCD.
* Біт 2 - TERI(Trailing Edge Of Ring Indicator) - спад огинаючої RI(Закінчення дзвінка).
* Біт 1 - DDSR(Delta Data Set Ready) - зміна стану DSR.
* Біт 0 - DCTS(Delta Clear To Send) - зміна стану CTS.
Ознаки зміни (біти) скидаються за читанням регістру.
SRC - робочий регістр(8 біт), на роботу UART не впливає, призначений для тимчасового зберігання даних (8250 відсутній).
У діагностичному режимі (при LМЕ=1) всередині UART організується внутрішня «заглушка»:
* вихід передавача перетворюється на стан логічної одиниці;
* Вхід приймача відключається; * входи DSR, CTS, RIі DCDвідключаються від вхідних ліній і внутрішньо керуються бітами DTRC, RTSC, OUT1C, IE;
* виходи управління модемом перетворюються на пасивний стан (логічний нуль).
Передані дані у послідовному вигляді негайно приймаються, що дозволяє перевіряти внутрішній канал даних порту (включаючи зсувні регістри) та відпрацювання переривань, а також визначати швидкість роботи UART.

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

Переривання та адреси

Передача даних від центрального процесора до будь-якого периферійного пристрою та навпаки контролюється завданням запиту на переривання (IRQ) та адреси вводу-виводу (I/O address). Для зовнішнього периферійного пристрою запит на переривання та адресу введення-виводу приписуються порту, через який він приєднується.

Самі слова "запит на переривання" повідомляють, що переривається робота ЦП і йому наказується зайнятися даними, що надходять з будь-якого пристрою. Усього існує 16 переривань - від 0 до 15. Усі послідовні та паралельні порти, як правило, вимагають свого власного запиту переривання, за винятком того, що порти СОМ1 та COM3, а також COM2 та COM4 часто мають загальний запитпереривання.

Для кожного порту потрібно вказувати унікальну адресу введення-виводу, яка подібна поштовій скриньцідля кореспонденції, що приходить на адресу ЦП, в якому вона зберігається до обробки. Якщо будь-який запит на переривання або адресу вводу-виводу використовуються одночасно більш ніж одним пристроєм, то жоден з них не працюватиме належним чином і може навіть "зависнути" ПК.

У разі проблем із портом перевірте, які запити на переривання та адресу введення-виводу йому приписані.

Панель управління - Система - Пристрої - Порти СОМ та LPT

Якщо ви побачите перед будь-яким рядком жовтий гурток зі знаком оклику всередині, то, можливо, знайдете причину "перешкоди". Виділивши рядок, натисніть "Властивості - Ресурси". У полі "Список пристроїв, що конфліктують" знайдіть, що викликає конфлікт. Якщо виявиться, що це якась стара плата, яка не підтримує Plug & Play, вона буде вказана в списку як "Невідомий пристрій".

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

Щоб ввійти в System Setup під час запуску ПК, натисніть клавішу "Delete", "F1" або іншу - дізнайтеся в документації на систему. У багатьох програмах початкової установки можна призначати запит на переривання та адресу вводу-виводу (встановити ресурси) для кожного конкретного порту, скасувавши старі.

Знайдіть запит на переривання або адресу введення-виводу, який не використовується.

Панель управління - Система - Пристрої - Комп'ютер

Ви побачите повний список ресурсів. Якщо запитів на переривання не використовуються, то спробуйте вимкнути за допомогою System Setup порт, який не використовується.

Після цього...

Система - Пристрої - Конфліктний пристрій - Ресурси

Вимкніть функцію " Автоматичне налаштування". У вікні "Перелік ресурсів" виберіть тип ресурсу, натисніть кнопку "Змінити" і в полі "Значення" задайте нове (невикористовуване) значення запиту на переривання або адресу вводу-виводу.

Встановлення параметрів паралельних портів

Паралельні порти позначаються абревіатурою LPT. Комп'ютер автоматично приписує кожному виявленому паралельному порту адреси від LPT1 до LPT3.

Якщо ви встановлюєте другий паралельний порт, переконайтеся, що він не використовує вже наявний запит на переривання. У деяких комп'ютерах LPT1 та LPT2 за замовчуванням застосовують IRQ7. За допомогою диспетчера пристроїв установіть IRQ5 для LPT2. Якщо це неможливо, використовуйте програму Setup CMOS вашої системи.

Стандартні установки ресурсів паралельних портів

LPT-порт Запит на переривання Адреса введення-виводу
LPT1 IRQ7 ЗВС
LPT2 IRQ7 378
LPT3 IRQ5 278

Встановлення параметрів послідовних портів

Кожен послідовний порт ідентифікується за допомогою однієї з восьми можливих СОМ-адрес - СОМ1, COM2 і т. д., кожному з яких відповідають свою унікальну адресу введення-виводу та запит на переривання.

Будьте уважні при установці на ПК пристрою, який потребує СОМ-порту. Порти СОМ1 та COM2 мають стандартні адреси вводу-виводу та запити на переривання, які ніде не повинні змінюватися (зазвичай можуть бути змінені лише у програмі Setup CMOS вашого ПК). Якщо для нового пристрою потрібно призначити порт СОМ1 або COM2, то при завантаженні ПК увійдіть у програму Setup і або відключіть послідовний порт, приписаний до СОМ1 або COM2, або, якщо потрібно звільнити відповідні установки для пристрою, що додається, зміните ідентифікують його запит на переривання та адресу введення-виведення.

Зауважте, що всі стандартні адреси вводу-виводу використовують лише третє та четверте переривання. Оскільки два пристрої не повинні використовувати один і той же запит на переривання, то постарайтеся для нових зовнішніх пристроїв приписати портьте COM3 по COM3, вручну встановлюючи запити на переривання та адреси вводу-виводу за допомогою Диспетчера пристроїв (діалогове вікно "Властивості: Система").

Стандартні установки ресурсів послідовних портів

СОМ-порт Запит на переривання Адреса введення-виводу
СОМ1 IRQ4 3F8
COM2 IRQ3 2F8
COM3 IRQ4 ЗЕ8
COM4 IRQ3* 2Е8
СОМ5 IRQ4* ЗЕО
СОМ6 IRQ3* 2ЕО
СОМ7 IRQ4* 338
СОМ8 IRQ3* 238

* Можуть бути встановлені за допомогою Диспетчера пристроїв Windows 9x (Властивості: Система)

Оптимізація послідовних портів

Комп'ютер має один або два вбудовані послідовні порти у вигляді 9-штиркового роз'єму, зазвичай розташованих на задній панелі комп'ютера. За допомогою такого порту за одиницю часу можна передати лише 1 біт даних, тоді як за допомогою паралельного - 8 біт. Швидкість роботи послідовного порту залежить від універсального асинхронного приймач-передавача (UART), що перетворює паралельний потік даних, що проходить через шину ПК, в однобітовий.

Як правило, сучасні ПК поставляються з UART моделі 16550. У цьому випадку максимальна пропускна спроможність становить 115 кбіт/с, що забезпечує достатню смугу пропускання більшості послідовних пристроїв. Більш старі UART моделей 16450 і 8250 із цим завданням вже не справляються. Але іноді продуктивність UART 16550 може виявитися недостатньо, адже деякі аналогові модеми обробляють стислі дані зі швидкістю 230 кбіт/с, а адаптери ISDN - до 1 Мбіт/с. Отже, якщо вам потрібна більша швидкість передачі даних, купуйте плату розширення з UART моделі 16750, здатної працювати зі швидкістю 921 кбіт/с.

Робота з паралельними портами

Паралельні порти зазвичай використовуються для принтерів, хоча через них можуть підключатися до ПК та інших пристроїв, наприклад, сканери. З їхньою допомогою можна передавати дані зі швидкістю від 40 Кбайт/с до 1 Мбайт/с, інколи ж навіть із більшою.

В основному, всі ПК поставляються з одним паралельним портом у вигляді 25-штиркового роз'єму на задній панелі. Щоб додати другий порт, необхідно купити контролер введення-виводу та встановити його в роз'єм розширення на системній платі. Паралельний порт буває чотирьох типів - односпрямований, двоспрямований, з покращеними можливостями (ЕРР-порт) та з розширеними можливостями (ЕСР-порт). Для кожного з них характерні різні швидкість та можливості. Порти більшості нових ПК підтримують усі чотири режими, і щоб дізнатися, який з них забезпечує паралельний порт, перегляньте у програмі Setup (CMOS Setup utility) вашого ПК розділ периферійних пристроїв (Integrated peripherals).

Односпрямований портіноді називається також SPP-портом. Ця базова конфігурація пропускає дані зі швидкістю 40-50 Кбайт/с лише в одному напрямку - до принтера або іншого зовнішнього пристрою.

Двонаправлений порт.Забезпечує двосторонній обмін даними зі швидкістю передачі від 100 до 300 Кбайт/с між ПК та зовнішнім пристроєм. При цьому інформація про стан останнього надходить до комп'ютера.

Порт з покращеними можливостями (ЕРР).Розроблений для зовнішніх дисководіві мережевих адаптеріввимагають високої продуктивності. Забезпечує швидкість передачі даних від 400 Кбайт/с до 1 Мбайт/с та більше.

При встановленні в програмі System Setup опції ЕРР пропонуються версії 1.7 та 1.9. Практично всім периферійних пристроїв, куплених останніми роками, потрібно вибирати 1.9.

Порт із розширеними можливостями (ЕСР).Підвищує швидкість та розширює можливості обміну даними між зовнішнім пристроєм та комп'ютером. Якщо принтер та інший периферійний пристрій підтримують ЄСР, вони безпосередньо видають повідомлення про стан пристроїв і помилки.

Якщо у програмі. System Setup встановити опцію ЕСР, то з'явиться рядок для вибору DMA-каналу (канал безпосереднього доступу до пам'яті, direct memory access). Необхідно задати його так само, як і при запиті на переривання. Щоб запобігти виникненню конфліктів DMA-каналів, перегляньте вільні з них у вікні "Властивості: Комп'ютер", як описано вище. Якщо конфлікту не уникнути, поверніться до двонаправленого режиму порту.

Кращий порт для урагану даних.

У нових системах та периферійних пристроях паралельні та послідовні порти стали замінювати універсальною послідовною шиною ( Universal Serial Bus, USB). З її допомогою можна досягти швидкості передачі даних до 12 Мбіт/с, а також підключати за наявності всього одного порту клавіатури, монітори, миші та багато інших (до 127) пристрої, які, як і з вирішальним подібним завданням SCSI-інтерфейсом, можуть бути з'єднані "ланцюжком". При цьому використовується лише один запит переривання. USB-шину можна встановлювати і більш старі комп'ютери, купивши відповідну плату розширення.

Останнім часом послідовний спосіб передачі витісняє паралельний.
За прикладами далеко не треба ходити: поява шин USB і SATA говорить сама за себе.
Паралельну шину важко масштабувати (подовжити шлейф, збільшити частоту тактування шини), не дивно, що технології повертаються до паралельних шин задньою частиною.

Послідовні інтерфейси

На сьогодні існує безліч різних інтерфейсів послідовної передачі даних.
Крім вже згаданих USB і SATA ще можна згадати як мінімум два широко відомі стандарти RS-232 і MIDI (він же і GamePort).
Об'єднує їх усе те - послідовна передача кожного біта інформації, або Serial Interface.
Переваг у подібних інтерфейсів безліч, і найголовніше з них - мала кількість з'єднувальних проводів, а отже, менша ціна.

Передача даних

Послідовну передачу даних можна реалізувати двома способами: асинхронним та синхронним.

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

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

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

Ну, якби всі комп'ютерні технології були прості, то будь-яка домогосподарка давно вже ліпила б паралельно з пельменями нові протоколи.
Спробуймо поглянути на процес по-іншому.
Дані передаються пакетами, приблизно як IP пакети, разом з даними йдуть і інформаційні біти, кількість цих бітів може змінюватись від 2 до 3 з половиною.
З половиною?!
Так, ти не дочув, саме з половиною!

Стоповий біт, а вірніше переданий сигнал, що відповідає стоповому біту, може мати тривалість більшу, ніж сигнал, що відповідає біту-одиниці, але меншу ніж для двох бітів.
Так ось, пакет завжди починається зі стартового біта, який завжди має значення нуль, після чого йдуть біти даних, потім біт парності, а потім і стоповий біт, який завжди дорівнює одиниці.
Потім через деякий довільний період похід бітів на Москву триває.

Такий спосіб передачі передбачає, що приймач і передавач повинні працювати з однією швидкістю (ну, або майже з однією), інакше біти даних, що прийшли, приймач буде або не встигати обробляти, або приймати старий біт за новий.
Для того щоб цього уникнути, кожен біт стробується, тобто посилається синхронно зі спеціальним сигналом - "стробом", що формується всередині приладу.
Існує ряд певних швидкостей роботи асинхронних пристроїв - 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 і 115.

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

Тепер кілька слів про загадковий термін пакет даних.
Під пакетом у разі розуміється набір бітів, переданих між стартовим і стоповим бітами.
Їхнє число може змінюватися від п'яти до восьми.
Можна запитати себе, чому саме п'ять-вісім біт?
Чому б не передати відразу, скажімо, кілобайт даних усередині пакета?

Відповідь очевидна: передаючи маленькі пакети даних, ми нехай і програємо, відправляючи з ними три службові біти (від 50 до 30 відсотків даних), зате якщо при передачі пакет буде зіпсований, ми легко дізнаємося про це (пам'ятаєш про біт парності?) і швидко передамо його знову.
А ось у кілобайті даних помилку виявити буде вже важко, і передавати його буде набагато складніше.

Як приклад асинхронного послідовного пристрою передачі даних можна навести COM-порт комп'ютера, улюблений модем з дизайном від Труссарді і миша, що підключається до цього порту, яку недалекі секретарки чомусь постійно намагаються засунути в PS/2.
Працюють усі ці пристрої за інтерфейсом RS-232, вірніше за асинхронною його частиною, оскільки в стандарті описана синхронна передача даних.