ARM架构MCU与MPU在工业控制设备中的应用

2011-09-05 11:45:36 来源:TI 点击:2507

摘要:  在过去,处理过程都是采用手动控制,工厂的每个环节也都是独立运作的。通过访问描述工厂实际运营状态的实时数据,管理人员能够更好地了解工厂的日常运行情况,并根据实时负载来调整商业策略。

关键字:  加工车间,  机械设备,  生产过程

运营现代化的工厂和加工车间,在技术上都非常复杂。为实现对机械设备生产过程的精确控制,生产企业需要采用最新系列的传感器、致动器以及伺服系统。作为添加技术以获得精确控制功能优势的范例,各个联网与自动化层现已通过连接至IT网络的控制网络添加到工厂生产车间,它们可提供商业信息与策略,这些信息和策略转而推动生产决策的制定。

这种网络化的集中工业控制模式使得技术人员与工业控制工程师能够访问丰富的数据,以便对工厂运营过程进行观察、微调和优化。工厂厂长与企业高管只需浏览一下仪表盘便能全面了解整个工厂的工作效率。

在过去,处理过程都是采用手动控制,工厂的每个环节也都是独立运作的。通过访问描述工厂实际运营状态的实时数据,管理人员能够更好地了解工厂的日常运行情况,并根据实时负载来调整商业策略。

从孤立节点到全面联网设施已经历了若干年的逐渐转变。这种转变大多是特定性或无计划的,当前工业控制设计的各个方面仍将重点紧密地放在其自身总线、网络以及控制器的特殊分类上,因此产生了分离的工业控制系统设计。

尽管现在已经有了从上到下统一的联网工业控制模式,但如果以从下往上的角度去看,也就是从每个部分的中央处理单元来看,就显得非常零散了。迄今为止,可高效运行在控制底层所有层面上的单个IC处理器架构根本是不存在的。

处理器技术的最新发展为设计人员在统一的工业控制模型下实现创新带来了良机。通过在控制的各个层面对性能、功能及通信要求作仔细分析,利用统一的标准处理器内核架构,设计人员不但能够以极具竞争力的价格获得最优解决方案,而且还可以通过软件复用来降低软件的开发成本,并大幅缩短设计周期。

控制层次

典型的工业控制系统可被描述成一个4层的分层结构:传感器和致动器,用来监控工业过程、报告状态信息以及在需要时用来改变状态;电动机以及诸如电感加热器之类的其它系统,用来实现生产过程或运作状态的改变;对传感器节点传送的信息进行分析并向驱动系统发出指令以实现所需改变的各种控制,包括用来连接设备的可编程逻辑控制器(PLC)网络与可编程自动化控制器(PAC)网络;人机界面(HMI)模块和显示屏,为工程技术人员提供算法处理过的可视工厂状况。

直到今天,还没有一种软件兼容的处理器架构能够以高性价比来满足工业控制所有4层的需求。设计人员可通过采用一个公共的处理器架构来减少必须购买的软件开发工具的数量,提高可复用代码总量,并在熟悉的开发环境下进行专项开发。

ARM架构是一种免费授权的开放式架构,因此没有使用权限的问题。作为一种开放式架构的优势使ARM架构成为了一个事实标准,为开发稳健、多样化的、全球第三方软硬件生态系统奠定了基础。

作为嵌入式处理领域的领先者,ARM公司提供了能够满足工业控制各层性能要求的多种处理器内核。内核的革命性发展促进了软件的兼容性与架构的连续性。从Cortex-M3内核到Cortex-A8处理器的升级具有完全的软件兼容性,因而能更轻松地开发具有通信功能的控制系统,这些通信功能仅需一次开发和测试就可运行在多种性能下。需要注意的是,一些ARM内核已集成了支持确定性行为与多任务处理等工业控制功能的硬件。

虽然内核提供了一个不错的起点,但整合了ARM架构内核的微控制器(MCU)与微处理器(MPU)还必须提供集成外设和存储器选项的适当组合。随着工业控制范畴中的应用不断增加,这种要求转变成为一种对大型产品系列的需求,包括各种价格、性能以及功能的解决方案。

