1445 Controller
Version 2 Firmware

1. 1445 Version 2 Controller

In a 1440 High Voltage system the 1445 controller provides the communications path between the user and the High Voltage generation cards in the system. With the development of new HV card, specifically the 1444, 1445 controller will be inadequate to the task. Version 2 firmware has been developed to operate the 1444 HV card with the 1445 controller. There are several limitations which are discussed below. The ultimate solution is the new 1445a controller.

1. 1 Commands

In the following description "s", "c", "v", and "n" refer to slot number, channel number, data value, and mainframe number respectively. The parentheses and commas shown are required syntax. Consult the examples at the end of this section for a few special cases of allowable syntax. These special cases are included to provide some compatibility with version 1.7 of the firmware. All command words may be abbreviated to two characters. For example "show modules" and "sh mo" have the same effect. Misspelling of commands is not allowed. A command like "shw mo" will elicit the response "Unrecognized Command".

Many commands invoke the new features of the 1444 HV card. These commands generally have no effect on the 1443 HV card. Most cases will produce error messages. The comment character is the semicolon. Unlike version 1.7, all characters on the input line (except control characters) following a semicolon are ignored by the command interpreter.

1.1.1 BACKUP

The contents of the active part of the demand RAM is copied to an inactive part of the demand RAM which serves as a backup. These backup values are used in the UPDATE command

1.1.2 COPY

The contents of the demand RAM are restored from the backup described above.

1.1.3 CHANNEL

The CHANNEL command selects the default channels for reads and writes. This command is redundant as all commands using the channel information allow the user to specify channels in the same command. Any command can reset the default channel specification.

The format for specifying a channel is same for all commands. This is a pair of numbers enclosed with parentheses and separated by a comma. For example, "(2,4)" specifies channel 4, in slot 2. If the channel number or the slot number is omitted, it defaults to zero. Note that "(2)" and "(2,)" specifies slot 2 channel zero and that "(,4)" specifies slot 0 channel 4.

This format for specifying channels also allows loops over both slots and channels independently. For example, "(0-2,0-7)" would specify a loop over the first three slots and the first 8 channels in each of these slots.

For compatibility with the previous version of the firmware an alternate format for specifying channels is allowed. In place of the channel specification syntax "(s,c)" any of the following may be used: "C 200", "C3,5", "C4,8 DO 40". Consult the 1440 system manual for details.

1.1.4 HELP

The HELP command outputs a simple list of the primary commands is output to the screen.

1.1.5 MAINFRAME n

This command will cause the indicated mainframe to become attached. If no mainframe is attached, this command will not be echoed but will be executed correctly. If a mainframe is attached the command will be echoed and the attached mainframe will detach itself to make way for the new mainfraine. It is possible to have more that one mainframe attached. In this case the echoed characters will be garbled but the command can still be executed correctly.

1.1.6 MONITOR (s,c)

The MONITOR Command displays the measured voltage repeatedly for the channels in the indicated loop. The display shows the most recent sample, the minimum and maximum value for the entire test, and the average of the eight samples taken during each pass. The command is terminated by striking any key. This command requires VT100 emulation by the terminal for the display (the command in Crosstalk, a PC based terminal emulation program, is "em vt100"). Note that measurements of the output can cause noise on the output of the measured channel. This noise is about 5 millivolts and well below specifications but may discourage routine use of this command.

1.1.7 ON

Turn on the High Voltage. Only after this command will the HV outputs produce any voltage. The demand voltages may be changed at any time. If the power supplies require, a reset is attempted and the operator notified.

1.1.8 OFF

Turn off the high voltage. None of the demand voltages will be modified, the output voltage will be ramped to zero. This command is slow since it waits until the high voltage has completed its ramp down. This prevents programming of the outputs when they are ramping down.

1.1.9 READ (s,c)

Read and display the actual voltage, the demand voltage, and the DC current (if the module is a 1444) for the specified channel or range of channels. All numbers are in volts or microamperes as appropriate. Channels which do not exist because of empty slots or the presence of a 1444 HV card are shown as vacant.

1.1.10 SET/SHOW AC_TRIP (s,c)

The trip value controls the sensitivity of the AC trip. The values for the channels specified will be set to the value given. This command is only meaningful for the 1444 HV card. Also note that trip values are grouped in pairs. Setting the trip value for channel 0 or 1 will apply to both. The same is true for channel pairs 2-3, 4-5, and 6-7.

1.1.11 CLEAR (s,c)

When the AC trip is activated it remains in effect until cleared. The channel numbers are ignored, and each card containing the specified channels is reset if it is a 1444 HV card. 1443 HV cards are unaffected.

