Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб 10Л.doc
Скачиваний:
1
Добавлен:
21.11.2019
Размер:
324.1 Кб
Скачать

16

Міністерство транспорту та зв’язку україни львівський коледж державного університету інформаційно-комунікаційних технологій

Навчальна дисципліна: Обчислювальна техніка та мікропроцесори

Лабораторія: обчислювальної техніки, мікропроцесорних систем і мереж

Спеціальність 5.05090308 Монтаж, обслуговування

та експлуатація апаратних засобів інформатизації

РОЗГЛЯНУТО

на засіданні циклової комісії фундаментальних дисциплін

Протокол №

від ”___”______2009 р.

Голова комісії_________О.Лабаз

ЗАТВЕРДЖУЮ

Заступник директора з НВР

____________Я.Плешівський

„___”________2009 р.

ІНСТРУКЦІЯ

ДО ЛАБОРАТОРНОЇ РОБОТИ №10

ДОСЛІДЖЕННЯ ПРОТОКОЛУ UART

МІКРОКОНТРОЛЕРА

Склали викладачі:

к.т.н. Б.А.Бохонко

С.О. Леонов


Львів – 2009

  1. Мета роботи

Набути практичних навичок складання програм для передачі цифрових даних через послідовний порт RS -232 з використанням мікроконтролеру AT89S8252.

  1. Теоретичні відомості

2.1 Стандартний асинхронний інтерфейс RS-232 .

Персональні комп’ютери (ПК) та інші МПС повинні взаємодіяти (приймати та передавати дані) із зовнішніми пристроями, системами. Для цього розроблено декілька стандартів. Багато пристроїв працюють з стандартними інтерфейсами.

Спеціальний пристій, який генерує і приймає послідовні данні, називають універсальним асинхронним прийомопередавачем (Universal Asynchronous Receiver Transmitter, UART).

Один із найбільш поширених інтерфейсних стандартів називають RS-232 C (Reference Standard №232 Revision C ), сигнали у роз’ємах (25 контактних і 9 контактних) якого наведені в табл.2.1.

Таблиця 2.1 Сигнали стандарту RS-232 С.

Номер контакту (25)

Номер контакту (9)

Позначення сигналу

Опис сигналу

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

3

2

7

8

6

5

1

4

9

PGND

TD

RD

RTS

CLS

DSR

SGND

CD

-

-

-

RLSD

SCTS

STD

TT

SRD

RT

SUN

SRTS

DTR

SQD

RI

DRS

TT

-

Захисне заземлення

Дані , що передаються (вихід)

Дані , що приймаються(вхід)

Запит передачі (вихід)

Скидка для передачі

Готовність модему

Сигнальне заземлення

Знаходження несучої

(Зарезервовано для тесту модему)

(Зарезервовано для тесту модему)

Не назначений

Детектор сигналу приймальної лінії

Вторинна скидка передачі

Вторинні передавальні дані

Синхронізація передавача

Вторинні приймальні дані

Синхронізація приймача

Вторинний не назначений

Вторинний запит передачі

Готовність терміналу

Детектор якості сигналу

Індикатор дзвінка

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

Синхронізація передавача

Не назначений

В різних комп’ютерах порти роз’ємів RS-232 можуть мати від 4 до 25 контактів по числу характеристик, які вони повинні узгодити і коректувати . Розглянемо інтерфейс RS-232 докладніше.

Перш за все інтерфейсні схеми повинні враховувати два типи синхронізації взаємодіючих пристроїв. Це називається асинхронним зв’язком . Асинхронний цифровий сигнал такого типу складається із байтів даних. Вісім бітів по одному послідовно передаються від одної сторони і приймаються на другій. Дані можуть передаватися в обох напрямках – від комп’ютера до пристрою і навпаки.

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

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

Стоповий

Біт №2

Після стартового біта появляються біти даних (5-8 біт). Причому першим з’являється молодший біт, всього їх може бути 5-8. За бітами даних йде перевірочний біт, призначений для виявлення похибок при передачі даних. По закінченню передачі в лінії встановлюється високий рівень , який діє на протязі часу передачі 1, 1,5, 2 бітів, називається стоповими. При присутності одного стартового біта восьми бітів даних і двох стопових бітів такі асинхронні посилки називаються «символами» і складаються із 11бітів.

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

Розрізняють два типи паритета – парний і непарний. Біт непарного паритета визначається в передавачі для кожного символу. Якщо число одиниць в байті непарне , біт паритета буде містити нуль. Якщо ж число одиниць в байті парне , то біт паритету буде містити одиницю. Таким чином, загальне число одиниць в посилці, включає біт паритета, стає непарним .

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

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

Асинхронна передача добре підходить для коротких пакетів даних, але виявляється мало ефективною при передачі великих об’ємів даних.

Є декілька способів вимірювання швидкості передачі. Найбільш широко використовується термін «бод» (кількість бітів, що передається за 1с). Стандартні швидкості дорівнюють 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 бод. Можна також виміряти швидкість передачі в бітах за секунду, символах в секунду і бітовим інтервалом в мілісекундах. Типова швидкість передачі становить 300 Бод. Якщо символ складається з стартового біта , восьми бітів даних ,біта паритета і двох стопових символів, всього виходить 11 біт.

В стандарті RS-232 визначені високий і низький рівень напруги. Було прийнято, що в інтерфейсі RS-232 будуть діяти цифрові рівні +3 і -3В (мал. 2.2). Любі напруги вище 3В рахуються двійковим нулем , а будь-яка напруга нижче -3В –двійковою одиницею. Напруга в діапазоні від -3В до +3В рахуються без змісту.

Рис .2.2 В стандарті RS-232C всі напруги вище +3 В рахується нулем , а нище -3В-одиницею. Напруга між +3В і -3В невизначена.

При передачі по інтерфейсу RS-232 логічні рівні можна встановити в любому діапазоні вище +3 і нижче -3В.За звичайно застосовуються рівні +12 і -12В. Вихідна схема перетворює сигнали для передачі через порт до цих рівнів. В приймачі відбувається інверсія рівнів.

2.2 Сигнали інтерфейсу RS-232

В табл.2.1 приведені стандартні позначення 25 контактів інтерфейсу RS-232. В більшості додатків всі 25 сигналів не використовуються. За звичай для інтерфейсу комп’ютера з принтером або модемом достатньо кілька десятків сигналів. Контакти 1 і 7 призначенні для заземлення.

На вихідний контакт 2 TD передавальні дані, комп’ютер виводить дані для периферійного пристрою. Послідовні дані можуть поступати з виходу мікросхеми ПІА (послідовний інтерфейсний адаптер), так показано на рис.2.3. Дані подаються на зчитуючий вхід операційного підсилювача, який працює як компаратор. На сумуючий вхід підсилювача подано постійну напругу +1.5В. На виході операційного підсилювача формуються сигнали з рівнем +12 і -12В.

Рис. 2.3 Операційний підсилювач може комутувати свій вихід від +12В до -12В, коли від мікросхеми ПАІ поступає Н- або L- рівень напруги.

Якщо сигнал від мікросхеми ПІА рівний +5В (більше +1,5В), то на виході підсилювача появляється рівень -12В, який відповідає логічній одиниці. Якщо ж вхідний сигнал має напругу 0В (нижче+1,5В) на виході підсилювача буде рівень +12В, відповідний логічному нулю. Таке представлення логічних одиниць і нулів проходить через порт в периферійний пристрій. Контакт 3 призначений для приймальних даних RD. Для прийому даних можна використовувати інтерфейсну схему , показану на рис2.3. Периферійний пристрій посилає дані через інтерфейс RS-232 на контакт RD, який підключений до аноду найбільшого діоду. Катод діоду з’єднаний з зчитуючим входом компаратора, а на сумуючий вхід компаратора подано постійну напругу +2В. Якщо вхідний сигнал перевищує рівень +2,5В , діод проводить і на виході компаратора утворюється напруга 0В , яка представляє логічний 0. Якщо ж рівень вхідного сигналу менше +2,5В, компаратор не спрацьовує і на виході зберігається напруга +5В, яка відповідає логічній одиниці . При зміні вхідного сигналу вихід компаратора відповідно змінюється і логічні рівні подаються на вхідний контакт мікросхеми ПІА.

З’єднання стандарту приймача

+5В +5В

RS-232C

1

Високоомний

0

