Последовательный, RS232, Modbus, UART и TCP

Я хочу четко знать, что Serial - это протокол, верно? Тогда что такое Modbus? Это под серийным номером. А что такое RS232 и RS485? Что такое UART, последовательный и UART одинаковый? Что насчет TCP? TCP и последовательный протокол являются методом связи. Верно?

Ответы (3)

Последовательный — это общая схема связи, при которой информация (в данном случае двоичные данные) передается по частям последовательно. Существует ряд совместимых и несовместимых компьютерных шин и протоколов, использующих последовательную связь.

В контексте вашего вопроса серийный номер используется как для схемы связи, так и для описания физической шины. То есть микросхемы на обоих концах кабеля/провода используют последовательную последовательность битов для обмена данными. Обычно «последовательный» используется для обозначения ряда шин, которые обычно были доступны на ПК / AT и совместимых через порт «COM», обычно включаются RS232 и RS485.

Как ни странно, и физический интерфейс, и протокол могут использовать схему последовательной связи, или они могут быть разными (например, последовательные данные по параллельному каналу, который сдвигает байт за раз, а не бит), поэтому важно различать их. Общая картина этого различия представлена ​​в модели OSI, где каждый уровень может использовать любую схему связи, которую он выбирает, независимо друг от друга.

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

RS232 — это стандарт, определяющий физическую схему связи с использованием последовательного соединения. Точно так же RS485 делает то же самое. Оба эти стандарта определяют физическую последовательную шину (с уровнями напряжения и временными данными) за схемой связи (это может быть ModBus или проприетарный протокол связи периферийных устройств принтера).

Modbus — это стандарт, который определяет только общий протокол высокого уровня (OSI 7), но оставляет неопределенными физические детали ( реализация ). Официально может быть реализован через TCP/IP или через последовательную шину, Modbus является протоколом высокого уровня, а TCP/IP (например) может быть реализован даже через почтовый голубь.

crasic показал уровни OSI. Подумайте о шоссе, и на этом шоссе у вас есть транспортные средства различных размеров и типов. Эти автомобили могут перевозить различные вещи. Люди, очевидно, но и пакеты или коробки. У вас может быть грузовик на этом шоссе с деревянным ящиком, в этом ящике несколько/много картонных коробок, в этих коробках могут быть другие коробки, и в этих коробках у вас может быть много одинаковых или разных видов продуктов.

у вас есть физический уровень, каким-то образом, электрически, через свет по воздуху (лазер и т. д.), беспроводным образом по воздуху (wi-fi, bluetooth и т. д.), проводным, оптическим через оптоволокно. Это шоссе, точно так же, как цемент, асфальт и стальная сетка на мосту. Затем у вас есть различные виды рам, легковые и грузовые автомобили, хонды и форды, макинтоши и кенворты. Пакеты, канальный уровень. Затем внутри транспортного средства у вас может быть коробка, например, ip-слой, или arp, или netbeui, или novell и т. д. Затем внутри картонной коробки ip у вас может быть другая коробка, пакет tcp. Внутри пакета tcp у вас могут быть некоторые другие данные, аудио или данные веб-страницы, данные ftp и т. д.

Вы начинаете с данных, которые хотите переместить, затем добавляете слои к луковице вокруг нее, когда вы работаете с верхних слоев osi вниз к физическому слою, вы перемещаете эту луковицу, а затем начинаете отслаивать слои обратно. Это довольно буквально с самими данными, у вас есть полезная нагрузка на самом высоком уровне, с которым вы работаете, затем вы буквально добавляете заголовок впереди, а иногда и нижний колонтитул в конце. И теперь вы находитесь на другом уровне, теперь весь этот уровень N с оболочкой уровня n-1 становится полезной нагрузкой для уровня n-2, где вы добавляете заголовок и, возможно, нижний колонтитул в зависимости от выбора или правил для этого уровня или протокола. . В конце концов физический уровень получает этот блок байтов, который является его полезной нагрузкой, он добавляет к нему заголовок mac и контрольную сумму и, возможно, другие вещи, и это полуприцеп, который едет по шоссе.

