WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаТехнічні науки → Розробка інформаційно-вимірювальної системи для перевірки гідромоторів - Курсова робота

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

4.3 Вбудований універсальний асинхронний приймач-передавач

Мікроконтролери AT90S8515 оснащені полнодуплексними універсальними приймачами-передавачами (UART). Їхні основні можливості наступні:

- Генератор забезпечує будь-яку швидкість передачі інформації в бодах

- Висока швидкість передачі при низькій частоті XTAL

- 8-розрядний або 9-розрядний формати даних

- Фільтрація шуму

- Визначення переповнення

- Визначення помилок формування кадрів

- Детектування біта неправдивого старту

- Три окремих переривання: по завершенню передачі (TX Complete), по порожньому регістру даних, що передаються (TX Data Register Empty) і по завершенню прийому (RX Complete).

Передача даних

Блок-схема передавача UART показана на рисунку 4.3.

Передача даних ініціюється записом даних, що передаються, в регістр даних I/O UART (UDR). Дані пересилаються з UDR в зсувний регістр передачі в наступних випадках:

  • Новий символ записаний в UDR після того як був виведений з регістру стоповый біт символу, що передував. Зсувний регістр завантажується негайно.

  • Новий символ записаний в UDR раніше, ніж був виведений стоповий біт символу, що передував. Зсувний регістр завантажується після виходу стопового біту символу, що передається, який знаходиться в зсувному регістрі.

Якщо з 10 (11)-розрядного зсувного регістру передачі виведена вся інформація (зсувний регістр передачі порожній) дані з UDR пересилаються в зсувний регістр. В цей час встановлюється біт UDRE (UART Data Register Empty) регістру статусу UART (USR). При встановленому в стан 1 біті UDRE UART готов прийняти наступний символ. Запис в UDR очищає біт UDRE. В той самий час, коли дані пересилаються з UDR в 10 (11)-розрядний зсувний регістр, біт 0 зсувного регістру скидається в стан 0 (стан 0 - стартовий біт) а біт 9 або 10 встановлюється в стан 1 (стан 1 - стоповий біт). Якщо в регістрі управління UART (UCR) встановлений біт CHR9 (тобто вибраний режим 9-розрядного слова даних), то біт TXB8 регістру UCR пересилається в біт 9 зсувного регістру передачі.

Рисунок 4.3 – Передавач UART

Відразу після пересилання даних в зсувний регістр тактом бод-генератора стартовий біт зсувається на вивід TXD. За ним слідує LSB даних. Коли буде виданий стоповий біт зсувний регістр завантажується новою порцією даних, якщо вона була записана в UDR під час передачі. В процесі завантаження біт UDRE знаходиться в встановленому стані. Якщо ж нові дані не будуть завантажені в UDR до видачі стопового біту, прапор UDRE залишається встановленим. В цьому випадку, після того як стоповий біт буде знаходитись на виводі TXD протягом одного такту, в регістрі статусу UART (USR) встановлюється прапор завершення передачі TXC (TX Complete Flag).

Встановлений в стан 1 біт TXEN регістру UCR дозволяє передачу UART. При очищеному біті TXEN (скинутому в стан 0) вивод PD1 може бути використаний в якості виводу I/O загального призначення. При встановленому біті TXEN передавач UART підключається до PD1 і використає його в якості виводу виходу, незалежно від установки біту DDD1 в DDRD. Логіка відновлення даних виробляє вибірку станів виводу RXD з частотою в 16 раз більшою, ніж частота бодів. При знаходженні лінії в пасивному стані одиночна вибірка нульового логічного рівня буде інтерпретуватися як падаючий фронт стартового біту і буде запущена послідовність детектування стартового біту. Вважається, що перша вибірка виявила перший нульовий логічний рівень імовірного стартового біту. На вибірках 8, 9 і 10 приймач знову тестує вивод RXD на зміну логічних станів. Якщо дві або більш з цих трьох вибірок виявлять логічні 1, то даний імовірний стартовий біт відкидається як шумовий сплеск і приймач почне виявляти і аналізувати наступні переходи з 1 в 0.

Рисунок 4.4 – Приймач UART

Якщо ж був виявлений дійсний стартовий біт, то починає вироблятися вибірка наступних за стартовим бітом інформаційних бітів. Ці біти також тестуються на вибірках 8, 9 і 10. Логічний стан біту приймається по двом і більше (з трьох) однаковим станам вибірок. Всі біти вводяться в зсувний регістр приймача з тим значенням, що було визначене тестуванням вибірок. Тестування вибірок бітів символів, що приймаються показане на рисунку 4.5.

Рисунок 4.5 –Тестування виборок даних, що приймаються

