• Menu
  • Product
  • Email
  • PDF
  • Order now
  • TI Sitara™ 处理器集成 PROFINET® 技术

    • ZHCY165D November   2013  – April 2020 AM3356 , AM3357 , AM3358 , AM3359 , AM4376 , AM4377 , AM4378 , AM4379 , AMIC110 , AMIC120

       

  • CONTENTS
  • SEARCH
  • TI Sitara™ 处理器集成 PROFINET® 技术
  1. 11
  2. 2PROFINET 简介
  3. 3技术
  4. 4TI 提供的 PROFINET 解决方案
  5. 5在终端产品上集成 PROFINET
  6. 6总结
  7. 7重要声明
  8. 重要声明
search No matches found.
  • Full reading width
    • Full reading width
    • Comfortable reading width
    • Expanded reading width
  • Card for each section
  • Card with all content

 

MARKETING WHITE PAPER

TI Sitara™ 处理器集成 PROFINET® 技术

本资源的原文使用英文撰写。 为方便起见,TI 提供了译文;由于翻译过程中可能使用了自动化工具,TI 不保证译文的准确性。 为确认准确性,请务必访问 ti.com 参考最新的英文版本(控制文档)。

摘要

PROFINET® 是工业自动化领域先进的工业以太网标准。德州仪器 (TI) 已将 PROFINET 技术集成到其 Sitara™ Arm® 处理器中。为此,TI 根据其可编程实时单元 (PRU) 技术建立了工业通信子系统 (ICSS)。

TI 已在 PRU-ICSS 上实现了一种双端口 PROFINET 直通交换机,从而将 PROFINET 的实时处理要求从 Arm 内核转移到 PRU-ICSS 上。这种做法能够将 ARM 核心的大部分处理能力留给工业应用。

TI 还提供软件、硬件和工具,以简化采用 Sitara 处理器的 PROFINET 产品的开发流程。由于具有工业级温度支持和在 105°C 结温下长期运行的保障,Sitara 处理器已成为 PROFINET 和其他工业网络标准的不二选择。

PROFINET 简介

概述

PROFINET® 是一种实时以太网标准,面向各种工业应用(包括工厂自动化、过程自动化和楼宇自动化)所需的高速、确定性通信。PROFINET 最初在 Siemens GmbH 主导下作为常用的 PROFIBUS® 现场总线技术的网络扩展而开发,现在得到了 PROFIBUS & PROFINET International 的支持。2003 年,PROFINET 被整合到 IEC 61158 和 IEC 61784 标准中。其架构由 30 个工作组开发而成,这些工作组的成员来自 70 多家不同的公司。

采用以太网来支持工业应用,因而可使用 TCP/IP 和 XML 之类已熟悉的技术在公司 IT 部门与工厂车间搭起技术桥梁。虽然标准以太网能够为 IT 类公司提供出色的解决方案,但用于工厂自动化时却存在很多不足。例如,对于工厂自动化中常见的少量数据交换,标准以太网并不能满足要求,而缺乏确定性也说明它不支持电机驱动控制和其他工业实时应用所需的实时运作。PROFINET 是应对这些挑战而使以太网用于实时工业应用的典范。

技术

PROFINET 基于主站/从站通信理念。主站(IO 控制器)可在网络中的所有设备之间发送和接收数据帧。从站(IO 设备)可将帧发送到 IO 控制器,但向其他 IO 设备发送数据只可采用非循环方式。PROFINET 的系统模型非常类似于 PROFIBUS 现场总线系统。

过程数据作为实时数据在控制器和从站之间循环交换。它提供了一种实时接口,用于在 Ethertype 为 0x8892 的第 2 层上直接发生循环 I/O 数据交换。实时数据不会使用标准 TCP/IP 协议栈进行传输,这降低了控制器与从站之间的循环数据传输延迟。为了在网络组件中进行优化处理,会对循环数据采用高优先级的 VLAN 标记。

PROFINET 标准中定义了以下设备类别:

  • IO 控制器:此器件通常为运行工业自动化程序的可编程逻辑控制器 (PLC)。此器件相当于 PROFIBUS 中的 1 类主站。IO 控制器为已配置的 IO 设备提供输出数据,并接收 IO 设备的输入数据。
  • IO 设备:IO 设备是一种通过 PROFINET 连接到一个或多个 IO 控制器的分布式 I/O 现场设备。此设备相当于 PROFIBUS 中从站的功能。
  • IO 监控器:此设备可以是用于调试或诊断用途的编程设备、个人计算机 (PC) 或人机界面 (HMI) 设备,对应于 PROFIBUS 中的 2 级主站。
