你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 Cordic 运算速度评估

[复制链接]
STMCU小助手 发布时间:2022-8-3 21:13
1. 引言
客户在使用 Cordic 进行运算时候,对 Cordic 打断 CPU 的时间存有疑问,认为时间不是按照芯片手册中所描述的时钟周期,本文针对 Cordic 时间测试用于澄清计算周期,同时可作为客户评估使用,本文以 STM32G431 作为示例。


2. 执行周期
在 STM32G431 参考手册中有关于 Cordic 的精度及迭代次数描述,另外还有执行周期的对应值,从图上我们了解到设定精度数据等同于指令执行时间,因为 Cordic 执行时会自动耗损CPU 执行周期,因此我们可以了解执行速度等同于精度数据设定。


%J8H%TAU81A08XR%I3YO00L.png



3. 测试方法
我们分两种写法:
1.单次执行测试
2.多次测试取平均值
测试代码中 hcordic.Instance->也可以写为 CORDIC->;读取 TIM3 的寄存器数据就可以知道这段代码执行的时间,其中 TIM3 配置时钟为 170MHz 等同于 CPU 执行时间;TIM3 CNT数据即指令执行周期。


3.1. 单次执行测试
当使用单次测试时,我们使用 16 次迭代测试,精度配置字为 4; 图 2.单次执行时间测试代码


SBP07%KN]HRILO%]0APNQ02.png


8T](AZ}_J@)~G(HB{_PB{J0.png

@}6W%MQYX)2$F%R[JV~41[0.png

去除数据 load 设定时间以及 TIM3 执行停止指令时间,可以看到真正 Cordic 运算正弦运算的指令执行周期为: 24cycle -(3+2+2+1+2+3+5+1+1)cycle = 4 cycle;
也就是在写入 WDATA 和读取 RDATA 之间的 CPU 占用时间为 4 个 CPU 时间。


完整版请查看:附件





LAT1059_STM32_Cordic运算速度评估_V1.0.pdf

下载

702.11 KB, 下载次数: 38

收藏 评论0 发布时间:2022-8-3 21:13

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版