- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
I had designed UART Baudrate 115200.
and It's actual baud rate is 117647.
I had checked 1 bit time.
8.57us. It is 116686 bps.
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
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks
I had changed oversampling 12->8.
I got the 115385bps at 24Mhz IMO.
Regards,
sunghun noh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Hari
I'm using CY8C4124LQI-443.
there is no WCO function.
the IMO Frequency accuracy is +-2%.
Is that mean the baudrate accuracy is +-2%?
Regards,
Sunghun noh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can drop the oversample in the UART component to 8. This would allow you to get closer to 115200.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks
I had changed oversampling 12->8.
I got the 115385bps at 24Mhz IMO.
Regards,
sunghun noh