Forum Discussion
Altera_Forum
Honored Contributor
13 years agoThe standard UART core available with sopc builder, set the baudrate through a divisor register according to this equation:
baudrate = clock_frequency / (divisor + 1) So, if baudrate is an exact multiple of clock_frequency, you don't have any problem. This is relevant only for low divisor values, while for high divisor/low baudrate a few lost decimals don't matter. Also consider that, although you can virtually use divisor=1 to drive uart at half clock speed, this is usually not recommended since the receiver needs to synchronize to incoming data (remember the A in UART means Asynchronous). Other UART cores usually derive an internal sample clock 16x the system clock, so they require baudrate = clock_frequency / (16 * (divisor + 1))