Difference between revisions of "DUP11 synchronous serial line interface"

From Computer History Wiki
Jump to: navigation, search
m (typo, +see also)
(DU11 with CRC)
Line 1: Line 1:
 
[[Image:DUP11-M7867.jpg|300px|thumb|right|DUP11 M7867 board]]
 
[[Image:DUP11-M7867.jpg|300px|thumb|right|DUP11 M7867 board]]
  
The '''DUP11''' is an early [[synchronous serial line]] [[peripheral|interface]] for the [[UNIBUS]]. Like the earlier [[DP11-A synchronous serial line interface|DP11-A]], it used [[programmed I/O]] (with separate receive and transmit [[interrupt]]s) to transfer data; it was double-[[buffer]]ed for both input and output. It could operate in either [[half-duplex]] or [[full-duplex]], at [[baud rate]]s up to 9.6K bits/second.
+
The '''DUP11''' is an early [[synchronous serial line]] [[peripheral|interface]] for the [[UNIBUS]]. It was basically a [[DU11 synchronous serial line interface|DU11]] with [[cyclic redundancy check|CRC]] computation in [[hardware]]. Like the earlier DU11, it used [[programmed I/O]] (with separate receive and transmit [[interrupt]]s) to transfer data; it was double-[[buffer]]ed for both input and output. It could operate in either [[half-duplex]] or [[full-duplex]], at [[baud rate]]s up to 9.6K bits/second.
  
Both [[byte]]-oriented (e.g. [[DDCMP]], [[BISYNC]]) and [[bit]]-oriented (e.g. [[SDLC]], [[HDLC]]) [[protocol]]s were supported; a variety of [[cyclic redundancy check|CRC]] algorithms, depending on the protocol in use on the line, were supported for error detection. The [[character]] length was 8 [[bit]]s; the [[sync character]] was selectable under program control, as well as the modem control leads. It apparently supported idling (sending the sync character); the line could also be set to a [[serial line|mark]] condition when not transmitting characters. The DUP11 could also be set to discard additional incoming sync characters.
+
Both [[byte]]-oriented (e.g. [[DDCMP]], [[BISYNC]]) and [[bit]]-oriented (e.g. [[SDLC]], [[HDLC]]) [[protocol]]s were supported; for error detection, a variety of CRC algorithms, depending on the protocol in use on the line, were supported. The [[character]] length was 8 [[bit]]s; the [[sync character]] was selectable under program control, as well as the modem control leads. It apparently supported idling (sending the sync character); the line could also be set to a [[serial line|mark]] condition when not transmitting characters. The DUP11 could also be set to discard additional incoming sync characters.
  
 
It was intended to interface to Bell 200 series [[modem]]s (models 201, 208 and 209) and equivalents.  
 
It was intended to interface to Bell 200 series [[modem]]s (models 201, 208 and 209) and equivalents.  

Revision as of 01:38, 4 August 2021

DUP11 M7867 board

The DUP11 is an early synchronous serial line interface for the UNIBUS. It was basically a DU11 with CRC computation in hardware. Like the earlier DU11, it used programmed I/O (with separate receive and transmit interrupts) to transfer data; it was double-buffered for both input and output. It could operate in either half-duplex or full-duplex, at baud rates up to 9.6K bits/second.

Both byte-oriented (e.g. DDCMP, BISYNC) and bit-oriented (e.g. SDLC, HDLC) protocols were supported; for error detection, a variety of CRC algorithms, depending on the protocol in use on the line, were supported. The character length was 8 bits; the sync character was selectable under program control, as well as the modem control leads. It apparently supported idling (sending the sync character); the line could also be set to a mark condition when not transmitting characters. The DUP11 could also be set to discard additional incoming sync characters.

It was intended to interface to Bell 200 series modems (models 201, 208 and 209) and equivalents.

It was a hex card, the M7867; it plugged into an SPC slot. A Berg header on the card connected to a short flat cable which led off to a connector.

Registers

Register Abbreviation Address
Receiver Status Register RxCSR 16xxx0
Receiver Data Buffer Register (read only) RxDBUF 16xxx2
Parameter Status Register (write only) PARCSR 16xxx2
Transmitter Status Register TxCSR 16xxx4
Transmitter Data Buffer Register TxDBUF 16xxx6

16xxx0: Receiver Status Register (RxCSR)

DSCA RING CTS CARR RACT SECRCV DSR SSYNC RDN RDIE DSIE REN SECXMT RTS DTR DSCB
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • DSCA - Data Set Change A; set for any change on Ring, Clear to Send (optionally DSCB lines)
  • RING - Ring Indicator
  • CTS - Clear to Send
  • CARR - Carrier
  • RACT - Receiver Active; set after the first character has been assembled
  • SECRCV - Secondary Receive Data
  • DSR - Data Set Ready
  • SSYNC - Strip Sync; sync characters following the first are discarded - only used with byte-oriented protocols
  • RDN - Receive Done Flag; set when the receive buffer contains an assembled character
  • RDIE - Receive Interrupt Enable; allows an input interrupt when Receive Done is set
  • DSIE - Data Set Interrupt Enable; allows an input interrupt when DSCA is set
  • REN - Receiver Enable; when first set, the receiver looks for synchronization
  • SECXMT - Secondary Transmit Data
  • RTS - Ready to Send
  • DTR - Data Terminal Ready
  • DSCB - Data Set Change B; set for any change on Carrier, Data Set Ready, Secondary Received Data

16xxx2: Receiver Data Buffer Register (RxDBUF)

ERR OVR Rsvd RCRC Rsvd RABO REOM RSOM DDAT
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • ERR - Error
  • OVR - Overrun
  • RCRC - Receiver CRC
  • RABO - Received Abort
  • REOM - End of Received Message
  • RSOM - Start of Received Message
  • RDAT - Received Data Buffer

16xxx2: Parameter Status Register (PARCSR)

DEC Rsvd SEC MD Rsvd CRC INH Rsvd SEC ADDR/RSYNC
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • DEC - DEC Mode
  • SEC MD - Secondary Mode
  • CRC INH - CRC Inhibit
  • SEC ADDR/RSYNC - Secondary Station Address / Receiver Sync

16xxx4: Transmitter Status Register (TxCSR)

DLT MTDO MCLK MMSB MMSA MID TACT DRST TDN TIE Unused SEND HDFD Unused
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • DLT - Transmitter Data Late Error
  • MTDO - Maintenance Transmit Data Out
  • MCLK - Maintenance Clock
  • MMSB - Maintenance Mode Select B
  • MMSA - Maintenance Mode Select A
  • MID - Maintenance Input Data
  • TACT - Transmitter Active
  • DRST - Device Reset
  • TDN - Transmitter Done; set when the Transmitter Data Buffer id ready for the next character
  • TIE - Transmitter Interrupt Enable; allows a transmit interrupt when Transmit Done is set
  • SEND - Send; enables the transmitter logic
  • HDFD - Half-Duplex/Full-Duplex

16xxx6: Transmitter Data Buffer Register (TxDBUF)

Unused RCRCIN Unused TCRCIN MTIM TABO TEOM TSOM TDBUF
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • RCRCIN - Receiver CRC Internal Maint
  • TCRCIN - Transmitter CRC Internal Maint
  • MTIM - Maintenance Timer
  • TABO - Transmit Abort
  • TEOM - Transmit End of Message
  • TSOM - Transmit Start of Message
  • TDBUF - Transmitter Data Buffer

See also