PLEASE NOTE: I do not sell
production boards. If you would like to buy an M62 Z80 system
board/parts kit, contact Peter Murray,
Peter@39k.ca
I simply provide you with information to build
your own breadboard computer.
Overview
In
SBC2, we used a 16C550 UART in polled mode. This time we'll try the
original Zilog
Z80 SIO/2 dual UART in both Polled
and Interrupt
modes.
The
16C550 UART does not support Interrupt Mode 2 unless you're willing
to add more hardware like a '573 latch.
The
SIO/2 being a Zilog device does support several interrupt modes as well as Interrupt
Daisy Chaining. It does not, however, have an internal mechanism for
providing a serial clock so we'll connect a separate crystal
oscillator. Alternatively, you can use the CTC board to create the
frequency(s) you need.
Comm
Ports: USB/FTDI and DB9/RS232
The
RS232 ports will be connected to an inexpensive USB/FTDI module
called the
FT232RL. This will be through
2K2 current-limiting resistors. Without the resistors the FTDI
module will try to use both VCC
and the TX line to power your Z80 system. This happens when the backplane
power is removed via the power switch but the USB/FTDI module is still
connected via a USB cable to your PC. It will try to power the
system which will eventually burn out the module as I have found
out - twice! (On the UART Comm Board PCB there is a jumper labeled PORT POWER on the VCC line so you can
disable it you wish.) Note that the RX line will continue to work
if you cook the USB/FTDI module (you'll see the BIOS screen
when you reset the SBC but that's all - no keyboard input will be
accepted).
I don't trust the longevity of these
cheap off-shore USB/FTDI devices so I changed the design to include
a 3 tier right-angled female header to which you attach the module.
The module stays within the board area with only the cable sticking
out. If the module fails,
you can easily replace it. Three tiers
was necessary (you plug into the top row of the three rows) to get
enough support strength and clearance off the PCB. No signal traces run
under the area used by the module.
You plug the USB/FTDI module into the female header which will keep it
parallel to the PCB and less obtrusive.
The
RS232 port is also connected to a MAX232A transceiver IC and a male DB9
connector. Only the 4 essential signals (TX, RX,
output
DTR,
input
CTS) are ported. If
you want more signals like DCD (data carrier detect) then you're prob'ly
going to have to add another MAX to your design to carry the additional signals.
The 4" x 3" (102mm x 76mm) board has the room but do you really need them for your
application?
Programming the SIO/2 UART for interrupts
Our
initial design for SBC and SBC2 used the polling method: check if a
character is in the buffer either to be sent or having been
received, and process it. It works well but it's not the most
efficient. This time we'll use interrupts to inform us and process
the data appropriately. Note that although the SIO/2 is a dual UART,
we'll code
for just channel A.
I
see the schematics. Where is the Bill of Materials parts list?
The
BOM is at the bottom of the adjacent panel.
How big is the SBC and what will the printed circuit board look
like?
The
UART PCB measures 4" wide x 3" high. Click on the adjacent
thumbnail to see a possible parts layout.
Some
of you may notice the PCB connector is similar to the RC2014 but the bus
layout is not. This layout is new whereas the RC2014 has been
adapted many times over the last several years.
Note: M62 Bus is copyrighted by Peter
Murray of Murray Electronics,
http://www.39k.ca |