Bus system

Abstract: A bus system has a main bus and an internal bus. The main bus is coupled to a number of driver units which drive data onto the main bus and to receiver units which respond to that data and provide response data to the main bus. A logic unit provides two-way communication directly between the main and internal buses and allows testing of individual driver and receiver units independently of other units.

Description: This invention relates to bus system suitable for us in a microcomputer. In microcomputers it is known to provide a number of functional units which communicate with one another by means of an internal bus, which is dedicated to that functional block of the microcomputer containing those functional units, and which is not directly accessible from the main data bus of the microcomputer. Different functional blocks of the microcomputer may have their own functional units and respective internal buses. The functional units may be divided into two functional categories namely "drivers" which supply data to the internal bus and "receivers" which receive and respond to the data driven onto the internal bus by the drivers. A problem arises in such system in respect of testing the function of the units. This is because the drivers and receivers are all tied together by the internal bus, which itself is not accessible from the main bus. Thus it is not possible to test the drivers independently of the receivers and vice-versa. This problem is exacerbated in modular structures in which driver and receivers may be selected from a library of units and which provide many different permutations of drivers and receivers to customers requirements. This would necessitate the writing of a test sequence for each different possible combination of drivers and receivers. Microprocessing and Microprogramming, vol. 21, no.1-5, August 1987, pages 333-338, describes a shared bus system in which active component faults are tolerated with no modification required at the interfaces. US-A-4,485,472 describes a testable interface circuit to be coupled between a module terminal and the module, and has a decoupling section arranged to facilitate decoupling of the module from the terminal, and a test data section for receiving test data. This invention seeks to provide a bus system in which the above testing problem is mitigated. According to the invention there is provided a bus system comprising a main data bus and an internal bus not directly accessible from the main data bus during normal operation of the bus system; one or more driver units and one or more receiver units coupled between the main bus and the internal bus, respectively for supplying data to and receiving data from the internal bus, and logic means for providing two way access between the main and internal buses during testing, characterised in that the system is arranged for individually testing the units with respect to the internal bus by access of one unit at a time from the main bus via the logic means and the internal bus. The logic means may comprise means coupled to the main bus for storing data to be driven onto the internal bus and write buffer means for coupling the means for storing data to the internal bus. The write buffer means may be a three state buffer having an enable input and wherein means coupled to the main bus is provided for controlling the enabling of the write buffer means. The logic means may include read buffer means for coupling data to be read from the internal bus to the main bus. The read buffer means may be a three state buffer and wherein means, coupled to the main bus, is provided for controlling the enabling of the read buffer means. The bus system may comprise a plurality of internal buses, the logic means providing two-way access between the main bus and each internal bus. In one embodiment the logic means comprises a plurality of logic units, each coupled between the main bus and a respective internal bus. In another embodiment the logic means comprises a single logic unit and multiplexing means for selectively coupling the main bus to any selected internal bus. In a preferred embodiment the driver units are timers and the receiver units are action units. An exemplary embodiment of the invention will be described with reference to the drawings in which: Fig. 1 is a schematic block diagram of one embodiment of a bus system in accordance with the invention;. Fig. 2 shows an alternative embodiment of a bus system in accordance with the invention; and Fig. 3 is another alternative embodiment of a bus system in accordance with the invention; and Fig. 4 is a schematic block diagram of the logic unit of Fig. 1 to 3. Referring to Fig. 1 the system shown comprises a functional block 1 including a plurality of driver units 2, which may or may not be identical to one another in function, and a plurality of receiver units 3. The driver units 2 and receiver units 3 are coupled to a main system bus 4 by two-way buses 5, and to an internal bus 6 by means of one-way buses 7 and 8 respectively, which pass data in the appropriate direction between the internal bus 6 and the respective unit. The functional block 1 also includes logic means in the form of a logic unit 9 coupled to the main 4 and internal 6 buses by two-way buses 10 and 11 respectively. The logic unit 9 allows two-way access between the main bus 4 and internal bus 6 so that efficient testing of the driver units 2, receiver units 3, and the internal bus 6 itself, may be carried out efficiently. Each of the driver units 2 and receiver units 3 has an internal bit which may be set from the main bus 4 and which enables and disables the operation of each driver 2 and receiver 3. When it is desired to test the functional block, the drivers and receivers may be selectively disabled and access provided between the main bus 4 and the internal bus 6 as follows: To test any individual driver 2 all the drivers 2, and receivers 3 are disabled. The drivers are then enabled one at a time so that each driver in turn drives data onto the internal bus 6. This data may be evaluated through the logic unit 9, which is used to feed the data driven onto the internal bus 6, to the main bus 4. Similarly to test each receiver 3 independently of other receivers and of the drivers 2, all the drivers 2 are disabled and the receivers 3 are enabled one at a time. Test data is supplied from the main bus 4 through the logic unit 9 to the internal bus, where it is received and actioned by the enabled receiver unit. This receiver unit is examined from the main bus 4 through its two-way connecting bus 5 to determine if it has responded correctly to the data driven onto the internal bus 6 through the logic unit 9. As an alternative to examining the function of a unit 6 to be tested at the main bus 4, use may be made of external pads shown by dashed boxes 12, of an integrated circuit, of which the functional block 1 typically forms part, and to which the driver units 2 and receiver units 3 are connected. Thus regardless of the number and function of the drivers 2 and the receivers 3, all their functions may be individually tested. It is possible for there to be a plurality of internal buses in a particular architecture system and each may require addressing from the main bus. Alternative embodiments of such systems are shown in Figs. 2 and 3, where like parts to those of Figure 1 have like numbers. In Fig. 2 N internal buses 6A through 6N are provided, each of which has its respective associated logic unit 9A through 9N, for facilitating two-way access between the main bus 4 and each internal bus 6A through 6N. Driver and receiver units are connected as in Figure 1 between the main and respective ones of the internal buses 6A through 6N. In the alternative embodiment of Fig. 3, N internal buses 6A through 6N are again provided, but in this case only a single logic unit 9 is provided, which is time shared between the internal buses 6A through 6N, by means of a multiplexer 14, which selectively couples the logic unit 9 to each internal bus 6A through 6N. Referring now to Figure 4 the logic unit 9 comprises a data latch 15 coupled to receive data from the main bus over a line 16. The latch is coupled to the internal bus 6 via a three state buffer 17 having an enable input 18. Communication in the opposite direction between the internal bus 6 and the main bus 4 is effected via a three state buffer 19 having an enable input 20. To drive data onto the internal bus 6, the latch is selected by means of an address, fed from the main bus 4, to an address decoder 1 which controls enabling of the latch 15. The data is fed to and held in the latch 15, until it is passed to the internal bus 6, by enabling the buffer 17, by means of an enable bit 22, activated from the address decoder 21 and fed to its enable input 18. To read data from the main bus, the buffer 19 is selected by means of an appropriate address, fed to the address decoder from the main bus 21. The address decoder enables the buffer 19 by means of an input to its enable input 20. Modifications may be made without departing from the scope of the invention. For example where it is only required to drive data to the internal bus at the same time as the data is written into the latch 15, the enable bit 22 may be omitted.

