Коли я повинен використовувати USART замість UART?


10

Я хочу встановити зв'язок між моїм PIC18F4550 і моїм ПК, але я застрягаю, чи варто використовувати UART або USART на великі відстані. Коли вигідніше використовувати один замість іншого?


2
Ну, у кого буде доступний синхронний приймач для їх ПК для підключення до вашого гаджета?
ПлазмаHH

Відповіді:


11

Для ваших цілей UART і USART - це одне і те ж. UART означає універсальний асинхронний приймач / передавач . Додатковий S в USART розшифровується як синхронний . Це лише трохи додаткові можливості, які Microchip надав модулю, щоб зробити його кориснішим у деяких випадках. Ця додаткова можливість не застосовується у вашому випадку.

Порт COM COM займає лише UART для розмови. Те, що USART можна було б використовувати по-іншому, для вас не має значення, за винятком того, що, можливо, у вас є додаткові біти конфігурації, які потрібно встановити правильним шляхом.


3

Короткий відповідь: Використовуйте те, що має чіп

Щоб повністю вивчити питання, необхідно розшифрувати абревіатури:

U niversal синхронне R eceiver T ransmitter ваш традиційний «послідовний порт». Це асинхронно в тому сенсі, що бере участь лише один сигнал - не передається тактовий годинник, і натомість приймач повинен відновити тактовий годинник, як правило, шляхом перебігу симплену.

У протилежності цього U niversal S ynchronous синхронного R eceiver Т ransmitter є більш універсальним пристроєм з УАПП стилю асинхронними режимами, але які можуть також необов'язково бути налаштовані для роботи в синхронних режимах , де годинник надсилаються разом з даними. Залежно від можливостей, це може включати взаємодію з відомими синхронними послідовними форматами, наприклад, SPI або I2S.

Кілька MCU можуть пропонувати обидва типи периферійних пристроїв. Для основної асинхронної послідовної потреби ви можете вибрати будь-який. Однак на ваш вибір можуть впливати штифти, на яких може працювати певна периферія, інші потреби в системі тощо. Завантажувач заводського ПЗУ може працювати лише на деяких периферійних пристроях, а не на інших. Також можуть бути різниці в підтримці буфера, довжині слова, підтримці паритету, пов'язаних сигналах керування тощо. І програмний інтерфейс може бути абсолютно різним між ними.


3

Вони в основному те саме, що і для вашого мікроконтролера.

USART розшифровується як універсальний асинхронний та синхронний приймач / передавач. UART означає універсальний асинхронний приймач / передавач.

Асинхронна передача даних більшість часу буде використовуватися в цьому протоколі зв'язку. Синхронна передача даних використовується рідко, оскільки у вас набагато кращий протокол синхронного зв'язку, наприклад SPI & I2C.


" Синхронна передача даних використовується рідко, тому що у вас набагато кращий синхронний протокол зв'язку, такий як SPI & I2C. " Остерігайтеся, схоже, ви порівнюєте яблука та апельсини :-) SPI & I2C зазвичай використовуються на відносно невеликих відстанях. Синхронний режим USART зазвичай використовується для інтерфейсів на більші відстані, наприклад, декілька футів або більше. Я працював з багатьма синхронними інтерфейсами зв'язку, наприклад V.35 або навіть додатковими синхронними сигналами на V.24, щоб підключитися до синхронних модемів. Всі вони вимагали USART, і їх не можна було розумно замінити SPI & I2C.
СамГібсон

Дуже дякую за інформацію.
Thịnh Lê Quí

1

Мікроконтролер (MCU) має в собі універсальний синхронний / асинхронний приймач / передавач (USART). Цей функціональний блок підтримує режим синхронного зв'язку та асинхронний режим зв'язку.

У синхронному режимі передавач Tx підключається до приймача Rx дротом CLOCK та DATA-проводом. Один раз за CLOCK період Tx надсилає ще один біт на DATA, а Rx приймає ще один біт у DATA. Час передачі керується CLOCK і тому відомий як Tx, так і Rx. Таким чином, і Tx і Rx можуть використовувати більш високі швидкості передачі бітів, ніж в асинхронному режимі.

Однак потрібні два штифти проводів / роз'ємів замість одного, а надмірне перекос або тремтіння між CLOCK і DATA призводить до отримання пошкоджених даних. Час роботи лінійних драйверів та лінійних приймачів, що несуть CLOCK та DATA, повинен бути чітко узгодженим, щоб зменшити цей перекіс. І довгі відстані, і довгі кабелі та / або багаторазові підключення підключення стають помітнішими як інтерфейс, так і двопровідні фактори.

В асинхронному режимі передавач Tx підключається до приймача Rx дротом DATA. Один раз за тимчасовий бітовий період Tx надсилає ще один біт на DATA, а Rx приймає ще один біт з DATA. Час передачі регулюється частотними осциляторами в Tx і Rx, кожен з яких невідомий іншим і буде дещо відрізнятися. Тому максимальна надійна швидкість передачі бітів нижча, ніж для синхронного режиму.

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

Тож це залежить від ваших прийнятних витрат, відстаней, якими ви подорожуєте, та можливостей Tx і Rx. Ваш комп'ютер, ймовірно, підтримує асинхронний режим лише на стандартному COM-порті, для синхронного режиму потрібен спеціальний порт (PCIe або USB, ймовірно, USB).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.