Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лабораторна робода №9. Програмування послідового порту, інтерфейс RS-232




Лабораторна робода №9. Програмування послідового порту, інтерфейс RS-232

 

 

Тема: Програмування послідовного порту, інтерфейс RS-232.

Мета: Вивчити принцип передачі даних по інтерфейсу RS-232, зокрема ознайомитися з режимами роботи послідовного інтерфейсу, здійснити налаштування прийому/передачі даних на різних режимах

 

Порядок виконання роботи:

1. Вивчити принцип роботи послідовного інтерфейсу RS-232.

2. Розробити алгоритм індивідуального завдання до початку заняття.

3. Розробити програму і скомпілювати її.

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

 

       Рисунок 9. 1 – Схема для лабораторної роботи №9

 

Короткі теоретичні відомості

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

Часто UART застосовують у парі з інтерфейсом RS-232 для зв’язку периферійного пристрою з персональним комп’ютером. Сигнали UART та RS-232 відрізняються в основному рівнями логічної одиниці та нуля. Якщо UART використовує рівні стандартні для КМОН чи ТТЛ логіки, то стандарт RS-232 передбачає використання напруги від -3В до -25В для кодування логічної одиниці та напруги від 3В до 25В для кодування логічного нуля.

Передавання даних відбувається пакетами по 8 або 9 біт (молодші біти передаються першими). Синхронізація приймача та передавача відбувається таким чином (рис. 9. 2). У спокої лінія утримується передавачем у стані логічної одиниці. Якщо виникає необхідність передати дані то передавач передає нульовий старт біт, вісім або дев’ять інформаційних бітів, та обов’язково одиничний стоп-біт, що повертає лінію в стан очікування. Дев’ятий інформаційний біт можна використати для перевірки цілісності байта.

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

 

    Рисунок 9. 2 – Часові діаграми роботи UART

 

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

UART сімейства мікроконтролерів MCS51 (до якого відноситься ADuC841) передбачає рободу в чотирьох режимах, які вибираються регістром SCON (табл. 9. 2).

В нульовому, синхронному, режимі дані передаються та приймаються через вхід RXD, вихід TXD передає синхроімпульси. В першому-третьому режимах дані передаються асинхронно виводом TXD, а приймаються RXD.

- в першому режимі передається старт-біт, 8 біт даних та стоп-біт;

- у другому та третьому режимах передається старт-біт, 9 біт даних і стоп-біт.

Щоб задати частоту передачі даних по UART використовуємо таймер 3, який в мікроконтролері ADuC841, призначений для даної задачі. Для того щоб здійснювати передачу даних з відповідною швидкістю необхідно налаштувати регістр T3CON, який відповідає за режим роботи таймера 3 для даного регістра потрібно визначити значення дільника (DIV) за формулою:

 

 

де:   fCODE – частота тактування контролера;

          Baud Rate – швидкість передач (Бод).

При розрахунку заокруглення отриманого результату необхідно здійснити в сторону меншого цілого числа.

 

Таблиця 9. 1 – Біти регістру T3CON

Біт Назва Призначення
T3BAUDEN T3BAUDEN – 1. Таймер 3 ввімкнено для генерування передачі даних.
6... 3   Зарезервовано.
DIV2

Бінарний дільник частоти

DIV2 DIV1 DIV0 Бінарні дільники

 

DIV1
DIV0

 

Також необхідно встановити відповідний дробовий коефіцієнт дільника, який записуємо в регістр T3FD і значення розраховуємо за формулою:

 

 

Отримане значення слід заокруглювати до ближчого цілого числа.

Для прикладу проведемо розрахунок значення регістрів T3CON і T3FD при передачі даних з швидкістю 115200 Бод, для 11, 0592МГц.

 

DIV=log(11059200/(16х115200))/log2=2, 563=2

T3CON=82H

T3FD=(2х11059200)/(22-1х115200)-64=32=20H

Таблиця 9. 2 – Біти регістру SCON

Біт Назва Призначення
SM0

Біти вибору режиму роботи UART.

SM0 SM1 Режим роботи:

0 0     0: Синхронний, фіксована швидкість (fclk/2).

0 1     1: 8-бітний, асинхронний, змінна швидкість.

1  0     2: 9-бітний, асинхронний, фіксована швидкість (fclk/32) або (fclk/16).

1  1     3: 9-бітний, асинхронний, змінна швидкість.

SM1
SM2 Біт дозволу багатопроцесорного зв’язку. - у режимі 0 має бути скинутий; - у режимі 1, якщо встановлений, то RI не спрацьовує, доки не отримано пакет зі встановленим дев’ятим бітом; - у режимі 2 та 3, якщо встановлений, то RI не спрацьовує, доки не отримано пакет зі встановленим дев’ятим бітом; - якщо скинутий, то RI спрацьовує одразу ж після завершення приймання біт даних
REN Біт дозволу приймача. Встановлюється/скидається програмно
TB8 Дев’ятий біт даних для передавача
RB8 Дев’ятий біт даних для приймача
TI Ознака закінчення передавання байта. Встановлюється UART після завершення передавання бітів даних. Скидається програмно
RI Ознака закінчення прийому байта. Встановлюється після завершення приймання посилання. Скидається програмно

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...