Just What is a Computer Bus?

 

Standard - Any computer bus is based on a set of mechanical specifications, protocols, and rules needed to build and use it in synchrony with other companies or individuals. The official description of these is called a standard; completed standards are published in paper and/or electronic media. Over the years standards may be revised, and new standards for like equipment may spin off from the original standard. Short descriptions of the major components of a typical computer bus follow.

Backplane bus - the series of connectors, metallic leads, and hardware that is used to enable communication between two or more electronic devices. The exact specification of these are determined by a group of engineers who work on a standard - such as the VME standard, PCI standard, and ISA standard. Often, the IEEE sponsors standards committees and it publishes the standard in book form (probably also now online and on CD). Experts in the field volunteer or are asked to work on standards committees. If the standard becomes adopted by many people working in the electronics industry (like the VME standard), it brings a measure of prestige to the engineers who worked on the standard and their companies.

Enclosure (chassis) - The backplane bus often resides within a metal enclosure, which is used to provide physical support and protection to the electronics, and to shield it from external noise.

Backplane - the solid board onto which circuits are printed and the board sockets are bolted down. It is often made of fiberglass.

Bus connectors - into these fit plug-in boards. There are metallic tabs, or contacts, within the sockets which make continuity with like tabs on the plug-in board. The physical dimensions of the socket are specified by the bus standard. This way, the designer will know ahead of time how much backplane space each socket will fill. Also, the physical specifications of the electrical contact area of the socket are specified so that plug-in board manufacturers will know how to construct their boards to provide good continuity with the tabs in the socket connector.

Bus lines - these are the metallic leads (printed circuits), overlaid on the backplane by a printing process, along which electrical currents will flow. A single lead will provide continuity between corresponding tabs for all sockets which are bolted onto the backplane. The metallic materials used, their width and spacing, may be specified in the bus standard. If the leads are positioned too close together, there may be crosstalk (the signal from one lead is imparted to an adjacent lead). Along with the printed circuits there must be proper termination of each lead (circuit elements are used at the ends of a lead - where conduction is 'terminated').

Plug-in board connectors - these must mate with the bus connectors. Their physical parameters are specified in the bus standard. It is important to use high-quality metal at the contact area (such as gold) to minimize resistance between the bus connector and the board connector with which it mates. The physical specifications of the board connector are designed to minimize crosstalk at the connection and to provide maximum strength and durability of the connection.

Plug-in boards. These are the boards which plug-in to the backplane bus. When one hears the word "board" one is tempted to think of a wooden board used in housing construction. But the boards used with computer electronics busses are not often composed of wood. More likely they are fiberglass or plastic. Commercial boards are used to perform many computer processing operations including data I/O, image display, signal processing, analog-to-digital conversion. They are pre-constructed at the factory; however programming is often required.

Plug-in board software. Some plug-in boards have microprocessors on the board itself. These require programming, download of the program code to the plug-in board itself, and a mechanism to start and stop the on-board program. For example, if a plug-in board has a digital signal processor chip on board, it would be possible to program it to determine the best gain to use at the second stage amplification of each signal for maximum voltage resolution during analog-to-digital conversion. More about this in a separate discussion about automatic gain algorithms. Some boards can be "run" by commands sent to the keyboard of a dedicated computer in which either the plug-in board actually resides, or to which it is connected via a cable.

VME Bus Operation - Major points

We have concentrated in the class lectures on the VME computer bus, because it is a major bus that is often used by bioengineers for high-speed data acquisition and transfer. Ok, from the above we know the basic components of a bus, but are there any other rules we should know about? Yes - besides the standards for the items listed above, each bus line, or lead, has a pre-specified purpose. The VME bus has a total of 96 bus lines in its most common manifestation. It can have a maximum of 21 bus connectors. The engineers who work on the VME standard set these limits based on speed, affordability, crosstalk, system size, and other considerations. The 96 bus lines are actually quite satisfactory for multichannel data acquisition, as we have described in class. For example, for a data acquisition system using 16-bit analog to digital conversion, by multiplexing the digital signals, only 16 data lines are necessary to transfer the digitized data to a high-speed storage device. There are several types of bus lines:

1. data - at least 32 lines are dedicated for digital data acquisition. These are digital lines. And digital lines - for all computers we will discuss, means binary, logic true or false. Hence, the data on the lines must be in the form of a hi or lo signal, such as 0 volts / 5 volts.

2. address - at least 32 lines are dedicated for digital addressing and commands. As with data lines, address lines are digital and must be of the form of a logic hi or lo signal.

3. power - a dozen or so lines are dedicated to power: +15V, +5V, ground, -15V. The source of power is usually an internal power supply residing within the bus enclosure. Often, there is a choice of power rating for commercial systems, just like for other consumer electronics. More power can be better, but it also means it will be more costly to run the device if it is drawing a lot of power from the larger supply. A rule of thumb is to get your power supply with at least twice the expected consumption of power from the system when used at full capacity. That way there is a substantial margin for error. In the case of very critical systems one might use an even larger power supply. How does one calculate the power need to run the system before operating it? It's not so hard really - first add up the amount of power consumed by all of the integrated circuits (ICs) on all of the boards in the system. Resistors also dissipate heat - so one must also compute the energy dissipated by each resistor based on the current flowing through it, which can be done using the P = I2 R equation. Usually, resistors and ICs are repetitive from one board to the next so one just makes a calculation for one board and then multiplies by the number of boards in the system. If there are 20 data acquisition boards in the system, all having the same specifications, then one would simple compute the power expected to be drawn for one board, and multiply by 20.

4. interrupt - a number of bus lines are dedicated to "interrupt". We have learned in class how it is possible to poll a set of 20 data acquisition boards, one after the other, to access their data. It is possible to use this methodical approach because each board will be doing the same thing in a repetitive sequence in synchrony with all the other data acquisition boards on the VME backplane; i.e., to digitize a repetitive sequence of data signals and send the digitized data onto the data bus upon command. But in fact the VME backplane has been used for many other applications, including the applications of a typical digital computer including processing, displaying, and storing data. In this later case, different boards on the VME backplane will be wanting to access the backplane bus according to what the computer is doing at the moment. If the person operating the computer is trying to display signals on the screen, then the video board will want to access the backplane bus to send image data to the computer screen. If the person is trying to store data, then the drive controllers will want to access the backplane bus. Hence, a mechanism is needed to arbitrate between the devices that wish to access the busses' data and address lines at any one particular instant in time. Interrupt lines are used for this purpose. The device that wishes to access the bus sends an interrupt request (often symbolized IRQ) through an interrupt bus lines. Depending on the priority of the request, the device may be given immediate access to the data and address lines of the bus, it may be prioritized to next in line with respect to any other devices waiting for access, or it may be given a lower priority on when it can access the bus lines. The interrupt handler which processes interrupt requests communicates with the device doing the interrupt request in the form of an interrupt acknowledge. Have you ever waited and waited and waited while your computer is doing something else before whatever you want to do at the computer at the moment actually gets done? It means your request, whether moving the mouse cursor, flipping to another page on the document, or copying something from a floppy has been given a low priority by the device that handles the interrupt requests.