传感器|嵌入式开发:以数据为中心的软件设计的3个技巧( 二 )


举个例子 , 电机控制任务读入最新的模拟电流和电压测量值 , 然后通过PID控制器运行 。 PID控制器将为新的电机状态提供输出 。 根据控制器的设计 , 每次通过PID控制器可能不会在相同数量的时钟周期内运行 。 如果考虑到在PID计算过程中触发中断的可能性 , 时间值的范围可能会很大 。 结果是电机输出永远不会同时更新 , 它会稍微移动和抖动 , 这可能会影响电机的响应 。
嵌入式开发人员最大限度降低抖动的一种更可靠的方法是将步骤改为:
输出以前的结果
检索新数据过滤/处理数据
在这种情况下 , 新的输出总是在循环开始时 , 在进一步处理或其他不确定性活动发生之前发送到电机 。 因此 , 我们正在对可能稍旧的数据采取行动 , 但我们可以考虑这一点 , 并大幅降低我们的抖动 。
结论
【传感器|嵌入式开发:以数据为中心的软件设计的3个技巧】当你分解我们为设计和实现嵌入式软件所做的工作时 , 一切都归结于数据 。 嵌入式软件只不过是以一种确定的方式集体处理、存储和输出数据 。 嵌入式开发人员遵循以数据为中心的软件设计方法将会产生一个突出数据最重要的部分的架构 。 你会发现这个设计是高效的 , 有效的 , 并且不会被现代的设计模式和填充物所膨胀 。 想要一个优秀的软件设计 , 跟着数据走就行了 。