Software UART
INTRODUCTION
UART or Universal Asynchronous Receiver Transmitter is used for serial data communication it converts bytes of data to and from asynchronous start stop bit streams represented as binary electrical impulses. UARTs are commonly used in conjunction with other communication standards such as RS-232
The word "asynchronous" indicates that UARTs recover character timing information from the data stream, using designated start and stop bits to indicate the framing of each character. In synchronous transmission, the clock data is recovered separately from the data stream and no start/stop bits are used.
OPERATION
In idle state, the line is held at logic ‘1’. When data is to be transmitted, the start bit, which is a logic ‘0’ is transmitted for a period of 1 bit time. This causes a ‘1’ to ‘0’ transition at the line. This can be detected by the receiver and is used as a notification that data is coming.
The data bits are then transferred serially, starting with the Least Significant Bit. The logic value corresponding to the data bit being transmitted is held at the line for 1 bit time.
When data bits have been transmitted, a stop bit is transferred. A stop bit is a logical ‘1’ and puts the line back to idle state before a new start bit followed by the data can be transmitted.
The receiver must sample the data during every bit time in order to receive the data properly. The sampling frequency is generally taken to be a multiple of the baud rate so that all the bits are samples correctly.
When the above functions are managed by software, the resulting module is known as software UART. The essential trade off to consider when implementing a software UART is between hardware usage and speed/efficiency. Designs that utilize more hardware are likely to consume less CPU bandwidth and allow higher bit rates.
Download Project Report Summary
Download Complete Project Report