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.

[参考译文] TMS570LS0332:对于黄色框中的内容、我们可以根据客户需求更改何种方式?

Guru**** 2390755 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1339908/tms570ls0332-for-the-content-in-the-yellow-box-what-means-can-be-changed-according-to-customer-needs

器件型号:TMS570LS0332
主题中讨论的其他器件:HALCOGEN

对于黄色框中的内容、可以根据客户需求更改何种方式?

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

    嗨、xiaofu:

    请参阅以下主题:

    (+) TMS5700332:CAN 定时配置--采样点-基于 Arm 的微控制器-内部论坛-基于 Arm 的微控制器-内部- TI E2E 支持论坛

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 Jagadish,谢谢您的回复。

    我还有一个问题。 您可以建议如何修改 CAN 总线错误的 阈值吗?

    因为 TMS570无法触发 BUSOFF。 我们需要修改 阈值来尝试它。

    另一个建议也是值得欢迎的。

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

    再添加一条信息。 CAN PHY 为 TCAN 104x。

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

    尊敬的 Frank:

    我还有一个问题。 您可以建议如何修改 CAN 总线错误的 阈值吗?

    因为 TMS570无法触发 BUSOFF。 我们需要修改 阈值来尝试它。

    [/报价]

    没有任何寄存器来调整错误的阈值水平。

    根据 TRM、CAN 总线错误的大规模发生会导致总线关闭。

    --

    谢谢。此致、
    Jagadish。

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

    感谢 Jagadish、

    是的、CAN 总线错误的大规模发生将导致总线关闭。

    ,我们遇到了一个问题。  在 CAN 总线中、有许多错误计数器、例如32Bytesx8x2、而我的系统仅捕获了32Bytesx8x1。

    因此、CAN 总线错误和 CAN 总线关闭时间 mmath 与 CAN 总线真的会发生。

    您可以建议如何检查这种异常情况吗?

    以及如何 在 TMS570系统中获取 CAN 总线错误时间。 有适合它的 API 吗?

    其他该调试程序指南中找到?

    非常感谢您的建议。

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

    另一个问题是在上面的 图形界面中,配置未生效。

    并使用 API 对其进行配置、看起来可以正常工作。 如 采样率。

    这有什么问题?

    谢谢。

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

    有更新吗? 谢谢。

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

    尊敬的 Frank:

    基本上、CAN 位周期可细分为四个时间段。 每个时间段由多个时间份额(tq)组成。 时间份额是所有配置值的最小时间单位。 时间份额(tq)由波特率和 BRP 决定。

    时间份额 tq:(BRP+1)/CAN_CLK

    量子数量:CAN_CLK /[波特率*(BRP+1)]

    对于给定的波特率、时间份额的数量和段长度(Tseg1、Tseg2)有多个选项。 HALCoGen 只提供一个选项、而这可能并不是您应用的最佳选择。  

    段的数量无法从 HAL GUI 中更改、但您可以在 HAL 生成的源文件中更改它们:can.c

    有两个错误计数器:TX 错误计数器和 RX 错误计数器。  当发送错误计数高于255时、发生总线关闭。 每当节点无法传输帧时、它会增加错误计数器、当计数器计数增加到超过255时、该节点就会进入总线关闭状态、并且无法进一步参与总线。

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

    感谢您的回复。 我现在可以了解这些基本知识。

    但是、从何处可以获取该程序指南来进行类似"段数"的修改。

    即使我拥有 can.c 和 can.h 源代码、但我没有寄存器数据表或程序指南。

    最后一个问题是、如果错误计数器不是 math 与总线通信、接下来该怎么做?

    非常感谢。

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

    您可以将时间段编程为 CAN 计时寄存器:

    canREG1->BTR &= 0xFFFF003F;

    canREG1->BTR |=(TSeg2 <<12U)| (TSeg1 <<8U)| (SJW <<6U);

    用于触发 CAN 总线关闭的发送错误阈值不能更改。  

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

    感谢您的大力支持。

    该修改对于采样率提高似乎很有用。

    另一个问题是、错误计数器、我们得到的错误 math 在总线上发生了什么。

    我该如何检查?  

    非常感谢

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

    有两个错误计数器:TX 错误计数器和 RX 错误计数器。

    仅当 TX 错误计数器达到255时、才会触发总线关闭。 总线上的错误来自不同的节点。