图 2:热敏电阻感应系统的执行时间
对应执行公式法耗用时间的信号电平较低,对应执行 LUT 法耗用时间的信号电平较高。如图所示,LUT 法耗用的时间为 8µs,公式法耗用的时间为 468 µs。虽然速度方面的比较取决于处理器时钟速率和用于实施的 CPU 时钟周期,但本案例大致说明了两者之间的差异。显而易见,在本应用中,LUT 法可以将执行时间降低 50 倍。
案例研究2:PID 系统
比例-积分-微分 (PID) 系统是最常见的反馈控制系统(如稳压器等)。采用专门的硬件,可以获得最快的控制环路响应时间。不过,如果采用微处理器来实施 PID 系统,可以支持更多调试和调整 (adaptation) 功能。本案例研究的两种实施方法均采用 SoC。图 3 所示的是 PID 系统的实施方框图。
图 3:PID 系统方框图
图中文字:plant:设备
error:误差
firmware data processing:固件数据处理
output:输出
PID 稳压器系统具有需要的置位点 Vset 和实际输出电压 Vout。需要的信号和输出信号之间的差就是误差值e。控制环路然后运用等式 3 所示的闭合环路系统等式来让误差值为 0:[3]这里的 Kp、Ki和Kd 均为常数。
公式法
在 PID 系统的软件实施方案中,积分/差分是通过对上一误差值和新的误差值进行累加/累减来实现的。这些值然后与等式 4 所示的相应常数相乘。
[4]
这里的 ErrorI 是添加到现有误差值中的上一累加误差值,ErrorD 是从现有误差值中减去的上一累减误差值。得出的新值存储为上一误差值并用于下一个执行周期。由于等式中有乘法运算,因此执行速度较慢。
LUT 法
在 LUT 法中,程序不使用乘法,其使用的是存储在表中的预先生成的误差值与常数相乘的积。测得的误差值被用作在对应的表中获得输出的索引。因此,误差值仅限于整数值而非浮点数,因此也就限制了精度。采用这种方法的指令如等式 5 所示: