虽然微控制器 (MCU) 领域的许多主要参与者已经转向基于 ARM 的 CPU 内核,例如用于通用应用的 Cortex-M3 和 Cortex-M0,但同样的趋势现在正在数字信号控制器 (DSC ) MCU 集成以 DSP 为中心的功能的领域。
意法半导体(ST)、德州仪器(TI)、飞思卡尔、爱特梅尔和恩智浦半导体都发布了基于 ARM Cortex-M4 内核的产品。IC 制造商面临的挑战是使他们的 DSC 与众不同,同时还提供由广泛使用和支持的指令集实现的简化软件开发周期的好处。对新兴 DSC 的研究将说明基于 Cortex-M4 的 DSC 参与者的技术差异化和营销策略。
Cortex-M4 是 ARM 以 MCU 为中心的最高性能内核。该内核与广泛使用的 Cortex-M3 直接兼容,但增加了显着的数学能力。M4 包括单周期、16 位和 32 位乘法累加 (MAC) 硬件。此外,内核还集成了单指令多数据 (SIMD) 执行单元。SIMD 模块可以在一个周期内并行执行四个 8 位或两个 16 位加法或减法运算。与 M3 内核一样,浮点单元 (FPU) 是可选的,由 MCU/DSC 制造商决定是否包含。我们将在这里几乎可以互换使用术语 MCU 和 DSC,因为所有 DSC 都是按定义定义的 MCU,尽管相反的情况肯定不正确。
到目前为止,飞思卡尔、NXP 和 ST 在Kinetis市场上都有基于 Cortex-M4 的产品,LPC4300和STM32 F4系列。由于所有 CPU 内核都是相同的,因此只有时钟速度会区分内核性能。但是请记住,MCU,或者在这种情况下是 DSC,实际上是一个集成了外围设备的片上系统,在大多数情况下,还有内存。每个制造商如何围绕 CPU 集成功能肯定会影响系统级性能并将特定产品用于特定应用程序。
Cortex-M4 目标应用
通常,所有制造商都将面向计算性能的应用程序确定为其 DSC 的目标。示例包括高端音频和电机控制应用。虽然基于 M3 的 MCU 可以使用软件库处理一些 DSP 应用,但 M4 DSC 包含加速这些功能所需的硬件。
飞思卡尔率先推出基于 M4 的 DSC,其策略有点独特。该公司没有提供基于 M3 的 MCU,而是选择直接迁移到 M4。其他公司将 M3 用作低于 M4 的低性能平台。飞思卡尔选择专注于 M4 并追求规模经济战略,制造更少的 MCU 架构。飞思卡尔工业微控制器部门营销总监 Jeff Bock 说:“没有 FPU 的 M4 与 M3 之间的成本差异很小。因此,您可以在整个产品组合中获得 DSP 指令。” Bock 正在解决制造成本问题,最终支持单一架构的物流优势增加了成本节约。
飞思卡尔能够推行其战略的一个原因是,Kinetis 尽早转向 90 纳米制造。其他公司也在使用 90 nm 工艺,并且清楚地看到了多种架构的好处。
ARM CPU 演进
ST 在推出 STM32 F4 产品线(入门/开发套件)时采用了最传统的 ARM 内核演进方法。此外,该公司可能在STM32 F4、F2、F1和L1中拥有最广泛的基于 ARM 的产品组合系列。该公司将基于 Cortex-M3 的 L1 系列称为超低功耗系列,时钟频率最高可达 32 MHz。F1 主流系列包括基于 Cortex-M0 和 -M3 内核的 MCU。Hi-Performance F2 系列基于 M3,目前最高频率为 128 MHz,而 F4 Hi-Performance & DSP 系列目前最高频率为 168 MHz。
整个 ST Cortex 产品组合包括 250 多种型号,采用各种封装,管脚数从 36 到 176 不等。但是,产品组合上下都有管脚和软件兼容性。例如,在兼容的 64 引脚封装中,您可以从 4 个 STM32 系列的产品中进行选择,这些产品具有 16 KB 到 1 MB 的集成闪存。这为设计团队提供了广泛的灵活性,可以使用单个 PCB 设计开发具有可扩展功能集的产品系列。
与此同时,恩智浦在其首款基于 M4 的产品中引入了一个有趣的问题,同时仍将支持 DSP 的架构作为其基于 M3 产品的引脚兼容升级。目前,LPC4300 系列的所有成员都集成了 M4 内核和 M0 内核(图 1)。NXP 微控制器产品营销经理 Gordon Cooper 指出,“我们首先做了困难的事情”,指的是在单个芯片上集成双核。恩智浦报告称,它将提供基于 M4 的 DSC,而不再提供 M0。
图 1:NXP Semiconductors LPC4300 DSC 系列集成了支持 ARM Cortex-M4 DSP 的内核和可管理数据移动的 Cortex-M0 内核。
虽然设计团队可以将两个内核都用于计算任务,但恩智浦设想了一种使用模型,其中 M0 内核更像是典型 MCU 上的外围设备。例如,M0 内核可以实现完整的 USB 或以太网接口,从 M4 卸载所有处理要求。芯片首先启动 M4 内核,然后 M4 依次启动 M0 内核。
Cooper 补充说,NXP 假设 M4 将成为典型应用中的主机,但早期客户正在使用该配置以及 M0 在启动后充当主机角色的设计。例如,某些应用程序仅偶尔需要 DSP 或其他面向性能的计算能力。设计可以在不需要其功能时定期禁用 M4 内核并实现更低的系统功耗。
内存架构
谈到其他差异化领域,记忆是一个重要的领域。例如,意法半导体就强调了其自适应实时 (ART) 内存加速器的重要性(图 2)。ST 开发的架构通过最小化等待状态来最大化性能,即使 CPU 时钟速度大大超过了通常用于 MCU 中代码存储的集成闪存的读取周期时间。
图 2:STMicroelectronics 开发了自适应实时内存加速器(ART 加速器),通过缓存定期访问的分支目标的内容来缓解闪存的性能限制。
ST 产品营销经理 Stuart McLaren 指出,Flash 以 128 位宽的块进行组织。由于 32 位 M4 还支持 Thumb 和 Thumb-2 16 位指令集,因此内存中通常混合使用 32 位和 16 位指令。McLaren 指出,一次内存读取会提供四到八条指令,因此当处理器顺序执行指令时,它不会等待状态。
当处理器在代码中进行分支或由中断指示的分支时,会出现问题,处理器将导致等待状态以从 Flash 加载新指令行。ART 包括 64 个 128 位的分支缓存来处理大多数此类事件。这个概念与微处理器如何使用高速缓存相反。高端微处理器大部分时间从缓存执行以避免等待状态。ART 仅使用缓存来减轻对分支的惩罚。
ST 已发布的基准测试表明,在当前最大 168 MHz 时钟速率及更高的时钟频率下,基本上零等待状态的性能。McLaren 说:“我们相信 ART 加速器是高效的,并且基准数据支持这一点。”
ART 加速器部署在 F2 和 F4 ST MCU 产品线上。目前,可用的 F4 处理器包括STM32F405和STM32F407产品。这些功能包括支持高速 (280 Mbps) 和 On-The-Go (OTG) 操作的双 USB 端口。DSC 包括三个 A/D 转换器 (ADC) 和双 D/A 转换器 (DAC)。STM32F407 增加了以太网支持、摄像头接口和其他功能。
目前,恩智浦不提供任何基于 M4 的集成闪存的 DSC。当前的LPC4330和LPC4350都不是MCU 或即将推出的部件包括 Flash。相反,恩智浦集成了它所谓的四线 SPI 闪存接口(SPIFI - 发音为 spiffy),它为外部 SPI 串行闪存提供了一个四线接口。
据 NXP 的 Cooper 称,外部存储器允许设计团队选择应用所需的确切内存量,从而优化成本。他指出,M4 的许多富媒体应用将需要更多的内存,这些内存在任何情况下都可以集成在芯片上。Cooper 补充说,根据代码的不同,外部存储器架构可以提供 60% 的零等待状态性能。
尽管如此,恩智浦最终还是会推出集成闪存的型号。Cooper 指出,其基于 M3 的闪存产品使用 256 位接口来最大限度地减少等待状态。最终,设计团队必须在成本、功耗、占位面积和其他特性方面平衡选择带闪存的 MCU 和带外部闪存的设计。
同步数据传输
飞思卡尔确实在其当前可用的 Kinetis K10、Kinetis K20、Kinetis K30、Kinetis K40 和 Kinetis K60 MCU 以及即将发布的 K50 和 K70 DSC 上集成了 Flash。Bock 表示,飞思卡尔使用推测性获取等技术来优化性能。他还说,“更重要的是一次做不止一件事的能力”,这意味着能够同时在外围设备、内存和内核之间移动数据。
飞思卡尔在其 Kinetis 系列中集成了 3 x 3 或 4 x 4 交叉开关。例如,该矩阵将允许内核在数据移入和移出芯片以及外设和片上存储器之间同时获取指令。
ST 和 NXP 吹捧类似的功能。例如,基于 ST M4 的 MCU 采用 ARM AMBA(高级微控制器总线架构)高性能总线 (AHB),旨在链接外设和片上存储器。图 3 描绘了 ST 所称的多 AHB 总线矩阵,该矩阵本质上是一种交换结构,具有 CPU、DMA 控制器、以太网和 USB,都具有总线主控功能。图中不同颜色的数据流都可以并行发生。所描绘的示例包括 CPU 获取指令和数据以及解码存储在 RAM 中的音频数据。DMA 控制器同时输出解码的音频和图形图像。
图 3:基于 STMicroelectronics Cortex-M4 的 MCU 上使用的 Multi-AHB 总线矩阵允许在 CPU 内核、内存块和外设之间同时移动数据。
NXP 的LPC4300 系列必须增加对第二个 CPU 内核以及外围设备和外部存储器的通信支持。该设计依赖于分段内存,允许两个内核私有访问资源以及专用的处理器间通信块。
利用双核
显然,DSC 制造商正试图平衡处理器性能、内存访问速度和数据移动。NXP 使用额外的内核来分散处理负载,进一步提高同时操作的能力。Cooper 使用一个音频示例来说明这些功能(图 4)。
图 4:在基于 NXP Semiconductors LPC4300 系列 MCU 的音频应用中,Cortex-M4 内核处理音频处理,而 Cortex-M0 内核运行 USB 堆栈读取数据流并通过串行接口输出处理后的数据。
DSC 中的 M4 内核当然可以处理运行 USB 堆栈和音频处理的任务。然而,Cooper 表示,USB 处理会影响 M4 的音频带宽。他说典型的 M4 CPU 可以处理高质量的 2 声道音频,但通过将 USB 处理转移到 M0 内核,Cooper 说 LPC4300 DSC 可以处理 7.1 声道音频。Cooper 说:“M0 完全有能力完成任何数据处理任务。” 除 USB 外,典型用途还包括可编程 I2C 和 I2S 外设。实际上,音频示例使用 I2S 功能来输出处理后的流。
外设目标应用程序
DSC 难题的最后一块是外围组合。对于 NXP,M0 内核就是其中的一部分。此外,M0 内核可以与串行通用 IO (SGPIO) 模块一起使用,以创建前面提到的接口,并利用集成移位寄存器生成复杂的数据模式,而对内核 CPU 周期的影响很小。
NXP 还在其LPC4330和LPC4350 DSC 上集成了 USB 物理接口 (PHY),而许多 MCU 和 DSC USB 实施需要外部 PHY。上述两种 IC 还包括以太网支持,后者增加了 LCD 控制器。
飞思卡尔认为,在 Kinetis 系列中实施的模拟外设集使其产品与众不同。例如,该系列包括 16 位 ADC,而其他供应商最多提供 10 位或 12 位 ADC。飞思卡尔还提供 12 位 DAC、可编程增益放大器 (PGA),并支持触摸感应应用。
另一个主要差异领域是集成 FPU 的选择。ST 和 NXP 的基于 M3 的产品在某些情况下省略了 FPU,目前在所有基于 M4 的产品上都包含 FPU。这些公司假设客户会为以数学为中心的应用选择 M4 内核,因此会想要 FPU。
飞思卡尔在产品线的上下游提供带和不带 FPU 的 Kinetis DSC 版本。飞思卡尔的 Bock 表示,与 DSP 功能不同,即使在 90 nm 工艺中,FPU 在硅面积、成本或功耗方面也不是微不足道的。
飞思卡尔还提供低泄漏唤醒单元,可扩展 M4 内核固有的操作模式。FPU 的省略和低功耗模式共同导致 DSC 在以 32 kHz 运行时可以使用纽扣电池运行,电流消耗低于 100 nA。
安全性和可靠性
外围设备组合也可以在系统安全性和可靠性方面发挥作用。例如,Kinetis K60 系列具有飞思卡尔的 DryIce 功能,可监控电压、温度和其他可能对可靠运行有害的条件。高端处理器还包括篡改检测功能、随机数生成器和用于安全数据传输和存储的硬件加密处理器(图 5)。
图 5:飞思卡尔 Kinetis K60 MCU 系列包括一个安全和完整性功能块(左下),可以实现防篡改系统设计以及可靠的数据通信和存储。
ST 还宣布了即将推出的两款新 ST32F4 系列 DSC 的安全功能。这些功能将包括一个加密/哈希处理器和一个随机数生成器。
总结
不断增长的基于 ARM-Cortex 的 MCU 使该技术成为嵌入式设计团队的有吸引力的选择。您可以从 IC 供应商和第三方处为软件兼容内核提供多种开发工具。此外,在每个半导体供应商中,这些系列通常包括兼容的外围设备,使 MCU 软件在系统级别兼容。
在谈到 ARM 趋势时,飞思卡尔的 Bock 说:“很难否认 ARM 在行业中的市场吸引力。”
设计团队现在在支持 DSP 的 Cortex-M4 产品中拥有广泛的选择,以配合早期基于 ARM 的产品。正如我们在这里所讨论的,外设和内存选择的组合可以支持大多数应用程序。此外,设计团队可以开发具有引脚和软件兼容性的可扩展产品
评论
查看更多