Claims: A bus system comprising a main data bus (4) and an internal bus (6) not directly accessible from the main bus during normal operation of the bus system; one or more driver units (2) and one or more receiver units (3) coupled between the main bus (4) and the internal bus (6), respectively for supplying data to and receiving data from the internal bus (6), and logic means (9) for providing two way access between the main (4) and internal (6) buses during testing, characterised in that the system is arranged for individually testing the units (2,3) with respect to the internal bus (6) by access of one unit at a time from the main bus (4) via the logic means (9) and the internal bus (6). The system of claim 1 wherein the logic means (9) comprises means (15) coupled to the main bus (4) for storing data to be driven onto the internal bus (6) and write buffer means (17) for coupling the means for storing data (15) to the internal bus (6). The system of claim 2 wherein the write buffer means (17) is a three state buffer having an enable input (18) and wherein means (21) coupled to the main bus (4) is provided for controlling the enabling of the write buffer means (17). The system of claim 1 wherein the logic means includes read buffer means (19) for coupling data to be read from the internal bus (6) to the main bus (4). The system of claim 4 wherein the read buffer means (19) is a three state buffer and wherein means (21) coupled to the main bus (4), is provided for controlling the enabling of the read buffer means (19). The system of claim 1 and further comprising a plurality of internal buses (6A,6B,6C,6N) the logic means (9) providing two-way access between the main bus (4) and each internal bus (6A,68,6C,6N). The system of claim 6 wherein the logic means (9) comprises a plurality of logic units (9A,9B,9C,9N) each coupled between the main bus (4) and a respective internal bus (6A,6B,6C,6N). The system of claim 6 wherein logic means comprises a single logic unit and multiplexing means for selectively coupling the main bus to any selected internal bus.

Inventors: GERCEKCI ANIL, SCHWARZ ROLAND HERMANN, GERCEKCI, ANIL, SCHWARZ, ROLAND HERMANN
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 1991
Main classification: G06F13
IPC codes: G06F11, G06F13