на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Розробка та програмування пристроїв спряження для послідовного інтерфейсу

Розробка та програмування пристроїв спряження для послідовного інтерфейсу

22

3

Реферат

Розробка та програмування пристроїв спряження для послідовного інтерфейсу

Вступ

Послідовний інтерфейс використовується для зв'язку двох пристроїв між собою. Дані в одну сторону передаються по одному проводу за допомогою послідовності бітів. Природно, при підключенні декількох пристроїв до комп'ютера обмін виробляється тільки з одним з цих пристроїв. Для з'єднання з боку комп'ютера використовується інтерфейс, названий СОМ-порт (COMmunication port, комунікаційний порт).

Взаємодія комп'ютера з зовнішніми пристроями досить часто відбувається через послідовний (СОМ) порт (Serial Interface RS-232C). Послідовна передача даних дозволяє значно спростити канал зв'язку між пристроями, але одночасно приводить до ускладнення формату передачі даних.

Дані передаються по бітам (послідовно) - Serial Interface: Інтерфейс RS-232C, RS-422A, RS-423A, RS-485, послідовний порт COM.

1. Послідовна передача даних

Послідовний потік даних складається з бітів синхронізації і власне бітів даних. Формат послідовних даних містить чотири частини: стартовий біт, біти даних (5-8 біт), перевірочний і стоповий біти; уся ця конструкція іноді називається символом. На рис.6.1 зображений типовий формат послідовних даних. Коли дані не передаються, на лінії встановлюється рівень логічної одиниці. Це називається режимом очікування. Початок режиму передачі даних характеризується передачею рівня логічного нуля тривалістю в одну елементарну посилку. Такий біт називається стартовим. Біти даних посилаються послідовно, причому молодший біт - першим; усього їх може бути від п'яти до восьми.

Рис. 1. Формат послідовних даних, які формує UART

За бітами даних випливає перевірочний біт, призначений для виявлення помилок, що виникають під час обміну даними. Останньою передається стопова посилка, що інформує про закінчення символу. Стоповий біт передається рівнем логічної одиниці. Тривалість стопової посилки - 1, 1.5 чи 2 біти. Спеціально розроблений електронний пристрій, що генерує і приймає послідовні дані, називається універсальним асинхронним прийомо-передавачем (Universal Asynchronous Receiver Transmitter, UART).

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

Швидкість передачі інформації в послідовному інтерфейсі вимірюється в бодах (бод - кількість переданих бітів за 1 с). Стандартні швидкості рівні 110, 150, 300, 600, 1200, 2400, 4800, 9600 і 19200 бод. Знаючи швидкість у бодах, можна обчислити число переданих символів за секунду. Наприклад, якщо мається вісім біт даних без перевірки на парність й один стоповий біт, то загальна довжина послідовності, включаючи стартовий біт, дорівнює 10. Швидкість передачі символів відповідає швидкості в бодах, діленої на 10. Таким чином, при швидкості 9600 бод (див. рис. 1.6) буде передаватися 960 символів у секунду.

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

Більшість комп'ютерів, сумісних з IBM PC, використовує UART 16450, з IBM PC XT - UART 8250. В UART застосовуються рівні напруги ТТЛ. Для передачі даних по каналу зв'язку напруга за допомогою спеціалізованих перетворювачів конвертується з інверсією: логічному нулю відповідає діапазон напруг від +3 до + 12 В, логічній одиниці - від -3 до -12 В.

а)

б)

Рис. 2. Функції контактів роз'ємів RS232 на комп'ютері: а) - блочна частина 9-контактного штирьового роз'єму, вигляд зі сторони задньої стінки комп'ютера; б) - блочна частина 25-контактного штирьового роз'єму, вигляд зі сторони задньої стінки комп'ютера;

Таблиця 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

вхід/вихід

Детектор швидкості пере-дачі даних

2. Сигнали та роз'єми порту RS232

Стандартний послідовний порт має 25- чи 9-контактний роз'єм. На рис. 6.2 представлені два типи з'єднань між комп'ютером і зовнішнім пристроєм по протоколу RS232. Стрілки показують напрямок потоків даних. На рис. 6.2а представлене так зване нуль-модемне з'єднання. На рис. 6.2б зображене з'єднання, що використовує тільки три лінії: перша - для передачі даних, друга - для прийому, третя - загальна. З'єднання організоване таким чином, що передані дані від першого пристрою надходять на прийомну лінію другого.

а) б)