GUID-20210426-CA0I-QZPG-2MHJ-RJFP6XLCVSG7-low.gif图 1 基本 PROFINET 网络示例。

工业应用中部署的系统至少有一个 IO 控制器和一个或多个 IO 设备。IO 监控器通常只是临时集成,用作试运转或诊断目的。图 1 所示为所定义设备之间的各种通信路径。

设备型号

GUID-20210426-CA0I-QHKP-BC6W-MKZ18FXQPCTS-low.gif图 2 PROFINET 的通信路径

PROFINET 的设备型号由其技术和功能特性决定(设备接入点 (DAP) 和为特定设备系列定义的模块描述了这些特性)。DAP 是与以太网接口及处理程序进行通信的接入点。为了管理实际的过程数据通信,可为 DAP 分配各种 I/O 模块。

以下标准结构适用于每个 IO 设备:

  • 插槽是 I/O 模块在模块化 IO 设备中的插入位置。配置的模块可包含一个或多个子插槽,这些子插槽用于数据交换,并根据不同的插槽进行寻址。
  • 子插槽实现与过程之间的实际接口。子插槽的粒度(I/O 数据按位、按字节或按字分割)由制造商确定。子插槽的数据内容始终附带状态信息,因此可确定数据的有效性。
  • 索引指定了插槽/子插槽内可通过读取/写入服务进行非循环读写的数据。例如,可基于索引将参数写入模块或读出特定于制造商的模块数据。

PROFINET 对紧凑型现场设备(在这种设备中,扩展性已由制造商指定,无法由用户更改)和模块化现场设备(在这种设备中,可在配置系统时根据特定应用来自定义扩展性)进行区分。

循环 I/O 数据的寻址方法是指定插槽/子插槽组合,这通常由制造商定义。对于通过读取/写入服务进行的非循环数据通信,应用能够指定要使用插槽、子插槽和索引进行寻址的数据。

为避免在用户配置文件的定义中出现竞争性访问(例如,PROFIdrive 中的称重和计量等),应用编程接口 (API) 定义为另一个寻址级别。

设备描述

每个现场设备均附带通用站点描述 (GSD) 文件,因此可针对系统工程来配置设备。这种基于 XML 的 GSD对属性和功能进行了描述,还包含工程相关的所有数据以及与现场设备进行数据交换相关的所有数据。现场设备制造商必须根据 GSDML 规范提供基于 XML 的 GSD。

通信

IO 控制器与 IO 设备之间必须建立的通信路径是由 IO 控制器在系统设置期间根据工程系统中的配置数据进行设置的。这就是对数据交换的显式指定。

每个数据交换均嵌入应用关系 (AR) 中。在 AR 中,通信关系 (CR) 以显式方式指定数据。用于设备建模的所有数据(包括一般通信参数)均被下载到 IO 设备。一个 IO 设备可拥有从不同 IO 控制器建立的多个 AR。循环数据交换的通信通道 (IOCR)、非循环数据交换的通信通道(记录数据 CR)和警报的通信通道(警报 CR)同时设定。

可使用多个 IO 控制器,并且有必要让多个 IO 控制器访问 IO 设备中的相同数据,这种数据共享方式必须在配置 IO 设备时进行指定。

一个 IO 控制器可建立一个 AR,而每个 AR 有多个 IO 设备。在 AR 中,可使用多个 IOCR 和 API 进行数据交换。这种做法非常有用,例如,如果在通信时涉及到多个用户配置文件(PROFI-drive、Encoder 等)并且需要不同的子插槽,就可采取这种做法。指定的 API 将用于区分 IOCR 内的数据通信。

寻址

在 PROFINET 中,为每个现场设备分配的唯一名称会在分配 IP 地址时用到。每个 IO 设备中集成了用于分配 IP 地址的动态配置协议 (DCP)。

IP 地址的分配是通过 基于设备名称的 DCP 协议进行的。动态主机配置协议 (DHCP) 在国际上广泛使用,因此 PROFINET 提供了通过 DHCP 进行的地址设置(可选)或特定于制造商的机制。各现场设备的 GSD 文件中定义了该现场设备支持的寻址选项。

或者,也可通过指定的拓扑基于相邻检测的机制来自动为 IO 设备指定名称。为直接进行数据交换,PROFINET IO 设备的寻址依据为 MAC 地址。

