Cross-Reference to Related Applications
U.S. patent application Ser. No. 337,184, filed on even date herewith, for "Nuclear Magnetic Resonance Detector", invented by William S. Moore et al, and assigned to the assignee of the present invention.
Background of the Invention
The present invention relates to signal generators and more particularly to extending the addressing capability of a minicomputer to allow real time control of a wide range and large number of peripheral devices to produce a large range of signals.
A particular use for the apparatus is in the field of Nuclear Magnetic Resonance (N.M.R.) imaging where a large number of (R.F.) pulses and adjustments at varying time intervals may be required to provide for the preparation of an N.M.R. image. The apparatus is known for simplicity as CONBUS and will be so referred to hereinafter. CONBUS is defined for the purpose of the present invention as a control apparatus connectable between a digital computer and a large number of peripheral devices to enable the control of such devices by the program stored in the digital computer.
In N.M.R. imaging a minimal number of computer Input/Output (I/O) instructions are required to alter variables such as R.F. pulse length, spacing, power and sequence length and format; gradient position strength and allocation. The R.F. pulses are fed for example to a coil such as described in co-pending application Ser. No. 337,184. Sequences which electronically vary the contrast in N.M.R. images can be constructed simply by a small number of instructions. Also through its control of magnetic field gradients CONBUS allows an operator to steer a gradient through any position in space thereby allowing images to be formed from any plane in any direction as described in the above co-pending application.
According to the present invention there is provided a signal generator for generating signals to control a large number of peripheral devices, including a digital computer having N device select lines, M output control lines and P data output lines, in which one of the N device select lines is used to enable CONBUS (as hereinbefore defined) and in which following enabling of CONBUS the P data output lines and M output control lines are used to select and to control each of the large number of peripheral devices.
The invention also provides a method of generating signals to control a large number of peripheral devices using a digital computer, in which during a first stage the area within which a selected device is present is chosen using a first control output from the computer and one or more data outputs, in which during a second stage the device within the area is selected using a second control output and one or more data outputs, and in which control data for adjusting the device is supplied during a third stage using a third control output and one or more data outputs.
Brief Description of the Drawings
Embodiments of the present invention will now be described with reference to the accompanying drawings in which:
FIG. 1 shows the connection of the CONBUS system to a digital computer,
FIG. 2 shows in block diagrammatic form the basic CONBUS system according to the present invention,
FIG. 3 shows a typical receiver and address selector for use in the CONBUS system of FIG. 2, and
FIG. 4 shows in block diagrammatic form an external device adjuster for use in the system of FIG. 2,
FIG. 5 shows a timing diagram for the system of FIG. 2, and
FIG. 6 shows the sequence of transfer of instructions.
Description of the Preferred Embodiments
Referring to FIG. 1, a suitable digital computer 10 for the CONBUS system 12 is the NOVA* 2-10 (Registered Trade Mark-Data General Corporation) minicomputer. This minicomputer can address up to 63 peripheral devices via a device select bus 18 by assigning them a unique 6 bit code. Many device codes are pre-assigned to standard devices e.g. printers 14, v.d.u.'s 16, magnetic tapes, discs etc. In principle the CONBUS system can be used with any similar minicomputer.
The CONBUS system in a preferred embodiment allows up to 32,000 further devices to be rapidly controlled, addressed or given data, as described hereinafter.
The CONBUS system is concerned with the method by which additional peripheral devices (see Second Plurality of Peripheral Devices 54 in FIG. 1) are addressed
Only the 16 bit data bus and 3 control lines are required.
Data on the bus plus the 1st (A) control line DOA are used to address devices in groups of 16.
As an example assume a maximum of 64 devices are required to be addressed in groups of 16.
With reference to FIGS. 1 and 2 the CONBUS system is shown connected to the NOVA computer.
At each of the points of entry of CONBUS to external apparatus, a receiver and address selector is used to decode signals on CONBUS to make their device specific. A typical receiver and address selector 20 is shown in FIG. 3.
The sixteen data lines CBO-15.sup.- from the computer interface (FIG. 2) are buffered and inverted to become CONBUS 0-15.sup.+. The 6 least significant bits LSB's are gated with the output control signal DOA.CB.sup.+. The four least significant bits (LSB's) form ASEL' 0-3.sup.+. The two most significant bits (MSB's) are available in both true and compliment form as ASEL 4-.sup.+ and ASEL 5-.sup.+. ASEL 0-3.sup.+ form the address inputs to a 75154 4-line-to-16-line decoder D which produces a mutually exclusive output on 1 of the 16 output lines when both enable inputs G.sub.1 and G.sub.2 are low. If we assume as stated above that CONBUS is attached to 4 areas of apparatus, the four combinations of ASEL 4-.sup.+ and ASEL 5-.sup.+ are used to ensure that the decoders similar to D (not shown) in each of the 4 areas are exclusively addressed.
The types of devices that may be connected to CONBUS can fall into one of three categories
(a) those devices which require control by a single line; examples might include PROM selection, multiplexer direction control, latch loading, etc.
(b) those devices which require a data input, e.g. programmable counters, digital to analog converters.
(c) those devices which require data and address input (memories and register files).
For devices in group (a), control can be by one of the decoder D outputs directly-hence only a single software output instruction is required for this form of control.
For devices in group (b), the addressing and loading method is shown in FIG. 4. The example shown is that of loading an 8-bit programmable counter C, and timing sequence is shown in FIG. 5.
A D-flip flop F is preset by one of the outputs of the decoder D (OPx) shown in FIG. 3 putting its Q output high which enables the passage of the DOC.CB.sup.+ given by a second NOVA I/O instruction signal through the NAND gate N to enable the 8-bit latch L. Data associated with DOC.CB.sup.+ is therefore loaded into the latch L to program the counter. The inverted version of DOC (DOC.CB.sup.-) clocks the D-flip flop F with its rising edge to effectively disable the system holding data within the latch (and hence the counter) stable and to free CONBUS for further transfers to other devices.
Addressable devices in group (c) require an additional but identical step to be inserted prior to the process described above. The address within the selected device is provided by data on CONBUS associated with DOB.CB.sup.+ and information is loaded by DOC.CB.sup.+ as described. After both steps, the address is cleared as in FIG. 4.
The software requirements are very simple requiring a maximum of six instructions for data transfer as shown in FIG. 6.
No busy network is required since loading is accomplished in one machine cycle.
The timing requirements of individual devices on CONBUS are satisfied by minimal external logic (not shown).