PERIPHERAL UNIT ADAPTED TO MONITOR A LOW DATA RATE SERIAL INPUT/OUTPUT INTERFACE

Abstract: This disclosure relates to a peripheral unit for an informa­ tion processing network which unit includes a peripheral inter­ face and a peripheral control processor to control communica­ tion between one or more peripheral devices and a master con­ troller by way of a systems bus interface. The peripheral inter­ face and processor not only provide communication from the respective devices, whatever their function, but also can ope­ rate in a monitoring mode so that the peripheral unit can serve as a monitor of the system interface for the purposes of diagno­ stics and the like.

Description: PERIPHERAL UNIT ADAPTED TO MONITOR A LOW DATA RATE SERIAL INPUT/OUTPUT INTERFACE ¯BACKGROUND OF THE INVENTION Field of the Invention This invention relates to a peripheral unit for a low data rate serial I/O interface and more particularly to such a peripheral unit adapted to monitor transmissions on that interface. Description of the Prior Art Small data processing systems may be employed in small businesses and locations remote from a large central processor which systems employ a slow speed interface to communicate with a plurality of terminals or stations such as display devices, keyboards, and the like. Such small systems can be adapted for employment in automated business offices or as a part of a distributed processing system of a large organization having many branch offices. Such small terminal systems normally employ a master controller which services a number of different types of small peripheral devices that in turn require a plurality of different communication lines between the individual devices and the master controller. This increases the cost of the controller unit. Furthermore, the controllers often require modification to incorporate unanticipated new devices. The general result is a lack of standardization of cables and connectors and communication protocols. A particular serial input/output interface and an access request mechanism for individual peripheral devices to obtain access to the interface is disclosed in the Seitz et al Patent No. 4,156,277 which is assigned to the assignee of the present invention. The access mechanism disclosed therein is designed to allow for communications between the respective peripheral devices without requiring a large number of lines in the communications interface for the purpose of addressing the respective devices. However, in a small peripheral network such as disclosed therein, it is desirable to be able to employ one of the peripheral devices for monitoring the transmission over the serial I/O interface for diagnostic purposes and other reasons without having to provide a special monitoring device therefor. It is then an object of the present invention to provide an improved monitoring device for a small peripheral network. It is another object of the present invention to provide a peripheral device which may be adapted to monitor transmission on a small peripheral network. It is still another object of the present invention to provide circuitry for a small peripheral device which allows that device to monitor transmission on a small peripheral device interface. SUMMARY OF THE INVENTION In order to achieve the above-identified objects, the present invention is directed toward a peripheral unit, a plurality of which are coupled to a master controller by way of a serial bus containing clock synchronous data driven by both the controller and the respective peripheral units. A protocol is employed by which the controller periodically invites the respective peripheral units to interrupt transmission on the bus with-all of the units desiring access to the bus transmitting their addresses to the controller in a manner such that the controller grants access to the requesting device having the highest address, and thus the highest priority. When access is granted to that particular device, it begins its transmission. Specifically, the present invention is directed toward the adaptation of the peripheral unit to monitor all transmission on the serial bus even though that particular unit has not requested access to the bus for transmission. A feature then of the present invention resides in a peripheral unit adapted to monitor all transmission on the serial bus even though that particular unit has not requested access to the bus for transmission. DESCRIPTION OF THE DRAWINGS The above and other objects, advantages and features of the present invention will become more readily apparent from a review of the following specification when taken in conjunction with the drawings wherein: Figure 1 is a schematic diagram of a system employing the present invention; Figure 2 is a set of waveforms illustrating the data and instruction format as employed with the present invention; Figure 3 is an illustration of how the highest priority device requesting service is granted access; Figure 4 is a set of waveforms representing the manner in which access requests are received and handled; Figure 5 is a schematic diagram illustrating the interface between the network serial bus and a control processor of a peripheral unit during normal operation; ; Figure 6 is a schematic diagram of the interface between the-serial bus and the control processor during monitoring operations; Figures 7A, 7B, and 7C are detailed schematic diagrams of the peripheral unit interface; Figure 8 is a diagram of the control sequencing routine employed with the present invention; and Figure 9 is a diagram illustrating the internal sequence of the device to enter the monitoring mode. GENERAL DESCRIPTION OF THE SYSTEM A system employing the present invention is illustrated in Figure 1. As shown therein, master controller 10, which may also be a processor, is coupled to a plurality of different peripheral units 11 by way of I/O bus 12 in a chain-like fashion. It will be appreciated that the same electrical connections would be achieved if the system of Figure 1 were represented with each unit 11 and master controller 10 being coupled to a common I/O bus illustrated schematically as being outside of the respective units. As indicated above, controller 10 may be a small standhaione data processor or it may be provided with appropriate communication facilities for communicating with a larger data processing system. In the present invention, IIO bus 12 of Figure 1 is a three conductor serial bus which allows communication between the respective units coupled to it including access interrupts. The three conductors required are a clock conductor which carries the clock signal from master controller 10 of Figure 1, a data conductor which is a bi-directional bus line, and a signal ground. In Figure 1, each of the peripheral units 11 and master controllers 10 can supply data signals to bus 12 by combining its respective signals with the signals from bus 12 in a logical OR manner for reasons that will become more apparent below. The quiescent condition of bus 12 is a low voltage level or logical 0 while a positive data signal would be a high or logical 1. Each peripheral unit 11 may be a slave controller, controlling up to four peripheral devices. A data segment to be transmitted between the master controller and a peripheral unit is illustrated in Figure 2 in relation to the synchronous clock signal. This data segment consists of an initial start or sync bit followed by three instruction bits which are then followed by eight data bits. The start bit and instruction code are placed on the bus by the master controller. The start bit signals the beginning of a transaction and the instruction code specifies the type of operation to be performed. Depending upon the instruction code, the data are placed on the bus either by the master controller or by one (or more) devices. Because there may be many devices attached to one bus, and because they may not be distinguished by their connection order on the bus, it is necessary that each device have a unique identification which is called the device number. For the format of transactions as illustrated in Figure 2, an eight-bit representation is employed for the device number except that no device may be identified by the device number OOOOQOOO. The reason for this will become more readily apparent in the description of the interrupt or access mechanism of the present invention. The device numbers range from 1 to 255. The possibility of 255 different devices is normally more than adequate for any small system or terminal controller. Of course, should a larger number of devices be required, the device number and address format can be increased. Devices which have higher priority in interrupt service are assigned a numerically larger device number in accordance with the interrupt mechanism of the present invention. For example, a keyboard should be assigned a relatively small device number to reflect its low data rate while a magnetic tape unit should be assigned a relatively large device number to assure that it will receive service quickly. The manner in which the various peripheral units of Figure 1 request master controller interrupt access to handle data transmission from the respective devices will now be discussed. As will be further described below, the master controller will periodically issue an INVITATION-TO-INTERRUPT instruction which causes any device desiring data transmission to place its device number on the data line of the I/O bus. As was indicated above, each device places its data including its device number onto the data line by combining its data with data on the data bus according to the logical OR function. It will be remembered in the present invention that the I/O bus is a synchronous bus driven by a clock signal received from the master controller. Thus, when an INVITATION-TO-INTERRUPT instruction has been executed, each device requesting service will, begin to place its number onto the data line beginning with its highest order bit. Each device requesting service will sense whether its particular bit currently being placed on the data line of the I/O bus is higher than or equal to the other signals currently on the data line during that particular clock period. If so, the device will continue to supply the next highest order bit of its device number. If any device requesting service detects that its device number bit currently being placed on the data line is lower than some other bit also placed on the data line during that clock period, the device will cease sending its device number. Figure 3 illustrates the manner in which lower priority devices which are requesting service cease to place their device number onto the data line of the I/O bus with the result that at the end of the INVITATION-TO INTERRUPT instruction, only that device with the highest priority then requesting service will have placed its device .s > mber on the data line. In Figure 3, a magnetic tape device having a high priority is attempting to request service at the same time as is a printer having a lower priority and a card punch which has an even lower priority The various types of instructions including the INVITATION-TO-INTERRUPT will now be discussed again with reference to Figure 2. The SELECT instruction is provided with an instruction code of 001, followed by the eight-bit device number which causes that device to become selected and all other devices can be deselected. This instruction is then followed by either a GET data or SEND data operations which affect only the selected device. The INVITATION-TO-INTERRUPT instruction has an instruction code 000. When this instruction code is placed on the data line of the Ilo it is received by all of the devices. As indicated above, if a particular device requires an interrupt, it ORs its own device number onto the data bus, high-order bit first. As was indicated above, if the device senses a logical 1 while it is applying a logical 0, it ceases to apply its own device number. Thus, upon an INVITATION-TO-INTERRUPT instruction, the serial bus acts to compute the numerically largest device number of those devices attempting to interrupt. The manner in which the simultaneous serial comparison is accomplished was discussed above in regard to Figure 3. If no device is attempting to interrupt, the signal on the bus will be all zeros. Since there may not be a device whose device number is 00000000, (as was described above), the master controller may then reissue this instruction either until an interrupt from a device is detected, or until the master controller turns off the INVITATION-TO-INTERRUPT instruction execution. This continuous mode of operation is illustrated in Figure 4. The code 000 is preferred for INVITATION-TO INTERRUPT since this is the most common condition on the serial bus when the master controller is running. Furthermore, this code combination consumes the least power in the data line drivers and termination. When a device interface has successfully applied its own device code in an INVITATION-TO-INTERRUPT operation, it becomes selected and all other devices are deselected. A complete set of master controller I/O instructions is: 1. INVITATION-TO-INTERRUPT 2. SELECT 3. GET DATA 4. SEND DATA 5. GET DEVICE STATUS 6. SEND DEVICE COMMAND 7. GET INTERFACE STATUS 8. SEND INTERFACE COMMAND The individual receivers lla of Figure 1 are formed of two parts, a receiver interface 13 and a standard microprocessor controller. Such a microprocessor controller may be any standard microprocessor currently available such as an Intel 8086 or a Zilog 280. The interconnection between the serial I/O bus 12, receiver interface 13 and the standard microprocessor is illustrated in Figure 5. In that figure, only the microprocessor's data bus 14, control bus 15, and address bus 16 are illustrated. The interface is controlled by the microprocessor by way of receiver enable signal CS', read data to microprocessor signal RD', receive data from microprocessor signal WR' and interface register select signals AO and Al. Data and other information are received from the serial bus data line by the interface by way of bus RxD and transmitted to that data line by way of bus TxD. Data and other information are transferred from the interface to the microprocessor by way of eight-bit parallel bus 17. When the receiver is in a monitoring mode, the buses and signal lines employed are as illustrated in Figure 6. DETAILED DESCRIPTION OF THE 'INVENTION The receiver interface circuitry 13 of Figures 5 and 6 is illustrated in detail in Figures 7A, 7B, and 7C. The various registers and other circuitry of those figures will now be described. In Figure 7A, decoder buffer 19 receives all control signals from the receiver's microprocessor as well as transfers data to and from that processor. In return, it transfers data to and from the various registers of the receiver interface, as will be more thoroughly described below, and also provides status signals and other various control signals for the internal operation of the receiver-interface. input buffer register 24 is a temporary holding register for data that was written to the data transmit register 27, information status register 29 or device register 26, to which such data is transferred during the third bit tie of the shift cycle or data segment transfer cycle. The address of the register being accessed is stored along with the data. This transfer occurs only if data has been written into the input buffer since the last correspondIng bit rperiod of the shift cycle 6If the input buffer register is full, data may not be written into it and this is indicated by the input buffer full (IBF) flag in status register 30 of Figure 7B. Data register 25 is an eight-bit register that is serially loaded from the serial bus interconnecting the various peripheral devices and the controller. Other units illustrated in Figure 7A include reset control 23 which generates the reset signal for the receiver interface, pending interrupt controller 20 which signals that an interrupt is pending, input buffer interface 21 which generates the input buffer full flag and other signals, and system control 22. As was indicated above, status register and interrupt circuitry 30 of Figure 7B contain a number of flags which indicate various conditions within the receiver interface. In addition to the input buffer full (IBF) flag, other flags in the status register include three I-code bits which are set during the last shift or data segment transfer cycle to indicate the address of the peripheral device that was selected, whether or not that device is the present device. A select flag is provided tl indicate whether or not the present receiver has been selected. A flag is provided to indicate whether the input buffer is full, a flag (SHIFTINT) to indicate the occurrence of a shift or data cycle interrupt following a GET or SEND data transfer cycle if the current receiver has been selected, a flag (SELCTINT) indicating that a selection interrupt has occurred following a change in the selection state of the receiver fro selected to unselected or vice versa, and a reset flag to indicate that the receiver interface is being reset. System interface status (ISTAT) register 29 is an eight-bit register which is updated by the peripheral's microprocessor and is examined by the system controller upon directive. Data transmit register 27 is an eight-bit register which accepts data from the peripheral's microprocessor via input buffer register 24 of Figure 7A and shifts the data serially onto the serial system's bus upon directive. Device register 26 receives the device number of a peripheral wishing-to interrupt. If it is written into while the receiver interface is unselected, it generates a pending system's interrupt allowing the device to attempt to respond to an INVITATION-TO-INTERRUPT directive. Data is written into this register by way of input buffer register 24 of Figure 7A. Referring now to Figure 7C, device code registers 34 are four device registers into which the receiver processor must write one to four device numbers during the initialization sequence. Selection register 32 contains the device number of the currently selected device. The receiver is selected if the device number in this register matches the device number in one of the four device code registers. The receiver processor or controller communicates with the various devices by way of data bus 14, control bus 15 and address bus 16 of Figures 5 and 6. When placed in a monitoring mode, the receiver interface becomes a dedicated system bus monitor of all transferred information on the serial input/output bus 12. To use the monitor feature, the receiver processor must read the data register immediately following the reset flag going low. Reading the data register immediately after a reset without writing any device numbers into the device register address will cause the receiver ee configure itself for the monitor mode. Figure 8 illustrates the sequencing of the monitor initialization. When operated as a serial I/O bus monitor, the shift interrupt (SHIFTINT) flag will go high at the end of every shift cycle, indicating data is available. The receiver processor will then read the status register to obtain the I-code of the shift cycle, and then read the data register to obtain the data. This last operation will clear the shift interrupt flag. Figure 9 depicts the sequence of how the process controller controls the receiver interface when it is in the monitoring mode. EPILOGUE A peripheral unit has been disclosed for an information processing network which unit includes a peripheral interface and a peripheral control processor to control communication between one or more peripheral devices and a master controller by way of a systems bus interface. The peripheral interface and processor not only provide communication from the respective devices, whatever their function, but also can operate in a monitoring mode so that the peripheral unit can serve as a monitor of the system interface for the purposes of diagnostics and the like. The system network may be a local network under control of a master controller or the master controller can be provided with communications facilities to communicate with a larger processing system in a distributed processing manner. While but one embodiment of the present invention has been disclosed, it will be apparent to those skilled in the art that variations and modifications may be made therein without departing from the spirit and scope of the invention as claimed.

