青海省网站建设_网站建设公司_JSON_seo优化
2025/12/20 16:50:08 网站建设 项目流程

一、整体架构

二、FPGA 负责的功能(硬件实时层)

1. PWM 波形生成
  • 空间矢量 PWM (SVPWM)
  • 死区时间控制
  • 最小零矢量控制
  • 频率:16kHz
2. 电流采样与处理

// Sigma-Delta调制器处理

*CurSampCtrl // ADC采样启动延时设置

*CurSampCtrlSec // 第二组采样延时设置

  • 三相电流采样(U/V/W)
  • Σ-Δ 调制器信号处理
  • 电流滤波与定标
3. 电流环 PI 控制(在 FPGA 内部)

*KpId, *KiId // D轴PI参数

*KpIq, *KiIq // Q轴PI参数

*IErrLim // 积分误差限幅

  • D/Q 轴电流 PI 调节
  • 反电动势补偿(Ked, Keq)
  • 电压调制度计算(Vd, Vq)
  • 执行频率:16kHz
4. 编码器信号处理

*INCEncCtrl // 增量编码器控制

*ABSEncSel // 绝对编码器选择

*RotEnc_MaxCnt // 编码器线数

*RotEnc_ZCnt // Z脉冲电角度

  • 增量编码器 A/B/Z 相处理
  • 绝对编码器通信(SPI/I2C)
  • 旋转变压器接口
  • 光栅尺接口
5. 速度计算

*MotorSpeed // 速度反馈值

*MechAng // 机械角度

  • M 法/T 法测速
  • 速度滤波
  • 速度定标
6. 位置脉冲指令接收

*PosCmd // 位置脉冲指令控制

*PosRefHigh/Low // 位置指令值

  • 脉冲+方向模式
  • AB 正交模式
  • CW/CCW 模式
7. 故障检测与保护

*SysErr // 系统故障状态

*GateKillFlt // IGBT硬件过流

*OvrCurFlt // 电流溢出

*OvrSpdFlt // 转速溢出

  • 硬件过流保护
  • 编码器故障检测
  • 超时故障监控
  • STO 安全信号处理

三、DSP 负责的功能(算法控制层)

1. 速度环控制(2kHz)

Nomal_SpdSchedueMode() // 速度PI调节器

  • 速度误差计算
  • 速度 PI 调节
  • 转矩前馈
  • 扰动观测器(DOB)
2. 位置环控制(1kHz)

PosRegulator() // 位置PID调节器

  • 位置误差计算
  • 位置 PID 调节
  • 速度/加速度前馈
  • 增益切换
3. 转矩指令计算

GetIqRef() // 获取转矩指令

  • 速度环输出 → 转矩指令
  • 转矩限制
  • 转矩滤波
4. 系统管理与通信
  • Modbus/CANopen/EtherCAT
  • 功能码管理
  • 参数存储(EEPROM)
  • 故障处理与报警
5. 辅助功能
  • 惯量识别
  • 摩擦识别
  • PI 自整定
  • 振动抑制(FFT)

四、通信接口与同步机制

1. 并行总线接口

#define FPGA_BASE 0x60000000 // FPGA基地址

// DSP → FPGA (写操作)

*HostToqRef // 转矩指令

*HostIdRef // D轴电流指令

*HostSon // 伺服ON/OFF

*HostAng // 初始电角度

*HostBusGain // 母线电压补偿增益

// FPGA → DSP (读操作)

*Iq, *Id // D/Q轴电流反馈

*MotorSpeed // 速度反馈

*PosFbkHigh/Low // 位置反馈

*SysState // 系统状态

*SysErr // 故障状态

2. 中断同步机制

FPGA硬件时序:

  • FPGA 在每个 PWM 周期结束时触发中断
  • DSP 在中断中读取反馈、计算控制量、更新指令

五、数据流向

1. 控制数据流(DSP → FPGA)

位置环(1kHz) → 速度指令

速度环(2kHz) → 转矩指令

DSP计算 → *HostToqRef, *HostIdRef

FPGA电流环(16kHz) → PWM输出

2. 反馈数据流(FPGA → DSP)

编码器信号 → FPGA编码器处理

位置反馈 → *PosFbkHigh/Low

速度反馈 → *MotorSpeed

DSP读取 → GetFPGAParam()

位置环/速度环计算

3. 电流控制数据流

电流采样 → FPGA Σ-Δ处理

三相电流 → D/Q变换

FPGA电流PI → 电压调制度(Vd, Vq)

SVPWM → PWM输出

DSP读取电流反馈 → *Iq, *Id

六、关键配合点

1. 转矩中断中的配合

EXTI0_IRQHandler() // FPGA触发中断

├─→ GetFPGAParam() // DSP读取FPGA反馈

│ ├─→ 位置反馈

│ ├─→ 速度反馈

│ ├─→ 电流反馈

│ └─→ 系统状态

├─→ 速度环计算(2kHz调度)

│ └─→ 转矩指令计算

└─→ SetFPGAParam() // DSP写入FPGA指令

├─→ *HostToqRef // 转矩指令

├─→ *HostIdRef // D轴电流指令

└─→ *HostSon // PWM使能

2. 参数更新时机
  • 16kHz(转矩中断):转矩指令、电流指令
  • 1kHz(主循环):PI 参数、系统配置
  • 4Hz(慢速更新):编码器参数、功能码

七、设计优势

  1. 实时性
  • FPGA 处理硬件实时任务(PWM、电流环)
  • DSP 处理算法任务(速度环、位置环)
  1. 性能
  • FPGA 并行处理,延迟低
  • DSP 灵活实现复杂算法
  1. 可靠性
  • FPGA 硬件保护(过流、故障检测)
  • DSP 软件保护(过载、监控)
  1. 可扩展性
  • FPGA 可扩展硬件接口
  • DSP 可扩展算法功能

八、总结

  • FPGA:硬件实时层,负责 PWM 生成、电流环 PI、编码器处理、速度计算、故障检测
  • DSP:算法控制层,负责速度环、位置环、系统管理、通信、辅助功能
  • 配合方式:通过并行总线接口和 16kHz 中断实现同步,DSP 计算控制指令,FPGA 执行硬件控制

这种分工实现了硬件实时性与软件灵活性的平衡,保证了伺服系统的性能与可靠性。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询