×

Method of data arbitration and collision detection in a data bus

  • US 4,719,458 A
  • Filed: 02/24/1986
  • Issued: 01/12/1988
  • Est. Priority Date: 02/24/1986
  • Status: Expired due to Term
First Claim
Patent Images

1. In a communication system for transmission of digital messages through a data bus between two or more user microprocessors coupled to the data bus by means of a data bus interface integrated circuit, a method for blocking data transmission from the user microprocessor to the data bus when the data bus is busy comprising:

  • synchronizing the communication system with the occurrence of a bus idle condition;

    waiting until the synchronization occurs before transmitting or receiving data messages;

    if the data bus is in an idle condition, determining whether the user microprocessor has a message available to send;

    attempting to win bus arbitration if a message is available to send by sending a message ID byte;

    checking to see whether the message ID byte was received from the data bus;

    checking to see whether the arbitration was won or lost if the message ID byte was received from the data bus, by comparing the received message ID byte to see whether it is equal to the transmitted ID byte;

    sending the rest of the message if the received message ID byte is equal to the transmitted message ID byte;

    determining whether any more message bytes are to be sent to the data bus and sending the next message byte if needed;

    deleting the transmitted message fromthe input queue if the message is complete and returning to resynchronize with the bus idle condition;

    checking to see whether the next message byte was received from the data bus if more messages need to be sent;

    checking to see whether the received byte is equal to the transmitted byte and returning to check whether any more message bytes need to be sent if the received byte is equal to the transmitted byte and terminating the message transmission due to a collision if the received byte is not equal to the transmitted byte and returning to resynchronize with the bus idle condition;

    checking to see whether any message ID byte is to be received if the data bus is in an idle condition;

    checking to see whether the message is of interest to the user microprocessor, returning to resynchronize with the bus idle condition if it is not and saving the received byte if it is;

    checking to see if there is a next byte to be received if the received byte is saved;

    checking to see whether the data bus is in an idle condition and processing the received message if the data bus is in an idle condition before returning to resynchronize with the bus idle condition, but returning to look for the reception of the next byte if the bus is not in an idle condition.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×