The baud rate may be off by 1.7 %, however the PC still communicated correctly when I used the exact same baud rate, 117187, from other register configurations (as reported U1DLL= 0x02, 0x03). Furthermore, the behavior of the receiver not working when U1DLL=0x01 is consistent with screwy behavior I got at 500000 baud. I reported on that in posting # 9985. I have worked around my issue by doubling the PCLK (it was going at 1/4 CCLK) and using a U1DLL=0x02. In this particular case it doesn't seem to cause too many additional issues. Regardless, the phenomenon seems like an error in intended operation. JP --- In lpc2000@yahoogroups.com, "rtstofer" <rstofer@p...> wrote: > > > 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 > > >
Message
Re: Confirmed: U1DLL = 0x01 does not recieve on LPC2148 using fractional divisor
2005-11-03 by jp_thrower
Attachments
- No local attachments were found for this message.