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.

[参考译文] AM6548:UART 至 RS 485转换问题

Guru**** 1947850 points
Other Parts Discussed in Thread: AM6548, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1391011/am6548-uart-to-rs-485-conversion-issue

器件型号:AM6548
主题中讨论的其他器件: SysConfig

工具与软件:

尊敬的 TI:

在我们的定制硬件中、我们有 am6548 Beta 2.0芯片、并使用适用于 Linux 的 SDK 版本8.2。

我们使用2个 UART 端口作为 RS485

1.端口1 ->主 UART 0、AD11的引脚 AF11、AE11和 RTS

2.端口2 ->唤醒 UART、在 AC1上的引脚 AB5、AB1和 RTS  

在 Linux 中、这2个 UART 被枚举为 ttyS0和 ttyS2。  

我正在做回声在1端口和猫在2端口,但我不接收任何在接收器端 内核配置为默认值。

问题:

1.是否需要在串行驱动程序中进行任何更改才能使其适用于485模式?  

2.我可以用485执行 echo 和 cat 命令。 485转换硬件在我们的硬件上。

下面是两个 UART 的 DTS 条目。

 

让我知道我的 DTS 条目是否正确。

请告诉我要做的驱动器更改、以使回声和猫在485模式下从驱动器端工作。

此致、

