Close
0%
0%

STEbus

CPU-neutral, professionally designed, industrial strength.
Design slave boards that work with any processor.

Similar projects worth following
CPU-independent
Asynchronous (speed-independent)
IEEE standard
DIN41612 connectors
1 megabyte memory space
4 kilobyte I/O address space
8 attention request lines
Multi-master capable (up to 3)
Up to 21 slots per bus (1 master+20 slaves)
Properly terminated bus prevent ringing and undershoot
Robust enough for industrial use
Proven in industry

I present this bus to the hobbyist community to enable them to design systems where any bus master (CPU) of any speed can be used with any bus slave from any designer. For example, a disk controller board worked equally well with a Z80, 80186, 80286, 6809, 68008 or 68020 CPU. Bus signals are properly terminated, for robust operation in industrial environments.

All the CPUs I mentioned have been ported to STEbus and proven in thousands of industrial sites. I have the manuals and circuits for many boards. This project aims to record them for others to examine, and learn from.

Introduction

In 1986, my first boss said "Designing your own computer is a mug's game. You spend ages designing it, even longer debugging it, and end up with a computer nobody else has. So then you have to write your own software, and that takes even longer than hardware. It really is a waste of time unless you are in our business, which is making computers. We do this to professional standards, and timescales."

Let that sink in.

At school and university, we have all summer to ourselves. We could read Lord of The Rings, or start up Apple Computers in a garage. We had a whole life ahead to do stuff. Then we get a job with 4 weeks holiday at most. Then families arrive and we have to spend much of that on them. Have kids, and there go your evenings. And nights for the first few years. Even if we live alone, we now have to do our own cooking, cleaning, tidying.

Time is precious and finite.

Projects that are basically a CPU, ROM, and RAM cobbled together are mostly just wiring the address and data lines together, plus a bit of TTL glue logic, basically equivalent to a microcontroller. A 4x4 keypad and 2x16 LCD is enough to prove a system is basically working, but it is not that impressive. Projects need a novel feature.

Don't waste time reinventing wheels.

My employers made a wonderful range of boards, all sharing the same bus signals. Z80, 6809, 68008, 68000, 68020, 8088, 80188, 80286, 34010 processors. A competitor even made a 32016 board. We had slave boards for parallel and serial I/O, floppy disk control, video, SCSI disk control, IEEE488, motor control, industrial signal conditioning, etc.

Key to our success was that the STEbus was not tied to any CPU or vendor. Unlike most microcomputer buses at the time. I said to my boss that the hobbyist world would really benefit from adopting this bus. He said "No! We really don't want the STEbus market to have loads of amateur designs that haven't been rigorously tested. They'll cause problems that we'll end up having to deal with."

