Z80 Timing Generation

A project log for 3-Chip Z80 Design

Combining a Z80 retro design with a modern PSoC CPU. 09/21/2019 at 14:370 Comments

The PSoC includes a somewhat complicated timing circuit with internal PLLs. There's a GUI for configuring the Internal clocking. It can also be driven with an external oscillator for increased accuracy for generation of serial data. This would only be necessary if a serial port was used. An external crystal is not required for USB serial since the PSoC generates this timing internally.

A 32.768 KHz watch crystal and button battery can be connected to the PSoC to provide Real Time Clock functionality. This is enabled by selecting the XTAL 32KHz check box.

The Internal Master Oscillator (IMO) is an accurate clock with 0.25% accuracy when run at 24 MHz. This accuracy is needed for the USB bus which multiplies it by 2 to 48 MHz. This is the source of the other clocks.

The clocks look like this.

The PSoC can run faster, but the Z80 CPU clock is 6.0 MHz so running the PSoC at 60 MHz is a convenient multiplier. It could also be run at 63 MHz and still provide a 6 MHz clock.

An accurate baud rate clock is not needed if the USB interface is used.