一种查表与插值法在微控制器中的实现
2016-01-11史永胜许梦芸王喜锋
陕西科技大学学报 2015年2期
史永胜, 胡 双, 许梦芸, 王喜锋
(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)
一种查表与插值法在微控制器中的实现
史永胜, 胡双, 许梦芸, 王喜锋
(陕西科技大学 电气与信息工程学院, 陕西 西安710021)
摘要:在微控制器中断程序中,大量的长时间计算是不可取的.为了提高计算效率,提出了一种在软件上将调用编译器中函数库求解复杂函数的方法,改为查表与插值的方法.这种查表插值方法的引入,在理论上能提高编译器在该段程序的编译效率和程序在微控制器中的执行速度,具有高效性.本文以STM32F407VGT6微控制器为硬件平台,设计了控制变量法的对比实验.结果表明,该方法能有效减少程序运行时间,适用于大多复杂函数,并且适用于不同主频的微控制器,从而验证了该方法的通用性与高效性.
关键词:查表; 插值; 微控制器; 计算速度; 计算精度
0引言
在微处理器程序运行的过程中,特殊情况下需要计算复杂函数在某一点的值[1],如开方运算、三角函数与反三角函数运算、指数与对数运算等.如果在中断服务程序中执行类似操作,会导致运算时间太长.这是因为完成这些工作的计算一般都是通过调用编译器的math.h文件中的函数库来完成的,而这种方法编译效率偏低[2].math.h头文件是针对所有处理器的,其运算函数都是基于定点CPU和标准算法(IEEE-754)[3],并没有预见使用FPU(浮点运算单元)的情况,因而需要很多指令和复杂的过程才能完成运算,这就增加了运……
登录APP查看全文
