I am trying to write a simulator for asynchronous CAN nodes. I encountered few problems.
If two synchronous nodes try to transmit at same time, higher priority one wins. However, what will happen when two asynchronous nodes try to transmit in same clock cycle? If lower priority one transmits first, does the higher one leave arbitration or stay and try to get arbitration?
Two synchronous nodes can transmit consecutively. However, what will happen two asynchronous nodes try to transmit consecutively? If clock of second node becomes HIGH right before transmission of the first one ends, does the second one wait for nearly a clock period to try to get arbitration? (Nodes are assumed to active high)
Thanks in advance.