Подтвердить что ты не робот

Какая разница между "COM", "USB", "Serial Port"?

Я запутался в этих трех понятиях.

Насколько я понимаю, Serial Port обычно означает порт, совместимый с RS-232 (RS = рекомендуемый стандарт). USB означает Universal Serial Port. Поэтому его имя содержит последовательный порт, поддерживает ли он RS-232? Что означает Universal?

А что означает COM-порт?

ADD 1

Некоторое понимание ответа Ганса:

Чтобы уменьшить нагрузку, производители устройств обычно делают свое устройство таким же, как устройство последовательного порта. Это зависит от того, что многие библиотеки OS и языков уже включили поддержку последовательного порта. Хотя такая поддержка не сопоставима с реальным драйвером соответствующего устройства.

ADD 2

Хороший справочный документ о Последовательный порт HOW-TO.

И btw, Проект документа Linux действительно полезен.

4b9b3361

Ответ 1

Serial port - это тип устройства, в котором используется микросхема UART, универсальный асинхронный приемник-передатчик. Другим способом был один из двух основных способов взаимодействия с компьютером в старые времена, параллельные порты. Серийный просто подключить, ему не нужно много проводов. Параллел был полезен, если вы хотели идти быстро, в 8 раз быстрее, чем серийный, но кабели и разъемы были дорогими. Параллельный ввод-вывод полностью исчез из компьютерных конструкций, что усугубляется огромными успехами в шинных приемопередатчиках, типом чипа, который может передавать электрический сигнал по проводам.

COM поступает от MS-Dos, это имя устройства. Сокращение для "Порт связи". Компьютеры в 1980 году обычно имели два последовательных порта, обозначенных COM1 и COM2 на задней панели устройства. Это имя переносится в Windows, и большинство драйверов, имитирующих последовательный порт, создадут устройство с именем "COM" в его имени. LPT - имя устройства для параллельных портов, сокращение от "Line PrinTer".

RS-232 был стандартом электрических сигналов для последовательных портов. Он является самым простым с очень низкими требованиями к устройству, поддерживающим только соединение "точка-точка". RS-422 и RS-485 не были необычными, используя витую пару для каждого сигнала, обеспечивая значительно более высокую помехоустойчивость и позволяя нескольким устройствам подключаться друг к другу.

USB означает универсальную последовательную шину. Усилена возможностью интегрировать микропроцессор в устройства размером несколько миллиметров и стоит несколько десятков. Он заменил устаревшие устройства в последние 1990-е годы. Он универсален, потому что он может поддерживать множество различных устройств, от нагревателей кофеварки до дисководов до адаптеров Wii для воспроизведения звука. Это Serial, для этого требуется только 4 провода. И это шина, вы можете подключить USB-устройство к произвольному порту. Он конкурировал с FireWire, очень похожим подходом и отстаивал Apple, но победил на суше.

Единственная причина, по которой последовательные порты по-прежнему актуальны в Windows, заключается в том, что для устройства USB требуется специальный драйвер устройства. Производителям устройств не нравится писать и поддерживать драйверы, они часто используют ярлык в своем драйвере, что позволяет эмулировать устаревшее последовательное портовое устройство. Поэтому программисты могут использовать устаревшую поддержку последовательных портов, встроенных в операционную систему и любую библиотеку времени исполнения. Скорее несовершенная поддержка кстати, эти эмуляторы никогда не поддерживают plug-and-play. Обнаружение определенного последовательного порта для открытия очень сложно. И эти драйверы часто ошибаются в невозможности диагностировать способы, когда вы дергаете USB-устройство, пока ваша программа использует его.

Ответ 2

Подставка для USB для универсальной последовательной шины, а не для порта. Термин "последовательный порт" просто означает, что данные передаются по одному биту за один путь сигнала - в этом смысле даже Ethernet носит последовательный характер. Слово serial в обоих терминах не подразумевает никакой другой связи ширины пути данных.

Вы правы в том, что термин последовательный порт в контексте ПК обычно означает порт RS-232, но существуют и другие стандарты последовательного порта, такие как RS-422 и RS-485, часто используемые в промышленных приложениях. Что общего у них, так это то, что они реализованы с использованием UART (Универсальный асинхронный приемник/передатчик).

Термин Universal на USB просто отражает тот факт, что он не является специфическим интерфейсом устройства, например выделенными портами мыши или клавиатуры, найденными на более старом оборудовании. Аналогично, последовательный порт на основе UART не является специфичным для устройства, что отражается U в UART.

USB значительно отличается от RS-232 несколькими способами; это мастер/ведомый (или хост/устройство в терминах USB), а не одноранговый, устройство USB не может инициировать связь, оно должно быть опрошено хостом. USB включает в себя низковольтный источник питания, позволяющий устройствам с умеренной потребляемой мощностью питаться от шины - это также то, почему порты USB могут использоваться для зарядки устройств с батарейным питанием. USB значительно сложнее, чем RS-232, который определяет только физический (аппаратный) уровень, тогда как для USB требуется полный стек протокола программного обеспечения.

Термин COM - это только префикс имени устройства, используемый в Windows (и ранее MS-DOS) для последовательного (UART) порта. Сокращение для "связи", вы можете, например, открыть COM-порт в качестве устройства ввода-вывода потока, скажем FILE* port = fopen( "COM1", "wr" ) ;.