Communication requires being in sync just like an orchestra. What happens when the bass guitar in band is not sync with drum kick; is same when the signal between the sender and receiver loses synchronization. Manchester Code is used extensively in asynchronous communication and allows communication stay in sync.

Synchronous Communication

In order to solve this problem, people started to use a line called clock swhich ensures that the two sides are constantly synchronized.

Synchronous  Communication
Synchronous Communication

Asynchronous Communication

Think of the message we sent to the other party as a sentence. Letters mean bits for us, and words mean data frames. Asynchronous communication contains special bits that represent the beginning and end of each data frame.

Asynchronous  Communication
Asynchronous Communication

I added asynchronous communication example to the third row to make you see the difference. Asynchronous communication does not have a separate “clock” line, the receiving party and the sending party are synchronized at the beginning and end of each frame. Even if there is an error in the data, it will cause you to misunderstand at most one word.

If you are sending 8 bit data frames starting with the start bit (0) and ending with the stop bit (1); To send 6-bit data, you send a total of 8 bits.

You use the number 8 when calculating the baud rate, and the number 6 when calculating the bit rate.

Manchester Code

Consider the data frame above with 8-bit. Our 6-bit data is composed of 1,0,0,0,1,0 bits. This data is likely to go across 1,0,0,1,0,0, especially in environments with high ambient noise.

Manchester Code
Manchester Code

In Manchester Code, 1 and 0 are sent for binary 1, 0 and 1 are sent to the other party for binary 0. The bandwidth is doubled, but in the case of the above-mentioned 0 or 1 consecutive transmission, we avoid the disruption of synchronization. Because at most 2 0 or 1 bits can be consecutive. In short, when sending data, we consider the voltage change rather than the voltage level.

Manchester Code in Real Life

Manchester Code is also known as biphase coding. It is used widely in wireless communication, CANBUS and VAN protocol in automotive sector and DALI protocol in lighting automation field and so on. I share the links of my related articles below if you are interested and want to read.

Further knowledge;

http://ww1.microchip.com/downloads/en/AppNotes/Atmel-9164-Manchester-Coding-Basics_Application-Note.pdf