Difference between revisions of "Stanford 1822 Interface"
m (Avoid redir) |
(Clarify origins; link 2.22 driver) |
||
Line 1: | Line 1: | ||
− | The '''Stanford 1822 Interface''' ( | + | The '''Stanford 1822 Interface''' was an [[IMP interface]]. (The name is made up; examining contemporaneous documentation does not reveal an official or universally-used name. It was also commonly called the '''SRI 1822 interface''', or some variant thereof, since although it was initially created at the Digital Systems Laboratory at Stanford University, SRI shortly thereafter took over provision of [[printed circuit board|boards]] to other DARPA contractors who wanted them.) |
− | + | Technically, it could connect to anything that provided a BBN-1822 bit-serial interface, including [[Packet Radio Network]] interfaces, not just [[ARPANET]] [[Interface Message Processor|IMP]]s. | |
− | It consisted of a [[DEC card form factor|dual-width]] | + | It was for all machines (mostly [[PDP-11]]s) with either a [[UNIBUS]] (via a [[DR11-C parallel interface]]) or [[QBUS]] (via a [[DRV11 Parallel Line Unit|DRV11]]). Since it used the [[programmed I/O]] of the underlying DR11-C/DRV11, with an [[interrupt]] for every byte, it was not very suitable for high-throughput applications. |
+ | |||
+ | It consisted of a [[DEC card form factor|dual-width]] board with three [[Berg connector]] headers on it; two held [[flat cable]]s going to the [[parallel interface]], which connected up to the [[host]] computer's [[input/output]] [[bus]]. A 26-pin Berg header held a cable which led to the standard round Amphenol connector used for the 1822 interface. This board plugged into either the UNIBUS or QBUS [[backplane]], near the parallel interface board. | ||
==Registers== | ==Registers== | ||
Line 62: | Line 64: | ||
* [http://i.stanford.edu/pub/cstr/reports/csl/tr/76/116/CSL-TR-76-116.pdf Asynchronous Serial Interface for Connecting a PDP-11 to the ARPANET (BBN 1822)] (CSL-TR-76-116) - detailed description, including circuit diagrams | * [http://i.stanford.edu/pub/cstr/reports/csl/tr/76/116/CSL-TR-76-116.pdf Asynchronous Serial Interface for Connecting a PDP-11 to the ARPANET (BBN 1822)] (CSL-TR-76-116) - detailed description, including circuit diagrams | ||
+ | * [http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/sys/pdpif/if_sri.h if_sri.h] - 2.11 driver | ||
+ | * [http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/sys/pdpif/if_sri.c if_sri.c] | ||
[[Category: UNIBUS Network Interfaces]] | [[Category: UNIBUS Network Interfaces]] | ||
[[Category: QBUS Network Interfaces]] | [[Category: QBUS Network Interfaces]] |
Revision as of 14:03, 21 October 2021
The Stanford 1822 Interface was an IMP interface. (The name is made up; examining contemporaneous documentation does not reveal an official or universally-used name. It was also commonly called the SRI 1822 interface, or some variant thereof, since although it was initially created at the Digital Systems Laboratory at Stanford University, SRI shortly thereafter took over provision of boards to other DARPA contractors who wanted them.)
Technically, it could connect to anything that provided a BBN-1822 bit-serial interface, including Packet Radio Network interfaces, not just ARPANET IMPs.
It was for all machines (mostly PDP-11s) with either a UNIBUS (via a DR11-C parallel interface) or QBUS (via a DRV11). Since it used the programmed I/O of the underlying DR11-C/DRV11, with an interrupt for every byte, it was not very suitable for high-throughput applications.
It consisted of a dual-width board with three Berg connector headers on it; two held flat cables going to the parallel interface, which connected up to the host computer's input/output bus. A 26-pin Berg header held a cable which led to the standard round Amphenol connector used for the 1822 interface. This board plugged into either the UNIBUS or QBUS backplane, near the parallel interface board.
Contents
Registers
The device had three control and buffer registers, which could be configured to any three sequential word locations in the I/O page. The first was normally configured to addresses 767770-767774; the second to 767760-767764, the third to 767750-767754, and so on.
Register | Abbreviation | Address |
---|---|---|
Control and Status Register | SCSR | 0167770 |
Output Buffer Register | SOUTBUF | 0167772 |
Input Buffer Register | SINBUF | 0167774 |
In the register contents (below), bits which are read/write or unused are shown in normal font, those which are read-only are in italics.
"Reading or writing into a register while it is in the process of transferring a byte may cause some bits to become lost and/or out of synchronization. This can waiting until be avoided by either an interrupt or interrupt request (as seen in the status register) is present before accessing the register."
Status Register (SCSR)
RDONE | Unused | TDONE | TINTE | RINTE | Unused | RENABL | TENABL | ||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- RDONE - Receive done, interrupt requested
- TDONE - Transmit done, interrupt requested
- TINTE - Transmit Interrupt Enable
- RINTE - Receive Interrupt Enable
- RENABL - Receive data enable
- TENABL - Transmit data enable
Output Buffer Register (SOUTBUF)
Unused | HSTCLR | HSTPWR | LSTBYT | Unused | OUT7 <-> OUT0 | ||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- HSTCLR - Open Host Ready relay
- HSTPWR - Close Host Ready relay
- LSTBYT - Last byte sent
"Either bit 13 OR bit 12 should be set. NOT BOTH."
Input Buffer Register (SINBUF)
IMPODD | IMPDWN | HSTMRY | IMPMRY | LSTBYT | Unused | IN7 <-> IN0 | |||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
- IMPODD - IMP was down or last byte received
- IMPDWN - "IMP has been down since the last interrupt was serviced"
- HSTMRY - Host relay check, 0 = closed
- IMPMRY - IMP relay check, 0 = closed
- LSTBYT - Last byte received
"The interface will receive bits until either it is full, or it receives the last IMP data bit (LIDB) signal. At this point the interface stops and requests an interrupt. It will not accept any new bits until the present load of bits is read from INBUF. ... Reading the receive register clears the receive buffer making it ready for another byte. Thus program testing of control bits should be done after the contents of the receive register have been moved elsewhere."
External links
- Asynchronous Serial Interface for Connecting a PDP-11 to the ARPANET (BBN 1822) (CSL-TR-76-116) - detailed description, including circuit diagrams
- if_sri.h - 2.11 driver
- if_sri.c