产品篇 — STM32G4特别外设助力电机控制

2023-05-21 13:00   311   0  

STM32G4硬件Cordic单元


Cordic简介


  • Cordic的英文全称为Coordinate Rotation Computer,即坐标转换数字计算机,通过不断旋转坐标最终接近达到计算结果

  • 这是“相位相加”的操作去计算各种函数的经典计算应用

  • 特点是开销小,计算快,广泛应用于各种计算领域

  • STM32G4集成硬核的计算单元


1c1e8378-ac53-11ed-bcd2-b8ca3a6cb5c4.png


Cordic功能


  • STM32G4 Cordic支持以下的函数


1c1e8379-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


数值表述


1c1e837a-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


Cordic精度


  • 内部字长:Cordic内部采用q1.23数据格式

  • 输入/输出字长:要获取最高的精度,输入与输出都需要采用q1.31格式数据。如果输入采用q1.51格式数据,不管采取何种输出,精度都被限定到q1.15

  • 迭代次数:设置Cordic时可以选定迭代次数,为4的倍数,一个时钟周期可以执行4次迭代。考虑最快的速度,在达到需要精度的情况下,选用最少的迭代次数。在达到最大精度后继续使用迭代将逐渐降低精度


精度 vs 迭代次数


1c1e837b-ac53-11ed-bcd2-b8ca3a6cb5c4.png


Cordic有三个寄存器:


  • CSR:控制/状态寄存器

  • WDATA:输入寄存器

  • RDATA:输出寄存器


1c1e837c-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


Cordic计算输入与输出


  • 按照每个Cordic函数的设定,输入序列

  • 按照每个Cordic函数的设定,读取序列


1d366d64-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


计算举例—余弦函数


1d366d65-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


Cordic应用模式


  • 零开销单次模式:执行单次运算的最快方式

  • 零开销流水线模式:执行多个连续运算的最快方式

  • 查询模式

  • 中断模式

  • DMA模式


缓冲数据转换


  • 将保存在缓冲区中3024个角度值转换为sin值(正弦波周期1KHz,采样频率48KHz)

  • 角度值由CPU提前计算


1d366d66-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


电机应用中计算速度对比


1d366d67-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


Cordic软件实现


1d366d68-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


Cordic在电机控制算法中应用


  • MC SDK V5.4.3中STM32G4计算三角函数


1d366d69-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


  • MC SDK V5.4.3中STM32G4计算平方根


1d366d6a-ac53-11ed-bcd2-b8ca3a6cb5c4.png


STM32G4片内比较器


STM32G4内部比较器特色


1d366d6b-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


寄存器说明


1d366d6c-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


比较器基本应用


  • 比较器反向端接固定电平(1V)举例


1d366d6d-ac53-11ed-bcd2-b8ca3a6cb5c4.png


比较器消隐


  • 比较器消隐特征:消隐信号能够屏蔽比较器输出

  • 应用:屏蔽开关动作电流尖峰


1d366d6e-ac53-11ed-bcd2-b8ca3a6cb5c4.png1d366d6f-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


比较器回差电压


1d366d70-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


STM32G4片内运放


STM32G4内部运放特色


  • 高增益带宽积(GBW)—13MHz

  • 高压摆率(SR)—45V/us

  • 低输入偏置,客户可校准

  • 多达6通道运放

  • 灵活的配置模式

  • PGA增益可调整

  • 内部输出到ADC


1d366d71-ac53-11ed-bcd2-b8ca3a6cb5c4.png


运放参数—失调电压


  • 失调电压Vos:运放开环使用时,让运放直流输出为0时在运放输入端的直流电压差;25度时测试的失调电压,单位:uV或者mV;因为温度影响的偏移电压数据,单位: /℃

  • 影响:当放大信号时,输出信号会叠加失调电压的倍数


1d366d72-ac53-11ed-bcd2-b8ca3a6cb5c4.png1d366d73-ac53-11ed-bcd2-b8ca3a6cb5c4.png


运放参数—开环增益


  • 理想运放的开环增益为无穷大,实际上都做不到,有一定数据

  • 实际设计运放电路时候要计算增益误差


1d366d74-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


运放参数—增益带宽积


  • 增益带宽积(GBW):在某频率下开环电压增益与频率的乘积

  • 表征的是运放交流特性


1e680c7e-ac53-11ed-bcd2-b8ca3a6cb5c4.png


运放参数—压摆率


  • 压摆率(SR):当输入运放一个阶跃信号时,运放输出信号的最大变化速率

  • SR=dv/dt


1e680c7f-ac53-11ed-bcd2-b8ca3a6cb5c4.png


寄存器说明


1e680c80-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


独立模式与软件配置


  • 独立模式


1e680c81-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


跟随模式与软件配置


  • 跟随模式


1e680c82-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


PGA模式与软件配置


  • PGA模式,无外部VINM模式


1e680c83-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


  • PGA滤波外置模式


1e680c84-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


  • PGA带偏置模式


1e680c85-ac53-11ed-bcd2-b8ca3a6cb5c4.png


  • PGA带偏置与滤波模式


1e680c86-ac53-11ed-bcd2-b8ca3a6cb5c4.png


运放连接到内部ADC模块


  • 方式一:内部连接ADC,无需占用管脚


1e680c87-ac53-11ed-bcd2-b8ca3a6cb5c4.png


  • 方式二:管脚复用连接到ADC


1e680c88-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


STM32G4内部运放实际应用


1e680c89-ac53-11ed-bcd2-b8ca3a6cb5c4.png1e680c8a-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


STM32G4内部运放补充


  • 可选择模式很多,可以根据需要进行配置

  • 熟练后,可以直接写OPAMPx_CSR寄存器进行配置

  • 独立模式下增益以及外部偏置可以外部电路配置




登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。