Claims: WHAT IS CLAIMED IS: 1. In a network of peripheral units and a master controller coupled to a transmission buss a peripheral unit comprising: first means to request access to the transmission bus for reading or writing an information segment thereon; and second means to read all data segment transfers on said bus without requesting an interrupt for access to said bus. 2. A peripheral unit according to Claim 1 wherein: said peripheral unit includes an interface circuit and a unit processor coupled to said bus by way of said interface circuit. 3. A peripheral unit according to Claim 2 wherein: said interface circuit includes means to receive a reset signal from said unit processor to reset said interface circuit after each data transaction on said bus. 4. A peripheral unit according to Claim 3 wherein: said unit processor is adapted to read data from said interface circuit after initiating a reset signal without requesting an interrupt for access on said bus. 5. A peripheral unit according to Claim 4 wherein: said interface circuit is adapted to read data from said bus during each information transaction thereon after each reset signal from said unit processor. 6. A data transfer system for transfer of data and other information to or from one of a plurality of peripheral devices, said system comprising: a serial input/output bus; a master controller coupled to said bus to provide an initiating signal thereon; and a plurality of peripheral units coupled to said bus, each of said units including first means to detect an initiating signal placed on said serial bus; second means to supply unit address bits to said bus, highest order first, in response to said initiating signal; and comparison means to detect when an address bit signal supplied to said bus from another unit is greater than the unit address bit being supplied to said bus from the current unit and to stop further supply of address bits from said current unit; one of said peripheral units including monitoring means to read all data segment transfers on said bus without requesting access to said bus by supplying unit address bits thereto. 7. A peripheral unit according to Claim 6 wherein: said peripheral unit includes an interface circuit and a unit processor coupled to said bus by way of said interface circuit. 8. A peripheral unit according to Claim 7 wherein: said interface circuit includes means to receive a reset signal from said unit processor to reset said interface circuit after each data transmission on said bus. 9. A peripheral unit according to Claim 8 wherein: said unit processor is adapted to read data from said interface circuit after initiating a reset signal without requesting an interrupt for access on said bus. 10. A peripheral unit according to Claim 9 wherein: said interface circuit is adapted to read data from said bus during each information transaction thereon after each reset signal from said unit processor.

Inventors: HOPKINS, LARRY KENT, JACK, KEITH ALAN
Applicants: UNISYS CORPORATION
Application year: 1982
Main classification: G06F11
IPC codes: G06F11, G06F13