08/26/88 autobaud.gi, autobaud The autobaud feature of the Multics Communication System (MCS) is designed to recognize/configure the baud rate (bits per second) of an asynchronous hsla channel at dialup time. The autobaud facility selects a 1200 baud rate immediately if a lead from the answer modem is on; otherwise it selects a rate of 300, 1200, 2400, 4800 or 9600 baud based on the sampling of bit changes for the incoming characters, "l", "L" or a carriage return ("CR"). Lead control selection of 1200 baud: If the answer modem turns "on" pin 12 of the cable connected from it to the FNP, the channel is set to 1200 baud and the channel is then handled in the normal manner. The answering modem can be set to respond to a switch on the originate modem which indicates that the terminal is operating at 1200 baud. The operation of the channel will not appear any different to the user than if he had dialed into a strictly 1200 baud channel (there is no requirement for the user to type any characters before he will receive the login banner). Bit sampling selects other bauds: If the signal on pin 12 is "off", sampling for the bit changes of an input character is performed. To accomplish this, the following sequence will occur: 1. The user establishes a connection with the host. 2. The user types in either the letter "l", "L" or "CR". 3. The software in the FNP scans the incoming bit stream looking for bit changes at 4800 baud. Since the "l", "L" or "CR" character is known, the changes in state of the bits ("0" or "1") will indicate the timing necessary to transmit the bits, and therefore the baud rate of the channel is determined. 4. From here the channel is handled in the normal manner. The answerback is processed if required, initial string sent if any and the login banner is displayed. 5. The user types in any of the preaccess commands (MAP, etc.) if desired. 6. The user logs into the system using "l" again for "login", enter, etc. Hardware: Any asynchronous hsla channel may be configured with the autobaud feature. Modems may or may not be used. There are communication switchers which can be used to connect a user terminal to any of a number of host connections configured at various baud rates. The hardware connected to the FNP channel must operate at the desired rate and allow the user to go through the above dialog. Modems: The answer modem must be able to sense the baud rate of the originate modem and operate at the desired baud rate with the FNP channel. Some modems operate at a fixed baud rate with the FNP but accept calls from originating modems operating at various baud rates. In this case, the autobaud feature would not be used. A modem of the is type is the Courier HST, made by USRobots. There are several modems which can be used on channels configured with the autobaud feature which make use of the pin 12 lead change. Vadic (3467) and Western Electric (212A) are two manufacturers that make such modems. Special circuits are required to handle the data over voice-grade dialup lines. It is because of these special circuits that a modem of one manufacturer will not necessarily be able to interface to a modem of another manufacturer. Modem options needed for autobaud: Special modem options may be required. Some modems can be configured to indicate the position of the high speed switch on the originate modem. This indication is signalled by pin 12 of the RS232 interface. a. In the Western Electric 212A modem, this feature is enabled in the answer modem when the "YQ" option is installed. b. It is currently unknown how other modem manufactures treat this feature. Algorithm: The following is the algorithm used to determine the baud rates for various terminals. This discussion is directed towards people knowledgable in communications who wish to understand the design of the autobaud facility. Notes: 1. A communications line can be in one of two states, 1 (also called "mark" condition) and 0 (also called "space" condition). 2. The line is normally held in a 1 state. 3. The first incoming bit is always a start bit, which (being a 0 bit by definition) changes the line state to 0 and causes the hardware to begin sampling bits. 4. The bits of a character are transmitted after the start bit starting with the least significant bit and ending with the parity bit after the most significant bit, followed by a stop bit. 5. A stop bit is a 1 state held on the line for one bit time interval. 6. The channel is set up to receive 7 data bits plus 1 parity bit (8 information bits) with one start and stop bit (a total of 10 bits). The parity bit in the sampling is stripped off before the comparison. 7. Bits in the sampling dependent on the parity bit of the incoming character are masked off (shown as X in sampling lines below). In the following diagrams, all sampling is done at 4800 baud, using the "l", "L" and "CR" characters. In the incoming lines below, the time between the vertical bars is the bit time for the indicated baud rate in relation to the 4800 baud rate shown in the sampling lines. Legend: B - start bit (begin) P - parity bit E - stop bit (end) X - bit in the 4800 baud sample whose value is uncertain because it depends on the parity bit of incoming character Terminal operating at 300 baud: All characters are detected as line breaks since the channel is operating at 4800 baud. There are about two 4800 baud characters in the same time as one bit time of a 300 baud character. The FNP hardware will sense only 300 baud bits that are "0" and they are long enough to be sensed as "break" or "quit" signals. Terminal operating at 1200 baud: first half of "L" is, | B | 0 | 0 | 1 | 1 | sampling yields: |B|0|0|0|0|0|0|0|P|E| first char= line break rest of "L" is, | 0 | 0 | 1 | P | E | sampling yields |B|0|0|0|0|0|0|0|P|E| |B|0|0|0|1|1|1|1|P|E| second char= 000 third char= 170 if space parity. No char if mark parity. first half of "l" is, | B | 0 | 0 | 1 | 1 | sampling yields: |B|0|0|0|0|0|0|0|P|E| first char= line break rest of "l" is, | 0 | 1 | 1 | P | E | sampling yields: |B|0|0|0|1|1|1|1|P|E| |B|0|0|0|1|1|1|1|P|E| second char= 170 third char= 170 if space parity. No char if mark parity. first half of "CR" is, | B | 1 | 0 | 1 | 1 | sampling yields: |B|0|0|0|1|1|1|1|P|E|B|0|1|1|1|1|1|1|P|E| first char= 170 | second char = 176 rest of "CR" is, | 0 | 0 | 0 | P | E | sampling yields |B|0|0|0|0|0|0|0|P|E|B|0|X|X|X|X|1|1|P|E| third char= 000 | fourth char= 176 if mark parity 140 if space parity The third and fourth characters are ignored. Terminal operating at 2400 baud: incoming "L" is, | B | 0 | 0 | 1 | 1 | 0 | 0 | 1 | P | E | sampling yields: |B|0|0|0|0|0|1|1|P|E|B|0|0|0|1|1|X|X|P|E| first char= 140 | second char= 030 if space parity 170 if mark parity incoming "l" is, | B | 0 | 0 | 1 | 1 | 0 | 1 | 1 | P | E | sampling yields: |B|0|0|0|0|0|1|1|P|E|B|0|1|1|1|1|X|X|P|E| first char= 140 | second char= 036 if space parity 176 if mark parity incoming "CR" is, | B | 1 | 0 | 1 | 1 | 0 | 0 | 0 | P | E | sampling yields: |B|0|1|1|0|0|1|1|P|E|B|0|0|0|0|0|X|X|P|E| first char= 146 | second char= 000 if space parity 140 if mark parity Terminal operating at 9600 baud: incoming "L" is, |B|0|0|1|1|0|0|1|P|E| sampling yields: | B | 1 | 0 | 1 | 1 | 1 | 1 | 1 | P | E | char= 175 incoming "l" is, |B|0|0|1|1|0|1|1|P|E| sampling yields: | B | 1 | 0 | 1 | 1 | 1 | 1 | 1 | P | E | char= 175 incoming "CR" is, |B|1|0|1|1|0|0|0|P|E| sampling yields: | B | X | X | X | 1 | 1 | 1 | 1 | P | E | char= 171, 176 or 177 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved