夜雨聆风学习资料网

ARTICLE · 1003032

【源码】基于FPGA的高精度多普勒频移测量工程:伺服系统的高精度速度与方向反馈(四)

【源码】基于FPGA的高精度多普勒频移测量工程:伺服系统的高精度速度与方向反馈(四)

源码资源:

1、【LVDS工程源码】

2、【CORDIC工程源码】

3、【源码]FIR + EMA零 DSP,适用于极低资源消耗】

4、[源码]xilinx FPGA的高精度互相关时延估计

5、TDOA无人机无源定位系统全套工程源码—基于Zynq平台的时差提取与定位解算

6、【源码】基于FPGA的高精度多普勒频移测量工程:面向精密测量与运动控制。

伺服系统的性能上限,往往取决于反馈环节的精度与延迟。编码器信号的相位细分能力决定了位置分辨率,方向判别的鲁棒性决定了换向可靠性,而延迟则直接影响环路带宽。本文深入解析一款基于FPGA的全数字相位测量IP核,看它如何为伺服系统提供0.01°精度的实时反馈。


一、伺服反馈的核心诉求

现代工业伺服系统对反馈环节有三项硬性指标:

指标
要求
痛点
位置分辨率
亚微米级
传统硬件细分电路分辨率有限
方向判别
零延迟、零误判
软件判向延迟大,换向瞬间易误判
响应速度
μs级延迟
DSP软件处理延迟限制环路带宽

传统方案多采用专用编解码芯片+MCU软件处理的架构,面临三大瓶颈:

  • 专用芯片细分倍数固定,难以适配不同精度需求
  • MCU软件处理引入不确定延迟,限制伺服环路带宽
  • 模拟环节存在温漂,长期稳定性受限

本方案采用全FPGA硬件流水线,从根本上解决这些问题。

二、系统架构:从编码器信号到速度反馈

本方案完整覆盖从编码器正交信号采集到速度/方向输出的全链路:

核心思路:将编码器的sin/cos信号视为正交载波,通过提取其相位变化来测量位移,相位变化率对应速度,相位变化方向对应运动方向。


三、关键技术深度解析

1. 正交信号处理 —— 编码器信号的数字化解调

增量式编码器输出A/B两路正交信号(等效于sin/cos)。本方案将其作为正交载波处理:

处理流程:

  • 编码器sin/cos信号经ADC数字化后进入FPGA
  • 与DDS产生的本振正交信号进行混频
  • 得到I(同相)和Q(正交)两路基带分量
I分量 = signal × cos(ωt)  → 包含相位信息Q分量 = signal × sin(ωt)  → 包含相位信息

