- •Лабораторна робота №1
- •Мета роботи
- •Теоретичні відомості
- •Програма роботи
- •1.4. Порядок виконання роботи
- •1.5. Контрольні запитання
- •Лабораторна робота № 2
- •2.1. Мета роботи
- •2.2. Теоретичні відомості
- •2.3. Програма роботи
- •2.4. Порядок виконання роботи
- •2.5. Контрольні запитання
- •Лабораторна робота № 3
- •3.1. Мета роботи
- •3.2. Теоретичні відомості
- •3.4. Порядок виконання лабораторної роботи
- •3.5. Контрольні запитання:
- •Лабораторна робота №4
- •4.1. Мета роботи
- •4.2. Теоретичні відомості
- •4.4. Порядок виконання лабораторної роботи
- •6.5. Контрольні запитання
- •Лабораторна робота №5
- •5.1. Мета роботи
- •5.2. Теоретичні відомості.
- •Давач температури ds1621.
- •5.3. Контрольні запитання.
- •Лабораторна робота №6. Програмування послідовного порту омк.
- •6.1. Мета роботи
- •6.2. Теоретичні відомості
- •Формат передачі по асинхронному інтерфейсу.
- •Бод рейт (Baud Rates)
- •8.3. Програма роботи
- •8.4. Порядок виконання лабораторної роботи
- •Лабораторна робота №7 Система переривань. Робота з дискретними сигналами
- •7.1. Мета роботи
- •7.2. Теоретичні відомості
- •7.3. Програма роботи
- •7.4. Порядок виконання роботи
- •7.5. Контрольні запитання
- •Лабораторна робота №8. Обробка частотних і часових сигналів
- •8.1. Мета роботи
- •8.2. Теоретичні відомості
- •8.4. Програма роботи
- •8.5. Порядок виконання лабораторної роботи
- •Контрольні запитання
Формат передачі по асинхронному інтерфейсу.
У відповідності до стандарту V.24, в лінії передачі даних у стані очікування встановлена логічна 1. Передача може бути розпочата у будь-який момент часу. Для того, щоб передати приймачу повідомлення про початок передачі, посилається стартовий біт з рівнем логічного 0. після цього слідують розряди даних (у більшості випадків 7 або 8, їх число призначається у протоколі передачі даних), при цьому спочатку передається молодший біт.
Для підвищення надійності передачі даних може бути добавлений біт парності. Біт парності доповнює розряди даних таким чином , що досягається пряма парність (сума усіх бітів, в тому числі біт парності, парна) або непряма парність (сума усіх бітів, в тому числі біт парності, непарна). Необхідний вид парності (відсутність, пряма, непряма) також повинен бути оголошений у протоколі передачі даних.
Передача закінчується стоп-бітом з рівнем логічної 1, який в деяких мікроконтролерах може бути запрограмований з протяжністю 1; 1.5 або 2 довжини біта. Після відправлення стоп-біта лінія даних знову переходить у вихідний стан очікування і готова до наступної передачі. Часова діаграма передачі байта #Е5 (11100101b) з непрямою парністю і стоп-бітом через інтерфейс типу V.24 наведена на рис. 4.
Рис.4. Часова діаграма передачі байта #Е5 (11100101b) з непрямою парністю і стоп-бітом через інтерфейс типу V.24.
У зв’язку з тим, що такт для синхронізації передачі не пересилається, початок розряду може бути розпізнаний тільки за допомогою вимірювання часу, який пройшов з моменту появи спадаючого фронту стартового біта. Саме для цього потрібно встановлювати швидкість передачі даних, яка являється обов’язковою для передаючої і приймаючої сторони. Ці швидкості визначені в стандарті інтерфейсу RS232C і для уникнення помилок при розпізнаванні окремих розрядів їх необхідно дотримуватися.
Наслідок суттєвої різниці між тактами передачі і прийому, а також випадку, коли передача здійснюється по наростаючому фронту такту, а опитування на стороні приймача – по спадаючому, який може попадати в середину імпульсу даних наведені на рис.5.
Рис.5. Вплив різних тактів передачі на транслюючій і приймаючій стороні.
На рис.5 зображений випадок, коли розряд 4 і розряд 7, а також біт парності розпізнані не правильно. Оскільки, в цьому прикладі оголошена непряма парність, то помилка може бути помічена за допомогою біта парності, так як байт розпізнаний як #75 і встановлений біт парності дають в результаті пряму парність, але при виникненні двох помилок біт парності про це не просигналізував би.
Відмінність у тактах на транслюючій та приймаючій стороні в розглянутому прикладі складає 20%, що не допускається. Для уникнення помилок і для забезпечення надійної передачі даних слід уникати відхилень, що перевищують 3%.
Послідовний порт може працювати в чотирьох режимах.
Режим 0. 8 бітів даних (LSD перший). Швидкість передачі фіксована (1/12 частоти генератора fosc).
Режим 1. 10 бітів передаються/приймаються: старт-біт (0), 8-бітів даних (LSB перший) і стоп-біт. При прийомі стоп-біт переміщується в RB8 регістра SCON. Швидкість передачі змінна.
Режим 2. передача/прийом здійснюється 11-бітним словом: старт-біт (0), 8 бітів даних, програмований 9-ий біт (біт парності) і стоп-біт. При передачі 9-ий біт даних (TB8 в SCON) може містити „0” або „1”.
При прийомі, 9-ий біт прямує в RB8 регістра SCON. Швидкість передачі 1/32 або 1/64 частоти генератора.
Режим 3. передача/прийом здійснюється 11-бітним словом. Режим 3 аналогічний режиму 2 лише швидкість передачі даних є зміна.
Для роботи з послідовним портом виділено два регістри: SCON (Serial Port Control Register) – призначений для управління функціями прийомопередавача та регістр даних; SBUF (Serial Data Buffer) – регістр даних, фізично складається з двох регістрів (звернення до цих регістрів відбувається за однією адресою, причому один з них використовується для передачі, а інший – для прийому даних).
Мультипроцесорний зв’язок. Режим 2 і 3 має спеціальне забезпечення для мультипроцесорного зв’язку. В цьому режимі приймається 9 бітів даних, 9-ий біт поступає в RB8. Порт може бути запрограмований так, що коли отриманий стоп-біт, то переривання від послідовного порту буде активоване якщо RB8=1 (SM2=1). Цей режим надає можливість передачі даних між декількома пристроями.
Прийом призначається в режимі 0 умовою RI=0 і REN=1, прийом введений в інші режими прийнятим стартовим бітом якщо REN=1.
На рис.6 наведений вигляд регістра конфігурації.
SM0 |
SM1 |
SM2 |
REN |
TB8 |
RB8 |
TI |
RI |
Рис.6. Регістр конфігурації SCON.
Біт |
Пояснення |
SM0 |
Визначає режим роботи послідовного порту. |
SM1 |
Визначає режим роботи послідовного порту. |
SM2 |
Визначає режим мультипроцесорного зв’язку в режимі 2 і 3. В режимі 2 чи 3, якщо SM2 встановлений в 1, то RI не буде активований, якщо отриманий 9-ий біт даних (RB8) нульовий. В режимі 1, якщо SM2=1, то RI не буде активований, якщо не був отриманий коректний стоповий біт. В режимі 0, біт SM2 повинен бути встановлений в „0”. |
REN |
Встановлюється програмно для дозволу або заборони прийому. |
TB8 |
9-ий біт (біт парності), що може передаватися в режимах 2 і 3. встановлюється програмно. |
RB8 |
В режимах 2 і 3, 9-ий біт (біт парності), що може бути прийнятий. В режимі 1, якщо SM2=0, RB8 – стоповий біт, який був отриманий. |
TI |
Біт закінчення передачі. Встановлюється апаратно в кінці 8-го біта в режимі 0 чи на початку стоп-біта в інших режимах. Очищається програмно. |
RI |
Біт закінчення прийому. Встановлюється апаратно в кінці 8-го біта в режимі 0 чи на початку стоп-біта в інших режимах. Очищається програмно. |
SM0 |
SM1 |
Режим |
Опис |
Швидкість пердачі (Бод рейт) |
0 |
0 |
0 |
Shift Register |
Фіксована (fosc/12) |
0 |
1 |
1 |
8-bit UART |
Змінна (встановлюється таймером) |
1 |
0 |
2 |
9-bit UART |
Фіксована (fosc/64 або fosc/32) |
1 |
1 |
3 |
9-bit UART |
Змінна (встановлюється таймером) |