Что такое usb dpo
Назначение модуля анализа и запуска по сигналам последовательных шин USB DPO4USB
Модуль анализа и запуска по сигналам последовательных шин USB DPO4USB позволяет осуществлять запуск по пакетам, передаваемым по низкоскоростным и полноскоростным шинам USB. Предоставляет средства анализа, такие как цифровое представление сигналов, представление шины, декодирование пакетов, поиск и таблицы декодирования пакетов с метками времени для низкоскоростных, полноскоростных и высокоскоростных шин USB.
Рекомендуемые пробники – низкоскоростные и полноскоростные шины: несимметричный или дифференциальный; высокоскоростная шина: дифференциальный.
Подходит для серии MDO/MSO/DPO4000.
USB: низкоскоростная шина
Запуск по сигналу синхронизации, началу кадра, сбросу, паузе, возобновлению, концу пакета, маркерному пакету (адресу), пакету данных, пакету установки соединения, специальному пакету и по ошибке.
Запуск по маркерному пакету – любой тип маркера, SOF, OUT, IN, SETUP; адрес можно указать для типов маркера: любой маркер, OUT, IN и SETUP. Можно определить запуск по адресу, который ≤, <, =, >, ≥, ≠ указанному значению или попадает в пределы или за пределы указанного диапазона. Номер кадра для маркера SOF можно вводить в двоичном, шестнадцатеричном, беззнаковом десятичном и безразличном формате.
Запуск по пакету данных – любой тип данных, DATA0, DATA1; можно определить запуск по данным, которые ≤, <, =, >, ≥, ≠ указанному значению или попадают в пределы или за пределы указанного диапазона.
Запуск по пакету установки соединения – любой тип установки соединения, ACK, NAK, STALL.
Запуск по специальному пакету – любой специальный тип, зарезервированный .
Запуск по ошибке – проверка PID, CRC5 или CRC16, вставка битов.
USB: полноскоростная шина
Запуск по сигналу синхронизации, сбросу, паузе, возобновлению, концу пакета, маркерному пакету (адресу), пакету данных, пакету установки соединения, специальному пакету и по ошибке.
Запуск по маркерному пакету – любой тип маркера, SOF, OUT, IN, SETUP; адрес можно указать для типов маркера: любой маркер, OUT, IN и SETUP. Можно определить запуск по адресу, который ≤, <, =, >, ≥, ≠ указанному значению или попадает в пределы или за пределы указанного диапазона. Номер кадра для маркера SOF можно вводить в двоичном, шестнадцатеричном, беззнаковом десятичном и безразличном формате.
Запуск по пакету данных – любой тип данных, DATA0, DATA1; можно определить запуск по данным, которые ≤, <, =, >, ≥, ≠ указанному значению или попадают в пределы или за пределы указанного диапазона.
Запуск по пакету установки соединения – любой тип установки соединения, ACK, NAK, STALL.
Запуск по специальному пакету – любой специальный тип, PRE, зарезервированный.
Запуск по ошибке – проверка PID, CRC5 или CRC16, вставка битов.
USB: высокоскоростная шина
Запуск по сигналу синхронизации, сбросу, паузе, возобновлению, концу пакета, маркерному пакету (адресу), пакету данных, пакету установки соединения, специальному пакету и по ошибке.
Запуск по маркерному пакету – любой тип маркера, SOF, OUT, IN, SETUP; адрес можно указать для типов маркера: любой маркер, OUT, IN и SETUP. Можно определить запуск по адресу, который ≤, <, =, >, ≥, ≠ указанному значению или попадает в пределы или за пределы указанного диапазона. Номер кадра для маркера SOF можно вводить в двоичном, шестнадцатеричном, беззнаковом десятичном и безразличном формате.
Запуск по пакету данных – любой тип данных, DATA0, DATA1, DATA2, MDATA; можно определить запуск по данным, которые ≤, <, =, >, ≥, ≠ указанному значению или попадают в пределы или за пределы указанного диапазона.
Запуск по пакету установки соединения – любой тип установки соединения, ACK, NAK, STALL, NYET.
Запуск по специальному пакету – любой специальный тип, ERR, SPLIT, PING, зарезервированный. Можно указать компоненты пакета SPLIT, включая:
Коротко о USB - откуда все начинается. D+ и D- это дифференциальная пара, данные передаются в противофазе с одной лишь целью уменьшить помехи. То есть линия передачи по сути одна ! Есть ведущее устройство (Хост) и ведомое (Device).
Ведущее и ведомое могут одновременно что-то посылать в канал. Поэтому протокол USB очень требовательно распределяет , что ведущий и когда посылает и что (и когда) ведомый должен ответить. Иначе никак нельзя.
Вот на картинке ниже все отчетливо видно (один пакет от ведомого):
Сначала все просто:
Пакет всегда начинается с SYN (10000000).
Завершается пакет всегда EOP (End Of Packet ) . На картинке выше видна единственная ассиметрия в конце пакета, когда : 2 линии DP и DM различаются.
Примерная последовательность пакетов.
Инициализацию устройства пропускаем (запрос дескриптора, интерфейсов , конечных точек и т.д.), чтобы не терять времени (переходим к сути).
Периодические пакеты "НЕ СПАТЬ" SOF (Start Of Frame) - это примерно 1раз/1мс посылка от хоста ведомому ("не спи"). Их лучше сразу как-то отфильтровывать для понимания.
Далее остается три типа пакетов типа . Ниже их PID (Packet Identificator) , он же токен :
SETUP это служебные пакеты стандартного протокола настройки устройства
OUT это хост передает данные
IN это хост запрашивает данные от девайса
Эти пакеты вкладываются между SYNK и EOP .
Получается примерно такая структура [SYNC] [PID] [Address(7 бит)] [EndPoint] (4 бит) [EOP ]. На картинке выше видно как девайс отвечает NAK практически сразу и это нормально. Это означает , что девайсу надо подумать и сразу он не может ответить на команду.
PID это токен или (Program Identificator) SETUP, IN , OUT.
Address - это адрес нашего устройства на шине USB . Сначала он всегда 0 после подключения USB. Потом хост перенумеровывает все устройства на шине и присваивает каждому устройству уникальный адрес (размер всего 1 байт).
EndPoint - хост всегда общается не просто с устройством по адресу , а еще и с конкретной конечной точкой (end-point) устройства , которых может быть несколько. Как же хост узнает какие значения у конечных точек (EP) ? Правильно для этого зарезервировано значение 0 (конечная точка EP0), служебный end-point , через который хост получает первичную информацию от других конечных точках. Как всегда все просто.
Допустим наш хост уже получил всю информацию о конечных точках , интерфейсах, конфигурациях через EP0.
Как происходит дальше работа на примере обычной клавиатуры
Хост долбит периодически PID IN по адресу устройства плюс Endpoint устройства (у нас EndP 0x01), который отвечает за прием данных от клавиатуры (IN для хоста).
Если никакая клавиша не нажата ведомый обязан ответить и отвечает NAK. Такие пакеты хост передает примерно 1 раз в 10ms и устройство если не нажата клавиша передает NAK.
А вот когда на клавиатуре нажимается какая-нибудь клавиша, ведомый ответит сначала DATA0 пакетом и следом пакет ACK.
Количество передаваемых байт в DATA0 зависит от типа клавиатуры, то есть каждый решает сколько использовать байт для передачи скан кода нажатой клавиши. Клавиатура сообщает по стандартному протоколу через EP0 о своих настройках.
Тут есть нюанс , что хост всегда посылает запрос устройству на конкретный EP. Если запрос идет на EP для передачи данных (у нас EP1 ) это одно , если запрос идет на служебный EP0 - это хост хочет подключить , настроить устройство. То есть хост всегда определяет логику обмена , а девайс обязан подстраиваться под запрос.
Вообще кто есть хост? Это драйвер например клавиатура или сетевого адаптера и у каждого драйвера соответственно свой протокол , своя логика.
Таким образом если вы разрабатываете USB устройство и ПК шлет вам все пакеты на EP0 , а до других EP не доходит дело, то значит что-то еще не закончено с настройками устройства, что-то хосту не нравится.
Хост вообще говоря может ждать ответ одновременно от 2 и более конечных точек . Это абсолютно нормально. Выглядит это в логах анализатора LA1010 примерно так:
Видно как хост тупо чередует EP0 и EP2.
Если не возникает какого-то прерывания у девайса
То есть если на шине пакеты бегут, а прерывание необходимое не возникает. Например тупо не возникает прерывание IN bulk у RNDIS адаптера (DataIn у EP2). То есть на шине вижу , что девайс отсылает NAK на IN EP2, но самого прерывания в девайсе не возникает.
Тут надо в регистры лезть и отсрочки уже не будет. Какие мысли возникают в первую очередь. Прерывания маскируются вроде (надо проверить).
Так как у нас есть один рабочий проект но без FreeRTOS , то сначала тупо начинаем сверять регистры USB ( OTG_FS_GLOBAL и OTG_FS_DEVICE ): после инициализации , после открытия конечных точек, после приема нужного пакета и т.д. Эти регистры кстати удобно просматривать на закладке SFRS (в Atollic true Studio), тут видна их внутренняя структура. И еще с момента последней точки остановки подсвечиваются изменения.
В процессе сверки регистров мы находим отличия в OTG_FS_GLOBAL, исправляем, заодно изучаем назначение регистров и в какой-то момент даже ловим __HAL_PCD_IS_INVALID_INTERRUPT (на картинке выше видно). Ура хоть что-то.
На самом деле не знач - не ведая мы подошли к главному моменту. Мы наконец-то обратили внимание на USBD_LL_Init, а точнее на загадочные функции HAL_PCDEx_SetRxFiFo(..) и HAL_PCDEx_SetTxFiFo(..) .
Момент истины
И выяснилось , что мы не понимаем и половины логики работы USB . Не зная регистры вообще нет возможности понять что делать. В данном случае HAL это вред.
Итак HAL_PCDEx_SetRxFiFo / HAL_PCDEx_SetTxFiFo создает таблицу во внутренней памяти контроллера USB. Да именно контроллера USB , а не контроллера STM32. Так как у STM32F имеется как-бы свой встроенный контроллер , отвечающий за USB. И у него есть своя память 512К, в которой надо создать таблицу с буферами приема / передачи для каждой конечной точки.
Где эта таблица, где ее адреса.
А вот сама структура USB_OTG_GlobalTypeDef .
HAL - кий код становится намного прозрачнее теперь.
Опять момент истины
Дальше , если интересно немного о передаваемых скан кода клавиатуры . Проводная клавиатура Low Speed
Скан коды USB HID клавиатур это не ASCII коды и не не коды PS/2 клавы.
Вроде мы слышали, что USB 3.0 — это круче, чем USB 2.0. Но чем именно — знают не все. А тут еще появляются какие-то форматы Gen 1, Gen 2, маркировки Superspeed. Разбираемся, что значат все эти маркировки и чем они отличаются друг от друга. Спойлер: версий USB всего четыре.
USB 2.0
Когда-то было слово только USB 1.0. Сейчас это уже практически архаика, которую даже на старых устройствах почти не встретить. Еще 20 лет назад на смену первопроходцу USB 1.0 пришел улучшенный USB 2.0. Как и первая версия, эта спецификация использует два вида проводов. По витой паре идет передача данных, а по второму типу провода — питание устройства, от которого и идет передача информации. Но такой тип подключения подходил только для устройств с малым потреблением тока. Для принтеров и другой офисной техники использовались свои блоки питания.
USB версии 2.0 могут работать в трех режимах:
- Low-speed, 10–1500 Кбит/c (клавиатуры, геймпады, мыши)
- Full-speed, 0,5–12 Мбит/с (аудио и видеоустройства)
- High-speed, 25–480 Мбит/с (видеоустройства, устройства для хранения данных)
USB 3.0
Стандарт USB 3.0 появился в 2008 году и до сих пор используется во многих устройствах. Скорость передачи данных выросла с 480 Мбит/с до 5 Гбит/с. Помимо скорости передачи данных, USB 3.0 отличается от версии 2.0 и силой тока. В отличие от более ранней версии, которая выдавала 500 мА, USB 3.0 способен отдавать до 4.5 Вт (5 В, 900 мА).
Новое поколение USB обратно совместима с предыдущими версиями. То есть USB 3.0 может работать и с разъемами USB 2.0 и даже 1.1. Но в этом случае буду ограничения по скорости. Подключив USB 3.0 к устройству с USB 2.0 скорость, вы получите не больше 480 Мбит/с — стандарт для версии 2.0. И наоборот, кабель 2.0 не станет более скоростным, если подключить его в устройство с USB 3.0. Это связано с количеством проводов, используемых в конкретной технологии. В версии USB 2.0 всего 4 провода, тогда как у USB 3.0 их 8.
Если вы хотите получить скорость передачи, заявленную стандартом USB 3.0, оба устройства и кабель должны быть именно версии 3.0.
USB 3.1
В 2013 году появляется версия USB 3.1 с максимальной заявленной скорость передачи данных до 10 Гбит/с, выходной мощностью до 100 Вт (20 В, 5 А). С появлением USB 3.1 произошла революция в маркировках всех стандартов. Но с ней мы разберемся чуть позже. А пока запомним главное: пропускная способность USB 3.1 увеличилась вдвое по сравнению с версией 3.0. И одновременно с обновленным стандартом появился и принципиально новый разъем — USB type-С. Он навсегда решил проблему неправильного подключения кабеля, так как стал симметричным и универсальным, и теперь все равно, какой стороной подключать провод к устройству.
USB 3.2
В 2017 году появилась информация о новой версии — USB 3.2. Она получила сразу два канала (больше проводов богу проводов) по 10 Гбит/с в каждую сторону и суммарную скорость в 20 Гбит/с. Стандарт USB 3.2 также обратно совместим с режимами USB 3.1, 3.0 и ниже. Поддерживается типом подключения USB-C на более современных гаджетах.
Типы разъемов
Версий разъемов USB несколько, и для каждого есть свое предназначение.
- type-А — клавиатуры, флешки, мышии т. п.
- type-B — офисная техника (принтеры, сканеры) и т. п.
- mini type-B — кардридеры, модемы, цифровые камеры и т. п.
- micro type-B — была наиболее распространенной в последние годы . Большинство смартфонов использовали именно этот тип подключения, пока не появился type-C. До сих пор остается довольно актуальным.
- type-C — наиболее актуальный и перспективный разъем, полностью симметричный и двухсторонний. Появился одновременно со стандартом USB 3.1 и актуален для более поздних версий стандартов USB.
Superspeed, Gen или как разобраться в маркировках стандартов USB
Как только в типах стандартов появилась USB 3.1, привычная цифровая маркировка изменилась и здорово запуталась. Вполне понятный и простой USB 3.0 автоматически превратился в USB 3.1 Gen 1 и ему была присвоена маркировка SuperSpeed. А непосредственно сам USB 3.1 стал называться USB 3.1 Gen 2 с маркировкой SuperSpeed +.
Но и это уже потеряло свою актуальность с выходом стандарта USB 3.2. Он получил название USB 3.2 Gen 2×2 и маркировку SuperSpeed ++. В итоге маркировка всех предшествующих стандартов опять меняется. Теперь USB 3.0, она же USB 3.1 Gen 1, превращается задним числом в USB 3.2 Gen 1 с прежней маркировкой SuperSpeed. А USB 3.1, ставшая USB 3.1 Gen 2, тоже поднялась до USB 3.2 Gen 2. При этом конструктивно все стандарты остались прежними — изменяются только названия. Если вы уже запутались во всех этих цифрах и маркировках, таблица ниже поможет внести ясность в актуальных названиях.
Если еще более кратко, то сейчас опознать стандарты USB можно так:
USB 3.0 — это USB 3.2 Gen 1, он же Superspeed
USB 3.1 — это USB 3.2 Gen 2, он же Superspeed+
USB 3.2 — это USB 3.2 Gen 2x2, он же Superspeed++
Приближается выход следующей отличной (но, возможно, способной сбить с толку) версии USB. В сентябре 2019 года форум реализации USB, USB-IF, опубликовал спецификации на USB4, открывающий возможности организации невероятно быстрых по сравнению со скоростями Thunderbolt 3 соединений по USB.
Спецификация готова
Сравнение с Thunderbolt приведено не случайно. Intel передал спецификацию протокола Thunderbolt в группу продвижения USB (это промышленная организация, занимающаяся разработкой спецификаций USB; USB-IF занимается пропагандой и внедрением технологии).
Когда порты USB4 начнут появляться в ноутбуках и других местах, нам обещают скоростей до 40 Гб/с. Это вдвое больше максимума текущей скорости USB 3.2 Gen 2×2. Как и другие версии USB, USB4 будет обратно совместимой вплоть до USB 2.0, а в некоторых случаях порты USB4 даже будут работать с периферией для Thunderbolt 3.
К сожалению, поддержка Thunderbolt 3 не является обязательной, и некоторые устройства с USB4 могут выйти и без неё.
Обновление кажется неплохим, но если и можно сказать что-то определённое о разработчиках USB, так это то, что они точно знают, как всех запутать. И USB4 не станет исключением. Давайте разбираться.
Несколько скоростей
USB4 не станет единым стандартом, от которого можно будет ожидать одинаковой работы на всех устройствах. Вместо этого у него будут две скорости – кроме потенциально максимальной 40 Гб/с будет и скорость 20 Гб/с. Как будто этого недостаточно, в спецификации есть ещё и третий вариант, на 10 Гб/с. Однако в USB-IF сообщили, что эта скорость нужна только для обратной совместимости. Иначе говоря, устройств с USB4, ограниченных такой малой скоростью, не должно быть.
Пока непонятно, как будут называться две главных скорости USB4, когда они появятся в магазинах. В спецификации USB4 40 Гб/с называют Gen 3×2, а 20 Гб/с — Gen 2×2. Это технические термины для производителей, а не для ценников в ближайшем магазине.
USB-IF говорит, что рекомендации по брендингу будут опубликованы в начале 2020 года. В них будет «сделан упор на чётком определении уровня быстродействия для конечного потребителя», согласно представителю организации.
Обратная совместимость
Как и другие версии USB, эта будет обратно совместимой с предшественниками. В частности, с USB 2.0 и выше. Это значит, что если у вас есть внешний жёсткий диск для резервных копий с разъёмом USB 2.0, вы сможете подключить его к порту USB4. Чтобы всё заработало, потребуется адаптер с USB Type-A (стандартного USB) на USB Type-C, и при этом жёсткий диск будет ограничен скоростями USB 2.0.
Кроме того, те кабели для USB Type-C, которые у вас уже есть, вероятно, не подойдут для USB4. Они будут поддерживать старые скорости, но если вы захотите увидеть увеличение скорости передачи данных, вам придётся покупать новые кабели и новое оборудование.
Обратная совместимость с Thunderbolt 3
USB-IF говорит, что USB4 может быть обратно совместимым с Thunderbolt 3 от Intel, также использующим коннекторы Type-C. Это разумно, ведь в спецификации USB4 входят и спецификации Thunderbolt 3. Но поддержка Thunderbolt 3 не будет обязательной для USB4. Хотя Intel предоставила USB-IF возможность свободно использовать спецификации Thunderbolt 3, она не предоставила свободу использования названия Thunderbolt 3.
Любой производитель, желающий рекламировать свой порт USB4 как обратно совместимый с Thunderbolt 3, должен получить сертификат от Intel. Поэтому эта технология передачи данных от Intel не так хорошо распространена.
С практической точки зрения, мы не думаем, что текущая ситуация с Thunderbolt 3 на ПК как-то поменяется. К примеру, не ждите официальной поддержки Thunderbolt 3 на машинах с AMD – как это и было до USB4.
Вероятно, будет выпущено несколько материнских плат на базе Intel с USB4-портами с официальной поддержкой Thunderbolt 3, но по большей части производители ПК будут полагаться на платы расширения для поддержки устройств Thunderbolt 3.
С ноутбуками всё будет немного по-другому. Thunderbolt 3 не такой уж и популярный, но на ноутбуках он встречается чаще, чем на настольных компьютерах. К примеру, ноутбуки с поддержкой Thunderbolt 3 часто используют с внешними видеокартами.
И когда придёт время заменить старый ноутбук на новый с поддержкой USB4, очень важно будет убедиться, что он поддерживает ваше старое оборудование с Thunderbolt 3. Если это не так, придётся либо выкинуть периферию, либо искать ноутбук с поддержкой старого стандарта по USB4.
Динамическое разделение полосы пропускания
Одна из лучших особенностей USB4 состоит в том, что стандарт будет учитывать, какую скорость требуют устройства, совместно пользующиеся ресурсами. Самый распространённый пример такого случая – когда у вас одновременно подключен внешний накопитель и монитор.
USB4 будет достаточно умным, чтобы поддерживать высокую частоту кадров на дисплее, и давать внешнему диску всё, что ему нужно для передачи данных.
Повсеместная подача питания USB Power Delivery
Все устройства USB4 будут поддерживать стандарт USB Power Delivery (USB PD), способный передавать по USB-порту до 100 Вт энергии. Идея состоит в том, чтобы позволить телефонам заряжаться от USB-порта на ноутбуке чуть быстрее, чем в час по чайной ложке.
USB PD использует интеллектуальную зарядку, чтобы убедиться, что заряжаемое устройство получает столько энергии, сколько может выдать зарядник. Два устройства будут договариваться о силе зарядки, чтобы она не была слишком мощной или слабой, в зависимости от нужд устройств.
Порт одного типа
USB4 должен произвести революцию портов, и сделать USB более универсальным для повседневных нужд. Сейчас у нас есть целый мешок стандартных портов USB Type-A со скоростями в диапазоне от «где-то в жизни я свернул не туда» до «ну, это было не так уж и плохо». А есть ещё microUSB, которые в основном используют для зарядки телефонов, и новые порты Type-C, у которых скоростей больше, чем у горного велосипеда.
Всё это говорит о том, что в мире USB царит бардак из разных кабелей и спецификаций. Поскольку USB4 остановился на разъёмах Type-C, мы, возможно, наконец увидим единый тип порта, подходящий для устройства любого размера, и единый разъём на кабеле для всего.
Не стоит ожидать, что эта революция универсализации случится очень скоро, поскольку производители ноутбуков, скорее всего, будут продолжать делать в своих устройствах порты Type-A, чтобы обеспечить обратную совместимость для домашних и промышленных пользователей без необходимости подключать дополнительные донглы.
Кроме того, даже если Type-C в итоге станет универсальным, у разных вариантов USB всё равно будет куча разных скоростных режимов.
Последовательный порт или COM-порт (произносится "ком-порт", от англ. COMmunication port ) - двунаправленный последовательный интерфейс, предназначенный для обмена байтовой информацией. Последовательный потому, что информация через него передаeтся по одному биту, бит за битом (в отличие от параллельного порта). Наиболее часто для последовательного порта персональных компьютеров используется стандарт RS-232C . Ранее последовательный порт использовался для подключения терминала, позже для сканера, модема или мыши. Сейчас он используется для соединения с источниками бесперебойного питания, для связи с аппаратными средствами разработки встраиваемых вычислительных систем.
Варианты разъeма COM-порта типа DB-9F наиболее часто используются Д-образные разъeмы: 9- и 25-контактные, (DB-9 и DB-25 соответственно). Раньше использовались также DB-31 и круглые восьмиконтактные DIN -8 . Максимальная скорость передачи обычно составляет 115 200 бит/с. Стандарт на него был разработан в 1969 году.
Универсальный асинхронный приeмопередатчик ( УАПП, UART , Universal Asynchronous Receiver/ Transmitter ) - вид приeмопередатчика, устройства, которое переводит данные из последовательной в параллельную форму (и обратно). UART представляет собой отдельное устройство или является частью интегральной схемы, используется для передачи данных через последовательный порт компьютера или периферийного устройства. UART часто встраивают в микроконтроллеры.
Протокол RS-232 (англ. Recommended Standard 232) -стандарт последовательной синхронной и асинхронной передачи двоичных данных между терминалом (англ. Data Terminal Equipment, DTE ) и конечным устройством (англ. Data Communications Equipment, DCE ). RS-232 - интерфейс передачи информации между двумя устройствами на расстоянии до 15 м. Информация передается по проводам с уровнями сигналов, отличающимися от стандартных 5В, для обеспечения большей устойчивости к помехам. Асинхронная передача данных осуществляется с установленной скоростью при синхронизации уровнем сигнала стартового импульса.
В конце байта, перед стоп битом, может передаваться бит четности ( parity bit ) CRC (для контроля качества передачи). На практике, в зависимости от качества применяемого кабеля, требуемое расстояние передачи данных в 15 метров может не достигаться, составляя, к примеру, порядка 1,5 м на скорости 115200 бод для неэкранированного плоского или круглого кабеля. Для преодоления этого ограничения, а также возможного получения гальванической развязки между узлами, можно применить преобразователи RS-232- RS-422 (с сохранением полной программной совместимости) или RS-232- RS-485 (с определeнными программными ограничениями). При этом расстояние может быть увеличено до 1 км на скорости 921600 бод и использовании кабеля типа "витая пара" категории 3.
P - Контрольный бит - этот бит используется для правильной передачи данных. SP-используются о окончании передачи данных. Используемые биты P, SP, ST задают формат передачи данных уровня RS232C. UART - это микросхема используемая как универсальный асинхронный приемодатчик.
Читайте также: