ASYNCHRONOUS DATA TRANSFER
Synchronous and Asynchronous Operations
Synchronous - All devices derive the timing
information from common clock line
Asynchronous - No common clock
Asynchronous Data Transfer
Asynchronous data transfer between two independent units
requires that control signals be transmitted between the
communicating units to indicate the time at which data is
being transmitted. One way to achieving this is by means of
a STROBE pulse method. Other way is HANDSHAKING
method.
In general case we consider the transmitting unit as the
source and receiving unit as the destination.
ASYNCHRONOUS DATA TRANSFER METHODS
Strobe pulse
- A strobe pulse is supplied by one unit to
indicate the other unit when the transfer has to
occur.
Handshaking
- A control signal is accompanied with each data
being transmitted to indicate the presence of data.
- The receiving unit responds with another
control signal to acknowledge receipt of the data.
STROBE CONTROL
* Employs a single control line (STROBE) and a data bus .
* The strobe may be activated by either the source or
the destination unit.
Source-Initiated Strobe Destination-Initiated Strobe
for Data Transfer for Data Transfer
Block Diagram Block Diagram
Data bus Data bus
Source Destination Source Destination
unit Strobe unit unit Strobe unit
Timing Diagram Timing Diagram
Valid data Valid data
Data Data
Strobe Strobe
HANDSHAKING
In Strobe Methods
Source-Initiated
The source unit that initiates the transfer has
no way of knowing whether the destination unit
has actually received data
Destination-Initiated
The destination unit that initiates the transfer
no way of knowing whether the source has
actually placed the data on the bus
To solve this problem, the HANDSHAKE method
introduces a second control signal to provide a Reply
to the unit that initiates the transfer
SOURCE-INITIATED TRANSFER USING HANDSHAKE
Data bus
Block Diagram Source Data valid Destination
unit Data accepted unit
Valid data
Timing Diagram Data bus
Data valid
Data accepted
Sequence of Events Source unit Destination unit
Place data on Data bus.
Enable data valid.
Accept data from bus.
Enable data accepted
Disable data valid.
Invalidate data on bus.
Disable data accepted.
Ready to accept data
(initial state).
* Allows arbitrary delays from one state to the next
* Permits each unit to respond at its own data transfer rate
* The rate of transfer is determined by the slower unit
DESTINATION-INITIATED TRANSFER USING HANDSHAKE
Data bus
Block Diagram Source Data valid Destination
unit Ready for data unit
Timing Diagram Ready for data
Data valid
Valid data
Data bus
Sequence of Events Source unit Destination unit
Ready to accept data.
Place data on bus. Enable ready for data.
Enable data valid.
Accept data from bus.
Disable data valid. Disable ready for data.
Invalidate data on bus
(initial state).
* Handshaking provides a high degree of flexibility and reliability because the
successful completion of a data transfer relies on active participation by both units
•If one unit is faulty, data transfer will not be completed -> Can be detected by means of
a timeout mechanism, which produces a alarm if data transfer is not completed in time.
ASYNCHRONOUS SERIAL TRANSFER
Four Different Types of Transfer :->>> Asynchronous serial transfer
Synchronous serial transfer
Asynchronous parallel transfer
Asynchronous Serial Transfer Synchronous parallel transfer
- Employs special bits which are inserted at both ends of the character code
- Each character consists of three parts; Start bit; Data bits; Stop bits.
1 1 0 0 0 1 0 1
Start Character bits Stop
bit bits
(1 bit) (at least 1 bit)
A character can be detected by the receiver from the knowledge of
4 rules;
- When data are not being sent, the line is kept in the 1-state (idle state)
- The initiation of a character transmission is detected
by a Start Bit , which is always a 0
- The character bits always follow the Start Bit
- After the last bit of the character , a Stop Bit is detected when
the line returns to the 1-state for at least 1 bit time
UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER
- UART -
A typical asynchronous communication interface available as an IC
Parallel transformation It functions as both as a
Transmit
Bidirectional Transmitter Shift data transmitter and
data bus Bus register register receiver.
buffers
Control Transmitter Transmitter
clock
Internal Bus
register control
Chip select and clock
CS
Register select Status Receiver Receiver CS RS Oper. Register selected
RS Timing clock
register control 0 x x None
I/O read and and clock 1 0 WR Transmitter register
RD Control
1 1 WR Control register
I/O write Receive 1 0 RD Receiver register
WR Receiver Shift data
1 1 RD Status register
register register
Transmitter Register Parallel transformation
- Accepts a data byte(from CPU) through the data bus
- Transferred to a shift register for serial transmission
Receiver
- Receives serial information into another shift register
- Complete data byte is sent to the receiver register
Status Register Bits
- Used for I/O flags and for recording errors (parity , framing, overrun error)
Control Register Bits
- Define baud rate, no. of bits in each character, whether to generate and check
parity, and no. of stop bits , used for initialization.