Discussion of MPS PIC module trip settings and ASTS readout tolerances:
(HVS 8/95)

ADDENDUM: Much of the "legwork" about setting camparitor thrsesholds 
(HVS	  has been accomplished by SCP software. As additional
3/02)     complication, the recovery thresholds depend not only upon
          repetition rate (below "FULLRATE" is always assumed to be
          120 Hz; which for the present is not generally true).
	  Further additional complication surfaces when considering
	  the time filtering done in the module (programmable to be
	  either 1 S, 500mS, 100mS or 50mS). 	

	  For an at-complete-nauseum discussion of how repetition
	  rate and PIC time filtering effect the determination of
	  the recovery thresholds, see the URL:
picrecovery.html
	  Otherwise; what follows is very useful for becoming 
	  familiarized with the way the PICS system works.
END OF 3/02 ADDENDUM



        Each PIC module has five IC channels. Each of these channels has
four programmable comparitor levels (trip thresholds). These four comparitor 
trip levels have been assigned the following meaning:

        1)      FULLRATE        This level corresponds to to maximum allowable
                                radiation level. If this level is reached,
                                the beam rate is to be reduced so as to lower
                                the radiation level.

        2)      LIMIT_HI        This level corresponds to 1/12 of the FULLRATE
                                level (pedistal subtracted). The purpose of
                                this threshold is to indicate that if beam rate
                                is increased by a factor of 12 (10Hz->120 Hz),
                                then the radiation level is not expected to
                                exceed the FULLRATE level. MPS algorithms
                                impliment this comparison level to determine
                                whether to allow transition 10Hz -> 120 Hz.

        3)      LIMIT_LO        This level corresponds to 1/10 of the FULLRATE
                                level (pedistal subtracted). The purpose of
                                this threshold is to indicate that if beam rate
                                is increased by a factor of 10 (1 Hz-> 10 Hz),
                                then the radiation level is not expected to
                                exceed the FULLRATE level. MPS algorithms
                                impliment this comparison level to determine
                                whether to allow transition 1 Hz -> 10  Hz.

        4)      TLV_TEST        This comparison is not used during normal
                                operation. It is used during an MPS system
                                test called "TRIP LOGIC VERIFICATION" in
                                which MPS software excercises the trip
                                logic/functionality of it's modules.
                                See HELP under MPS TERMS panel for a further
                                explaination of Trip Logic Verification.

        In order to set appropriate trip levels, the following considerations
apply:

        1)      Ion chambers are intended to measure ionizing radiation level.
                For a specific radiation level, the ionized gas inside
                the chamber generates a signal current. This current is 
                measured by the PIC module. The sensitivity of the Ion Chambers
                used by MPS is generally taken to be 

                        1 rad/hr    ~      0.25 nA      (for 1 liter of argon
                                                         Bazarko/Turk 6/91)

        2)      The PIC module digitizes this current using a 16 bit ADC.
                Two scales are available, but to date only one is used.
                This digitization is 20uA full scale...corresponding to
                65535 counts so that:

                        1 count  ~ 0.30 nA  ~  1.2 rad/hr    (readout ADC)

                Therefore, the ASTS readout is scaled by a factor 1.2 such 
                that the SCP display is normalized to rad/hr. There is an
                offset term in the ASTS readout scaling such that the house-
                keeping current is subtracted as well. SCAL(1)=offset and
                SCAL(2)=1.2. In general the displayed ASTSS data value is 
                determined by the relation:

                        DATA = SCAL(1) + SCAL(2) * COUNTS

                        Where DATA is the value seen on the SCP, COUNTS
                        is the RAW ADC readout, and SCAL values are the
                        scale factor terms mentioned above.

        3)      The PIC compares the measured current to each of the four
                programmable trip settings discussed above. These trip 
                thresholds are set by a TWELVE BIT DAC. It is important to
                recognize the distinction between the twelve bit trip
                threshold DAC settings and the sixteen bit readout ADC
                sensitivity when setting trip thresholds. The trip threshold
                DAC has also a 20 uA full scale...corresponding to 4096 counts
                so that 

                        1 count  ~   5nA    ~   20 rad/hr    (Trip Thresh DAC)

        4)      The PIC threshold levels are entered into the SCP. They are
                in units of Trip Threshold DAC counts.

        Historically, ion chamber trip settings have been cataloged in the
