EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

LPC17xx Mbps baud rate limitations?

Started by nave...@yahoo.com February 1, 2013
Hi,
I am working on a project using the LPC1754 that requires UART interface to a peripheral at 3.6864Mpbs. I have earlier done a dozen or so projects using the LPC17xx family and I knew I could generate pretty much any baud rate using the fractional baud rate generator, but just wanted to do a quick check on the max. limits. I found this on the datasheet "Maximum UART data bit rate of 6.25 Mbit/s.", felt satisfied with myself and went ahead to design the PCB based on the LPC1754. After building a prototype I feel how stupid I was to take things on face value.

There are some caveats to the UART fractional baud rate generator & it cannot generate baud rates higher than 3.125Mbps when in use. The 6.25Mbps advertised is only possible when fractional baud rates are not used. Now, I thought, what the heck? I'll not use the fractional baud rate generator, so I'm just gonna use a crystal with that special value which is a multiple of 1.8432 (used for generating standard baud rates). Then to my utter disgust I realize that even with this crystal value, I cannot generate the 3.6864Mbps unless I run the core at a speed of 16x that value meaning I'm running at just over half the rated speed or 32x times that value meaning overclock it! Or am I wrong? Is there a way to achieve this baudrate operating at near max. speed without overclocking or going for the more expensive 120MHz LPC1759 part?

I had pretty much given up, but thought, wait a minute, let me talk to more nerdy people than myself and find out! So guys, do you agree with my findings or is there a clever workout?

An Engineer's Guide to the LPC2100 Series

On Fri, 01 Feb 2013 09:28:53 -0500, you wrote:

>Hi,
>I am working on a project using the LPC1754 that requires UART interface to a peripheral at 3.6864Mpbs. I have earlier done a dozen or so projects using the LPC17xx family and I knew I could generate pretty much any baud rate using the fractional baud rate generator, but just wanted to do a quick check on the max. limits. I found this on the datasheet "Maximum UART data bit rate of 6.25 Mbit/s.", felt satisfied with myself and went ahead to design the PCB based on the LPC1754. After building a prototype I feel how stupid I was to take things on face value.
>
>There are some caveats to the UART fractional baud rate generator & it cannot generate baud rates higher than 3.125Mbps when in use. The 6.25Mbps advertised is only possible when fractional baud rates are not used. Now, I thought, what the heck? I'll not use the fractional baud rate generator, so I'm just gonna use a crystal with that special value which is a multiple of 1.8432 (used for generating standard baud rates). Then to my utter disgust I realize that even with this crystal value, I cannot generate the 3.6864Mbps unless I run the core at a speed of 16x that value meaning I'm running at just over half the rated speed or 32x times that value meaning overclock it! Or am I wrong? Is there a way to achieve this baudrate operating at near max. speed without overclocking or going for the more expensive 120MHz LPC1759 part?
>
>I had pretty much given up, but thought, wait a minute, let me talk to more nerdy people than myself and find out! So guys, do you agree with my findings or is there a clever workout?

There are some restrictions, ISTR it affects Rx more than Tx, as Rx needs a baud x16 clock.
This can confuse experimentation as tx is the easiest to test but has fewer constraints.

From memory I think the issue is you need be able to get to baudrate x 16 without using fractional
division, but anything slower can use the FDR.
So you can do 6.25Mbaud at 100MHz clock
You should be able to do 3.6864Mbaud using a 58.9824MHz clock

I've used 3.75Mbaud reliably on an LPC1313 at 60MHz


The 2024 Embedded Online Conference