RS485 Frame Errors

My application uses RS485 for the physical layer.

I am able to send requests, but I rarely receive the associated responses. When my device receives any response, it does it sometimes 2 or 3 times and then causes a frame error.

I use the following communication parameters:
Baud rate = 19200
Parity = even
Data bits = 8
Stop bits = 1

The receiver I am using is communicating well with other devices.

I have read about the weak DMA-implementation and therefore deactivated it by using “setenv defargs ‘${defargs} fsl_lpuart.nodma=0’”. This does not solve the problem.

I suspect that the RTS timing control is not working properly.

hi @ustorts

Could you provide the version of the hardware and software of your module?
Which carrier Board are you using?

I am able to send requests, but I rarely receive the associated responses. When my device receives any response, it does it sometimes 2 or 3 times and then causes a frame error.

What is your device? Could you provide some Information about you use-case?

The receiver I am using is communicating well with other devices.

Which devices and which receiver are you using?

I suspect that the RTS timing control is not working properly.

Why do you think this?

Best regards,
Jaski

The carrier board is an own development, that uses the ST1480AB transceiver.

The kernel version is 4.4.39-dirty and the hardware Colibri VF61.

What changes have you done to the kernel? Could you provide your kernelconfig (.config)?

Could you please provide some help for this issue?

Hi @ustorts

Sorry that nobody answered that long.
@jaski.tx will try to reproduce your issue on Monday.

Best regards,
Philippe

The only change is the following.

CONFIG_RTC_DRV_PCF8563=m

link text

hi @ustorts

I am going to reproduce the issue. I just need some Information:

  • Did you check this site and configured RS485 correctly?
  • Could you provide a schematic of your RS485 connection to the module?

For disabling DMA, you could use this.

Best regards,
Jaski