EP0329692A1 - Data buffer/switch - Google Patents

Data buffer/switch

Info

Publication number
EP0329692A1
EP0329692A1 EP19870907329 EP87907329A EP0329692A1 EP 0329692 A1 EP0329692 A1 EP 0329692A1 EP 19870907329 EP19870907329 EP 19870907329 EP 87907329 A EP87907329 A EP 87907329A EP 0329692 A1 EP0329692 A1 EP 0329692A1
Authority
EP
European Patent Office
Prior art keywords
motherboard
data buffer
switch box
pins
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP19870907329
Other languages
German (de)
English (en)
French (fr)
Inventor
Christopher Moller
Peter N. Brownlow
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nighthawk Electronics Ltd
Original Assignee
Nighthawk Electronics Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nighthawk Electronics Ltd filed Critical Nighthawk Electronics Ltd
Publication of EP0329692A1 publication Critical patent/EP0329692A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Definitions

  • the present invention relates to a data buffer/switch device for enabling a number of computers or computer terminals to share one or more devices such as computer peripherals or computer ports.
  • the buffer/switch box includes a main printed circuit board, known as a motherboard, and a plurality of interface printed circuit boards or cards which connect with the motherboard.
  • a main printed circuit board known as a motherboard
  • interface printed circuit boards or cards which connect with the motherboard.
  • Each of the interface cards may provide circuitry for a different interface standard and the motherboard is provided only with the circuitry which is necessary to provide signal conditioning common to all of the interface cards.
  • the motherboard contains little circuitry as there are few functions common to the widely different interface standards and therefore a particular configuration which is populated with several identical cards will duplicate circuitry on the cards needlessly. Typical duplication will include unusual power supply requirements, a clock generator and device driver program storage.
  • a data buffer/switch box comprising a plurality of input/output interface cards removably connected to a motherboard, includes circuitry for a plurality of different interface cards provided on the motherboard, and memory means on the motherboard for storing device driver software for each type of interface card connected to the motherboard.
  • the motherboard may contain circuitry which is common to all the interfaces, but also circuitry which is common to groups of interfaces, thus reducin duplication whilst at the same time allowing the use of varying numbers of interfaces of different types, thus maintaining the benefits of a modular approach.
  • the data buffer/switch box may be utilized as a printer sharing device, enabling plural computers to use on or more printers, but may be used in a wide range of other applications, for example enabling computer port sharing by plural terminals and any other circumstance in which a data switch would be useful, including modem sharing, LAN node sharing, etc, etc.
  • data buffer/switches of the modular type with plural interface cards or computers with multiple interface cards incorporate the device driver software on the interface cards themselves as the software is specific to each type of interface card.
  • a substantial part of the usual address bus is needed on each interface card to permit the memory to be addressed, and more memory address space is used up than is necessary as each interface has to be assigned sufficient space for the largest anticipated driver device.
  • a complex memory paging scheme must be used.
  • a further problem is that integrated circuit components having memories of the required small size, typically 256 to 1024 bytes are no longer being made.
  • the present invention proposes further that only one copy of each device driver program that is required is provided on an EPROM. This is then loaded into non-volatile RAM on the motherboard when the respective interface card requiring this driver software is added or incorporated into the buffer/switch box and the EPROM is then removed.
  • non-volatile RAM chip can hold all the device drivers, in addition to various configuration parameters etc that may be required.
  • Each device driver program then uses up only as much memory and memory address space as it really needs.
  • Data buffer/switch boxes enable a computer to send data to be transferred to the buffer/switch box which then stores or "buffers" the data and sends it to the device as required, the storing of the data in the buffer/switch box releasing the computer from the transfer operation and thus enabling a further task to be carried out on the computer.
  • buffer/switch boxes assign a predetermined amount of buffer memory to each input port. This is disadvantageous as, at any one time, only a small proportion of the total buffer memory may be used if only a small number of computers are sending data to the buffer.
  • buffer memory is divided into a fixed number of pages, regardless of the amount of memory in the buffer, the size of each page being arranged to be increased as the buffer memory size is increased. This is achieved by suitable software control and has several advantages in terms of the speed at which the software can execute.
  • the motherboard needs to incorporate a clock generator whereby the baud rate ' for any particular interface card may be chosen from one of a number of standard frequencies. Each interface may require one or (less commonly) two of these frequencies.
  • a baud-rate clock generator has been provided for each input/output channel, but this is expensive and envitably causes duplication of circuitry.
  • a second approach to the problem is to supply all the possible required frequencies to each interface card from the mother board and to provide for selection of the particular required frequency on each interface card. Whichever of these methods is chosen selection is by means of switches which themselves add significantly to the cost.
  • the motherboard incorporates a baud rate clock generator that outputs all the commonly required frequencies and provides these on a row of pins; each RS232-C interface card having an at least four-way connector comprising jtwo pairs of pins, a first pair for determining the baud rate of transmission from the interface card and a second pair for determining the rate of transmission to the interface card, a wire link being provided to connect pins of the first and second pairs together if the transmit and receive baud rates are to be the same; and a connecting lead connectable to the requisite pin on the clock generator and to one of the pins of the at least four-way connector.
  • the lead may be attached to a spare pin on the interface card having the relevant frequency supplied to it.
  • the arrangement provides that there will always be such a spare pin to which the lead from a second interface card may be connected and so on.
  • an interface card If different transmit and receive " frequencies are required on . an interface card then the wired jumper link, may be removed and a second lead used in the same manner as the first. In this way a split baud rate may be offered to the interface card input/output port.
  • each of the interface cards has a first and a second input/output port and the at least four-way connector is a six-way connector, the third pair of pins of which determine the transmit/receive rate of the second port, and wire jumpers being provided as required for connection to pins of the first and second pairs of the connector.
  • a further problem with the RS-232C interface standard is that although it is meant to be a standard, the way that the standard is interpreted varies considerably from one piece of equipment to another.
  • FIG. 1 is a block diagram of the motherboard
  • Figure 2 is a circuit diagram of the relevant part of an RS-232C interface card; and, Figure 3A and 3B are circuit diagrams of a parallel Centronics interface card showing the input mode and output mode usage respectively.
  • the motherboard has a microprocessor 1 with an address bus 2, a data bus 3 and a control bus 4, supplied with power via a power bus 5, and a master clock signal from a clock generator 6.
  • CMOS RAM non-volatile RAM
  • NMOS DRAM read/write memory 9
  • the read-only memory 7 consists of one or more EPROMs, containing a real-time executive and optionally a high-level language interpreter.
  • the real-time executive provides standardised software interfaces to the device drivers required for each of the interface cards, and implements the logic associated with allocation and de-allocation of the paged buffer memory.
  • the non-volatile memory 8 is implemented in low-power CMOS RAM, and is provided with a battery (not shown) to ensure that there is no data loss during power-down. It contains one device driver for each type of interface, port and device configuration parameters associated with each port and device, and optionally protocol conversion programs written in the high-level language for interpretation by the interpreter.
  • the read-write memory 9 is implemented in NMOS DRAM and is structured in the way described as the second aspect of the invention above.
  • the contiguous address space is present at FOOO-FFFFh, regardless of whether the unit is populated with 64, 256, 512, 768 or 1024K bytes of memory (A8 is absent for 64K DRAMs) .
  • microprocessor address line A12 will be zero, and that selects the following mapping (where Rn is a bit from the page select register) :
  • the memory locations used for the contiguous memory at FOOO-FFFFh will also appear in the paged memory, as the first 256 bytes of each of the first_ 16 pages.
  • the front panel interface 11 drives the front panel indicators, polls the front panel buttons 12, and generates a . periodic interrupt once every mains cycle, to implement a realtime clock. As no front " panel interface is required during EPROM programming 13 and reading, the front panel interface controls this function as well so that device driver software can be loaded from EPROM into non-volatile memory.
  • the interface slots 9 provide a standard hardware interface, to which cards may be attached to provide support for many possible communication protocols.
  • the clock frequencies required for supporting RS-232C are provided for any interface that needs them, by the master clock generator 6.
  • Additional power supplies are also made available by the power supply circuit 1. Additional functions which the power supply implements include a signal at mains frequency for implementation of the real-time clock, a power on reset signal and a lockout signal for the non-volatile memory (to prevent data corruption during power-up/down) , and special voltage levels needed during EPROM programming.
  • the interface card circuit illustrated provides an unusual solution to the problem of non-standard pinout of RS-232C.
  • the left-hand hand side of the diagram is quite conventional, and provides a means for a Dual
  • a switch SW3 permits the user to choose a pin configuration which broadly complies with the requirements for either DCE or DTE.
  • This circuit has the unusual advantage that SW3 only requires four poles, despite controlling eight pins on the interface. The top two poles of this switch simply effect the swapping over of the serial data pins, 2 and 3.
  • the interface must also support at least one flow control line in each direction. (This is used to indicate to the remote device one's readiness to accept data.)
  • one line is provided in each direction, namely, the pin labelled DTR on U3 (to output this device's readiness to. accept data) and the pin labelled CTS (to test the remote device for readiness for data) .
  • the flow-control output is only offered. to one pin. In the DCE case, this is always pin 5.
  • D4 and R19 provide isolation from pins 6 and 8. in the DTE case, usage is divided roughly 3:2 in favour of pin 20 over pin 4. However, both must be offered, and a jumper Jl is provided to permit this selection. In this case, D3 and R17 perform the isolation function from pins 11,19.
  • the flow-control input is more difficult. There is very poor agreement about the pin to use in either the DCE or DTE case. However, one can be sure about the relevant voltage levels, namely, that a voltage more negative than -3v indicates Not-Ready-For-Data, whereas a voltage more positive than +3v indicates Ready-For-Data.
  • the method adopted of connecting a resistor and diode in series with each pin which may be used in this way, means that the common point will be pulled to a negative voltage if any of the connected pins is at a negative voltage. Any pins at a positive voltage, and those that are not connected, do not affect the result. Thus any of these pins will function for indicating readiness for data.
  • the only compromise associated with this scheme is that a device that offers one of these pins permanently negative will be unable to receive data until that pin is disconnected.
  • the DCE/DTE selection of flow-control input is effected by Dl, D2 and SW3d.
  • the relevant group of input pins is connected to the input U5 pin 4 by the diode.
  • the inactive group is connected to +12v. This performs a dual function of ensuring that the other diode (D2/1) is turned off, so that those pins cannot participate in the flow control, and also puts a positive voltage on the various pins that might otherwise be assumed to be flow-control outputs, namely pins 11,19 for the DTE case, and pins 6,8 for the DCE case.
  • a six pin connector CN3 is provided to enable plural baud rate frequencies to be supplied from the baud rate generator 6 on the motherboard to the transmit line TA of the primary channel, the receive line RA of the primary channel and the transmit/receive line TRB of the secondary channel, by means of flying leads LI, L2.
  • Jumpers J3 are also provided. It will be appreciated that if TA,RA and TRB all require the same frequency than a single flying lead LI from the appropriate pin of the baud rate generator 6 on the motherboard is all that is necessary, the jumpers J3 being connected to supply the same frequency to the TA and TRB lines. If a further interface card requires the same frequency then its flying lead- can be connected to the spare pin on this card, and so on.
  • TA,RA and TRB lines require different frequencies then plural flying leads can be connected back to the baud rate generator. Again the spare pin on each line will allow a further interface card to receive the same baud rate without requiring multiple pins on the baud rate generator.
  • FIGS 3A and 3B illustrate the circuit of a bi-directional fully-buffered Centronics Interface card for attachment to the motherboard. This card is unusual, as it uses the same circuitry in different ways for input and output. The two figures illustrate the two modes of use, in each case all detail irrelevant to the operation in this mode has been omitted.
  • the pulse generator comprises U6b, U4a, U7d and Cl, R4. Its mode of operation is to generate a negative-going pulse, of duration defined by R4, Cl, whenever a positive edge occurs at the output of U6b. During output, the pulse generator is used to generate the STRobe- pulse, indicating that the data is avilable on the data bus. R12 and C7 ensure that the data has time to become stable on the bus, before the STR- is sent. On output, it is necessary to acknowledge receipt of the data from the PIO, and this is done via R6,C2 and U6a.
  • the BUSY line When functioning as an output, the BUSY line is simply monitored prior to sending data, via R7, C3, U6d, U4c.
  • the BUSY When functioning as an input, the BUSY becomes an output line, indicating readiness to receive the next byte.
  • BUSY is asserted on the falling edge of the incoming STR-, via Dl,C6,U7b,U5b, ⁇ 8c.
  • the data On the rising edge of STR-, the data is clocked into the PIO, and as a result, the PIO denies ARDY. This propagates after a short while to BUSY via U6b.
  • BUSY has been kept high due to the time constant of R3,C6. BUSY will then remain asserted until the microprocessor has time to read the data byte received.
  • PRIME- On output, PRIME- functions directly as a control output, via U8a. (The connection via U5a, U7a, U6a is an unwanted side-effect, but which has no impact on operation.) On input, it is necessary to register that PRIME- has gone low, even if it only occurred for a very short time. Therefore, a latch has been implemented. The operation of this is as follows:-
  • PRIME- is high, and as a consequence, U6c output is high, and PIO0 A3 input is low.
  • U7a finds both inputs high for time R5C4, and generates a pulse rather like STR- pulse, and causing an interrupt to the processor, via PIOl, as for receipt of a normal character. This causes the processor to read the status, and establish that a PRIME- pulse has occurred.
  • the processor then attempts to reset the PRIME- capture latch as follows:
  • PIO0 A3 As an output. It pulls it low, and then restores it to being an input. Assuming that the stimulus from the remote device has now gone (i.e. it is no longer pulling PRIME- low), this will have the effect of resetting the latch.
  • the processor again interrogates the status of A3, and if it finds that it is low, the reset has been successful. If it finds that it is still high, it assumes that the stimulus is still active, and sets a timeout, after which it comes back to try again.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Programmable Controllers (AREA)
  • Mounting Of Printed Circuit Boards And The Like (AREA)
EP19870907329 1986-11-07 1987-11-09 Data buffer/switch Ceased EP0329692A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB868626642A GB8626642D0 (en) 1986-11-07 1986-11-07 Data buffer/switch
GB8626642 1986-11-07

Publications (1)

Publication Number Publication Date
EP0329692A1 true EP0329692A1 (en) 1989-08-30

Family

ID=10606965

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19870907329 Ceased EP0329692A1 (en) 1986-11-07 1987-11-09 Data buffer/switch

Country Status (4)

Country Link
EP (1) EP0329692A1 (es)
JP (1) JPH02501419A (es)
GB (1) GB8626642D0 (es)
WO (1) WO1988003679A2 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5302947A (en) * 1992-07-31 1994-04-12 Motorola, Inc. Method and apparatus for loading a software program from a radio modem into an external computer
US7212961B2 (en) 2002-08-30 2007-05-01 Lsi Logic Corporation Interface for rapid prototyping system
US7299427B2 (en) * 2002-08-30 2007-11-20 Lsi Corporation Radio prototyping system
JP4405277B2 (ja) 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4079452A (en) 1976-06-15 1978-03-14 Bunker Ramo Corporation Programmable controller with modular firmware for communication control
US4293909A (en) * 1979-06-27 1981-10-06 Burroughs Corporation Digital system for data transfer using universal input-output microprocessor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO8803679A2 *

Also Published As

Publication number Publication date
GB8626642D0 (en) 1986-12-10
WO1988003679A2 (en) 1988-05-19
JPH02501419A (ja) 1990-05-17
WO1988003679A3 (en) 1988-07-28

Similar Documents

Publication Publication Date Title
EP0795158B1 (en) A computer system having a bridge between buses
EP0426413B1 (en) Multiprocessor arbitration in single processor arbitration schemes
US4935868A (en) Multiple port bus interface controller with slave bus
US5390321A (en) General purpose parallel port interface
US4698753A (en) Multiprocessor interface device
US5437042A (en) Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
US7424552B2 (en) Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
EP0478119B1 (en) Personal computer system with interrupt controller
KR930009063B1 (ko) 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법
GB2186719A (en) Peripheral dma controller for data acquisition system
US5678064A (en) Local bus-ISA bridge for supporting PIO and third party DMA data transfers to IDE drives
JPH09179812A (ja) 情報処理システム及びその制御方法
EP0284981A2 (en) Addressing in a computer system
JP2002132701A (ja) メモリ制御装置
KR950008231B1 (ko) 퍼스널 컴퓨터 시스템
US5241661A (en) DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter
US5089953A (en) Control and arbitration unit
EP0329692A1 (en) Data buffer/switch
US6567880B1 (en) Computer bridge interfaces for accelerated graphics port and peripheral component interconnect devices
US5097483A (en) Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off
EP0473273A1 (en) System for communication between a computing device and peripheral devices
EP0473277A2 (en) Apparatus for controlling access to a data bus
US5313597A (en) System for controlling communications among a computer processing unit and a plurality of peripheral devices
WO1994008307A1 (en) Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19890427

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LI LU NL SE

17Q First examination report despatched

Effective date: 19910108

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 19950717

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE