控制回路是许多基于MCU的设计所执行的最基本的任务之一。通常这些设计中未充分利用的关键特征和外围设备在现代单片机最有效地实现闭环控制系统。定时器和中断控制器在这些系统中经常使用,但在实现控制系统时,许多其他功能,如DMA、高级模数转换器和专门的数学功能,常常被忽视。
本文将快速回顾高效的基于单片机的闭环控制系统的一些关键要求。提高效率的常用技术将使用一些例子说明MCUs。一旦您了解了一些提高效率的常用技术,您就可以更好地寻找实现最佳关闭下一个控制循环设计的实现。
控制环基础
控制环是控制动态系统的关键元素。一个动态系统可以是任何机械或电气系统之间的关系(通常建模为输入和输出之间的线性关系)。输出通常需要以这样的方式控制,以保持在期望的操作“频带”内。例如,汽车的自动巡航控制就是这样一个系统,在这个系统中,汽车的速度设定在一个期望的水平上,即使汽车碰到山坡,控制器也能保持车速不变。控制速度的算法使用一个控制环,它应用一个输入(油门上的压力),测量结果(速度)并根据需要调整输入以保持速度达到所需的水平。一个简单的单输入单输出控制系统的框图,带有控制回路,如图1所示。
图1:一个简单的动态控制系统控制回路框图。
在上面的方框图中,对动态系统的输入产生一个输出。输出由反馈传感器测量,并将测量的输出与参考(期望)输入进行比较。如果存在差异,系统控制器会使用所产生的错误来修改系统输入,使系统输出更接近参考输入。系统控制器需要足够智能,以避免由于不正确管理的控制系统引起的振荡和其他问题。假设动态系统是线性的(输出与输入成比例)并不像你想的那样有限制,因为许多机械和电气系统是以线性方式运行的,或者很容易“偏置”,在更复杂的传递函数的线性区域内工作。
利用单片机实现控制回路
这是很容易看到为什么MCU实现控制系统的主力。与意识、能力计算、控制各种输入和输出,都在非常高的性能水平(特别是在****就像汽车机械系统)是一个自然的控制单元MCU。除了CPU的能力,在单片机的智能外设有许多让你闭环控制简单有效。
控制回路通常在动态系统的每次调整之间有定时关系。这个“循环时间”决定了调整的速度。如果循环时间过长与系统动力学(受控系统的时变特性)相关,那么很难不可能有效地控制系统输出。振荡和失控的错误会累积,使系统处于失败的危险中,也许是一个非常戏剧性的性质。一般来说,MCU可以更快地关闭循环(处理输出传感器,确定任何参考错误,并调整系统输入),更好。
有效的定时和计数因此关键功能所需要的最佳关闭控制回路和MCU的先进外设可以实现控制回路的最佳时机。例如,Silicon Labs efm32lg360f64g-e-csp81单片机定时/计数器周围有用控制回路实现的几个特点。除了闭环控制器的主回路定时器外,还需要定时和计数功能。让我们更详细的EFM32LG计数器/定时器外设的框图(图2)看,看它如何能帮助控制回路系统如图1所示的实施等常用功能。
图2:Silicon Labs EFM32LG单片机的定时器/计数器框图。
的定时器/计数器,一个有用的功能是从外部来源,通过左边的图的timn_ccn引脚数转换的能力。当观察基于动态系统的测量输出时产生转换的传感器时,这些输入是有帮助的。例如,基于位置测量的旋转测量常常在每次旋转时产生转换。还注意到在图的上中间有一个正交****块,可以用于类似的测量。记录的数量的计数,当达到存储在TImern_top终端值可用于触发中断,立即行动或可存储供以后处理。
定时器/计数器的输出,图中右侧TImn_ccn引脚,可以使用脉冲宽度调制(PWM)控制动态系统输入常用方案。在这些系统中,信号活动的时间与控制所需的电压或电流电平有关。对信号周期、信号高时间和边缘转换点的精确控制都是关键的,并且可以有效地控制在定时器/计数器的PWM特性中。有三个单独的PWM输出也便于普通电机控制应用,其中三个单独的绕组用于改变与旋转电机相关的磁场。
智能外设控制
实现快速而有效的环路反馈时间通常需要使用智能外设来从大功率CPU和程序内存块中卸载处理。如果外围设备可以独立于CPU操作,这就允许CPU执行其他更复杂的处理任务,甚至可以在低功耗状态下等待,直到需要进行处理。一些先进的MCU具有特殊的外围控制系统,可以用来连接外围设备一起从CPU没有干预的需要配置自主操作。例如,瑞萨MCU的单片机r5f52108cdfm,rx210集团的一员,有一个事件链接控制器(ELC)连接和控制外设输出为自主操作的外设输入。在ELC的框图如图3所示。
图3:瑞萨单片机rx210组事件链接控制器框图。
图左边的内部外围总线用于连接外围设备,如图右侧所示。所有外设,包括DMA控制器、数据传输控制器(DTC)和中断控制器(ICU)都可以与专用控件连接,自主地基于中断、计时器比较结果或PIN转换激活外设。多达59种类型的事件信号可以连接到外围设备以启动转换、启动计时器,并开始DMA或DTC传输或任何其他所需的外围设备。当已设置为触发器的事件发生时,将启动所选模块的操作集。
可以启动多个操作的链,以便在没有CPU干预的情况下完成复杂的操作。例如,计时器可以启动存储在内存中的模数转换和转换值。计数器可以跟踪转换的数量,并且在计数表明可以处理完整数据集时CPU可以被中断。在CPU处理过程中,时钟振荡器可以自动切换到更快的模式。采用ELC发挥到了极致,很多的传感功能中常见的控制回路的要求可以非常迅速和有效地使它容易实现快速循环次数的同时保持功率最小。
高效的计算
正如我们所看到的,使用智能和自主计数器/定时器和外围设备可以改善环路时间和降低功耗——这是控制系统设计中的两个重要方面。通常,每一个主要控制系统块都需要计算来处理在检测、比较、控制和操作被控制系统时所需的数据。事实上,随着控制系统的效率、精度和长的使用寿命,计算需求急剧增加,已成为重要的系统需求。实现控制回路的高级算法现在使用比例积分微分算法,浮点运算通常需要提高精度。如果硬件中不支持高级计算,则在所需频率下控制环路闭合变得非常困难。
MCU厂商了解先进的加工能力的需要,包括数值处理能力,即使在低端MCU可以加快复杂的闭环控制设计所需的计算。高端机通常包括专用硬件加速浮点计算最精确的控制应用的要求。飞思卡尔KineTIs K60单片机mk61fn1m0vmd15 mk61fn1m0vm类使用32位ARM Cortex-M处理器与DSP指令和单精度浮点运算单元的速度为最复杂的控制算法,需要先进的计算。DSP指令包括扩展单周期多累积(MAC)指令,用于高精度信号的快速处理,以及单指令多数据(SIMD)指令,以便更快地处理低分辨率信号。硬件分割块只运行2到12个周期,加快了普通的缩放操作。
为了获得更高的性能,可以使用双核CPU,以便并行处理任务。例如,一个德克萨斯乐器协奏曲的单片机,如f28m35h52,兼具ARM Cortex-M3 32位CPU和德克萨斯文书中的32位CPU浮点能力TMS320C28X处理器。下面的图4显示了这种双核MCU的框图。
图4:德克萨斯仪器f28m35x协奏曲MCU框图。
基于ARM的MCU,在图的上部,可用于管理外围设备,而协奏曲CPU可用于处理数据和管理受控制的系统。请注意,PWM定时器与协奏曲子系统紧密相连,因此很容易产生由控制系统输入所需的复杂波形。当应用程序有容易分离的算法时,双核CPU之间的这种类型化是很重要的。如果你需要更多的处理能力为一个单一的算法或需要双CPU步调一致的高可靠性,均匀的双CPU,具有相同的处理子系统,如德克萨斯仪器cortex-r4大力神RM4 ARM MCU可能是更好的选择。高可靠性应用的闭环控制系统可以使用异构双CPU实现的内置冗余来提高效率和健壮性。
结论
在基于MCU的设计中,有效地关闭控制回路不必充满尝试和错误的方法来寻找最佳实现。更系统的方法,采用现代先进的功能正确,MCU可以帮助你创建更高效,更快,更低的功耗,更有效的控制系统解决方案。