微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 加快程序执行:电气工程师的观点

加快程序执行:电气工程师的观点

时间:07-24 来源:作者:赛普拉斯半导体公司应用工程师 Archana Yarlagadda 点击:

因为等式 1 不是简单线性等式,在采用公式法的情况下,有效的存储器利用和执行的速度都很重要。这个等式必须加入较大的数学库。是否因为精度而接受较大的存储器占用和较慢的反应速度,取决于应用的需要。在医疗或太空设备中,精度非常重要,而在家用电器中,精度并不是最重要的因素,比如我们在安保系统、炉具或者轿车中所见到的温度测量。在这些应用中,如果外部温度是 70 度,而感应系统显示 71 度,并不会导致致命的结果。消费者也不愿意化更多的钱购买功能更强大的芯片来获得这种精度。

针对热敏电阻的 LUT

热敏电阻的电压会一直对应一个唯一的阻值,也就是唯一的温度值。例如,如果 NTC 热敏电阻在 25 摄氏度的阻值为 RT=10 KΩ,参考电阻为 Rref=10 KΩ 时,则意味着 25 摄氏度时的电压 VT=Vref/2。在温度为 50 摄氏度时,RT=5 KΩ,不过 Rref 和 Vref 保持不变,故VT=Vref/3。因此,VT=Vref/3 就意味着 T=50 °C,而VT=Vref/2 意味着 T=25 °C。这样就可以根据测得电压对应的温度值使用等式编制一张表格,存储在存储器中作为 LUT。然后使用测得的电压值作为索引来解析LUT,进而获得对应的温度值。决定温度步长的LUT 的大小会影响测量的精度。如果要求的温度范围为 –40 ~ 125 °C,则在步长为 1 °C 的情况下需要有 166 条目的 LUT,如果是 0.5 °C,就需要 332 条目的 LUT。因此在精度、测量范围和存储器使用方面存在大量的权衡空间。在公式法下,不管要求的精度和测量范围如何,存储器使用都是固定的。

比较

包含 LUT 法和公式法的项目都在赛普拉斯软件 PSoC Designer 中借助 CY8C27x43 芯片得到了实施。LUT 的大小如前所述,为 166 条样本。LUT 法使用的 ROM 为1,000 字节,而在公式法中为 3,780 字节。如果项目在带有 4K 存储器的芯片上实施,则剩下的闪存对任何复杂系统均不敷使用。

为比较执行速度,分别运行了两种方法。如图 2 所示,每种方法运行完毕后,都会触发一个引脚。

2:热敏电阻感应系统的执行时间

对应执行公式法耗用时间的信号电平较低,对应执行 LUT 法耗用时间的信号电平较高。如图所示,LUT 法耗用的时间为 8µs,公式法耗用的时间为 468 µs。虽然速度方面的比较取决于处理器时钟速率和用于实施的 CPU 时钟周期,但本案例大致说明了两者之间的差异。显而易见,在本应用中,LUT 法可以将执行时间降低 50 倍。

案例研究2:PID 系统

比例-积分-微分 (PID) 系统是最常见的反馈控制系统(如稳压器等)。采用专门的硬件,可以获得最快的控制环路响应时间。不过,如果采用微处理器来实施 PID 系统,可以支持更多调试和调整 (adaptation) 功能。本案例研究的两种实施方法均采用 SoC。图 3 所示的是 PID 系统的实施方框图。

3PID 系统方框图

图中文字:plant:设备

error:误差

firmware data processing:固件数据处理

output:输出

PID 稳压器系统具有需要的置位点 Vset 和实际输出电压 Vout。需要的信号和输出信号之间的差就是误差值 e。控制环路然后运用等式 3 所示的闭合环路系统等式来让误差值为 0:

[3]

这里的 KpKi和Kd 均为常数。

公式法

在 PID 系统的软件实施方案中,积分/差分是通过对上一误差值和新的误差值进行累加/累减来实现的。这些值然后与等式 4 所示的相应常数相乘。

[4]

这里的 ErrorI 是添加到现有误差值中的上一累加误差值,ErrorD 是从现有误差值中减去的上一累减误差值。得出的新值存储为上一误差值并用于下一个执行周期。由于等式中有乘法运算,因此执行速度较慢。

LUT 法

在 LUT 法中,程序不使用乘法,其使用的是存储在表中的预先生成的误差值与常数相乘的积。测得的误差值被用作在对应的表中获得输出的索引。因此,误差值仅限于整数值而非浮点数,因此也就限制了精度。采用这种方法的指令如等式 5 所示:

[5]

这里 TableP、TableI和 TableD分别为包含 KP*Error、Ki*ErrorI和 Kd*ErrorD值的 LUT。

比较

PID 系统的实施是采用赛普拉斯软件 PSoC Designer 在 CY8C27x43 芯片中进行的。为实施 LUT 法,使用了各存有 60 个值的三张表,使用的 ROM 为 1,150 字节。对同一应用,公式法需使用 1,800 字节的 RAM。两种方法的执行时间如图 4 所示。

4PID 系统的执行时间

上图波形与图 2 相似,高电平信号对应的是 LUT 法的执行速度,低电平信号对应的是公式法的执行速度。显而易见,执行速度提升了 4 倍。

结论:

本次探讨及案例研究显示,LUT 法确实能够加快

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top