Vous êtes sur la page 1sur 23

Universal Asynchronous Receiver

Transmitter (UART)
1

BY
SIMRAN KAUR(04913204914)
GAGANDEEP SINGH(03413204914)

U N D E R T H E S U P E RV I S I O N O F
MR. AMRIK SINGH

UART 9/11/2017
What is UART?
2

A UART is a piece of computer hardware that translates


data between parallel and serial forms.
It is an integrated circuit used for serial
communications.
It contains a
A transmitter (parallel-to-serial converter)
Receiver (serial-to-parallel converter)
Baud Rate Generator
each clocked separately

UART 9/11/2017
Efficacy of the Project
3

UARTs are commonly included in


Microcontrollers

GPS units

Modems

Bluetooth modules.

UART 9/11/2017
Why and When to use UART?
4

A UART maybe used when


High speed is not required

Inexpensive communication link between two devices is required.

UART communication is very cheap


Single wire for each direction.

Asynchronous because no signal is transmitted.

Relatively Simple hardware.

UART 9/11/2017
Data Frame of UART
5

UART 9/11/2017
Cont
6

UART 9/11/2017
Cont
7

UART 9/11/2017
Cont
8

UART 9/11/2017
Cont
9

UART 9/11/2017
Cont
10

UART 9/11/2017
Working of UART
11

The transmitter receives the 8-bit data from input & stores
in some register.
The transmitter than adds some special bits like start bit,
parity bit(if selected) to make the complete data frame.
The data frame then sends out serially by transmitter at
the predefined clock rate(baud rate).
The receiver is by default at high logic state which
indicates the idle state of receiver & keeps looking for the
high to low transition i.e. start bit.

UART 9/11/2017
Cont
12

As soon as start bit is detected, the receiver observe the start


bit for 50% of receiving data bits at the middle of each bit
otherwise receiver set flag for framing error.
After detecting 8-bit data, the receiver then looks for parity bit
which is generated by transmitter for the single bit error
detection.
If the parity bit is detected, the receiver looks for the stop bit to
stop the reception of data.
After the successful detection of stop bit, the receiver logic go
high logic state to indicate idle state and start looking for next
start bit.

UART 9/11/2017
Verilog Implementation
13

This project is divided into three main modules:


Baud Rate Generator

UART Transmitter

UART Receiver.

These three modules are further into sub modules.


All the modules are connected by instantiating each
module in the main module.

UART 9/11/2017
Block Diagram of UART
14

UART 9/11/2017
Baud Rate Generator
15

Baud rate generator determines transmission speed in


asynchronous communication.
It is the middle of symbols per second transferred.
Each bit is 1/(baud rate) wide.
Some standards baud rate are:
2400
9600
19200
38400
115200

UART 9/11/2017
Transmitter
16

This module is further into four sub-modules:


TX Controller_fsm
Generates all necessary signals required to transmit data at right time
Parity Generator
Generates parity for 8-bit input data.

PISO(Parallel-In-Serial-Out)
Takes the 8-bit input binary data & converts it into 1 bit serial data.

Txmux
Its 4x1 mux to transmit 4 different type of data viz. start bit, data bit,
parity bit & stop bit.

UART 9/11/2017
Transmitter Block Diagram
17

UART 9/11/2017
UART Receiver
18

This module is further is divided into 4 sub-modules:


RX_fsm
Generates all the control signals for UART receiver.
Detect start
Ideally the receiver receives continuous 1 as soon as the 0 is detected which is
done by this module, the reception of data starts.
SIPO(Serial_to_parallel_out register)
Converts serial data into 8-bit parallel data
Parity checker
Checks the correctness of data by Xoring the 10th received bit with xor value of
8th received bit.
Stop bit checker
After the detection of valid parity bit, the stop bit is detected. If the stop bit is
not detected then reception of data is terminated by setting stop bit error signal
high.

UART 9/11/2017
Receiver Block Diagram
19

UART 9/11/2017
Technical Specification
20

Software Used:
Xilinx ISE 14.7

Hardware Language:
Verilog

Implemented on:
FPGA

UART 9/11/2017
Work flow of Xilinx
21

UART 9/11/2017
References
22

[1] URL: http://testbench.in/VT_01_INTRODUCTION.html

[2]URL: https://www.tutorialspoint.com/vlsi_design/vlsi_design_verilog_introduction.htm

[3]URL: https://github.com/FPGAwars/FPGA-peripherals/wiki/Asynchronous-serial-
transmitter-unit

[4]URL: http://whatis.techtarget.com/definition/UART-Universal-Asynchronous-Receiver-
Transmitter

[5]URL:https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter#Trans
mitter

[6]URL: http://xcore.github.io/sc_uart/summary.html

[7]URL: http://www.ece.drexel.edu/courses/ECE-L304/Lab_Manual/II_UART.pdf

UART 9/11/2017
23

THANK YOU

UART 9/11/2017

Vous aimerez peut-être aussi