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.

[参考译文] TMS320F2812:如何在TMS320F2812 DSP上使用分布式时钟同步。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/583191/tms320f2812-how-to-use-distributed-clock-synchronization-on-my-tms320f2812-dsp

部件号:TMS320F2812

您好,

我当前使用PC (运行TwinCAT 3.1)-> EtherCAT从属控制器背板(ET1100)-> TMS320F2812 DSP (运行SOE从属堆栈代码的从属设备)。  
我的目的是使用分布式时钟(DC)来同步PC与DSP之间的通信。  
我了解的内容-我需要编辑ESI文件中的DC设置,这些设置将通过TwinCAT (或其他方式)刷新到ET1100中。 ET1100和DSP之间将有一个同步信号,以保持同步。 我还了解DC协议理论。  

令我怀疑的是,DC是一个64位值,在每个帧的开头由主机(在我的情况下是PC)进行通信。 然后,EtherCAT拓扑线路中的每个从属设备都将获取该值,然后每个从属设备将其本地时间戳(64位值)添加到帧的相应部分。 最终,主控和从属控制器将取彼此的值(取决于作为参考的值),然后将自己的时钟校正为所需的值。 如果我错了,请纠正我的问题。 我希望拼图(软件流) 在我的脑海中清晰无比。  

我不理解(我曾尝试将此问题写给SOE RT-labs,但他们没有回答,而且Beckhoff也不支持,因为我正在使用SOE)-
如何处理TI DSP中的DC (功能)。 在我的头脑中,这种理解非常模糊,在这方面的一些指示(以信息或示例代码的形式)将非常有用。 请注意,我不使用AL_IRQ中断。
我会重复这个问题-
1.我不清楚添加DC时帧(从主到从和后)的外观。  
2.我不理解在DSP端(从)处理此DC时这些功能的外观(这些功能执行什么)。  

我们将非常感谢在这方面提供任何信息或提供任何信息。 我已经浏览了ethercat.org和beckhoff.com网站上的材料。 他们有我理解的信息(例如DC背后的理论及其如何帮助)。 我在这里找不到关于我所提问题的信息。  


此致,
Raghu

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

    Raghu

    根据我使用ETG堆栈和ET1100与F2937xD MCU的经验,ET1100支持DCX功能。 它内部有一个时基,在接收/解码DCX数据包时进行初始化和调整,这在ET1100本身中发生。

    现在,同步信号每隔多毫秒被拉至有源极性,具体取决于主MCU的网络DCX设置,而从MCU会执行它应该执行的任何操作(例如切换IO或读取开关或更复杂的控制) 看到同步信号时。

    当网络中有多个从属设备,并且每个从属设备都对同步信号执行一些操作时,您将拥有一个以最小抖动同步的网络。

    [报价用户="Raghu Rajappa"]1. 我不清楚添加DC时帧(从主到从和后)的外观。  
    2.我不理解在DSP端(从)处理此DC时这些功能的外观(这些功能执行什么)。  [/引述]

    所以,

    对于上面的#1:您可以通过捕获Wireshark中的数据包来检查。 我还没有亲自检查过。  

    对于上面的#2:它是从属应用程序实施与同步信号有关的内容。 我检查它的方式是设置MCU以中断同步信号并切换IO。 因此,您可以在网络中拥有多个节点,这些节点可以分布在大约100或200英尺的距离,并查看IO切换在范围上的距离。  

    希望这有所帮助。

    此致

    Santosh Athuru