最后,可简化开发过程并使代码复用最大化的专业级软件开发工具对帮助设计人员实现采用统一架构模型的控制系统具有十分重要的意义。

用来说明ARM内核的灵活性与应用范围,以及确定面向分立控制功能的MCU与MPU外设正确组合的最佳方法,就是分析图1所示的控制层次各层的要求。

图1:自动化工厂具有4个基本的生产过程控制层。(电子系统设计)

图1:自动化工厂具有4个基本的生产过程控制层。

人机界面(HMI)

从处理角度来看,对位于控制层次顶层的HMI要求是最高的。

具备触摸屏按钮、滑动条以及基本2D图形的基本用户界面可由MCU(例如基于ARM Cortex-M3的MCU)来处理。除此之外,还需要有高级操作系统,并且用户界面解决方案要从MCU转变成MPU。

在自动化设备中,通过远程控制站工作的操作人员需要尽可能多地监控和观察工厂车间情况。要实现全面的观测,就需要3D图形和视频等全新的图形功能。例如,让操作人员观察分布式工业控制系统的方法之一,就是通过点击显示器上特定机械或部位的标签来进行访问。

高级HMI不但能够显示算法处理的数据、2D与3D图形以及由工厂车间监控摄像机传送的视频,而且还可在窗口中显示重要流程或生产指标。缩放、渲染以及窗口显示是高级HMI的普通功能。触摸屏、小键盘以及语音均是可选的输入类型,而所有这一切都需要MPU的接口或外设支持。

与生产车间操作进行高级交互非常重要,其中包括监控摄像机的转换视图、需求的请求报告,以及发出改变流程或装配线的命令。控制台可轻松接收和处理来自基本控制网络层的数百个设备的数据。

从处理器角度来看,在这种高级层面上的互动需要处理器具有内置视频图形功能、丰富的I/O选项以及超强的处理能力。同样,在选择合适的处理器时,需重点考虑是否提供适当的外设与软件库。

具备所有上述条件的处理器寥寥无几,它们都基于ARM Cortex-A8架构。在本文的后面将介绍这些处理器的特定外设、接口以及性能参数。

图2:基于Cortex-A8的Sitara AM35x系列MPU模块图。(电子系统设计)

图2:基于Cortex-A8的Sitara AM35x系列MPU模块图。

控制层

工厂控制层一般由许多工作在控制层的PLC组成。PLC收集传感器数据,并做出是否改变生产过程状态和是否控制继电器与马达以及工厂中其它机械设备状态的决定。它们可监控并管理分为数百个节点运作的大型I/O网络。

PLC通常要求确定性行为,也就是说,每次I/O行为发生所用的时间(或处理器周期)都完全相同,每次都如此。在对实时确定性行为要求不太严格的环境中,一些PLC可利用实时操作系统(RTOS)来减轻基于任务的编程,同时确保系统能够在特定时间周期内做出响应。

ARM Cortex-M3内核的差异化特性之一就是其硬件支持确定性行为。ARM Cortex-M3内核可直接从片上闪存中获取指令和数据,无需从高速缓存中获取。这使硬件能够在出现异常时保存CPU状态。处理器在接收到外部中断后将控制权转交给中断处理程序只需12个周期,而背对背中断(即尾链)将控制权转交中断处理程序只需6个周期。

从设计角度来看,Cortex-M3内核的内置确定机制使得采用单个MCU取代马达控制的双芯片解决方案成为可能。过去,需要数字信号处理器(DSP)来控制与结点相关的马达,同时还需要MCU来处理与系统其它部分的连接。基于Cortex-M3的MCU具有实现上述两种功能的能力。

确定性性能的硬件支持能够与为支持确定性而设计的网络协议实现最佳协作。具有高时间精确度的IEEE1588精确时间协议(PTP)可提供这种特性并具有多点传送功能。从自动化设计的角度看,这就意味着为IEEE1588 PTP提供硬件支持的10/100以太网是非常重要的外设。在一些更高端可编程自动化控制器(PAC)实例中,千兆位以太网的需求也随数据传输量的提升不断增加。

