Greenbank Electronics

MZC1

Issue: 0

Date: October 1988

MZC1


3. ASSEMBLY AND TESTING

3.1 Constructional Notes

Page 3.1 missing?

called "flow-through" pin outs. These have all the inputs in order on one side of the chip and all of the outputs on the other. (Contrast for example the pinouts of say the flow-through 74HC573 and 74HC541 against the similar function 74HC373 and 74HC244.) The use of these better pinouts will make the construction of the prototype much easier too, and the short neat wiring which will result can only improve matters regarding the "noise" and interference which dogs hand-wired prototype designs of high speed circuits.

Mount the buffer chips (input and output) near the edge connector. Ensure there is a decoupling capacitor between the supply pins of each buffer, connected directly as possible to the supply pins of the same IC.

The Z80280 must have similar decoupling (across its many supply pins): keep the control lines away from the address and data buses if possible, and keep everything away from the crystal.

3.2. Setting Up and Testing

When a PCB is in production we shall go on and on in the following vein:

  1. check that all components fitted so far are in the correct place, and have the correct polarity where appropriate. Re-read the constructional notes - important points are preceded by the loud word "Note!", and can be checked again now.

  2. Inspect the board for dry joints, solder bridges and solder splashes, paying particular attention to areas where tracks run between IC pins. Shine a strong light through the board, and use a magnifying glass if you have one.

  3. Apply power to the board and check that +5 V is present and correct at all the IC sockets, i.e. at the upper right-hand corners of each. If you consider you are likely to cause damage by carrying out this test, or are very confident of your workmanship then omit this step at your own discretion.

    etc, etc.

If you have just constructed a prototype card then you hold in your hand something that has never existed before in the history of mankind. Treat it with care. The most critical chip is of course the big one. All you can do to look after it is to check and recheck your wiring, and the translation of the pins on the chip to pins on the socket. Before you plug in make sure +5V and 0V are correctly wired (perhaps probe the empty socket with a voltmeter whilst applying power) and then plug the chip in, the right way round.

Good Luck.

3.3 Fault Finding, Return for Service

Not on your nelly: if it doesn't work, you keep it (I've enough problems of my own thanks!)

There are a few things you can try; for example no matter how scrambled you have got your wires a microprocessor once switched on pretty well has to do something. If there is no activity at all then your clue is to look at the Halt line output (although even a "halt" leaves many signals thrashing about furiously), interrupt inputs, reset input, wait line input, bus request and acknowledge, M1 (opcode fetch), Refresh, clock and so on. Only a complete write-off of a chip or absent of incorrect power supplies will produce a complete zero of activity on every line.

The type of socket I am using has little holes specially for the purpose of probing the signals at the pins of the chip. This makes life a bit easier than having to guess.

More likely your problem will be that the chip is working but not doing what you want. (This is in fact the definition of a bug, hardware or software.) All you can do is to burn progressively simpler and simpler test programs into your boot EPROM until you can isolate the trouble. At the very simplest try "00" in every location of your EPROM - even if you have totally mixed up the order of the address and data lines then the Z80280 should be able to find that data because 00 backwards is still 00). If you find your boot ROM is not being selected, fiddle and jumper the circuit until you force all reads to come from the boot PROM regardless of where they want to come from. Gradually build up a program byte at a time until you can see what is going wrong. For testing I like little programs like: perform an I/O instruction, and, go back and do it again. There are many "reads" even in such a short program but there is only one I/O instruction. The I/o line is the one to trigger your scope on then, to get a stable trace whilst you are prowling round the other lines on the circuit. A nasty fault is wrongly controlled buffers, where for example a read and write operation is simultaneously selected. If you have used sockets for your buffers, then you can easily pull one or another out during testing, probing the control lines to see just why it is the buffer which shouldn't be enabled is being enabled.

If you are accustomed to testing boards with TTL (74LS etc.) chips then note you need slightly different techniques with CMOS. An open circuit 74LS input shows a characteristically odd signal on a "scope - neither 0 nor 1, but something in between. Open circuit CMOS on the other hand takes up the voltage at the end of your scope probe, typically 0V. on the other hand CMOS is easy to push around; for example you can test the operation of gates by sticking in a signal from your (anti static) finger into an unterminated gate input and watch the output toggle up and down at 50 Hz mains frequency; you can't do that with 74LS.

(Finally, you did tie pin 34 of the chip to ground didn't you? It explains a lot of misbehaviour if you didn't.)

Nothing can possibly go wrong, go wr*ng, g* wr*ng

There are a few known bugs in the Z80280, and goodness knows how many unknown ones. One rumour I have heard is that the 20 MHz part will not function completely correctly with input frequencies above 16 MHz. (Although I read this in an issue of a newsletter for a competing product to Interak, known as the "SC84" scientific computer - they have decided to use the Hitachi 64180, so perhaps have an axe to grind. Mind you, if a Hitachi 64180 user criticises the Z80280 it is a case of the pot calling the kettle black because the 64180 is full of little dodgy bits, so much so it proved necessary for the manufacturers to produce a "Z" (= even more Z80 compatible) version of that chip). I shall try of course to gather as much information as I can, and any bug lists I have will be included with this document.

Another possible problem area once you get going applies only to those wicked programmers who think they are very clever in using the "undocumented" instructions in the Z80 instruction set. If you have used only legal instructions you will be all right. "So what, it works" may now be answered by "So what, it doesn't, that's what!"