Do It with Microcontrollers
There’s a number of important legacy interface technologies—like ISA and PCI—that are no longer supported by the mainstream computing industry. In his article Wolfgang examines ways to use inexpensive microcontrollers to emulate the bus signals of legacy interconnect schemes.
By Wolfgang Matthes
Many of today’s PC users have never heard of interfaces like the ISA bus or the PCI bus. But in the realm of industrial and embedded computers, they are still very much alive. Large numbers of add-on cards and peripherals are out there. Many of them are even still being manufactured today—especially PCI cards and PC/104 modules for industrial control and measurement applications. In many cases, bandwidth requirements for those applications are low. As a result, it is possible to emulate the interfaces with inexpensive microcontrollers. That essentially means using a microcontroller instead of an industrial or embedded PC host.
To develop and bring up such a device is a good exercise in engineering education. But it has its practical uses too. Industrial-grade modules and cards are designed and manufactured for reliability and longevity. That makes them far superior to the kits, boards, shields and so on, that are intended primarily for educational purposes and tinkering. Moreover, a microcontroller platform can be programmed independently—without operating systems and device drivers. These industrial-grade boards can operate in environments that consume considerably less power and are free from the noise typical of the interior of personal computers. The projects depicted here are open source developments. Descriptions, schematics, PCB files and program sources are available for downloading.
Fields of Use
The basic idea is to make good use of peripheral modules and add-in cards. Photo 1 shows examples. Typical applications are based on industrial or embedded personal computers. The center of the system is the host—the PC. Peripheral modules or cards are attached to a standardized expansion interface, that is, in principle, an extended processor bus. That means the processor of the PC can directly address the registers within the devices. The programming interface is the processor’s instruction set. As a result, latencies are low and the peripheral modules can be programmed somewhat like microcontroller ports—without regard to complicated communication protocols. For example, if the peripheral was attached to communication interfaces like USB or Ethernet, that would complicate matters. Common expansion interfaces are the legacy ISA bus, the PCI bus and the PCI Express (PCIe) interface. …