UART inconsistent operation with different clock sources

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

cross mob
lock attach
Attachments are accessible only for community members.
SaGa_4641021
Level 5
Level 5
50 questions asked 50 replies posted 100 sign-ins

Hi

I am using UAR set at 3Mbps. I use Clock set to Clk_Peri at  48MHz with 16-bits oversampling, I get actual baud of 2985075 and I set the serial monitor on PC at 3Mbps.

If: I use IMO (8MHz) to feed FLL producing 100MHz @ +/-0.6%, I get UART_Clock of 47.761MHz +/-0.6% and the communication works

but,

when : I use ECO (24MHz) to feed FLL producing 100MHz @ +/-0.2%, I get UART_Clock of 47.761MHz +/-0.176% and the communication fails

Also,

when : I use BLE-ECO (24MHz) to feed FLL producing 100MHz @ +/-0.1%, I get UART_Clock of 47.761MHz +/-0.117% and the communication also fails

any explanation why a clock with tighter tolerance leads to a failing serial comm. ?

I attached the working and not working projects for reference.

thanks

 

0 Likes
1 Solution

Hi Ashita

Thanks for replying.

I didn't attach external clocks, I am using the eval board as is.

The connection issues happen when I use 3Mbauds.

There is a single clock setting (freq and oversampling) that works. If I choose a clock and oversampling factor to provide 3Mbauds, the UART block shows for example 2,985,075, and I set the terminal program to 3M, and it works.  If I change this setting even for a smaller error clock, the connection fails. With other clock sources and oversampling  that should yield 3Mb, the UART block shows 3,030,303, and the connection does not work.

View solution in original post

0 Likes
2 Replies
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @SaGa_4641021,

I have been through your attached projects. By default, the CYBLE-416045-EVAL Board does not contain ECO on the board. Can you please tell if you have connected ECO to the board? If yes, what is the frequency of the ECO that you are using? Also, have you been able to program other projects using ECO or you are facing the issue for only this project?

I have tried a demo PSoC Creator Project on a PSoC 62 device which had ECO on the board and with the help of that device, the  communication did not fail. I tried to source UART component with ECO set at the frequency specific to the ECO frequency on board. 

Please let us know your comments to our above query and in case of further  clarification.

Best Regards,

Aashita

 

 

 

 

0 Likes

Hi Ashita

Thanks for replying.

I didn't attach external clocks, I am using the eval board as is.

The connection issues happen when I use 3Mbauds.

There is a single clock setting (freq and oversampling) that works. If I choose a clock and oversampling factor to provide 3Mbauds, the UART block shows for example 2,985,075, and I set the terminal program to 3M, and it works.  If I change this setting even for a smaller error clock, the connection fails. With other clock sources and oversampling  that should yield 3Mb, the UART block shows 3,030,303, and the connection does not work.

0 Likes