一致性类别

PROFINET IO 分为三种一致性类别,一个类别建立在另一个类别之上,而这些类别均面向典型应用。

一致性类别 A (CC-A) 可通过标准以太网硬件来实现,且支持循环实时通信(RT 帧)和非循环 TCP/IP 通信的基本功能。为了在网络组件中进行优化处理,RT 帧中会根据 IEEE 802.1Q 采用高优先级的 VLAN 标记。这些帧将被指定高于非实时 TCP/IP 帧的优先级,并基于 MAC 地址传输。设备之间没有同步,并且 RT 帧的传输周期由系统设计人员定义。

一致性类别 B (CC-B) 包括一致性类别 A 的所有功能,并通过增加网络诊断和拓扑检测使其功能得到扩展。简单网络协议 (SNMP) 便用于这种目的,且它的实现必须符合 CC-B。名为 CC-B(PA) 的扩展版 CC-B 中包括介质冗余协议 (MRP)。

一致性类别 C (CC-C) 包括一致性类别 B 的所有功能,并增加了在 IO 设备之间同步的重要特性。会为高精度和确定性数据传输保留带宽。这是等时应用的基础。TI 的 Sitara 处理器上集成的 PROFINET 解决方案实现了一致性类别 C (CC-C)。PROFINET 节点的组成部分

PROFINET 节点的组成部分

每个 PROFINET 节点包括与 OSI 模型一致的三层:物理层、数据链路层和应用层,如图 3 所示。

GUID-20210426-CA0I-JPGG-7XJK-J892DSCJSBKM-low.gif图 3 PROFINET 节点的组成部分。

物理层即是通过网络传输位流的介质。PROFINET 与以太网完全兼容,因此可使用任何支持以太网的铜双绞线或支持 100 Mbit/s 数据传输率的光纤来实现物理层。既可使用 ASIC 也可使用 FPGA 来实现 MAC 层。针对工业应用的唯一限制在于,它必须支持标准 TCP/IP 和 UDP/IP 协议栈以及基于以太网的设备配置文件。在 PROFINET 节点内部,应用可运行于硬件上,也可运行于在嵌入式 CPU 中运行的硬件与软件组合上。

典型 PROFINET 节点

PROFINET 节点的当前实现通常采用图 4 和图 5 中所示的两种架构之一。

GUID-20210426-CA0I-RRBM-M45M-GZ90PLNZDZXG-low.gif图 4 采用 ASIC 和外部处理器的 PROFINET 交换机

许多 PROFINET 设备都是使用图 5 所示的双芯片架构创建的,其中在 FPGA 或 ASIC 上实现了一个 PROFINET 交换机,且添加了一个外部处理器(通常配备片上闪存),从而提升进行应用级处理所需的处理能力。传感器应用就是这种节点的典型示例。处理器操作传感器、实现设备驱动程序并运行 PROFINET 协议栈。这种架构允许设计人员选择适合自己需求和成本目标的处理器,但采用这种架构的 PROFINET 设备更昂贵,因为它需要两个独立芯片,并且主机处理器和 ASIC 之间的接口会成为性能瓶颈。

GUID-20210426-CA0I-GQR0-RKNX-3XTX1KD4HCGZ-low.gif图 5 与采用处理器的集成式 PROFINET 交换机

PROFINET 设备还有一种实现方法,就是将 PROFINET 交换机作为带有集成 CPU 的设备的外设之一,如图 5 所示。许多 FPGA 器件都可以在 FPGA 中配置处理器,或者已经拥有集成式处理器。有些供应商提供的 ASIC 在器件同时具备 PROFINET 和适当的处理器。FPGA 很灵活,但根据选择的 CPU,会导致难以满足成本或工作频率目标的风险。

TI 提供的 PROFINET 解决方案

TI 已经将 PROFINET 功能集成到 Sitara 处理器中。Arm 内核和各种用于完善 PROFINET 的外设及接口相结合,使得 Sitara 处理器成为工业自动化设备的不二选择。

减轻应用处理器的负载

