Difference between revisions of "DUP11 synchronous serial line interface"

From Computer History Wiki
Jump to: navigation, search
(Basic info)
 
m (New cat scheme)
 
(8 intermediate revisions by the same user not shown)
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.  
Line 24: Line 24:
 
|Transmitter Data Buffer Register          || TxDBUF || 16xxx6
 
|Transmitter Data Buffer Register          || TxDBUF || 16xxx6
 
|}
 
|}
 +
<!-- The [[address]]es shown are for the first DP11-A in a system; additional ones are normally set to be at 774760, 774750, etc to 774400. -->
  
<!-- The [[address]]es shown are for the first DP11-A in a system; additional ones are normally set to be at 774760, 774750, etc to 774400.
+
===16xxx0: Receiver Status Register (RxCSR)===
  
===774770: Receiver Control and Status Register (DPRCSR)===
+
{{16bit-header}}
 +
| DSCA || RING || CTS || CARR || RACT || SECRCV || DSR || SSYNC || RDN || RDIE || DSIE || REN || SECXMT || RTS || DTR || DSCB
 +
{{16bitoctal-bitout}}
 +
 
 +
* 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)===
 +
 
 +
{{16bit-header}}
 +
| ERR || OVR || Rsvd || RCRC || Rsvd || RABO || REOM || RSOM ||  colspan=8 | DDAT
 +
{{16bitoctal-bitout}}
 +
 
 +
* 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)===
 +
 
 +
{{16bit-header}}
 +
| DEC || colspan=2 | Rsvd || SEC MD || colspan=2 | Rsvd || CRC INH || Rsvd ||  colspan=8 | SEC ADDR/RSYNC
 +
{{16bitoctal-bitout}}
 +
 
 +
* DEC - DEC Mode
 +
* SEC MD - Secondary Mode
 +
* CRC INH - CRC Inhibit
 +
* SEC ADDR/RSYNC - Secondary Station Address / Receiver Sync
 +
 
 +
===16xxx4: Transmitter Status Register (TxCSR)===
  
 
{{16bit-header}}
 
{{16bit-header}}
| colspan=3 | Unused || CPAR || RACT || colspan=3 | BPCH || RDN || RDIE || colspan=2 | Unused || MRCV || MAINT || HLFD || STRS
+
| DLT || MTDO || MCLK || MMSB || MMSA || MID || TACT || DRST || TDN || TIE || Unused || SEND || HDFD || colspan=3 | Unused
 
{{16bitoctal-bitout}}
 
{{16bitoctal-bitout}}
  
* CPAR - Character Parity; parity of last character in the receive buffer
+
* DLT - Transmitter Data Late Error
* RACT - Receiver Active; set after two consecutive sync characters
+
* MTDO - Maintenance Transmit Data Out
* BPCH - Bits per Character, selects between 6-8, 10-12 bits per character
+
* MCLK - Maintenance Clock
* RDN - Receive Done Flag; set when the receive buffer contains an assembled character
+
* MMSB - Maintenance Mode Select B
* RDIE - Receive Interrupt Enable; allows an input interrupt when Receive Done Flag is set
+
* MMSA - Maintenance Mode Select A
* MRCV - Miscellaneous Receive; monitor any non-standard modem status
+
* MID - Maintenance Input Data
* MAINT -Maintenance Mode; connect Transmitter output to Receiver input, CTS simulation
+
* TACT - Transmitter Active
* HLFD - Half Duplex; RTS on inhibits Receive logic
+
* DRST - Device Reset
* STRS - Strip Sync; sync characters following Receive Active are discarded
+
* 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
  
===774774: Transmitter Control and Status Register (DPXCSR)===
+
===16xxx6: Transmitter Data Buffer Register (TxDBUF)===
  
 
{{16bit-header}}
 
{{16bit-header}}
| CARRF || RXOF || RING || MRDY || CARR || CTS || RTS || Unused || XDN || XDIE || XSIE || Unused || MXMT || Unused || IDLS || TRDY
+
| Unused || RCRCIN || Unused || TCRCIN || MTIM || TABO || TEOM || TSOM || colspan=8 | TDBUF
 
{{16bitoctal-bitout}}
 
{{16bitoctal-bitout}}
  
* CARRF - Carrier Flag; set when modem's Carrier lead goes from On to Off
+
* RCRCIN - Receiver CRC Internal Maint
* RXOF - Receiver Overrun Flag; receiver buffer not read before end of next character
+
* TCRCIN - Transmitter CRC Internal Maint
* RING - Ring Flag; indicates a Ring signal from the modem
+
* MTIM - Maintenance Timer
* MRDY - Modem Ready; current state of modem Data Set Ready lead
+
* TABO - Transmit Abort
* CARR - Carrier; current state of modem Carrier lead
+
* TEOM - Transmit End of Message
* CTS - Clear to Send; current state of mode CTS lead
+
* TSOM - Transmit Start of Message
* RTS - Request to Send; set when transmit buffer is loaded, or if Idle Sync is set
+
* TDBUF - Transmitter Data Buffer
* XDN - Transmit Done Flag; set when output character transmission has started
+
 
* XDIE - Transmit Done Interrupt Enable; allows a transmit interrupt when Transmit Done Flag is set
+
==See also==
* XSIE - Transmit Status Interrupt Enable; allows a transmit interrupt when any flag bit is set
+
 
* MXMT - Miscellaneous Transmit; control any non-standard modem status
+
* [[DP11-A synchronous serial line interface]]
* IDLS - Idle Sync; allows transmission from the sync buffer
+
 
* TRDY - Terminal Ready; controls connection of data communication gear to communication channel
+
==External links==
-->
+
 
 +
* [http://www.bitsavers.org/pdf/dec/unibus/EK-DUP11-OP_DUP11UM_Nov76.pdf DUP11 bit synchronous interface user's manual] (EK-DUP11-OP-001)
 +
* [http://www.bitsavers.org/pdf/dec/unibus/EK-DUP11-OP-002_Aug82.pdf DUP11 Bit Synchronous Interface User's Manual] (EK-DUP11-OP-002)
 +
* [http://www.bitsavers.org/pdf/dec/unibus/EK-DUP11-MM-003_DUP11Maint.pdf DUP11 Bit Synchronous Interface Maintenance Manual] (EK-DUP11-MM-003)
  
[[Category:UNIBUS Peripherals]]
+
[[Category: UNIBUS Synchronous Serial Interfaces]]

Latest revision as of 04:21, 18 February 2023

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

External links