DU11 synchronous serial line interface

From Computer History Wiki
Jump to: navigation, search

The DU11 is an early synchronous serial line interface for the UNIBUS. Like the earlier DP11-A, it used programmed I/O (with separate receive and transmit interrupts) to transfer data; it was double-buffered for both input and output.

It provided an EIA RS-232 interface (to Bell 200 series modems, such as the model 201, and equivalents), and optionally a current loop interface (to Bell 300 series modems, such as the model 303, and equivalents). Baud rates of up to 9.6K bits/second were supported by the EIA interface, and up to 100K bits/second by the current loop interface.

The character length (5, 6, 7 or 8 bits), and the sync character, were selectable; parity (even or odd) was optionally supported for error detection. It could operate in either half-duplex or full-duplex mode. All configuration, as well as all the modem control leads, could be set under program control. A jumper allows configuration of whether one or two contiguous sync characters is needed for synchronization.

It was a quad-width card, the M7822; it plugged into an SPC slot. A Berg header on the card provided the 'native' EIA interface; alternatively, when the M7822 card was plugged into a DD11-B backplane, a two single-card DF11 Communications Line Adapter set could be used to connect to current loop modems which were not supported 'natively' by the M78222 (such as the Bell 303). Optionally, the DFC11-A (installed instead of a DF11) allowed use of an internal clock (when two interfaces were connected directly, without modems)..

Registers

Register Abbreviation Address
Receiver Status Register RxCSR 16xx10
Receiver Data Buffer Register (read only) RxDBUF 16xx12
Parameter Control Register (write only) PARCSR 16xx12
Transmitter Status Register TxCSR 16xx14
Transmitter Data Buffer Register TxDBUF 16xx16

16xx10: Receiver Status Register (RxCSR)

DSC RING CTS CARR RACT SECRCV DSR STRSYN RDN RIE DSIE SRCHSYN SECXMT RTS DTR Unused
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • DSC - Data Set Change; set for any change on Ring, Carrier, Data Set Ready, Clear to Send or Secondary Received Data lines
  • RING - Ring Indicator
  • CTS - Clear to Send
  • CARR - Carrier
  • RACT - Receiver Active; setting dependent on the internal/external synchronization mode
  • SECRCV - Secondary Received Data
  • DSR - Data Set Ready
  • STRSYN - Strip Sync; sync characters are discarded
  • RDN - Receive Done Flag; set when the receive buffer is filled with an assembled character
  • RIE - Receiver Interrupt Enable; allows an input interrupt when Receive Done is set
  • DSIE - Data Set Interrupt Enable; allows an input interrupt when DSC is set
  • SRCHSYN - Search Synchronization; when set, the receiver looks for synch character(s)
  • SECXMT - Secondary Transmit Data
  • RTS - Request to Send
  • DTR - Data Terminal Ready

16xx12 (read): Receiver Data Buffer Register (RxDBUF)

ERR OVR Unused PARERR Unused RDBUF
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • ERR - Error
  • OVR - Overrun
  • PARERR - Parity Error
  • RDBUF - Receiver Data Buffer

16xx12 (write): Parameter Control Register (PARCSR)

Unused MODE LEN PAR EN EVEN PAR SYNC
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • MODE - Synchronous Mode Select (10=External, 11=Internal)
  • LEN - Length (00=5, 01=6, 10=7, 11=8)
  • PAR EN - Parity Enable
  • EVEN PAR - Even Parity selected
  • SYNC - Sync Character

16xx14: Transmitter Status Register (TxCSR)

DNA MD MCLK MMS MBW Unused MR TDN TIE DNAIE SEND HDFD Unused BRK
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • DNA - Data Not Available
  • MD - Maintenance Data
  • MCLK - Maintenance Clock
  • MMS - Maintenance Mode Select (01=Internal, 10=External, 11=Internal systems)
  • MBW - Maintenance Bit Window
  • MR - Master Reset
  • TDN - Transmitter Done; set when the Transmitter Data Buffer is ready for the next character
  • TIE - Transmitter Interrupt Enable; allows a transmit interrupt when Transmit Done is set
  • DNAIE - Data Not Available Interrupt Enable
  • SEND - Send; enables the transmitter logic
  • HDFD - Half-Duplex/Full-Duplex
  • BRK - Send Break

16xx16: Transmitter Data Buffer Register (TxDBUF)

Unused TDBUF
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • TDBUF - Transmitter Data Buffer

See also