MCU典型应用设计:STM32-F2在工厂自动化中的应用

  工业环境正在对嵌入式控制系统开发人员构成日益严峻的挑战,究其主要原因,当前系统和通信协议栈变得越来越复杂,系统实时性和安全要求越来越严格,同时,这种趋势直接影响到半导体元器件的特性和技术规格。

  为克服这些挑战,意法半导体在今年初发布了STM32-F2系列微控制器,以帮助开发人员实现要求苛刻的工业应用。新系列产品诞生于深受市场欢迎的STM32产品家族,拥有更高的性能、更大的存储容量和针对工业应用优化的外设。F2 系列产品在一颗芯片上集成了多种功能,例如,控制/调整功能和复杂的通信协议栈。高集成度的优点是,缩小印刷电路板空间,避免在不同的控制器之间存在易受到电磁兼容性影响的连接电路,优化应用成本。

MCU典型应用设计: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个同步数据流。

  MCU典型应用设计:STM32-F2在工厂自动化中的应用

  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的速度从闪存执行代码无等待状态。

  MCU典型应用设计:STM32-F2在工厂自动化中的应用

  存储器接口是128位宽,每次可取4-8条THUMB2指令。如果执行线性代码,因为预取指功能,即便闪存速度只是内核的四分之一,代码执行也不会出现等待状态。

  然而,如果执行转移或跳转指令,需要立即取出转移或跳转目标地址的数据,这样,存储器的等待状态会增加系统开销,这就是ART及其64项高速指令缓存发挥作用的地方。如果非顺序指令第一次出现,这条指令将从存储器中取出并保存在64 项高速缓存的一个存储项内。在下一次出现时,该指令将从高速缓存中直接取出,没有等待状态。

  这个指令高速缓存还有一个LRU即最近不常用机制,因此,假如一个应用软件的转移指令超过64条,最近常用的新指令将取代最近不常用的指令。这个架构的优点是,即便中断服务处理程序被加速器覆盖,这个机制仍然能够支持各种转移指令。

  最常用的8行数据项目像高速指令缓存一样,但是用于暂存最常用的数据库,可以使D-bus总线立即充满数据。

  工业协议栈和固件

  IXXAT为 STM32开发的IEEE 1588 PTP协议

  测量系统、电信设备、自动化系统或汽车系统等分布式应用设备对精确时序机制的要求越来越高。IEEE 1588的精确时序协议(PTP)通过以太网使分布式设备的时序同步精度达到纳秒级,从而满足分布式应用系统的要求。

  IXXAT自动化技术有限公司开发的IEEE 1588协议软件让设备厂商能够轻松、快速地开发IEEE 1588兼容设备,这款软件的源代码采用C语言,可实现在任何平台上。

  为了在意法半导体的STM32-F2系列微控制器上实现IEEE 1588协议,IXXAT为STM32-F2用户提供一个定制版协议软件,该解决方案大幅简化并加快了协议的实现过程。STM32-F2专用协议软件需要与一个有组播功能的TCP/IP协议栈配合使用,有无操作系统均可。

  因为功能丰富,连续升级,占有率高,IXXAT的IEEE 1588协议软件已成为1588协议软件市场的主要参考标准。最新的1.03版IEEE 1588已支持新的IPv6标准,该标准将逐渐被新系统所采用。这个解决方案的模块化软件结构包含基本包和可选扩展文件,例如,用于IPv6、IEEE 802.3和Unicast的文件,让包与专门应用及其资源能够实现最佳匹配。

  用户可以动态设置多种功能,例如,延迟机制(对等/端到端)和通信技术(IPv4, IPv6, 802.3),因此,设计人员开发设备时无需考虑网络结构,用户使用设备时无需修改固件,这样设计可以降低研制成本,让客户提出更吸引人的价值主张。

  STM32-F2系列微控制器在以太网媒体访问控制器MAC内整合了支持IEEE 1588 (PTP V2)的硬件,具有实现一个高精度时序同步协议所需的全部资源。我们做了一个长时间的背对背连接同步测试, 采用了1个精确的主控制器(2ppm晶振),测试条件是0.125秒同步间隔,测试结果显示,该平台最大同步偏差为±70纳秒,标准同步偏差大约是15纳秒。在上电后,IXXAT的IEEE 1588协议软件同步平均需要大约20个同步间隔。

  在一个STM32微控制器上实现的IEEE 1588软件,取得1个有IPv4、端到端 (E2E)和对等(P2P)延迟机制和主控制器的通用普通时钟的典型功能,需要47KB空间保存程序代码,7KB空间保存只读数据,23KB空间保存读写数据。

  除IEEE 1588协议软件外,IXXAT的服务还包括定制软硬件开发和系统设计,以及技术研讨会和代码推介会服务。

技术专区

  • 使用MaxCompute阿里大数据计算方法详解
  • 采用Sitara™ 处理器,实现工业自动化系统信息传输
  • 解决固定频率和恒定导通时间控制所带来的问题
  • 详细解析32位嵌入式处理器与8位处理器应用开发的不同之处
  • 要实现智能化,解决嵌入式视觉系统挑战刻不容缓!
  • MCU典型应用设计:STM32-F2在工厂自动化中的应用已关闭评论
    A+
发布日期:2019年07月14日  所属分类:物联网