微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 浅谈让微控制器性能发挥极限的方法

浅谈让微控制器性能发挥极限的方法

时间:06-05 来源:互联网 点击:

程性使其适用于从最简单的到极复杂的各类任务。在采用DMA和事件系统的情况下,DMA负责管理整个微处理器架构上的数据传输;至于事件系统则控制这些低延时、高精度传输发生的时间。

图2所示为事件系统与DMA共同工作的原理模块示意图。ADC连接一个传感器,并会采集信号样本。内部计数器被设置为与采样频率相匹配,用以提供规律且精确的时间间隔。事件系统可以直接激活ADC的采样,而无需中断CPU,使采样频率比利用微控制器的时钟更为精确。

图2 DMA控制器配合事件系统

事件管理可扩展为包含多个事件、连接多个外设的更复杂的配置。例如一个输入信号(事件1)可触发ADC采样(事件2),并把数值存储到DMA中(事件3),直到DMA缓冲器溢满(事件4)。

DMA控制器和事件系统还支持多通道,使开发人员能够配置一个与主CPU并行工作的互连结构,因此,可采用一种固定性方式来对多个并行实时任务进行协调。

固定性和延时

固定性在限制延时和管理实时嵌入式系统的响应性方面扮演着关键的角色。系统的固定性越高,它的响应性也就越稳定。影响固定性的主要因素在于系统必须同时处理的中断的数目。

假设一个系统只有一个中断,并在50个周期内完成。这样一个中断的延时相应地在50个周期左右。要注意的是,即使最简单的中断,微控制器也需要约50个周期的时间来保存有限寄存器数目的环境信息,而且还需访问外设、保存数据、存储环境信息及清除管线。

然而,在固定性和延时方面,开发人员遇到的大多数问题并非处理单个中断这么简单,而是当众多中断同时发生时,应如何在即时满足所有要求。

当更多的中断出现时,优先权较低之中断的延时随固定性的下降而增加。一个50周期的任务可能多次被中断,并最终需要数百乃至数千个周期来完成。

固定性直接影响到响应性、可靠性和精度。当开发人员确切知道延时是50或500个周期,便可以在处理时可将之考虑在内。不过,如果延时介于50到500个周期之间,即便是最优秀的开发人员,所能做的也不过是假设一个典型延时(如200个周期)数值,然后把所有的偏离视为误差。

通过DMA控制器和事件系统来减少同时发生的中断(即便是低频中断),可以大大提高系统的固定性并减小延时,而更高的固定性还有助于精度等其它重要因素的提升。

如何获得更高的精度

下面以一个电源管理任务在驱动电机等大负载时实现交流电源效率的最大化为例,来说明固定性如何影响精度。因为大部分可用能量都在电压处于峰值并与电流同相时供应,所以这时系统的电流消耗量应该最大。反之,电压越接近零(即过零点),可用电能就越少,而效率也越低。

比较器一般用于过零检测,当电压下降至设定阈值以下或上升至阈值以上时,比较器便会接通。对两个或多个数据项进行比较,以确定它们是否相等,或确定它们之间的大小关系及排列顺序称为比较。 能够实现这种比较功能的电路或装置称为比较器。 比较器是将一个模拟电压信号与一个基准电压相比较的电路。比较器的两路输 入为模拟信号,输出则为二进制信号,当输入电压的差值增大或减小时,其输出保持恒定。因此,也可以将其当作一个1位模/数转换器(ADC)。运算放大器在不加负反馈时从原理上讲可以用作比较器,但由于运算放大器的开环增益非常高,它只能处理输入差分电压非常小的信号。而且,一般情况下,运算放大器的延迟时间较长,无法满足实际需求。比较器经过调节可以提供极小的时间延迟,但其频响特性会受到一定限制。为避免输出振荡,许多比较器还带有内部滞回电路。比较器的阈值是固定的,有的只有一个阈值,有的具有两个阈值。相对于使用比较器触发中断并驱使CPU开关电容的情况,事件系统可以把比较器事件直接发送到定时器/计数器输出,无需CPU干预即可控制开关。

低优先权任务(如PFC)的中断延时可能需要数千个周期,而具体延时取决于有多少个优先权更高的中断同时发生。延时较大意味着电容会晚于最佳时刻开关,这会显着降低总体效率。

当把上面的数字跟微控制器的时钟频率一同考虑时,便会发现如果微控制器的时钟频率为32MHz,一个双周期延时所引入的误差其实微不足道(2/32M);而数千个周期的延时则可能大大影响高频任务(它们本身也需要每隔数千周期才会被处理)的精度。值得注意的是,若中断是由优先权较高的任务发出的,该延时可能降至50个周期左右。

更高的精度在产生信号时也起着关键的作用,这里所指的并非单纯的信号采样。以创建100kHz波形为例,利用中断,波形的精度将受相对于信号速率的可变延时的影响,并根据任务切换和已堆积的其它中断数量而变得稍慢或稍快。注意,当波形

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

网站地图

Top