What’s the serial communication in Rust?

 What’s the serial communication in Rust?

What's the serial communication in Rust?

Description

  • It’s a communication mechanism that takes place using the asynchronous protocol.
  • Two devices exchange data serially in this communication 1 bit at a time
  • These 2 devices exchange data using 2 shared data lines and 1 common ground.
  • The protocol is asynchronous because none of the shared lines carries a clock.
  • But both (transmitter and receiver) have to agree prior to the communication that how fast data will be sent/received.
  • This protocol allows duplex communication which means both can send data simultaneously.

Why we need this protocol? What’s the use-case?

  • We are using this protocol to exchange data between MCU and host computers for example our laptops.

  • Unlike ITM protocol, this protocol lets us send data from laptop to MCU

Now a question arises. How fast we may send data using this protocol?

  • This protocol works with frames
  • Each frame has 1 start bit, 1-2 stop bits, and 5-9 data bits
  • Speed of protocol is known as baud rate and it’s quoted in baud per seconds (bps)
  • Few baud rate examples are: 9600, 19200, 38400, 57600, and 115200 bps
  • To actually answering the question
  • With a common configuration of 1-start bit, 8-data bits, 1-stop bit, and a baud rate of 115200 bps
  • Theoretically, we can send 11,520 frames per second
  • Data rates will probably be lower due to processing time on the slower side of communication (the MCU) practically.

Now the problem is our laptops don’t support serial communication protocol!

  • It means we can’t connect our laptop directly to the MCU
  • Here is the serial module come in the picture
  • Our module will sit between the 2 devices and expose a serial interface to the MCU and a USB interface to the laptop
  • This is how both MCU and laptop will see each other as a serial device.

Uses

  • We use Serial communication for all long-haul communication.
  • All-out computer networks that the cost of cable and synchronization difficulties makes similar communication irrational.
  • Serial computer buses are fetching additional common even at shorter distances.
  • Technologies have begun to outweigh the parallel bus’s advantage of simplicity due to healthier signal reliability and transmission speeds in newer serial.

Serial buses

  • A lot of communication systems were usually intended to connect two integrated circuits on the same printed circuit board.
  • That board is connected by signal traces on that board rather than external cables.
  • Combined circuits are more expensive when they have more pins.
  • Many ICs use a serial bus to transfer data when speed is not important to reduce the number of pins in a package.

Cables

  • A lot of serial communication systems were first designed to transfer data over comparatively large distances through some sort of data cable.
  • Rather than in parallel, almost all long-distance communication transmits data one bit at a time as it decreases the cost of the cable.
  • The cables that carry this data other than the serial cable and the computer ports they plug into are typically mentioned with an extra specific name to reduce confusion.
  • Keyboard and mouse cables and ports are nearly always serial.

Leave a Comment