Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to detect start bit in uart

Not open for further replies.


Full Member level 4
May 24, 2004
Reaction score
Trophy points
Activity points
can any one pls explain me how to detect a start bit in uart. i am trying to write a vhdl code for uart. ideally a transition from 1 to 0 is a indication of start bit but there can be a similar condition in the data stream also.
so can any one pls help me.

use a register with serial input fill with 1s and detect the start bit 0 at the last position

actually start bit is not just transition from 1 to 0 but also 0 for period of bit duration set by port's speed.

The start bit is detected when the UART is not collecting bits for data. This is either after reset (power up or control signal) or after the stop bit(s). It cannot be detected when the UART is in the state of reading the input as data.

If the UART is reset in the middle of data, it will synchronize properly after a sufficiently long idle time between data.

Hi , s3034585
I thinks
You must know BuadRate of UART , so use clk sampling .

when First transition from 1 to 0 this start bit and clk sampling delay 8 bit for data and 1 bit for parity and transition from 0 to 1 is stop bit

Pls. Download Serial complete in EDA E-Book

To detect the start bit to go into your receiver FSM, on detection of a low, sample 16x, then if more of 8 of those are low then you can consider it a start bit, if not clear the counter (false start bit) and resample again on next low detection.


The best way is detect the fall transition with a fall detector, start to count whit a clock 16x respect your baud rate and when your counter is 8 then sample the state of the line, if you detect zero then you have a real start bit otherwise your fall edge was a spike. if you detect a start bit you can sample the data every 16 times with the clock 16x starting from this point.

Not open for further replies.

Part and Inventory Search

Welcome to