UART Baud Rate

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

cross mob
ScEn_283436
Level 5
Level 5
5 sign-ins First solution authored 100 replies posted

Hi,

   

I'm programming the UART to do 921,600 baud and seem to be having issues with the upper nibble on values. The \r comes through fine but anything with ones in the upper nibble either gets shifted left or an extra binary one added.

   

'l' should be 0x6C, is 0xCC

   

'=' should be 0x3D, is 0x7D

   

'1' should be 0x31, is 0x71.

   

There is a warning about the UART_IntClock's accuracy not being within tolerance. I tried going from 16X over sampling back to 8X, which changed the clock's value but it still have the same value. Also tried 2 stop bits.

   

Any ideas or known solutions?

   

Nick

0 Likes
2 Replies
ViDv_264506
Level 5
Level 5
50 sign-ins 25 sign-ins 5 solutions authored

 Hi, 

   

may be this discussion can help you.       http://www.cypress.com/?app=forum&id=2232&rID=93505

   

Similar results I have found on 050B kit at 115200 Baudrate with SwTxUART with Instruction Cache Disabled

   

Regards, 

   

Viktor

0 Likes
ScEn_283436
Level 5
Level 5
5 sign-ins First solution authored 100 replies posted

Thanks Viktor. I think I read that thread when I first started working with the UART. At this point I'm considering configuring some form of an external clock source to the get to 921,600. It makes sense that what I'm seeing shows up in the upper nibble as the accumulated tolerance stacks up across a byte.

0 Likes