如下页的图 6 所示,Sitara 处理器配备了 TI 的可编程实时单元工业通信子系统 (PRUICSS),该子系统将支持与 MII 接口进行底层交互。PRU-ICSS 可以轻松地实现专用通信协议,如 PROFINET。与在 Sitara AM335x 上集成的 PROFINET 解决方案一样,整个 PROFINET 交换机可通过固件封装在 PRU-ICSS 中,使 Arm 内核能够自由地进行协议栈和应用处理。分析消费者协议机 (CPM) 帧以及生成提供者协议机 (PPM) 帧的任务均由 PRU 全权处理。任何不适用于 PROFINET 节点的帧都会切换至下一个节点,此切换过程由 Sitara 处理器(TI 在其中集成了 PROFINET 协议)上 PROFINET PRU 固件中包含的交换机来执行。这种实现方式允许对比较简单和成本受限的应用(如分布式 I/O)使用速度较低的 Arm 内核版本。

与运行 PROFINET 协议栈(第 7 层)的 Arm 内核之间以及与工业应用之间需要进行的通信采用中断方式完成。PRU-ICSS 还会以反方向执行帧转发。以太网 PHY 设备(如 TLK110 或

GUID-20210426-CA0I-K58B-J9DX-TQZHZGBMCG4C-low.gif图 6 TI Sitara™ AM335x 处理器上的 PROFINET 从站

TI 提供的 DP83822 用于完善 TI 的 Sitara PROFINET 解决方案。TLK110 经过优化,实现了 MII 接口与 PHY 接口之间的低延迟,这是一种重要的性能属性。DP83822 可通过 MII、RMII 或 RGMII 接口灵活地连接到 MAC 上。此外,TLK110 和 DP83822 还具有高级电缆诊断功能,可快速定位电缆故障。

支持的一致性类别

TI 灵活的 PRU-ICSS 支持 PROFINET 的所有一致性类别,如图 7 所示。PROFINET 的这一全面集成已在 COMDEC 实验室获得认证,具备一致性类别 A 和 B 功能(采用第三方 PROFINET 协议栈)。

共享设备和共享输入

TI Sitara 处理器上集成的 PROFINET 解决方案支持使用多个控制器同时实现多个 AR。它能够一次性建立多达八个 AR 和八个 IOCR。当它已经在与单独的控制器交换 I/O 数据时,还允许其他控制器建立或关闭连接。它支持共享输入,因此允许多个控制器访问设备中的同一插槽。

性能

Sitara 处理器的集成 PROFINET 解决方案支持的最短发送时钟时间或相位持续时间为 250µs。它可以支持与设备同时建立的所有 IOCR 之间的发送时钟时间最小值为 250 µs。它支持 1 到 512 之间全部的减速比有效值。无论帧大小如何,集成式交换机的直通延迟均在 1 到 2 µs 之间。

稳健性

全面集成的 Sitara PROFINET 解决方案非常稳健可靠,因为它将 PROFINET 流量

GUID-20210426-CA0I-GS2T-J3N2-BLL5RDFR2C8V-low.gif图 7 TI 的 PROFINET 解决方案支持的一致性类别

与标准 TCP/IP 流量分开。它在主机和端口接口上有四个优先级队列。两个优先级较高的队列用于 PROFINET 帧,

GUID-20210426-CA0I-GLSM-SQBL-NJ23RCN0WKMD-low.gif图 8 Sitara 处理器上 PROFINET 从站的软件架构

后两个队列则用于 TCP/IP 帧。如果队列已满,则前往该队列的帧将被丢弃。过大的 TCP/IP 流量并不会影响 PROFINET 流量,因为它们使用不同的队列。这种依照 PROFINET QoS 将流量分到不同队列的方式有助于设备承受大型网络中的任何流量。

适用于循环数据的专用低延迟接口

集成到 Sitara 处理器上的 PROFINET 针对应用与 ICSS 之间的循环 I/O 数据交换实现了一种低延迟实时接口。采用这种接口时,不会分别通过主机和端口队列接收和传输循环数据帧。PROFINET 循环数据帧会在 PRU-ICSS 中终止,然后数据将通过三路缓冲直接提供给应用。此时采用三路缓冲管理来交换循环数据,主机和 PRU-ICSS 便始终能找到用于存储数据的缓冲区。

PROFINET 软件架构

Sitara 处理器上集成的 PROFINET 从站实现方案有三个主要软件组件。第一个是在设备的 PRU-ICSS 中实现第 2 层功能的微代码;第二个是在 Arm 内核上运行的 PROFINET 从站协议栈;而第三个是工业应用。TI 还在支持其 Sitara 处理器的软件开发套件中提供了其他组件,如协议适应层和设备驱动程序。

无论采用经过 TI 测试的 PROFINET 协议栈还是第三方协议栈,图 8 所示的架构均无需改动即可正常工作。这一集成的解决方案还独立于操作系统,并且可参考 TI 的 PROFINET API 指南进行任何必要的调整。

固件

图 9 所示的固件架构显示了 PRU-ICSS 上集成的 PROFINET 从站功能。在 PROFINET 第 2 层,PRU 执行的任务包括 CPM/PPM 处理、数据保持计时器 (DHT)、DCP 识别过滤器、直通交换、错误检测和主机接口处理。

PRU-ICSS 在内部共享存储器中提供便于使用的 PROFINET 寄存器

GUID-20210426-CA0I-17JN-8BVB-JTJSX8N05WHM-low.gif图 9 PROFINET 固件架构

空间。PRU 具有确定性实时处理能力,因此能够以一致、可预测的处理延迟来处理 PROFINET 帧。

CPM/PPM 处理

CPM 帧将接受固件的解析以便检查是否应通知主机处理器。如果接收的 CPM 帧的帧 ID 与活动 IOCR 所配置的帧 ID 匹配,则仅中断主机。固件会将 CPM 帧存储在预定义的缓冲区,以便数据能够供中断之前的主机随时取用。

所有有效 IOCR 的 PPM 帧均由 PRU-ICSS 上运行的固件生成/产生。主机仅需要在最初使用 TI 的 PROFINET API 来配置为所有 IOCR 生成 PPM 帧时所需的所有信息。在每个阶段的开始,固件会确定在这一特定阶段需要传输哪些 PPM 帧,然后在不需要主机干预的情况下将这些帧传输出来。

数据保持计时器 (DHT)

数据保持计时器在 PRU-ICSS 固件中实现,每当 DHT 到期时,就会向运行 PROFINET 协议栈的 Arm 内核提交中断。对于每个 IOCR 或 CPM 连接,固件都会维持一个 DHT。每当收到一个 CPM 帧时,固件便会为相关的 IOCR 更新数据保持时间。如果特定 CPM 对应的 DHT 出现超时,则固件会关闭与该 IOCR 相关的所有 PPM。仅当 DHT 超时后才会中断主机处理器。可同时存在多个 IOCR,因此在固件中gou DHT 会显著减轻 Arm 内核的处理负担。

DCP 识别过滤器

为了减少到达 Arm 内核的 DCP 识别请求帧的数量,PRU-ICSS 固件中采用了 DCP 识别过滤器,以便滤除所有不属于该主机的 DCP 识别帧。驱动程序中提供了一个 API 供协议栈配置站名和长度,以便随后由固件用于进行过滤。

集成直通交换机

PROFINET 固件中集成了一个双端口直通交换机。此交换机可处理非实时流量,并可与主机上运行的 PROFINET 和 TCP/IP 协议栈进行交互。它实现了适用于多播地址的 PROFINET 过滤数据库 (FDB),并在主机和端口接口上使用四个优先级队列来实现 PROFINET 服务质量 (QoS)。该交换机的学习功能在主机端实现。

轻松进行 PROFINET 集成

TI 已简化 PROFINET 与 Sitara 处理器的集成过程。用于集成 PROFINET 从站的所有必要工具和软件代码都能在处理器软件开发套件 (Processor SDK) 和 PRU-ICSS 工业软件页面中找到。在每个开发平台上,PRU-ICSS 工业软件页面和 Processor SDK 均包括用于以下各项的固件:PROFINET 协议、软件驱动程序、硬件初始化例程、协议栈 API 对应的适应层、PROFINET 协议栈以及应用本身。支持文档将指导用户如何修改应用的功能以及在应用中编译新功能。

为了方便 PROFINET 协议栈的集成,TI 与第三方软件供应商密切合作,在 Sitara 设备上验证其 PROFINET 从站

协议栈代码。此协议栈经过移植后能够在 PRU-ICSS 上正常工作,经测试可确保无缝集成。客户在将产品投放市场之前,应联系此第三方来获取协议栈的许可证。TI Sitara PRU-ICSS 工业软件页面中采用对象形式提供了一个 PROFINET 协议栈副本,用于评估、开发和测试等。

 

Texas Instruments

© Copyright 1995-2025 Texas Instruments Incorporated. All rights reserved.
Submit documentation feedback | IMPORTANT NOTICE | Trademarks | Privacy policy | Cookie policy | Terms of use | Terms of sale