工厂自动化系统中另一种普遍使用的通信方法是可实现分布式与冗余系统设计的控制器局域网(CAN)协议。

无线网络现已成为PLC、传感器以及其它节点级设备联网的趋势。WLAN(无线以太网)常被用于PLC与PAC之间的通信。

德州仪器(TI)Sitara系列ARM微处理器在芯片上集成了面向WLAN的以太网MAC、CAN以及SDIO,并拥有支持网络协议的必要性能。

在传感器层面上,ZigBee协议正在获得认可。基于IEEE802.15.4无线电规范的ZigBee采用网状网络技术创建稳健的自配置网络,它是工业应用的理想选择。

基于Cortex M3的MCU具有执行ZigBee协议以及除无线电之外所有相关任务所需的性能。此外,Cortex M3还通过支持auto-MDIX处理10/100 Base T以太网通信(全双工及半双工)。

TI基于ARM Cortex-M3的Stellaris系列MCU具有片上集成以太网PHY与MAC的更多显著优势,不但比双芯片解决方案节省成本,而且还可节省电路板空间。对于要求性能高于10/100以太网的设计而言,设计人员应该选择基于Cortex-A8的MPU,如TI Sitara系列。

Cortex-M3内核针对片上闪存及SRAM的单周期访问进行了优化,可实现设计人员之前在MCU中一直不能达到的高性能。由于50MHz Stellaris Cortex-M3 MCU具备单周期闪存与单周期SRAM,因此相比运行在100MHz下的其它MCU,设计人员采用运行在50MHz下的Stellaris MCU能获得更多的原始性能。

设计问题

处理器内核选择的一个重要判定点就是看它能否提供加速产品上市的软件,其中包括操作系统、库以及通信协议栈。

图形需求通常是选择操作系统的主导因素。控制应用不但需要2D或3D图形、视频流以及更高的显示分辨率,通常还需要功能齐全的RTOS、Embedded Linux或Windows Embedded CE操作系统,并将通过功能强大的处理器在家庭中得到应用,这些基于ARM9或Cortex-A8核(如Sitara ARM MPU中采用的)的处理器包含完整的存储器管理单元(MMU)。

可处理文本文件、2D基本图元以及QVGA JPEG图像的智能显示模块通常处于Cortex-M3 MCU的上限。Cortex-M3内核具有存储器保护单元(MPU),有助于小型RTOS与轻量级linux内核(如RoweBots的Unisom内核)的高效使用。

ARM 架构的优势之一就是前文提到的强大生态系统。这可带来数目众多的第三方认证通信协议栈,其中包括工厂自动化环境所需的专用工业通信协议栈。TI Stellaris MCU可通过提供StellarisWare软件加速产品上市进程,该软件提供了各种外设驱动程序库、图形库、USB库(用于支持USB Device、USB Host和USB OTG)、启动加载程序支持以及可在工业应用中实现设备诊断的IEC 60730自检库。

Sitara MPU支持开发硬件、驱动器以及针对开源Linux与Windows Embedded CE6的电路板支持套件,并具有诸如Neutrino、Integrity以及VxWorks等RTOS的第三方支持,因而具有加速产品上市的优势。

功耗

功耗现已成为所有应用的一个重要特征,其中包括电力线供电的应用。不过便携式设计主要关注处理器功耗,工业系统设计人员则将精力集中在尽可能保持低的效用成本。而且更低的功耗还具有积极的环保效应。

马达在生产车间和加工厂中普遍存在,通常会消耗工厂大量的电能。让人有些惊奇的是,MCU内核的确定性性能可在电源效率方面发挥重要的作用。比如在Cortex-M3中,MCU中断服务响应效率提升60%时,系统级功耗将降低。中断服务速度提高60%意味着MCU可将马达的停止与启动速度提高60%,而且节约的电能可在一年中累加。此外,Cortex-M3内核的高性能可用于实现智能数字换流,从而可以选择更小的马达投入使用,还可以选择更高效率的马达或者对马达性能进行改进(例如AC感应马达由空间矢量调制驱动,而不是由简单的正弦算法来驱动),所有这些均可降低所需的系统电能。Stellaris MCU包含带有死区定时器的专用马达控制PWM以及针对闭环控制的QEI,可帮助设计人员利用Cortex-M3内核的计算能力提高效率,降低功耗。

