An interface circuit for providing asynchronous interrupt service for multiple peripheral devices in accordance with instructions from a host computer includes two dual universal asynchronous receivers-transmitters ("UARTs"), a dual port random-access memory ("RAM") and a microprocessor ("μP"). The dual UARTs selectively read data separately from selected peripheral devices and selectively write that data to the dual port RAM for access by the host computer, and read data from the dual port RAM as stored therein by the host computer and write that data to a selected peripheral device, in accordance with addresses from the μP. Following initiation of an interrupt sequence, the dual port RAM allows the host computer to selectively and asynchronously read data (e.g. from a peripheral device via a dual UART) therefrom and write necessary data or instructions (e.g. for the μP or a peripheral device via a dual UART) thereto for the μP to asynchronously provide interrupt service to the peripheral devices. This interface circuit configuration minimizes idle time for the host computer during interrupt servicing by the μP.

Patent
   5291609
Priority
Jun 13 1991
Filed
Dec 23 1992
Issued
Mar 01 1994
Expiry
Jun 13 2011
Assg.orig
Entity
Large
23
20
all paid
1. An interface circuit for providing asynchronous communication and control between a host computer and at least one peripheral device, the interface circuit comprising:
transceiver means for receiving a first internal memory address and in accordance therewith receiving peripheral device input data from and transmitting peripheral device output data to at least one peripheral device;
memory means coupled to the transceiver means for receiving a second internal memory address and in accordance therewith reading the peripheral device input data from and writing the peripheral device output data to the transceiver means and further for receiving an external memory address via an external address port and in accordance therewith reading host computer input data from and writing host computer output data to a host computer; and
computer means coupled to the transceiver means and the memory means for providing the first and second internal memory addresses thereto, respectively;
wherein the first internal memory address, the second internal memory address and the external memory address are each distinct from one another.
8. An interface circuit for providing asynchronous interrupt service for a plurality of peripheral devices in accordance with control data from a host computer, the interface circuit comprising:
a data bus;
an address bus;
a data transceiver which includes a first address port coupled to the address bus for receiving a plurality of transceiver addresses therefrom, and which includes a plurality of external data ports for selectively receiving peripheral device input data from and providing peripheral device output data to a plurality of peripheral devices in accordance with the received plurality of transceiver addresses, and which further includes a first data port coupled to the data bus for providing the received peripheral device input data thereto and receiving the peripheral device output data therefrom in accordance with the received plurality of transceiver addresses;
a memory which includes a second address port coupled to the address bus for receiving a plurality of internal memory address therefrom, and which includes a third address port for receiving a plurality of external memory addresses, and which further includes a second data port for reading host computer input data from and writing host computer output data to a host computer in accordance with the received plurality of external memory addresses, and which still further includes a third data port coupled to the data bus for writing the host computer input data thereto and reading the host computer output data therefrom in accordance with the received plurality of internal memory addresses; and
a computer which includes a fourth address port coupled to the address bus for selectively providing the pluralities of transceiver and internal memory addresses thereto, and which further includes a fourth data port coupled to the data bus for selectively receiving the received peripheral device input data and the written host computer input data therefrom;
wherein the plurality of transceiver addresses, the plurality of internal memory addresses and the plurality of external memory addresses are each distinct from one another.
2. An interface circuit as recited in claim 1, further comprising a data bus coupling the transceiver means and the memory means.
3. An interface circuit as recited in claim 1, further comprising an address bus coupling the computer means, the transceiver means and the memory means.
4. An interface circuit as recited in claim 1, wherein the memory means selectively reads the host computer input data and writes the host computer output data asynchronously with respect to the reading of the received peripheral device input data and the writing of the peripheral device output data.
5. An interface circuit as recited in claim 1, wherein the transceiver means comprises a universal asynchronous receiver-transmitter.
6. An interface circuit as recited in claim 1, wherein the memory means comprises a dual port random access memory.
7. An interface circuit as recited in claim 1, wherein the computer means comprises a microprocessor.
9. An interface circuit as recited in claim 8, wherein the memory selectively reads the host computer input data and writes the host computer output data asynchronously with respect to the reading of the host computer output data and the writing of the host computer input data.
10. An interface circuit as recited in claim 8, wherein the data transceiver comprises a plurality of universal asynchronous receivers-transmitters.
11. An interface circuit as recited in claim 8, wherein the memory comprises a dual port random access memory.
12. An interface circuit as recited in claim 8, wherein the computer comprises a microprocessor.

This is a continuation of co-pending application Ser. No. 07/714,650 filed on Jun. 13, 1991.

1. Field of the Invention

The present invention relates to computer interface circuits, and in particular, to computer interface circuits operating in a control environment and providing asynchronous interrupt service to multiple peripheral devices.

2. Description of the Related Art