uart - это совершенно другое, он восходит к 7 или 8-битным символам (Ascii, ebcdic и т. д.) с небольшим стартовым шаблоном (один бит) и конечным шаблоном и, возможно, битом четности.

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

Вы можете передавать ip и tcp и другие протоколы через uart/serial, искать протоколы ppp и Slip, например, снова, вы берете пакет tcp, обертываете его заголовком ip, а затем обертываете его тем, что требуется для канала передачи данных ppp. а у слипа есть свои обертки для этого то физический линк uart to uart, потом лук разматываешь. Во времена дозвона именно так это и работало. Но обычно tcp/ip проходит через Ethernet или Wi-Fi, и uart, если вы все еще его находите (чрезвычайно полезно для встроенных и все еще встречающихся там и в серверных), и tcp/ip обычно никак не связаны. это две отдельные вещи из разных поколений, предназначенные для разных вещей.

udp — это другой базовый IP-протокол. Часто пишется как tcp/ip или udp/ip. tcp, в то время как пакеты считаются потоком, как и uart. вы обрабатываете данные, как если бы это был последовательный поток, а не пакет, очень распространенная ошибка. протокол tcp позволяет людям между точками a и b разрезать пакет на части и доставлять их по отдельности, потому что он основан на потоке, а не на пакетах. он доставляется только на нижние уровни в виде пакетов, потому что именно так он и работает. Udp считается строго пакетным, он либо появляется, либо не появляется, но если он появляется, каждый пакет отображается целиком, как и исходный. есть много других протоколов, которые работают поверх tcp и udp, как уже упоминалось другими http, ftp, smtp и т. д., которые составляют ваш опыт работы в Интернете.

до или параллельно существовало много других протоколов, не основанных на IP, таких как ipx/spx, новые протоколы нижнего уровня, подумайте о думе, еретике и гексене, прежде чем вышел quake, вам нужно было иметь сеть ipx (хотя позже люди обертывали ipx с udp или tcp, чтобы играть через интернет, а не только в одной локальной сети).

На стороне uart ищите такие термины, как kermit и xmodem, ymodem и zmodem, как перемещать данные, обычно это для текстовых интерфейсов. bbs (системы досок объявлений) и тому подобное. очень многое по-прежнему используется для встроенных систем, отладки микроконтроллеров, в серверных, где нет смысла иметь мониторы и клавиатуры, вместо этого у вас есть терминальные серверы, которые позволяют вам подключаться по telnet или ssh к uart серверов, и серверы настроены на использование их uarts для терминала, а не для видеокарты/монитора.

rs232 может или мог бы нести сигнал дальше и лучше, чем просто уровни ttl. rs422 может преодолевать еще большие расстояния. и так далее.

«Последовательный» (иногда называемый «UART») — это логическая сигнализация: активный низкий уровень, 1 стартовый бит, от 5 до 9 битов данных, четный, нечетный или без четности, 1, 1,5 или 2 стоповых бита, низкий уровень для генерации перерыв.

Modbus — это протокол, работающий поверх последовательного соединения. Он определяет сообщения и их содержание.

RS-232 и RS-485 (а иногда и «TTL» для уровней 0,8 В / 2,0 + В) являются физическими реализациями последовательного соединения. Они определяют уровни напряжения для «высокого» и «низкого», а также способ соединения устройств друг с другом.

UART — это периферийное устройство, реализующее последовательное соединение по схеме, описанной в начале. Он выводит цифровой сигнал, обычно с использованием уровней CMOS или TTL, и можно использовать другую микросхему, чтобы довести его до уровней RS-232 или RS-485.

Итак, серийный номер и TCP - это метод связи протоколов?
Протоколы используют сигнализацию, обеспечиваемую последовательным портом и TCP/IP, да. Протоколы более высокого уровня всегда располагаются поверх протоколов более низкого уровня.
В чем отличие протоколов высокого и нижнего уровня?
Какой длины кусок веревки?
Мне нужна общая идея.
Общая идея в том, что они совершенно разные. Изучите «HTTP», «TCP», «IP», «IEEE 802.3» и «манчестерское кодирование», и вы лучше поймете свой вопрос.