uart harish

31
UNDE R THE GUIDENCE OF MS. P PRUTHVI UART IMPLEMENTATION By HARISH MADUPU 114513 M.Tech. I SEM EI

Transcript of uart harish

Page 1: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 1/31

U N D E R T H E G U I D E N C E O FM S . P P R U T H V I

UART IMPLEMENTATION

By

HARISH MADUPU114513M.Tech. I SEM

EI

Page 2: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 2/31

WHAT AND WHY?

The UART (universal asynchronous receiver andtransmitter) module provides asynchronous serialcommunication with external devices such as

modems and other computersThe UART can be used to control the process of breaking parallel data from the PC down into serialdata that can be transmitted and vice versa for

receiving data.The UART allows the devices to communicate without the need to be synchronized

HARISH MADUPU 114513

Page 3: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 3/31

The Complete Block

HARISH MADUPU 114513

Page 4: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 4/31

Transmitter Pins

Mclkx16 => Master input clock for internal baudrate generation

HARISH MADUPU 114513

Page 5: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 5/31

Clock division

There should be a clock divider running at 16 times the baud rate driving the UART modules.The transmitter and receiver modules with a clock divider inside runs 16 times slower than the clock signal

sent to it.If for example, you want to transmit at 33.6 kbps and theFPGA board runs at 25.175 MHz then:Baud rate x 16 = 33600 x 16 = 537600Clock division ratio = 25175000 / 537600 = 46Clock divisor = 46 / 2 = 23Therefore, the clock divider used to clock the UART would have a divisor of 23. This would give atransmission rate of about 34.2 kbps.

HARISH MADUPU 114513

Page 6: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 6/31

Transmitter Pins

Reset => Master reset

HARISH MADUPU 114513

Page 7: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 7/31

Transmitter Pins

Txrdy => Indicates new data has been written tothe transmitter

HARISH MADUPU 114513

Page 8: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 8/31

Transmitter Pins

Write => Active low strobe signal, used for writing data in to transmitter

HARISH MADUPU 114513

Page 9: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 9/31

Transmitter Pins

data (7 down to 0) => Bi-directional data bus forsending/receiving data across the UART

HARISH MADUPU 114513

Page 10: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 10/31

Transmitter Pins

Tx => Transmitter serial output. Held high whenno transmission occurring and when resetting

HARISH MADUPU 114513

Page 11: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 11/31

Transmission Format

This implementation of the UART transmits in blocks of 11 bits

HARISH MADUPU 114513

Page 12: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 12/31

In the transmission of a sequence the active low start bit indicates to the receiving UART that a new sequence of data is on its way

The parity can be set as even or odd and is used toindicate whether or not there has been an error inthe received data bitsThe data is transmitted LSB first

HARISH MADUPU 114513

Page 13: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 13/31

Receiver Pins

Parityerr => Indicates whether a parity error wasdetected during the receiving of a data frame

HARISH MADUPU 114513

Page 14: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 14/31

Receiver Pins

Framingerr => Indicates if the serial data format sentto the rx input did not match the proper UART dataformat

HARISH MADUPU 114513

Page 15: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 15/31

Receiver Pins

Overrun => Indicates whether new data sent in isoverwriting the previous data received that has not been read out yet.

HARISH MADUPU 114513

Page 16: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 16/31

Receiver Pins

Rxrdy => Indicates new data has been receivedand is ready to be read out.

HARISH MADUPU 114513

Page 17: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 17/31

Receiver Pins

Read => Active low strobe signal, used forreading data out from the receiver.

HARISH MADUPU 114513

Page 18: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 18/31

Receiver Pins

Rx => Receiver serial input. Pulled-up when notransmissions taking place

HARISH MADUPU 114513

Page 19: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 19/31

Implementational Architecture

HARISH MADUPU 114513

Page 20: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 20/31

Process of Transmission…

transmitting data through the UART begins by firstchecking the txrdy line. A high txrdy signal indicatesthat new data can be written to the transmitter

To write to the transmitter place the data to betransmitted on the data line.The data is then latched into the UART's transmitmodule by a leading low signal to the write line.

The next data sequence can be latched once thetxrdy line goes high again.

HARISH MADUPU 114513

Page 21: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 21/31

Process of Transmission…

while not transmitting, the data line must not bedriven but left floatingto avoid dealing with tri-state buffers, modify the

UART module by giving it separate parallel inputand output ports.

HARISH MADUPU 114513

Page 22: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 22/31

Transmitter Entity

Pi => data (7 downto 0)Clk => Mclkx16 Wrt => Write

HARISH MADUPU 114513

Page 23: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 23/31

Initializing Transmitter…

Txrdy signal will be high for every 16 clock cycles.

HARISH MADUPU 114513

Page 24: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 24/31

HARISH MADUPU 114513

Page 25: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 25/31

Transmit Data Serially

Start ,parity and stop bits are added to data andtransmitted serially

HARISH MADUPU 114513

Page 26: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 26/31

Transmitter Output

HARISH MADUPU 114513

Page 27: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 27/31

Process of reception…

The process of receiving data through the UART begins by waiting for the rxrdy line to go high. A high rxrdy indicates that data has been received

and is ready to be read out.To read the data out from the UART's data lineassert a low signal to the read line. This will latch thereceived data from the receiver to the data line

allowing you to read it.

HARISH MADUPU 114513

Page 28: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 28/31

Process of Reception…

The parityerr , framingerr , and overrun linesindicate any problems with the current received dataThe next data received can be read out once rxrdy

goes high again.

HARISH MADUPU 114513

Page 29: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 29/31

Receiver Entity

HARISH MADUPU 114513

Page 30: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 30/31

Expected results

Receiver output

HARISH MADUPU 114513

Page 31: uart harish

8/3/2019 uart harish

http://slidepdf.com/reader/full/uart-harish 31/31

HARISH MADUPU 114513