一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于AM335X的EtherCat主站控制系统

2022-09-14 19:51:23 来源:中国专利 TAG:

一种基于am335x的ethercat主站控制系统
技术领域
1.本发明涉及ethercat主站领域,特别是指一种基于am335x的ethercat主站控制系统。


背景技术:

2.伺服控制系统是工业自动化领域中的核心环节,传统伺服系统由plc、单片机等控制器通过多组线缆连接伺服驱动器io口进行基础控制,安装、布线繁琐,占用控制器更多资源。随着工业通信技术发展,产生了各类总线接口产品以及总线控制器,诸如modbus、can、profibus、profinet等总线类产品,ethercat最早是由德国beckhoff公司研发,是一种开放架构,以以太网为基础的现场总线系统。目前国内支持ethercat接口的工业从站设备较为丰富,但支持ethercat接口的主站系统稀缺,beckhoff公司的主站控制器占据绝对市场。


技术实现要素:

3.本发明的主要目的在于克服现有技术中的上述缺陷,提出本发明提供了一种利用嵌入式开发技术,结合各类开源软件的应用与优化,设计出低成本、高可靠性、应用简单的ethercat主站控制系统。
4.一种基于am335x的ethercat主站控制系统,包括如下:
5.ethercat主站,包括标准的以太网通信控制芯片,物理层芯片phy,隔离变压器和rj45连接器插座模块,其中,通信控制芯片用于负责以太网数据链路层mac;物理层芯片phy实现数据编码、译码和收发,与通信控制芯片通过媒体独立接口交互数据;物理层芯片phy通过隔离变压器与rj45连接器插座模块模块连接,其中隔离变压器用于隔离信号;
6.ethercat从站,物理层器件,从站控制芯片和从站控制微处理器,物理层器件用于构成硬件组成,从站控制芯片用于处理ethercat数据帧,进行数据链路层中数据的提取和插入,完成ethercat主站与从站本地应用的数据交换;从站控制微处理器采样设备的数据,写入从站控制芯片,通过总线与ethercat主站通信,并通过从站控制芯片读取ethercat主站发送的控制数据,实现设备控制;
7.ethercat主站发送下行报文到总线,通过每个ethercat从站时,各个ethercat从站从数据帧中抽取数据或将数据插入到数据帧,并传输到下个ethercat从站;上行报文为从ethercat从站发送至ethercat主站。
8.ethercat主站控制系统在以am335x为核心的系统板上移植linux操作系统,并结合开源软件soem和igh对ethercat的移植,使am335x的其中一个网口工作在ethercat模式,并根据pdo映射关系,对映射的内存空间进行相应从站的访问与控制;另一个网口进行tcp/udp通信,接入局域网进行远程控制。
9.具体地,ethercat报文结构包括:报文头,数据字段和此条报文的工作计数器,所述报文头的包括命令、索引、地址区、报文数据区长度、保留位、后续报文标志以及状态位。
10.具体地,还包括:
11.总线内存管理单元,所述总线内存管理单元用于ethercat报文的逻辑寻址,将从站控制微处理器的物理存储地址映射到网段内的逻辑地址,实现数据交换时的寻址过程;
12.总线内存管理单元由ethercat主站进行配置,且在总线初始化过程中,通过配置文件发送给ethercat从站设备,在ethercat主站系统中,当数据帧通过ethercat从站节点时,若报文是逻辑寻址方式,则该ethercat从站通过总线内存管理单元检查是否有数据匹配,若有,将物理存储空间中的输入型数据插入到ethercat子报文数据区的相应位置,同时从ethercat子报文数据区的相应位置抽出输出性数据到物理存储空间。
13.具体地,还包括:系统时钟和本地时钟;
14.所述系统时钟是分布时钟对ethercat主站控制系统的整个系统计时,用于同步ethercat主站和ethercat从站;
15.所述本地时钟包括主时钟和从时钟,主时钟和各从时钟独立运行。
16.具体地,还包括:ethercat状态机;
17.ethercat状态机用于负责协调ethercat主站和ethercat从站在初始化和运行时的状态关系;所述状态关系包括初始化状态,预运行状态,安全运行状态,运行状态;
18.初始化状态:ethercat主站和ethercat从站应用层建立通信关系,但无直接的数据交换,在此状态下完成初始化工作,包括但不限于:从站控制芯片的配置寄存器,配置邮箱通道参数;
19.预运行状态:使用邮箱通信方式,不能采用过程数据通信,此状态下,ethercat主站通过邮箱通信方式和ethercat从站交换应用程序的初始化操作和参数;
20.安全运行状态:此状态下,ethercat从站应用程序从总线读入数据,但不能把信号输出到总线上,采用邮箱通信和部分过程数据通信;
21.运行状态:此状态下,ethercat主站收发数据帧,ethercat主站应用程序解析数据包获取ethercat从站过程数据,ethercat从站应用程序从总线上读取输入数据,并产生输出信号到总线,实现过程数据的上行和下载。
22.由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
23.本发明提出了一种基于am335x的ethercat主站控制系统,包括:ethercat主站,包括标准的以太网通信控制芯片,物理层芯片phy,隔离变压器和rj45连接器插座模块,其中,通信控制芯片用于负责以太网数据链路层mac;物理层芯片phy实现数据编码、译码和收发,与通信控制芯片通过媒体独立接口交互数据;物理层芯片phy通过隔离变压器与rj45连接器插座模块模块连接,其中隔离变压器用于隔离信号;ethercat从站,物理层器件,从站控制芯片和从站控制微处理器,物理层器件用于构成硬件组成,从站控制芯片用于处理ethercat数据帧,进行数据链路层中数据的提取和插入,完成ethercat主站与从站本地应用的数据交换;从站控制微处理器采样设备的数据,写入从站控制芯片,通过总线与ethercat主站通信,并通过从站控制芯片读取ethercat主站发送的控制数据,实现设备控制;ethercat主站发送下行报文到总线,通过每个ethercat从站时,各个ethercat从站从数据帧中抽取数据或将数据插入到数据帧,并传输到下个ethercat从站;上行报文为从ethercat从站发送至ethercat主站;本发明提供了一种利用嵌入式开发技术,结合各类开源软件的应用与优化,设计出低成本、高可靠性、应用简单的ethercat主站控制系统,有效检测输入的数字信号或模拟信号,且能够实现us级别的报文传输。
24.(2)本发明利用嵌入式技术,在以am335x为核心的系统板上移植linux操作系统,并修改内核,保证实时性,以满足ethercat对时间同步的高精度要求,结合开源软件soem和igh对ethercat的移植经验,让am335x的其中一个网口工作在ethercat模式,并根据pdo映射关系,对映射的内存空间进行相应从站的访问与控制。另一个网口可以进行正常的tcp/udp等通信,从而接入局域网进行远程控制。该设计基于arm内核,具有低功耗、高度集成化等特点,基于linux的操作系统,跟windows系统相比,具有可裁剪、启动快、实时性强等特点,并且在电源直接断电后对下次启动不会产生任何不利影响。
附图说明
25.图1为本发明实施例提供的ethercat主站链路层和物理层连接原理图;
26.图2为本发明实施例提供的ethercat从站硬件组成结构图;
27.图3为本发明实施例提供的配置阶段流程图;
28.图4为本发明实施例提供的周期运行阶段流程图。
具体实施方式
29.本发明提供了一种基于am335x的ethercat主站控制系统,利用嵌入式开发技术,结合各类开源软件的应用与优化,设计出低成本、高可靠性、应用简单的ethercat主站控制系统,有效检测输入的数字信号或模拟信号,且能够实现us级别的报文传输。
30.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
31.一种基于am335x的ethercat主站控制系统,包括如下:
32.ethercat主站,包括标准的以太网通信控制芯片,物理层芯片phy,隔离变压器和rj45连接器插座模块,其中,通信控制芯片用于负责以太网数据链路层mac;物理层芯片phy实现数据编码、译码和收发,与通信控制芯片通过媒体独立接口交互数据;物理层芯片phy通过隔离变压器与rj45连接器插座模块模块连接,其中隔离变压器用于隔离信号;
33.如图1为ethercat主站链路层和物理层连接原理图,一般pc主站中,使用的是网络结构卡,网卡芯片会以集成以太网通信控制器和物理数据收发器;而在嵌入式主站中,通信控制器一般会嵌入到开发平台的核心处理器中;
34.ethercat从站,物理层器件,从站控制芯片和从站控制微处理器,物理层器件用于构成硬件组成,从站控制芯片用于处理ethercat数据帧,进行数据链路层中数据的提取和
插入,完成ethercat主站与从站本地应用的数据交换;从站控制微处理器采样设备的数据,写入从站控制芯片,通过总线与ethercat主站通信,并通过从站控制芯片读取ethercat主站发送的控制数据,实现设备控制;如图2为ethercat从站硬件组成结构图。
35.ethercat主站发送下行报文到总线,通过每个ethercat从站时,各个ethercat从站从数据帧中抽取数据或将数据插入到数据帧,并传输到下个ethercat从站;上行报文为从ethercat从站发送至ethercat主站。
36.具体地,ethercat报文结构包括:报文头,数据字段和此条报文的工作计数器,所述报文头的包括命令、索引、地址区、报文数据区长度、保留位、后续报文标志以及状态位。
37.具体地,还包括:
38.总线内存管理单元,所述总线内存管理单元用于ethercat报文的逻辑寻址,将从站控制微处理器的物理存储地址映射到网段内的逻辑地址,实现数据交换时的寻址过程;
39.总线内存管理单元由ethercat主站进行配置,且在总线初始化过程中,通过配置文件发送给ethercat从站设备,在ethercat主站系统中,当数据帧通过ethercat从站节点时,若报文是逻辑寻址方式,则该ethercat从站通过总线内存管理单元检查是否有数据匹配,若有,将物理存储空间中的输入型数据插入到ethercat子报文数据区的相应位置,同时从ethercat子报文数据区的相应位置抽出输出性数据到物理存储空间。
40.具体地,还包括:系统时钟和本地时钟;
41.所述系统时钟是分布时钟对ethercat主站控制系统的整个系统计时,用于同步ethercat主站和ethercat从站;
42.所述本地时钟包括主时钟和从时钟,主时钟和各从时钟独立运行。
43.具体地,还包括:ethercat状态机;
44.ethercat状态机用于负责协调ethercat主站和ethercat从站在初始化和运行时的状态关系;所述状态关系包括初始化状态,预运行状态,安全运行状态,运行状态;
45.初始化状态:ethercat主站和ethercat从站应用层建立通信关系,但无直接的数据交换,在此状态下完成初始化工作,包括但不限于:从站控制芯片的配置寄存器,配置邮箱通道参数;
46.预运行状态:使用邮箱通信方式,不能采用过程数据通信,此状态下,ethercat主站通过邮箱通信方式和ethercat从站交换应用程序的初始化操作和参数;
47.安全运行状态:此状态下,ethercat从站应用程序从总线读入数据,但不能把信号输出到总线上,采用邮箱通信和部分过程数据通信;
48.运行状态:此状态下,ethercat主站收发数据帧,ethercat主站应用程序解析数据包获取ethercat从站过程数据,ethercat从站应用程序从总线上读取输入数据,并产生输出信号到总线,实现过程数据的上行和下载。
49.每个ethercat主站程序需要包括两个步骤:配置阶段和周期运行阶段;
50.如图3,配置阶段:
51.(1)请求一个主站,运行主站程序,首先请求一个主站,调用函数ecrt_request_master(),返回一个指向ec_master_t结构类型的主站指针,后续都是通过该指针来实现主站的相关操作;
52.(2)创建过程数据域
53.要进行过程数据通信,就一定要创建过程数据域,调用函数ecrt_request_creat_domain(),返回一个指向ec_domain_t结构类型的数据域指针,后续都是通过该指针来实现数据域的相关操作;
54.(3)获取从站配置
55.对于每个从站来说,都要调用函数ec_master_slave_config(),获得一个指向ec_slave_config_t结构类型的当前从站配置指针,不同的从站调用函数时,传递的参数不同,这些的参数都可以从一个xml文件格式的从站信息描述文档中获得,简称xml文档;
56.(4)注册过程数据到数据域中
57.进行过程数据通信,要将希望获得的过程数据信息注册到相关数据域中,只有注册了才能获得,不注册的过程数据,体现在数据报文中,无论是主站还是从站都不会处理,在这之前定义变量时,就要把过程数据信息存放在相关数组中,注意该数组要以空结构终止,调用函数ec_domain_reg_pdo_entry_list()的时候将第(2)步的数据域指针和这个数组指针传递到参数内。
58.(5)激活主站
59.激活主站,调用函数ec_master_acticate(),传递第(1)步获得的主站指针作为参数;
60.(6)获取过程数据域地址指针
61.主站处理过的过程数据都会存放在一个地址空间中,称之为过程数据域地址,调用函数ec_domain_data(),传递第(2)步获得的数据域指针,可以返回一个指向该地址空间的指针;
62.(7)执行周期运行函数
63.结束配置过程之后,设置一个定时器,配合信号函数的使用执行周期性任务cyclic_tsak(),即进入了周期运行阶段;
64.如图4,周期运行阶段:
65.(1)主站直接从硬件获取数据帧报文并处理
66.调用函数ec_master_receive(),传递主站指针作为参数,完成报文解析过程;
67.(2)检查数据域报文状态
68.调用函数ec_domain_process(),传递数据域指针作为参数,检查工作计数器是否与预期一致;
69.(3)读写过程数据相关函数
70.这里直接对内存进行操作,针对存放过程数据中的过程数据域地址进行读写
71.(4)发送数据域报文
72.将数据域所有报文插入到主站报文序列,调用ec_domain_queue(),传递数据域指针作为参数;
73.(5)发送主站报文
74.将主站所有报文发送到传输序列,调用ec_master_send(),传递主站指针作为参数,返回值为发送报文的长度(字节数)。
75.本发明提出了一种基于am335x的ethercat主站控制系统,包括:ethercat主站,包括标准的以太网通信控制芯片,物理层芯片phy,隔离变压器和rj45连接器插座模块,其中,
通信控制芯片用于负责以太网数据链路层mac;物理层芯片phy实现数据编码、译码和收发,与通信控制芯片通过媒体独立接口交互数据;物理层芯片phy通过隔离变压器与rj45连接器插座模块模块连接,其中隔离变压器用于隔离信号;ethercat从站,物理层器件,从站控制芯片和从站控制微处理器,物理层器件用于构成硬件组成,从站控制芯片用于处理ethercat数据帧,进行数据链路层中数据的提取和插入,完成ethercat主站与从站本地应用的数据交换;从站控制微处理器采样设备的数据,写入从站控制芯片,通过总线与ethercat主站通信,并通过从站控制芯片读取ethercat主站发送的控制数据,实现设备控制;ethercat主站发送下行报文到总线,通过每个ethercat从站时,各个ethercat从站从数据帧中抽取数据或将数据插入到数据帧,并传输到下个ethercat从站;上行报文为从ethercat从站发送至ethercat主站;本发明提供了一种利用嵌入式开发技术,结合各类开源软件的应用与优化,设计出低成本、高可靠性、应用简单的ethercat主站控制系统,有效检测输入的数字信号或模拟信号,且能够实现us级别的报文传输。
76.(2)本发明利用嵌入式技术,在以am335x为核心的系统板上移植linux操作系统,并修改内核,保证实时性,以满足ethercat对时间同步的高精度要求,结合开源软件soem和igh对ethercat的移植经验,让am335x的其中一个网口工作在ethercat模式,并根据pdo映射关系,对映射的内存空间进行相应从站的访问与控制。另一个网口可以进行正常的tcp/udp等通信,从而接入局域网进行远程控制。该设计基于arm内核,具有低功耗、高度集成化等特点,基于linux的操作系统,跟windows系统相比,具有可裁剪、启动快、实时性强等特点,并且在电源直接断电后对下次启动不会产生任何不利影响。
77.上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围行为。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献