@device(gp300) @make(manual) @modify(description,leftmargin +2,indent -2) @modify(enumerate,leftmargin +2,indent -2) @modify(itemize,leftmargin +2,indent -2) @style(spread 1) @style(spacing 1) @style(widowaction=force) @tabdivide(12) @majorheading{ERCC BSC/X55 Protocol Convertor} @section{@ux{Introduction}} @label{Intro} This document describes a @b("black-box") convertor that enables the connection of IBM mainframes running the SERC X55 software on VM to connect to standard X55 hardware. The requirement arises because a number of such systems in the SERC and University communities are unable to support HDLC framed synchronous communications lines. @subsection{The Protocols} The black box has two V54 synchronous communications ports. One of these operate to the LAP-B protocol as specified in part 5 of the PSS technical user guide. The other operates to the BSC based link level protocol described in the document @b("Protocols in the SERC/NERC Network", Issue No.6, 8th March 1985.) The convertor passes the X25 level 3 contents of the level 2 frames transparently. In particular no reblocking of data is undertaken, and the maximum frame size on each side of the convertor must be compatible if problems with the X25 "more data" but are to be avoided. @subsection{Throughput and Delay} The convertor drives 9.6k baud lines on each side; 19.2k baud operation may be possible. Packets are fully buffered within the convertor, so the minimum delay is the packet size divided by the line speed. The BSC link is half duplex, while LAP-B is full duplex. It is therefore not possible to specify a maximum delay, which is determined largely by the traffic patterns, but it is not expected that the convertor will add significantly to the delay inherent in the protocol mismatch. Since the convertor is unaware of the relative priorities of the packets it is sending and receiving, it can only schedule the turnround of the half duplex line in a rather naive way. The convertor has 4k bytes of buffer store, and is therefore be able to completely buffer all data possible within the LAP-B flow control window given a maximum packet size of 256 bytes. @subsection{Hardware} The hardware is be based on an Intel single-board computer, the IBSC 88/45, which uses the INTEL 8088 processor. The board is mounted in a standard enclosure with power supplies. Some minor engineering is necessary to fit V24 sockets, a DIP-switch pack, diagnostic lights, and if necessary a barrier circuit. The external interface is V24, with the option of linking the receive and transmit timing clocks to avoid the need for extra modems or modem eliminators. @subsection{Software} The software is written in C and Intel Assembler. language. @subsection{Options} The only options will be: @enumerate{ DTE/DCE selection for LAP-B DTE/DCE selection for BSC Common clocking for both ports } @subsection{Restrictions} The convertor is intended to convey only SERC X25 level 3. No guarantee is given that it will perform satisfactorily for other protocols. The maximum packet size is 256 bytes of data, i.e. excluding from this count the HDLC flags, address and control bytes, the frame check sequence bytes, and any transparency bits which will be stripped and inserted. The packet length must be a multiple of 8-bit bytes. @subsection{Loading Software} The software is in EPROM. No load device or down-line load facilities are required. @subsection{Status and Management Information} A V24 asynchronous printer port is provided, and used to print status and traffic data, as well as diagnostic output from the self-test procedures invoked at startup or reset. However, it is not expected that a terminal will be permanently connected. @subsection{Hardware Maintenance} No routine maintenance is required. Fault repair is done on a unit replacement basis. A stock of spare systems will be kept at a convenient central location. The systems are constructed throughout from standard manufacturers' boards, and are repaired by returning to the manufacturer. It is likely that this product will share common hardware with that used by a major computer manufacturer. If so ERCC will investigate the possibilities of arranging a maintenance agreement. @subsection{Software Maintenance} The software is maintained free of charge for six months from acceptance of the first system. After that, corrections or changes will be done on a @b("time and materials") basis. @section{@ux{Front Panel}} @label{Frontpanel} The protocol convertor front panel incorporates three switches, appropriately labelled. Their function are described below. @description{ DUMP: (momentary action, push button) @\When depressed, this switch causes entry to the system diagnostic routines. In the normal operating mode (test_mode switch off) a formatted store dump will be output to the diagnostic port and the protocol convertor will be restarted. Note that this switch is disabled when the LOG switch is OFF. RESET: (momentary action, push button) @\When depressed, this switch causes the system to perform a restart. LOG : (2 position toggle switch - up=OFF, down=ON) @\When ON, this switch enables the diagnostic facilities described in sections @ref{Onlinediags} and @ref{Offlinediags}. } Procedure for diagnosis, dump and restart would therefore be.. @enumerate{ Put down LOG switch for diagnostic log if required. If a dump is required hit dump switch otherwise hit reset switch. } @section{@ux{Back Panel}} @label{Backpanel} The back panel contains a set of DIL switches numbered as follows ... @example{ --- --- --- --- --- --- --- --- | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | --- --- --- --- --- --- --- --- } These switches are used to configure the convertor for use in a particular environment. @description{ 1: X25 DTE/DCE @description{ 0: X25 side is level 2 DTE 1: X25 side is level 2 DCE } 2: BSC Mainframe/Terminal @description{ 0: BSC side is Mainframe (MF) i.e. waits for poll 1: BSC side is Terminal (TL) i.e. polls Soh-Enq } 3: Test mode @description{ 0: Test mode is off. @\Program will automatically restart in the event either the BSC or X25 connection failing. In the event of a trapped error, a complete dump will be output to the diagnostic device and the program will restart. 1: Test mode is on. @\Program will enter diagnostic monitor if either the BSC or X25 connection fails,and will generate a paged dump after a trapped error, and then only if requested. } 4+5: Diagnostic port speed @description{ 00: 300 baud 10: 1200 baud 01: 2400 baud 11: 9600 baud } 6: Main CPU Clock speed @description{ 0: 8MHz 1: 4MHz NB The unit should normally be operated at 8MHz. To operate at 4MHz, jumper E130-131 must also be removed from the 88/45 board. } 7+8: Synchronous line speed: @description{ 00: 2400 baud 10: 4800 baud 01: 9600 baud 11: 19200 baud } } @section{@ux{Cable requirements}} @label{Cables} The convertor has three standard 25-way "D" type connectors at the rear. @example{ @tabset{1in,2in,3in,4in,5in} @u{Connector@\Sense@\Chan@\Device@\Type@\Use} J1@\Male@\C@\8273@\Sync.@\X25 line J2@\Male@\A@\8274@\Sync.@\BSC line J3@\Female@\B@\8274@\Async.@\Diagnostic port } All channels are fully RS232C compatible. Pin assignments on connectors J1, J2 & J3 @example{ @tabset{1in,2in,3in,4in} @u{Pin No.@\Supported@\Name@\Function} 1@\Yes@\FG@\Frame Ground 2@\Yes@\TXD@\Transmit Data 3@\Yes@\RXD@\Receive Data 4@\Yes@\RTS@\Request to send 5@\Yes@\CTS@\Clear to send 6@\Yes@\DSR@\Data Set Ready 7@\Yes@\SG@\Signal Ground 8@\No@\DCD@\Data Carrier Detect 9 10 11 12@\No@\(S)DCD@\Secondary@\Data Carrier Detect 13@\No@\(S)CTS@\Secondary@\Clear to send 14@\No@\(S)TXD@\Secondary@\Transmit data 15@\No@\DCE TXC@\Transmit Clock 16@\No@\(S)RXD@\Secondary Receive Data 17@\Yes@\RXC@\Receive Clock 18 19@\No@\(S)RTS@\Secondary Request to send 20@\Yes@\DTR@\Data Terminal Ready 21@\No@\SQ@\Signal Quality 22@\No@\RI@\Ring Indicator 23@\No@\CH/CI@\Signalling Rate Indicator 24@\Yes@\DTE TXC@\Transmit Clock 25@\No@\+5V@\Power } The convertor is constructed to transmit TXC on pin 24 and expects to receive RXC on pin 17. It is thus neither a true level 1 DTE or DCE. In order to connect the convertor directly between two Level 1 DTE devices, DTE TXC and RXC must be looped back in the cable at the convertor end (Pins 24 and 17) and this signal sent down the line to the DTE. TXC and RXC must both be connected to this signal at the DTE end (Pins 15 and 17) and are thus looped back. In order to connect the convertor to a modem, Pins 24 and 17 are connected to modem pins 24 and 17 respectively. Modem pin 15 is disconnected and the modem should be strapped for external timing. @subsection{Convertor connected between DTE and Modem} @label{dtetomodem} @example{ ------- ----------- --------- | | | | | | | |15-- --24| |24------------24| | | DTE | |-----| | Convertor | *--15| Modem | | |17-- --17| |17------------17| | | | | | | | ------- ----------- --------- } @subsection{Convertor connected between two DTEs} @label{dtetodte} @example{ ------- ----------- --------- | | | | | | | |15-- --24| |24-- --15| | | DTE | |-----| | Convertor | |------| | DTE | | |17-- --17| |17-- --17| | | | | | | | ------- ----------- --------- } @subsection{ERCC standard cables for box use} @label{ercccables} @enumerate{ Cable No. 45: Convertor to DTE @example{ @u{ D25-S D25-S} 2----------- Blue -----------3 3--------- Yellow -----------2 15-- --17 |------- Red --------| 17-- --24 4-- --4 | | 5-- --5 6-- --6 8--| |--8 20-- --20 -------- Green ------- 7--| |--7 -------- Screen ------ Marked Marked "DTE" "CONV" } Cable No. 46: Convertor to Modem @example{ @u{ D25-S D25-P} 2----------- Black ----------2 3----------- Blue -----------3 17----------- Pink -----------17 24---------- Red/Blue --------24 4-- --4 | |--6 5-- --20 6-- 8--| 20-- 7--------- Turquoise --------7 } } @section{@ux{Convertor Diagnostics}} @label{Diagnostics} The Protocol convertor will come equipped with three sources of diagnostic information: @enumerate{ An array of 8 LEDs on the front panel plus 4 on the 88/45 board itself. a set of on-line diagnostic facilities which may be invoked without adversely affecting the running system. A set of off-line facilities which may be invoked once the convertor has halted normal operation. This includes an auto dump and restart facility. } @subsection{Panel LEDs} @label{Panelleds} @example{ --- --- --- --- --- --- --- --- | 7 | | 6 || 5 || 4 || 3 || 2 || 1 || 0 | --- --- --- --- --- --- --- --- } @itemize{ 7: State Indicator: @itemize{ OFF = Normal: Bits 6 - 0 as described below ON = Error : Bits 6 - 0 contain error number } 6: X25 line signals: (DSR & DCD & CTS) @itemize{ OFF = Error : One or more signals are down ON = Normal : All signals are OK } 5: X25 RX Data 4: X25 TX Data 3: Run light : 1 Second flashing light 2: BSC TX Data 1: BSC RX Data 0: BSC Line signals: (DSR & DCD & CTS) @itemize{ OFF = Error : One or more signals are down ON = Normal } } @subsection{88/45 on-board LEDs} @label{Boardleds} These are four rectangular LEDS hard-wired onto the 88/45 board and are invisible from the outside. They are useful in diagnosing certain faults BUT NOTE THAT ELECTRICAL SAFETY OF THE BOX CANNOT BE GUARANTEED IF THE TOP COVER IS REMOVED. LEDs are assigned as follows: @example{ --- --- --- --- | 4 || 3 || 2 || 1 | --- --- --- --- } @itemize{ 4: Bus hang indication. @itemize{ OFF = Normal ON = Fault @\Program has hung the 88/45 bus by addressing a non-existant address or peripheral. } 3: NMI code. @itemize{ OFF = Normal ON = Program is in NMI interrupt code (Diagnostic Monitor). } 2: Interrupt code @itemize{ OFF = Program is in normal code (the idle loop and queue service routines) ON = Program is in interrupt code. } 1: Not used } @subsection{On-line Diagnostics} @label{Onlinediags} The online diagnostic package is enabled whenever the log switch is in the on position. To make use of these facilities, a printer or VDU should be connected to the convertor diagnostic port at the correct speed (See note 3) and the log switch on the convertor switched down. Diagnostic information will then usually be written to the diagnostics circular buffer and then printed by the convertor idle loop. (Certain commands print directly). Output from the circular buffer may be controlled by x-on and x-off. If the log switch is left up, monitoring information will still be written to the buffer but will not be printed until the log switch is switched down. The operator may enter one of the following commands.. @itemize{ @b{?} @\This produces an interpreted dump of the principal convertor variables. This should look like this ... @example{ time istate buffst txch rxch brdval intmsk 0 0 0 0 0 0 0 l1: state clock rxmode txmode l2mode rnr dcedte inql a e timer1 timer2 retrys ifrmes conrts inl outl outql f t x Bproc: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 txq: ..**.... ........ ........ ........ Xproc: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 txq: ........ ...****. ........ ........ } @b{H} @\This causes the convertor to execute a processor halt in the event of a trappable error occurring. Its prime use is for diagnostic purposes in conjunction with an Intellec development system. @b{I} @\Insert at the address : defined in the last 'K' command (qv). must be a valid hexadecimal value comprising exactly 4 hex digits. @b{J} @\Switch on level 3 logical channel & group mapping required to connect a 2050 to CPSEs not configured for group 7 and LCNs > 128. @b{K} @\Examine location :. Command will reply with the value as a 4-digit hex number. and must both be valid 4-digit hex numbers. No delimiters are entered between them but the program inserts a ':' after segment and a space after offset. @b{M} @\Set monitoring to level , where is a single hex digit. The following bit settings are significant @itemize{ x'01' Level 2 monitoring ON x'10' Level 3 monitoring ON (see also X command) X'20' Idle time monitoring ON (see also T command) } @b{R} @\Simulate receipt of one of a number of BSC or X25 packets. @itemize{ 0 soh-enq 1 ack0 2 nak 3 rubbish 4 crc error 5 nak 6 nak 7 nak 8 disc 9 ua A sabm B frmr C rr D rnr E rej F rubbish } @b{T} @\Monbyte bit 5 is set, enabling CPU idle-time monitoring. Convertor will respond immediately "DIA: Mon= " and thereafter at one-second intervals with the message "Tick: CPU = " where is an approximate percentage CPU idle time expressed as a hexadecimal number. The first such return may not be meaningful. Idle time monitoring may be switched off using the M command. @b{V} @\Convertor responds immediately with the current version number and date. W @\Convertor halts normal operation and enters the off-line diagnostic monitor. BEWARE OF ENTERING THIS COMMAND INADVERTANTLY. @b{X} @\Monbyte bit 4 is set, enabling Level 3 monitoring. Convertor responds immediately "DIA: Mon= " and thereafter each level 3 packet received or transmitted will be logged to the diagnostic device. Level 3 monitoring may be switched off using the M command. } @subsection{Off-Line diagnostics} @label{Offlinediags} These commands are available in the off-line diagnostic mode. If test mode is set (DIP switch 3 = 1) output will be sent in pages and the prompt "Page..." output at the end of each page. Any character will cause the monitor to page on except 'Q' which will cause it to abort the current output and return to the monitor command prompt ">". Note that all input as parameters to the commands must be expressed as 4 hexadecimal digits. @itemize{ @b{?} @\Produce the interpreted dump obtained by doing a "?" on-line (qv). @b{A} @\Dump All. (Perform commands B,?,L,M,G,R,C below in sequence). @b{B} @\Dump the diagnostic circular buffer. @b{C} @\Dump the current stack @b{D} @\Dump 512 bytes of store from :0 @b{E} @\Examine store location : @b{G} @\Dump convertor global linkage area i.e. main variables @b{I} @\Insert at location : of last 'E' command. @b{L} @\Dump first 16 bytes of each buffer in the long buffer pool @b{M} @\Dump first 16 bytes of each buffer in the short buffer pool @b{O} @\Re-read diagnostic device parameters from DIP switches to enable a slow printer to be attached. @b{P} {=} @\read from I/O port or write to I/O . @b{Q} @\quit from off-line diagnostics and attempt to resume the program (unlikely to work). @b{R} @\Dump registers } @section{@ux{Maintenance procedures }} @label{Maintenance} Diagnostic information for the protocol convertor may be obtained from one of three sources ... @enumerate{ The front panel leds, which provide a simple display of the operational state of the box and of the state of the connected communication lines. The online diagnostic monitor, which may be run in tracing mode in order to provide dynamic information concerning the operation of the convertor. The offline diagnostic monitor, which can supply a full store postmortem when other aproaches to diagnosis have failed. } Proposed action by the user is as follows ... @enumerate{ Look at the LEDs on the front panel in conjunction with information provided in the foregoing sections. Certain faults will be obvious or will be trapped. The manual will give further instructions (below). If the fault is not solved, the LOG switch should be depressed on the convertor and a fast serial i/o device (VDU or printer) connected to the diagnostic port. This will cause a stream of status and diagnostic messages to be output. This will enable further categories of fault to be diagnosed. If these procedures fail then the fault should be regarded as unrecoverable. The system should be dumped and appropriate action taken as detailed below. } Before raising a fault report, the following should be carefully checked ... @enumerate{ That both communication lines are connected and operable (see front panel leds) That the convertor has been correctly configured and that the line speeds have been correctly set (see user controls). That both systems to which the convertor is connected are functioning correctly. } Raise a fault report as follows.. @enumerate{ Contact maintenance organisation either by phone or by returning a (supplied) fault report sheet, being prepared to supply.. @enumerate{ Full details on convertor identification plate. Exact description of fault, including... @enumerate{ whether or not convertor HALTs whether or not the fault is solid &/or repeatable. whether or not it traps successfully, plus information displayed. hard copy of trace &/or dump information, if appropriate. whether or not an adequate service can be sustained with the fault present. anything else that seems useful. } } } The maintenance organisation will acknowledge immediately and may ask for additional information. Once the fault has been diagnosed, the maintenance organisation will send either @enumerate{ a complete replacement unit, or (possibly) a replacement component (usually a board; must be replaceable by replugging) } A replacement unit will be shipped by datapost unless the faulty unit is unable to provide a satisfactory service, in which case shipment will be by Red Star, Securicor or equivalent. The maintenance organisation will maintain a pool of spare components to ensure that this can be despatched immediately in 95% of cases and maintainance charges will be adjusted to cover the cost of so doing. It is not possible to estimate the number of complete units required in the pool since this is a function of the time taken for a remote site to return a unit after a fault as well as the transit time and the mean time between faults. It is hoped that the pool need not exceed 2.