在自动化和控制中,通常认为以太网不能用作总线,因为由于包冲突,它不是实时的。 如果重要的控制数据包发生冲突,往往无法保持控制所需的硬实时条件。
但是,如果我有一个点对点的以太网连接,两者之间没有切换? 更确切地说,我有一个带有千兆以太网端口的FPGA板,它直接连接到我的控制PC上。 我认为千兆以太网在CAN或USB上用于p2p连接的好处是巨大的,特别是对于FPGA板上的高采样率和大量数据生成。
我正确地指出,点对点连接不会有任何数据包冲突,因此即使使用以太网也能提供实时环境吗?
提前致谢! 〜FSB
定义实时:)
更严重的是,即使没有冲突,也不能保证数据包不会丢失(例如由于执行错误)。 我已经看到了这种情况。
对于第一部分,在后来的以太网标准中可以使用全双工模式进行点对点链路。 您通常可以强制以太网卡进入全双工模式,以避免自动协商scheme将其设置为半双工的可能性。
但是如果不考虑系统所有其他部分(stream量控制,网卡性能,总线,操作系统等)的行为,我不会说“因此给出一个实时环境”。相反,即使您以太网是半双工的,如果您可以自定义networking上的所有系统和软件,您仍然可以采用自己的时间片scheme来避免冲突: http : //www.embedded.com/design/connectivity/4023291/实时以太网 =)
正确 – P2P以太网上不能有任何“冲突”(只在半双工媒体上,如同轴电缆上)。 随着您的实时期望,问题在操作系统固件级别上升。