Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Мета роботи


Дата добавления: 2014-11-10; просмотров: 681



Опанування основних принципів програмування послідовної передачі данихза допомогою прийомо-передавача MCS-51.

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

При синхронній послідовній передачі даних (наприклад, у випадку інтерфейсу SPI або шини I2С) синхронізується передача окремих бітів даних з допомогою одночасної передачі передавачем тактового сигналу. При цьому особливих вимог до такого тактового сигналу у відношенні синхронізації не висувають. Так, наприклад, при використанні декількох синхронних протоколів передачі такт для узгодження повільніших пристроїв, які підключені до шини, розтягується в часі.

Синхронна послідовна передача даних застосовується, головним чином, на рівні друкованих плат, в тому числі – для обміну даними між різними інтегрованими блоками у складі схеми мікроконтролера і різними периферійними пристроями (наприклад, для обробки відеосигналу або управління звуком через шину І2С телевізійного приймача).

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

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

Серед поширених стандартів асинхронної передачі даних стійкістю до завад відрізняється струмовий інтерфейсз силою струму 20 мА, який може застосовуватися для асинхронної передачі даних зі швидкістю до 9600 бод. Цей інтерфейс не нормований, але завдяки простоті широко використовується протягом багатьох років.

З’єднання двох пристроїв здійснюється через замкнений прийомо-передаючий контур. На активній стороні протікає струм з силою 20 мА. Для передачі сигналів низького рівня підведення струму припиняється, а при передачі сигналу високого рівня контур залишається замкненим.

У випадку струмових інтерфейсів можливо легко реалізувати розподіл потенціалів між передаючою і приймаючою стороною через оптоелектронний пристрій, як зображено на рис. 2.36, тому вони придатні для передачі даних на відстань до 1000 м.

Рис.2.36. Приклад передаючого контуру для струмового інтерфейсу.

Широко розповсюджені інтерфейси RS232C або V.24 передають сигнали високого і низького рівня як значення напруги. При цьому на стороні приймача високому рівню TTL сигнала (+2 ÷ +5 В) виділений діапазон напруги -3В ÷ -15В, а низькому TTL сигналу (0 ÷ +0,8 В) – діапазон напруг +3 ÷ +15 В. На стороні передавача нижня границя для компенсації втрат напруги в лінії підтягнута до +5 В і відповідно -5 В. На рис.2.37 зображені рівні сигналу, що допускається нормами.

Для перетворення рівнів від стандарту TTL до стандартуіV.24 можна використати цілий ряд інтегральних схем. Найбільш поширеним драйверним модулем для цієї цілі являється мікросхема MAX232 компанії Maxim, яка завдяки вбудованим перетворювачам напруги використовує єдиний вид робочої напруги +5 В.

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

Рис.2.37. Рівні напруг у відповідності до стандарту RS232C.

В найпростішому випадку для комунікації між двома пристроями достатньо мати просте з’єднання за допомогою трьох провідників: перехрещені передаючий і приймаючий провідники TxD і RxD, а також провідник заземлення. Не задіяні керуючі лінії інтерфейсу можуть бути замкнені у відповідності до рис.2.37.

На практиці, по інтерфейсу RS232C не можливо досягнути швидкості передачі даних вище 19200 бод. Внаслідок гальванічного з’єднання і виникаючих порушень у роботі, що обумовлені струмами перехідних процесів у проводі заземлення, передачу даних на відстані більше 15-20 метрів здійснити неможливо, хоча стандарт і визначає допустиму межу в 30,5 м.

У відповідності до стандарту V.24, в лінії передачі даних у стані очікування встановлена логічна 1. Передача може бути розпочата у будь-який момент часу. Для того, щоб передати приймачу повідомлення про початок передачі, посилається стартовий біт з рівнем логічного 0. після цього слідують розряди даних (у більшості випадків 7 або 8, їх число призначається у протоколі передачі даних), при цьому спочатку передається молодший біт.

Для підвищення надійності передачі даних може бути добавлений біт парності. Біт парності доповнює розряди даних таким чином , що досягається пряма парність (сума усіх бітів, в тому числі біт

Рис.2.37. Просте три провідне з’єднання двох пристроїв.

парності, парна) або непряма парність (сума усіх бітів, в тому числі біт парності, непарна). Необхідний вид парності (відсутність, пряма, непряма) також повинен бути оголошений у протоколі передачі даних.

Передача закінчується стоп-бітом з рівнем логічної 1, який в деяких мікроконтролерах може бути запрограмований з тривалістю 1; 1,5 або 2 тривалості біта. Після відправлення стоп-біта лінія даних знову переходить у вихідний стан очікування і готова до наступної передачі. Часова діаграма передачі байта #Е5 (11100101b) з непрямою парністю і стоп-бітом через інтерфейс типу V.24 наведена на рис. 2.38.

Рис.2.38. Часова діаграма передачі байта #Е5 (11100101b) з непрямою парністю і стоп-бітом через інтерфейс типу V.24.

У зв’язку з тим, що тактовий імпульс для синхронізації передачі не пересилається, початок розряду може бути розпізнаний тільки за допомогою вимірювання часу, який пройшов з моменту появи спадаючого фронту стартового біта. Саме для цього потрібно встановлювати швидкість передачі даних, яка являється обов’язковою для передаючої і приймаючої сторони. Ці швидкості визначені в стандарті інтерфейсу RS232C і для уникнення помилок при розпізнаванні окремих розрядів їх необхідно дотримуватися.

Внаслідок суттєвої різниці між тактами передачі і прийому, а також у випадку, коли передача здійснюється по наростаючому фронту такту, а опитування на стороні приймача – по спадаючому, який може попадати в середину імпульсу даних наведені на рис.2.39.

На рис.2.39 зображений випадок, коли розряд 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 лише швидкість передачі даних є зміна.

 

Рис.2.39. Вплив різних тактів передачі на транслюючій

і приймаючій стороні.

Для роботи з послідовним портом виділено два регістри: 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.

На рис.2.40 наведена структура регістра конфігурації послідовного порту, а в таблиці 2.20. – призначення його окремих бітів.

 

SM0 SM1 SM2 REN TB8 RB8 TI RI

Рис.2.40. Регістр конфігурації SCON.

 

Таблиця 2.20. Призначення бітів послідовного порту MCS-51

Позначення Призначення
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 визначають режими роботи інтерфейсу у відповідності з таблицею 2.21.

Таблиця 2.21. Вибір режимів роботи послідовного порту.


<== предыдущая лекция | следующая лекция ==>
IMP_GEN-2 | Бод рейт (Baud Rates)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | <== 14 ==> | 15 |
Studopedia.info - Студопедия - 2014-2024 год . (0.2 сек.) російська версія | українська версія

Генерация страницы за: 0.2 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7