logiUART

logiUART - What are the supported communication baudrates and how to calculate baudrate
KBA-01109-3GVS93
Question
What are the supported communication baudrates and how to calculate baudrate?
Answer

Supported baudrates are in range from 5 bps (bit per second) up to 3 Mbps. Programmable baudrate prescaler and programmable number of samples per bit allow settings of many different baudrates with very little deviation from standard baudrates.

Baudrate depends on input clock (SPLB_Clk if PLB register interface, OPB_Clk if OPB register interface or S_AXI_ACLK if AXI4-Lite interface is used) frequency and values written into baudrate (C_BAUDRATE_REG) and sample registers (C_SAMPLE_REG):

baudrate = f(MCLK)/(SAMPLE_REG+1)/(0xfffff-BAUDRATE_REG+1)

For example for baudrate of 115200 bps at MCLK frequency of 48 MHz values in registers has to be:
C_BAUDRATE_REG = 0x0fff75
C_SAMPLE_REG = 0x02

baudrate = 48MHz/3/(0xfffff-0xfff75+1)=115108, error = 0.08%

The most often used baudrates on clock frequency of 100 MHz are given in next table:

Baud rate (bps)

BAUDRATE_REG

SAMPLE_REG

Closest baud rate (bps)

Error (%)

115200

0xFFFC2

0x0D

115207.375

0.006

57600

0xFFF84

0x0D

57603.688

0.006

38400

0xFFF46

0x0D

38402.457

0.006

19200

0xFFE8C

0x0D

19201.229

0.006

14400

0xFFE4E

0x0F

14400.922

0.006

9600

0xFFC4D

0x0A

9599.692

0.003

4800

0xFF89A

0x0A

4799.846

0.003

2400

0xFC9BF

0x02

2399.981

0.001

1200

0xFC9BF

0x05

119.990

0.001

600

0xEBA7B

0x01

600.002

0.000

300

0xF9BD7

0x0C

300.000

0.000

110

0xF1342

0x0E

110.000

0.000

Additional Comments

Copyright © 2017 Xylon d.o.o.