FPGA运动控制:从零到项目落地
📚 共计 30 章节
01
课程导论与开发环境搭建
FPGA在运动控制中的角色、课程目标、Vivado/Vitis开发环境安装与验证。
环境
入门
02
FPGA基础与Verilog语法速通
组合逻辑、时序逻辑、状态机、阻塞与非阻塞赋值。
Verilog
核心
03
运动控制核心概念
伺服电机、步进电机、编码器、PID控制原理简介。
电机
理论
04
脉冲发生器设计
实现S曲线加减速的脉冲输出模块 (Pulse Train Generator)。
脉冲
加减速
05
正交编码器接口 (QEI)
设计4倍频解码模块,实现位置与速度测量。
编码器
测量
06
ABZ信号处理与抗抖动滤波
针对编码器信号的硬件去毛刺与边沿检测。
滤波
抗抖动
07
位置比较与触发模块
硬件级别的等间距触发输出 (Position Compare & Trigger)。
触发
位置
08
PWM生成与电流环接口
生成高频PWM,模拟电流环控制信号。
PWM
电流环
09
SPI总线与ADC/DAC通信
通过SPI配置外部ADC采集电流,DAC输出模拟量。
SPI
ADC/DAC
10
UART通信与指令解析
实现串口收发,解析上位机运动指令。
UART
指令
11
EtherCAT从站协议栈入门
基于LAN9252或AX58100的EtherCAT通信基础。
EtherCAT
工业
12
分布式时钟同步 (DC)
理解EtherCAT的分布式时钟机制,实现从站同步。
时钟
同步
13
过程数据对象与邮箱通信
配置PDO映射,实现周期性数据交换 (CoE)。
PDO
CoE
14
状态机与运动控制指令集
设计内部状态机,处理急停、回零、点动、连续运动。
状态机
指令
15
梯形加减速算法实现
在FPGA中实现梯形速度规划,计算每个脉冲的周期。
梯形
速度规划
16
S曲线加减速算法实现
实现S型速度规划,减少冲击与振动。
S曲线
平滑
17
多轴插补算法 (DDA直线插补)
数字微分分析器,实现两轴直线联动。
DDA
插补
18
多轴插补算法 (Bresenham直线插补)
高效整数算法,用于步进电机控制。
Bresenham
整数
19
电子齿轮与电子凸轮
实现主从轴的比例跟随与凸轮曲线映射。
电子齿轮
凸轮
20
闭环控制与PID调节器
在FPGA中实现位置环、速度环PID控制器。
PID
闭环
21
FPGA内部FIFO与数据缓存
使用Block RAM实现指令缓存与数据缓冲。
FIFO
BRAM
22
AXI4-Lite与AXI4-Stream总线
自定义IP核的封装与总线互联。
AXI
IP
23
Vivado IP Integrator与Block Design
搭建完整的运动控制SoC系统。
Vivado
SoC
24
Vitis软件开发与驱动编写
在ARM核上编写裸机驱动,控制FPGA逻辑。
Vitis
驱动
25
软硬件协同调试
使用ILA与Vitis Analyzer联合调试时序与逻辑问题。
调试
ILA
26
实时性优化与资源优化
关键路径优化、流水线设计、资源复用技巧。
优化
时序
27
项目实战一:单轴步进电机位置控制
开环控制,步进电机驱动与脉冲输出。
实战
步进
28
项目实战二:单轴伺服电机闭环控制
带编码器反馈,位置/速度闭环。
伺服
闭环
29
项目实战三:两轴直线插补运动平台
双轴联动,直线插补与轨迹规划。
多轴
插补
30
项目总结与部署
生成比特流、固化Flash、现场调试注意事项。
部署
固化