Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: Confirmed: U1DLL = 0x01 does not recieve on LPC2148 using fractional divisor

2005-11-03 by rtstofer

You baud rate error is on the order of 1.7%.  That the PC will 
accept it is to its credit.  That the LPC won't is not a surprise.  
Assuming your PCLK is as accurate as you hope - have you checked it 
with a frequency counter?

The examples in the user manual have errors around 0.06%

Further, you may not be sending EXACTLY 115200 from the PC.

This is not to say I have any idea about how to resolve the issue.  
I just noted the huge difference in % error versus the user manual.

Richard



--- In lpc2000@yahoogroups.com, "jp_thrower" <jp_thrower@y...> wrote:
>
> This post is a followup to my original post number 9985.
> 
> When U1DLL = 0x01, U1DLM=0x00, and is used with the fractional 
divisor
> U1FDR to set the baudrate, the device properly transmits at the
> assigned baudrate, but does not receive at the assigned baudrate.
> 
> I have conducted a series of elementary tests using the frequency
> 117187 and a PC com port terminal set to 115200 baud.  The program
> (genesis from Keil's example to give credit) transmits characters 
from
> the LPC2148 to the PC, reads characters from the PC, and echos them
> back to the PC.
> 
> The frequency 117187 can be acquired with multiple settings using 
a 12
> MHz clock, or 15 MHz PCLK:
> 
> UART_baudrate = PCLK/(16*(16*U1DLM+U1DLL)) * (MulVal/
(MulVal+DivAddVal))
> 
> U1DLL, MulVal, DivAddVal, Equation
> 0x01    0x1        0x7    117187 = 15000000/16/(1)*(1/8)
> 0x02    0x1        0x3    117187 = 15000000/16/(2)*(1/4)
> 0x03    0x9        0xF    117187 = 15000000/16/(3)*(9/24)
> 
> In each case, the tranmit of characters worked fine, but in the 
case
> of 0x01, the receive characters were garbled.
> 
> I do have set U1FCR |= 0x01, which the manual says is required for
> correct operation.
> 
> Is there an errata on this?  Does UART0 have the same issue?
> Is there a way around this that I don't know?
> This is important to me because I have to work with 500000 baud
> signal, and U1DLL=1 seems like my only option without swapping 
crystals.
> 
> JP
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.