在自动化和控制中,人们普遍认为以太网不能作为总线使用,因为它由于数据包冲突而不能实时运行。如果重要的控制包发生碰撞,往往无法保持控制所需的硬实时条件。
但是,如果我有一个与以太网的单点到点连接,而没有在两者之间切换呢?更准确地说,我有一个带有千兆以太网端口的FPGA板,它直接连接到我的控制PC上。我认为千兆以太网通过CAN或USB连接p2p的好处是巨大的,特别是对于高采样率和大量的数据生成在FPGA板上。
对于点对点连接,不可能有任何数据包冲突,因此即使使用以太网,也会给出实时环境,对此,我是否正确?
提前谢谢!~fsb
发布于 2011-01-08 18:12:10
定义实时:)
更严重的是,即使没有冲突,也不能保证数据包不会丢失(例如,由于实现错误)。我见过这种事。
发布于 2011-09-10 03:52:05
对于第一部分,在后来的以太网标准中,点对点链路可以采用全双工模式.您通常可以强制以太网卡进入全双工模式,以避免自动协商方案将其设置为半双工的可能性。
但是,如果不查看整个系统中以太网段所包含的所有其他部分(流量控制、NIC性能、总线、操作系统等)的行为,我就不会说“因此给出了一个实时环境”。相反,即使您的以太网是半双工的,如果您控制并可以自定义网络上的所有系统和软件,您仍然可以强制使用您自己的时间片方案以避免冲突:http://www.embedded.com/design/connectivity/4023291/Real-Time-Ethernet =)
发布于 2011-01-08 18:08:57
正确-在P2P以太网上不可能有任何“冲突”(仅在半双工介质(如同轴)上)。然后,你的实时期望值问题就会在操作系统固件级别被推高。
https://serverfault.com/questions/220310
复制相似问题