При надходженні стопового біта необхідно щоб не менше двох вибірок з трьох підтвердили прийом стопового біта (показали високий рівень). Якщо ж дві або більш вибірок покажуть стан 0, то, при пересиланні прийнятого байта в UDR, в регістрі статусу UART (USR) встановлюється біт помилки кадру FE (Framing Error). Для відкриття помилки кадру користувач перед читанням регістру UDR повинен перевіряти стан біту FE. Прапор FE очищається при зчитуванні вмісту регістру даних UART (UDR). Незалежно від того прийнятий правильний стоповий біт або ні, дані пересилаються в регістр UDR і встановлюється прапор RXC в регістрі статусу UART (USR). Регістр UDR фактично є двома фізичними окремими регістрами, один з яких служить для передачі даних, а інший для прийому. При зчитуванні UDR звернення ведеться до регістру прийому даних, при записі звернення ведеться до регістру передачі. Якщо вибраний режим обміну 9-розрядними словами даних (встановлений біт CHR9 регістру UCR), при пересиланні даних в UDR біт RXB8 регістру UCR завантажується в біт 9 зсувного регістру передачі. Якщо після отримання символу до регістру UDR не було звернення, починаючи з останнього прийому, в регістрі UCR встановлюється прапор переповнення (OR). Це означає, що нові дані, що пересилаються в зсувний регістр не можуть бути передані в UDR і втрачені. Біт OR буферований і доступний тоді, коли в UDR читається байт вірогідних даних. Користувачу, для відкриття переповнення, необхідно завжди перевіряти прапор OR після зчитування вмісту регістру UDR.

При очищеному (скинутому в логічний стан 0) біті RXEN регістру UCR приймач заборонений. Це означає, що вивод PD0 може використовуватися в якості виводу I/O загального призначення. При встановленому біті RXEN, приймач UART підключається до виводу PD0, що працює як вивод входу, незалежно від установки біту DDD0 в DDRD.

При установці UART виводу PD0 на роботу в якості входу, біт PORTD0 може використовуватися для управління навантажувальним резистором виводу.[6]

4.3 Вибір перетворювача рівнів сигналу

За стандартною логікою одиниця представляється рівнем напруг від 2,4 до 5 В, а нуль – від 0 до 0,8 В. Проте, при передачі по каналу RS-232 нуль та одиниця кодуються однаковими за величиною(від 5 до 12 В), але різними за знаком сигналами.

Так як для передач по RS-232 стандартні логічні сигнали повинні бути перетворені в сигнали другого рівня, необхідно передбачити у схемі відповідні засоби перетворення. Десять років тому, для цієї мети використовувались спеціальні каскади з трьох-чотирьох транзисторів, пари діодів і майже десятка резисторів. Зараз ситуація значно змінилась: провідні виробники мікросхем повністю завершенні перетворювачі, які потребують мінімальної кількості додаткових елементів. До них відносяться МАХ202Е від МАХІМ і повністю їй ідентична AD232 від Analog Devices. Всередині обидві мікросхеми містять перетворювач напруги +5 В у 10 В і каскади, що здійснюють перетворення логічних сигналів стандартного рівня у сигнали рівня по стандарту RS-232.

Кожна з цих мікросхем містить перетворювачі логічного рівня для двох приймачів та двох передатчиків.Кожна із перерахованих вище мікросхем містить перетворювачі логічного рівня для двох приймачів і двох передавачів. Ми використаємо мікросхему AD232 і тільки один її приймально-передавальний канал. Схема включення послідовного інтерфейсу RS232 показана на рисунку 4.6.

0100090000032a0200000200a20100000000a201000026060f003a03574d464301000000000001002df80000000001000000180300000000000018030000010000006c0000000000000000000000080000001000000000000000000000005b2a00001916000020454d4600000100180300001200000002000000000000000000000000000000900600001a040000b801000013010000000000000000000000000000c0b6060038320400160000000c000000180000000a00000010000000000000000000000009000000100000009e010000d8000000250000000c0000000e000080250000000c0000000e000080120000000c00000001000000520000007001000001000000f1ffffff00000000000000000000000090010000000000cc04400022430061006c006900620072006900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100dc5f11001000000040631100c060110052516032406311003860110010000000a8611100246311002451603240631100386011002000000049642f31386011004063110020000000ffffffff0c04f700d0642f31ffffffffffff0180ffff0180efff0180ffffffff0000000000080000000800004300000001000000000000006000000025000000372e9001cc00020f0502020204030204ef0200a07b20004000000000000000009f00000000000000430061006c00690062007200000000000000000000611100dee32e31e88d0832606411006c6011009c3827310900000001000000a8601100a8601100e878253109000000d06011000c04f7006476000800000000250000000c00000001000000250000000c00000001000000250000000c00000001000000180000000c00000000000002540000005400000000000000000000000800000010000000010000001886d1411886d141000000000d000000010000004c0000000400000000000000000000009e010000d800000050000000200000000900000046000000280000001c0000004744494302000000ffffffffffffffff9f010000da000000000000004600000014000000080000004744494303000000250000000c0000000e000080250000000c0000000e0000800e000000140000000000000010000000140000000400000003010800050000000b0200000000050000000c02d8009e01040000002e0118001c000000fb021000070000000000bc02000000cc0102022253797374656d0000000000000000000000000000000000000000000000000000040000002d010000040000002d01000004000000020101001c000000fb02f1ff0000000000009001000000cc0440002243616c6962726900000000000000000000000000000000000000000000000000040000002d010100040000002d010100040000002d010100050000000902000000020d000000320a0d00000001000400000000009e01d80020d10900040000002d010000040000002d010000030000000000

Loading...

 
 

Цікаве