Рис. 3. З'єднання комп'ютера та зовнішнього пристрою по протоколу RS232: а) - з використанням нуль-модемного кабеля;

б) за допомогою трьох ліній

Таблиця 6.2 Призначення сигналів послідовного інтерфейсу

PRO

Захисне заземлення. З'єднується з металевим екраном ка-белю і корпусом устаткування.

GND

Лінія заземлення. Загальний провід для всіх сигналів.

TD

Передані дані. Послідовні дані передаються комп'ютером по цій лінії.

RD

Прийняті дані. Послідовні дані приймаються комп'юте-ром по цій лінії.

RTS

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

CTS

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

DTR

Комп'ютер готовий. Лінія взаємодії показує, що комп'ютер ввімкнений та готовий до зв'язку. Лінія керу-ється з боку комп'ютера. Якщо взаємодії не потрібно, во-на може використовуватися як двійковий вихід.

DSR

Готовність зовнішнього пристрою. Лінія взаємодії, за допомогою якої зовнішній пристрій повідомляє комп' ю-теру, що воно ввімкнене і готове до зв'язку. Якщо взаємодії не потрібно, вона може використовуватися як двійковий вхід.

3. Програмна модель послідовного порта

Комп'ютер, сумісний з IBM PC, може мати до чотирьох послідовних портів. Вони маркуються як COМ1 - COM4. Кожен СОМ-порт формується окремим UART 16450, встановленим усередині комп'ютера / UART 8250/16450/. На рис. 6.4 показана внутрішня структура UART. У ньому маються вісім восьмибітових регістрів. Адреси введення/виведення цих регістрів обчислюються додаванням зсуву регістра до базової адреси СОМ-порту.

Зсуви і функції регістрів UART такі:

00h - буферний регістр передавача/буферний регістр приймача:

використовується для обміну даними;

01h - регістр дозволу переривань: установлює режим запиту переривань;

02h - регістр ідентифікації переривань: перевіряє режим запиту переривань;

03h - регістр формату даних: встановлює формат послідовних даних;

04h - регістр керування модемом: установлює керування модемом (RTS, DTR і т.д.);

05h - регістр стану прийомопередавача: містить інформацію про стан приймача і передавача;

06h - регістр стану модему: містить поточний стан ліній DCD, RI, DSR і CTS;

07h - регістр надоперативної пам'яті: працює як байт пам'яті.

Рис. 4. Внутрішня блок-схема UART 8250/16450

Зсув 00h вказує на буферний регістр читання приймача і регістр запису передавача, що доступний, коли біт DLAB у регістрі формату даних (зсув 03h) дорівнює нулю. Якщо по цій адресі записаний байт, то він передається в регістр зміщення передавача і послідовно надходить на вихід. Під час прийому відбувається зворотна операція: після того як дані успішно прийняті і за допомогою регістра зміщення перетворені в рівнобіжний формат, вони передаються в буферний регістр приймача. Коли інформація з цього регістра зчитана, він очищається і готовий до прийому наступного блоку даних.

По зсуву 01h від базового знаходиться регістр дозволу переривань, за допомогою якого можна конфігурувати переривання, що генеруються UART. Призначення бітів цього регістра:

0 0 0 0 SINP ERBK TBE RxRD

біти з 7 по 4 завжди нулі

SINP 1 = переривання по зміні стану ліній CTS, DSR, DCD і RI

0 = немає переривання

ERBK 1 = переривання при помилці прийому даних

0 = немає переривання

ТВЕ 1 = переривання, коли регістр передавача порожній

0 = немає переривання

RxRD 1 = переривання при одержанні цаннх

0 = немає переривання

По зсуву 02h знаходиться регістр ідентифікації переривань. При виникненні переривання нульовий біт цього регістра встановлюється в 0. Біти 1 і 2 указують причину переривання. Біти з 7 по 3 не використовуються і завжди дорівнюють нулю. Призначення бітів регістра наступне:

0 0 0 0 0 ID1 ID0 PND

PND 1 = немає переривання

0 = переривання

ID1, ID0 00 = зміна вхідного сигналу RS232 (пріоритет 3)

01 = регістр передавача порожній (пріоритет 2)

10 = у буферному регістрі приймача дані готові (пріоритет 1)

11 = помилка передачі даних чи зупинка (пріоритет 0, вищий ступінь)

Якщо процес обміну даними організований по перериваннях, то стале переривання повинно бути скинуте; у протилежному випадку коректність обміну даними порушиться. Дії, необхідні для очищення переривання, такі:

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.