[应用相关]

STM32与Ethercat开发资料搜集<2>

[复制链接]
楼主: goodluck09876
手机看帖
扫描二维码
随时随地手机跟帖
goodluck09876|  楼主 | 2019-8-21 17:08 | 显示全部楼层
475055d5d0a1dc6bec.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:09 | 显示全部楼层
sPl通信支持基于三条线的全双工同步传输,以及基于双线的单工同步传输,其中一条可作为双向数据线;传输格式支持g位或16位传输帧格式选择;支持主模式或从模式操作以及多主模式功能,频率最大值都为fPCLK}2,对于主模式和从模式都可实现更快的通信;用于确保可靠通信的硬件CRC功能:在发送模式下可将CRC值作为最后一个字节发送、根据收到的最后一个字节自动进行CRC错误校验;具有总线忙状态标志;具有DMA功能的1字节发送和接收缓冲器:发送和接收请求。

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:10 | 显示全部楼层
7745d5d0a6a9d9af.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:13 | 显示全部楼层
    在从站软件中设计CoE对象字典管理过程数据。Ether CAT协议在应用层支持
CANopen协议,CANopen协议是基于CAN C ControlAeraNetwork)总线的系统所
制定的应用层协议,CAN总线是常用于汽车控制领域的总线[}2}} o CANopen协议支
持节点功能随意扩充,Ether CAT就对该协议进行了扩充。扩充后CANopen协议
主要的功能有:
    1)使用邮箱通信访问CANopen对象字典及其对象,实现网络初始化;
    2)使用CANopen应急对象和可选的事件驱动PDO消息,实现网络管理;
    3)使用对象字典映射过程数据,周期性传输指令数据和状态数据。
    CANopen协议的核心概念是设备对象字典(OD:ObjectDictionary)的应用[Zs}
对象字典是一个有序的对象组,每个对象采用一个16位的索引值来寻址,为了允
许访问数据结构中的单个元素,同时定义了一个8位的子索引。CANopen网络中
每个节点都有一个对象字典。对象字典包含了描述该设备和其网络行为的所有参
数。用户应用CANopen协议时,需要传递的配置信息和应用信息都放在过程数据
对象PDO CProcessdataobject)和服务数据对象SDO C Servicedataobject)里面[30]
PDO和SDO的通讯区别在于,PDO属于过程数据,即单向传输,无需接收节点
回应CAN报文来确认,从通讯术语上来说是属于“生产消费”模型,如图4-1所示。
SDO属于服务数据,有指定被接收节点的地址,并且需要指定的接收节点回应CAN
报文来确认己经接收。如果超时没有确认,则发送节点将会重新发送原报文[29]。
这种通讯方式属于常见的“服务器客户端”的通信模型,如图4-2所示。

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:14 | 显示全部楼层
990775d5d0b7613cf3.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:15 | 显示全部楼层
    完成从站的配置。XML文件是设备描述文件,烧写在从站控制器的EEPROM
中,ET1100上电后,会从EEPROM加载配置参数,完成启动初始化工作。利用
软件工具TwinCAT将编写好的从站设备描述文件下载到从站的EEPROM中,以
便主站设备扫描从站时,主站能够对从站进行正确有效的配置。在Ether CAT网络
通信中,Ether CAT主站能够根据从站描述文件生成网络信息文件,从而对从站进
行正确有效的配置[[30]。根据项目需求,修改EEPROM文件需要两步,此处只是实
验中的部分实例,其他对象字典的修改与该实例步骤相符:

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:15 | 显示全部楼层
805515d5d0ba5190d2.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:16 | 显示全部楼层
    ②首先需要修改的是数据类型(DataType)和对象(O句ect)两个目录里的内
容:DataType选项中是使用到的对象类型定义,即每一个对象都有其自己的定义,
包括对象里面子索引的个数,对象总的数据长度。此处要改到的是DT 1 a02和
DT6020两个数据类型。修改后的结果如图4-4所示。两个选项中分别添加了子索
引的个数并修改了总的数据长度。

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:16 | 显示全部楼层
646735d5d0be981971.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:16 | 显示全部楼层
878185d5d0bf6158c6.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:16 | 显示全部楼层
167405d5d0c038d3e4.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:18 | 显示全部楼层
268775d5d0c4e1c115.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:18 | 显示全部楼层
481605d5d0c5fcb4c5.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:19 | 显示全部楼层
609805d5d0ca6dd887.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:20 | 显示全部楼层
777835d5d0cd0a68f1.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:20 | 显示全部楼层
749825d5d0ce2dcb96.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:21 | 显示全部楼层
从站初始化主要包括两部分,初始化从站硬件接口和初始化EtherCAT功能模块。其中初始化硬件接口首先需要初始化STM犯时钟,然后再对IO接口、SPI接口初始化;EtherCAT功能模块初始化主要是初始化从站控制器ET1100}ET1100的初始化通过也通过配置寄存器来实现。

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:22 | 显示全部楼层
318265d5d0d601e7a1.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:22 | 显示全部楼层
303875d5d0d71da4b4.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-8-21 17:23 | 显示全部楼层
    初始化协议相关变量。在进入从站主循环之前,需对协议相关变量进行初始
化,使之达到就绪状态,为后续与主站通信做好准备。由于需要区分每个CANopen
节点的输入与输出,所以PDO分为TxPDO(发送PDO)和RxPDO(接收PDO)}
发送和接收是以CANopen从站节点为参考。本项目中使用输出过程数据对象
0x7010管理输出过程数据,使用输入过程数据对象0x6000和0x6020分别管理输
入过程对象。使用RxPDO映射对象0x1601将所述的输出过程数据对象映射到
RxPDO,使用TxPDO映射对象Oxla00和Oxla02分别将所述的输入过程数据对象
映射到TxPDO。最后使用Ox1C12对象配置通道SM2,使用Ox1C13对象配置通道
SM3。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则