Почему USB-соединение называют последовательным соединением?

Кто-нибудь знает, почему Arduino называет USB-подключение последовательным? Когда я слышу последовательное подключение, я автоматически думаю о штыревом штыревом соединении, а не о USB-подключении. Также не уверен, является ли это термином Linux или просто особенностью Arduino.

, 👍0

Обсуждение

Откуда вы взяли ассоциацию «последовательный» с «штыревым соединением»?, @Maximilian Gerhardt

Последовательный кабель, кабель DB9/DB9 «папа-мама» https://en.wikipedia.org/wiki/D-subminiature, @Datalink

Универсальная последовательная шина........................................., @Chad G

универсальная последовательная шина, @Datalink


3 ответа


2

Как ответил @ratchetfreak, USB — это последовательная шина. Но есть и еще кое-что.

Микроконтроллер на платах Arduino имеет одно или несколько встроенных периферийных устройств, называемых UART, что означает Универсальный асинхронный приемник-передатчик.

Это то, что ядро Arduino называет последовательным портом. Он использует тот же тип протокола, что и старые последовательные порты DB-9 на ПК и т. п., но на логических уровнях 5 В или 3,3 В. Сравните этот размах напряжения от 0 В до 5 В для обозначения логического низкого уровня и логического высокого уровня со стандартом RS-232 для старых последовательных портов ПК, которые используют размах от +12 В до -12 В для обозначения этого.

Но сегодня ПК не часто имеют старый последовательный порт RS-232. Вместо этого у них есть новый порт USB - Universal Serial Bus. На плате Arduino есть чип, который с одной стороны общается через USB с ПК и сообщает ПК, что он предоставляет эквивалент старого последовательного устройства COMPORT или /dev/ttyS*; а с другой стороны - через UART с микроконтроллером на плате Arduino.

Это как будто мы «эмулируем» старые последовательные порты ПК в программном обеспечении через новую шину USB, которая сама по себе является последовательной системой связи, хотя и гораздо более сложной, чем простой UART.

,

а на Atmega с собственной поддержкой USB объект-одиночка называется SerialUSB, @Juraj


2

На большинстве Arduino Serial — это не USB-подключение. Это UART (настоящее последовательное) соединение, которое используется для связи с адаптером USB-UART (часто сделанным из другого небольшого микроконтроллера, ATMega16U2). Только начиная с этого чипа это USB. Между основным микроконтроллером и этим чипом интерфейса USB это последовательный порт. Тот же последовательный порт, который вы получаете от контактов 0/1 (буквально: они жестко соединены вместе).

Действительно, первый прототип Arduino (выросший из проекта Wiring) вообще не имел USB — только Serial. Адаптер USB-UART был добавлен позже. Но он по-прежнему остается последовательным интерфейсом.

,

0

Почти все способы протоколов, используемых для связи на Arduino, являются последовательными. USB, UART, I2C, SPI. Последовательный означает один бит за раз, а другой способ - параллельная связь, которую раньше использовали принтеры. Это позволяло отправлять целый байт за один раз (было 8 линий данных). С ростом тактовой частоты больше не было необходимости иметь эти большие, громоздкие, дорогие кабели и разъемы. Так что параллельные соединения ушли из обычных компьютерных/электронных приложений.

,

MMIO также использует параллельные коммуникации., @Ignacio Vazquez-Abrams

Да, и существует множество приложений, где параллельная связь всё ещё используется, особенно между устройствами «внутри» компьютера, где требуется очень быстрая передача больших объёмов данных. И я уверен, что она всё ещё используется в какой-то степени и для внешних устройств. Я просто говорил, что она перестала быть «нормальным» способом подключения внешних устройств., @Chad G