当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]时间敏感网络(TSN)是一组IEEE 802.1标准,旨在为以太网提供确定性的数据传输能力,满足工业自动化等领域对实时性的严格要求。工业PLC(可编程逻辑控制器)是工业自动化的核心设备,负责控制生产过程中的各种设备和工艺流程。将TSN技术应用于工业PLC,可以显著提高系统的实时性、可靠性和灵活性。


一、TSN与工业PLC概述

时间敏感网络(TSN)是一组IEEE 802.1标准,旨在为以太网提供确定性的数据传输能力,满足工业自动化等领域对实时性的严格要求。工业PLC(可编程逻辑控制器)是工业自动化的核心设备,负责控制生产过程中的各种设备和工艺流程。将TSN技术应用于工业PLC,可以显著提高系统的实时性、可靠性和灵活性。


二、NXP i.MX RT1170简介

NXP i.MX RT1170是一款高性能的跨界处理器,结合了微控制器(MCU)的易用性和微处理器(MPU)的高性能。它集成了多个以太网控制器,支持TSN功能,包括gPTP(通用精确时间协议)时钟同步和流量调度,非常适合用于工业PLC的TSN实现。


三、gPTP时钟同步实现

(一)gPTP原理

gPTP是TSN中用于实现高精度时钟同步的协议,它基于IEEE 1588精确时间协议(PTP)发展而来。gPTP通过主从时钟架构,主时钟周期性地发送时间同步报文,从时钟根据这些报文调整自己的本地时钟,从而实现整个网络中的时钟同步。


(二)i.MX RT1170上的gPTP实现步骤

1. 硬件准备

选择支持gPTP的以太网控制器:i.MX RT1170的以太网控制器需要支持IEEE 1588时间戳功能,以便在发送和接收报文时记录精确的时间戳。

连接网络:将i.MX RT1170与TSN交换机或其他支持gPTP的设备连接,确保网络拓扑符合gPTP的要求。

2. 软件配置

选择操作系统和协议栈:可以使用NXP提供的MCUXpresso SDK,其中包含了gPTP协议栈的实现。也可以选择开源的gPTP协议栈,如LinuxPTP,并进行移植。

配置gPTP参数:

主时钟配置:如果i.MX RT1170作为主时钟,需要设置其时钟源(如外部晶振)的精度和稳定性参数,以及gPTP报文的发送周期和优先级。

从时钟配置:如果i.MX RT1170作为从时钟,需要配置其接收gPTP报文的接口,并设置时钟同步的算法和参数,如同步间隔、延迟测量方式等。

3. 代码示例(基于MCUXpresso SDK)

c

#include "fsl_enet.h"

#include "fsl_gptp.h"


// gPTP实例句柄

gptp_handle_t gptpHandle;


// 初始化gPTP

void gptp_init(void) {

   gptp_config_t gptpConfig;


   // 获取默认配置

   GPTP_GetDefaultConfig(&gptpConfig);


   // 配置gPTP参数

   gptpConfig.ptpDomain = 0;  // PTP域

   gptpConfig.twoStepFlag = true;  // 使用两步时钟

   gptpConfig.primaryDomain = true;  // 作为主时钟(如果需要)


   // 初始化gPTP

   GPTP_Init(ENET, &gptpHandle, &gptpConfig, CLOCK_GetFreq(kCLOCK_CoreSysClk));


   // 启动gPTP

   GPTP_Start(&gptpHandle);

}


// 处理gPTP事件(如报文接收)

void gptp_event_handler(ENET_Type *base, gptp_handle_t *handle, gptp_event_t event, void *param) {

   switch (event) {

       case kGPTP_EventSyncReceived:

           // 处理同步报文接收事件

           break;

       case kGPTP_EventDelayReqReceived:

           // 处理延迟请求报文接收事件

           break;

       default:

           break;

   }

}


