Page images
PDF
EPUB

6.6 Synchronization

The controller must synchronize all data and command transfer between system modules and programming/recording devices. Transfer must be in full-duplex mode since there is no general limitation on simultaneous transmission and reception by the modules. A signal is generated by the controller to inform any module wishing to transmit data that the controller is busy and cannot receive. This signal may be used to synchronize the transfer of strings of characters from the modules. When a module has finished its transmission of a string of data, it generates another signal to inform the controller of this condition.

If it is required that the programming device be temporarily halted to allow completion of a module operation before resumption of the program command sequence, the controller must recognize system commands to enable the "waiting" function, and must respond to a completion signal from the module to restart the programming device.

The controller must clear the command bus and relinquish control over the system when a signal from an alternate programming device is present. It will, however, continue to transmit data to the recording device as dictated by the data strobe.

6.7 Inhibit

An additional responsibility of the controller is to generate an "inhibit" bus signal which inhibits sequencing of the programming device and halts all in-progress operations in the modules. A front panel connector must be available to allow a signal to be brought in from the outside world to inhibit system operation.

7. Command Structure

7.1 USASCII-7 Command Set

There are 256 possible code combinations formable using all eight bits of the USASCII-8 code, X3.4-1967 [2]. Unfortunately, the complete USASCII-8 code set is able to be utilized on only a very few types of equipment. Additionally, there are obvious advantages to using the eighth bit of an 8-bit code to provide a capability to check parity. Such practical considerations lead to the limitation of the valid code combinations for MIDAS to the lower-order 7 bits, the widely-used USASCII-7 code, consisting of 128 possible characters. The only character which is inherently unusable as a MIDAS command character is the rubout character "DEL" (octal 177), since it must be blocked from the system to allow correction of program tapes and to provide a code signifying "no-operation".

Of the USASCII-7 code, 32 characters (octal 000 through 037) represent control functions and are therefore non-printing. The lower-case font (octal 140-176) is unusable on many devices including less-expensive

teletypewriters. These characters are all potentially usable as commands to MIDAS equipment, and as such are not excluded from the possible command set. It is strongly recommended, however, that only the printing characters (octal 40 through 137) be used as program commands, since programs composed of this set may be listed on the teletypewriter for program verification and debugging.

7.2 System Commands

Of the printing character set, 32 characters are reserved for MIDAS system commands and are interpreted by the System Controller. The reserved set includes the punctuation marks from octal 40 through 57 and the characters octal 100 through 117. The latter group includes the alphabetical letters A through O which designate the slot addresses. The use of the remaining system commands is arbitrary and is left to the discretion of the controller designer. The reserved System Commands and their octal representations are listed below:

[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][ocr errors][merged small][merged small][merged small][merged small][merged small][merged small][merged small][ocr errors][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small]

7.3 Module Commands

The remaining 96 characters not reserved above are usable by module designers as commands to modules, subject to the previous recommendation that only printing characters be selected when possible.

[blocks in formation]

A number of dataway lines are reserved for system-required functions. The application, requirements and timing of these signals are discussed in the following sections. In all cases the dataway busses use "wiredor" logic; therefore all bus signals present on the dataway are negative-true (3.5-5 volts = logical "O"; 0-.5 volts = logical "1").

(a) CMMD (COMMAND MODE) is generated by the System Controller and indicates to all modules that the system is in the "COMMAND" mode -- that all character codes present on the Command bus are to be interpreted as commands. The CMMD signal additionally indicates that the Data bus is not being used by the controller and is therefore free to be used by the modules.

(b) CONTB (CONTROLLER BUSY) is generated by the System Controller at any time when the Controller is unable to respond to a data strobe (DATAS) generated by a module. It is present during the time required for the controller to transmit a character to, say, the teleprinter. trailing edge of CONTB indicates that the controller is ready to accept a new data character from a module.

(c) ALT CONT (ALTERNATE CONTROLLER) is generated by a module desiring to take over system control. It disables the normal System Controller, and prevents it from responding to MODD signals. Upon receipt of this signal, the System Controller clears the Command bus and relinquishes control to the module generating the signal, after which the alternate controlling module may place characters on the Command bus.

The

(a) IDSC (INHIBIT DATASTROBE TO CONTROLLER) is generated by a module when communicating data between modules. IDSC prevents the System Controller from responding to DATAS. Thus, a module would generate this signal whenever it wished to place data on the Data bus which was not intended for an action by the System Controller such as output of that character on the teleprinter.

