首页 文章

以太网驱动器用于以太网模块

提问于
浏览
0

我有EK1101,EL6002,EL2034模块,它们基于网络设备 . 这些模块通过以太网电缆连接PC以太网端口 . 我用一些应用程序测试了这些模块,它在我的电脑上工作正常 .

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

EL6002用作RS232通信 . EL2034用作数字I / O.同样,我们有超过10种不同的设备 . 这些模块同时与EK1101耦合器连接 .

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

1 回答

  • 0

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

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

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

相关问题