int main(void) {

   // 初始化硬件(如时钟、以太网控制器等)

   // ...


   // 初始化gPTP

   gptp_init();


   // 注册gPTP事件处理函数

   GPTP_SetEventHandler(&gptpHandle, gptp_event_handler, NULL);


   while (1) {

       // 主循环

   }

}

4. 时钟同步测试与优化

测试时钟同步精度:使用高精度的时钟测量工具,测量主从时钟之间的时间偏差,确保时钟同步精度满足工业PLC的要求(通常在微秒级甚至纳秒级)。

优化网络参数:根据测试结果,调整gPTP报文的发送周期、网络拓扑和链路质量,以提高时钟同步的稳定性和精度。

四、流量调度实现

(一)TSN流量调度机制

TSN定义了多种流量调度机制,如基于时间感知整形器(TAS)、信用整形器(CBS)和异步流量整形器(ATS)等,用于保证不同优先级流量的确定性传输。在工业PLC中,通常使用TAS机制来确保关键控制流量的实时传输。


(二)i.MX RT1170上的TAS实现步骤

1. 流量分类与标记

定义流量类型:根据工业PLC的业务需求,将流量分为关键控制流量、实时监控流量和普通数据流量等不同类型。

标记流量优先级:使用VLAN标签或802.1Q优先级字段对不同类型的流量进行标记,以便TSN交换机和i.MX RT1170能够识别和处理。

2. 配置TAS门控列表(GCL)

GCL原理:GCL定义了在不同时间窗口内允许传输的流量类型。通过合理配置GCL,可以确保关键控制流量在预定的时间窗口内优先传输,避免与其他流量发生冲突。

配置步骤:

确定时间窗口:根据工业PLC的控制周期和实时性要求,确定关键控制流量的传输时间窗口。

配置GCL条目:在i.MX RT1170的以太网控制器中配置GCL条目,指定每个时间窗口内允许传输的流量类型和对应的VLAN ID或优先级。

3. 代码示例(基于MCUXpresso SDK)

c

#include "fsl_enet.h"

#include "fsl_tsn.h"


// TSN实例句柄

tsn_handle_t tsnHandle;


// 初始化TSN和TAS

void tsn_tas_init(void) {

   tsn_config_t tsnConfig;

   tsn_tas_config_t tasConfig;


   // 获取默认TSN配置

   TSN_GetDefaultConfig(&tsnConfig);


   // 初始化TSN

   TSN_Init(ENET, &tsnHandle, &tsnConfig, CLOCK_GetFreq(kCLOCK_CoreSysClk));


   // 配置TAS参数

   tasConfig.gateControlListSize = 8;  // GCL条目数量

   // 配置GCL条目(示例)

   tasConfig.gateControlList[0].timeInterval = 1000;  // 时间窗口长度(单位:纳秒)

   tasConfig.gateControlList[0].gateStates = 0x01;  // 允许传输的流量类型(二进制位表示)

   // ... 配置其他GCL条目


   // 初始化TAS

   TSN_TAS_Init(&tsnHandle, &tasConfig);


   // 启动TAS

   TSN_TAS_Start(&tsnHandle);

}


int main(void) {

   // 初始化硬件(如时钟、以太网控制器等)

   // ...


   // 初始化TSN和TAS

   tsn_tas_init();


   while (1) {

       // 主循环

   }

}

4. 流量调度测试与验证

测试流量传输延迟:使用网络测试工具,测量关键控制流量的传输延迟和抖动,确保其满足工业PLC的实时性要求。

验证流量隔离性:检查不同优先级流量之间的隔离性,确保关键控制流量不会受到其他流量的干扰。

五、总结

通过在NXP i.MX RT1170上实现gPTP时钟同步和流量调度,可以构建一个基于TSN的工业PLC系统,实现高精度的时钟同步和确定性的数据传输。在实际应用中,需要根据具体的工业场景和需求,对gPTP和TAS的参数进行优化和调整,以确保系统的性能和可靠性。同时,还需要考虑网络安全、故障诊断等方面的问题,以保障工业PLC系统的稳定运行。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