While reading this website, I found out tha there is lack of 'determinism' in the Ethernet network bus as compared to some other buses like 1553. What I understand is that Ethernet is a single master full duplex serial data bus. But I cannot understand what is reason for it to be non-deterministic is data communication? If a terminal A wants to send data to terminal B when both are on the same shared Ethernet bus then A can do that without any chance of missing the data. Then why it is called non-deterministic bus?

  • 2
    \$\begingroup\$ No, it isn't "single master". It's a peer-to-peer network, and any node can transmit at any time as long as it thinks the line is idle. \$\endgroup\$ – Dave Tweed Jul 11 '19 at 11:34

Etherenet is based on CSMA/CD, which signifies carrier-sense multiple access with collision detection. It's not single master, any device can send and recieve independly, like multi master / multi slave, so that's why collisions happen. In such case the message sending is repeated, for both devices that had collided but each has it's own random timer, so that one takes over faster.

Determinism is more than just delivering a message from point A to B, but also at exact time.

  • 2
    \$\begingroup\$ I think this states the answer well and in few words. Industry uses modifications of Ethernet such as EtherCAT to provide deterministic networks. \$\endgroup\$ – Transistor Jul 11 '19 at 11:03
  • \$\begingroup\$ @Transistor My mechanic would say: that's another pair of gloves. Indeed in a realtime process an information at exact time interval, even with slow update time is more valuable than fast update with jitter. EtherCAT is still unbeatable for this task. \$\endgroup\$ – Marko Buršič Jul 11 '19 at 11:10
  • \$\begingroup\$ So compared to Ethernet can we say that bus 1553 is more deterministic? \$\endgroup\$ – alt-rose Jul 11 '19 at 11:58
  • \$\begingroup\$ Many aspects come here: physical layer, hardware layer and protocol layer. For dterminism the most challenging part is the protocol layer Hardware has to be such that is not susceptibe to jamming and possibly a failure of one device doesn't affect the others. While the protocol has to synchronize all those devices, to send their data at exact time. \$\endgroup\$ – Marko Buršič Jul 11 '19 at 18:18

It is deterministic only when exactly two nodes are directly connected with an error-free full duplex cable.

When there are three nodes, two of them can happen to send something to the third node at the same time. Packet collision would be detected, so they'd retry after a random amount of time. Then there is a nonzero probability that they delay the same amount of time, and there will be a collision again, and again, and again...

  • \$\begingroup\$ How do we get to know if a certain bus is deterministic or not? Is it the 'packet collision' or some other parameter? \$\endgroup\$ – alt-rose Jul 11 '19 at 13:07
  • \$\begingroup\$ It'd be deterministic if all of the data is guaranteed to arrive in a predefined amount of time. It's not deterministic if some data can be lost or delayed indefinitely. \$\endgroup\$ – followed Monica to Codidact Jul 11 '19 at 16:24
  • \$\begingroup\$ Can you name 1 or 2 data interface buses which are deterministic? \$\endgroup\$ – alt-rose Jul 13 '19 at 5:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.