FPGA设计EtherCAT主站的方法和常见问题
2022/4/11 6:15:57
本文主要是介绍FPGA设计EtherCAT主站的方法和常见问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
作者从事EtherCAT等实时工业网络及运控产品的开发多年。基于FPGA的EtherCAT主站,是不少公司的明智选择。无论是实时性,灵活性,还是性价比均可有很好的保证。
一、基于FPGA的EtherCAT主站的设计方法
FPGA模块主要分为五部分:初始化、状态机、PDO、SDO、同步。
1)初始化模块
初始化主要工作是搜集网络拓扑结构、搜集各个节点的信息内容、初始化各个节点的时间系统与初始同步。
2)状态机模块
该模块主要实现各个节点的状态机转化。
INIT->预运行->安全运行->运行
3)PDO模块
该模块实现PDO数据的准备、发送、接收。
4)SDO模块
该模块实现SDO数据的准备、发送、接收。
5)同步
该模块实现动态时间同步。
将以上五个模块设计完成,加上与ARM/DSP/CPU通信的通信接口,以及与运控相关的模块(模拟量、IO、手轮等),即可实现整个设计。
二、基于FPGA的EtherCAT主站的常见问题
1)初始化模块中,访问节点EEPROM的方式理解比较绕
2)状态机转移中,出现转移不成功,记得读取节点0x134寄存器,查看错误代码,根据错误代码来查看具体不能转移成功的原因。
这里,会出现林林总总的原因,只要对照手册,基本都能解决。
这里,也是整个主站设计中,比较耗时间的问题之一。
3)PDO模块中,部分厂家对设置寻址和逻辑寻址有特殊要求,需要注意。
4)SDO模块中,部分厂家支持FMMU来进行数据访问,部分厂家仅支持寄存器来进行数据访问。
5)同步模块中,出现从站之间的同步问题,主站和从站之间的同步问题,出现产品应用与主站之间的同步问题。
关于同步算法,也是最耗时间的问题。
关于同步方案,可以以FPGA主站作为同步源,也可以以第一个伺服作为同步源;后者难度高点,但作者经历前者的产品应用多一些。
三、EtherCAT主站方案的比较
开发时间层面:基于ARM的开源linux主站最优,基于ARM+FPGA的主站次之
产品成本层面:基于FPGA的主站最优,基于ARM的开源linux主站次之
产品性能层面:基于FPGA的主站最优,基于ARM+FPGA的主站次之。
---------------------
作者:feihufuture
链接:https://bbs.21ic.com/icview-3148480-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
这篇关于FPGA设计EtherCAT主站的方法和常见问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享