1.1.12 SET/SHOW CURRENT (s,c) v

The SET CURRENT command establishes the current output at which a 1444 HV card will trip the output off. Only one value per card is used. The input number is calibrated in microamperes and acceptable values are in the range 0 to 1024. While the measured currents will show the correct sign, the input values are always positive. This command has no effect on the 1443 HV card.

1.1.13 SET/SHOW DC_LIMIT [+/-] v

This command sets (displays) the current limit for 1443P and 1443N HV cards. The value specified must be in the range 0 to 255 which represents a current of 0 to 2.55 milliamperes for the entire mainframe. 1444 HV cards are not affected by this command. Current trips for the 1444 HV cards are set with the SET CURRENT command.

1.1.14 SHOW MODULES

The connected mainframe identifies the contents if its slots.

1.1.15 SET/SHOW RAMP (s,c) v

The ramp rate on the 1444 HV card can be set for each card. The ramp rate cannot be read from the high voltage card and the show command displays the setting according to the demand. This number is calibrated in a simple way. The allowable range of ramp rates is between about 500 and 1500 volts per second. The input to this command is between 0 and 4096 and this spans the allowable range of the 1444 card.

The new 1445A controller performs digital ramping and is calibrated in volts per second.

1.1.16 SET/SHOW SHUTOFF v

This command begins a continuous monitor of the channel voltages (shutoff demon). If the voltage read back for a particular channel differs from the set amount by more than the value specified, the channel will be programmed to zero volts and a message generated. If the mainframe is attached the message will appear on the screen and sound the bell. In addition the error output on the front of the 1445 will go low. The programmed value applies to both negative and positive channels sagging toward zero.

A value of zero will terminate the shutoff demon. The show command provides a list of channels which have been shut off and the limit specified in the last set command. Whenever the set command is used the list is cleared and the error output is reset even though the channels shutoff previously are not restored to their original voltages. The demand values must be rewritten to these channels. Note that monitoring does not occur during the execution of commands with the exception of commands which continuously update the display.

Note that the SHUTOFF command should not be issued until all channels have reached full voltage. The shutoff demon cannot distinguish between a channel ramping up and one which sagging. Both will appear to be below the requested voltage. If a demand voltage must be changed, either stop and start the shutoff demon or change the demand voltage in sufficiently small steps as to avoid the shutoff.

1.1.17 SHOW VERSION

Print the version of the firmware currently executing.

1.1.18 UPDATE

A new value for the demand voltage is computed based on the backup values and the difference between the actual and demand values. The computation is:
New Demand = Backup + Old Demand - Measured Voltage.
The effect of repeated use of the UPDATE command is to cause the measured voltage to match the backup value, assuming this is possible. Checks are done to prevent the change in the demand from being more than 64 volts (128 volts in 1444 HV card) or less than 2 volts, and to prevent the new demand from being less than zero. This command is corrected from version 1.7 and properly identifies and treats channels in 1444 HV cards correctly. Note that this command does not actually increase the accuracy of the output voltages but should improve the appearance of the readback. This command is included primarily for backward compatibility.

1.1.19 WHO

This command causes all the mainframes to return their mainframe addresses. First, the currently attached mainframe disconnects temporarily. Next all mainframes check the setting of their front panel switch for their address and use this number as a delay. After the delay is up the mainframe will attach and output its address on the serial line and then disconnect. While the output is a slow (about 5 sec), a list of all the mainframe addresses present will appear on the terminal. The command completes with the reattachment of the originally attached mainframe.

1.1.20 WRITE (s,c) v,v,...

Write the demand voltage(s) to the specified channel(s). Each successive value will be written to the next channel specified by the loop. Two consecutive commas indicate the corresponding channel is not to be modified. The last value in the list will be repeated to the end of the loop. The last value may be null, in this case the last character in the command would be a comma.

Currently the number of values listed on the command line is limited to 30 even though the loop may cover the entire crate. All values must have a sign appropriate to the module being programmed. In other words, cards which produce negative voltage will accept only negative numbers. The one exception is zero, which may be written to modules of either polarity. This allows an entire crate to be zeroed with the command "WR (0-15,0-15) 0"

The write command will modify only voltage demand values. Writing the other functions of the 1444 HV card is blocked. Use the command specific to these functions. Although writes to channels eight through fifteen of a 1444 HV cards are blocked these channels are counted when loops are being executed. All demand values are in units of volts. The 1444 card will accept demand values to the nearest 0.5 volts, even though the readback ADC can measure only to the nearest 2 volts. The firmware averages several measurements to obtain a measurement to 1 volt. All these measurements exceed the accuracy of the output voltage.

