The STEbus (also called the IEEE-1000 bus ) is a non-proprietary, processor-independent, computer bus with 8 data lines and 20 address lines. It was popular for industrial control systems in the late 1980s and early 1990s before the ubiquitous IBM PC dominated this market. STE stands for ST andard E urocard.
56-492: Although no longer competitive in its original market, it is valid choice for hobbyists wishing to make 'home brew' computer systems. The Z80 and probably the CMOS 65C02 are possible processors to use. The standardized bus allows hobbyists to interface to each other's designs. In the early 1980s, there were many proprietary bus systems, each with its own strengths and weaknesses. Most had grown in an ad-hoc manner, typically around
112-936: A Board Support Package is usually provided by the manufacturer for the supported operating system(s). When printing "PC/104" or its variants, it is common for the forward slash or dashes to be omitted. PC/104 may be abbreviated as PC104, PCI-104 abbreviated as PCI104, etc. Additionally, it is common for PC/104- Plus to be abbreviated with a plus sign (e.g. PC104+). Such abbreviations are not officially recognized in any PC/104 Consortium specifications or literature, however they have been in use for some time. PC/104 systems often require small, non-volatile storage, such as that afforded by compact flash and solid state disk (SSD) devices. These are often more popular than mechanical (rotating) hard drives. Compared to rotating disks, flash-based storage devices have limited lifetimes in terms of write cycles, but they are faster and draw less power. Additionally, their compactness and physical durability
168-472: A rack-mounting system robust enough for industrial use, with easily interchangeable boards and processor independence. Researchers describe STEbus systems as rugged, adaptable, and cost effective. The STEbus market began to decline as the IBM PC made progress into industrial control systems. Customers opted for PC-based products as the software base was larger and cheaper. More programmers were familiar with
224-407: A "stack") will include a CPU board , power supply board, and one or more peripheral boards, such as a data acquisition module, GPS receiver, or Wireless LAN controller. A wide array of peripheral boards are available from various vendors. Users may design a stack that incorporates boards from multiple vendors. The overall height, weight, and power consumption of the stack can vary depending on
280-610: A 156-pin surface mount connector for the PCI Express signals. The new connector occupies the same board location as the legacy PC/104 ISA connector. In addition to PCI Express, the specifications also defines pins on the connector for additional modern computer buses, such as USB , SATA , and LPC . The PCI/104-Express specification currently defines two possible pinouts for the PCIe connector: CPU boards and peripherals may be designed as Type 1, Type 2, or Universal (which only uses
336-441: A CPU board, power supply board, and one or more peripheral boards. The maximum number of boards supported by a PC/104 stack will depend on which buses are used by the peripheral boards. Regardless of the buses used, the maximum number of boards of a PC/104 stack may be limited due to size, weight, and power restrictions for the target application. When stacking PC/104 boards together, mechanical interference between adjacent boards
392-529: A PC/104 connector (ISA) plus a PCI connector. The standard defines a 120-pin connector for the PCI bus, located on the opposite side of the board from the PC/104 connector. PC/104- Plus CPU boards provide active communication on both buses, and are capable of communicating with both ISA and PCI peripheral cards. On PC/104- Plus peripheral modules, the PC/104 connector is simply a passive connector for stackability;
448-481: A PC/104 system (Serial Ports, USB, Ethernet, VGA, etc.) are typically supported via the native drivers built into the operating system. Certain peripheral boards, such as data acquisition may require special drivers from the board manufacturer. From a software development perspective, there is little difference between compiling software for a desktop PC or compiling for an x86 PC/104 stack. Software can be developed using standard x86 compilers (e.g. Visual Studio if
504-478: A PCI/104-Express peripheral module will communicate on the PCIe bus only; the PCI connector is simply a pass-through connector for stackability. A PC/104-Express peripheral module may not be used with a PCI-104 or PC/104- Plus CPU board (unless an ISA bridge device is used). PCI/104-Express incorporates link shifting, which eliminates the need for the PCI slot selection switches/jumpers found on PCI-104 and PC/104- Plus peripherals. Some peripheral boards re-populate
560-445: A Type 1 bottom PCIe connector and a Type 2 top PCIe connector. Such a CPU board would be compatible with Type 1 and/or Universal peripherals on the bottom, and compatible with Type 2 and/or Universal peripherals on the top. Similar to PC/104- Plus , a PCI/104-Express CPU boards will provide active communication on both PCI and PCIe buses. A PC/104-Express CPU board may be used with PCI-104 and PC/104- Plus peripheral modules. However,
616-445: A battery on board, often with a link to allow them to supply or accept power from VSTBY. Hence you can end up with more batteries in your system than you need, and you must then take care that no more than one battery is driving VSTBY. D0...7: Data bus. This is only 8-bits wide, but most I/O or memory-mapped peripherals are byte-oriented. A0...19: Address bus. This allows up to 1 MB of memory to be addressed. Current technology
SECTION 10
#1732780680263672-681: A particular microprocessor. The S-100 bus is based on Intel 8080 signals, the STD Bus around Z80 signals, the SS-50 bus around the Motorola 6800 , and the G64 bus around 6809 signals. This made it harder to interface other processors. Upgrading to a more powerful processor would subtly change the timings, and timing restraints were not always tightly specified. Nor were electrical parameters and physical dimensions. They usually used edge-connectors for
728-556: A peripheral board when it is installed. This is commonly set by a rotary switch , DIP switch , or jumpers on the peripheral board. Each PCI peripheral board in the system must have the PCI Slot Number set to a unique value. Failure to do so may cause erratic system behavior. The peripheral closest to the CPU should be set for the first slot, the next board should be set for the second slot, etc. The PCI-104 form factor includes
784-499: A peripheral board. This is usually accomplished via the use of jumpers or DIP switches on the peripheral board. Failure to configure the peripheral correctly can cause a resource conflict and lead to erratic behavior. The PC/104- Plus standard adds support for the PCI bus , in addition to the ISA bus of the PC/104 standard. The name is derived from its origin: a PC/104- Plus module has
840-720: A range of price and performance. These boards included the Intel 8031 , 8085 , 8088 , 80188 ; the National Semiconductor 32008 and 32016 ; the Motorola 6809 , 68000 , and 68008 ; The Zilog Z80 and Z280 ; the Hitachi HD64180 ; and the Inmos Transputer . The STEbus is designed for 8-bit microprocessors. Processors that normally use a wider data bus ( 16-bit , etc.) can use the STEbus if
896-407: A unique address. CM0...2: Command Modifiers. These indicate the nature of the data transfer cycle. A simple processor board can drive CM2 high for all bus access, drive CM1 from a memory/not_IO signal, and CM0 from a read/not_write signal. CM2 low state is used only during "attention request" phases (for interrupts and/or DMA cycles) for Explicit Response mode. When Implicit Response mode is used,
952-418: Is a concern. The mechanical interference issues listed above can often be addressed with a Bus Spacer, which allows additional room between the boards. However, Bus Spacers increase overall stack height, and may not be suitable for space-constrained applications. It may also be possible to re-arrange the boards in the stack to remove the interference. Another option is to modify the offending boards to remove
1008-469: Is a family of embedded computer standards which define both form factors and computer buses by the PC/104 Consortium . Its name derives from the 104 pins on the interboard connector ( ISA ) in the original PC/104 specification and has been retained in subsequent revisions, despite changes to connectors. PC/104 is intended for specialized environments where a small, rugged computer system
1064-469: Is also quite common to use a real-time operating system , such as VxWorks . The PC/104 bus and form factor was originally devised by Ampro in 1987 (led by CTO Rick Lehrbaum), and later standardized by the PC/104 Consortium in 1992. An IEEE standard corresponding to PC/104 was drafted as IEEE P996.1, but never ratified. In 1997, the PC/104 Consortium introduced a newer standard based on
1120-655: Is only one Master, the System Controller is not needed, and SYSCLK can be generated by the Master board Z80 Too Many Requests If you report this error to the Wikimedia System Administrators, please include the details below. Request from 172.68.168.226 via cp1108 cp1108, Varnish XID 220485594 Upstream caches: cp1108 int Error: 429, Too Many Requests at Thu, 28 Nov 2024 07:58:00 GMT PC/104 PC/104 (or PC104 )
1176-464: Is rather like a VMEbus simplified for 8-bit processors. The bus signals are sufficiently generic so that they are easy for 8-bit processors to interface with. The board size was usually a single-height Eurocard (100 mm x 160 mm) but allowed for double-height boards (233 x 160 mm) as well. The latter positioned the bus connector so that it could neatly merge into VME-bus systems. IEEE Working Group P1000 initially considered simply repinning
SECTION 20
#17327806802631232-451: Is recommended for analogue circuitry. VSTBY: Standby voltage. Optional. This line is specified as 5V (+0 to +5%), at up to 1A. However, some boards have used this line for carrying a battery backup voltage to boards that supply or consume it. A 3.6V NiCad battery is a common source. The STEbus spec is not rigid about where this should be sourced from. In practice, this means that most boards requiring backup power tend to play safe and have
1288-543: Is required. The standard is modular, and allows consumers to stack together boards from a variety of COTS manufacturers to produce a customized embedded system. The original PC/104 form factor is somewhat smaller than a desktop PC motherboard at 3.550 × 3.775 inches (90 × 96 mm). Unlike other popular computer form factors such as ATX , which rely on a motherboard or backplane , PC/104 boards are stacked on top of each other like building blocks. The PC/104 specification defines four mounting holes at
1344-488: Is such that processor requiring large amounts of memory have this on the processor board, so this is not a great limitation. I/O space is limited to 4K, to simplify I/O address decoding to a practical level. A single 74LS688 on each slave board can decode A11...A4 to locate I/O slave boards at any I/O address with 16-byte alignment. Typically 8 small jumpers or a single unit of 8 DIP switches or two binary-coded hexadecimal rotary switches are used to give each I/O slave board
1400-449: Is the primary signal in data transfer cycles. DATACK*: Data Acknowledge. A slave will assert this signal when to acknowledge the safe completion of a data transfer via the STEbus. This allows STEbus systems to use plug-in cards with a wide variety of speeds, an improvement on earlier bus systems that require everything to run at the speed of the slowest device. TFRERR*: Transfer Error. A slave will assert this signal when acknowledging
1456-585: The PCI bus . A PCI Express -based standard was introduced in 2008. PC/104-related specifications are controlled by the PC/104 Consortium. There are currently 47 members of the Consortium. All specifications published by the Consortium are freely available. Membership in the Consortium is not required to design and manufacture a PC/104 board. The specifications released by the PC/104 Consortium define multiple of Bus Structures (ISA, PCI, PCI Express) and Form Factors (104, EBX, EPIC). Bus Structure defines
1512-589: The STD Bus , replacing its card edge connector with the DIN41612 connector. But they decided to create a completely new high-performance 8-bit bus. They decided to make a bus more like the VMEbus and Futurebus . The STEbus was designed to be manufacturer independent, processor independent, and have multimaster capability. The STEbus was very successful in its day. It was given the official standard IEEE 1000-1987. Many processors were available on STEbus cards, across
1568-476: The "104" name to distinguish the form factor from the legacy PC/104 bus. EBX (Embedded Board eXpandable) is a single board computer form factor, 5.75 × 8 in (146 × 203 mm). The EBX form factor applies to the CPU board , but supports PC/104 form factor peripheral boards for expansion. The original EBX specifications allowed for the PC/104, PC/104- Plus , and PCI-104 buses. EBX Express adds
1624-514: The DIN connectors in parallel. So a STEbus expansion card sees the same signals no matter which slot of the backplane it is plugged into. The SYSCLK must be driven by only one board in the system. As explained in the standard, this signal shall be generated by the System Controller. The System Controller is also in charge of the Bus Arbitration in case there are multiple masters. When there
1680-616: The I/O connector area. The extended PCB "wings" is not addressed in the specification, generally does not cause mechanical issues as long as the overall PCB + I/O connector overhang is within the maximum allowable dimensions of 4.550 × 4.393 inches (116 × 112 mm). The dimensions were originally defined in the PC/104 Specification, and as a result the form factor is still commonly referred to as "PC/104". The PCI/104-Express and PCIe/104 Specification introduced
1736-517: The IBM XT and consists of 64 pins. The 16-bit version corresponds to the IBM AT and adds 40 additional pins, bringing the total to 104 (hence the name "PC/104"). The signals marked J1/P1 are found on both versions, while the signals of J2/P2 are found only on the 16-bit version. Since PC/104 is based on the ISA bus, it is often necessary to set the base address , IRQ , and DMA channel when installing
STEbus - Misplaced Pages Continue
1792-481: The ISA, PCI, and PCI Express buses found in a desktop PC. The original PC/104 bus derives from the ISA bus . It includes all the signals found on the ISA bus, with additional ground pins added to ensure bus integrity. Signal timing and voltage levels are identical to the ISA bus, with lower current requirements. The PC/104 specification defines two versions of the bus, 8-bit or 16-bit. The 8-bit version corresponds to
1848-573: The PC and did not have to learn new systems. Memory costs fell, so there was less reason to have bus-based memory expansion when one could have plenty on the processor board. So despite the disadvantages, manufacturers created industrial PC systems and eventually dropped other bus systems. As time went on, PC systems did away with the need for card cages and backplanes by moving to the PC/104 format where boards stack onto each other. While not as well-designed as
1904-561: The PC/104 Bus Structures for expandability. Note the term "PC/104" is often used interchangeably to refer to either the Bus Structure or Form Factor. This can be a source of confusion. For example, a product datasheet may refer to a board as "PC/104" due to its size and shape when it in fact has a PCI-104 expansion bus. The PC/104 Consortium specifications define a variety a computer buses, all of which derive from
1960-503: The PC/104 system is running Windows). There is typically no need for specialized development tools, such as cross compilers , Board Support Packages , or JTAG debuggers . This is a significant departure from non-x86 embedded system platforms, which often require a development toolchain from the board manufacturer. Non-x86 PC/104 CPU boards based on ARM or PowerPC are also commercially available. However, such boards are not capable of running off-the-shelf PC software. In these cases,
2016-463: The PCI bus. Most PC/104- Plus boards can be manufactured as PCI-104 by simply not populating the PC/104 connector. PCI-104 utilizes the same PCI Slot Number selection scheme as PC/104- Plus . Each device must be assigned to a unique slot number. The PCI/104-Express specification incorporates the PCI Express bus (PCIe) in addition to the previous-generation PCI bus. The specification defines
2072-434: The PCI connector, but not the PC/104 connector, in order to increase the available board real estate. Even though the PCI connector has 120 pins instead of 104, the established name was kept. The PCI connector location and pinout is identical to PC/104- Plus . Since the ISA bus is omitted, a PCI-104 board is incompatible with PC/104 peripheral module. However, PCI-104 and PC/104- Plus are compatible, since they both utilize
2128-717: The PCI-104/Express and PCIe/104 buses. EPIC (Embedded Platform for Industrial Computing) is a single-board computer form factor which, like EBX, supports PC/104 peripheral boards but is smaller than EBX at 6.5 × 4.5 in (165 × 114 mm). It allows I/O connections to be implemented as either pin headers or PC-style ("real world") connectors. The standard provides specific I/O zones to implement functions such as Ethernet, serial ports, digital and analog I/O, video, wireless, and various application-specific interfaces. EPIC Express adds PCI Express expandability. In general, every PC/104 stack will contain
2184-466: The PCIe links, which allows the stack to have additional peripheral boards beyond the initial set of PCI Express links provided by CPU board. Link repopulation is not a requirement in the specification, and must be implemented on the peripheral board with a PCI Express packet switch. PCIe/104 is similar to the PCI/104-Express standard, but omits the legacy PCI bus to increase available space on
2240-463: The STEbus, PC/104 is good enough for many applications. The major manufacturers from its peak period now support STEbus mostly for goodwill with old customers who bought a lot of product from them. As of 2013, some manufacturers still support STEbus, G64, Multibus II, and other legacy bussed systems. The IEEE have withdrawn the standard, not because of any faults but because it is no longer active enough to update. 3U Eurocard - The most common size
2296-423: The board (similar to the relationship between PC/104- Plus and PCI-104). The PCI Express connector location and pinout options the same as PCI/104-Express (both Type 1 and Type 2). Because the PCI bus connector is omitted, a PCIe/104 board is incompatible with PC/104- Plus and PCI-104 systems (unless a PCIe-to-PCI bridge device is used). The PC/104 Consortium's specifications cover three form factors which define
STEbus - Misplaced Pages Continue
2352-578: The bus master polls the slave boards to find which one has triggered the Attention Request and reset the signal source. In that case, Vector-fetch is not used. ATNRQ0...7*: Attention Requests. These are reserved for boards to signal for processor attention, a term which covers Interrupts and Direct Memory Access (DMA). The wise choice of signal does not commit these lines to being specific types, such as maskable interrupts, non-maskable interrupts, or DMA. The number of Attention Requests reflects
2408-419: The bus, which were vulnerable to dirt and vibration. The VMEbus had provided a high-quality solution for high-performance 16-bit processors, using reliable DIN 41612 connectors and well-specified Eurocard board sizes and rack systems. However, these were too costly where an application only needed a modest 8-bit processor. In the mid 1980s, the STEbus standard addressed these issues by specifying what
2464-401: The common subset of signals between the two types, PCIe x1 and/or USB 2.0). The Type 2 pinout was not introduced until Version 2.0 of the specification (released in 2011). PCI/104-Express products introduced prior to 2011 will be either Type 1 or Universal, but may not be explicitly labeled as such. A Type 1 bus is incompatible with Type 2 peripherals, or vice versa. The specification requires
2520-422: The corners of each module, which allow the boards to be fastened to each other using standoffs . The stackable bus connectors and use of standoffs provides a more rugged mounting than slot boards found in desktop PCs. The compact board size further contributes to the ruggedness of the form factor by reducing the possibility of PCB flexing under shock and vibration. A typical PC/104 system (commonly referred to as
2576-559: The erroneous completion of a data transfer via the STEbus. ADRSTB*: Address Strobe. This signal indicates the address bus is valid. Originally, this had some practical use in DRAM boards which could start strobing the address lines into DRAM chips before the data bus was ready. The STEbus spec was later firmed up to say that slaves were not allowed to start transfers until DATSTB* was ready, so ADRSTB* has become quite redundant. Nowadays, STEbus masters can simply generate DATSTB* and ADRSTB* from
2632-498: The intended role of the STEbus, in real-time control systems. Eight lines can be priority encoded into three bits, and is a reasonably practical number of lines to handle. BUSRQ0...1* and BUSAK0...1*: Bus Requests and Bus Acknowledge. Optional. Used by multi-master systems. The number of Attention Requests reflects that the STEbus aims to be simple. Single-master systems are the norm, but these signals allow systems to have secondary bus masters if needed. DATSTB*: Data Strobe. This
2688-568: The interference (e.g. depopulate a connector), but this may require the vendor to supply a customized version of the board. In theory, PC/104 boards are interoperable. It is possible to assemble a system using boards from several different vendors, subject to the fundamental Bus Structure compatibility issues listed above. However, compatibility issues sometimes appear. The majority of PC/104 CPU boards are x86 compatible , and are capable of running commercially available off-the-shelf PC software without modification. The standard PC I/O interfaces of
2744-532: The location and pinout of the bus connector(s). Form Factor refers to size and shape of the board. It is possible to find one of the PC/104 stackable expansion buses on a number of different form factors. While most commercially available products using the Bus Structures will comply with the Form Factors listed below, it is possible for a non-standard or proprietary form factor to incorporate one of
2800-411: The module actively communicates on the PCI bus only. As a corollary, a PC/104- Plus peripheral module may not be used with a PC/104 CPU board. However, a PC/104- Plus CPU board may be used with a PC/104 peripheral module. Since PC/104- Plus is based on PCI, there is no need to set a Base Address, IRQ, or DMA channel on the peripheral boards. However, it is necessary to specify the PCI Slot Number of
2856-410: The number of boards that are used. PC/104 is sometimes referred to as a "stackable PC", as most of the architecture derives from the desktop PC. The majority of PC/104 CPU boards are x86 compatible and include standard PC interfaces such as Serial Ports , USB , Ethernet , and VGA . A x86 PC/104 system is usually capable of standard PC operating system such as DOS, Windows, or Linux. However, it
SECTION 50
#17327806802632912-652: The processor can handle data in byte-wide chunks, giving the slave as long as it needs to respond. The STEbus supported processors from the popular Z80, the 6809, to the 68020 . The only popular micro notably absent was the 6502, because it did not naturally support wait-states while writing. The CMOS 65C02 did not have this shortcoming, but this was rarer and more expensive than the NMOS 6502 and Z80. The 6809 used cycle stretching. Peripheral boards included prototyping boards, disc controllers, video cards, serial I/O, analogue and digital I/O. The STEbus achieved its goal of providing
2968-562: The same logic signal. Slaves simply note when DATSTB* is valid (since the bus definition insists that the address will also be valid at the same time as the data). ADRSTB* also allows a bus master to retain ownership of the bus during indivisible read-modify-write cycles, by remaining active during two DATSTB* pulses. The sequence matches that of the 68008's bus. Other CPUs may require additional logic to create read-modify-write cycles. SYSCLK: System Clock. Fixed at 16 MHz. 50% duty cycle. SYSRST*: System Reset. The backplane connects all
3024-479: The size and shape of the board. Each form factor may utilize one of the Bus Structures listed above. The 104 Form Factor is defined to be 3.550 × 3.775 inches (90 × 96 mm), with mounting holes at all four corners of the board. The specifications also allow for a 0.5 inches (13 mm) area beyond the edge of the PCB for I/O connectors. Some PC/104 products have oversized PCBs which extended into
3080-399: The system to remain in reset and not boot in the case of a Type mismatch (no physical damage will occur). Universal peripheral boards may be used with either Type 1 or Type 2 pinouts. Because the PCIe bus connector is surface-mount, not through-hole, it is also possible for a board to use different bus pinouts on the top side of the board vs the bottom side. For example, a CPU board may have
3136-773: Was the 100 x 160 mm Eurocard. 6U Eurocard - Rare, sometimes used in VMEbus hybrid boards DIN 41612 , rows a and c, 0.1" pitch. VME/STE hybrid boards have the STEbus and VMEbus sharing the VME P2 connector, VME signals on row b. For this reason, STEbus boards may not use row b for any purpose. Active low signals indicated by asterisk. GND: Ground reference voltage +5V: Powers most logic. +12V and -12V: Primarily useful for RS232 buffer power. The +12V has been used for programming voltage generators. Both can be used in analogue circuitry, but note that these are primarily power rails for digital circuitry and as such they often have digital noise. Some decoupling or local regulation
#262737