Рис.2.4 Компаратор комутує свій вихід від +5В до 0В при поступленні на вхід Н- або L- рівень.

Сигнал, який поступає на контакт 8, називається “виявленням несучої ”- CD. Він діє аналогічно входу RD, але посилає в ПІА сигнал переривання рис.2.4. Він повідомляє про те, що периферійні пристрої готові і можуть пересилати дані. Сигнал CD можна віднести до сигналів стану .

З’єднання стандарту

RS-232C +5В +5В

Рис.2.5 Подача вхідного сигналу на вхід CD діє так ,як подача на вхід RD, але в цьому випадку формуються переривання.

Розглянуті сигнали забезпечують одно-або двохсторонній зв'язок між комп’ютером і периферійним пристроєм . Але за допомогою тільки цих сигналів не можна вирішити найбільш тяжкі задачі зв’язку, наприклад квитування. Для квитування потрібні допоміжні сигнали. Так контакт 6 відведений для сигналу готовності модему DSR, котрий інформує периферійний пристрій про те, що комп’ютер має дані для передачі .Через контакт 20 – готовність терміналу DTR, прилад може повернути сигнал про готовність сприймати дані, які посилає комп’ютер.

Через контакт 5 передається сигнал скидання для передачі CTS . Цей сигнал від периферійного пристрою , наприклад модему , повідомляє про готовність чи неготовність модему передавати сигнали по телефонній лінії. За допомогою вихідного сигналу запит передачі RTS (контакт 4 ) процесор управляє діями модему. Решта сигналів стандарту RS - 232 використовується в складних інтерфейсних схемах.

2.3 Формування протоколу RS-232 в мікроконтролері стенду

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

Коли байт з регістра UDR переноситься в регістр зсуву передачі, в регістрі стану USR встановлюється прапорець UDRE ( UART Data Register Empty – регістр даних прийомопередавача порожній ), який вказує на готовність прийомопередавача до прийому нового байта даних в регістр UDR.

При прийомі байта, який передається в розряді 1- 8 регістра зсуву біт 0 (старт- біт ) цього регістра автоматично стирається , і в випадку, якщо CHR9 = лог. 1 і встановлений стоп –біт (розряд 9 при CHR9 =лог. 0 чи розряд 10 при CHR9 = лог. 1 ), розряд TXB8 із регістра управління UСR копіюється в розряд 9 рігістру зсуву.

Разом з наступним тактовим імпульсом байт, який передається з регістра UDR переноситься в регістр зсуву, біт 0 регістра зсуву в якості стартового біта переноситься на вихід TxD, після чого йде 8/9 розрядів даних (спочатку молодший розряд) і стоп – біт. Якщо під час текучої передачі даних в регістр UDR загружається новий байт , то цей байт зразу ж після передачі стоп – біта передається в регістр зсуву , і починається нова передача. Одночасно з передачею цього байта в регістр зсуву в регістрі стану USR встановлюється прапорець UDRЕ, який вказує на те, що передаючий елемент прийомопередавача UАRТ знову готовий для передачі нового символу в регістр UDR.

Якщо після передачі стоп - біта в регістрі UDR не буде нового слова даних, який чекає передачі, то прапорець UDRЕ, встановлений при передачі попереднього байта із регістра UDR в зсуваючий регістр, буде одержано лог.1 до тих пір, поки в регістр UDR не буде знову записаний байт. Після цього прапорець UDRЕ зкидається. Після пересилки стоп – біта в регістрі стану USR встановлюється прапорець TXC (UART Transmit Complete – передача через UART завершена), який вказує на то, що слово даних було передано, і дані, які чекають на передачу, відсутні.

За допомогою розряду TXEN регістра управління UCR робота трансмітера може бути заблокована (TXEN = лог.0 ) або розблокована ( TXEN=лог.1).

Якщо трансмітер заблокований то вивід PD1 може бути використовуватись в якості загального входу/виходу. Якщо він розблокований, то вихід зсуваючого регістра буде з’єднаний з виводом PD1, не дивлячись на налаштування DDD1 в регістрі направлення передачі даних DDRD.

Рис. 2.7 Під’єднання мікроконтролеру до PC за допомогою мікросхеми MAX232

Рис. 2.8 Сигнал обміну даними по RS-232

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]