另一个功耗问题是设计全面封闭的工厂自动化系统以预防车间环境下普遍存在的灰尘和其它污染物的趋势。如果对处理器及相关电子设备进行制冷需要采用一个以上散热片,设计人员就必须考虑采用通风口和风扇,为不使最初的全密闭系统目标落空,必须安装昂贵的强制通风清洁系统。

Sitara系列MPU可通过适应性软硬件技术满足更低功耗的需求,该产品可通过IC操作动态控制电压、频率以及功耗。

外设与I/O

基于标准ARM架构的处理器内核价值在于其具有众多的优势。因为系统级设计都建立在MPU与MCU基础之上,所以IC制造商在围绕内核的片上系统中提供的功能也同等重要。存储器选项是一个重要因素,由于片上外设提供其余的产品差异化,因此外设与IO接口的类型和数量也是非常重要的因素。

上面讨论了两个重要的通信块,CAN控制器和支持1588协议的以太网MAC与PHY。下面列出了各种IO选项,其中许多选项都具有巨大的市场需求,因为它们可实现广泛的数据传送应用。

I2C:用来连接低速外设的多主控串行计算机总线。

UART/USART:高级高速通用通信外设。

SPI:运行在全双工模式下的广泛使用的同步串行数据链路。

内部集成声控(I2S):可将低失真信号驱动到外部IC以实现音频应用。

外部外设接口(EPI):具有各种模式的可配置存储器接口,可支持SDRAM、SRAM/闪存、传统的主机总线x8及x16外设,以及150MB/秒的快速机器对机器(M2M)并行传输接口。

通用串行总线(USB):用于点对点或多点应用的USB接口,通常包括支持机器配置外部存储或USB OTG的USB主机。

在工业应用中,超高速通用I/O(GPIO)、脉宽调制(PWM)、正交编码输入以及模数转换器(ADC)通道等功能对于马达控制及其它机械和加工设备都非常重要。

图3是一个高端MCU的结构图,主要说明了片上所能集成这些功能的数量。

图3:基于Cortex-M3的Stellaris 9000系列MCU提供了丰富的外设集合。(电子系统设计)

图3:基于Cortex-M3的Stellaris 9000系列MCU提供了丰富的外设集合。

大多数IC厂商均可提供上述所有片上功能。在一些实例中,可通过更稳健的实施来实现产品差异化。Stellaris系列器件上集成的以太网MAC与PHY和支持IEEE 1588是该产品差异化的良好范例。

另一个例子就是TI Sitara系列ARM9 MPU上提供的可编程实时单元(PRU)。PRU是一款具有有限指令集的小型处理器,可通过配置为片上不具备的实时功能提供特定资源。

在工业控制应用中,PRU通常针对IO进行配置。这可能是一种该产品线任何MPU都不具备的定制接口或IO块。与添加外部芯片执行相同功能相比,使用PRU可帮助节省系统内成本。例如,工业设计人员可利用PRU实现UART或工业现场总线(如Profibus)等附加的标准接口。PRU的全面可编程性甚至可帮助设计人员添加其赢得的客户专有接口。

由于PRU可编程,因此它可在不同的执行环境中替代不同类型的IO以降低功耗并提升系统性能。例如,PRU可处理专用定制数据处理,通过关断ARM时钟减轻ARM9处理器负载。

本文小结

当越来越多的半导体供应商纷纷采用ARM架构MCU与MPU时,工业控制设备设计人员将能够获得更广泛的IC选择。产品差异化将由硅片(均衡的存储器系统,快速I/O及外设以及可加速产品上市的通信集成)的智能应用以及良好的软件开发工具、库以及工业协议栈的提供情况来确定。因此仅仅拥有大量的MCU或MPU清单仍远远不够。拥有生产就绪型工具及开源软件的详细清单(如驱动器或基元及小控件的图形库等)为设计人员的设计提供快速启动,才会占有更多的市场先机。

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告