Microelectronics | Z80 Microcomputer

Synopsis

I don't know about you, but I have dreamed about designing and building a personal computer from scratch for a long time. Well, that time has finally come. After a long research and the somewhat successful Mini Z80 project, inevitably I've reached this point where I want to build something better.

Here is what the system should do.

  • Communicate natively with a PS/2 keyboard.
  • Interface directly to a standard IDE hard disk drive.
  • Connect to a printer on parallel port.
  • Expose two RS-232 serial communication ports.
  • Generate 640 x 480 VGA signal for standard displays.
  • Generate sounds and music through a specialized FM sound synthesis chip.
  • Expose a proprietary extension bus for additional peripherals.

Given these requirements, the hardware proves to be relatively complex, and the total number of electronic components is on the high side. Here is the list of parts.

  • Z80-CPU
  • Z80-SIO
  • Z80-PIO
  • Z80-CTC
  • AY-3-8912 FM sound synthesis
  • DS1307 real-time clock
  • PIC 12F672 as PS/2 keyboard controller)
  • Xilinx XC9572 as chipset
  • Xilinx XC9572 as VGA controller
  • 32 K ROM
  • 32 K RAM
  • 64 K VRAM (2 x 32 K SRAM as video memory)
  • 2 x MAX232 serial communications transceiver
  • 2 x 74HC244
  • 74HC245
  • 74HC04
  • 74HC07
  • LM386 as audio amplifier for the FM sound synthesis output
  • three quartz oscillators for Z80-CPU, Z80-SIO, and VGA controller

This Z80-based microcomputer is totally autonomous and it doesn't rely on a server or host computer. My previous Mini Z80 project relied on a host PC for operation.

Schematic Diagram

Let's take a look at the electrical schematic diagram for the entire system mainboard.

Fig. 1: Electrical Schematic Diagram

Fig. 2: Top Layer Printed Circuit Board

Fig. 3: Bottom Layer Printed Circuit Board

Fig. 4: Power Supply Unit Electrical Schematic Diagram

Fig. 5: Power Supply Bottom Layer Printed Circuit Board

The schematic diagram is complex, indeed. In addition the VGA controller is programmed in a mixture of VHDL and glue logic individual schematic diagrams, all compiled in the Xilinx development IDE. The same goes for the chipset. The PS/2 controller is software governed, and the Video ROM BIOS and System ROM BIOS are written in 8-bit Z80 assembly language.

Firmware

The contents of the 27C256 UV-erasable EPROM is split in three distinct parts, as follows.

  • Video ROM BIOS (video display routines)
  • System ROM BIOS (system peripheral addressing routines)
  • OS/MC for Z80 (Operating System / MicroComputer for Z80 - a variant of my original OS/MC, Copyright (C) 1998-2008 Alexandru Groza)

OS/MC handles the entire system operation, similar in operation to a very early variant of MS-DOS.

Construction and Pictures

This time, I had access to an interesting LPKF ProtoMat C60 CNC machine, used to draw circuit layouts on bare copper boards. Setting up the machine was totally tedious, but I managed to plot a dual-layer complex PCB in around twelve hours. I needed around an hour for machine and software setup, and the rest was the machine doing its milling and drilling job, constantly requesting my input to replace the tool. Thus no more toner transfer, manual drilling, and ferric chloride or nitric acid etching.

Here is the bottom layer of the PCB on the ProtoMat C60 mill/drill machine. The printed circuit board is similar in size to an A4 type paper and it is fixed to the machine with adhesive tape on all sides.

After many hours of buzzing around, the top layer begins to shape.

This is the completed bare PCB, top layer.

The milling is very accurate, even the text is sharp. However, I had to use an X-Acto knife to deepen some gaps between several traces. Otherwise they were in short-circuit.

I began soldering components. The operation is tedious but the results are readily visible, producing some sort of instant gratification.

Here is everything assembled in the metal case. The power supply (check the pictures below) and mains transformer are located in the left side of the case.

Testing some random square dots pattern generation on the VGA monitor.

The power supply printed circuit board was also crafted on the LPKF ProtoMat C60 machine.

This one was quicker to produce, as the layout is simple.

Next, I soldered all electronic components.

This is what the solder side looks like.

The power supply is fixed on an L-shaped heat sink for the two linear voltage regulators in TO-3 metal packages.

This is how the power supply is mounted on the heat sink.

Finally, I have built and connected the cables from the TO-3 regulators to their respective connectors on the PCB assembly.

One of the regulators is branded Tesla while the other one was made at IPRS Baneasa.

A view of the AC voltage connection points.

Detailed view of the TO-3 linear voltage regulators.

For the record, I ended up redesigning the Z80 Microcomputer Power Supply and promoted it to an individual project.

The activity LEDs share their own small printed circuit board. This small assembly is going to be installed on the front face of the case. There are two connection cables. The PCB was also crafted on the LPKF machine.

A view from the other side of the PCB reveals the LEDs and their current limiting resistors. Also the hexagonal standoffs.

And this is where they will be installed, albeit on the other side of the plastic.

As with the Mini Z80, due to the all-proprietary architecture, and the closed-source firmware, this project is essentially a proof of concept. My goals were to expand my knowledge universe, eventually to the world of x86 system design. You can check some of my newer projects, for instance the 32-bit 80386DX ISA Single Board Microcomputer to get a glimpse of what I was actually hoping to achieve. It took me another ten years, but that's a separate discussion.

Thank you for reading this page, and I hope you found it useful.


Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A