1 08/26/88 autobaud.gi, autobaud
2
3 The autobaud feature of the Multics Communication System MCS is
4 designed to recognize/configure the baud rate bits per second of an
5 asynchronous hsla channel at dialup time. The autobaud facility
6 selects a 1200 baud rate immediately if a lead from the answer modem is
7 on; otherwise it selects a rate of 300, 1200, 2400, 4800 or 9600 baud
8 based on the sampling of bit changes for the incoming characters, "l",
9 "L" or a carriage return "CR".
10
11
12 Lead control selection of 1200 baud:
13 If the answer modem turns "on" pin 12 of the cable connected from it to
14 the FNP, the channel is set to 1200 baud and the channel is then
15 handled in the normal manner. The answering modem can be set to
16 respond to a switch on the originate modem which indicates that the
17 terminal is operating at 1200 baud. The operation of the channel will
18 not appear any different to the user than if he had dialed into a
19 strictly 1200 baud channel there is no requirement for the user to
20 type any characters before he will receive the login banner.
21
22
23 Bit sampling selects other bauds:
24 If the signal on pin 12 is "off", sampling for the bit changes of an
25 input character is performed. To accomplish this, the following
26 sequence will occur:
27
28
29 1. The user establishes a connection with the host.
30 2. The user types in either the letter "l", "L" or "CR".
31 3. The software in the FNP scans the incoming bit stream looking
32 for bit changes at 4800 baud. Since the "l", "L" or "CR"
33 character is known, the changes in state of the bits "0" or
34 "1" will indicate the timing necessary to transmit the bits,
35 and therefore the baud rate of the channel is determined.
36 4. From here the channel is handled in the normal manner. The
37 answerback is processed if required, initial string sent if any
38 and the login banner is displayed.
39 5. The user types in any of the preaccess commands MAP etc. if
40 desired.
41 6. The user logs into the system using "l" again for "login",
42 enter, etc.
43
44
45 Hardware:
46 Any asynchronous hsla channel may be configured with the autobaud
47 feature. Modems may or may not be used. There are communication
48 switchers which can be used to connect a user terminal to any of a
49 number of host connections configured at various baud rates. The
50 hardware connected to the FNP channel must operate at the desired rate
51 and allow the user to go through the above dialog.
52
53
54 Modems:
55 The answer modem must be able to sense the baud rate of the originate
56 modem and operate at the desired baud rate with the FNP channel.
57
58 Some modems operate at a fixed baud rate with the FNP but accept calls
59 from originating modems operating at various baud rates. In this case,
60 the autobaud feature would not be used. A modem of the is type is the
61 Courier HST, made by USRobots.
62
63 There are several modems which can be used on channels configured with
64 the autobaud feature which make use of the pin 12 lead change. Vadic
65 3467 and Western Electric 212A are two manufacturers that make such
66 modems. Special circuits are required to handle the data over
67 voice-grade dialup lines. It is because of these special circuits that
68 a modem of one manufacturer will not necessarily be able to interface
69 to a modem of another manufacturer.
70
71
72 Modem options needed for autobaud:
73 Special modem options may be required. Some modems can be configured
74 to indicate the position of the high speed switch on the originate
75 modem. This indication is signalled by pin 12 of the RS232 interface.
76 a. In the Western Electric 212A modem, this feature is enabled in the
77 answer modem when the "YQ" option is installed.
78 b. It is currently unknown how other modem manufactures treat this
79 feature.
80
81
82 Algorithm:
83 The following is the algorithm used to determine the baud rates for
84 various terminals. This discussion is directed towards people
85 knowledgable in communications who wish to understand the design of the
86 autobaud facility.
87
88
89 Notes:
90 1. A communications line can be in one of two states, 1 also called
91 "mark" condition and 0 also called "space" condition.
92 2. The line is normally held in a 1 state.
93 3. The first incoming bit is always a start bit, which being a 0 bit
94 by definition changes the line state to 0 and causes the hardware
95 to begin sampling bits.
96 4. The bits of a character are transmitted after the start bit starting
97 with the least significant bit and ending with the parity bit after
98 the most significant bit, followed by a stop bit.
99
100
101 5. A stop bit is a 1 state held on the line for one bit time interval.
102 6. The channel is set up to receive 7 data bits plus 1 parity bit 8
103 information bits with one start and stop bit a total of 10 bits.
104 The parity bit in the sampling is stripped off before the
105 comparison.
106 7. Bits in the sampling dependent on the parity bit of the incoming
107 character are masked off shown as X in sampling lines below.
108
109
110 In the following diagrams, all sampling is done at 4800 baud, using the
111 "l", "L" and "CR" characters. In the incoming lines below, the time
112 between the vertical bars is the bit time for the indicated baud rate
113 in relation to the 4800 baud rate shown in the sampling lines.
114
115
116 Legend:
117 B - start bit begin
118 P - parity bit
119 E - stop bit end
120 X - bit in the 4800 baud sample whose value is uncertain because it
121 depends on the parity bit of incoming character
122
123
124 Terminal operating at 300 baud:
125 All characters are detected as line breaks since the channel is
126 operating at 4800 baud. There are about two 4800 baud characters in
127 the same time as one bit time of a 300 baud character. The FNP
128 hardware will sense only 300 baud bits that are "0" and they are long
129 enough to be sensed as "break" or "quit" signals.
130
131
132 Terminal operating at 1200 baud:
133
134 first half of "L" is, | B | 0 | 0 | 1 | 1 |
135 sampling yields: |B|0|0|0|0|0|0|0|P|E|
136 first char= line break
137
138 rest of "L" is, | 0 | 0 | 1 | P | E |
139 sampling yields |B|0|0|0|0|0|0|0|P|E| |B|0|0|0|1|1|1|1|P|E|
140 second char= 000 third char= 170 if
141 space parity. No char
142 if mark parity.
143
144 first half of "l" is, | B | 0 | 0 | 1 | 1 |
145 sampling yields: |B|0|0|0|0|0|0|0|P|E|
146 first char= line break
147
148 rest of "l" is, | 0 | 1 | 1 | P | E |
149 sampling yields: |B|0|0|0|1|1|1|1|P|E| |B|0|0|0|1|1|1|1|P|E|
150 second char= 170 third char= 170 if
151 space parity. No char
152 if mark parity.
153
154 first half of "CR" is, | B | 1 | 0 | 1 | 1 |
155 sampling yields: |B|0|0|0|1|1|1|1|P|E|B|0|1|1|1|1|1|1|P|E|
156 first char= 170 | second char = 176
157
158 rest of "CR" is, | 0 | 0 | 0 | P | E |
159 sampling yields |B|0|0|0|0|0|0|0|P|E|B|0|X|X|X|X|1|1|P|E|
160 third char= 000 | fourth char=
161 176 if mark parity
162 140 if space parity
163
164 The third and fourth characters are ignored.
165
166
167 Terminal operating at 2400 baud:
168
169 incoming "L" is, | B | 0 | 0 | 1 | 1 | 0 | 0 | 1 | P | E |
170 sampling yields: |B|0|0|0|0|0|1|1|P|E|B|0|0|0|1|1|X|X|P|E|
171 first char= 140 | second char=
172 030 if space parity
173 170 if mark parity
174
175 incoming "l" is, | B | 0 | 0 | 1 | 1 | 0 | 1 | 1 | P | E |
176 sampling yields: |B|0|0|0|0|0|1|1|P|E|B|0|1|1|1|1|X|X|P|E|
177 first char= 140 | second char=
178 036 if space parity
179 176 if mark parity
180
181 incoming "CR" is, | B | 1 | 0 | 1 | 1 | 0 | 0 | 0 | P | E |
182 sampling yields: |B|0|1|1|0|0|1|1|P|E|B|0|0|0|0|0|X|X|P|E|
183 first char= 146 | second char=
184 000 if space parity
185 140 if mark parity
186
187
188 Terminal operating at 9600 baud:
189 incoming "L" is, |B|0|0|1|1|0|0|1|P|E|
190 sampling yields: | B | 1 | 0 | 1 | 1 | 1 | 1 | 1 | P | E |
191 char= 175
192
193 incoming "l" is, |B|0|0|1|1|0|1|1|P|E|
194 sampling yields: | B | 1 | 0 | 1 | 1 | 1 | 1 | 1 | P | E |
195 char= 175
196
197 incoming "CR" is, |B|1|0|1|1|0|0|0|P|E|
198 sampling yields: | B | X | X | X | 1 | 1 | 1 | 1 | P | E |
199 char= 171, 176 or 177