Asynchronous data transmission is fine if the volume of data to be transferred is low. However, owing to the high overhead incurred, transferring large volume of data asynchronously is very slow. Also the lack of timing information sent with data the data restricts asynchronously transmission to low data rates.
Asynchronous character representation
Synchronous Communication
Synchronous data transmission is used to overcome these limitations. With synchronous transmission, rather than sending individual characters, a block of characters is sent. This is preceded by timing information, so the receiver can ‘lock on’ to the timing of sender. The exact structure of block of data sent when using synchronous is depend on the protocol in use.
When synchronous transmission is in use, data and control bits are put together in a structure called a frame or packet. At the start of the frame are a number of synchronization characters. These contain the ASCII control character called SYN and are used by the receiving end to lock on to the timing of the sender. These are followed by ASCII control character that indicates the start of the block of characters (STX- start of text). When a block of character is sent, the length of block is protocol dependent, but imagine a protocol where the block is up to 50 characters long. The end of the block of text is marked by ETX (end of text) ASCII control character.
Synchronous Transmission Frame
One of the major benefits of synchronous transmission is the improvement in efficiency over asynchronous transmission. For example, suppose there are 5 control characters, required to send 50 characters. To calculate the efficiency of the system, we use formula:
Efficiency= (useful data/total data)* 100%
So, in this example
Efficiency =(50/55)*100% = 90.1%
Whereas, with asynchronous transmission, the efficiency is only
(8/10)*100% i.e. 80%
Clearly the larger the block of data, the grater the efficiency will be. The reason is that the larger the block, the greater the likelihood of an error occurring during the transmission of the block. If an error does occur, all of the block of data must be transmitted. If the block size is very large, a lot of time may be wasted resending blocks and this would negate the potential improvement in efficiency by using a large block size. Therefore, there is trade off to be made: If the block size is too small, the efficiency is reduced because of the large overhead; if the block size is too large, efficiency may also be reduced because errors may cause retransmissions.
Efficiency Of The Message
To calculate the efficiency of using asynchronous and synchronous communication to transmit this message (‘Maintenance will begin at 8pm. Please log off.’) I use this formula:
Efficiency = (useful data/total data)* 100%
= (46/51)*100%
=90.1
Whereas, with asynchronous transmission, the efficiency is
(8/10)*100% i.e. 80%
Clearly the larger the block of data, the grater the efficiency will be. The reason is that the larger the block, the greater the likelihood of an error occurring during the transmission of the block. If an error does occur, all of the block of data must be transmitted. If the block size is very large, a lot of time may be wasted resending blocks and this would negate the potential improvement in efficiency by using a large block size. Therefore, there is trade off to be made: If the block size is too small, the efficiency is reduced because of the large overhead; if the block size is too large, efficiency may also be reduced because errors may cause retransmissions.