1
\$\begingroup\$

I want clearly know this, Serial is protocol right? Then what is the Modbus? Is it under serial. And what are RS232 and RS485? What is UART and serial and UART same? What about TCP? TCP and serial are method of communication the protocols. Right?

\$\endgroup\$
5
\$\begingroup\$

Serial is a general communications scheme, where information (in this case binary data) is transmitted in pieces sequentially. There are a number of compatible and incompatible computer buses and protocols that use a serial communications.

In the context of your question, serial is used as both a communication scheme and a description of the physical bus. That is, the chips on either end of the cable/wire use a sequential sequence of bits to exchange data. Commonly "serial" is used to refer to a number of buses that were generally available on PC/AT and compatibles via the "COM" port, generally RS232 and RS485 are included.

Confusingly both the physical interface and the protocol could use a serial communication scheme, or they could be different (e.g. serial data over a parallel link that shifts a byte at a time instead of a bit) so its important to distinguish between the two. A general picture of this difference is given in the OSI model, where every layer can use whatever communication scheme they choose independent of each other

enter image description here

RS232 is a standard that defines a physical communication scheme using a serial connection. Similarly RS485 does the same. Both of these standards dictate the physical serial bus (with voltage levels and timing details) behind the communication scheme (that could be ModBus or a proprietary printer peripheral comm protocol)

Modbus is a standard that only defines a common high level (OSI 7) protocol but leaves the physical details undefined (implementation). Officially can be implemented over TCP/IP or over a serial bus, Modbus is high level protocol and TCP/IP (for example) can be implemented even over carrier pigeon

\$\endgroup\$
1
\$\begingroup\$

crasic showed the OSI layers. Think of a highway, then on that highway you have various sizes and types of vehicles. Those vehicles can carry various things. People obviously, but also packages or boxes. You might have a truck on that highway with a wooden crate in that crate are some/many cardboard boxes, those boxes might contain other boxes, and in those boxes you might have a lot of the same or different kinds of products.

you have a physical layer, some way, electrically, through light through the air (laser, etc), wirelessly through the air (wifi, bluetooth, etc), wired, optical through fiber. That is the highway, just like having cement vs asphalt vs steel mesh over a bridge. Then you have various kinds of frames, cars and trucks, hondas vs fords, mac vs kenworth. Packets, data link layer. Then inside a vehicle you might have a box, the ip layer for example, or arp or netbeui or novell, etc. Then within the ip cardboard box you might have another box, the tcp packet. Inside the tcp packet you might have some other data, audio or web page data or ftp data, etc.

You start with the data you want to move then you add layers to the onion around it as you work from the upper osi layers down to the physical layer, you move that onion across, then you start peeling the layers back off. This is somewhat quite literal with the data itself, you have the payload at the highest layer you are working with, then you literally add a header out front and sometimes a footer at the end. And now you are at a different layer, now that whole thing layer N with a layer n-1 wrapper becomes the payload for layer n-2 where you add a header and maybe a footer depending on the choices or rules for that layer or protocol. Eventually the physical layer gets this blob of bytes which is its payload it adds a mac header and checksum and maybe other stuff to it and this is the semi truck that drives down the highway. Unlike a semi truck you dont normally carry cargo for different destinations, you wrap one onion it moves across the physical layer then starts to get peeled.

uart is a wholly different thing, it goes back to 7 or 8 bit characters (Ascii, ebcdic, etc) with a small start pattern (one bit) and a stop pattern and maybe a parity bit.

RS-232 and RS-422 are just voltage standards that define the electrical level for a one a zero, they are associated with uart serial data, but not to be confused when you say RS-232 you had better mean that voltage level carrying this data, you plug RS-232 into the uart pins on a microcontroller and you will likely fry the microcontroller because it cannot handle those voltage levels.

You can carry ip and tcp and other protocols over uart/serial, look up ppp and slip protocols for example again, you take the tcp packet wrap it with an ip header, and then wrap it with what is required for the data link layer ppp and slip have their own wrappers for this then the physical link is uart to uart, then you unwrap the onion. Back in the dial up days this is how that worked. But normally tcp/ip goes over ethernet or wifi, and uart if you still find it (extremely useful for embedded and still found there and in server rooms) and tcp/ip are not normally associated in any way. they are two separate things from separate generations meant for different things.

udp is the other basic ip protocol. Often written as tcp/ip or udp/ip. tcp while packets is considered a stream, like uart. you treat the data as if it were a serial stream not a packet, a very common mistake. the tcp protocol allows for folks between point a and point b to cut the packet into pieces and deliver them separately because it is stream based not packet based. it is only delivered in the lower layers as packets because that is how it works. Udp is considered strictly packet based, either it shows up or it doesnt show up but if it shows up each packet shows up in its entirety just as left the source. there are many other protocols that ride on top of tcp and udp, as already mentioned by others http, ftp, smtp, etc. the things that make up your internet experience. the internet protocols are found in something called rfcs request for comments, the term doesnt make much sense as you dont find comments really you just find the rfcs and have to learn which one is the standard, some over time get rewritten with new features and become the standard for a protocol, sometimes the re-write is not the new standard but just some side thing that a company or product or popular something uses, but not everyone is required to conform to.

before or in parallel there were man other protocols that are not ip based, like ipx/spx the novell low layer protocols, think of doom and heretic and hexen before quake came out, you needed to have an ipx network (although later folks were wrapping ipx with udp or tcp in order to play across the internet and not just on one lan).

On the uart side look for terms like kermit and xmodem and ymodem and zmodem as how to move data, normally it is for text interfaces. bbs (bulletin board systems) and other such things. very much still used for embedded systems, debugging microcontrollers, in server rooms where it doesnt make sense to have monitors and keyboards instead you have terminal servers that allow you to telnet or ssh into the uarts of the servers and the servers are configured to use their uarts for a terminal rather than the video card/monitor.

rs232 can or could carry a signal further and better than just the ttl levels. rs422 can go even further distances. and so on.

\$\endgroup\$
0
\$\begingroup\$

"Serial" (sometimes called "UART") is the logical signaling: active low, 1 start bit, 5 to 9 data bits, even, odd, or no parity, 1, 1.5, or 2 stop bits, hold low to generate a break.

Modbus is a protocol that runs on top of a serial connection. It defines messages and their content.

RS-232 and RS-485 (and sometimes "TTL", for 0.8V/2.0+V levels) are physical implementations of a serial connection. They define voltage levels for "high" and "low", and how devices are connected together.

A UART is the peripheral that implements a serial connection that follows the scheme described at the start. It outputs a digital signal, usually using CMOS or TTL levels, and another chip can be used to bring it to RS-232 or RS-485 levels.

\$\endgroup\$
  • \$\begingroup\$ So serial and TCP are method of communicate the protocols? \$\endgroup\$ – iNdra Aug 13 '15 at 4:21
  • \$\begingroup\$ Protocols use the signaling provided by serial and TCP/IP, yes. Higher-level protocols always sit on top of lower-level protocols. \$\endgroup\$ – Ignacio Vazquez-Abrams Aug 13 '15 at 4:24
  • \$\begingroup\$ What is deference of high-level and lower-level protocols? \$\endgroup\$ – iNdra Aug 13 '15 at 4:37
  • \$\begingroup\$ How long is a piece of string? \$\endgroup\$ – Ignacio Vazquez-Abrams Aug 13 '15 at 4:39
  • \$\begingroup\$ I want general idea. \$\endgroup\$ – iNdra Aug 13 '15 at 4:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.