极致的实时性能:空调室外机中的SPC2188

来源:Spintrol #旋智科技#
1.8w

尽管多核已经是与应用处理器和基于FPGA的应用首要相关的技术趋势,但对于深度嵌入式应用的开发者而言,这一趋势背后的真正好处或许并不十分明显。在本篇文章中,我们将通过几个应用案例探讨多核微控制器相比传统单核微控制器带来的优势,文章结尾将介绍一个实际的已经实现的方案。

首先也可能是最常见的一个使用案例,是用多核微控制器将应用程序分成几块实时的应用程序域。在这些应用程序中,开发人员可能会有不同组且相互冲突的实时需求。例如,在PMSM电机控制应用中,功率因数校正(PFC)环路需要与电机控制环路同时执行。物联网设备可能需要对大量传感器进行采样,同时通过千兆网络链路传输信息,这将导致通信连接协议栈与传感器采集任务之间的冲突。直接解决这些情况的办法是将一个任务放在一个内核中,另一个任务放在另一个内核中。

第二个使用案例经常出现在功能性安全应用程序中,即用相同的两个处理器并行运行同一组操作,通过检测装置比较两组结果,以识别故障。

第三个使用案例在安全应用方面。对于单核微控制器,开发人员使用ARM Trustzone来创建基于硬件的隔离。转换需要长达三个时钟周期的时间来切换执行域,从而会导致不必要的延迟。对于多核微控制器,工程师可以将一个内核专用于安全处理环境,将另一个内核专用于非安全的处理环境,无需来回切换。

AI人工智能正变得越来越流行,实时控制应用也不例外。机器学习推理通常需要大量计算,所以在实时控制应用中,较为可取的做法是将实时控制和机器学习分离到不同的处理内核。

根据上述提到的用例,总结多核微控制器的优点如下:

任务分割及实时的简化

使用多核微控制器的主要优势在于,它可以通过分离关注点或应用程序域来分解应用代码。目前有三类主要的应用领域,可适用于大多数程序,但肯定还有其他的。这三类领域包括:实时执行;连接性(Ethercat/Profinet等);安全/非安全。

在实时实现方案中,应用程序根据其时序要求被分成两个域。支持丰富执行功能(如图形用户界面)的组件将位于一个内核中(可能是Cortex-M4/M7);支持实时需求(如传感器采集和控制)的组件将位于第二个内核(可能是Cortex-M3/M4)。

在安全/非安全实现方案中,应用程序不是根据其执行需求,而是出于安全考虑进行分解。支持安全启动、加密库、安全通信或其他安全功能的组件将在一个处理器(如 Cortex-M0+/M3/M4)上执行。同样,一般应用组件将在另一个处理器(如 Cortex-M4/M7)上执行。这种实施方式的主要好处是Cortex-M0+/M3/M4可作为安全处理器和执行环境,与应用程序的其他部分进行硬件隔离。

在应用/通信实现方案中,有一个内核专门用于处理通信协议栈。该协议栈可以是Wi-Fi协议栈、蓝牙协议栈、EtherCat协议栈或其他通信协议栈,甚至可以是多种协议栈的组合。这样做的好处是可以使微控制器集成通信功能。第二个内核则专门用于正常的应用代码。

如你所见,使用多核微控制器在这几个实施方案中具有重要意义,在某些实例中甚至可以使用两个以上的内核。

工作负载分配

使用多核微控制器的第三个也是最后一个优势,是它能让开发团队分配工作负载。这里实际上意味着两件事。首先,我们可以将开发和维护应用程序的工作负载分配给多个开发人员或团队。我们可以有一个内核一应用团队,和一个内核二应用团队,每个团队专注于各自内核的应用组件,并与另一个团队就可能存在重叠或需要仔细协调内核间应用行为的领域进行互动。

很显然,分配工作负载的第二种方式,就是将应用程序工作负载分配给多个处理器。由于拥有多个内核,我们可以得到真正的并发应用行为。但不要忘记,就像在使用RTOS的并发应用程序中一样,使用多核并发时,我们会遇到有趣的竞争条件,定时问题,共享资源问题和其他并发行为问题。在分离内核间的工作负载时,必须非常谨慎地使用处理器间的通信方法。

实际应用案例:空调室外机中的SPC2188

SPC2188是一款先进的微控制器(MCU),配备双32位ARM Cortex-M4F内核,专为需要高效多任务处理能力的复杂应用而设计。SPC2188每个内核的最高工作频率为240MHz,SRAM容量高达384KB,具有ECC(纠错码)保护功能,为管理实时应用中的复杂任务提供了强大的平台(如空调室外机中的任务)。

空调室外机的高效运行需要精确的控制机制,以便应对实时变化。这些设备需要调整电机速度,保持功率因数,并管理热输出,同时最小化噪声和振动。SPC2188双核MCU采用了专门的任务分配方法来满足这些需求,保证了高效率和响应性。

众所周知,PFC在这类应用中是一个关键功能,需要迅速和连续的计算,以优化能源使用和保持电力效率。PFC的实时性以及对高速、重复计算的需求,就决定了要使用SPC2188的一个内核,即CPU0。该内核是专门分配给PFC的,因为它能够直接从RAM执行指令,促进快速计算吞吐量,这对维持高于40kHz的中断频率至关重要。

SPC2188的另一个内核被指定为CPU1,用于管理主控系统和室外机的组成部件——压缩机和风机。这种划分确保了CPU0专注于要求苛刻的PFC时,CPU1可以有效地监督该单元的主要功能。它可以调节压缩机和风扇的电流和速度回路,并根据工作频率(风扇为10khz,压缩机为6kHz)进行调整,经过精心选择,可以在性能与噪音和热管理方面取得平衡。

一个精巧的邮箱通信系统对CPU的同步操作至关重要。SPC2188确保精确和及时地进行控制调整,从而保持系统对环境和操作变量的实时响应。

SPC2188 MCU充分体现了专用内核分配的潜力,可满足空调室外机的不同功能要求。通过将CPU0专注于PFC的高实时性要求,CPU1专注于压缩机和风扇的总体控制,MCU在效率和响应速度之间实现了绝妙的平衡。这种战略性任务分配凸显了多核MCU在复杂电机控制应用中的能力,为实现更智能、更节能的电机控制解决方案铺平了道路。

结论

多核微控制器无疑为开发团队提供了诸多优势,可帮助他们解决日益复杂的系统问题。将应用程序分为不同关注区域或应用程序域的能力,是目前采用多核微控制器的主要驱动因素。在考虑采用多核解决方案时,平衡性能与能耗以及分配工作负载的能力也是重要优势。虽然目前市场上只有少数几种多核微控制器,但在未来十年间,我们无疑会发现它们越来越多地出现在我们的设计中。




责编: 爱集微
来源:Spintrol #旋智科技#
THE END
关闭
加载

PDF 加载中...