Когда следует использовать USART вместо UART?

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

Ну и у кого будет в наличии синхронный трансивер для своего пк для подключения к вашему гаджету?

Ответы (4)

Для ваших целей UART и USART — это одно и то же. UART означает универсальный асинхронный приемник/передатчик . Дополнительная буква S в USART означает синхронный . Это всего лишь небольшая дополнительная возможность, которую Microchip предоставила модулю, чтобы сделать его более полезным в некоторых случаях. Эта дополнительная возможность не применяется в вашем случае.

Для связи с COM-портом ПК требуется только UART. Тот факт, что USART можно было бы использовать по-другому, для вас не имеет значения, за исключением того, что, возможно, у вас есть некоторые дополнительные биты конфигурации, которые необходимо установить правильно.

Краткий ответ: используйте тот, который есть у вашего чипа.

Для полного изучения вопроса необходимо расшифровать аббревиатуры:

Универсальный синхронный приемник - передатчик — это ваш традиционный «последовательный порт» . Это асинхронно в том смысле, что задействован только один сигнал - часы не передаются, и вместо этого приемник должен восстанавливать часы, как правило, путем передискретизации.

В отличие от универсального синхронного синхронного приемника - передатчика , это более универсальное устройство с асинхронными режимами в стиле UART , но которое также можно опционально настроить для работы в синхронных режимах , когда часы отправляются вместе с данными. В зависимости от возможностей это может включать взаимодействие с широко известными синхронными последовательными форматами, например SPI или I2S.

Некоторые микроконтроллеры могут предлагать оба типа периферийных устройств. Для базовой асинхронной последовательной связи вы можете выбрать любой из них. Однако на ваш выбор могут повлиять контакты, на которых может работать данное периферийное устройство, другие потребности в системе и т. д. Загрузчик заводского ПЗУ может работать только на некоторых периферийных устройствах, а не на других. Также могут быть различия в поддержке буфера, длине слова, поддержке четности, связанных управляющих сигналах и т. д. И программный интерфейс между ними может быть совершенно другим.

Они в основном то же самое для вашего микроконтроллера.

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

В этом протоколе связи большую часть времени будет использоваться асинхронная передача данных. Синхронная передача данных используется редко, потому что у вас есть гораздо лучший протокол синхронной связи, такой как SPI и I2C.

« Синхронная передача данных используется редко, потому что у вас гораздо лучший протокол синхронной связи, такой как SPI и I2C ». Синхронный режим USART обычно используется для интерфейсов с большим расстоянием, например, несколько футов или более. Я работал со многими синхронными коммуникационными интерфейсами, например V.35 или даже с дополнительными синхронными сигналами V.24 для подключения к синхронным модемам. Все они требовали USART и не могли быть разумно заменены 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).