以下是关于 EtherCAT 的几行介绍:
EtherCAT 主站发送一个通过每个节点的电报。每个 EtherCAT 从设备“即时”读取寻址到它的数据,并在帧向下游移动时将其数据插入帧中。
我对上述文本的问题:
- “即时”读取数据是什么意思?
- 如何在框架移动时将数据插入框架中?它不需要先复制到缓冲区然后更新吗?
以下是关于 EtherCAT 的几行介绍:
EtherCAT 主站发送一个通过每个节点的电报。每个 EtherCAT 从设备“即时”读取寻址到它的数据,并在帧向下游移动时将其数据插入帧中。
我对上述文本的问题:
从设备实际上并没有像描述中的那样改变现有的数据包。相反,它从一个以太网端口获取数据包信息,并尽可能快地传播该信息,并对电气独立端口进行任何必要的修改。它以非常可预测的传播延迟来做到这一点,从而允许通过整个从属网络进行非常精确的计时。重要的是要意识到数据包不需要在输入端口上完全接收,然后才能在输出端开始计时。事实上,它几乎永远不会。
An EtherCAT network can be compared to a railway where each station can off-load and re-load train cars while the train moves through the station.
What does reading data "on the fly" mean?
It means the reading happens at the same time when the frame is transmitting. It's pretty much like the cut-through technology used by switches. You don't store the whole received frame first, process it, and then forward it. Instead, you read it as it is transmitting through you "on the fly" like a train passing through a station.
How can data be inserted in the frame while its moving?
Doesn't it need to be copied first in a buffer and then updated?
The key to this is all these are done by slave's specific hardware(e.g., FPGA, ASIC). This hardware chip is called EtherCAT Slave Controller (ESC) in EtherCAT's parlance. ESC guarantees the "on the fly" feature.
Refer to this fabulous animation on youtube: EtherCAT Functional Principle.
感谢 Eric Z。没有更好的方法来回答这个问题。
这是倍福的附加链接。他们很好地描述了他们的技术。如果您在观看 YouTube 上的精彩动画后仍有疑问,请访问下面的学习平台并转到章节:“Ethernet 'on the fly'”。