Sarfaraz

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

    您好、Sarfaraz、

    我查看了您提供的信息、我的第一个问题是、为什么将 MAIN_uart0的器件树电源域从 TI_SCI_PD_Exclusive 更改为 TI_SCI_PD_shared?

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

    感谢 Bin Liu 的连接、这也许可以追溯到 SDK 6、因为我们没有使用其评论中的 RTU 部件。 我将在器件树中进行相同的更改。 您能告诉我2个宏之间的区别吗?  

    其它设备树部分是否适用于 RS485?  

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

    您好、Sarfaraz、

    我没有研究内核代码来了解这两个宏是如何处理的、但我认为它们代表了 SoC、PD_Exclusive 意味着这个电源域(PD)只有一个模块(本例中为 uart0)、而 PD_shared 意味着电源域有多个模块。

    我觉得器件树的其他部分很好。

    如果在更改为 PD_Exclusive 后 RS485仍然不工作、请提供以下命令的输出:

    # dmesg | grep ttys.

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

    刘斌、您好!

    当参数共享时、则检测到两个 COM 端口、但当我将其更改为独占时、则在引导期间不会检测到 UART。  

    Linux 驱动程序是否能够自动处理硬件上的 RTS 信号? 我们是否需要进行任何更改以自动处理此问题?  

    是否有可通过 UART 驱动程序测试485的示例用户级代码?  

    在我们的示例中、RTS 信号在硬件上反相。  

    输出共享字段:  

    [ 0.469484] 42300000.serial: ttyS0在 MMIO 0x42300000 (IRQ = 15、BASE_BAUD = 6000000)是一个8250
    [ 0.470978] 40a00000.serial: ttyS1、在 MMIO 0x40a00000 (IRQ = 17、base_baud = 6000000)是8250
    [ 0.472745] 2800000.serial: ttyS2在 MMIO 0x2800000 (IRQ = 30、BASE_BAUD = 3000000)是一个8250
    [ 0.474006] 2810000.serial: ttyS3在 MMIO 0x2810000处(IRQ = 31、BASE_BAUD = 3000000)是8250
    [ 1.748185] printk:启用控制台[ttyS3]
    [ 1.754138] 2820000.serial: ttyS4在 MMIO 0x2820000处(IRQ = 32、BASE_BAUD = 3000000)是一个8250

    带异域的输出:

    [ 0.469484] 42300000.serial: ttyS0在 MMIO 0x42300000 (IRQ = 15、BASE_BAUD = 6000000)是一个8250
    [ 0.470978] 40a00000.serial: ttyS1、在 MMIO 0x40a00000 (IRQ = 17、base_baud = 6000000)是8250
    [ 0.474006] 2810000.serial: ttyS3在 MMIO 0x2810000处(IRQ = 31、BASE_BAUD = 3000000)是8250
    [ 1.748185] printk:启用控制台[ttyS3]
    [ 1.754138] 2820000.serial: ttyS4在 MMIO 0x2820000处(IRQ = 32、BASE_BAUD = 3000000)是一个8250

    在这里、您可以看到 ttyS2缺少、因为 ttyS0在这两种情况下都存在。  

    此致、

    Sarfaraz  

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

    您好、Sarfaraz、

    请忽略我对 Shard/Exclusive 设置的评论。 我现在看到它在 k3-am65-main.dtsi 中设置为 PD_Exclusive、但随后在 k3-am654-base-board.dts 中更改为 PD_Shard。 我正在研究这一点以了解原因。 但我认为应该设置为 PD_Shard。

    Linux 驱动程序是否能够在硬件上自动处理 rs 信号?

    是的、内核 UART 驱动程序在 RS -485模式下根据发送或接收处理 RTS 引脚。

    是否有任何可通过 rs 驱动程序测试485的示例用户级代码?  [报价]

    我之前在不同的 Sitara EVM 上测试了几次 RS -485、我相信我使用了 Linux-serial-test (https://github.com/cbrake/linux-serial-test.git)、但我不认为我对 RS 使用了 echo/cat、

    由于 echo/cat 不会设置 UART termios、因此请使用 stty 命令检查两个 UART、以确保它们设置为相同的波特率。

    当您执行 echo/cat 命令时、您是否检查过 UART RXD/TXD/RTS 引脚是否按预期切换?

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

    好的、当我使用共享时、Linux 引导中再次检测到 ttyS2端口。 我们是否需要 在 DTS 中使用 RTS-GPIO 属性来控制 RTS 线路?

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

    内核 UART 驱动程序支持基于本机 RTS 或基于 GPIO 的 RTS。 因此、您应该能够使用其中任何一个。

    内核的早期版本在基于 GPIO 的 RTS 控制中有错误、但我认为应该在 SDK8.x 内核中解决该问题。

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

    您好!

    我们尝试了查看有关范围的数据。 发现 RTS 始终卡在传输模式,因为这我们只能传输和不能接收. 使用的情况时会发生什么  类别  命令时、我们发现电压被拖至1V、其中应该是预期的5V。 这与上述 dts 文件搭配使用。 发现了数据表和 TRM 中的一些差异、数据表唤醒 UART RTS 信号被称为正信号、而在 SysConfig 工具中被称为反向信号。 如何知道哪一个是正确的。 即使在 TRM 唤醒 UART 中、也是正信号。  

    此致、

    Sarfaraz

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

    您好、Sarfaraz、

    我不在办公室一周。 我将联系我们的 UART 硬件专家以解答您当前的问题。 当我回到办公室后、我将跟进此主题。

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

    您好、Sarfaraz、

    rs 我们尝试在示波器上查看数据。 发现 RTS 始终卡在传输模式,因为这我们只能传输和不能接收. 使用的情况时会发生什么  类别  命令时、我们发现电压被拖至1V、其中应该是预期的5V。 这与上述 dts 文件搭配使用。 [报价]

    我需要了解有关使用的接口和连接的更多详细信息。 5V 怀疑在来自 SOC 的电平转换之后。

    在数据表和 TRM 中发现了一些差异、在数据表唤醒 UART 信号被称为正信号、而在 SysConfig 工具中被称为反向信号。 如何知道哪一个是正确的。 即使在 TRM 唤醒 UART 中、也是正信号。  [报价]

    请指出您所指的部分。

    此致、

    Sreenivasa

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

    尊敬的 Sreenivasa:

    这是原理图485部分的屏幕截图。

    以了解数据表和 TRM 中的差异  

    数据表:

    TRM:  

    在这里、您可以看到在第1个图像中所有信号都是 RTSn  TRM 中提到的是其中的一些 RTS 有些还可以 RTSn。

    当我使用示波器进行探测时、可以看到 UART 始终卡在发送模式下、无法接收数据。 我们将唤醒 UART 和 MAIN UART 0用于 RS - 485

    此致、

    Sarfaraz  

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

    您好、Sarfaraz、

    我怀疑您可能必须参考下图

    图12-243. RS 到485模式接口信号

    高电平会将收发器置于发送模式。

    [报价 userid="120934" url="~/support/processors-group/processors/f/processors-forum/1391011/am6548-uart-to-vid-485-conversion-issue/5337412#5337412"] rs 电压被拖至1V、应该是预期的5V

    这是隔离器输出。 我怀疑输入可能悬空(IO 未初始化)隔离器输入怎么样?

    我假设这是 SOC 的输出。 IO 上是否有一个电容器。  是否有用于隔离隔离隔离器的输入和测试的配置。

    此致、

    Sreenivasa

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

    您好、Sarfaraz、

    正在检查您是否能够执行某些测试?

    此致、

    Sreenivasa

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

    尊敬的 Sreenivasa:

    我已验证引脚在任何情况下都不悬空。 此外还尝试添加上拉电阻器、只是为了尝试从 Linux 中的器件树中获得同样的观察结果。

    此外,一个观察是,当我传输字符串 RTS 是高和传输完成后,它变得低了短时间和再次高.

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

    您好、Sarfaraz、

    谢谢你。  

    rs 我们尝试在示波器上查看数据。 发现 RTS 始终卡在传输模式,因为这我们只能传输和不能接收. 使用的情况时会发生什么  类别  命令时、我们发现电压被拖至1V、其中应该是预期的5V。 这与上述 dts 文件搭配使用。 发现了数据表和 TRM 中的一些差异、数据表唤醒 UART RTS 信号被称为正信号、而在 SysConfig 工具中被称为反向信号。 如何知道哪一个是正确的。 即使在 TRM 唤醒 UART 中、也是正信号。  [报价]

    根据您的输入、隔离器的输出为1V。 如果输入为0或高电平、我预计这是0或5V。

    我正在尝试了解这是否是软件硬件问题。 ID 硬件不是问题、我必须重新指派给软件专家。

    您能否确认从 SOC 到数字隔离器的 UART 连接在3.3V 和0V 之间切换。   来自 SOC 的 RTS 预计在发送期间为高电平、在接收期间为0。  

     

    此致、

    Sreenivasa

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

    尊敬的 Sreenivasa:

    我们试图在隔离器之前捕获信号、观察结果也是如此。 RTS 线路为低电平大约7.8ms、并在发送完成后再次变为高电平。  

    此致、

    Sarfaraz

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

    您好、Sarfaraz

    谢谢你。

    根据黄色信号的比较、我认为幅值似乎可以。  您能不能测量一下振幅?

    我怀疑没有硬件问题。

    您是否正在检查 RTS 为什么在一段时间后变为高电平?

    当配置了 RS485时、您能否在重置期间确认 RTS 的状态。

    此致、

    Sreenivasa

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

    尊敬的 Sreenivasa:

    我在驱动程序中找不到使 RST 在传输后自动变为高电平的任何内容。

    在引导期间、当 Linux 初始化8250驱动器时、RTS 立即变为高电平。

    启动时启用 Linux、RS485;  加载驱动程序时、器件树中的此节点在引导时启用 UART 上的485。  

    此致、

    Sarfaraz

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

    您好、Sarfaraz

    谢谢你。

    我在驱动程序中找不到任何使 rs 在传输后自动高电平的内容。

    是一致传输数据后的切换时间。

    我可能必须指派一名软件专家。

    请您测量 RTS 振幅并确认我没有重新分配的硬件问题。

    此致、

    Sreenivasa

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

    尊敬的 Sreenivasa:

    我已经验证了无隔离器情况下 RTS 的电压电平。 高电平时为3.3V、低电平时为0V。 但低电平只会保持7.8ms、默认情况下再次变为高电平。  

    此致、

    Sarfaraz

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

    您好、Sarfaraz

    谢谢你。

    让我内部检查并分配给一位软件专家来提供支持。

    此致、

    Sreenivasa

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

    您好、Sarfaraz

    主题专家不在办公室。 请预计响应会延迟。

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

    尊敬的 Anshu:  

    上述问题的任何更新。 您能否告诉我 RTS 线路是否由 AM6548中的 UART 驱动程序自动控制、或者我们是否需要从应用手动控制线路?

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

    您好、Sarfaraz、

    本周我回到办公室、但一直在处理客户生产线中断问题。

    RTS 线路由内核驱动程序在 RS232或 RS485模式下进行控制、对于 Linux 用户空间应用是透明的。

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

    刘斌、您好!

    因为 RTS 应由驱动程序控制并且仅在发送时应为高电平。 我可以看到 RTS 保持在高电平。在本例中、我无法看到 RTS 在 RX 期间变为低电平。  

    我看不出司机控制线路。  

    此致、

    Sarfaraz

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

    您好、Sarfaraz、

    、因为 rs 应由驱动程序控制、并且仅在发送时应为高电平。 我可以看到 RTS 保持在高电平。在本例中、我无法看到 RTS 在 RX 期间变为低电平。  [报价]

    您是否在 WKUP_UART0和 MAIN_UART0上或者仅在 WKUP_UART0或 MAIN_UART0上观察到该 RTS 引脚的行为?

    默认情况下、SDK Linux 将 MAIN_UART0配置为 Linux 控制台。 您是否已将 Linux 控制台更改为板上的其他 UART、以便工程可以将 MAIN_UART0用于 RS485应用程序?

    [报价 userid="120934" url="~/support/processors-group/processors/f/processors-forum/1391011/am6548-uart-to-rs -485-conversion-issue/5365199#5365199"]我看不到驱动程序正在控制线路。  [报价]

    它主要由内核串行框架中的"set_mctrl"回调进行处理。

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

    我可以在两个 UART 上看到 RTS 行为。 我们将 Linux UART2用作控制台 UART、并在所有 uboot 和 Linux 中都进行了相同的更改。 它可以正常工作。  

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

    刘斌、您好!

    您是否可以在 EVM 上重现此 RTS 问题、并测试 RTS 是否仅在发送时为高电平、默认状态下为低电平。  

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

    您好、Sarfaraz、

    是的、我的 TODO 列表中有该条目、请在 EVM 上进行检查。 不过、我目前正在调试两个问题、这两个问题似乎都需要相当大的带宽、因此我认为几周后我不会接触到这方面的信息。

    我们有很多客户在我们的多款处理器上使用 RS -485、但他们都没有报告此类 RTS 行为。

    当您在板上测试 RS -485时、您能否使用开源程序 https://github.com/cbrake/linux-serial-test.git 进行测试 、并使用"-q"选项在 RS -485模式下运行它。

    您可能还需要使用最新的 AM65x Processor SDK (SDKv9.1)进行测试、以查看问题是否仍然存在。

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

    刘斌、您好!

    我之前检查了 serial_core.c 文件、但没有发现任何与 rs485-rts-active-high 相关的内容、似乎没有在8250驱动器中处理此问题。 我发现我的 TI 帖子有类似的问题。  

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/527378/am335x-gpio-based-rts-for-rs -485

    在本例中、还当我将 RTS 设置为 GPIO 线路并手动设置极性时、我能够发送和接收数据、但在驱动器处理 RTS 线路时无效、它只卡在1个方向。  

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

    您好、Sarfaraz、

    我检查了 serial_core.c 文件、但没有发现与 rs 485-rts-active-high 相关的任何内容、似乎8250驱动程序中未处理此问题。

    RS485 RTS 默认为高电平、因此"RS485-RTS-ACTIVE-HIGH"不执行任何操作。 但 serial_core.c 确实处理"rs485-rts-active-low "以更改默认值。

    我发现 i rs 帖子存在类似问题。  [报价]

    这可能是另一个问题。 旧版内核使用 serial_omap.c 驱动程序、但它已不再进行维护、现在使用了8250_omap.c。

    [报价 userid="120934" url="~/support/processors-group/processors/f/processors-forum/1391011/am6548-uart-to-rts-485-conversion-issue/5370211#5370211"]在我的案例中、当我将设为 GPIO 线路并手动设置我能够发送和接收数据的极性时、我也使用了 rs [/报价]

    您是如何通过定义 RTS-GPIO DT 属性或其他内容来"手动"设置 GPIO 极性的? 内核 UART 驱动程序应同时支持基于 GPIO 的 RTS 和本机 RTS。

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

    刘斌、您好!

    是的,我定义了 RTS-GPIOs DT 属性,并使 RTS 线路为 GPIO ,驱动程序没有自动控制线路,但我从/sys/class/gpio 界面手动控制它,并能够发送和接收数据。 看起来当前驱动器无法控制 RTS 线路。

    此致、

    Sarfaraz

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

    您好、Sarfaraz、

    您如何测试 RS485传输? 您是否使用了上面提到的 Linux-serial-test 程序?

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

    您好!

    是的、我在自述文件中提到的回送模式下使用了 Linux 串行测试程序、获得了以下输出。

    /tmp #./linux-serial-test -q -b 9600 -p /dev/ttyS2
    Linux 串行测试应用程序
    /dev/ttyS2:没有收到2.0S 的数据。 不传输2.0s 的数据。
    /dev/ttyS2:没有针对3.0s 接收到数据。 3、0不传输数据。
    /dev/ttyS2:没有收到5.0s 的数据。 不传输5.0s 的数据。
    /dev/ttyS2:6.7秒内未收到数据。
    /dev/ttyS2:8.7秒内未收到任何数据。 3、0不传输数据。
    /dev/ttyS2:9.7s 内未收到任何数据。 4.0不传输数据。
    /dev/ttyS2:没有收到10.7s 的数据。 不传输5.0s 的数据。
    /dev/ttyS2:12.3s 内未收到任何数据。
    /dev/ttyS2:未收到14.3s 的数据。 3、0不传输数据。
    /dev/ttyS2:15.3s 内未收到数据。 4.0不传输数据。
    /dev/ttyS2:没有收到17.0s 的数据。
    /dev/ttyS2:没有收到关于18.0的数据。
    /dev/ttyS2:没有收到19.0s 的数据。 不传输2.0s 的数据。
    /dev/ttyS2:没有收到关于20.0s 的数据。 3、0不传输数据。
    /dev/ttyS2:没有收到21.0s 的数据。 4.0不传输数据。
    /dev/ttyS2:22.7秒内未收到数据。
    /dev/ttyS2:未收到23.7秒的数据。

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

    您好、Sarfaraz、

    如果您按如下方式运行程序以便仅发送一个 char、那么在发送 char 期间、在发送和切换期间、RTS 引脚的电平是否在之前和之后相同?

    ./linux-serial-test -q -b 9600 -p /dev/ttyS2 -y 0x55 -r

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

    刘斌、您好!

    我将尝试这种情况从不测试只有1个字符。  

    我正在检查 IDK 板的默认 DTS 文件、无法找到与其他 UART 类似、用于 wkup UART 的任何 pinmux 设置。 它是否像固定配置、不能更改?

    我可以看到 wkup_i2c 的引脚多路复用、但看不到与 UART 相关的任何内容。

    此致、

    Sarfaraz

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

    您好、Sarfaraz、

    是的、我认为仅通过一个字符传输可以更轻松地在示波器或逻辑分析仪上传输之前、期间和之后检查 RTS 引脚状态。

    对于板、我无法找到与其他 rs 类似的 wkup UART 的任何 pinmux 设置。 [报价]

    电路板器件树仅启用电路板上使用的外设。 WKUP_UART 不用于 EVM 上的 Linux。

    它是否像固定配置、无法更改?

    AM65x 器件数据表中列出了 WKUP_UART 引脚多路复用器。 我看到引脚具有多种模式。

    [报价 userid="120934" url="~/support/processors-group/processors/f/processors-forum/1391011/am6548-uart-to-rs wkup_i2c 的 pinmux-485-conversion-issue/5376960#5376960"]我可以查看 wkup_i2c 的 pinmux [/quote]

    电路板上使用了 wkup_i2c、总线上有器件"pac9554"。

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

    刘斌、您好!

    TI 的 Shashank Kulkarni (FAE)共享了一个针对 AM64XX 的类似观察链接: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1401085/am6442-rs485-driver-support/5363360#5363360

    使用 devmem 命令从命令行设置该位后、RTS 线路由驱动程序进行了正确控制、并且 RS485现在正常工作。  

    命令:  devmem2 0x42300080 w 0x10;devmem2 0x02800080 w 0x10

    这些更改是否计划集成到即将发布的驱动程序中。  

    此致

    Sarfaraz

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

    您好、Sarfaraz、

    [报价 userid="120934" url="~/support/processors-group/processors/f/processors-forum/1391011/am6548-uart-to-rs -485-conversion-issue/5379921#5379921"]

    使用 devmem 命令从命令行设置该位后、RTS 线路由驱动程序进行了正确控制、并且 RS485现在正常工作。  

    命令:  devmem2 0x42300080 w 0x10;devmem2 0x02800080 w 0x10

    [报价]

    该寄存器位用于启用 RS 485的硬件 RTS 控制。 此特性在 SDK8.6中启用、但在 SDK8.2中不启用。

    在不启用该位的情况下、内核 UART 驱动程序假设根据 RTS-485的 TX/RX 方向控制 RS 引脚。 我怀疑存在其他配置不正确的东西。

    无论如何、如果设置该寄存器可以使 RTS 引脚在您的板上正常工作、我建议您转到 SDK8.6内核以使用此硬件 RTS 控制功能。