当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]通过分布式处理提升处理器效率

在刚刚过去的数年内,我们见证了多处理系统日渐成为主流,事实上大多数现代个人计算的CPU均采用了对称多处理系统(SMP),其中,相同处理器的多个实现例程分担运行在PC上的应用程序负荷。SMP目前已相当常见,但在嵌入式计算中,向多处理的转移趋势并不常见。然而,新的嵌入式设计技术为工程师提供了相当的自由度,能够在数字子系统上智能化地分配处理功能。在本文中,研究了一个使用Cypress半导体公司PSoC 3和PSoC 5架构的分布式处理技术示例,该架构由一个主CPU(在本例中为8051或ARM Cortex M3)、一个DMA引擎、以及通用数字模块(UDB)阵列构成。UDB可高效用作微处理器阵列。通过在这类子系统上分配处理功能,减少计算复杂程度和处理负荷,工程师能够提升整个系统的效率。

将处理功能分解到多个功能块上具有很多优点,最大的优点是降低了实际功耗。通过降低CPU在处理MIPS方面的负荷,只计算简单的函数,如服务中断,能够以较低的频率运行应用程序,这是因为,除了应用程序的所有函数外,CPU无需在不太复杂的函数上耗费指令周期。这样,就能从两个方面降低整个应用的功耗。第一个优点显而易见,降低CPU时钟,随着时钟速度的降低,实际功率呈线性下降。第二个优点有些容易被忽视,但同样重要,CPU具有的逻辑门约是UDB的10倍以上,通过将处理功能从主CPU卸载到微处理器上,可释放大量用于完成处理功能的逻辑门,从而进一步显著改善实际功耗。

除了显著降低应用程序的实际功耗外,分布式处理还具有另一项优点,由于CPU从更平凡的处理负担中解脱出来,能够将其MIPS更多地用在可更好发挥CPU特性的功能上,用于具有更高计算强度的函数上,如乘除指令。

为了理解将处理功能分解在架构上的方式,我们将分析常见的嵌入式应用,如无刷直流电机控制。首先我们深入实质,了解PSoC 3和PSoC 5数字子系统,以便理解其能力。

PSoC 3和PSoC 5器件公用平台架构,这意味着在两个系列中,基本硬件是相同的。PSoC3和5平台架构由四个主要功能块构成,它们是:

CPU子系统:首先是CPU子系统,它包含主CPU(8051或Cortex M3)以及所有支撑IP,包括中断控制器,调试硬件,以及DMA控制器。其他系统功能也包含在CPU子系统中,如计时,电源管理,以及系统存储器。通过CPU与DMA引擎的结合,可为我们提供实现分布式处理功能所需的两个关键部件。

数字子系统:数字子系统是PSoC 3和PSoC 5系列架构的另一重要部分,使用它,能够实现分布式处理系统。PSoC 3和PSoC 5中的数字子系统主要由可灵活编程的通用数字模块(UDB)阵列构成。正如从图X中所见到的,UDB硬件包含数据路径元素,它本质上是8位微处理器,能够执行标准的处理功能,如移位、加和比较。数据路径元素(图XX)还与PLD单元相结合,可用于实现定制的逻辑功能,甚至能够查询表以找出可用作参考的数据路径元素。这些UDB可用于实现很多外围标准功能,如PWM、定时器和SPI,它们也能用于实现定制的外围功能。正因为这种灵活性,PSoC能够实现分布式处理功能。


图1


[!--empirenews.page--]

UDB阵列可支持高达24个UDB,支持灵活的布线矩阵,用户能够将多个UDB连接在一起,以实现更大和更复杂的处理功能。


图2

模拟子系统:PSoC 3和PSoC 5系列还具有高性能和可编程模拟子系统,它包含创建完整模拟信号链所需的所有部件,包括高达20位的模拟-数字转换,用于信号调节的数字过滤器,以及数字-模拟转换。在本次关于分布式处理的讨论场景下,模拟子系统能够在将模拟输入发送至数字子系统或CPU进行进一步数据处理前,对模拟输入进行处理。

可编程布线和互联子系统:它位于框图的最右侧,可编程布线和互联子系统包含灵活的布线矩阵,布线矩阵与I/O以及数字、模拟和CPU子系统相连。该功能块具备相应的能力,使用它,能够定义将芯片上的信号路由至何处,并能创建多路子系统的处理系统。

分布式处理的示例

至此,我们已了解了用来创建分布式处理子系统的可用工具,现在我们将考察如何使用分布式处理来提升系统效率。在这里,我们将考察一个分布式处理应用的真实示例。Sensored无刷直流(BLDC)电机控制即是能够展示这类分布式处理优点的常见的嵌入式控制功能

控制带传感器的BLDC的传统方法是,电机转动并导致三个霍耳效应传感器的逻辑电平改变状态,在典型的带传感器的 BLDC MCU控制系统中,当状态发生变化时,处理器接收IO中断信号。CPU随后将调整连接至PWM输出和驱动的电机线圈。这会在CPU上造成较重的中断负担,降低服务于中断功能的CPU MIPS,而不是执行应用程序需要更多关注的其他处理功能。此外,电机运行越快,CPU中断就越频繁。不仅如此,为应用增加额外电机还会使问题进一步复杂,这是因为,无法可靠地对两台(或多台)电机进行同步以确保霍尔传感器不会同时触发,独立的中断具有相同的优先级。

必定有其他方式,是吗?的确如此。PSoC 3和PSoC 5系列的架构给出了在微处理器阵列上执行分布式处理的良好示例,可将这类中断密集型操作卸载。通过在UDB的PLD单元中简单地实施硬件查找表,就不必再中断CPU。取而代之的是,将中断发送至CPU中断控制器,霍尔效应传感器输入直接送至硬件查找表,随后确定将用于接收PWM信号的输出。在该实施方案中,仅当电机速度变化时CPU才会中断。

这只不过是使用分布式处理降低主CPU负担并提升系统效率的一个例子,还有很多实施分布式处理的示例,包括中断密集型应用,其中,CPU需参考数据结构并作出决策。通过在UDB架构中实施查找表、并使用UDB数据路径元素对数据进行比较,CPU将不再需要处理中断事宜。

分布式处理应用的另一示例是,将DMA用于数据传输密集型应用,如I2S对USB(记录)、或USB对I2S(放出)应用。通过在UDB架构中实施I2S块,使用DMA在处理过程中、在两个功能块和SRAM块之间传输数据,只需很少的CPU周期来控制数据流。以这种方式使用DMA,在基于脉冲密集型方案的通信协议应用中,能带来极大的好处,如USB以及具有可靠数据速率的应用(如I2S)。

通过提供更高效的处理器和功耗更低的处理技术,CPU厂家和MCU供应商致力于不断降低功耗并提升系统效率,作为系统设计者,我们也应寻找机会,设计出具有更低功耗和更高效率的嵌入式系统。随着新PSoC 3和PSoC 5平台的发布,工程师的系统设计工具库中现在有了另一工具。将嵌入式应用视为处理功能的组合,分解处理功能,并在处理子系统阵列上分配这些处理功能,工程师们现在能够优化其嵌入式系统的效率,并降低系统功耗。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