LPC546xx uart RxNoise

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC546xx uart RxNoise

1,050 Views
de_sach
Contributor I

Hi,

I have been struggling with a RxNoiseInt when using UART on a LPC54607.

I use the FLEXCOMM2 peripheral with a clock from the kFRO12M.

At a certain point in my communication (can be 5 messages, can be 10000+ messages), a rxnoiseint is generated.

However when I measure the signal with the scope I see less than 1% offset in baud rate.

When calculating the clock the baudrate is 19.2kHz ((12 MHz / oversample rate) / BRG divide = (12Mhz / 16) / (38+1) = 19231 Hz

So when oversampling 16 times I don't expect a noise error when the baudrate is 19231Hz.

The device I'm communicating with receives the messages I sent and answers on the messages without an error.

At the point I receive the noise interupt i disable the peripheral and reïnitialize it. The config registers of the USART2 peripheral are initialized to the same values after the reset. At this point it can send a message which is received correctly in the target. However when the LPC54607 receives a message the peripheral keeps setting the rxnoiseint flag.

Labels (2)
0 Kudos
3 Replies

919 Views
de_sach
Contributor I

After further investigation of the issue it was the internal FRO that was changed.

Setting the USBCLKADJ bit made the system react to interference which made the clock drift.

The FRO_12MHz drifted 40kHz every time a load was turned on.

The trim value changed when a load was switched, even though it should only change on USB SOF packets.

When a usb cable was inserted, the calibration seemed to hold the clock still, but when the cable was removed, the clock started drifting again.

However I didn't find any note in the User Manual that the USBCLKADJ bit might influence the clock speed when no usb packets were being received.

0 Kudos

919 Views
de_sach
Contributor I

Hi,

We can indeed disregard the noise error bit since we use a crc on our communication.

However it still seems strange to me that a less than 1% deviation in clock speed would cause a noise error, especially since  we oversample 16 times. I would expect the three middle samples to all be equal and the correct value.

Is this a known issue of the LPC54607 or do you suspect something else is going on?

0 Kudos

919 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Sach,

If the communication is okay for the transmitter and receiver, pls do not care about the receirving noise. You can disable the receiving noise by clear the RXNOISEEN(bit 15) in INTENSET register in FlexCOMM module.

Regarding the cause of the receiving noise, I suppose that the baudrate mismatch leads to the issue. If you have time, you can connect the Tx to Rx in the same FlexComm  module, then check the USART Status register.

Hope it can help you

BR

XiangJun Rong

0 Kudos