Patent US5287528A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5287528A Expired / Lapsed US ⏱️ 0.0 years remaining

IEEE 488 interface for message handling method

Assignee: National Instruments Corp
•
Filing: 1990-07-03
•
Granted: 1994-02-15
•
Expires: 2010-07-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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

Inventors

  • 👤 Robert Canik
  • 👤 Brian K. Odom
  • 👤 William C. Nowlin, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 14:58
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/42; G06F13/4204; G06F13/4221; G06F13/4226

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 261 words
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 said 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; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; 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 first predefined minimum settling period; said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus 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.
Claim 2
Dependent Claim 261 words
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 said 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; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; 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 first predefined minimum settling period; said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus 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.
Claim 3
Dependent Claim 19 words
The interface set forth in claim 1, said interface including a speedup enable switch for enabling said speedup means.
Claim 4
Dependent Claim 566 words
A bus interface that couples a microprocessor having a direct memory access controller to an IEEE 488 bus, the interface comprising: a microprocessor port that transmits and receives data to and from said microprocessor; said microprocessor 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 a data valid (DAV) 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 the last byte of a data transfer has been received from said IEEE 488 bus while said listener circuit means is transmitting data to said microprocessor via said microprocessor port and for then transmitting a first interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and synchronization means, coupled to said IEEE 488 bus, for detecting when a data valid signal previously asserted on said DAV line is unasserted, and for then transmitting a second interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and a synchronization interrupt enable switch for enabling said synchronization means to send said second interrupt signal to said microprocessor; wherein said synchronization means does not send said second interrupt signal when a data valid signal previously asserted on said DAV line is unasserted unless said synchronization interrupt enable switch is enabled; said synchronization interrupt enable switch coupled to said microprocessor via said microprocessor port so that said microprocessor can enable and disable said synchronization interrupt enable switch; whereby said microprocessor is automatically notified by said first interrupt signal that the last byte of a data transfer has been transmitted by said interface from said IEEE 488 bus to said microprocessor and said microprocessor is automatically notified by said second interrupt signal that said IEEE 488 bus has completed the data transfer; wherein said microprocessor port includes a write line for receiving write pulses from said microprocessor; each said write pulses having a predefined duration and a trailing edge; said interface further including: 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; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; 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 first predefined minimum settling period; said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus 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.
Claim 5
Dependent Claim 566 words
A bus interface that couples a microprocessor having a direct memory access controller to an IEEE 488 bus, the interface comprising: a microprocessor port that transmits and receives data to and from said microprocessor; said microprocessor 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 a data valid (DAV) 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 the last byte of a data transfer has been received from said IEEE 488 bus while said listener circuit means is transmitting data to said microprocessor via said microprocessor port and for then transmitting a first interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and synchronization means, coupled to said IEEE 488 bus, for detecting when a data valid signal previously asserted on said DAV line is unasserted, and for then transmitting a second interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and a synchronization interrupt enable switch for enabling said synchronization means to send said second interrupt signal to said microprocessor; wherein said synchronization means does not send said second interrupt signal when a data valid signal previously asserted on said DAV line is unasserted unless said synchronization interrupt enable switch is enabled; said synchronization interrupt enable switch coupled to said microprocessor via said microprocessor port so that said microprocessor can enable and disable said synchronization interrupt enable switch; whereby said microprocessor is automatically notified by said first interrupt signal that the last byte of a data transfer has been transmitted by said interface from said IEEE 488 bus to said microprocessor and said microprocessor is automatically notified by said second interrupt signal that said IEEE 488 bus has completed the data transfer; wherein said microprocessor port includes a write line for receiving write pulses from said microprocessor; each said write pulses having a predefined duration and a trailing edge; said interface further including: 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; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; 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 first predefined minimum settling period; said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus 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.
Claim 6
Dependent Claim 18 words
The interface set forth in claim 3, said interface including speedup enable switch for enabling said speedup means.
Claim 7
Dependent Claim 210 words
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 said microprocessor having a direct memory access controller which generates a terminal count (TC) signal upon transmission of any specified 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 handshake 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 until a predefined condition is met; whereby said acceptor handshake means automatically performs a data holdoff upon transmission of any specified datum in a multiple datum DMA data transfer from said IEEE 488 bus to said microprocessor.
Claim 8
Dependent Claim 210 words
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 said microprocessor having a direct memory access controller which generates a terminal count (TC) signal upon transmission of any specified 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 handshake 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 until a predefined condition is met; whereby said acceptor handshake means automatically performs a data holdoff upon transmission of any specified datum in a multiple datum DMA data transfer from said IEEE 488 bus to said microprocessor.
Claim 9
Dependent Claim 235 words
The interface set forth in claim 5, wherein said microprocessor port includes a write line for receiving write pulses from said microprocessor; each said write pulses having a predefined duration and a trailing edge; said IEEE 488 bus including a data valid (DAV) line; said interface further including: 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; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; and source handshake means, coupled to said talker circuit means and said IEEE 488 bus, for asserting a data valid signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus for a first predefined minimum settling period; said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus 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.
Claim 10
Dependent Claim 19 words
The interface set forth in claim 6, said interface including an speedup enable switch for enabling said speedup means.
Claim 11
Dependent Claim 252 words
The interface set forth in claim 6, said microprocessor 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; said acceptor handshake means including means for detecting when the last byte of a data transfer has been received from said IEEE 488 bus while said listener circuit means is transmitting data to said microprocessor via said microprocessor port and for then transmitting a first interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and synchronization means, coupled to said IEEE 488 bus, for detecting when a data valid signal previously asserted on said DAV line is unasserted, including means for then transmitting a second interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and a synchronization interrupt enable switch for enabling said synchronization means to send said second interrupt signal to said microprocessor; wherein said synchronization means does not send said second interrupt signal when a data valid signal previously asserted on said DAV line is unasserted unless said synchronization interrupt enable switch is enabled; whereby said microprocessor is automatically notified by said first interrupt signal that the last byte of a data transfer has been transmitted by said interface from said IEEE 488 bus to said microprocessor and said microprocessor is automatically notified by said second interrupt signal that all other devices on said IEEE 488 bus have accepted the last byte of a data transfer.
Claim 12
Dependent Claim 283 words
The interface set forth in claim 5, wherein said microprocessor includes an interrupt signal port; said microprocessor port including at least one line for transmitting interrupt signals to said interrupt signal port of said microprocessor; said IEEE 488 bus including a data valid (DAV) line; said acceptor handshake means including means for detecting when the last byte of a data transfer has been received from said IEEE 488 bus while said listener circuit means is transmitting data to said microprocessor via said microprocessor port and for then transmitting a first interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; said interface further including: synchronization means, coupled to said IEEE 488 bus, for detecting when a data valid signal previously asserted on said DAV line is unasserted, and for then transmitting a second interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and a synchronization interrupt enable switch for enabling said synchronization means to send said second interrupt signal to said microprocessor; wherein said synchronization means does not send said second interrupt signal when a data valid signal previously asserted on said DAV line is unasserted unless said synchronization interrupt enable switch is enabled; said synchronization interrupt enable switch coupled to said microprocessor via said microprocessor port so that said microprocessor can enable and disable said synchronization interrupt enable switch; whereby said microprocessor is automatically notified by said first interrupt signal that the last byte of a data transfer has been transmitted by said interface from said IEEE 488 bus to said microprocessor and said microprocessor is automatically notified by said second interrupt signal that said IEEE 488 bus has completed the data transfer.
Claim 13
Dependent Claim 134 words
The interface set forth in claim 9, said interface including: 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; source handshake means, coupled to said talker circuit means and said IEEE 488 bus, for asserting a data valid signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus and for reasserting said data valid signal in accordance with a predefined source handshake protocol; said synchronization means transmitting said second interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port when said source handshaking means desserts said data valid signal on said DAV line and said synchronization interrupt enable switch is enabled.
Claim 14
Dependent Claim 251 words
The interface set forth in claim 10, wherein said microprocessor port includes a write line for receiving write pulses from said microprocessor; each said write pulses having a predefined duration and a tailing edge; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; said talker circuit means including a transparent latch for asserting and latching data received from said microprocessor port onto said IEEE 488 bus such that data received from said microprocessor port is asserted onto said IEEE 488 bus before the trailing edge of said write pulses; 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 first predefined minimum settling period; said source handshake means including speedup means that, when enabled, asserts said signal on said DAV line of said IEEE 488 bus after said talker circuit has asserted data on said IEEE 488 bus for a second predefined settling period that is less than said first predefined minimum settling period; and said interface including a speedup enable switch for enabling said speedup means; whereby speed of transmission of data by said microprocessor is improved by reducing said settling period.
Claim 15
Dependent Claim 192 words
The interface set forth in claim 5, wherein said microprocessor includes an interrupt signal port; said microprocessor port including at least one line for transmitting interrupt signals to said interrupt signal port of said microprocessor; said IEEE 488 bus including a data valid (DAV) line; said interface further including: 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; synchronization means, coupled to said IEEE 488 bus, for detecting when a data valid signal previously asserted on said DAV line is unasserted, and for then transmitting a synchronization interrupt signal to said interrupt signal port of said microprocessor via said microprocessor port; and a synchronization interrupt enable switch for enabling said source handshake means to send said synchronization interrupt signal to said microprocessor; wherein said synchronization means does not send said synchronization interrupt signal when a data valid signal previously asserted on said DAV line is unasserted unless said synchronization interrupt enable switch is enabled; whereby said microprocessor is automatically notified by said synchronization interrupt signal that said IEEE 488 bus has completed the data transfer.

References Cited (Backward Citations)

US4319338A Cited
US4402055A Cited
US4534011A Cited
US4523310A Cited
US4680788A Cited
US4727370A Cited
US4982325A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-02-14 1997-08-16 1998-02-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-02-14 2001-08-16 2002-02-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-02-14 2005-08-16 2006-02-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag