首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ethercat模块的以太网驱动程序

ethercat模块的以太网驱动程序
EN

Stack Overflow用户
提问于 2013-04-14 02:33:54
回答 1查看 1.1K关注 0票数 0

我有基于网络设备的EK1101,EL6002,EL2034模块。这些模块通过以太网电缆连接PC以太网端口。我已经用一些应用程序测试了这些模块,它在我的PC上工作得很好。

EK1101作为耦合器工作。它连接PC以太网端口和其他从模块( EL6002、EL2034等)

作为RS232通信工作的EL6002。EL2034作为数字I/O工作。类似地,我们有超过10种不同的设备。这些模块同时与EK1101耦合器接口。

如何实现为Linux驱动程序?我是修改现有的网络驱动程序还是从头开始新的驱动程序?我需要写什么类型的驱动,字符驱动还是网络驱动?如果它的字符驱动程序,我如何通过以太网口传输数据?

EN

回答 1

Stack Overflow用户

发布于 2015-07-01 09:42:40

使用串行切片(EL6002),您只能为每个端口的每个交换发送22字节(每个方向)。在全串行带宽(115k)以1 1kHz的频率更新时,您不会错过更新,而不会使发射器饥饿和/或在接收器上丢失数据。如果这是一个问题,您可能需要声明对用于控制EtherCAT循环的以太网端口的独占控制。这需要某种形式的根权限,否则总会有人尝试通过端口发送数据包,从而影响您的计时。您没有给出关于应用程序或时间需求的太多细节,所以这对您来说可能并不重要。

我一直在使用Etherlab IgH开源堆栈,它需要根用户权限才能加载实现底层堆栈的内核模块。完成后,您可以将其他所有内容设置为在没有root权限的情况下从用户空间运行。

一旦您的应用程序获得了对主堆栈的访问权限,您就设置了一个数据交换域( TwinCat称之为任务),您将拥有一个可用于监视EtherCAT帧数据的共享内存区域。您的应用程序负责决定何时发送和接收域更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15991403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档