Tuesday, August 22, 2017

Synchronous Data transfer vs Asynchronous Data Transfer:


  • Synchronous data transfer: sender and receiver use the same clock signal

    • supports high data transfer rate
    • needs clock signal between the sender and the receiver
    • requires master/slave configuration
  • Asynchronous data transfer: sender provides a synchronization signal to the receiver before starting the transfer of each message

    • does not need clock signal between the sender and the receiver
    • slower data transfer rate

Notes:

There are many serial data transfer protocols. The protocols for serial data transfer can be grouped into two types: synchronous and asynchronous. For synchronous data transfer, both the sender and receiver access the data according to the same clock. Therefore, a special line for the clock signal is required. A master (or one of the senders) should provide the clock signal to all the receivers in the synchronous data transfer. 

For asynchronous data transfer, there is no common clock signal between the sender and receivers. Therefore, the sender and the receiver first need to agree on a data transfer speed. This speed usually does not change after the data transfer starts. Both the sender and receiver set up their own internal circuits to make sure that the data accessing is follows that agreement. However, just like some watches run faster than others, computer clocks also differ in accuracy. Although the difference is very small, it can accumulate fast and eventually cause errors in data transfer. This problem is solved by adding synchronization bits at the front, middle or end of the data. Since the synchronization is done periodically, the receiver can correct the clock accumulation error. The synchronization information may be added to every byte of data or to every frame of data. Sending these extra synchronization bits may account for up to 50% data transfer overhead and hence slows down the actual data transfer rate. 

No comments:

Post a Comment