Background of the Invention
The present invention pertains to communication between a microprocessor controller and a plurality of subsystem peripheral and more particularly to a common arrangement for facilitating the transfer of data between the microprocessor and non-compatible peripheral subsystems.
In communication system design, it is necessary for a microprocessor to have the capability of addressing a number of independent subsystems. To achieve this end, subsystems are tied to the data and address buses of the microprocessor. The microprocessor may then address each individual subsystem to transfer data between the microprocessor and subsystem. Each subsystem must recognize its own address, so that only one subsystem responds when a particular address is output by the microprocessor.
Previously, unique addressing was provided by setting dual in line package (DIP) switches to a unique value for each subsystem. When an address was output by the microprocessor, the subsystem logic would decode that address and compare it with the address of the DIP switches in order to enable the subsystem to gain control of the microprocessor's buses. Only one subsystem would contain switches set to each address. Therefore, only the subsystem containing the particular address transmitted by the microprocessor would respond and be enabled on to the microprocessor's buses.
Another method of achieving this unique addressing was to provide strapping options on the backplane of each frame or file of printed wiring cards associated with a particular subsystem. These strapping options would then be wired to sources of logic 0 or logic 1 corresponding to a particular address. When an address was output by the microprocessor, each subsystem would then compare that address with respect to its fixed unique address and respond as outlined above.
The strapping options and DIP switches techniques produce electrical noise, which disrupts the circuit operation. As a result, these options are not reliable. In particular, the DIP switches are fragile and susceptible to breakage.
In addition, subsystem/microprocessor bus architectures are typically dependant upon one common power supply. Subsystems need the ability to be powered down individually without impacting the microprocessor's bus structure.
Lastly, subsystems are typically designed to be directly compatible with the logic inputs and outputs of a microprocessor. Microprocessor bus control units do not typically compensate for the difference in logic levels between microprocessors and their associated peripheral subsystems.
Summary of the Invention
A microprocessor system includes a bus extender arrangement which is connected between a microprocessor controller and a number of subsystems. The microprocessor controller includes a microprocessor.
The bus extender arrangement has a gate array which is connected to the microprocessor and operates to convert a plurality of signals of the microprocessor from a first to second logic level. This arrangement also includes a bus extender which is connected between the gate array and each of the plurality of subsystems. The bus extender operates to convert the plurality of signals from the second logic level to the first logic level.
Each of the subsystems has a local gate array, which is connectable to the microprocessor, one at a time. When the microprocessor is connected to the subsystem, data may be transferred between the microprocessor and the subsystem to which it is connected. Each subsystem operates in response to selection signals to connect one subsystem to the microprocessor for communication.
A Brief Description of the Drawings
FIG. 1 is block diagram of a microprocessor system.
FIG. 2 is schematic diagram of a bus extender circuit shown in FIG. 1.
Description of the Preferred Embodiment
FIG. 1 shows the microprocessor connected to the bus interface gate array (BIGA). The bus interface gate array is connected to a bus extender associated with each subsystem. There may be a number of subsystems, 1 through N.
The microprocessor is required to access each subsystem, one at a time. The microprocessor and each of subsystems are powered by different power supplies, so that different power zones exist throughout the system. Thus, one system may be repaired or taken off line without any adverse effect upon the other subsystems.
The MPU shown in dashed lines in FIG. 1 is a single printed wiring card containing both the microprocessor and bus interface gate array. The microprocessor employs high speed CMOS logic. The BIGA converts the high speed CMOS logic to FAST logic levels. For the high speed CMOS logic the logic "1" input voltage is a minimum of 3.15 volts and the logic "0" input voltage is a maximum of 0.9 volts. For the high speed CMOS logic the output voltages for logic "1" is a minimum of 4.4 volts and the output voltage for a logic "0" is a maximum of 0.1 volts. Other details of CMOS circuits' operation may be found in the High Speed CMOS Data Book, copyright 1984.
For the FAST (Fairchild Advanced Schottky TTL) logic the input voltage for a logic "1" is a minimum of 2.0 volts and the input voltage for a logic "0" is a maximum of 0.8 volts. For the FAST logic the output voltage for a logic "1" is a minimum of 2.7 volts and the output voltage for a logic "0" is a maximum of 0.5 volts. Other details of FAST circuits' operation may be found in the Fairchild Advanced Schottky TTL Data Book, published September, 1984.
Each subsystem is comprised of a number of printed wiring cards which facilitate receiving and transmitting telecommunications data. Each of the printed wiring cards within a subsystem includes on it, a bus interface gate array which produces inputs and outputs compatible with CMOS logic. Once the microprocessor has addressed a particular subsystem, each of the printed wiring cards in that subsystem may communicate with the microprocessor via the bus extender circuit. Each printed wiring card of the subsystem contains a BIGA which controls that printed wiring card's access to the microprocessor bus system.
Each subsystem may be powered down and removed from the bus without effecting the other subsystems remaining connected to the bus. In this way, the power may be zoned to the various subsystems such that system integrity may be maintained despite localized power failures.
Referring to FIG. 2, a circuit embodying the principles of operation of the present invention is shown. The signal shown at the left edge of FIG. 2 are signals transmitted from or to the microprocessor of the MPU via the BIGA. These signals are all prefixed with a "R" to denote this interface. The signals at the right edge of FIG. 2 are transmitted or received from a subsystem. These signals are prefixed with a "L" to denote this. The reset signal RRESET is transmitted from the microprocessor to tri-state gate 1. Gate 1 is connected to tri-state gate 5. Gate 5 then transmits the LRESET signal to the subsystem logic. The clock signals RCKDA and RCKDB are transmitted from the microprocessor through tri-state gates 2 and 3 respectively through tri-states gates 6 and 7 to each subsystem's logic. Serial bit stream data is transmitted via the RSERDT lead to tri-state gate 4. Gate 4 is connected to tri-state gate 8. Gate 8 transmits the LSERDT signal to the subsystem's logic.
Gates 1 through 4 may comprise Fairchild Advanced Schottky TTL (FAST) gates part number FAST74240. Tri-state gates 5 through 8 may comprise high speed CMOS logic (HCMOS) gates part number HC74240.
Addressing signals RZNOX and RZNXO are transmitted from the microprocessor to NAND gate 9. NAND gate 9 may comprise a FAST logic device part number FAST 7430.
Eight address bits are output from the microprocessor to enable up to 4 subsystems to be decoded. This scheme is obviously applicable to more then 4 subsystems by providing more address lines for decoding. These 8 leads are designated RZNX0, RZNX1, RZNX2, RZNX3, RZN0X, RZN1X, RZN2X and RZN3X. FIG. 2 shows a bus extender with NAND gate 9 being connected to the first 2 leads RZNOX and RZNXO. The other 3 subsystems would be connected to corresponding leads, 1 from each group. For example, subsystem 2 would have its NAND gate 9 connected to RZNX1 and RZN1X, etc.
When RZN0X and RZNX0 are both low, gate 9 is enabled and produces the decode for that particular subsystem which is transmitted through gate 10 to subsystem via lead LZNOO. Gate 10 is also a high speed CMOS tri-state gate and may be implemented with part number HC74240.
Gates 1 through 4 and 5 through 8 are tri-state devices which are constantly enabled by their connection to electrical ground. However, only the subsystem which has decoded its particular address will enable its BIGA to be connected to the bus extender to receive and transmit data.
NOR gate 15 is connected to NAND gate 9 and to FAST tri-state gates 24 and 25. NOR gate 15 serves to enable the tri-state devices to transmit serial data from the particular subsystem to microprocessor via the RRETDA and RRETDB leads. Tri-state gate 34 is connected between gate 24 and the particular subsystem via the LRETDA lead. Similarly, tri-state gate 35 is connected between gate 25 and the particular subsystem via the LRETDB lead. Serial data may be transmitted from the subsystem to microprocessor via these two leads.
Four interrupts may be transmitted from each subsystem to the microprocessor. These interrupts serve to signal the microprocessor that various subsystem equipment needs servicing or maintenance. Interrupt leads LBINT0 through LBINT3 are connected between each pariicular subsystem and tri-state gates 30 through 33 respectively. Tri-state gates 30 through 33 are connected to NPN switching transistors 20 through 23, respectively. The collector of transistors 20 through 23 are respectively connected to the microprocessor via leads RBINT0 through RBINT3. The tri-state input of gates 30 through 35 are each connected to ground, thereby permanently enabling the interrupt and serial data leads. However, only the subsystem addressed may respond on these leads.
Gates 30 through 35 may be implemented using high speed CMOS tri-state gates part number HC74240. Gates 24 and 25 may be implemented using FAST tri-state gates part number FAST 74240. Gate 15 may be implemented with a NOR gate FAST 7402.
Although the preferred embodiment of the invention has been illustrated, and that form described in detail, it would be readily apparent to those skilled in the art that various modifications may be made therein without departing from the spirit of the invention or from the scope of the appended claims.