I was so pleased with the Bus Monitor board that I decided to also build a “front panel” board.
[TODO - Insert video here]
This front panel board also uses TIL311 displays.
Here is the schematic:
If you haven’t read my other posts on the Z80 retrocomputer, please start with the first one, as it provides necessary background material.
I’ve already covered the TIL311 in a previous blog post, so I’ll talk about it briefly. It’s an older display, you can find them on ebay. The display uses a small matrix of LEDs and takes a 4-bit value as input. It’ll display a hex digit from 0-F. In addition to the digit, it can also display a left or right decimal point. It as a latch bit that can be used to tell it when to latch data.
Address decoding uses a pair of 74HCT138N 3-to-8 decoders. The first decoder (IC2) decodes A5, A6, A7. This allows putting the front panel board on the addresses 00, 20, 40, 60, 80, A0, C0, or E0. The second 74HCT138N decodes the A0 and A1 to select the digit. For example, if you select address E0 on the first 74HCT138N, then the digits will be at address E0, E1, E2, and E3. Since the displays are 4-bits each and the data bus is 8-bits, there are two digits per IO port.
There’s also a 74HCT245N bus transceiver that is used to implement an input port which will be the on the fifth address of the range (E4 in our example). This input port is connected to eight pushbuttons. Each pushbutton has an associated pull-down resistor (a 9-pin SIP resistor is used on the board).
Because the TIL311 displays are TTL devices and have a relatively high sink current, it’s important to buffer them. Otherwise our Z80s drive capability would be consumed by the TIL311 displays, leaving little remaining to drive the actual peripherals on the bus. That’s the purpose of IC8, a 74HCT244N buffer/line driver. This buffers the data bus, so the TIL311 displays do not load the bus.
As usual, I had a board fabbed at Osh Park, so it’s in the usual Osh Park Purple:
Here’s a couple of pictures of it connected and in-use:
A word about power consumption. These TIL311 displays are electricity hogs. I measured the board at 690 ma power consumption. This is more than enough to make an unheatsinked 7805 burning hot and throw it into thermal overload. To resolve this problem, I switched out the 7805 regulator on my RC2014 backplane for a2.5A switching regulator from EZSBC. EZSBC has both a 1A and a 2.5A option available. They will drop right in place of a 7805.
The first time I plugged the board in, I realized a few things I should have done differently. First, I didn’t make any provision to blank the displays. When you’re displaying something like a 6-digit (HH:MM:SS) clock, it’s convenient to turn off two of the digits. While you could just unplug two of the TIL311, it’d be far more convenient to turn them off. The second change I want to make is to enable the decimal points on the displays. It should be relatively easy to implement both of these changes using 74HCT374N latches, at the cost of additional complexity and a larger front panel board. I’ll probably make that change, as time and money permit.
There is a demo program in the source code repo at https://github.com/sbelectronics/rc2014.
As usual, they’re available on OSH Park…