存储器利用
公式法中的存储器使用主要取决于用于等式执行的代码空间大小和支持这些等式的数学库的大小。如果采用单浮点函数则需要添加整个库,存储器耗用会显著增长。在 LUT 法下,存储器耗用取决于用来解析 LUT 获得输出值的代码大小和LUT 的大小。一般而言,实施公式和解析 LUT 的代码空间差别不大,但库对存储器的占用显著高于 LUT 的大小。LUT 的大小是由要求的精度决定的,并可通过插值法进行优化。因此,在应用要求的公式比较复杂,输入范围又较小的情况下,LUT 对存储器的利用效率更高。
面市时间
由于早已开发完毕,并在大多数系统上得到过验证,因而在直接采用公式的情况下,面市时间会更快。这样既能达到要求的精度,又能节省设计、调试和测试系统的时间。在某些项目中,存储器可能不足以满足公式法使用的数学库的要求。在这种情况下,则需要采用分段线性或 LUT 法。LUT 法的 TM 取决于多种因素,如应用复杂性、工程师技能、可用于构建 LUT 的软件工具等。因此,这项参数无法以量化的方式进行比较。不过,由于与具体的系统/平台无关,公式法的实施速度可能会快一些。
本文就应在什么地方使用 LUT 取代公式的两个示例及其涉及的权衡进行了探讨。所探讨的案例中包含程序执行的不同重点方面。第一个例子是含有复杂的数学等式的温度感应应用。因为采用公式法来获得温度值耗用了大量的存储器,留给根据测得的温度值增添其他功能的存储空间则变得更少了。通常,温度感应是完整的感应器系统的一部分,因此存储器优化在该应用中非常重要。第二个例子是控制系统算法。在该例中,为避免系统不稳定情况的出现,执行速度是最需要考虑的。
案例研究1:温度测量
因其阻值随温度而发生变化,热敏电阻通常被用来测量温度。采用负温度系数(NTC) 的热敏电阻测得的温度 (Tk) 与测得的阻抗 (RT) 呈反比关系,可表达为等式1 中的 Steinhart-Hart 公式。
[1]
等式中的 A、B、C 均为常数。为测得阻抗变化,可考虑图 1 所示的系统。在此图中,VT 为热敏电阻两端的电压,Vref 为恒定参考电压。ADC 的输出是 VT 点模拟电压的数字形式。固件根据 ADC 测得的值,采用各种实施方案计算出相应的温度值。
.
图 1:采用热敏电阻的温度感应系统方框图
图中文字:thermistor:热敏电阻
firmware data processing