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修订历史记录

C2000 理论上的不确定性

前面几节所述的事件抖动是由器件与器件之间的振荡器时钟不确定性、器件之间的传输距离、数字隔离器和/或差分器件干扰等因素造成的。器件内部配置的从 FSIRX 到 CLB 模块再到 FSITX 的信号路径的同步也会进一步增加不确定性,如#GUID-37C25AB2-BDC7-4AC8-AA73-FB18E7FE697A 所示。

图 7-14 内部 C2000 FSI 事件触发路径

时钟域沿着内部 C2000 FSI 事件触发路径,在 FSI RX 时钟、器件 SYSCLK(CLB 时钟)和 FSI TX 时钟之间变化。每次信号从一个时钟域移至另一时钟域时,都会遇到一个同步器,该同步器会增加一定量的可变周期延时(不是每次都是相同的数字)。下面描述了#GUID-37C25AB2-BDC7-4AC8-AA73-FB18E7FE697A 所示的第 1 至 4 段事件触发路径的理论循环计数不确定性。

路径 1-2:RX 模块接收到 FSI Ping 帧以生成 PING_PKT_RCVD 信号。时钟域从 FSI RX CLK 变为 SYSCLK 会导致 0-2 个 SYSCLK 周期的不确定性。

路径 2-3:Ping_PKT_RCVD 信号通过 CLB 模块外部触发 FSI TX 模块发送 Ping 帧。时钟域从 SYSCLK 变为 FSI TX CLK 会导致 0-2 个 SYSCLK 周期的不确定性。

路径 3-4:FSI TX 外部触发到 FSI TX ping 帧生成。时钟域从 SYSCLK(CLB 时钟)变为 FSI TX CLK 会导致 0-2 个 FSI TX CLK 周期的不确定性。

从上面可以计算出总的最坏情况理论周期不确定性:

注: 总的最坏情况理论周期不确定性 = 4 个 SYSCLK 周期 + 2 个 FSI TXCLK 周期。

对于以 100MHz 的 SYSCLK 频率运行的器件,假设 TXCLK 与 SYSCLK 相同,则理论上计算出的抖动量约为 40 纳秒。这是最坏情况下的理论考虑,因此所得的实际值将只是计算出的理论值的一小部分。对于网络拓扑中的任何器件而言,从统计学上看,得到这个最坏情况值的可能性很低。这可以从前面的实验结果中看出,测得的 8 个节点器件的实际抖动量为 75 纳秒,而假设链中每个器件产生的抖动为 40 纳秒,则理论上最坏的情况将是 320 纳秒。