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.

[参考译文] TMDSCNCD28379D:具有多个控制器的实时 PWM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1353353/tmdscncd28379d-realtime-pwm-with-multiple-controller

器件型号:TMDSCNCD28379D

我想生成一个具有多个 C2000控制器的实时 PWM。

对于 TMDSCNCD28379D、是否有使用串行通信的好方法可以做到这一点?

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

    你好,大卫!

    您能帮助 进一步说明您想做什么吗? 这里使用 SCI 的原因是什么?

    您是否是指您正在尝试从一个 C2000向另一个 C2000发送数据、并让其他器件根据通过 SCI 发送的数据更新 ePWM 信号?

    此致、

    艾里森

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

    您好,Allison!

    我想将包含计算得出的 PWM 信号的数据发送到 C2000、由 C2000将数据发送到另一个 C2000、以此类推。 微控制器应该从数据输出 PWM。

    控制器输出的 PWM 信号相互同步非常重要。

    此致、

    大卫

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

    尊敬的 David:  

    您是说您想要将 SCI 数据线用作 PWM 信号吗? 或者需要与 PWM 使用的信息进行通信? 只是想确保我解释的措辞是正确的!

    这篇过去的帖子是否描述了与您类似的情况?  https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/844385/tms320f28379d-use-output-of-epwm-and-synchronize-them 

    您需要利用外部同步源(EXTSYNCIN)选项来跨器件同步 PWM。  

    此致、

    艾里森

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

    您好 Allion:

    感谢您的留言。 是的、正如 David 已经说过的、我们想要传达 PWM 所使用的信息。 此外、由于每个控制器之间存在高压隔离、因此通过光纤线路进行通信。 因此、还应与通信线路进行同步、而不是与 EXTSYNCIN 信号上的额外光纤线路进行同步。

    我们还计划使用 F28388、并提供使用 EtherCAT 的选项。


    您是否有与通信线路同步的解决方案?


    此致、

    帕特里克

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

    Patrick、您好!

    1. 是否需要多次同步? 还是只在通信开始时发生一次?
    2. 您计划使用哪种通信协议?  
    3. 所有 C2000外设器件是否都同时接收控制器器件的传输? 或者、每个器件接收到通信信号时之间是否存在一些非确定性延迟?

    一个想法是利用 XBAR 和 CLB。 默认情况下、您可以让输入 XBAR 读取通信线路读数空闲、并将其设置为初始 CLB 状态机(例如状态0)。 一旦空闲通信线路变为有效状态、CLB 就可以检测到这一点并进入 ePWM 启动的另一状态(例如状态1)。 如果通信传输同时发送到所有器件、则 ePWM 将同步。  

    您还可以考虑更改光纤 GPIO 的 GPIO 设置以 使用输出 XBAR (EXTSYNCOUT)。   

    此致、

    艾里森

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

    您好 Allison:

    感谢 Allison 的 快速回复。

    通常、一开始一个同步就应该没问题、但我认为由于运行时间长、需要在预定义时间之后进行同步。

    我们希望使用菊花链来减少导线数量。 每个模块之间的短暂延迟是可以接受的。 我们不致力于特定的通信协议。 我们计划使用类似于 UART 的东西。

    感谢您的解决方案。 我们很快就会评估它。

    此致、

    帕特里克

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

    Patrick、您好!

    如果您同时通过与所有设备通信来启动同步、则开始同步一次应该没问题。 但是、稍后发布 SYNC 可能需要以其他方式实现-如果您可以备用额外的连接、则可能是在硬件中。 其他方面通过软件实现。  

    通过菊花链、您是否暗示您一次通过一个器件发送? 或者、通信是基本同时到达每个器件吗?

    是的、如果您对该提议有任何想法、请告诉我。  

    此致、

    艾里森

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

    您好 Allison:

    理想情况下、每个器件将同时通信、但由于硬件的原因、每个控制器之间存在延迟、应由控制器校正。

    此致、

    帕特里克

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

    Patrick、您好!  

    我认为不应该存在使用串行传输到器件的数据来影响每个器件的 PWM 输出的问题。 我的唯一问题仍然是 PWM 同步、以下是我关于跨多个器件同步 PWM 的想法:

    1.在这样的情况下,通常做这样的情况下,您有多个设备连接在一起,并通过硬件(外部同步源)发出同步脉冲,但这听起来这是不可能在您的情况下。 如果您同时启动 PWM、它们应保持同步、但如果器件的开始时间之间存在延迟、那么该延迟将在您无法利用硬件同步的情况下保持不变。

    2.另一个思路是您能够测量延迟,或者通过某种方式了解 PWM 之间的延迟/偏移量。 如果您知道延迟是多少、则可以通过在软件中对 PWM 进行相移来针对每个单独的器件校正此延迟。

    您是否知道延迟的长度以及它是否 将保持固定?  

    此致、

    艾里森

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

    尊敬的 Allison:

    我们知道延迟的长度、因为它取决于硬件。 我认为相移校正应该是一个很好的解决方案。

    我将您之前的回复标记为解决方案。

    我们将尝试这两种解决方案。 1) 1)在开始时不使用外部 SYNC 进行同步;2)从外部源进行同步并校正相移导致的延迟。

    感谢你的帮助。

    此致、

    帕特里克