form of IC current (uA). For the BSY ion chambers, a typical value of 3.5uA
has been used historically. Let's walk through how to set the various trip
levels based upon this.

        FULLRATE:       Since 4096 counts correspond to 20uA for the trip
                        comparison DAC, we can just scale the 3.5uA trip
                        level by 4096 counts/20uA to determine a trip setting 
                        of:
                                   3.5 uA   ~   717 counts  (FULLRATE)
                                   

                                   or in general:

                                   FULLRATE = TRIPLEVEL * ( 4096/20 )

                                   Where FULLRATE is in units of trip
                                   threshold DAC counts, and TRIPLEVEL is
                                   in units of uA.

        LIMIT_HI        Since this threshold is merely 1/12 of the FULLRATE
                        setting, we could set a level of 717/12 = 60 counts.
                        However, the housekeeping current is typically 
                        significant (~40 counts of trip level DAC) compared
                        to this. Experience has shown that it is best to
                        OFFSET the LIMIT_HI and LIMIT_LO DAC trip settings
                        in order to compensate the housekeeping current.
                        The following formulation can be used in general:

                                    LIMIT_HI = FULLRATE/12   + OFFSET

                        OFFSET is best determined by watching history buffer
                        of housekeeping current. OFFSET should be expressed
                        in terms of the trip threshold DAC counts. ASTS
                        readout is in rad/hr. This readout should get "unscaled"
                        to readout ADC counts, and then scaled by the ratio
                        of bit resolution between the readout ADC and the trip
                        threshold DAC. 

                        So in general, if the housekeeping current is 
                        HOUSECURRENT from the History Buffer, then

                                 (HOUSECURRENT - SCAL(1))    (4096)
                        OFFSET = ------------------------  * ------
                                        SCAL(2)              (65536)

                        Where SCAL(1) is the offset term of the ASTS SCAL  
                        primary, and SCAL(2) is the slope term.

        LIMIT_LO        Based on the above arguements, the LIMIT_LO threshold
                        can simply be expressed as:

                                    LIMIT_HI = FULLRATE/12   + OFFSET
                                

                        Where OFFSET is determined by housekeeping current in
                        the same manner as expressed above.

        TLV_TEST        This value is always set to the fullscale value of
                        4095 counts.  

        It is also useful to use the History Buffer measurement of housekeeping
current to adjust the SCAL(1) value such that the ASTS readout is zero with
just the housekeeping current present. This can be done by merely replacing
the old SCAL(1) value with that value minus the HOUSECURRENT determined from
History Buffer:

                                new SCAL(1) = old SCAL(1) - HOUSECURRENT

                                Where HOUSECURRENT is in units of scaled SCP
                                ADC readout.

        The ASTS limits should also be considered. The upper ASTS limit should
be 90% of the FULLRATE trip value...expressed in units of ASTS readout. This
value can be determined by expressing the FULLRATE trip value in terms of raw
ADC value, scaling this by the ASTS SCAL factors, and taking 90% of that value:

                                    |-                                     -|
                                    |                               65536   |
              LIMS(2) =  0.9*       | SCAL(1) + SCAL(2)*(FULLRATE * ----- ) |
                                    |                               4096    |
                                    |-                                     -|


                                where FULLRATE is the 12 bit DAC value entered
                                into the SCP for the FULLRATE trip threshold, 
                                the SCAL values are the ASTS readout scale
                                factors, and LIMS(2) is the ASTS readout upper
                                limit.        

        The lower ASTS limit, LIMS(1), is typically taken to be about 
-100 rad/hr.  This corresponds to about 80 ADC counts variation away from 
nominal housekeeping current. Housekeeping current stability is typically 
5-10 times better than this.