11/34A KY11-LB troubleshooting | M7859 |
At the beginning of November 2005, I finally got the main power installed in my museum. A thick 5-wire, 4 mm-square,
cable runs right from the connection where the main power enters the house to my little museum. This 3-phase connection
is fuses with a triple 20 Amps circuit breaker, the kind that will not trip on a short high rush-in current.
In the museum, each of the 3 phases are split into two groups, so that gives me 6 groups. Each group has its owm fuse,
rated 16 Amps. Of course, if I put a load of 12 Amps on one group, I can not put an other 12 Amps load on an other group
that is derived of the same phase, as that would pop the 20 Amp circuit breaker. By configuring the load distribution
over the groups, I can run any PDP-11 comfortably, even the 11/70 with two RM03's.
So, after two years finally came the moment to turn on my first configuration, the PDP-11/34C. When it was switched off
2 years before, it was in working condition ... I turned the machine on and saw the RUN light
illuminated, and I could not get it cleared. Aha, I thought, a bus problem. Perhaps I have pulled a board and did not make
a note of it.
So, I pulled the 11/34 out of the rack and opened the top cover. Nothing strange to see, all seems fine, no empty slots.
I can use the front panel and enter a number. The entry appears on the display. I am sure that I did that, because to
start the machine I must enter 165020 to start the execution of the monitor on the M9312 bootstrap/terminator module.
Using a flash light, I see a lot of cat hair on the backplane (the side where you plug in the modules). I thought,
"while I am working on this machine, why not clean it immediately"? So, I pulled all boards (only the processor backplane,
do it one backplane at a time). I already have a note that describes the slot/position where each board should be, and
I checked that it was up-to-date. With a vacuum cleaner I sucked all cat hair (and dust) from the backplane and then
installed the boards again. As I had a grant problem, I did not install the M9202 in the last slot to connect to the
next backplane, but installed the M9302 terminator instead to localize the grant chain problem.
Powered up the machine, the RUN light stays OFF. OK, so the problem is not on the CPU backplane,
but on one of the next two (there is a DD11-DK 9-slot and then a TMB11 4-slot backplane in this box).
I pulled all boards from the second (DD11-DK) backplane, and vacuum cleaned it too. Then I removed the M9302 terminator
from the CPU backplane and installed it in the last slot of the DD11-DK. I installed an M9202 to connect the two
backplanes. Then I installed a grant-continuity module G7273 in all 9 slots of the second backplane. I turn on the
machine, and to my surprise, the RUN lamp is ON, and I can not get it OFF !?!
It is a bit vague in my memory, but I think this was also the point where I discovered that the keypad console is no
longer responsive. When I push any digit button (0-7) that number should appear on the display ... nada, nope,
nothing happens.
I reverted back to the previous configuration: only the CPU backplane. I removed the M9202, and installed the M9302
in the last slot of the CPU backplane. I left the G7273's in the second backplane. The problem with the console did
not go away. To localize the problem, I downsized the system configuration to a minimum. I removed the Floating
Point option and the Cache option (slot 3 and 4), and installed G7273's for them instead.
slot position board(s) --------------------------------- 1 A - F M8266 2 A - F M8265 3 C - D G7273 4 A-B C-F M9312 M7859 5 C - D G7273 6 C - D G7273 7 C - D G7273 8 C - D G7273 9 A-B C-D M9302 G7273I checked the voltage on the CPU backplane is 5.08 V. and the +15 and -15 read +/-15.2 V.
Back to top |
To find the problem with the M7859 console board, I use the following documentation.
You can get this documentation from
bitsavers , but download it from one of the mirror sites!
They are in the directory "pdf/dec/pdp11/1134", there are two KY11-LB documents.
To have access to the board you must install the module on extenders. I only have dual width extenders, so I plugged two extenders
into the backplane and put the M7859 on top of it. To make the connection to the console panel board, I had to remove the front panel
to re-route the 20-wire flatcable that connect the console board to the M7859 module. I only took a brief look at the schematics, and
set up my oscilloscope to check the signals that connect the keypad. The keypad is scanned by the software, and I see pulses on all
lines of the keypad matrix. It looks fine to me, but there are several lines and then a 2-channel oscilloscope can not show you
everything at the same time.
Since the keypad signals seems to be OK, I decided that I needed to study the schematics of the M7859 to get more knowledge of the
operation of the module. It became clear that I needed to pull out the Logic Analyser, which I had not used at all, up till now.
So, I read a little of how to use the LA. It is actually not that difficult. Now I have 16 channels available to probe!
Here are the symptoms.
If I press the 'LSR' button, the 'SR DISP' LED goes on. However, if I press any of the numerical buttons, '1-6', a digit in the
display only flashes very brief. I cannot say what the digit was. To make things more weird the following happens if I start with
pressing the 'CLR' button and then the numerical buttons.
1) press CLR (display stays at "000000")
2) press e.g. 6 (some of the rightmost digit segments briefly flash)
3) press 6 again (1st and 2nd of the right display flashes)
4) press 6 again (1st, 2nd and 3rd of the right display flashes)
The first leftmost three displays remain "000" and do not show any sign of changes. Pressing 6 after the first 3 times, repeats
the flashing of some segments in the three rightmost displays. The LAD, DIS AD, EXAM, and DEP keys seems to give no response.
However, if the SR DISP LED is on, pressing any key will turn of that LED. Even the CNTRL key ...!
Next, I checked the following.
All 20 wires of the flat cable from the console to the M7859 module check out OK.
I checked the +5V and GND faston at the console and measured a clean 5.15 V.
On the 4th page of the printset is the schematic of all keypad switches and the console LEDs connected to the flat cable. The switches are group-connected to NAND gates (8881), and 4 gates are stobed by a signal "READ x H", where "x" is 1,2,3,4,5. They form a scanned matrix as follows.
signal | J1 #6 J1 #7 J1 #8 J1 #9 -----------+------------------------------------------- READ 1 H | START BOOT CONT HLT/SS READ 2 H | CNTRL 3 6 DEP READ 3 H | INIT 2 5 EXAM READ 4 H | 0 1 4 7 READ 5 H | CLR LSR LAD DIS ADThe "READ x H" signal is derived from the pins 18 (READ 1 H) thru pin 13 (READ 5 H) on connector J1, via 7404 inverters, and they all have the following wave form.
<---- 22 msec ----> _____ _____________________ | | | | | | |_____| |__ --> <--- 4 msI did not check (yet) the timing relation between the "READ x H" signals. The signals on the combined output of the 8881's have the following wave form.
[1] [2] [3] [4] [5] ________ __ __ __ __ __________ | | | | | | | | | | | | | | | | | | | | |_____| |_____| |_____| |_____| |_____|The number between the square brackets indicates the "READ x H" signal. So when "BOOT" is pressed the low signal during the time interval [1] goes logic high. Likewise, when I press the EXAM key time interval [3] goes logic high. So, keypad scanning looks OK to me, as the X-Y matrix works fine.
The 5th page of the printset has the schematic of the six 7-segment displays with the 7447 decoder, 7404 inverters for the scanning
matrix signal, and the "DRIVE xL" which are also derived from connector J1, pins 18 thru 13, via a buffer 7417. Since "READ x H"
seems to be OK, I assume that "DRIVE x L" is also OK ... it must be, otherwise the six 7-segment displays would not be lit !
The 6th page of the printset shows the component layout of the M7859 module. The connector J1, top left, connects to the front
panel. This is the pinning when viewed at the component side of the module.
________________________________________
| #19 . . . . . . . . #1 card edge
| #20 . . . . . . . . #2
|
|
card edge
Further, from the diagrams I see the the following pins on J1 (console) are connected to these pins on J1 (M7859).
J1 ---> J1 (console) (M7859) description -------------------------------------------------- 20 A GND 19 B +5V 18 C SCAN 1 L (READ/DRIVE 1) 17 D SCAN 2 L (READ/DRIVE 2) 16 E SCAN 3 L (READ/DRIVE 3) 15 F SCAN 4 L (READ/DRIVE 4) 14 H SCAN 5 L (READ/DRIVE 5) 13 J SCAN 6 L (READ/DRIVE 6) 12 K NUM 1 H (A input 7447) 11 L NUM 2 H (B input 7447) 10 M NUM 3 H (C input 7447)
Could it be a problem with the ROMs that hold the software for the 8008 CPU? The Maintenance Manual of the KY11-LB describes the 8008
instruction set and has the assembler source listing in an appendix. I connected one pod (8 inputs) of the LA to the address pins A0
thru A7 of one of the ROMs (see the page KY-4 of the print set) to see if the program execution is correct.
The 74154 (E48) on drawing KY-4 is interesting. The lower 8 select-outputs are for reading data, and the higher 8 select outputs are for writing data. Output #5 (signal KY4 READ INPUT 5L) enables the 8093 (E74) on drawing KY-3 that reads in the scan matrix and the UNIBUS signals SSYN and HALT BUSY ... I assume that the 74154 is OK because all select signals for the latches come from the outputs #8-14. KY4 LD REG 0H (goes to drawing KY-6, which addresses the scan signals latch) must be OK. Output 9 (pin 10) activates the latch that drives the display signals. The other outputs of the 74154 (10-14) activate the latches that puts out an address and data onto the UNIBUS. If the outputs of the 74154 are not active, the problem is narrowed to the address decoder (E34, ROM) and stuff on drawing KY-1. However, the ROM must output good signals on pin 1 and 2, because these 2 lines are the enables for the software ROMs. And one thing is sure, the 8008 executes the software otherwise a response of pressing LSR turning on the SR DISP LED would not happen. That implicates that the outputs of the 74154 and the inputs (A-B-C-D and G1-G2) must be OK!
On page KY-1, the 8008 state output lines, S0, S1, and S2, go to a 7442 decoder. The documentation explains the decoded states, and
mentions that pin 2 of the 7442 ('KY1 STOP L') is asserted when the 8008 crashes (in fact, when the 8008 executes a HALT instruction,
which is octal 0, or 1, or 377). When STOP L is activated, the 8008 will restart itself. I scoped pin 2, and can say that 'STOP L'
is never asserted. That means that the 8008 is continuously executing its program, without any restarts. The clock signal at TP1 is
a nice square wave with a duty cycle of approx 50%, cycle time a bit more than 1 µSec.
Some preliminary conclusions up till now.
I also saw that sometimes the RUN LED is turned ON. Pressing the CNTRL (only that button!) the BUS ERR LED goes ON (???).
Normally CNTRL must be used in conjunction with another button ... Pressing CLR (or any other key) makes BUS ERR turn OFF. Also,
I noted that at some point the display showed "666666", but I can not change the value. For now, I am not too worried about this.
I contribute this behaviour to the less-than-perfect contacts, now that the M7859 is on top op 2 dual width extender boards.
Page KY-4 has all the decode logic. The signal KY4 READ INPUT 5L from the 74154 is used on page KY-3 to enable 8093 AND gates to
read the scan matrix lines. The signal KY4 LD REG 0H via a 7404 from the 74154 is used on page KY-6 to enable a 74175 latch of
which the outputs drive the scan matrix. Likewise, KY4 LD REG 1H drives the three NUM lines for the 7447.
I checked the signals that drive the console keypad matrix and display. The outputs of the 8881's (on page 4, KY11-LB console board)
look as what I saw on the oscilloscope, and that is also what I see on the inputs of the 8093 (page KY-3).
trace number | IC / pen # | signal name | description |
---|---|---|---|
F | E48 / 16 | - | strobe signal console LEDs output |
E | E48 / 10 | LD REG 1 H | strobe signal display octal code output |
D | E48 / 9 | LD REG 0 H | strobe signal matrix drive output |
C | E74 / 1 | READ INPUT 5L | strobe signal matrix read data |
B | E74 / 12 | KEY 4 H | keypad matrix read data |
A | E74 / 9 | KEY 3 H | |
9 | E74 / 5 | KEY 2 H | |
8 | E74 / 2 | KEY 1 H | |
7 | E66 / 8 | NUM 3 H | LED display octal code |
6 | E66 / 6 | NUM 2 H | |
5 | E66 / 2 | NUM 1 H | |
4 | E72 / 4 | SCAN 1 L | keypad matrix / LEDs display (common anode) drive signals |
3 | E72 / 6 | SCAN 2 L | |
2 | E72 / 10 | SCAN 3 L | |
1 | E72 / 12 | SCAN 4 L | |
0 | E72 / 2 | SCAN 5 L |
What I also have seen is the following.
When I press CNTRL, the displays go all OFF for 400 msec. As far as I remember, this is not correct behaviour.
Would CNTRL - INIT do this?
The SCAN / DRIVE signals (Channel 0 tru 5) are kept at '1' during that 400 msec. That explains why the displays all go blank. After
the 400 msec period the signals NUM-1-2-3 become '000', but there is no strobe pulse on E73. It might be the clear signal on the latch,
but I have not checked that yet. Right after the '000' the NUM-1-2-3 lines change to '110' and that matches the display contents
('666666'), but again I did not see a strobe pulse ...
trace number | IC / pen # | signal name | description |
---|---|---|---|
F | E73 / 1 | PUP L | latch clear flip flops |
E | E73 / 9 | LD REG 1 H | strobe signal display octal code output |
D | E73 / 4 | ADRD 0 H | latch data bit 0 in |
C | E73 / 5 | ADRD 1 H | latch data bit 1 in |
B | E73 / 12 | ADRD 2 H | latch data bit 2 in |
A | E73 / 2 | NUM 1 H | latch data bit 0 out |
9 | E73 / 7 | NUM 2 H | latch data bit 1 out |
8 | E73 / 10 | NUM 3 H | latch data bit 2 out |
7 | E66 / 1 | NUM 1 H | LED display octal code (from latch outputs, inputs at 7417 buffers) |
6 | E66 / 5 | NUM 2 H | |
5 | E66 / 9 | NUM 3 H | |
4 | E66 / 2 | NUM 1 H | LED display octal code (outputs from 7417 buffers) |
3 | E66 / 6 | NUM 2 H | |
2 | E66 / 8 | NUM 3 H | |
1 | E48 / 10 | LD REG 1 | 74154 output (inverted signal channel E) |
0 | - | not used |
As the program executed by the 8008 seems to run OK, I get the impression that the RAM chips could have a failure, as suggested by others (* credits at the end of this page). The keypad entry is stored in RAM (first 3 locations, the operator & maintenance manual shows an allocation map which is not correct), and a faulty RAM would also explain why pressing the CNTRL button causes the BUS ERR light to turn ON, because it is simply seen as another key! The M7859 module has two 4-bit 16 addresses RAM chips. E11 is for the low 4 bits, E27 is for the high 4 bits of the 8-bit databus. The type is 85S68.
Signals on E11 (write low 4 data bits)![]() |
Signals on E27 (read low 4 data bits)![]() |
Click the screenshot for a larger image. |
trace number | pen # | signal name E11 | signal name E27 | description |
---|---|---|---|---|
F | - | not used | ||
E | - | not used | ||
D | 12 | DIN BUS L | select RAM | |
C | 14 | RAM WRITE H | write data into RAM | |
B | 5 | ADRD 3 L | 4-bit address lines | |
A | 4 | ADRD 2 L | ||
9 | 6 | ADRD 1 L | ||
8 | 3 | ADRD 0 L | ||
7 | 11 | DIN 3 H | DIN 7 H | data output from RAM |
6 | 10 | DIN 2 H | DIN 6 H | |
5 | 8 | DIN 1 H | DIN 5 H | |
4 | 7 | DIN 0 H | DIN 4 H | |
3 | 16 | DOUT 3 H | DOUT 7 H | data input to RAM |
2 | 17 | DOUT 2 H | DOUT 6 H | |
1 | 1 | DOUT 1 H | DOUT 5 H | |
0 | 2 | DOUT 0 H | DOUT 4 H |
I wrote this webpage to communicate with knowledgable people. A screen shot from the logic analyzer tells more than a 1000 words. Reasons to keep this webpage, is for myself and for other people. If you get to work on a defective M7859 board you can read here some info to get you started. I would like to mention the following people for their support in getting this module back in operation. They are all contributors to the Classic Computing mail list
Return to HOME page | Back to top |