Дипломная работа: Комп’ютерне моделювання роботи послідовного порта
Рис. 2.1. Формат послідовних даних, які формує UART
Обмін інформацією за допомогою мікросхем UARTвідбувається в такий спосіб. Приймач виявляє перший фронт стартового біта і вичікує один чи півтора тактових інтервали, оскільки зчитування повинне початися точно в середині першої посилки. Через один тактовий інтервал зчитується другий біт даних, причому це відбувається точно в середині другої посилки. Після закінчення інформаційного обміну приймач зчитує перевірочний біт для виявлення помилок і стоповий біт, а потім переходить у режим чекання наступної порції даних.
Швидкість передачі інформації в послідовному інтерфейсі вимірюється в бодах (бод - кількість переданих бітів за 1 с). Стандартні швидкості рівні 110, 150, 300, 600, 1200, 2400, 4800, 9600 і 19200 бод. Знаючи швидкість у бодах, можна обчислити число переданих символів за секунду. Наприклад, якщо мається вісім біт даних без перевірки на парність й один стоповий біт, то загальна довжина послідовності, включаючи стартовий біт, дорівнює 10. Швидкість передачі символів відповідає швидкості в бодах, діленої на 10. Таким чином, при швидкості 9600 бод (див. рис. 1.6) буде передаватися 960 символів у секунду.
Перевірочний біт призначений для виявлення помилок у переданих бітах даних. Коли він присутній, здійснюється перевірка на парність чи непарність. Якщо інтерфейс націлений на перевірку за парністю, такий біт буде виставлятися в одиницю при непарній кількості одиниць у бітах даних, і навпаки. Це найпростіший спосіб перевірки на наявність однократних помилок у переданому блоці даних. Однак, якщо під час передачі було спотворено декілька бітів, подібна помилка не виявиться. Перевірочний біт генерується передаючим UART таким чином, щоб загальна кількість одиниць була непарним чи парним числом в залежності від настройки інтерфейсу; приймаючий пристрій повинен мати таку ж настройку. Прийомний UART рахує кількість одиниць у прийнятих даних. Якщо дані не проходять перевірку, генерується сигнал помилки.
Більшість комп'ютерів, сумісних з IBMPC, використовує UART 16450, з IBMPCXT - UART 8250. В UART застосовуються рівні напруги ТТЛ. Для передачі даних по каналу зв'язку напруга за допомогою спеціалізованих перетворювачів конвертується з інверсією: логічному нулю відповідає діапазон напруг від +3 до + 12 В, логічній одиниці - від -3 до -12 В.
а)
б)
Рис. 2.2. Функції контактів роз’ємів RS232 на комп’ютері: а) - блочна частина 9-контактного штирьового роз’єму, вигляд зі сторони задньої стінки комп’ютера; б) - блочна частина 25-контактного штирьового роз’єму, вигляд зі сторони задньої стінки комп’ютера;
Таблиця 2.1. Призначення контактів роз’ємів послідовного порту
25 контактів |
9 контактів | Найменування |
Напрям відносно ПК | Опис |
1 | PROT | Захисне заземлення | ||
2 | 3 | TD | вихід | Дані, що передаються |
3 | 2 | RD | вхід | Дані, що приймаються |
4 | 7 | RTS | вихід | Запит на передачу |
5 | 8 | CTS | вхід | Очищений для передачі |
6 | 6 | DSR | вхід | Готовність зовнішнього пристрою |
7 | 5 | GND | Сигнальне заземлення | |
8 | 1 | DCD | вхід | Виявлення інформаційного сигналу |
20 | 4 | DTR | вихід | Комп’ютер до обміну даними готовий |
22 | 9 | RI | вхід | Індикатор дзвоника |
23 | DSRD | вхід/вихід | Детектор швидкості передачі даних |
Роз’єм та кабель порту RS232
Стандартний послідовний порт має 25- чи 9-контактний роз’єм. На рис. 2.1.2. приведені призначенняконтактів цих роз’ємів.
У табл. 1.2. вказано призначення сигналів послідовного інтерфейсу.
На рис. 2.2 представлені два типи з'єднань між комп'ютером і зовнішнім пристроєм по протоколу RS232. Стрілки показують напрямок потоків даних. На рис. 2.2 а представлене так зване нуль-модемне з'єднання. На рис. 2.2 бзображене з'єднання, що використовує тільки три лінії: перша - для передачі даних, друга - для прийому, третя - загальна. З'єднання організоване таким чином, що передані дані від першого пристрою надходять на прийомну лінію другого.
а) б)
Рис. 2.3. З’єднання комп’ютера та зовнішнього пристрою по протоколу RS232: а) – з використанням нуль-модемного кабеля; б) за допомогою трьох ліній
Таблиця 2.2 Призначення сигналів послідовного інтерфейсу
PRO | Захисне заземлення. З'єднується з металевим екраном кабелю і корпусом устаткування. |
GND | Лінія заземлення. Загальний провід для всіх сигналів. |
TD | Передані дані. Послідовні дані передаються комп'ютером по цій лінії. |
RD | Прийняті дані. Послідовні дані приймаються комп'ютером по цій лінії. |
RTS |
Запит на передачу. Лінія взаємодії, яка показує, що комп'ютер готовий до прийому даних. Лінія керується з боку комп'ютера. Якщо взаємодії не потрібно, вона може використовуватися як двійковий вихід. |
CTS | Готовність до передачі. Лінія взаємодії, за допомогою якої зовнішній пристрій повідомляє комп'ютеру, що воно готове до передачі даних. Якщо взаємодії не потрібно, вона може використовуватися як двійковий вхід. |
DTR | Комп'ютер готовий. Лінія взаємодії показує, що комп'ютер ввімкнений та готовий до зв'язку. Лінія керується з боку комп'ютера. Якщо взаємодії не потрібно, во-на може використовуватися як двійковий вихід. |
DSR | Готовність зовнішнього пристрою. Лінія взаємодії, за допомогою якої зовнішнійпристрій повідомляє комп’ютеру, що воно ввімкнене і готове до зв'язку. Якщо взаємодії не потрібно, вона може використовуватися як двійковий вхід. |
Внутрішній апаратний пристрій
Комп'ютер, сумісний з IBMPC, може мати до чотирьох послідовних портів. Вони маркуються як COМ1 - COM4. Кожен СОМ-порт формується окремим UART16450, встановленим усередині комп'ютера.
UART8250/16450
На рис. 2.4 показана внутрішня структура UART. У ньому маються вісім восьмибітових регістрів. Адреси введення/виведення цих регістрів обчислюються додаванням зсуву регістра до базової адреси СОМ-порту.