Go Down

Topic: Internet vs Serial communication (Read 779 times) previous topic - next topic


My question is beginner level. Sorry.

Ok all the mouse movements, USB connections and other PC peripherals such as printers ect. are via what is called serial communication. One bit per time...

So far so good. But when it comes to TCP protocol, ethernet and internet it is not called serial communication anymore. But this is also bit per second stuff.

Why is that so? What is the main difference? I couldnt understand why it is not serial communication.

Fat D

Ethernet is still serial, it just is not called that way explicitly. Just like I²C (the TWI protocol used by Arduino's wire lib) does not have serial in its name, despite being a serial protocol. I guess our usage of the term "serial port" goes back to the old PCs, which had a 'serial port' (using a UART, the same device that is used for Arduino's serial communications) and a 'parallel port' (an LPT port used for high-speed peripherals such as printers).


Well for starters Ethernet need not be serial and rarely is at 1000bt and faster.  It's a packet based system to send a single byte (it's impossible to send a bit without padding it to a byte and padding the bytes to the min 46 bytes and tacking on addressing and crc bits) you have to also send the rest of an Ethernet frame all told that's at least 84 bytes (preamble though inter frame gap per 802.3).  Layer on top of that there is collision detection/re-transmission coupled with out of order reception between packets (send a b c and receiver can get c a b) and it's quickly getting very complicated for a little micro. 

Now tack on IP on top of Ethernet and you have a slew of protocols to process to use TCP/IP you also should implement arp to know what address to send packets to and let others know how to reach you.  TCP/IP actually gets rid of a lot of the complexity for you as it handles re-transmissions, ordering, congestion avoidance, session setup and tear down.  Now an atmega328 only has enough internal ram to hold a single max sized packet (1500 bytes) further leading to issues (the wiznet and enc chips commonly used to Ethernet with ardiuno's have there own internal buffers).

Go Up