为克服这些挑战,意法半导体在今年初发布了STM32-F2系列微控制器,以帮助开发人员实现要求苛刻的工业应用。新系列产品诞生于深受市场欢迎的STM32产品家族,拥有更高的性能、更大的存储容量和针对工业应用优化的外设。F2 系列产品在一颗芯片上集成了多种功能,例如,控制/调整功能和复杂的通信协议栈。高集成度的优点是,缩小印刷电路板空间,避免在不同的控制器之间存在易受到电磁兼容性影响的连接电路,优化应用成本。
工业自动化市场的特点是多个通信协议并存,实时应用需要高效的操作系统。因此,软件栈和操作系统成为选择微控制器的首要参数。 STM32微控制器基于受到市场广泛支持的Cortex M3内核,因此,有20多家实时操作系统和通信协议提供商供用户选择。为使STM32微控制器更加完美,意法半导体还增加了一个兼容CMSIS的硬件抽象层和其它固件库,例如,支持永磁同步电机(PMSM)的磁场定向控制 (FOC) 。本文将介绍两个第三方专门为STM32F-2研发的工厂自动化软件: IXXAT开发的支持PTP的IEEE1588协议软件包和PORT开发的Profinet通信协议栈。
STM32-F2针对工厂自动化的改进的性能
与上一代产品STM32-F1相比,STM32-F2在很多方面加以改进,特别是性能更加出色,外设接口更加丰富。STM32-F2采用90nm光刻技术,处理速度达到120MHz,并使运行功耗保持在合理水平(300uA/MHz)。这项光刻技术的另一个好处是集成度更高,有助于降低应用的系统级成本。
为了充分发挥Cortex-M3内核的优异性能,意法半导体重新评估了产品架构。新产品在120MHz下释放150DMIP的强劲性能(Dhrystone 2.1),CoreMark测试成绩取得254高分(2.120 CoreMark/MHz 通过EEMBC 认证), STM32F-2因而进入Cortex-M微控制器的第一阵营,这个成绩归功于自适应实时存储器加速器(ARTTM),采用这项闪存访问管理技术后,应用代码执行不再会受闪存本身固有的等待状态的影响。虽然闪存的速度比内核本身慢三倍,但是,在代码执行过程中不会出现等待状态,即便处理速度达到120MHz时也是零等待状态。因此,新系列产品可大幅缩减设计尺寸,降低功耗和闪存的EMC影响,确保最高的产品性能。
STM32-F2的主要特性如下: 最高1MB的闪存、128kB RAM、6个UART(7.5Mbps)、3个SPI接口 (30Mbps)、支持IEE1588 PTP V2的以太网媒体访问控制器(MAC)、4kB备用RAM、512字节的一次性可编程存储器(OTP)。
总线矩阵
除单纯的内核计算能力外,微控制器设计人员还必须考虑总线设计,在微控制器不同单元之间实现并行访存和数据传输,例如,内核和通信外设需要同时访问不同的存储器。因此,主要总线最终被设计成一个多层AHB总线矩阵,最多支持6个同步数据流。
STM32-F2系列微控制器共有5个总线主控制器:
●有3条内核总线的ARM Cortex-M3内核
●2个DMA控制器
●高速USB主设备控制器
●10/100以太网MAC控制器
上图中的黑点代表在这个7层总线结构中总线主控制器与从控制器的全部接口。为提高系统的能效,SRAM存储器被分成两个存储区SRAM1和SRAM2,SRAM1用于保存基本协议栈和变量,而SRAM2则用作通信外设的帧缓冲区。以太网和USB外设都占用了几千字节的FIFO存储空间,而且分别拥有一个各自专用的DMA控制器。
除多个SRAM分区外,该系统还有两个AHB总线从控制器。同样地,这样的配置准许不同的总线主控制器并行处理和同步访问不同的高速外设,例如,加密处理器和通用输入输出端口。AHB从控制器和DMA控制器都是双端口,这样设计准许在AHB总线上直接连接DMA控制器与高速外设,避免在总线矩阵和二级高速至低速桥上因延迟而降低性能。
外部存储器接口又称“静态存储控制器”,可直接连接不同的异步和同步存储器、NOR/NAND闪存、SRAM、伪SRAM,甚至还能连接一个液晶显示器控制器,外存接口总线频率最高60MHz,还能通过指令总线(I-bus)获取CPU内核指令。
存储器加速器
意法半导体的自适应实时(ART)存储器加速器(如下图所示)可让Cortex-M3内核释放最高的处理性能,虽然闪存本身需要等待状态,但是,引入这项技术后,STM32-F2以120 MHz的速度从闪存执行代码无等待状态。
存储器接口是128位宽,每次可取4-8条THUMB2指令。如果执行线性代码,因为预取指功能,即便闪存速度只是内核的四分之一,代码执行也不会出现等待状态。
然而,如果执行转移或跳转指令,需要立即取出转移或跳转目标地址的数据,这样,存储器的等待状态会增加系统开销,这就是ART及其64项高速指令缓存发挥作用的地方。如果非顺序指令第一次出现,这条指令将从存储器中取出并保存在64 项高速缓存的一个存储项内。在下一次出现时,该指令将从高速缓存中直接取出,没有等待状态。
这个指令高速缓存还有一个LRU即最近不常用机制,因此,假如一个应用软件的转移指令超过64条,最近常用的新指令将取代最近不常用的指令。这个架构的优点是,即便中断服务处理程序被加速器覆盖,这个机制仍然能够支持各种转移指令。
最常用的8行数据项目像高速指令缓存一样,但是用于暂存最常用的数据库,可以使D-bus总线立即充满数据。