Difference between revisions of "DJ11 Asynchronous 16-Line Multiplexer"
(Add board layout) |
(→Registers: Add) |
||
Line 20: | Line 20: | ||
Another group of jumpers allowed configuration of the input FIFO level at which an input interrupt occurred; choices were: 1, 5, 9, 17, or the sum of all selections (up to 32). | Another group of jumpers allowed configuration of the input FIFO level at which an input interrupt occurred; choices were: 1, 5, 9, 17, or the sum of all selections (up to 32). | ||
+ | |||
+ | ==Device registers== | ||
+ | |||
+ | {| border=1 | ||
+ | ! Register !! Abbreviation !! Address | ||
+ | |- | ||
+ | |Control and Status [[Register]] || DJCSR || 760010 | ||
+ | |- | ||
+ | |Receive Buffer Register || DJRBUF || 760012 | ||
+ | |- | ||
+ | |Transmit Control Register || DJTCR || 760014 | ||
+ | |- | ||
+ | |Transmit Buffer Register || DJTBUF || 760016 | ||
+ | |- | ||
+ | |Break Control and Status Register || DJBCSR || 760014 | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===760010: Control and Status Register (DJCSR)=== | ||
+ | {{16bit-header}} | ||
+ | | TRDY || TIE || FFO || SEN || Unused || RWBR || Unused || MTSE || DONE || RIE || Unused || BCLR || MCLR || MAINT || HDSEL || REN | ||
+ | {{16bit-bitout}} | ||
+ | |||
+ | ===760012: Receive Buffer Register (DJRBUF)=== | ||
+ | {{16bit-header}} | ||
+ | | CHPR || ORUN || FRERR || PERR || colspan=4 style="text-align:center;" | Line || colspan=8 style="text-align:center;" | Received Char | ||
+ | {{16bit-bitout}} | ||
+ | |||
+ | ===760014: Transmit Control Register (DJTCR)=== | ||
+ | {{16bit-header}} | ||
+ | | colspan=16 | CHL15 <---> CHL00 | ||
+ | {{16bit-bitout}} | ||
+ | |||
+ | ===760016: Transmit Buffer Register (DJTBUF)=== | ||
+ | {{16bit-header}} | ||
+ | | colspan=4 style="text-align:center;" | Unused || colspan=4 style="text-align:center;" | Line || colspan=8 style="text-align:center;" | Transmitted Char | ||
+ | {{16bit-bitout}} | ||
+ | |||
+ | ===760014: Break Control and Status Register (DJBCSR)=== | ||
+ | {{16bit-header}} | ||
+ | | colspan=16 | BKL15 <---> BKL00 | ||
+ | {{16bit-bitout}} | ||
+ | |||
+ | To read/write the BCSR register, bit 10 of the CSR is set. | ||
==Implementation== | ==Implementation== |
Revision as of 23:11, 23 September 2019
The DJ11 asynchronous serial line interface is a UNIBUS peripheral which provides up to 16 asynchronous serial lines. Both input and output used programmed I/O (with separate receive and transmit interrupts). On input, a 64-character FIFO buffer made over-runs unlikely. Modems were not supported.
It was less flexible than, and not as efficient as, the roughly contemporaneous DH11. It was effectively replaced by the DZ11, which was cheaper (it was a single hex board), and more flexible.
The DJ11 allowed support of either all 20mA or all EIA RS-232 serial lines, by means of a dual-width level converter board. The versions of the DJ11 were:
- DJ11-AA - EIA level conversion
- DJ11-AB - No level conversion (TTL levels)
- DJ11-AC - EIA level conversion
The parameters for each line:
- separate input and output baud rates (75 to 9600)
- character length (5-8 bits)
- stop bits (1, 1-1/2 and 2)
- parity (odd, even, none)
could only be set with jumpers, in groups of four lines. A 'break' condition on the line (i.e. continuous assertion) could also be generated and detected.
Another group of jumpers allowed configuration of the input FIFO level at which an input interrupt occurred; choices were: 1, 5, 9, 17, or the sum of all selections (up to 32).
Contents
Device registers
Register | Abbreviation | Address |
---|---|---|
Control and Status Register | DJCSR | 760010 |
Receive Buffer Register | DJRBUF | 760012 |
Transmit Control Register | DJTCR | 760014 |
Transmit Buffer Register | DJTBUF | 760016 |
Break Control and Status Register | DJBCSR | 760014 |
760010: Control and Status Register (DJCSR)
TRDY | TIE | FFO | SEN | Unused | RWBR | Unused | MTSE | DONE | RIE | Unused | BCLR | MCLR | MAINT | HDSEL | REN |
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
760012: Receive Buffer Register (DJRBUF)
CHPR | ORUN | FRERR | PERR | Line | Received Char | ||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
760014: Transmit Control Register (DJTCR)
CHL15 <---> CHL00 | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
760016: Transmit Buffer Register (DJTBUF)
Unused | Line | Transmitted Char | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
760014: Break Control and Status Register (DJBCSR)
BKL15 <---> BKL00 | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
To read/write the BCSR register, bit 10 of the CSR is set.
Implementation
The implementation took a single custom system unit backplane, containing multiple cards:
- M7285 - Mux control (hex)
- M7279 - Receive silo (dual)
- M7280 (2) - Octal UARTs (quad)
- M7821 - Interrupt control
- M105 - Address selection
The -AA, -AB and -AC versions of the DJ11 also included one:
- M5901 EIA conversion module
- M5900 TTL 'conversion' module
- M5902 20mA conversion module
respectively, which occupied a dual slot.
Board locations (as seen from the board insertion side of the backplane, not the wire-wrap pin side, as is common in DEC documentation) are:
Connector | ||||||
---|---|---|---|---|---|---|
Slot | A | B | C | D | E | F |
1 | UNIBUS In | M105 | M7821 | M7279 Receive Silo | ||
2 | M7285 Mux Control | |||||
3 | M7280 Octal UART | |||||
4 | UNIBUS Out | M7280 Octal UART |
Distribution panels
The rack-mounted passive distribution panel used in the -AA EIA version was the H317-B distribution panel (the same as used by the DH11), which mounted directly into a standard 19" rack, and contained 16 DB-25P connectors. It was connected to the DJ11 with a pair of BC08S cables, which carried the 'main' signals (data, etc - i.e. non-modem control).
The -AC used an H317-A distribution panel, which had screw connectors.