Я хочу встановити зв'язок між моїм PIC18F4550 і моїм ПК, але я застрягаю, чи варто використовувати UART або USART на великі відстані. Коли вигідніше використовувати один замість іншого?
Я хочу встановити зв'язок між моїм PIC18F4550 і моїм ПК, але я застрягаю, чи варто використовувати UART або USART на великі відстані. Коли вигідніше використовувати один замість іншого?
Відповіді:
Для ваших цілей UART і USART - це одне і те ж. UART означає універсальний асинхронний приймач / передавач . Додатковий S в USART розшифровується як синхронний . Це лише трохи додаткові можливості, які Microchip надав модулю, щоб зробити його кориснішим у деяких випадках. Ця додаткова можливість не застосовується у вашому випадку.
Порт COM COM займає лише UART для розмови. Те, що USART можна було б використовувати по-іншому, для вас не має значення, за винятком того, що, можливо, у вас є додаткові біти конфігурації, які потрібно встановити правильним шляхом.
Короткий відповідь: Використовуйте те, що має чіп
Щоб повністю вивчити питання, необхідно розшифрувати абревіатури:
U niversal синхронне R eceiver T ransmitter ваш традиційний «послідовний порт». Це асинхронно в тому сенсі, що бере участь лише один сигнал - не передається тактовий годинник, і натомість приймач повинен відновити тактовий годинник, як правило, шляхом перебігу симплену.
У протилежності цього U niversal S ynchronous синхронного R eceiver Т ransmitter є більш універсальним пристроєм з УАПП стилю асинхронними режимами, але які можуть також необов'язково бути налаштовані для роботи в синхронних режимах , де годинник надсилаються разом з даними. Залежно від можливостей, це може включати взаємодію з відомими синхронними послідовними форматами, наприклад, SPI або I2S.
Кілька MCU можуть пропонувати обидва типи периферійних пристроїв. Для основної асинхронної послідовної потреби ви можете вибрати будь-який. Однак на ваш вибір можуть впливати штифти, на яких може працювати певна периферія, інші потреби в системі тощо. Завантажувач заводського ПЗУ може працювати лише на деяких периферійних пристроях, а не на інших. Також можуть бути різниці в підтримці буфера, довжині слова, підтримці паритету, пов'язаних сигналах керування тощо. І програмний інтерфейс може бути абсолютно різним між ними.
Вони в основному те саме, що і для вашого мікроконтролера.
USART розшифровується як універсальний асинхронний та синхронний приймач / передавач. UART означає універсальний асинхронний приймач / передавач.
Асинхронна передача даних більшість часу буде використовуватися в цьому протоколі зв'язку. Синхронна передача даних використовується рідко, оскільки у вас набагато кращий протокол синхронного зв'язку, наприклад SPI & I2C.
Мікроконтролер (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).