EP0465221A2

IEEE 488 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".

EP0465221A2, drawing sheet 1
Sheet 1 of 15

Term

Term ended

Projected expiry passed 2 July 2011, 15.2 years ago.

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

6 claims: 4 independent, 2 dependent

  1. 1
    A bus interface which couples a microprocessor to an IEEE 488 bus, the interface comprising:a microprocessor port which transmits and receives data to and from a 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;said IEEE 488 bus including data lines and a data valid (DAV) line;talker circuit means, coupled to said microprocessor port and said IEEE 488 bus, for asserting data received by said microprocessor port onto said IEEE 488 bus;and    source handshake means, coupled to said talker circuit means and said IEEE 488 bus, for asserting a signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus for a predefined settling period;said source handshake means including overlap means for beginning said predefined settling period a predefined amount of time before said trailing edge of each said write pulse;whereby speed of transmission of data by said microprocessor is improved by overlapping a portion of said write pulse with said predefined settling period.
  2. 2
    The interface set forth in Claim 1,    said interface including an overlap enable switch for enabling said overlap means;said talker circuit beginning said predefined settling period at the trailing edge of each said write pulse when said overlap enable switch is not enabled.
  3. 3
    A bus interface which couples a microprocessor having a direct memory access controller to an IEEE 488 bus, the interface comprising:a microprocessor port which transmits and receives data to and from a microprocessor having a direct memory access controller which generates a terminal count (TC) signal upon transmission of the last datum in a multiple datum data transfer;said microprocessor port including microprocessor data bus lines and a terminal count line for receiving said TC signals from said direct memory access controller;an IEEE 488 bus;said IEEE 488 bus including data lines and an END-OR-IDENTIFY (EOI) line;talker circuit means, coupled to said microprocessor port and said IEEE 488 bus, for asserting (sourcing) data received by said microprocessor port onto said IEEE 488 bus;and    source handshake means, coupled to said talker circuit means and said IEEE 488 bus, for asserting an END signal on said EOI line of said IEEE 488 bus when said microprocessor port receives a TC signal from said direct memory access controller and said talker circuit asserts data on said IEEE 488 bus;whereby an END signal is automatically transmitted with the last byte of each DMA data transfer sourced by said interface onto said IEEE 488 bus.
  4. 4
    A bus interface which couples a microprocessor having a direct memory access controller to an IEEE 488 bus, the interface comprising:a microprocessor port which transmits and receives data to and from a microprocessor;said microprocessor port having an interrupt signal port;said microprocessor port including at least one line for transmitting interrupt signals to said interrupt signal port of said microprocessor;an IEEE 488 bus;said IEEE 488 bus including data lines and an END-OR-IDENTIFY (EOI) line and a NOT READY FOR DATA ( NRFD ) line;listener circuit means, coupled to said microprocessor port and said IEEE 488 bus, for transmitting data from said IEEE 488 bus to said microprocessor via said microprocessor port;and    acceptor handshake means, coupled to said listener circuit means and said IEEE 488 bus, for detecting when an END signal is asserted on said EOI line of said IEEE 488 bus while said listener circuit means is transmitting data to said microprocessor via said microprocessor port and for then transmitting an interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port;whereby said microprocessor is automatically notified by said interrupt signal that the last byte of a data transfer has been transmitted by said interface from said IEEE 488 bus to said microprocessor.
  5. 5
    The interface set forth in Claim 4,    said interface including a synchronization interrupt enable switch for enabling said acceptor handshake means to send interrupt signals to said microprocessor;wherein said acceptor handshake means does not send an interrupt signal at the end of a data transfer to said microprocessor unless said synchronization interrupt enable switch is enabled.
  6. 6
    A bus interface which couples a microprocessor having a direct memory access controller to an IEEE 488 bus, the interface comprising:a microprocessor port which transmits and receives data to and from a microprocessor having a direct memory access controller which generates a terminal count (TC) signal upon transmission of the last datum in a multiple datum data transfer;said microprocessor port including microprocessor data bus lines and a terminal count line for receiving said TC signals from said direct memory access controller;an IEEE 488 bus;said IEEE 488 bus including data lines and a NOT READY FOR DATA (NRFD) line;listener circuit means, coupled to said microprocessor port and said IEEE 488 bus, for transmitting data from said IEEE 488 bus to said microprocessor via said microprocessor port;and    acceptor handstake means, coupled to said listener circuit means and said IEEE 488 bus, for asserting a holdoff signal on said NRFD line of said IEEE 488 bus when said microprocessor port receives a TC signal from said direct memory access controller while said listener circuit transmits data from said IEEE 488 bus to said microprocessor via said microprocessor port;whereby said acceptor handstake means automatically performs a data holdoff upon transmission of the last datum in a multiple datum DMA data transfer from said IEEE 488 bus to said microprocessor.