In the 1980s, the Z80 and 6502 were used in desktop and control systems. Then IBM and Apple took over the desktop market, and microcontrollers took over the control market. So STEbus is no longer a commercial concern apart from maintaining legacy systems. All the manufacturers have moved on. My employers were bought up and assimilated by a multinational. I heard they threw all their STEbus design material into skips many years ago. :-(

I made a collection of all the STEbus material I could obtain. Many thanks to Cambridge University Radio Astronomy department for donating their old 68008 and 68020 systems to me. I have many of the excellent manuals, which included circuit diagrams.

Most boards included one or two PAL chips. The manuals did not include the logic equations, as they were liable to change if bug fixes were required. It also made it less easy for competitors to copy designs. Fortunately, the copy-protection bits were not usually blown. The feeling being that competitors would only be able to make exact copies, and if they made those in commercially viable numbers they would soon get spotted and sued. Non-registered PALs would be trivial to reverse engineer anyway. This is a great help for digital archivists, as they can be read and their logic equations reverse engineered. Fortunately I have a friend who has a device that can read most of these old devices. (Thanks Andy!).

Appeal for information

My collection is incomplete, so if anyone has any STEbus boards or material please let me know. 

Adobe Portable Document Format - 407.07 kB - 09/07/2019 at 16:25

Preview
Download

Adobe Portable Document Format - 285.81 kB - 09/07/2019 at 16:25

Preview
Download

IEEE_1000_STEbus_specification_html.zip

STEbus specification in html.

Zip Archive - 2.74 MB - 01/05/2018 at 01:25

Download

  • Key points of backplane design

    Keith10/24/2021 at 13:09 0 comments

    • A ground plane is essential
    • Flood-filled copper pours do not count as a ground plane
    • STEbus boards are allowed up to 4 amps at 5V
    • STEbus backplanes carry up to 20A (5 slot), 40A (10 slot) or 84A (21 slot)
    • This requires many threaded terminals, 2 per slot.
    • This requires adequately thick power cabling
    • Short backplanes (e.g. 5 slot) can get away with terminations at just one end
    • Larger backplanes (e.g. 10 slot) should be terminated at both ends.
    • On double-height Eurocards, the STEbus connector must be the bottom connector.
      This allows it to co-exist with double-height VME boards, which use the top connector:

View project log

Enjoy this project?

Share

Discussions

benoit wrote 02/12/2021 at 18:23 point

Hi Keith,

I am currently designing a FPGA board (based on the DE0 Nano daughter board) for the STEbus. The board is powerful enough to embed full boards with 6809 or Z80 in the FPGA, so if you have some code for the original boards, I can try to make it run in the FPGA (like what I do for the MiST FPGA project)

  Are you sure? yes | no

Dave's Dev Lab wrote 02/08/2021 at 16:54 point

@Keith - hey there! do you have documentation on the J031 SGT1 Graphics (6803, 6845)?

  Are you sure? yes | no

Keith wrote 02/08/2021 at 20:47 point

Alas, nothing more than the firmware ROM image. This could be disassembled to analyse what the original hardware must have been like. The 6845 is well-documented, so you should be able to spot the control registers. Graphics algorithms are well known. The only hurdle I found was finding a 6803 disassembler. I tried using a 68HC11 disassembler, I think it is a similar machine.

  Are you sure? yes | no

Dave's Dev Lab wrote 02/09/2021 at 16:58 point

yeah i am familiar with the 6845, i was just curious if there was more info. should be able to experiment with it based on the documented pinout and such... thanks!

  Are you sure? yes | no

Keith wrote 01/01/2018 at 20:39 point

Here are the STEbus and VMEbus boards I am aware of. 

I have some of them, and some documentation. Let me know which ones interest you.

Code Name Title (Main features) [notes]
J004 ARC8000 VMEbus Z8000
J020 SC88 80188 (80188 and dynamic RAM)
J023 SCPUA Z80 CPU & FDC (Z80A, SCC, TMS4500, WD2791)
J031 SGT1 Graphics (6803, 6845)
J036 SMEB DRAM and SASI (4500, 4164)  [I have a board]
J037 SEP EPROM Programmer (8255, 78S40)  [I have a board]
J038 STADA 8-bit ADC and DAC (ZN448)
J039 SPIBB 40-bit parallel I/O (Two 8255)  [I have some boards]
J041 SCPUB Z80 CPU (Z80A, DART, CTC)  [I have some boards]
J043 SADC12/16 12-bit ADC (ICL7109)
J052 SCB4 Signal Conditioning Board - Darlington (ULN2804)
J058 SCRAM CMOS RAM, RTC & EPROM (MC14818)  [I have some boards]
J061 SPC1 Prototyping Board  [I have some boards, used]
J063 SERCOM Serial I/O (Two Zilog 8530 SCC chips)
J064 SFDC FDC (WD279x) [I have some boards]
J065 BEEBOP BBC micro to STE (6522)
J069 SVC Video Display (SMC9153)
J070 SC09 6809 CPU (68B09E, 68B50) [I have a board, PALs not read yet]
J074 S488 IEEE488 Interface (UPD7210)
J076 SBPL10 Backplane, ten slot.  [I have three boards]
J078 SYSCON System Controller (Texas reset circuit chips, 7705) [I have some boards]
J085 SADC16/16H ADC, 12-bit 16 channels. (Burr Brown ADC574A, two IH6216)
J087 SCB9 Optoisolator (PC829)
J088 SDRAM 64-512K DRAM (TMS4500) [I have some boards]
J090 SC88T 80188 (80188 and static RAM [I have one board, PALs being read]
J092 SPINC Programmable Interrupt Controller
J093 SCSI SCSI (AM5380)  [I have some boards.]
J095 SC52 8052 CPU
J096 SEERAM CMOS RAM & EEPROM [I have some boards]
J100 SG84 Advanced Colour Graphics (HD63484, IMS G175)
J102 SC008 68008 CPU [I have some boards]
J104 SNETS Bitbus Network Slave Interface
J105 STMC Stepper Controller (PPM101C)
J111 STEND bus extender
J120 SCEND Signal Conditioning extender
J121 SEMC Servo Motor Controller (Galil Chipset)
J125 SC280 Z280 CPU (Zilog Z280) [looking for this rare board]
J126 SNETM Bitbus Network Master Interface
J129 SC180 Z180/HD64180 CPU
J130 SDAC12-4 DAC, 12-bit, 4-channel
J131 SCPC88 PC-compatible Processor (8088, FE2010A) [FE2010A is now rare and expensive]
J138 SPDC PC Floppy Disk Controller
J139 SPCOM PC Serial and Parallel I/O
J140 SPEGA EGA [I have one but EGA is obsolete]
J144 STELA Logic Analyser
J145 VSC020 VME 68020
J149 SPCGA Colour Graphics Adapter (NCR 72C81 CGMA) [I have one but CGA is obsolete]
J151 SC88PIO 80188 and Parallel I/O
J152 SG84X Genlock
J155 SPB22 Arcom I/O to Opto22 adapter
J157 SERCOM8 Serial I/O (8 channel)
J158 VSP80 VME Parallel I/O (Zilog CIO)
J159 VSER6 VME Serial I/O (Four Zilog 8530 SCC chips)
J160 VSAD VME A to D (Altera EPLD, RAM)
J164 SC008PIO 68008 and Parallel I/O
J165 SISER4 Intelligent Serial I/O (64180 or Z180)
J169 VSC020T VME 68020 Target
J171 VSIXER6 VME Intelligent Serial I/O (Six Zilog 8530 SCC chips, 80188 CPU)
J177 SIPAR40 Intelligent Parallel I/O (64180 or Z180)
J178 SCPC286 80286
J182 SC020T 68020 Target
J185 SSP25 Digital Signal Processor (TMS320C25)
J187 SPER Paged EPROM and RAM
J191 SC68000 68000 CPU [one on ebay for $1000, I can't afford it!]
J193 SETHER Ethernet board (DP8390) [I have some boards]
J202 SPVGA PC VGA & Paged ROM (TVGA8900)
J205 VFDSC VME Floppy Disk and Serial Card
J207 SAD44S 12-bit ADC
J208 SDAD8414 14-bit 16-Channel ADC & 4-Channel DAC
J209 SIAD44 Intelligent A to D converter
J210 SAD2X250 Ultra-fast 2-Channel ADC
J212 SDA812 8-Channel D to A Converter
J217 SPCT8C 8-Channel Parallel I/O and Counter-Timer (8254)
J219 SD16 16-Channel Opto-Isolated Power Output
J269 SCIM286 80C286 with SCIM interface
J272 SCIM88 80C188 with SCIM interface
J286 SSIP SCIM Interface Platform
J304 SCB34 Signal Conditioner Board (BDT64C Darlington transistor, 80V, 12A.)
J346 SPIB80 80-bit parallel I/O
J360 SCB40 16-bit opto-isolator
J416 SCB42 40-channel opto-isolator
J502 SCPC486 486DX PC AT Compatible Board
J521 SCB46 Signal Conditioner Board
J584 ST-ANALOGUE-IO STEbus Analogue I/O
J585 ST-RELAY16 STEbus Digital I/O
J603 ST-SER4 STEbus Serial I/O, 4-channels, and PC104 to STEbus interface (85230)

I only have software documentation, no files.

W10 CPM80A CP/M Plus for SCPUA
W22 CPM80B CP/M Plus for SCPUB
W29 EAMONB Z80 Monitor for SCPUB
W47 OS-9/68K Operating System for 68000/68020 systems
W44 AB80 Z80 BASIC compiler for CP/M Plus
W63 XPC88 Remote Monitor for PC & SC88T
W137 SPVGASOFT Drivers for SPVGA

  Are you sure? yes | no

Łukasz wrote 10/21/2018 at 23:03 point

Hello, I really would be glad to have some documentation of J346 SPIB80 80-bit parallel I/O, I have 2 industrial computers with these boards, and it would be great to be able to write some software for that :)

  Are you sure? yes | no

Keith wrote 01/01/2018 at 20:02 point

Processors

The STEbus is often considered a stripped down version of VMEbus. The 'stripping down' consists of paring it down to what is practical for 8-bit micros, not crippling it. The VMEbus was designed for Motorola's 68000 range, so the 68008 is trivial to interface to the STEbus. Other processors are a bit more work but slave boards are very easy to design.

The 68020 is easier to interface than the 68000, because the 68020 has dynamic bus sizing. Thus it can use 32-bit wide RAM locally, and 8-bit wide transfers for the STEbus. This isn't a handicap because most I/O devices (e.g. UARTs) used 8-bit transfers anyway. 

Most hobbyist microprocessor projects use a Z80, 6502 or sometimes a 6809. I have the manuals and circuits for a Z80 and a 68B09E board, but not the PAL equations. This is because I have not got boards with PALs that I can have read.

No STEbus 6502 board was ever made, because it was not so popular in industry. It had no de-facto professional operating system, whereas the Z80 had CP/M and the tools that came with it. The 8088 family had MSDOS, the 6809 and 68K family had OS/9 and OS/9-68K.

The 6502 supported wait-states for reading, but not writing. This is a problem because the STEbus needs to make bus masters wait during slow write processes. The 65C02 support write-waits, but I designed a clock circuit that stretches individual cycles depending on what is being addressed.  This has been tested, and seems to be working.

My 65C02 design looks to software like a BBC micro second processor, with a USB module replacing the Tube. This allowed me to get it running BBC BASIC with very little software-writing effort. It wrote "Hello World" to the VFD in the photo.

  Are you sure? yes | no

Plays with LEDs wrote 05/23/2019 at 20:00 point

I'd be interested in hearing more about the cycle stretching for the the 65c02.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates