ZHCAA38E August   2021  – January 2023 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DK-Q1

 

  1.   将快速串行接口 (FSI) 应用于应用中的多个器件
  2.   商标
  3. 1FSI 模块简介
  4. 2FSI 应用
  5. 3握手机制
    1. 3.1 菊花链握手机制
    2. 3.2 星型握手机制
  6. 4发送和接收 FSI 数据帧
    1. 4.1 FSI 数据帧配置 API
    2. 4.2 开始传输数据帧
  7. 5菊花链拓扑测试
    1. 5.1 两器件 FSI 通信
      1. 5.1.1 CPU 控制
      2. 5.1.2 DMA 控件
      3. 5.1.3 硬件控制
    2. 5.2 三器件 FSI 通信
      1. 5.2.1 CPU/DMA 控制
      2. 5.2.2 硬件控制
        1. 5.2.2.1 三器件菊花链系统的偏斜补偿
          1. 5.2.2.1.1 CPU/DMA 控制
          2. 5.2.2.1.2 硬件控制
  8. 6星型拓扑测试
  9. 7通过 FSI 进行事件同步
    1. 7.1 引言
      1. 7.1.1 分布式系统的事件同步需求
      2. 7.1.2 采用 FSI 事件同步机制的解决方案
      3. 7.1.3 FSI 事件同步机制功能概述
    2. 7.2 C2000Ware FSI EPWM 同步示例
      1. 7.2.1 C2000Ware 示例工程的位置
      2. 7.2.2 软件配置综述
        1. 7.2.2.1 主控器件配置
        2. 7.2.2.2 节点器件配置
      3. 7.2.3 1 主控和 2 节点 F28002x 器件菊花链测试
        1. 7.2.3.1 硬件设置和配置
        2. 7.2.3.2 试验结果
      4. 7.2.4 1 主控和 8 节点 F28002x 器件菊花链测试
        1. 7.2.4.1 硬件设置和配置
        2. 7.2.4.2 试验结果
      5. 7.2.5 C2000 理论上的不确定性
    3. 7.3 FSI 事件同步的其他提示和用法
      1. 7.3.1 运行示例
      2. 7.3.2 目标配置文件
      3. 7.3.3 星型配置事件同步的用法
  10. 8参考文献
  11. 9修订历史记录

FSI 事件同步机制功能概述

为了展示事件同步机制,我们在所提供的示例中介绍了菊花链网络中 EPWM 同步的具体情况。任务是确保各节点器件的所有 EPWM 信号与主控器件的 EPWM 信号保持同步。一般来说,可以根据应用,使用 FSI 事件同步配置对任何事件进行同步。所有控制应用都使用 EPWM 时基,因此仅需保持所有节点器件的 EPWM 同步即可。通常,与 ADC、比较器或节点器件中的任何事件功能相关的活动会基于 EPWM 事件或触发器。

假设有 1 个主控器件和 2 个节点器件,如#GUID-9DD0D54C-AC09-4B34-9190-ABFAAD70C29D 所示,便可理解如何通过 FSI 进行 PWM 同步。在菊花链网络中,首先使用GUID-49AC5642-233D-4482-BA3A-570302EBA7EA.html#GUID-49AC5642-233D-4482-BA3A-570302EBA7EA中所述的握手机制建立 FSI 通信链路。

GUID-630052C1-D900-4CB7-9FFE-EEC1B187653C-low.png图 7-3 菊花链通信方框图

主控器件以固定的时间间隔向各节点器件发送 Ping 数据包(就长度而言是最短的 FSI 数据包),以验证通信链路,并通知节点器件与主控器件同步。主控器件 FSITX 触发器由用户配置的本地 EPWM 比较事件进行控制。在配置的 EPWM 的上升沿或下降沿,触发 FSITX 以向节点器件发送 Ping 数据包。EPWM 信号的计数器比较值取决于链中的器件数量、器件之间的距离等,该值由用户根据具体应用进行配置。

在某个节点接收到主控器件发送的 Ping 数据包后,该节点处生成的 FSI Ping 帧接收信号 (RX_PING_FRAME) 便会在内部连接至同一节点的可配置逻辑块 (CLB) 模块,如#GUID-9DD0D54C-AC09-4B34-9190-ABFAAD70C29D 所示。CLB 路由 RX_PING_FRAME 信号以立即触发 FSI TX Ping 转发到链中的下一器件。在 CLB 内部实现的可配置延迟计数器充当计时器,将周期作为“match”值馈送到 CLB,并在达到“match”值时重新开始计数。当 CLB 收到 RX_PING_FRAME 信号时,计数器开始计数,在达到“match”值时,它会为该节点的 EPWM 模块生成 EPWM 同步输入信号。换句话说,“match”值有助于计算出从节点收到 Ping 数据包信号开始到本地节点器件生成 PWM 同步输入信号为止的延迟。理想情况下,每个节点的 EPWM 同步输入信号将同时生成,并与主控器件 EPWM 计数器等于零事件对齐。#GUID-4591B5A4-89F8-491B-9FC5-F89331884646 展示了节点器件内部流程的功能表示。

图 7-4 节点器件实现

PWM 信号不会随着时间的推移而保持同步,因为每个器件的振荡器时钟不可能都是相同的。链中的节点器件会经历其各自 EPWM 信号中存在的抖动形式的不确定性,如#GUID-70B281BE-6736-4A85-A79B-122FC76BD2EB 所示。对于菊花链配置,链中的最后一个器件将经历最大的抖动量,因为每个器件的数据包转发和同步器偏差都会产生附加抖动,GUID-39092BC0-4613-469B-9749-122C27D77B6D.html中对此进行了讨论。这种利用 Ping 数据包生成 EPWM 同步输入信号的方式将使链中所有器件的 EPWM 保持同步。

生成 EPWM 信号所需的延迟因菊花链网络中的节点而异。例如,对于节点 1,将在短时间内收到 Ping 数据包,而对于第 8 个节点,由于转发和传播延迟,Ping 数据包信号到达该节点所需的时间会更长。因此,节点 1 的 CLB 计数器计数(“match”值)必须更高,这样才能确保 EPWM 同步输入信号生成的延迟大于节点 8 的计数,从而根据传输延迟进行调整。要馈送到计数器的“match”值必须由用户设置并在 CLB 配置块中配置,这取决于所使用的隔离栅、节点之间的距离和运行中的器件。工程源文件的简介一节中提供了“match”计数开始时的近似值。

图 7-5 菊花链同步时序图