The types of computer interface circuit designs available, as well as their applications, are virtually unlimited in number. As computers have become more prevalent and their applications more varied, more interface circuit designs have become necessary for providing the appropriate interface between the computers and their operating environments.

A common type of computer interface circuit is designed for operating in a control environment in which interrupt service must be provided for multiple peripheral devices. For example, referring to FIG. 1, a typical design for such an interface circuit 10 includes: read 12 and write 14 buffers; a decoder 16; a parallel input-output controller ("PIO") 18; a dual universal asynchronous receiver-transmitter ("UART") 20; a microprocessor ("μP") 22; a read-only memory ("ROM") 24; and a random-access memory ("RAM") 26, substantially as shown.

Incoming data from the data bus of a host computer (not shown) is captured and held by the write buffer 14. This data is then transferred via the PIO 18, under control of the μP 22, to the RAM 26 for temporary storage before subsequently being transferred to a peripheral device (not shown) via the dual UART 20. Data coming from a peripheral device via the dual UART 20 is stored in the RAM 26, and then, under control of the μP 22, is transferred to the data bus of the host computer via the PIO 18 and read buffer 12. The read 12 and write 14 buffers are appropriately enabled or disabled by the decoder 16, which is controlled by the host computer via its address bus.

A problem with this conventional interface circuit design involves the need for and use of the read 12 and write 14 buffers, the PIO 18 and RAM 26. This configuration produces a data bottleneck which excessively "loads down" the host computer, i.e. with respect to the host computer's involvement time with the operation of the interface circuit 10. Particularly where the interface circuit 10 is used for servicing interrupts for the peripheral devices, this configuration results in the host computer standing by in a wait, or idle, mode while the μP 22 transfers data for servicing the interrupt. Virtually all data communication between the host computer and the interface circuit 10 (e.g. the μP 22) uses the PIO 18. Thus, while the μP 22 is retrieving data from the write buffer 14 via the PIO 18 and storing it in the RAM 26, or retrieving data from the RAM 26 for transfer to the read buffer 12 via the PIO 18, the host computer must wait.

Therefore, it would be desirable to have a computer interface circuit for operating in a control environment for servicing interrupts for peripheral devices, wherein such interface functions can be performed asynchronously with respect to the operation of the host computer, and with minimal interaction time required on the part of the host computer.

A computer interface circuit in accordance with the present invention provides asynchronous communication and control between a host computer and a plurality of peripheral devices. The present invention includes a transceiver for selectively reading input data from and writing output data to at least one peripheral device. The present invention further includes a memory for selectively reading input data from and writing output data to a host computer, and for selectively reading the peripheral device input data from and writing the peripheral device output data to the transceiver in accordance with internal memory addresses. The present invention still further includes a computer for providing the internal memory addresses to control the selective reading of peripheral device input data from and writing of peripheral device output data to the transceiver by the memory. The computer further controls the selective reading of peripheral device input data and writing of peripheral device output data by the transceiver.

These and other features and advantages of the present invention will be understood upon consideration of the following detailed description of the invention and the accompanying drawings.

FIG. 1 is an exemplary functional block diagram of a conventional computer interface circuit.

FIG. 2 is a functional block diagram of a computer interface circuit in accordance with the present invention.

FIG. 3 illustrates an exemplary circuit card configuration for the interface circuit of FIG. 2.

Referring to FIG. 2, a computer interface circuit 100 in accordance with the present invention includes: a dual port RAM 102; two dual UARTs 104, 106; a μP 108; and an electrically programmable read-only memory ("EPROM") 110, substantially as shown. An internal data bus 112 couples the foregoing elements for transferring data internally within the interface circuit 100. An address bus 114 also couples the foregoing elements for transferring addresses 116 from the μP 108.

The μP 108 exchanges control data 118 with a host computer (not shown). The dual port RAM 102 exchanges data 120 with the host computer in accordance with addresses 122 received from the host computer. These data 120 and addresses 122 are exchanged or received via the data and address buses of the host computer (not shown).

The first dual UART 104 provides two output data signals 124, 126 to and receives two associated input data signals 128, 130, respectively, from two peripheral devices (not shown). Similarly, the second dual UART 106 provides two output data signals 132, 134 to and receives two associated input data signals 136, 138, respectively, from two more peripheral devices (not shown). The dual UARTs 104, 106 receive the data for their output signals 124, 126, 132, 134 from the internal data port 146 of the dual port RAM 102 via the internal data bus 112. Similarly, the dual UARTs 104, 106 transfer the data received via their input signals 128, 130, 136, 138 to the internal data port 146 of the dual port RAM 102 via the internal data bus 112. The μP 108 controls the outputting of data from the data bus 112 via the dual UARTs 104, 106 by providing appropriate addresses to the dual UARTs 104, 106 via the internal address bus 114. Similarly, the μP 108 controls the transfer of input data received by the dual UARTs 104, 106 onto the internal data bus 112 by providing appropriate addresses to each of the dual UARTs 104, 106 via the address bus 114.