Control Characters
The following commands are control characters which are executed immediately after being typed.
C: Abort Currently executing command
X: Clear command line
H: Rubout or Delete
S: Suspend printout
Q: Resume printout
Z: Reboot

1.2 Examples

When the mainframe is turned on the 1445 controller should issue the prompt "14>" (for mainframe #14). If this does not occur, the controller was not attached when it was last turned off. Use the command "WHO" to find out which mainframes can respond and then the command "MA 14" (or whichever address you choose) to cause one of the available mainframes to attach. Characters typed will not be echoed until a mainframe becomes attached.

LeCroy 1440 v2.17

14> sho mod
Slot  Module
   0   1444N
   1   -------
   2   -------
   3   1443N
   4   -------
   5   1444P
   6   -------
   7   -------
   8   -------
   9   -------
  10   -------
  11   -------
  12   -------
  13   -------
  14   -------
  15   -------

In our example there is a single mainframe and it became attached as the power was turned on. Our first command is "show modules" to see what is in the system. We have three HV cards of different types. We will begin by initializing the 1444N first.

14> re (0,0-7)
Channel   Demand  Voltage Current
 ( 0, 0) -1500.0  -    0     0.0
 ( 0, 1) -1500.0  -    0     0.0
 ( 0, 2) -1500.0  -    0     0.0
 ( 0, 3) -1500.0  -    0     0.0
 ( 0, 4) -1500.0  -    0     0.0
 ( 0, 5) -1500.0  -    0     0.0
 ( 0, 6) -1500.0  -    0     0.0
 ( 0, 7) -1500.0  -    1     0.0

A read command shows data left by the last user. With a new system every channel should be checked or explicitly initialized. The new 1445A has a command for initialization and several options to control the status after a power failure.

14> wr -2305.5,,-2304.5,,-2302.0,,2301
 ( 0, 6) incorrect polarity
 ( 0, 7) incorrect polarity

This command is quite complex but illustrates several important aspects of the syntax. First, note that there is no channel specification. The loop specified in the previous command will be used. The voltage requests must be negative since the target card (slot 0) produces only negative voltage. Since the target is a 1444N, the voltage may be specified to the nearest one half volt. Also show is the use of the null demand value. The two consecutive commas specify that the corresponding channel is not to be modified. Further, the last value in the list is repeated until the end of the loop. In this case, we incorrectly specified a positive number for the voltage and the error message indicates the channels which were offended.

14> re
Channel   Demand  Voltage Current
 ( 0, 0) -2305.5  -    0     0.0
 ( 0, 1) -1500.0  -    0     0.0
 ( 0, 2) -2304.5  -    0     0.0
 ( 0, 3) -1500.0  -    0     0.0
 ( 0, 4) -2302.0  -    0     0.0
 ( 0, 5) -1500.0  -    0     0.0
 ( 0, 6) -1500.0  -    0     0.0
 ( 0, 7) -1500.0  -    1     0.0

A read command shows the effect of the previous write command. Note channels which have not been modified.

Notice that the voltage and current columns are zero since no high voltage is being generated yet.

14> sho ramp
 ( 0, 0) 4095
 ( 0, 1) 4095
 ( 0, 2) 4095
 ( 0, 3) 4095
 ( 0, 4) 4095
 ( 0, 5) 4095
 ( 0, 6) 4095
 ( 0, 7) 4095

14> set ramp (0,0) 0

14> sho ramp (0,0-7)
 ( 0, 0)    0
 ( 0, 1)    0
 ( 0, 2)    0
 ( 0, 3)    0
 ( 0, 4)    0
 ( 0, 5)    0
 ( 0, 6)    0
 ( 0, 7)    0

The set ramp and show ramp commands control the ramping features of the 1444N. While only one ramp rate per card is implemented, the controller shows the rate in effect for the channels requested. Notice how changing one channel's ramp rate affects all of the channels in slot zero.

14> sho cur
 ( 0, 0)    1023
 ( 0, 1)    1023
 ( 0, 2)    1023
 ( 0, 3)    1023
 ( 0, 4)    1023
 ( 0, 5)    1023
 ( 0, 6)    1023
 ( 0, 7)    1023

14> set cur 300

The set current and show current commands control the current trip features of the 1444 HV card. Again there is only one value for each card, similar to the ramping feature. The numbers specified in this command are in units of uA. The maximum value is 1.024 mA.

14> sho ac
 ( 0, 0)   16380
 ( 0, 1)   16380
 ( 0, 2)   16380
 ( 0, 3)   16380
 ( 0, 4)   16380
 ( 0, 5)   16380
 ( 0, 6)   16380
 ( 0, 7)   16380

14> set ac 400

The set ac_trip and show ac_trip control the AC current trip feature of the 1444 HV card. The value used in the command is simply the number presented to the DAC on the HV card.

Now we move to the 1443 to prepare it for operation. First we examine the current settings.

14> re (3,0-15)
Channel   Demand  Voltage Current
 ( 3, 0)   -   0  -    0 ------
 ( 3, 1)   -   0  -    0 ------
 ( 3, 2)   -   0  -    0 ------
 ( 3, 3)   -   0  -    0 ------
 ( 3, 4)   -   0  -    0 ------
 ( 3, 5)   -   0  -    0 ------
 ( 3, 6)   -   0  -    0 ------
 ( 3, 7)   -   0  -    0 ------
 ( 3, 8)   -4095  -    0 ------
 ( 3, 9)   -2048  -    0 ------
 ( 3,10)   -   0  -    0 ------
 ( 3,11)   -4095  -    0 ------
 ( 3,12)   -4095  -    0 ------
 ( 3,13)   -4095  -    0 ------
 ( 3,14)   -4095  -    0 ------
 ( 3,15)   -4095  -    0 ------

The unusual voltages seen here for the 1443 are the result of switching cards from a 1444 to a 1443. These must be correct before turning on the high voltage.

14> wr -1700,-1702,0

14> re
Channel   Demand  Voltage Current
 ( 3, 0)   -1700  -    0 ------
 ( 3, 1)   -1702  -    0 ------
 ( 3, 2)   -   0  -    0 ------
 ( 3, 3)   -   0  -    0 ------
 ( 3, 4)   -   0  -    0 ------
 ( 3, 5)   -   0  -    0 ------
 ( 3, 6)   -   0  -    0 ------
 ( 3, 7)   -   0  -    0 ------
 ( 3, 8)   -   0  -    0 ------
 ( 3, 9)   -   0  -    0 ------
 ( 3,10)   -   0  -    0 ------
 ( 3,11)   -   0  -    0 ------
 ( 3,12)   -   0  -    0 ------
 ( 3,13)   -   0  -    0 ------
 ( 3,14)   -   0  -    0 ------
 ( 3,15)   -   0  -    0 ------

14> sho dc
Negative current limit:  90
Positive current limit: 100

14> set dc -200

The 1443 HV cards use reference voltages NCL and PCL (Negative current limit and Positive current limit) to limit their output current. The commands "set dc_limit" and "show dc_limit" control these references. In this example, we set the negative current limit to 0.2 mA. The positive current limit is not used by any of the HV cards in this example.

14> on
Turn on

14> re (0,0-7)
Channel   Demand  Voltage Current
 ( 0, 0) -2305.5  - 1730     0.0
 ( 0, 1) -1500.0  - 1498     0.0
 ( 0, 2) -2304.5  - 1725     0.0
 ( 0, 3) -1500.0  - 1498     0.0
 ( 0, 4) -2302.0  - 1822     0.0
 ( 0, 5) -1500.0  - 1498     0.0
 ( 0, 5) -1500.0  - 1498     0.0
 ( 0, 5) -1500.0  - 1499     0.0

Finally, we turn on the high voltage and read the 1444N card. Note the current is zero because there is no load on the outputs, and the voltage has been measured before the ramping has finished. Another read a few seconds later shows that we have reached full output voltage.

14> re
Channel   Demand  Voltage Current
 ( 0, 0) -2305.5  - 2304     0.0
 ( 0, 1) -1500.0  - 1499     0.0
 ( 0, 2) -2304.5  - 2302     0.0
 ( 0, 3) -1500.0  - 1499     0.0
 ( 0, 4) -2302.0  - 2300     0.0
 ( 0, 5) -1500.0  - 1498     0.0
 ( 0, 5) -1500.0  - 1498     0.0
 ( 0, 5) -1500.0  - 1499     0.0

Now the output voltage has reached its final values.

The set shutdown commands starts a process which continuously searches for channels for which the output voltage is incorrect by the specified amount. These channels are reprogrammed to zero under the assumption that they are in current limit or malfunctioning in some way.

14> set shut 30

14>  ( 3, 0)    Shutoff
 ( 3, 1)    Shutoff

14> sho shut
Over current shutdown is active. Limit =    30
Channels shutdown:
 ( 3, 0)
 ( 3, 1)

Here the two channels on the 1443 were shut down because they were not generating any output voltage. This was traced to the fact that some parts had been "borrowed" from this HV card.

14> off
Turn off

14> sho ver
Version 2.17
14>