I'm unsure how close to the hardware you're working, but it looks like the 
UART baud rate generator is using 13x oversampling when you were expecting 
16x oversampling.  This is controlled by MODESELECT field in the UART's 
MDR1 register.

So long as you're using the standard internal clock rates, the UARTs take a 
48MHz clock as input, divide that down by the divisor you provide (UART 
registers DLH and DLL), then use the resulting clock to oversample each 
pixel period by either 13x or 16x.  Since you are trying to get 1Mbaud, a 
divisor of 3 with 16x oversampling would get you there.  It appears as if 
you have a divisor of 3 with 13x oversampling producing approximately 
1.23Mbaud.

One small change and you may be good to go.

On Friday, June 6, 2014 5:45:39 PM UTC-7, Charles Kerr wrote:
>
> I setup my serial ports on the BBB to have a 1Mbaud rate.  However, when I 
> look at the output on the logic analyzer, I see the baud rate is more like 
> 1.214 MBaud.   This of course is too much deviation for my serial 
> transmission to sync  up.  I tried setting a custom baud rate, and that 
> just fails completely.  I wanted to use all four uarts.  If I need to, I 
> could bit bang it from the PRU (but then limit myself to two versus four). 
>  Is there a way to setup a more accurate baud rate on the BBB? 
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to