工程价值:

    • 全数字化:消除模拟解调器的温漂与通道不一致

    • 正交精度高:DDS产生的本振严格正交,相位误差趋近于零

    • 抗干扰:数字滤波器特性稳定,不随温度变化

    2. 64阶对称FIR滤波 —— 线性相位是关键

    编码器信号解调后需要低通滤波,线性相位是对FIR用于相位测量的硬性要求——非线性相位会引入相位失真,直接破坏位移测量精度。

    本方案采用64阶对称FIR:

    特性
    参数
    阶数
    64阶
    结构
    对称树形(h[n]=h[N-1-n])
    乘法器数量
    32个(对称结构节省50% DSP资源)
    累加结构
    三级树形加法器(32→8→2→1)
    流水线级数
    5级

    对称结构的双重意义:

    • 线性相位保证:对称系数天然具备严格线性相位,无群延迟失真

    • 资源优化:利用对称性将乘法器数量减半,节省50% DSP资源

    3. 正交锁相 —— 和差角公式提取位移相位

    这是系统的数学核心。设测量路与参考路的复信号为:

    测量路: (sin_m, cos_m) = A_m · (sin(φm), cos(φm))参考路: (sin_r, cos_r) = A_r · (sin(φr), cos(φr))

    利用三角函数和差角公式:

    sin(Δφ) = cos_m·sin_r − sin_m·cos_r = A_m·A_r·sin(φr − φm)cos(Δφ) = cos_m·cos_r + sin_m·sin_r = A_m·A_r·cos(φr − φm)

    其中 Δφ = φr − φm 即为两路信号的相位差,对应编码器的位移量。

    仅需4次乘法+2次加减法,即可完成相位差提取,且:

    • 计算量极低:适合FPGA硬件流水线实现

    • 保留完整相位信息:sin/cos同时输出,支持完整象限解算

    • 去除了幅度影响:结果仅与相位差相关

    4. CORDIC角度解算 —— 硬件加速arctan计算

    得到相位差的sin/cos分量后,需要计算 arctan(sin/cos) 得到角度值。本方案采用CORDIC向量模式。

    算法原理:

    给定 (x=cos, y=sin),通过微旋转将 y 驱动到 0,

    累计旋转角度即为输入向量相角。

    每次旋转角度: arctan(2^-i)

      y > 0: 顺时针旋转, angle += arctan(2^-i)

      y < 0: 逆时针旋转, angle -= arctan(2^-i)

    通过移位实现乘法,无需乘法器。

    13级迭代精度:

    迭代级数
    旋转角度
    累计精度
    i=0
    45.000°
    —
    i=6
    0.895°
    ~1°
    i=12
    0.014°
    0.01°

    伺服应用价值:

    • 0.01°分辨率:对应编码器极高位置分辨率

    • 无乘法器:仅用移位+加法,节省DSP资源

    • 全流水线:13级流水线,每时钟周期输出一个结果,延迟固定

    象限自动处理:

    象限
    补偿公式
    输出范围
    Q1
    angle = θ
    0°~90°
    Q2
    angle = 180°−θ
    90°~180°
    Q3
    angle = 180°+θ
    180°~270°
    Q4
    angle = 360°−θ
    270°~360°

    5. 方向检测 —— 伺服换向的关键

    伺服电机换向时,运动方向瞬间反转,方向判别必须零误判、零延迟。本方案采用多维判决机制:

    四层检测保障:

    1. 静止检测:128点滑动窗口峰值统计,峰峰值≤1判定静止

    2. 怠速检测:差分平方和 s=Δsin²+Δcos²,滞回比较(s≤2进入,s≥4退出)避免抖动

    3. 趋势分析:3点单调性判断(11=递增, 00=递减, 01=极大, 10=极小)

    4. 8分频慢速通道:低速场景专用趋势分析,提高鲁棒性

    Moore状态机(5态one-hot):

    sta(静止) ⇄ idling(怠速) ⇄ forward(正转)

                    ↕                    ↕

              backward(反转) ⇄ intermediate(过渡)

    伺服应用关键价值:

    • 换向瞬间:intermediate过渡状态平滑切换,避免方向误判

    • 低速爬行:8分频慢速通道保证低速时方向判别稳定

    • 静止判别:128点统计避免噪声引起的假运动判别

    6. 相位细分与累加 —— 高分辨率位移测量

    1024级相位细分:

    • 将0~360°映射为0~1023共1024个细分点
    • 配合方向自动选择递增(正转)或递减(反转)

    跨周期连续累加:

    • 自动检测周期翻转(1023→0),累加完整周期数
    • 输出:scale_sum = 当前细分值 + 完整周期数 × 1024

    位移测量公式:

    位移 = (scale_sum / 1024) × 编码器周期

           = (累计相位 / 1024) × 编码器周期

    四、伺服系统性能指标

    指标
    参数
    伺服应用价值
    工作时钟
    125MHz
    高速实时反馈
    角度精度
    0.01°
    极高位置分辨率
    角度量化
    0~36000
    0~360°全覆盖
    相位细分
    1024级/周期
    分辨率提升1024倍
    方向检测
    四态
    静止/怠速/正转/反转
    处理延迟
    固定流水线延迟
    可预测,无抖动
    数据吞吐
    125MSPS
    支持高速运动

    分辨率计算示例:

    编码器线数
    细分倍数
    总分辨率
    对应角度分辨率
    512线
    1024
    524,288
    0.0007°
    1024线
    1024
    1,048,576
    0.0003°
    2048线
    1024
    2,097,152
    0.0002°

    总结

    伺服系统的精度上限取决于反馈环节,响应速度取决于处理延迟。本方案通过全数字正交解调→线性相位FIR滤波→和差角公式相位差提取→CORDIC角度解算→四态方向检测→1024细分累加的完整链路,实现了:

    • 0.01°相位精度
       — 支撑亚微米级定位
    • 固定流水线延迟
       — 提升伺服环路带宽
    • 四态方向检测
       — 保证换向可靠性
    • 1024细分+跨周期累加
       — 支持长行程高分辨率测量

    相比专用编解码芯片与MCU软件方案,本FPGA方案在精度、延迟、灵活性、集成度四个维度均具有显著优势,是高端伺服系统反馈环节的理想选择。

    ✨ 如果本文对你有帮助

    • 点赞支持,让更多人看到
    • 收藏起来,随时查阅
    • 留言讨论,分享你的使用经验
    • 关注我们,获取更多嵌入式实战干货
    • 感谢阅读!我们下一篇文章见!

    推荐合集阅读

    👇


    嵌入式-实用的FreeRTOS学习指南

    人工智能合集

    FPGA技术分享

    latex教程

    LVDS

    FPGA+LINUX+人工智能


    下载资料请扫码进小程序,正在内测中.......

    相关学习资料