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.

[参考译文] PROCESSOR-SDK-AM62X:AM62X 主域超时寄存器

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1510656/processor-sdk-am62x-am62x-main-domain-timeout-register

器件型号:PROCESSOR-SDK-AM62X

工具/软件:

您好、

我正在使用超时寄存器在 ECU 上获取以时间分隔的消息。 根据 TRM  1、寄存器值的单位为1个波特周期。 但当我根据每个位时间进行计算时、我观察到错误的超时。 例如、波特率9600 39位或超时值应该会提供4.01ms 的超时时间、但我得到的时间是3.5ms。  超时寄存器是否有任何已知错误。

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

    尊敬的 Chetana:

    您的问题将发送给我们的 UART 硬件专家以征求意见。

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

    您好 Chetana、

    谢谢你。

    您能分享一下计算和配置吗?

    此致、

    Sreenivasa.

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

    您好 Sreenivasa、

    对于9600波特率、1位的时间将为1/9600 = 1.04166e-4、对于39 (超时值)位、应该是4.01ms 超时?

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

    您好 Chetana、

    谢谢你。

    请详细添加您所参考的 TRM 中的一节、您如何测量超时以及所使用的软件开发环境。

    此致、

    Sreenivasa.

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

    您好 Sreenivasa、

    我指的是  

     我正在使用 PicoScope 示波器测量2条消息之间的超时。 具有定制超时寄存器的 TI SDK Linux。 对于9600波特率、我将超时 值保留为39。 因此、根据9600波特率、39个波特周期应该会得到4.01ms 的定界符、但得到的值是3.5ms。

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

    您好 Chetana、

    谢谢你。

    您能尝试几个额外的波特率并告诉我您观察到的结果吗?

    2,400,4800和19200

    此致、

    Sreenivasa.

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

    无法测试2400、但对于4800、它有39个波特周期、得到的波特率是6.8ms (而不是8ms)

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

    您好 Chetana、

    谢谢。

    我在内部进行检查并进行更新。

    此致、

    Sreenivasa.

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

    您好 Chetana、

    我将指派给软件专家支持。

    此致、

    Sreenivasa.

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

    您好  Chetana、

    您遇到了 AM62x 处理器的 UART 超时行为的已知问题。

    具体而言、观察到的实际超时在 AM62x 处理器器件修订版本1.0勘误表中解决、该勘误表记录为问题 i2310。  

    发出 i2310:错误地清除/触发超时中断

    https://www.ti.com/lit/er/sprz487f/sprz487f.pdf?ts = 1747204587297&ref_url=https%253A%252F%252Fwww.google.com%252F

    说明:
    当读取接收器保持寄存器(RHR)、调制解调器状态寄存器(MSR)或线路状态寄存器(LSR)时、UART 模块可能会错误地清除或触发超时中断。  

    权变措施:
    要缓解此问题、请执行以下步骤:
    1.设置高超时值:
    将 TIMEOUTH 和 TIMEOUTL 寄存器配置为高值以防止过早发生超时中断。
    2.启用周期性超时模式:
    将 EFR2寄存器的位6设置为1可将超时行为切换到周期模式。
    3.清除中断:
    读取中断识别寄存器(IIR)以清除任何挂起的超时中断。
    4、恢复原稿超时模式:
    将 EFR2寄存器的位6复位为0可恢复到原始超时行为。

    此致、

    Anil.

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

    尊敬的 Swargam:

    我们已经遵循了您提到的权变措施、没有点击循环、但仍然有小误差影响超时值  

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

    您好 Chethan、

    您是如何实施解决方法的? 您能否分享详细信息?

    您是否在 A53内核或任何其他内核(DM 或 M4F)上实现了此功能?

    如果您在 A53内核上执行此功能、请说明您正在使用哪种操作系统?

    此致、

    Anil.

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

    尊敬的 Swargam:

    我们的实施方式与您提到的相同。 我们正在使用 Linux 操作系统评估它 A53内核。

    谢谢

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

    您好 Chethan、

    如果您共享所做的代码更改、这有助于查看代码更改。

    我正在将您的查询转至 Linux 专家、以便对您的问题进行评论。

    此致、

    Anil.