Каковы различия между USB и RS232?

29

Может кто-нибудь сказать мне, почему люди используют или USB или RS232. Они оба последовательные порты, верно? И я понимаю, что USB намного быстрее (особенно USB3.0), но если бы люди тоже этого хотели, я уверен, что они могли бы стать преемником RS232, который так же быстр.

Итак, каковы преимущества и недостатки обоих?

Губка Боб
источник
4
RS232 действительно был разработан как интерфейс для модема. Это довольно ясно с сигналами, называемыми «индикатором звонка» и т. Д. Он был узурпирован для обеспечения простой трехпроводной (GND, TX, RX) двунаправленной связи для многих устройств. USB был разработан как расширяемая протоколом интерфейсная система устройства. С учетом расширяемости это намного сложнее и требует реализации программного стека как на стороне устройства, так и на стороне хоста. У USB даже есть замена для RS232 под названием CDC.
Кенни

Ответы:

20

Каковы различия между USB и RS232?

Вы найдете гораздо больше, чем я могу рассказать вам о возможностях и недостатках RS232, начав с поиска RS232, а затем «бродя по сети» и следуя по теме, к которой он ведет. Ни одна страница не расскажет вам всего, но 10 или 20 быстрых снимков покажут вам, насколько это было полезно и как ужасно, и в то же время.

  • USB задуман как высокоскоростной расширяемый полностью стандартизированный интерфейс между 1 вычислительным устройством, использующим один порт, и N периферийными устройствами, использующими один порт каждый, причем все управление осуществляется сигналами в потоке данных. USB очень сложно обеспечить низкоуровневые интерфейсы для. «Простые» интерфейсы распространены, но они предоставляют и скрывают очень большую степень связанной сложности.

  • RS232 был задуман как относительно низкоскоростной полустандартизированный интерфейс 1: 1 между 1 вычислительным устройством и 1 периферийным устройством на порт, причем аппаратное управление является неотъемлемой частью работы. RS232 относительно легко обеспечить для физических интерфейсов низкого уровня.


RS232

был (и до некоторой степени все еще остается) очень полезным мощным гибким способом подключения вычислительного устройства к периферии.

Однако [tm] [!!!] RS232 был задуман как небольшая скорость (максимум несколько метров), умеренно низкая скорость (обычно 9600 бит / с, до 100 кбит / с в некоторых случаях, быстрее в очень специализированных ситуациях), одно устройство на порт ( исключения, подтверждающие правило).

Сигнализация была несбалансированной относительно земли с использованием примерно +/- 12 В с логической единицей на dfata = -V и логической на контроле = + V. На исходном 25-контактном разъеме было много-много управляющих сигналов, что привело к чрезвычайно широкому спектру нестандартного использования и несовместимости. В более поздней версии разъем был уменьшен до 9 контактов с достаточным количеством управляющих сигналов, чтобы позволить людям совершенно не соответствовать стандартам.

Работа RS232 между случайно выбранным оконечным устройством и компьютером или аналогичным устройством МОЖЕТ зависеть от необходимости подключаться и работать или требовать минут, часов или дней игры, а в некоторых случаях просто не будет работать.

RS232 НЕ обеспечивает питание как таковое, хотя многие люди использовали его для питания оборудования различными способами, ни один из которых не является стандартным. Наблюдение за линиями данных позволит идентифицировать сигналы данных. (Быстрые глаза и мозг, который работает на подходящем количестве кбит / с, помогут).

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

Конструкция рассчитана на соединение 1: 1 без возможности многоточечного соединения 1: N без нестандартных схем.

USB

до USB2 - это 4-х проводная физическая система с двумя линиями питания и двумя линиями передачи данных. Нет никаких физических контрольных линий. USB3 использует больше строк, и детали лучше оставить для другого вопроса и ответа.

Начальная скорость была 12 Мбит / с, увеличена до 480 Мбит / с с USB2 и до 5 Гбит / с в режиме «Суперскорость» с USB3.

