Is it RS485 supported with i.MX6 ?

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

Is it RS485 supported with i.MX6 ?

5,765 Views
marcocavallini
Contributor V

I am using a linux kernel-3.10.17 and I'm trying to communicate using UARTS on a i.MX6S CPU.

I am using RS485 adapters and the problem is that the RTS signal is always high when I transmit and receive.

I noticed that this is a FAQ in the community website but there is no answer neither solution.

I wonder if the RS485 protocol is currently supported or not.

Thank you.

Labels (6)
Tags (1)
0 Kudos
7 Replies

2,246 Views
igorpadykov
NXP Employee
NXP Employee

Hi Marco

current driver doesn't support RS485 mode, it may be useful

link below

i.MX6 UART Driver and RS485 Support

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,246 Views
marcocavallini
Contributor V

Hi Igor,

Thank you, I had already seen that link, unfortunaltely it manages the CTS signal but RS485 need to move the RTS as well suring the transmission.

Reading the datasheet I noticed that i-MX6 is not able to drive the RTS internally, so the only way that I see is to manage RTS as regular GPIO from inside imx.c

Do you know a better solution?

Best regards,

Marco

0 Kudos

2,246 Views
EricNelson
Senior Contributor II

Hi Marco,

Uwe Kleine-König recently pushed patches to the main-line driver for the i.MX UART to support RS-485 transmit-enable using the RTS line:

     https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/drivers/tty/serial/imx.c?id=...

2,246 Views
marcocavallini
Contributor V

Hi Eric,

thank you for this hint, it looks promising.

Do you know to which kernel version does it apply to?

0 Kudos

2,246 Views
EricNelson
Senior Contributor II

Hi Marco,

You can use the navigation links in the git URL above to get a picture of the tree as of that commit, and if you navigate to the top level Makefile, you'll see that it was applied after 4.0.0-rc2:

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Makefile?id=17b8f2a3fdca29a9b2...

0 Kudos

2,246 Views
marcocavallini
Contributor V

Hi Eric,

I adapted that patch to my imx kernel-3.10.17.

Unfortunately it doesn't drive the RTS down during transmission, I think this is a lack in the CPU logic.

0 Kudos

2,246 Views
igorpadykov
NXP Employee
NXP Employee

Hi Marco

IMX6DQRM sect.64.13.2 Programming the UART in 9-bit RS-485 mode

shows RS485 programming, I believe there is no better solution.

In general it is possible to use GPIO to control RS-485 output driver.

Best regards

igor

0 Kudos