Principle of Operation


The implementation on a KDJ11-E

The KDJ11-E, also known as the PDP-11/93 CPU board, introduced a real-time clock chip on board. It used a DS1215 phantom clock chip from DALLAS. Also used in many no-slot real-time-clocks for microcomputers. The trick is that a the chip listens to a series of write requests and as soon as it recognises a predefined pattern it activates itself. It was typically placed in parallel to a ROM chip. The CE to the ROM was connected to the DS1215 and the DS1215 created it’s own CE for the ROM. The CE for the ROM was only active as long as the DS1215 did not activate itself. Once the DS1215 is activated the DS1215 no longer selects the ROM and instead activates it’s input and/or output. The output was just tied to one of the data lines of the microcontroller. When the DS1215 was activated then 64 subsequent read requests provided the contents of the bytes that held the current time and date like any other RTC from DALLAS. Or you could set the clock of the DS1215 by writing the 64 bits with subsequent write-requests.

Dallas called the chip Phantom Time Chip which is available in a DIP package. A newer version the DS1315 is still available and is functionally identical.

Building the interface

On a PDP-11/93 the RTC interfaces with the PDP-11 using the Additional Status Register at address 177775268. The DS1215 was connected via bit8 to the data bus. In fact the DS1215 was used as the only device at this address and serving bit8 even so the chip was design to operate in parallel to a ROM or RAM that occupied the same address space.

Therefore to interface a DS1215 with the PDP-11 is relatively straightforward and simple, just connect the input and output with bit8 of the databus and select the DS1215 whenever the Additional Status Register is accessed.

Principle of Operation

Normally the DS1215 just listens to the input whenever it is selected. If the DS1215 detects 64 subsequent write requests with the following data pattern on its input it switches from listen to active. The following information is taken from EK-KDJ1E-UG-001_KDJ11-E_CPU_Module_Users_Guide_Jan91 page 71.

Table 1-28 Recognition Pattern

                                                        Character
                                                        Recognition
15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0         Word
 0  0  1  1  1  0  1  0  1  1  0  0  0  1  0  1  035305    1 Bits 0-15
 0  1  0  1  1  1  0  0  1  0  1  0  0  0  1  1  056243    2 Bits 16-81
 0  0  1  1  1  0  1  0  1  1  0  0  0  1  0  1  035305    3 Bits 32-47
 0  1  0  1  1  1  0  0  1  0  1  0  0  0  1  1  056243    4 Bits 48-68

So the only thing you need to do is write the pattern above to bit8 of the Additional Status Register. Then following this pattern you can either read the clock information (64-bits) or set the clock.

The meaning of the bits can either be taken from the above mentioned manual or the DS1215 datasheet.

Update January 2020

Indeed RSX-11Mplus and even RT-11 are happy with a partial implementation of the features of a KDJ11-E board. In my case it was sufficient to change the module code from 1 to 5 in the CPLD of my PDP-11/Hack and now RSX-11Mplus and RT-11 5.7 are using the RTC in my PDP-11/Hack system. I had to add some more wires to the CPU board in order to have the software think it is running on a Q-Bus and not on a Unibus system but that was all which was needed.