该设计利用带有锁步功能外加 CLA 的 F28P65 双核芯片,并搭配采用 NMR 封装 (9 × 9mm) 的 EtherCAT 总线,作为电机控制与通信控制器。电机控制接口包括:
- 增强型脉冲宽调制器 (ePWM) – PWM 外设由具有独立资源的较小单通道子模块构建而成,并且可以根据需要一起运行以形成系统。该设计采用 ePWM 1 至 18 通道,用于 6 轴的三相电机驱动器。每个 ePWM 子模块有两个通道 A 和 B,用于生成两个具有可配置死区的互补 PWM 信号。对于三相电机控制,每个轴总共实现 6 × PWM。所有这些脉冲宽度调制子模块共用 200MHz 的同一时基时钟,采用增减计数模式,并且彼此之间保持同步。每个 ePWM 模块都有一个同步输入和一个输出,可以将其配置为链接到多个源和事件(如 EtherCAT sync0 脉冲和 FSI RXTRIG),从而闭合通信和 PWM 之间的环路。在该参考设计中,轴 1 的 EPWM1 由 EtherCAT sync0 脉冲触发,其他所有 EPWMx 模块的同步输入均由 EPWM1 的同步输出触发。
- 模数转换器 (ADC) – 该 ADC 外设为逐次逼近 (SAR) 型 ADC,可选择 12 位或 16 位分辨率。每个 ADC 模块都包含一个采样保持 (S/H) 电路,可对电机的三相电流进行同步采样。ADC 基准电压由外部高精度电压基准芯片 REF6230 提供。每个轴的相应 ADC 通道起始采样时间由其自己的 ADC 转换启动 (SOCA) 触发,而此 SOCA 事件分别由每个轴 EPWM 模块的比较事件 C 触发。用于 FOC 计算的中断信号会在 ADC SOC 完成数据转换后自动生成。
- EtherCAT 从属器件控制器 (ESC) –此 F28P65 MCU 上的 ESC 提供多达 2 个媒体独立接口 (MII) 端口来连接到 EtherCAT PHY。过程数据接口采用 16 位异步接口。ESC 还提供了一个可在内部或外部使用的 64 位分布式时钟。可利用 SYNC0/1 与 LATCH0/1 输出信号实现 GPIO 同步,支持从任意 GPIO 接入输入信号,同时为器件内部事件提供多路复用配置选项,并支持时间戳记录功能。ESC 具有 8 个现场总线存储器管理单元 (FMMU),可支持 RD/、WR/、RDWR 的所有本机类型以及位寻址和字节寻址的内置特性。提供了一个 I2C EEPROM 接口来存储 MAC 地址等信息。初始化阶段将 ESC 访问权限分配至 CPU1 子系统。
- 双核电机控制设计 – 此参考设计利用双 C28x DSP 内核来执行 6 轴电机控制和工业通信,CPU1 处理轴 1 和轴 2 控制及 EtherCAT 应用,CPU2 处理轴 3 至 6 电机控制。需要按如下方式为两个 CPU 分配存储器和外设:
- 闪存组 0 至闪存组 3 (0x80000 - 0xFFFFF) 归 CPU1 所有,而闪存组 4 (0x100000 – 0x11FFFF) 归 CPU2 所有
- 出于数据目的,将 0x00C000 至 0x020000 中的 DRAM1-4 分配给 CPU1,出于代码目的,将 0x008000 至 0x022000 中的 GSRAM0-2 分配给 CPU1。DRAM5 来自 0x020000 且长度为 8KB,GSRAM3-4 来自 0x016000 且长度为 16KB,都分配给 CPU2。
- EPWM1-6 由 CPU1 控制,EPWM7-18 由 CPU2 控制
- ADCA 和 C 由 CPU1 控制,ADCB 由 CPU2 控制
- SPIA 和 D 由 CPU1(对于轴 1-2 编码器接口)和 DRV 配置,SPIB 和 C 由 CPU2(对于轴 3-6 编码器接口)控制
- EtherCAT 由 CPU1 控制
- CLB1 由 CPU1 控制以触发 SPIA 数据传输,CLB2 和 CLB5 由 CPU2 控制以触发 SPIB 和 C 数据传输。
图 3-1 展示了 TIDA-010992 的电机控制和通信接口,图 3-2 展示了轴 1 电机控制外设示例。