我想生成一个具有多个 C2000控制器的实时 PWM。
对于 TMDSCNCD28379D、是否有使用串行通信的好方法可以做到这一点?
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.
我想生成一个具有多个 C2000控制器的实时 PWM。
对于 TMDSCNCD28379D、是否有使用串行通信的好方法可以做到这一点?
尊敬的 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、您好!
一个想法是利用 XBAR 和 CLB。 默认情况下、您可以让输入 XBAR 读取通信线路读数空闲、并将其设置为初始 CLB 状态机(例如状态0)。 一旦空闲通信线路变为有效状态、CLB 就可以检测到这一点并进入 ePWM 启动的另一状态(例如状态1)。 如果通信传输同时发送到所有器件、则 ePWM 将同步。
您还可以考虑更改光纤 GPIO 的 GPIO 设置以 使用输出 XBAR (EXTSYNCOUT)。
此致、
艾里森
Patrick、您好!
我认为不应该存在使用串行传输到器件的数据来影响每个器件的 PWM 输出的问题。 我的唯一问题仍然是 PWM 同步、以下是我关于跨多个器件同步 PWM 的想法:
1.在这样的情况下,通常做这样的情况下,您有多个设备连接在一起,并通过硬件(外部同步源)发出同步脉冲,但这听起来这是不可能在您的情况下。 如果您同时启动 PWM、它们应保持同步、但如果器件的开始时间之间存在延迟、那么该延迟将在您无法利用硬件同步的情况下保持不变。
2.另一个思路是您能够测量延迟,或者通过某种方式了解 PWM 之间的延迟/偏移量。 如果您知道延迟是多少、则可以通过在软件中对 PWM 进行相移来针对每个单独的器件校正此延迟。
您是否知道延迟的长度以及它是否 将保持固定?
此致、
艾里森