Introduction: STM Z86E21 EPROM Programmer Adapter

The Z86 processor originated with Zilog in the early 1980's as an extremely flexible microcontroller with many ROM & EPROM options. In particular, Zilog made a piggy-back version that held a 2732 4K EPROM on top as a prototyping device. It is interesting that some equipment manufacturers, including Fluke, used these at times in production equipment in place of plastic mask-programmed devices.

At some point in the late 1980's the Z86 architecture was second-sourced by STM as a 4K & 8K UV erasable EPROM device (Z86E11 & Z86E21). In the same time frame, Zilog sourced Z86E21 8K One-Time-Programmable (OTP) device in plastic. To my knowledge, Zilog never made a commercially available UV-EPROM version. Of particular interest, these two manufacturers chose different programming protocols to program the devices in conventional EPROM programmers of the day.

I have been particularly interested in the Fluke 8840A/8842A multimeters, as they are the last of a generation of thru-hole only instruments that are readily reparable. The Z86 processor was used in these meters for more than 20 years, on both the meter main PCB and on the IEEE-488 adapter card. The Z86E21 is of particular interest, as it can replace a bad processor (U202) and the external U222 UV-EPROM, as well as the processor on the universal IEEE-488 card.

Unfortunately, only a select and expensive suite of EPROM programmers directly support programming the ST Z86E21 device. And documentation from STM on the EPROM programming mode is rather cryptic and vague. What I learned by trial and error is that the ST description of EPROM Programming Mode (EPM) for the Z86E11 4K device was correct and that the EPM for the Z86E21 8K device was technically incomplete in all datasheets I could find.

For these devices, the EPM is entered with a specific set of pin conditions applied, which invokes hidden microcode that treats the device as a 2732 or 2764 EPROM. These EPROMs are 21V VPP devices, so programming voltage level shifting is mandatory to keep VPP at 12.5V for the Z86 devices. But 2732 and 2764 EPROMs use quite different control signaling. I was never able to successfully determine the programming signaling for a EPM 2764 Z86E21, though I could successfully read the Z86E21 EPROM 8K block.

Step 1: Prototype Z86E21 Programmer

What I ended up doing is treating the Z86E21 as 2-Z86E11 devices (2732 mode) with a manual switch for programming the LOW and HIGH EPROM block. Of course I could read and verify the 2 4K blocks as 2732 devices also. An additional switch re-arranged the pins to read the device as a Z86E21 (2764 mode) for further 8K block verification.

The prototype adapter has a 28 pin package wire-wrap socket that interfaces with the universal programmer ZIF socket. A socket strip provides the connection to the Z86. The peripheral circuitry provides the oscillator clock, EPM voltage-doubler, VPP clamp and 2732/2764 selectors along with some debug logic.

Step 2: Final PCB Adaptor

For reliability, I built a single-sided PCB to hold the needed components and a ZIF socket for the Z86 device. The specifications indicate that the Z86 clock must be running during the entire programming and verification cycle, so the adapter is powered by a separate 5V supply. In 8K mode the device can be read, verified and blank-checked, but not programmed. In 4K mode the device can be read, verified, blank-checked and programmed 4K at a time with a manual switch selecting the LOW or HIGH block.

What is most tedious is having to constantly select and re-select the 2732 & 2764 devices in the EPROM programmer interface software. One note with these Z86 devices is that the EPM does not support the 12V VPP programming algorithms found in the more advances 2732A & 2764A EPROM devices. Because of this, many EPROM programmers will choke in 2732A/2764A mode because the Z86 cannot respond to the expected device ID requests that are part of the advanced protocols.

Step 3: Fabrication

I used PSPICE Schematics and PSPICE Layout for the board design and FlatCam for the routing isolation. Quality routing and isolation tooling is the key to fine-line machining. I used a Tormach PCNC 770 to machine the traces. These are all 20mil lines and 10mill spaces. The smallest drill holes are 30mil. I tin plated the copper with the standard stannous chloride/thiourea immersion plating solution. The plating looks ugly, but it is actually rather robust.