STM32G4硬件Cordic单元
Cordic简介
Cordic的英文全称为Coordinate Rotation Computer,即坐标转换数字计算机,通过不断旋转坐标最终接近达到计算结果
这是“相位相加”的操作去计算各种函数的经典计算应用
特点是开销小,计算快,广泛应用于各种计算领域
STM32G4集成硬核的计算单元
Cordic功能
STM32G4 Cordic支持以下的函数
数值表述
Cordic精度
内部字长:Cordic内部采用q1.23数据格式
输入/输出字长:要获取最高的精度,输入与输出都需要采用q1.31格式数据。如果输入采用q1.51格式数据,不管采取何种输出,精度都被限定到q1.15
迭代次数:设置Cordic时可以选定迭代次数,为4的倍数,一个时钟周期可以执行4次迭代。考虑最快的速度,在达到需要精度的情况下,选用最少的迭代次数。在达到最大精度后继续使用迭代将逐渐降低精度
精度 vs 迭代次数
Cordic有三个寄存器:
CSR:控制/状态寄存器
WDATA:输入寄存器
RDATA:输出寄存器
Cordic计算输入与输出
按照每个Cordic函数的设定,输入序列
按照每个Cordic函数的设定,读取序列
计算举例—余弦函数
Cordic应用模式
零开销单次模式:执行单次运算的最快方式
零开销流水线模式:执行多个连续运算的最快方式
查询模式
中断模式
DMA模式
缓冲数据转换
将保存在缓冲区中3024个角度值转换为sin值(正弦波周期1KHz,采样频率48KHz)
角度值由CPU提前计算
电机应用中计算速度对比
Cordic软件实现
Cordic在电机控制算法中应用
MC SDK V5.4.3中STM32G4计算三角函数
MC SDK V5.4.3中STM32G4计算平方根
STM32G4片内比较器
STM32G4内部比较器特色
寄存器说明
比较器基本应用
比较器反向端接固定电平(1V)举例
比较器消隐
比较器消隐特征:消隐信号能够屏蔽比较器输出
应用:屏蔽开关动作电流尖峰
比较器回差电压
STM32G4片内运放
STM32G4内部运放特色
高增益带宽积(GBW)—13MHz
高压摆率(SR)—45V/us
低输入偏置,客户可校准
多达6通道运放
灵活的配置模式
PGA增益可调整
内部输出到ADC
运放参数—失调电压
失调电压Vos:运放开环使用时,让运放直流输出为0时在运放输入端的直流电压差;25度时测试的失调电压,单位:uV或者mV;因为温度影响的偏移电压数据,单位: /℃
影响:当放大信号时,输出信号会叠加失调电压的倍数
运放参数—开环增益
理想运放的开环增益为无穷大,实际上都做不到,有一定数据
实际设计运放电路时候要计算增益误差
运放参数—增益带宽积
增益带宽积(GBW):在某频率下开环电压增益与频率的乘积
表征的是运放交流特性
运放参数—压摆率
压摆率(SR):当输入运放一个阶跃信号时,运放输出信号的最大变化速率
SR=dv/dt
寄存器说明
独立模式与软件配置
独立模式
跟随模式与软件配置
跟随模式
PGA模式与软件配置
PGA模式,无外部VINM模式
PGA滤波外置模式
PGA带偏置模式
PGA带偏置与滤波模式
运放连接到内部ADC模块
方式一:内部连接ADC,无需占用管脚
方式二:管脚复用连接到ADC
STM32G4内部运放实际应用
STM32G4内部运放补充
可选择模式很多,可以根据需要进行配置
熟练后,可以直接写OPAMPx_CSR寄存器进行配置
独立模式下增益以及外部偏置可以外部电路配置