EP0805400A1

IEEE488 interface and message handling method

Abstract

An IEEE 488 interface couples a microprocessor to one or more devices that are connected to an IEEE 488 bus. Message transmission speed is improved by overlapping a portion of the T1 bus settling time with the microprocessor's write pulse, when it is known that the data on the microprocessor's bus is valid for a predefined period of time before the write pulse's trailing edge. Improved handshake synchronization is achieved by generating an interrupt signal to notify the microprocessor that the last byte of an incoming message has been received. The terminal count signal generated by the microprocessor's DMA controller is used to detect the end of multiple byte messages sent by the microprocessor. The interface automatically generates an EOI signal on the IEEE 488 bus when the last byte of the message is asserted on the IEEE 488 bus data lines. This greatly simplifies the transmission of multiple byte messages by the microprocessor compared with the protocol used by prior art interfaces. The DMA controller's terminal count signal is also used to prevent the loss of data being sent by a device on the IEEE 488 bus to the microprocessor, which typically happens when the microprocessor has to service another device in the midst of receiving a long message from the first device. The loss of data is prevented by detecting a break point in the message transmission, i.e., when the DMA terminal count signal becomes active, and then holding off the first device from asserting "data valid".

EP0805400A1, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Projected expiry passed 2 July 2011, 15.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

7 claims: 2 independent, 5 dependent

  1. 1
    A bus interface that couples a microprocessor to an IEEE 488 bus, the interface comprising:a microprocessor port (120) that transmits and receives data to and from the microprocessor;said microprocessor port including microprocessor data bus lines and a write line for receiving write pulses from said microprocessor;each said write pulses having a predefined duration and a trailing edge;an IEEE 488 bus (104);said IEEE 488 bus (104) including data lines and a data valid (DAV) line;talker circuit means, coupled to said microprocessor port (120) and said IEEE 488 bus (104), for asserting data received by said microprocessor port (120) onto said IEEE 488 bus (104);and source handshake means, coupled to said talker circuit means and said IEEE 488 bus (104), for asserting a signal on said DAV line of said IEEE 488 bus (104) after said talker circuit has asserted data on said IEEE 488 bus (104) for a first predefined minimum settling period;characterized by: said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port (120) onto said IEEE 488 bus (104) such that data received from said microprocessor port (120) is asserted onto said IEEE 488 bus (104) before the trailing edge of said write pulses;and said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus (104) after said talker circuit has asserted data on said IEEE 488 bus (104) for a second predefined settling period that is less than said first predefined minimum settling period;whereby speed of transmission of data by said microprocessor is improved by reducing said settling period.
  2. 5
    A method of operating a bus interface that couples a microprocessor to an IEEE 488 bus, the steps of the method comprising:transmitting and receiving data to and from the microprocessor via a microprocessor port that includes microprocessor data bus lines and a write line for receiving write pulses from the microprocessor;each of the write pulses having a predefined duration and a trailing edge;asserting data received by said microprocessor port (120) onto data lines of an IEEE 488 bus (104);and asserting a signal on a DAV line of said IEEE 488 bus (104) after data has been asserted on the data lines of said IEEE 488 bus (104) for a first predefined minimum settling period;characterized by: utilizing a transparent latch to assert and latch data received from said microprocessor port (120) onto said IEEE 488 bus (104) such that data received from said microprocessor port (120) is asserted onto said IEEE 488 bus (104) before the trailing edge of said write pulses;and enabling a source handshake speedup mode of operation;when the source handshake speedup mode of operation is enabled, asserting said signal on said DAV line of said IEEE 488 bus (104) after data has been asserted on the data lines of said IEEE 488 bus (104) for a second predefined settling period that is less than said first predefined minimum settling period;whereby speed of transmission of data by said microprocessor is improved by reducing said settling period.