UART Baudrate accuracy

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
suno_285741
Level 3
Level 3
10 sign-ins 10 replies posted First solution authored

Hello

I had designed UART Baudrate 115200.

and It's actual baud rate is 117647.

pastedImage_0.png

I had checked 1 bit time.

8.57us. It is 116686 bps.

pastedImage_3.png

PSoC4 has 2.5% Internal oscillator acuraccy.

Question 1 : Is that 117647bps always success UART communication for all temperature condition?

                    The opposite MCU has an oscillator attached. So the opposite MCU sends and receives UART exactly.\

Question 2 : Can I make UART baurate more accurate?

Regards,

sunghun noh

0 Likes
1 Solution

Thanks

I had changed oversampling 12->8.

I got the 115385bps at 24Mhz IMO.

Regards,

sunghun noh

View solution in original post

0 Likes
6 Replies
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi suno_285741

Please let me know which kit you are using. You can trim the IMO using WCO if a WCO is present on the board. This will increase the accuracy and as a result, the UART baud rate will also be improved.

pastedImage_0.png

Additionally, you can use an external clock (ExtClk) which has a higher accuracy and use it as the source to UART to obtain an increased accuracy for UART.

Best regards

Hari

0 Likes

Hello Hari

I'm using CY8C4124LQI-443.

there is no WCO function.

pastedImage_0.png

the IMO Frequency accuracy is +-2%.

Is that mean the baudrate accuracy is +-2%?

Regards,

Sunghun noh

0 Likes

You can drop the oversample in the UART component to 8. This would allow you to get closer to 115200.

0 Likes

I experienced UART frequency errors due to the divider from the system clock. Especially at higher UART baud rates the frequency offset can become larger than 5%, Solution is to select  a system clock value that is a whole multiple of the required UART clock frequency (or as near as you can get to).

Bob

0 Likes

If you follow Bob's suggestion, I believe the closest you can get to 115200 is to set the System Clock at 19 MHz, and the oversample at 11. You will get at 115152 bsps.

0 Likes

Thanks

I had changed oversampling 12->8.

I got the 115385bps at 24Mhz IMO.

Regards,

sunghun noh

0 Likes