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.

[参考译文] LAUNCHXL-F2.8027万F:通过SPI总线向其它启动板进行相移和同步

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666350/launchxl-f28027f-phase-shift-and-synchronization-over-spi-bus-to-other-launchpads

部件号:LAUNCHTXL-F2.8027万F

您好,论坛:

在我的主论文中,我使用 带Simulink Matlab的LAUNCHTXL-F2.8027万F来实现我的控制算法。 要做的是将一 个LAUNCHXL-F2.8027万F作为主设备,它将通过SPI总线连接到 菊花链中的多个LAUNCHXL-F2.8027万F。 对于应用程序而言,它们必须同步,并且彼此之间具有确定的相移,这一点非常重要。 所以我想我只使用一 个LAUNCHTXL-F2.8027万F来逐步解决问题,并控制PWM1和PWM2。 第一步是同步它们,然后添加相位移。 我在Simulink中为MCU设置了以下型号:

我使用以下型号的笔记本电脑通过SCI通信总线控制频率,占空比等:

当模型运行时,除了PWM通道的相移之外,我可以调整一切。以下是PWM块的设置:

我做错了什么? 下一步如何将Synco通过SPI进入另一个MCU?

感谢您的帮助!

此致,

Oliver

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

    我不太确定我是否理解您正在尝试做什么。 据我所知,PWMSCYNCI/O信号不与SPI绑定。

    是否要触发与SPI的PWM同步?

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

    感谢你的帮助。 我想使用一个启动板作为主设备,通过SPI总线将计数器触发器发送到其他启动板,以便经常同步它们。 我遇到的问题是ePWM块没有该SYNCO的输出来将该信号馈入SPI总线。 是否有其他同步其他"从属"启动板的方法?

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

    正确。SPI不能由EPWMSYNCI/O信号触发。

    你可以把EPWMSYNCI和EPWMSYNCO信号连接到你的主板之间。 EPWMSYNCI可在6.7 ,2.6 和2.8 中找到。 EPWMSYNCO可在6.8 ,2.7 和2.8 中使用。 使用此方法将更具确定性,而不是依赖于SPI中断和延迟,如果SPI消息在无法立即处理的时间出现,则可能会发生这些中断和延迟。

    这是否合理?

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

    Mark,您好!

    感谢你的帮助。

    问题是我仍将使用SPI获取占空比和其他信息,因此6.7 2.6 ,6.8 ,,,和2.7 不能使用。 因此,唯一的引脚是2.8 ,但如果使用示波器测量,我现在就会从引脚中获得信号。 可能是什么问题?

    此处是Simulink上的设置:

    感谢您的帮助!

    此致,

    Oliver

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

    Oliver

    如果您共享针图/硬件图以查看系统的连接方式,这可能会非常有用。  您需要什么信号? 您正在使用什么信号? 您能否进一步解释您正在尝试做什么? 什么信号未显示?

    实际上,您可以从GPIO16拆分GPIO32,也可以从GPIO17拆分GPIO33。 查看 示意图中的JP4到JP11。 它们放置方便,因此您可以剪切迹线。 按照以下步骤修改硬件:

    销钉 引脚处所需的信号 剪切此跳线
    2.6 GPIO16 (SPISIMO) JP5.
    2.7 GPIO17 (SPISOMI) JP7.
    6.7 GPIO32 (EPWMSYNCO) JP8.
    6.8 GPIO33 (EPWMSYNCI) JP10.

    此外,如果您有任何MATLAB或Simulink问题,最好联系他们的支持网络。 如果看不到生成的C代码,很难准确了解设备的配置,因为我们不是Simulink专家。

    谢谢!

    标记

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

    Mark,您好!

    很抱歉我的回复太晚了。 解决方案简单得多。 我必须进入硬件配置并分配针脚。 否则将无法正常工作。 我遇到了类似的问题,再次遇到了排班问题。

    最后,这是我的问题,因为我在C编程中非常糟糕,而不是嵌入式编程器。 但是,如果有一本关于Simulink TI编程的好手册,这将对我有很大帮助。  

    再次感谢您的大力支持!

    此致,

    Oliver