(e) DATAS (DATA STROBE) is generated by a module when data on the Data bus is valid and may be transferred. Lines of the Data bus must be stable for at least 100 ns prior to the leading edge of DATAS. Pulse width may vary with system operating rate but must not be shorter than 1 us nor longer than strobe S2.

(f) MODB (MODULE BUSY) is generated by a module in response to addressing that module with ADDR, to indicate that the addressed module is still busy performing an operation initiated by a previous command and is therefore incapable of receiving new commands.

(g) MODD (MODULE DONE) is a pulse generated by a module upon completion of a module operation. It may be used to restart system operations following a pause initiated by a WAIT command. The pulse width must lie between 1 and 10 μs, and the leading edge of MODD must be delayed at least 1 us after the leading edge of strobe Sl.

(h) MODEOT (MODULE END-OF-TRANSMISSION) is generated by a module having the capability of transmitting a variable-length string of data characters in response to a single command. After all characters in the data string have been transmitted, the module activates the MODEOT bus to notify the controller that the transmission is complete. The controller uses this information to synchronize and interlock communications with the programming device, recording devices, and/or remote lines.

(i) INH (INHIBIT) may be generated by modules, System Controller or devices external to the system. It is normally used to provide a failsafe interlock capability in standalone systems, and interrupts all activity if a limit in the external experiment has been exceeded. The INH line going low causes action to both System Controller and modules. The System Controller must be inhibited from placing further commands on the Command bus, and the programming device interrupted. All modules having an operation in process as a result of previous commands must cease activity until the condition causing actuation of the INH line has been corrected.

(j) S1 (STROBE 1) indicates that data on the Command bus is valid and may be transferred. Lines comprising the Command bus must be stable for at least 100 ns prior to the leading edge of Sl. The width of Sl may vary with operating rate but must not be shorter than 1 us.

(k) S2 (STROBE 2) is identical to Sl except for timing. S2 immediately follows Sl, having its leading edge coincident with the trailing edge of S1. The command bus lines must remain stable for a minimum of 100 ns following the trailing edge of S2. This strobe may be "turned around" by a module to strobe data onto the Data bus.

(Z) ADDR (SLOT ADDRESS) is generated by the System Controller only. There is one ADDR line from the System Controller to each slot position. The ADDR signal is used to activate a module in the addressed slot position. There is no limitation to the number of slots which may be addressed simultaneously. The MODB line will go low in response to ADDR if an operation is in process in the addressed module. Modules have no access to ADDR lines other than their own, and most therefore go through the System Controller to address another module.

(m)

LAM (LOOK-AT-ME) lines are counterparts to the ADDR lines but transfer signals in the opposite direction -- from modules to the System Controller. There is a LAM line from each slot position leading only to the controller slot position. A signal generated by a module placed on this line notifies the controller that the module requires attention. The LAM lines may thus be used as an interrupt network, giving capability to a MIDAS system run by an intelligent program source to jump to an interrupt routine to service the module requesting attention.

(n) INIT (INITIALIZE) will be present at system startup or system reset and must set all control registers and bistable elements to a defined state. It is generated by the System Controller.

(0) C1 - C18 (COMMAND BUS) consists of eighteen lines used to transfer commands from the System Controller to the modules. The least significant seven bits (C1-C7) are normally used as the MIDAS USACII-7 Command bus. The total number may be used during parallel command operations when used with a minicomputer.

(p) D1 - D18 (DATA BUS) consists of another eighteen lines reserved for transfer of data words from the modules. Again only lines D1-D7 are used for transferring USASCII-7 data characters. The full complement may be used for parallel data transfer to a minicomputer.

(q) 60 HZ (60 HERTZ CLOCK) is an ac line frequency 5-volt square wave generated by the System Controller and available on this bus-line for use by the modules for timing purposes.

(r) EARTH (ANALOG RETURN) is an isolated "clean" ground bus intended to be used by analog circuitry as the return line. This bus must be kept free from digital switching transients. It may be left isolated or tied to digital ground or earth ground at one point as required.

[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][ocr errors][merged small]

Rise and fall times of dataway signals shall not be faster than 40 ns to keep cross-coupling among dataway lines to a reasonable level.

« PreviousContinue »