TRIGGER UNIT E SPS6250 OPERATIONAL MANUAL. comprises software versions 1.0 and 2.0 E. Bracke. ---***---
2 Introduction. 3 Operation. 3.1 General. 3.2 Operational parameters. 3.2.1 Bunch number (B). 3.2.2 Harmonic number (H). 3.2.3 Turns constant (T). 3.2.4 Delay (D). 3.2.5 Delay clock (DC). 3.2.6 Window (W). 3.2.7 Window clock (WC). 3.2.8 Context (C). 4 Frontpanel description. 4.1 The on-line display. 4.2 The General Purpose/Entry display. 4.3 The status LEDs. 4.4 The numerical entry pad. 4.5 The Shift and CNTL (Control) buttons. 4.6 The parameter pad. 4.7 The command entry pad. 4.8 Electrical signals. 5 Rear panel description. 5.1 The RF signal group. 5.2 The Timing signal group. 5.2.1 Inputs. 5.2.1.1 Start. 5.2.1.2 Stop. 5.2.1.3 Next. 5.2.1.4 Ext. clock. 5.2.2 Outputs. 5.2.2.1 Window. 5.2.2.2 Sweep. 5.2.2.3 Blanking. 5.3 The Communication port. 5.4 The Reset button. 5.5 The power supply connector. 6 Programming message format. 7 Some response measurements. 8 Software revision notes. 9 Adjustment procedures.
The Trigger Unit E (SPS6250) is essentially a high frequency, synchronized divider, designed to produce output pulses at a (programmable) submultiple frequency of an RF input signal and with a definite (programmable) phase relationship to an input synchronization pulse. The output can be gated such that pulses are only produced during a programmable time window.
Programming the trigger unit is done either via the front panel push buttons or through the communication port by a remote computer.
The working of the Trigger Unit E, while in service, is governed by five signals: STOP, START, NEXT, SYNC and F-in. The internal hardware is constructed in (F-in) synchronous (TTL and ECL) logicmodules. The output signal is an impulse, synchronous with the input signal F-in. The order of the synchronization scheme is generally:
START -> SYNC. -> F-in.
No data calculation takes place while the Trigger Unit is in operation; all necessary parameters have been set-up previously in the required hardware format, stored in Contexts, ready for use.
The first task of the Trigger Units' microprocessor is to respond to the timing signals by activating commands (routines) that merely load the prepared parameters into the registers to the RF processing card.
The second task of the microprocessor unit is the provision of the interface service to the operator. Communication can take place locally via a frontpanel or remotely, through a communication port towards a host computer.
It is the Bunch parameter that expresses the phase relationship between the Trigger Units' output pulses and the synchronization pulse. The phase is determined by means of the creation of a delay before the frequency division takes place. This delay is expressed in periods of the RF input signal.
The first output pulse, with B=0, from the Trigger Unit occurs at approx. 112 RF input periods + 10nSec with respect to the moment of synchronization of START with F-in via SYNC.
Valid range for the Bunch parameter: 0 -> 99999909.
The Harmonic number parameter determines in conjunction with the Turns constant parameter (see later), by what amount the frequency of the Trigger Units' F-in signal will be devided to produce the frequency of its output pulses.
Normally the H parameter is preset to the SPS harmonic number of 4620 under which condition an SPS bunch synchronous signal will be produced.
Valid range for H: Depending on the Turns constant parameter such that the product H*T agrees with: 101 <= H*T <= 100000010.
The Turns constant parameter indicates in the case of a bunch synchronous output signal, every how many revolutions of the bunch in the accelerator an output signal has to be produced by the Trigger Unit.
Valid range for T: Depending on the Harmonic number parameter such that the product H*T agrees with: 101 <= H*T <= 100000010.
The Delay parameter presets a 16bit counter that can e.g. be used for delaying the moment of re-synchronization with F-in of the Trigger Unit. Under this condition it will create a delay with the timing signal START.
This counter is under full control of the microprocessor unit and therefore its use under operational conditions depends on the Context (see later) that is currently "on-line".
The time base for the Delay counter is the Delay Clock. This source can be selected to be EXTernal (rear panel) or INTernal, in which case the synchronization signal SYNC. is used. In EXTernal mode the SPS Master Timing Systems' 1mSec clock is usually connected.
Although the Delay counter can operate on 10MHz, allowance must be made in determining the Delay value for the software overhead in the microprocessor which amounts to approx. 200microSec.
The Window parameter presets a 16bit counter that can e.g. be used for enabling the Trigger Unit to produce output pulses only during a particular period in e.g. the START phase (which is then defined as the time between START and STOP). Under this condition it will create an operational time window.
This counter is under full control of the microprocessor unit and therefore its use under operational conditions depends on the Context (see later) that is currently "on-line".
The time base for the Window counter is the Window Clock. This source can be selected to be EXTernal (rear panel) or INTernal, in which case the synchronization signal SYNC. is used. In EXTernal mode the SPS Master Timing Systems' 1mSec clock is usually connected.
Although the Window counter can operate on 10MHz, allowance must be made in determining the Window value for the software overhead in the microprocessor which amounts to approx. 200microSec.
The Contexts contain in the first place the settings of the operational parameters in both the required hardware format and ASCII (for the displays and remote communication). They describe however, also which use has been made of the Trigger Units' hardware resources. E.g. whether the Delay and/or Window counters are used and how they are affecting the Trigger Units' operation. As all of the operational parameters have been calculated by the Trigger Unit from ASCII strings into the hardware format in an "off-line" fashion, no time will be lost when it comes to executing (START/NEXT) these.
Software version V1.0 has the following Contexts available: 1) C 0: B: array of 1 element (0); H, T: array of 1 element (0); STOP: active; START: launches re-synchronization; enables output; NEXT: not active; D, DC, W, WC: not active; Note: This Context simulates the Trigger Unit A. 2) C 1: B: array of 32 elements (0 -- 31); H, T, D, DC, W, WC: array of 1 element (0); STOP: active; START: arms NEXT;launches re-synchronization;enables output; NEXT: increments B; launches re-synchronization; enables output; D: not active; DC: not active; W: not active; WC: not active; Note: This Context simulates the Trigger Unit A associated with Trigger Unit B and Memory for Trigger Unit A. 3) C 2: B: array of 32 elements (0 -- 31); H, T, D, DC, W, WC: array of 1 element (0); STOP: active; START: only arms NEXT; NEXT: increments B; loads and starts DELAY counter; D: launches re-synchronization; enables output; DC: active; W: disables output; WC: active; Note: This Context is intended for use with the mountain range display; making multiple in- jection displays possible.
Software version V2.0 has context typedescriptors 3 and 4 that are similar to types 1 and 2 except that now also H and T are arrays of 32 elements. NEXT will thus also increment these arrays. Fixed Contexts C 1 and C 2 are now of type 3 and 4 respectively. These contexts are in operation compatible with the version V1.0 contexts, although their H and T arrays need of course be correctly programmed if other than default values are required.
This display continuously shows the currently used parameter values. Default parameter showed is the Bunch value.
This display is used as output medium when the trigger unit is programmed locally.
A local message must be composed within approx. 1Min (having pressed the ENTER key) otherwise an internal time-out will release the local message buffer and clear the GP/Entry display. The last complete message given to the Trigger Unit will be remembered in the GP/Entry display.
This LED is on when the trigger unit has been remotely programmed to be unavailable for local control.
The "local lock-out" state can only be canceled by a remote command or the Master reset (power clear).
Not implemented in software versions V1.0 and V2.0.
This is a LED that can be used for a special purpose, dependent of the context in which the trigger unit operates.
Not implemented in software versions V1.0 and V2.0.
This LED is on whenever the trigger unit requests attention from the computer to which it has been connected. It is e.g. lit during a (handshaked) data transfer after the computers' request to dump Bunch array values.
Entering values by hand through the frontpanel can be done by means of the numerical entry key pad. The CNTL and SHIFT keys may sustitute appropriate (text) values for the numbers according to the parameter that will be selected. See later.
The meaning of the buttons of the numerical and command key pads can be changed by pressing, together with it, the SHIFT, CNTL or both SHIFT and CNTL buttons.
SHIFT is used to give a string value to a numerical which has otherwise the same functionality as the numerical. E.g. the "EXTernal" meaning has the same function to Delay-Clock as the "10" value has to Bunch.
CNTL is used to issue commands to the trigger unit by means of the numerical pad, while CNTL+SHIFT expands the number of this with another ten possible (sub-)commands.
In software versions V1.0 and V2.0 are in use: SHIFT-0: EXTernal. Used to select the clock input source for Delay-ClocK or Window-ClocK parameters. SHIFT-1: INTernal. Used to select the clock input source for Delay-ClocK or Window-ClocK parameters. SHIFT-2: TYpe. Used to specify the Context TYpe upon initializing a new context. SHIFT-CANcel: Clears the GP/ENTRY display and cancels the the input message. CNTL-0: INItialize. Sub-command to a parameter; it gives the default parameter value to the specified parameter. Defaults are: for B: 0 H: 4620 T: 1 D: 65536 DCK: EXT W: 65536 WCK: EXT C: Depending on the Context TYpe specification and using the above mentioned other parameter values. CNTL-1: STOp. When ENTERed, creates the equivalent of a timing "STOP" input. CNTL-2: NEXt. When ENTERed, creates the equivalent of a timing "NEXT" input. CNTL-3: STArt. When ENTERed, creates the equivalent of a timing "START" input. CNTL-4: SWItch. Sub-command that Switches a specified parameter "on-line". CNTL+SHIFT-0: ProtoCol SELect. Re-do the initialization for the ProtoCol SELect flags. Intended for test purposes only. CNTL+SHIFT-CANcel: Launches a coldstart. Is equivalent to pushing the rear panel reset (power clear) if the system is still alive.
The SCANner is used to find empirically settings for operational parameters.
Essentially it increments/decrements the selected parameter and uses this value on-line. This value is shown in the GP/Entry display. Once the correct setting found (with the help of an oscilloscope e.g.) it can be loaded into the on-line Context by pressing ENTER. Pressing ENTER in SCANner mode terminates the latter, as well as re-pressing SCAN. SCANner mode is indicated by the status LED "Scanner on". Incrementing and decrementing is accomplished in scanner mode by pressing resp. UP or DOWN as long as the action is required. Pressing FAST together with either UP or DOWN changes the increment/decrement from "1" to "10".
Not implemented in software versions V1.0 and V2.0.
SHOW is a sub-command that loads either the on-line display or the GP/Entry display with the specified operational parameter and its value. See further details in "Programming message format".
CANcel enables editing a local message. Pushing CANcel will delete the last (right most) entered character. Deleting all message can be obtained by pressing SHIFT-CANcel.
A local message, entered in the GP/Entry display will be sent to the Trigger Units' message interpreter by pressing the ENTER key.
This is the requested output signal from the Trigger Unit.
Internally it is possible to select the output to go either to the rear panel or to the front panel (this connector).
Signal specification: positive rising edge: <2nSec approx. 3V into 50Ohm width: approx. (5E-9 + 1/F-in)Sec
The signals: Main OUT, Sync. and F-in are connected for test (observation) purposes via 1kOhm resistors and 50Ohm coaxial cable to these LEMO connectors.
For correct measurement one must use a (short) 50Ohm cable terminated into 50Ohm. Under these conditions the signal attenuation amounts to approx. 20x.
Input signal that will be processed by the Trigger Unit to obtain the required output trigger pulses. It is the time base for the Bunch delay and all internal RF logic. Its frequency will be divided by the H*T parameters and yields the frequency of the Trigger Units' output signal.
Signal specification: 1Vp-p sinusoidal into 50Ohm. 10MHz <= F-in <=250MHz. Generally correct operation can be obtained with a signal 0dBm in 50Ohm.
This is the requested output signal from the Trigger Unit.
Internally it is possible to select the output to go either to the rear panel (this connector) or to the front panel.
Signal specification: positive rising edge: <2nSec approx. 3V into 50Ohm width: approx. (5E-9 + 1/F-in)Sec
This signal is used to calculate, in terms of number of F-in periods (B parameter), the phase relationship between the Trigger Units' input signal (F-in) and output signal (Main OUT). The phase zero will be at the first F-in period after a rising edge of Sync.
Signal specification: rising edge of 0.5 -- 3V (internally adjustable) t-rise <20nSec Generally correct operation can be obtained with a signal 0dBm in 50Ohm.
Timing signal, of which the meaning is determined by the on-line Context. Normally used for enabling the Trigger Unit to look for synchronization with its RF Sync. input signal. If the current on-line Context makes use of parameters in array format, START also arms NEXT.
Processing of the START input signal is only done (once) when previously armed by STOP.
Required electrical characteristic: 1) at 50ohm: +20V / 1microSec positive edge. (SPS TG1/TG2, TFBB) 2) 5V with 1kOhm pull-up: opening contact (opto-coupler) Selectable with a on-board dip switch.
Timing signal shutting off the Trigger Unit producing output pulses and arming the START input, thus preparing for a re-synchronization sequence. STOP also resets an eventual parameter array element counter, used by NEXT.
STOP is a timing input which is allways enabled and will be processed irrespective of timing phase in which it occurs.
Required electrical characteristic: 1) at 50ohm: +20V / 1microSec positive edge. (SPS TG1/TG2, TFBB) 2) 5V with 1kOhm pull-up: opening contact (opto-coupler) Selectable with a on-board dip switch.
Timing signal, of which the meaning is determined by the on-line Context. Normally used in Contexts that have parameters in array format. NEXT will then e.g. STOP the Trigger Unit, increment the array element counter and re-START it with the incremented parameter on-line.
Required electrical characteristic: 1) at 50ohm: +20V / 1microSec positive edge. (SPS TG1/TG2, TFBB) 2) 5V with 1kOhm pull-up: opening contact (opto-coupler) Selectable with a on-board dip switch.
Signal used as time base for the Delay and Window counters when the Delay-ClocK and Window-ClocK sources are selected to be EXTernal.
Required electrical characteristic: 1) at 50ohm: +20V / 1microSec positive edge. (SPS TG1/TG2, TFBB) 2) 5V with 1kOhm pull-up: opening contact (opto-coupler) Selectable with a on-board dip switch.
TTL compatible positive signal which is active while the Trigger Unit is enabled to produce output pulses.
Analogue signal used for "mountain range display" type of applications. Its amplitude is determined by the first 256 output pulses from the Trigger Unit after a re-synchronization.
Specification: at 50Ohm: between -4V and +4V ramping up or down; uni-polar or bi-polar all selectable by internal dip switches.
TTL compatible control signal used for "mountain range display" type of applications to clear the display. This signal is functionally the same as the previously mentioned Window signal, however it can be programmed to be TTL positive or negative by an internal dip switch.
The bi-directional communication port connects the Trigger Unit to a controlling computer. Currently the communication goes via 8 bits parallel format and is compatible with the GPMPX MD1 module: 8 bits for input and 8 bits for output. Each byte has its own strobe/handshake channel such that asynchronous communication can take place.
A separate 1 bit output channel can be polled by the host computer (or can generate an interrupt) for service requests. The status of this channel is indicated on the frontpanel by the Service Request LED.
The Reset button generates a power clear which initializes the Trigger Unit as with "cold start".
The Trigger Unit is executed in NIM module hardware. The powersupply connector is thus NIM compatible; the following voltages are required:
+12V: 25mA; pin 16 -12V: 25 " " 17 +6V: 975 " " 10 -6V: 1200 " " 11 0V: " 34.
Programming the Trigger Unit is accomplished by means of sending an ASCII string to it. The ASCII message must start with ASCII code "SOH" (Start Of Header; value 01hex) and terminate with ASCII code "EOT" (End Of Transmission; value 04hex).
Three data types are recognized by the Trigger Unit: 1) Numericals: 0 --> 9 2) Alphas: a --> z or A --> Z 3) Separators: all other defined ASCII characters and every transition between a numerical and an alpha character and vice-versa.
From an alpha string only the first 3 characters are relevant; the following ones are discarded. The parameters could therefore be written out with their full names, although this practice would require more interpretation (execution) time from the Trigger Unit. The standard abreviations as mentioned in this description are therefore recommended. Upper and lower case alphas are considered the same; lower case is internally converted into upper case.
The Trigger Unit assumes, for that information which it needs and which has not been specified in a programming message, that the current "on-line" can be used as default. E.g. a message consisting of: 'SOH' 1000 'EOT', while the on-line display shows "B 7: 999" and the Trigger Unit operates currently in Context 2, would enter the value 1000 into Bunch element 7 of this Context.
When the on-line display would have shown: "H 0: 4620", it would have entered the value 1000 into Harmonic number element 0 of Context 2. Not only numerical data can be attributed to the operational parameters, but also some sub-commands.The following sub-commands can be issued to an operational parameter:
1) SWItch on-line: Changes the Trigger Unit from the current Context/parameter to the selected one. Leaves the Trigger Unit in the STOP timing phase. 2) INItialize: Initializes the specified operational parameter element to the (coldstart) default value. 3) SCAn: Activates the scanner for this parameter as from its current value. (Not useful in remote messages.) 4) DUMp: Dumps the whole parameter array or Con- text. (For Remote comm. only) 5) SHOw: Shows the specified parameter value.
Good programming practice will first load the required Context and finally a command, switching this Context on-line.
Data entered through the frontpanel will be entered into the current on-line Context. The obligatory "SOH" and "EOT" header/terminator pair of the message will be automatically generated by the Trigger Unit. Having only 12 digits available in the GP/Entry display, use has been made of the Trigger Units' automatic separation characteristic between numericals and alphas in order to obtain full programming capabilities of the parameters.
Therefore frontpanel entry of data follows the rule: Numerical value -> Parameter -> Parameter index -> ENTER The format for sending in local mode a sub-command to an operational parameter is: Parameter -> Parameter index -> Sub-command -> ENTER Examples: Assume: Context 1 on-line; on-line display showing: H 0: 4620 1) 12345678B17 ENTER |Enters value 12345678 in element 17 of |Context 1's Bunch array. 2) B SHO ENTER |No parameter index: Current on-line value |in on-line display shown. 3) B3 SHO ENTER |If B0 on-line: B3 would be shown in the |GP/ENTRY display. 4) C2B1 SHO ENTER |C1 on-line: B1 would be shown in the |GP/ENTRY display.
While programming through the communication port it is in general not known which current on-line parameter is in the on-line display. Therefore remote messages to the Trigger Unit will have to be more specific. In particular the Context which must accept the data should not be forgotten. As messages are first scanned for this Context specifier, starting the message with this specifier enhances execution speed. Also, having not the constraint of only 12 characters as in local programming mode, and, for readability reasons, the following format for remote messages has been adopted:
'SOH' Parameter -> Index -> Separator -> Num. value -> Separator | Parameter -> Index -> Separator -> Num. value -> Separator 'EOT' Example of a valid message: 'SOH' C 2: |This specifies the Context where the rest of |the data in the message has to be loaded. B 5:111'CR/LF' |Carriage Return / Line Feed (ASCII: 0D0Ahex; |"'" (quotes) not in the message). Bunch10-->1; |"Bun" will be interpreted and is valid. B 6:1'CR/LF' H00:00004621 'CR/LF' 'EOT'The format for sending a sub-command in remote mode to an operational parameter is:
'SOH' -> Parameter -> Parameter index -> Sub-command -> 'EOT'. Examples: 1) 'SOH' C 2 SWI |Switches Context 2 on-line; leaves Context 2 in |STOP timing phase. 'EOT' 2) 'SOH' C 1 DUM |Outputs all parameters of Context 1 via the |communication port. 'EOT'
Some execution time measurements have been done on a Trigger Unit E, software version V1.0. The following general set-up conditions are used:
a) Evaluation done on a Context of type 2. b) No master terminal has been connected. This enhances execution speed as no polling of the latter is necessary. c) Logic state analyzer has been disabled in the address area: F700 -- FFFF. (ASSIST-09 Monitor field.) d) B in on-line display, unless otherwise stated. The operational parameter showed in the on-line display somewhat influences the total execution time of a service. B is most often required, so execution speed has been optimized when B is in the on-line display. e) Several routines will re-enable the machine to receive new orders (by Interrupt ReQuest) as from the moment that they start updating the on-line display, which is then the last phase of their execution. Therefore 2 values are shown in these cases: one for the time required for the updating of the actual operational parameter (called FIRQ and/or IRQ disabled execution), and one for the total execution of the routine involved. f) Start of each measurment is the setting of the microprocessors' (F)IRQ line, done by the hardware signal that initiates the required action. I) STOP sequence. The STOP sequence is initiated by the STOP timing signal. Set-up: Timing phase: NEXT. FIRQ disabled execution: 318microSec. (V2.0: same) Complete execution: 650 " ( " " ) II) NEXT sequence. The NEXT sequence is initiated by the NEXT timing signal. Set-up: Timing phase: START. FIRQ/IRQ disabled execution: 400microSec. (V2.0: 510) Complete execution with in on-line display: B 723microSec. ( " : 830) H 760 " ( " : 868) T 796 " ( " : 906) D 833 " ( " : 944) DC 870 " ( " : 980) W 905 " ( " : 1.0mSec.) WC 940 " ( " : 1.0 " ) C 1000 " ( " : 1.1 " ) III) START sequence. The START sequence is initiated by the START timing signal. Set-up: Timing phase: STOP. FIRQ/IRQ disabled execution: 133microSec. (V2.0: same) Complete execution: 460 " (V2.0: same) IV) FIRQ handler. The FIRQ (Fast Interrupt ReQuest) handler is invocated by the 3 programmable (hardware) counters for the Delay, Window parameters and the Real-Time clock. a) Delay counter routine. IRQ disabled execution: 194microSec. Complete execution: 566 " b) Window counter routine. IRQ disabled execution: 102microSec. Complete execution: 470 " c) RT clock routine. Used as watch dog (for time-out purposes). FIRQ/IRQ disabled execution: 101microSec. Complete execution: 688 " V) Communication port input (read) mode. Set-up: No timing inputs are active. Complete execution: 123microSec. of which: Used by the IRQ handler: 71.5 " Used by handshake pulse routine required for MD1: 20.5 " VI) Communication port output (write) mode. Set-up: No timing inputs are active. All bytes except last: Complete execution: 125microSec. of which: Used by the IRQ handler: 58 " Used by handshake pulse routine required for MD1: 32 " Last byte: Complete execution: 512microSec. of which: Used by the IRQ handler: 58 " Used by handshake pulse routine required for MD1: 32 "
Version 1.0 is the initial software of the Trigger Unit E.
Version 2.0 has added the context type descriptors 3 and 4. The fixed contexts 1 and 2 are now of type 3 and 4 respectively. Minor bugs in the treatment of hardwareformat H*T array have been corrected. These concerned only faulty operation when H*T array consisted of more than 1 element.
RF measurements are done with an RF oscilloscope (>=500MHz) and a 500ohm probe, when measuring on the RF card pcb, or with a duely terminated 50ohm cable, directly connected to the either pcb (soldered) or output connector.
When SYNC is a signal derived from Fin, it will be possible to eliminate the inherent resynchronization + or - 1 Fin cycle incertitude for the B delay, under condition to take the following precaution.
When, measured on the frontpanel, the falling slope of Fin is approx. 0.5nSec after the rising slope of SYNC, the Trigger Unit E might decide to use either the current Fin cycle or the next one for resynchronization. The uncertainty jitter is in the order of + or - 75pSec.
To make sure that always the same B delay with respect of SYNC is calculated, see to it that Fin's falling slope is at least 1nSec away from the above mentioned jitter zone. The best possible situation occurs if Fin's rising slope is at + 0.5nSec after SYNC's rising slope (maximum distance; see photo's 1 to 4).
First make sure the NIM powersupply voltages are within + or - 5% of their nominal values. Having no room for on-board stabilization available (both physically and electrically), stable operation of the Trigger Unit E depends unfortunately somewhat on them!
With the usual input levels for SYNC and Fin, adjust P1 and P2 trimpots such that these signals never saturate the ECL logic. This means that the levels should never pass -0.9V absolute in the positive sense (see e.g. photo 2 - 1 for P2).
With the trigger unit already operating at the initial delay line 1 length of approx. 6.5nSec and delay line 2 adjusted, setup the oscilloscope triggering on IC8 - pin 12 and observe with the 500ohm probe the buffered Fin on IC8 - pin13 ( photo 2 - 2).
Cut the delay line 1 to length such that a down going slope of Fin on IC8 - pin 13 follows at 1nSec the down going slope of the output gate enable on IC8 - pin 12 ( photo 2 - 1).The thus adjusted delay line 1 yields a correct triggersignal for the output pulseamplifier. ( Photo's 5 to 7).
Adjusted such, that maximally only 1/2 Fin period will be passed on to the output stage, after which the output gate will be disabled again. In practise this means that delay line 2 will be as short as possible; the propagation delays of IC 8 and 10 seeing to it that a trigger pulse of approx. 5nSec wide will be produced for the output stage ( photo 2 - 2).
To be written.