The μP 108 also controls the reading of data from and writing of data to the internal data port 146 of the dual port RAM 102 via the internal data bus 112 by providing appropriate addresses to the internal address port 140 of the dual port RAM 102 via the internal address bus 114. The EPROM 110 selectively contains program data for the μP 108, which can be made available thereto when addressed by the μP 108 via the internal address bus 114.

The dual port RAM 102 reads data 120 from or writes data 120 to the data bus of the host computer (not shown) via its external data port 144 in accordance with addresses 122 received via the host computer address bus (not shown) at its external address port 142. As is known in the art, the dual port RAM 102 can read or write data at its external data port 144 in accordance with addresses received at its external address port 142 while asynchronously reading or writing data at its internal data port 146 in accordance with addresses received at its internal address port 140.

The computer interface circuit 100 of the present invention can provide interrupt service for multiple peripheral devices with minimal interaction time required on the part of its host computer The necessary data (or instructions) 120 for servicing a peripheral device, or devices, can be inputted to the dual port RAM 102 via its external data port 144 in accordance with addresses 122 from the host computer (not shown). When finished inputting the data (or instructions), the host computer is free for other processing activity Meanwhile, the μP 108 can asynchronously address the data (or instructions) within the dual port RAM 102 and transfer it via the internal data bus 112 to the appropriate dual UART 104, 106. Any instructions needed by the μP 108 and stored as part of the data within the dual port RAM 102 can be retrieved by the μP 108 via the internal data bus 112. The instructions or data needed for servicing the peripheral device, or devices, can then be outputted by the appropriate dual UART 104, 106 as one of its output signals 124, 126, 132, 134. As should be recognized from the foregoing discussion, the dual port RAM 102 eliminates a data bottleneck by allowing data to be selectively and asynchronously read or written at either or both of its data ports 144, 146.

Referring to FIG. 3, a preferred embodiment of a computer interface circuit assembly in accordance with the present invention includes a printed circuit board assembly 200 upon which the interface circuit 100 of FIG. 2 is mounted. This printed circuit board assembly 200 includes a printed circuit board 202 with two protruding flanges 204, 206 which serve as support members for printed edge connectors 208, 210. These flanges 204, 206 with their printed edge connectors 208, 210 are inserted into edge connector receptacles mounted on a main circuit board within the host computer (not shown). For example, in a preferred embodiment of the present invention, the printed circuit board assembly 200 and its flanges 204, 206 with printed edge connectors 208, 210 is fabricated for installation in an IBM® AT personal computer In this embodiment, a surface-mounted multi-contact connector 212 is included at one end of the printed circuit board assembly 200 for interfacing with external (e.g. peripheral) devices.

It should be understood that various alternatives to the embodiments of the present invention described herein can be employed in practicing the present invention. It is intended that the following claims define the scope of the present invention, and that structures and methods within the scope of these claims and their equivalents be covered thereby.

Herz, William S.

