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.

[参考译文] TMS320F28377S:BiSS 库、忙时被阻止...

Guru**** 2470160 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1039138/tms320f28377s-biss-library-blocked-when-busy

器件型号:TMS320F28377S

您好!

我正在使用 F28377上的 BiSS C 库来获取电机反馈 biss 的位置。

我发现有问题的行为。

在正常时间内、在第一个时钟上、BiSS 反馈拉至线路的 GND。 这是"忙"时间。

当反馈准备就绪时、它将线路置于逻辑电平1。 这意味着"开始"位...

但是、如果由于任何原因使繁忙时间保持很长的时间(EMI 扰动、线路短路等) biss 库始终等待线路变为高电平(等待起始位)。

然后始终生成时钟、而反馈需要时钟暂停以重置其过程并重新启动。

我们是否可以设置允许 biss 库停止时钟并中止传输的最大超时?

目前、中止是在我们调用 PM_Bissc_setupNewSCDTransfer 时完成的、但我们需要软件机制。

在该传输中止后、它们是否是指示最大忙时钟的一种方法?

此致

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

    设置看门狗是否起作用?  如果未定期保养、则系统超时。  看门狗(或 CPU 定时器等其他定时器)可以中断 CPU、然后 CPU 可以中止传输。

    Lori

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

    您好!

    这可能是一个工作循环、但看门狗不允许配置特定时间、它是预先确定的时间。

    我认为最简单的方法是将此超时执行到 BiSS 库中、

    但库由 TI 作为.lib 对象提供。

    是否可以访问源代码进行修改?

    正在等待

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="209440" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1039138/tms320f28377s-biss-library-blocked-when-busy/3844470 #3844470"]这可能是一个工作循环,但看门狗不允许配置特定时间,它是预先确定的时间。

    您好!

    看门狗计数器是不可配置的。  但是、计数器前面有一个可配置的预分频器。  这可能会产生可接受的超时。  

    如果没有、则考虑使用 CPUTimer 在特定超时中断 CPU。  可以围绕对 BiSS-C 库的调用启用/禁用计时器。

    此致

    Lori

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

    好的、但在 CLB 块中执行计数器以停止序列会更容易、而不是使用更多的 CPU 资源。 !?