Управление и настройка выполняются с помощью программного обеспечения с использованием сигналов данных, которые являются неотъемлемой частью интерфейса. Наблюдение за потоком данных с помощью осциллографа не выявит фактический компонент данных системы.

Передача данных использует сигнализацию сбалансированного дифференциального напряжения 0 / + 5.

Передача данных является двунаправленной, и владение «шиной» является неотъемлемой частью протокола.

Соединение почти всегда физически 1: 1, но на одном порту можно разместить несколько логических устройств. Подключение N физических устройств к одному входному порту обычно осуществляется с помощью «концентратора», но это, по сути, является видимым проявлением внутреннего расположения 1: N, которое является неотъемлемой частью конструкции.


Будут некоторые интересные проблемы с соединителями :-):

USB2 / USB3 отсюда

введите описание изображения здесь

Отсек суперскорости USB3 с обратной совместимостью USB 2 отсюда

введите описание изображения здесь

USB3.COM - разъемы сверхскоростного кабеля USB3 отсюда

введите описание изображения здесь


Википедия RS232

USB против последовательного

Википедия USB

USB3 SuperSpeed ​​FAQ

Википедия USB3

USB.ORG - суперскорость

Рассел МакМахон
источник
1
Стоит отметить, что RS232 намного превосходит USB, когда имеет значение джиттер и задержка. Вы не можете надежно передавать сигнал Импульс в секунду на компьютер через USB. Вы можете сделать это с RS232
DFC
18

Порт USB гораздо сложнее, чем последовательный порт RS-232.

По сути, RS-232 имеет вывод TX и вывод RX, на котором данная сторона передает и принимает данные (соответственно), а на другой стороне эти два пересекаются, поэтому один TX соединяется с другим RX и наоборот. (очевидно).

Существуют и другие контакты для управления, но они не обязательно используются. Их основная функция - контроль сохранения буфера. Протокол в RS-232 довольно прост. Предполагается, что обе стороны изначально молчат (каждый TX имеет низкий уровень), а затем, когда сторона хочет передать байт, она делает один или несколько высоких импульсов («начальных битов»), отправляет каждый бит передаваемого байта последовательно и затем заканчивается еще несколькими импульсами («стоп-биты»). При желании может быть бит четности. Предполагается, что обе стороны ранее имели одинаковую конфигурацию для начальных и конечных битов и время для отправки каждого бита (скорость в бодах).

Может быть больше сигналов для исправления ошибок, но это не обязательно. Таким образом, порт RS-232 можно легко сделать с помощью выводов ввода-вывода в любом микроконтроллере, единственное, что вам нужно, - это преобразование напряжения, поскольку линии RS-232 имеют напряжение 12 В, а микроконтроллеры обычно работают при напряжении 3,3 В.

USB использует пару дифференциальных линий, в которых бит становится высоким, помещая разницу напряжений между ними в одном направлении, и низким, помещая такую ​​же разницу в другом направлении. Это намного эффективнее для подавления шума, поэтому USB может преодолевать большие расстояния и иметь более высокую пропускную способность. Обе стороны передают и принимают по одной и той же паре, и существует сложный протокол данных для обнаружения коллизий, исправления ошибок, определения характеристик устройств и т. Д., Не говоря уже о поддержке в спецификации стандартных протоколов для конкретных устройств, таких как мыши, клавиатуры, и т. д. Короче говоря, для того, чтобы иметь порт USB, вам понадобится либо специальная микросхема для него, либо микропрограмма в микроконтроллере, которую писать совсем не тривиально, особенно если вы хотите поддерживать определенные функции устройства.

fceconel
источник
2
Хороший ответ, но вам, вероятно, следует исключить слово «пара» из описания RS232, поскольку оно чаще используется в контексте дифференциальной сигнализации (т. Е. «Витая пара»).
Крис Страттон