Patent Priority Assignee Title
5553251, Jul 02 1992 Korea Telecommunication Authority Centralized management system utilizing a bus interface unit
5606671, Nov 04 1994 Canon Kabushiki Kaisha Serial port using non-maskable interrupt terminal of a microprocessor
5619731, Sep 23 1994 ARDENT TELEPRODUCTIONS, INC Interactive music CD and data
5636358, Sep 27 1991 EMC Corporation Method and apparatus for transferring data in a storage device including a dual-port buffer
5835787, Jul 07 1994 AGERE Systems Inc System for bi-directionally transferring a digital signal sample from a CODEC to a particular memory location and a second sample from memory to CODEC
5889816, Feb 02 1996 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Wireless adapter architecture for mobile computing
6021453, Apr 24 1997 INTELLECTUAL VENTURES ASSETS 12 LLC; SK HYNIX INC Microprocessor unit for use in an indefinitely extensible chain of processors with self-propagation of code and data from the host end, self-determination of chain length and ID, (and with multiple orthogonal channels and coordination ports)
6085265, Jan 09 1998 Toshiba America Information Systems System for handling an asynchronous interrupt a universal serial bus device
6263390, Aug 18 1998 ATI Technologies ULC Two-port memory to connect a microprocessor bus to multiple peripherals
6320949, May 19 1997 Samsung Electronics Co., Ltd. Method for duplicating calls of remote multiple subscribers
6745268, Aug 11 2000 Round Rock Research, LLC Capacitive multidrop bus compensation
6757752, Dec 24 2001 M-RED INC Micro controller development system
6766396, Jun 07 2001 Lucent Technologies Inc. PC16550D UART line status register data ready bit filter and latch
6789212, Apr 24 1997 INTELLECTUAL VENTURES ASSETS 12 LLC; SK HYNIX INC Basic cell for N-dimensional self-healing arrays
7350006, Feb 04 2005 SONY NETWORK ENTERTAINMENT PLATFORM INC ; Sony Computer Entertainment Inc System and method of interrupt handling
7386642, Jan 28 2005 SONY NETWORK ENTERTAINMENT PLATFORM INC ; Sony Computer Entertainment Inc IO direct memory access system and method
7680972, Feb 04 2005 SONY NETWORK ENTERTAINMENT PLATFORM INC ; Sony Computer Entertainment Inc Micro interrupt handler
7913005, Aug 11 2000 Round Rock Research, LLC Capacitive multidrop bus compensation
8118770, Jun 29 2007 Roche Diabetes Care, Inc Reconciling multiple medical device bolus records for improved accuracy
8451230, Jun 29 2007 Roche Diabetes Care, Inc Apparatus and method for remotely controlling an ambulatory medical device
8533475, Jun 08 2007 Roche Diabetes Care, Inc Method for pairing and authenticating one or more medical devices and one or more remote electronic devices
8539126, Aug 11 2000 Round Rock Research, LLC Capacitive multidrop bus compensation
8680974, Jun 29 2007 Roche Diabetes Care, Inc Device and methods for optimizing communications between a medical device and a remote electronic device
Patent Priority Assignee Title
4231087, Oct 18 1978 Bell Telephone Laboratories, Incorporated Microprocessor support system
4371950, Jun 26 1980 Unisys Corporation Peripheral control interface circuit for train printer-data link processor
4435763, Apr 13 1981 Texas Instruments Incorporated Multiprogrammable input/output circuitry
4569062, Jun 28 1984 Freescale Semiconductor, Inc Interface circuit for interfacing between asynchronous data in start/stop format and synchronous data
4630041, Jan 31 1983 Honeywell Information Systems Italia Enhanced reliability interrupt control apparatus
4680732, Jul 23 1982 AMD CORPORATION Interface circuit for connecting peripheral equipment to a computer terminal
4683550, Jul 30 1984 Burr-Brown Corporation Personal computer instrumentation system including carrier board having bus-oriented plug-in instrumentation modules
4685124, Apr 30 1985 Data General Corporation Microprocessor based control and switching device
4695952, Jul 30 1984 United Technologies Corporation Dual redundant bus interface circuit architecture
4736394, Mar 28 1985 Ing. C. Olivetti & C., S.p.A. Interface circuit for transmitting and receiving data
4751634, Jun 14 1985 International Business Machines Corporation Multiple port communications adapter apparatus
4831520, Feb 24 1987 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Bus interface circuit for digital data processor
4852045, May 06 1986 TELOGY NETWORKS, INC Message buffer with improved escape sequence and automatic document marking
4868784, Feb 22 1982 Texas Instruments Incorporated Microcomputer with a multi-channel serial port having a single port address
4897842, Nov 05 1987 Ampex Corporation Integrated circuit signature analyzer for testing digital circuitry
4899306, Aug 26 1985 American Telephone and Telegraph Company, AT&T Bell Laboratories Test interface circuit which generates different interface control signals for different target computers responding to control signals from host computer
4901218, Aug 12 1987 Renishaw Controls Limited Communications adaptor for automated factory system
4933846, Apr 24 1987 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
4980820, Feb 28 1985 LENOVO SINGAPORE PTE LTD Interrupt driven prioritized queue
5016162, Mar 30 1988 Data General Corp. Contention revolution in a digital computer system
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 23 1992Sony Electronics Inc.(assignment on the face of the patent)
Jun 01 1993Sony Corporation of AmericaSony Electronics INCCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0065950794 pdf
Date Maintenance Fee Events
May 02 1997ASPN: Payor Number Assigned.
Sep 02 1997M183: Payment of Maintenance Fee, 4th Year, Large Entity.
Aug 31 2001M184: Payment of Maintenance Fee, 8th Year, Large Entity.
Sep 01 2005M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Mar 01 19974 years fee payment window open
Sep 01 19976 months grace period start (w surcharge)
Mar 01 1998patent expiry (for year 4)
Mar 01 20002 years to revive unintentionally abandoned end. (for year 4)
Mar 01 20018 years fee payment window open
Sep 01 20016 months grace period start (w surcharge)
Mar 01 2002patent expiry (for year 8)
Mar 01 20042 years to revive unintentionally abandoned end. (for year 8)
Mar 01 200512 years fee payment window open
Sep 01 20056 months grace period start (w surcharge)
Mar 01 2006patent expiry (for year 12)
Mar 01 20082 years to revive unintentionally abandoned end. (for year 12)