This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3356:通过 UART 进行 RS485半双工通信

Guru**** 2473260 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1462628/am3356-rs485-half-duplex-communication-over-uart

器件型号:AM3356

工具与软件:

您好!

我的客户询问是否可以将 UART 配置为半双工模式以进行 RS485通信。
RS485需要 ENB 信号(输出使能信号)、客户想知道 nRST 信号是否可以用作 ENB。

谢谢。此致、
田代浩一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tashiro-San:

    客户是否在 AM335x 上运行 Linux? Linux UART 驱动程序支持将 UART RTS 引脚用作 RS485 DE 引脚。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    客户使用 Linux SDK。 您能否提供有关以下功能的更多信息?

    Linux UART 驱动程序支持将 UART RTS 引脚用作 RS485 DE 引脚。

    客户可以猜到以下情况。 是否可以确认?
    a) UART 可由硬件配置为半双工。
    b) RTS 信号可由硬件配置为输出使能。
    c) UART 驱动程序通过软件控制 RTS 信号。
    d)其他

    客户还想知道 UART 寄存器配置以支持上述特性。

    谢谢。此致、
    田代浩一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tashiro-San:

    客户使用 Linux SDK.

    哪个版本?

    a) UART 可通过硬件配置为半双工。
    b) RTS 信号可由硬件配置为输出使能。
    c) UART 驱动程序通过软件控制 RTS 信号。[/QUOT]

    对全部3个问题都回答"是"。

    客户还想知道 UART 寄存器配置可支持上述特性。

    客户不需要知道寄存器、由 UART 驱动程序处理。 唯一需要做的是在相应的 UART RXD/TXD 引脚多路复用组中添加 RTS 引脚多路复用。 然后、在 Linux 用户空间程序中、在调用 TIOSERRS485 ioctl 时设置 SER_RS485_ENABLED。

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    [报价 userid="7730" url="~/support/processors-group/processors/f/processors-forum/1462628/am3356-rs485-half-duplex-communication-over-uart/5613536 #5613536"]
    a) UART 可由硬件配置为半双工。
    b) RTS 信号可由硬件配置为输出使能。
    c) UART 驱动程序通过软件控制 RTS 信号。

    对全部3个问题都回答"是"。

    [报价]

    客户对上述答案感到困惑。
    a)和 b)意味着 UART 硬件具有将 RTS 引脚用作 DE 引脚的功能。
    另一方面、c)意味着 RTS 引脚由软件控制、即 HW 没有此功能。
    哪一个是正确的?

    谢谢。此致、
    田代浩一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tashiro-San:

    很抱歉混淆。

    在 Linux 中、内核 UART 驱动程序控制 RS485 DE 的 RTS 引脚。 AM335x UART 模块本身并不了解 RS485。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    在 Linux 中、内核 UART 驱动程序控制 RS485 DE 的 RTS 引脚。 AM335x UART 模块本身不了解 RS485。

    我明白了。 谢谢!

    [报价 userid="7730" url="~/support/processors-group/processors/f/processors-forum/1462628/am3356-rs485-half-duplex-communication-over-uart/5613536 #5613536"]
    客户使用 Linux SDK。

    哪个版本?

    [报价]

    它们的版本是05.01.00.11、这是一个有点旧的版本。
    您能否确认 RS485在此版本中提供支持?

    谢谢。此致、
    田代浩一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tashiro-San:

    他们的版本是05.01.00.11、这是一个有点旧的版本。
    您能否检查 RS485支持在此版本中可用?

    抱歉、不再支持这个旧的 SDK。 确认其内核在支持 RS485方面是否存在任何错误非常重要、我无法向 SDK5.1提供备注。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    我知道版本是旧的、不再支持。
    但我想仍然可以检查 RS485支持是否已在该版本中实现。
    您能检查一下这个点吗?

    谢谢。此致、
    田代浩一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tashiro-San:

    检查 SDK5.1内核是否支持 RS485可能并不费力、但仅通过查看内核源代码就可以判断驱动程序在 RS485支持方面是否存在任何关键错误并不容易。

    如果客户只想知道 SDK5.1是否支持 RS485、我可以明天下载并查看其内核代码、让您了解。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tashiro-San:

    检查 SDK5.1内核中的8250_omap.c 和8250_port.c 内核驱动程序、似乎支持 RS485。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    非常感谢!

    谢谢。此致、
    田代浩一郎