Background of the Invention
The present invention relates to data systems and, in particular, to a slave computer which can be remotely controlled by a master computer.
It is known to employ a computer to control various equipment such as test instruments for monitoring a test unit. Such systems have included peripherals for programming and changing the programming of the computer. For example, a computing system could include a group of parallel bit switches for manually sending single word instructions. These manual switches can cooperate with other control switches for interrupting the computer. Such systems have included teletypewriters having tape readers for originally programming the computer.
A disadvantage with systems of the foregoing type is that reprogramming and debugging can be extremely time consuming because of the tape reader and manual switches employed. Accordingly, there is a need for equipment and methods for operating a testing computer so that its manner of operation can be established simply and changed quickly. Also efficient equipment and methods for interrogating and debugging this testing computer are desired.
Summary of the Invention
In accordance with the illustrative embodiment demonstrating features and advantages of the present invention, there is provided a link for exchanging data between a master and slave computer. Each computer has control lines and incompatible information lines. The master computer includes a master interface means connected to the information and control lines of the master computer. This master interface means has separate intercommunication lines and intermediate lines. The master interface means can provide an intermediate signal on the intermediate lines in response to signals provided by the master computer on its control lines. The link has a computing means and a slave interface means. The computing means is connected to the intercommunication and intermediate lines of the master interface means. This computing means has command lines for providing thereon a commond signal in response to the intermediate signal. The slave interface means is connected to the intercommunication lines of the master interface means, to the command lines of the computing means and to the control lines of the slave computer. This slave interface means can provide a signal to the control lines of the slave computer in response to the command signal.
Also, in accordance with the present invention, there is provided a method for controlling a slave computer with a master and intermediate computer. The slave, master and intermediate computers each have a plurality of interconnecting lines. The method includes the step of transmitting a halt signal from the master computer through the intermediate computer to the slave computer, to halt operation of the latter. The method also includes the step of transmitting a coded signal from the master computer through the intermediate computer to the slave computer, causing the latter to store part of the coded signal.
By employing equipment and methods of the foregoing type an advantageous data system is provided. A remote slave computer can perform tasks such as operating measuring instruments and stimulative devices for testing a remote unit. The slave computer can be reprogrammed, halted or debugged by a master computer which is linked to the slave through a subsystem including, preferably, a microcomputer. In a preferred embodiment, the microcomputer has a custom interface to the master computer and the slave computer.
The foregoing system can perform numerous functions. For example, the master computer can transmit a program through the link to the slave computer to reprogram it. Also, the master computer can be used for interactive debugging. For example, the master computer can send instructions to the slave causing it to execute one of its programming steps and then pause. The master computer can then read and display various registers or memory cells from the slave computer. In addition, the master computer can change the contents of the slave computer memory at a specified address by transmitting a change order to the slave.
Moreover, for embodiments where the slave computer controls test instruments and stimulative devices, the master computer can instruct the slave to operate its test instruments and stimulative devices in a given manner. The measurements obtained by the instruments can be relayed back to the master computer for display.
In a preferred embodiment, the link between the master and slave employs a microprocessor having its own data and address lines and its own memory. Instructions forwarded from the master computer through its interface are initially received by the microprocessor which then relays the information through a slave interface at a timing and in a format useable by the slave computer. In this preferred embodiment, the microprocessor has its own control lines as does the master and slave computer.
Brief Description of the Drawings
The above brief description as well as other objects, features and advantages of the present invention will be more fully appreciated by reference to the following detailed description of a presently preferred but nonetheless illustrative embodiment in accordance with the present invention when taken in conjunction with the accompanying drawings wherein:
FIG. 1 is a block diagram of a link between a master and slave computer according to the present invention; and
FIG. 2 is a more detailed block diagram of the link of FIG. 1.
FIG. 3 is a flowchart associated with the link of FIG. 1.
Detailed Description of the Preferred Embodiment
Referring to FIG. 1, link 10 is connected to master computer MC by a plurality of lines 26. Computer MC is a general-purpose computer including as illustrated: data memory, a central processing unit (CPU) and an input/output port (I/O). Master computer MC is shown connected to a display device, in this embodiment, cathode ray tube 12.
Link 10 is arranged to exchange data between master computer MC and slave computer SL. Since slave computer SL is located at a significant distance from link 10 a relatively long cable 40 comprising a plurality of lines connects between link 10 and buffer 14. Buffer 14 employs transmitting and receiving devices for restoring the signal levels that may be attenuated through cable 40. Buffer 14 is shown connecting directly to slave computer SL through a plurality of lines, whose signals correspond to the information on cable 40. Slave computer SL is shown with a slave memory having a plurality of memory cells, a central processing unit (CPU) and an input/output port (I/O). Slave computer SL is shown connected through its input/output port and lines 23 to a plurality of peripherals. Four such peripherals connected to it are conventional line printer 16, punch tape reader 18, magnetic tape memory 15 and computer displays 17. Also connected in this fashion is a manual programmer shown herein as plurality of manual switches 20, one for each relevant bit. Switches 20 can be used to transmit a data word to slave computer SL for the purpose of controlling programming, reprogramming or debugging programs of slave computer SL. Also connected by lines 23 to slave computer SL are a rack of measuring instruments and stimulating devices 22. These measuring instruments may include voltmeters, frequency counters, ammeters, etc. These instruments can be operated by the signals transmitted on lines 23 by slave computer SL to cause instruments 22 to relay back on lines 23 operating parameters measured by them. Instruments 22 connect to a unit under test 24 through a test terminal shown herein as interconnecting lines 25. The stimulating devices in block 22 may include current sources and voltage sources of various types to supply by connector pins or probes in lines 25 stimulating signals to test the performance of unit 24.
Referring to FIG. 2, a more detailed block diagram is given of link 10 of FIG. 1. Previously mentioned lines 26, shown composed of control lines 26A and information lines 26B and 26C, connect to a master interface means 28. Interface 28 may employ a group of registers, flip-flops or other sequential or combinational logic circuits to render lines 26 compatible with the balance of the circuitry shown in FIG. 2. In certain simplified, highly compatible embodiments, interface 28 may be a series of directly wired connections. Interface 28 also connects to a group of intercommunication lines LA/B, a group of intermediate lines 34 and a group of address lines AD. Lines LA/B may carry ordinary data while lines 34 may convey control signals such as halt and interrupt signals.
A computing means, shown herein as processing means 30, connects between data lines LA/B and address lines AD to exchange data with them. In this embodiment, processing means 30 is a conventional microprocessor whose structure and manner of operation is so well known it need not be retold herein. Computing means 30 also includes a memory means, shown herein as a random access and read only memory group 32 connected to data lines LA/B to exchange data therewith and to address lines AD to receive addresses therefrom. Thus arranged, elements 30 and 32 can act as an intermediate microcomputer. Microcomputer 30 is connected to intermediate lines 34 and also to command lines 36 which connect to slave interface means 38. Interface 38 is similar to interface 28 in that it employs various shift registers, flip-flops or other sequential or combinational logic to render lines LA/B, 36 and LEXO-15 compatible with lines 40. Interface 38 connects to data lines LEXO-15 to transmit data along these lines to interface 28. Lines 40 emerging from interface 38 comprise a group of informational lines CA1-15 and CX1-21 of slave computer SL (FIG. 1). Lines 40 also include a group of control lines 42 associated with the slave computer.
The equipment of FIG. 2 can be generally programmed by storing the desired instructions into memory 32 so that data and instructions from the master computer transmitted along lines 26 are received, translated and relayed by microprocessor 30 through interface 38 and lines 40 to control the slave computer in an orderly manner to be described hereinafter in connection with the flow chart of FIG. 3.
To facilitate an understanding of the principles associated with the apparatus of FIGS. 1 and 2, its operation will now be briefly described. A unit under test 24 is initially connected through lines 25 to the measuring and stimulating devices 22. Before starting, if desired (step ST1), programming instructions can be fed into slave computer SL by operating a tape reader 18 or by actuating manual switches 20 to transmit individual programming words. In this mode, slave computer SL can through line printer 16 or display 17 transmit acknowledging responses, inquiries and error signals. However, it is usually simpler for master computer MC to transmit programming information through link 10 and buffer 14.
Because master computer MC is, in this embodiment, a large, general-purpose computer employing many interactive devices such as cathode ray tube 12, initial programming and debugging can be performed more simply and rapidly by dispatching programming instructions from master computer MC. A keyboard associated with cathode ray tube 12 can be used to assemble instructions while its video screen displays the program, as well as, programming errors. Master computer MC transmits this program (step ST2) over lines 26 through interface 28 (FIG. 2). Microcomputer 30 then sends corresponding control signals on lines 34 and address signals on lines AD directing the transmittal (step ST2) of this program along lines LA/B and into memory 32. Subsequently, the program is retransmitted (step ST3) on lines LA/B through interface 38 onto lines CX1-21 to program slave computer SL (FIG. 1).
In the event that the program thus transmitted contains errors, it may be necessary to debug slave computer SL by means of master computer MC. In this case, master computer MC may transmit on control lines 26A (FIG. 2), as well as on information lines 26B and 26C, instructions that cause slave computer SL (FIG. 1) to execute one programming step and then halt (step ST7). Such instructions are conveyed by being first stored temporarily (step ST4) by microprocessor 30 (FIG. 2) in memory 32. Thereafter, these instructions are retransmitted through information lines LA/B and interface 38 to lines 40 for the purpose of controlling slave computer SL (FIG. 1).
It will be appreciated that a halt signal (step ST6) from master computer MC can be conveyed through lines 34 to microprocessor 30 and, thereafter, from the microprocessor control lines 36 through interface 38 to control lines 42. This halt signal can be timed and encoded with the appropriate format to halt the slave computer SL in an orderly fashion.
In a similar fashion, master computer MC (FIG. 1) may be used to troubleshoot a unit 24. The slave computer SL, once programmed, can sequence unit 24 through a series of tests performed by instruments 22 and, thereby, compile data on the responses and operating parameters of unit 24 (step ST5). Thereafter, an inspector may wish to perform additional tests to refine his diagnosis. Accordingly, an inspector may send from master computer MC instructions to operate certain instruments and stimulating devices in rack 22 and return the associated measurements (steps ST9 and ST10), as follows: Instructions are initially conveyed on lines 26 (FIG. 2) through interface 28, microprocessor 30 and interface 38, to lines 40. The instructions thus conveyed are coupled through buffer 14 (FIG. 1) to cause slave computer SL to operate the appropriate instruments and stimulating devices in rack 22 (FIG. 1), perform the requested tests and return on lines 23 the requested measurements. Slave computer SL then conveys this information through buffer 14 and lines 40 to link 10. This returning information is transmitted on information lines CX1-21 through interface 38 (FIG. 2) onto data lines LEX0-15. Thereafter, the information is relayed through interface 28 to master computer MC on lines 26 so they may be displayed on cathode ray tube 12 (FIG. 1).
Another desirable feature provided by the system of FIGS. 1 and 2 is the display and rewriting of information in the memory of slave computer SL. An inspector may transmit from master computer MC an instruction to display data in a memory cell of slave computer SL. Such a request is transmitted through link 10 and buffer 14 (step ST11). In an orderly fashion, slave computer SL returns through buffer 14 and link 10 the requested data which can then be displayed on cathode ray tube 12. If an inspector wishes to change the stored information thus displayed, he can next transmit from master computer MC an appropriate instruction which is conveyed through link 10 and buffer 14 to slave computer SL. This instruction causes the memory of slave computer SL to be rewritten at the selected address (step ST13). The amended information in this memory cell is then relayed back to display 12 to confirm the change.
It is to be appreciated that various modifications may be implemented with respect to the above described preferred embodiment. For example, the information and control lines employed by various computing devices can be changed in number and in the type of signals they carry. It is also expected that alternate microprocessors can be employed which may or may not match the word length in bits used by the master or slave computer. Also, the microprocessor can employ various types of memory devices including combinations of volatile and nonvolatile memories. Moreover, the various interfaces associated with the master and slave computer may employ alternate circuits using various registers, flip-flops or other forms of sequential or combinational logic. In some embodiments, the interface associated with the master computer may be the one typically provided by the manufacturer of the master computer as a standard input/output device. Furthermore, numerous circuit modifications and component substitutions may be implemented to provide the desired speed, word length, capacity, power, signal levels, etc.
Obviously, many modifications and variations of the present invention are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described.