SVX Radiation Logger
CAMAC Module C336

R. Crouch, A. Franck, J. Gomilar, B. Hendricks

May 21, 2001





This module works together with the CAMAC C335 module (They are physically combined in a single two wide module.) to log radiation exposure for the Silicon Vertex (SVX) detector in CDF.  The C336 reads raw loss data from the C335 module coupled to it at a rate of about 5 KHz.  It scales this data using a look up table based upon the function : rads/sec = (1.0*10(raw_data*0.015686)) / 7000.0.  This conversion table can be modified by the user if desired.  Single CAMAC commands will allow the user to restore the module to the default as well as one additional set of values.  From this data it creates a radiation sum as well as a rolling sum.  The rolling sum is used to generate an alarm indicating excessive exposure to the detector.  There are also eight optional triggered radiation sums which can be started and stopped by TCLK events.  These clock events are configured and decoded in the same way as in a C465 module.  This is due to the fact that the C336 module is built from the same hardware as a C465.

The default raw data offset is selected from one of two values based upon the status of the external permit input.  The default offset of 12 counts is selected if the external permit is not present (high).  The offset for installations using the additional bleed current of 18 counts is selected if the external permit is asserted (low).
 


CAMAC Function Codes

(10)    F(0)*A(0)   -   read sum for channel 0
(11)    F(0)*A(1)   -   read sum for channel 1
        F(0)*A(2)   -   read offset for channel 0
        F(0)*A(3)   -   read offset for channel 1
        F(0)*A(4)   -   read noise reject level for channel 0
        F(0)*A(5)   -   read noise reject level for channel 1
(1)     F(0)*A(6)   -   read triggered sums for channel 0
(2)     F(0)*A(7)   -   read triggered sums for channel 1
(3)     F(0)*A(9)   -   return clock event data (0-255)
(10)    F(0)*A(10)  -   read DC loss sum for channel 0
(11)    F(0)*A(11)  -   read DC loss sum for channel 1
(8)     F(0)*A(12)  -   read radiation table value for channel 0
(9)     F(0)*A(13)  -   read radiation table value for channel 1
        F(0)*A(15)  -   return the # of MDAT interrupts
 

        F(1)*A(0)   -   return power supply status
        F(1)*A(1)   -   return 'B' board power supply status
        F(1)*A(2)   -   return most recent DAC setting
(4)     F(1)*A(4)   -   return raw MDAT readings
        F(1)*A(5)   -   return power supply status nominal
        F(1)*A(6)   -   return power supply status mask
        F(1)*A(7)   -   return 'B' board power supply status nominal
        F(1)*A(8)   -   return 'B' board power supply status mask
        F(1)*A(9)   -   return LAM mask
        F(1)*A(10)  -   read and clear PS status error
        F(1)*A(11)  -   read and clear 'B' board PS status error
        F(1)*A(12)  -   read and clear LAM
        (bit 15=invalid CAMAC function, bit 13=MDAT is missing,
         bit 12=TCLK is missing, bit 11=PS status error, bit 10=external permit,
         bit 09='B' board PS status error, bit 08=DC loss limit exceeded 1,
         bit 07=DC loss limit exceeded 0)
        F(1)*A(13)  -   return the last CAMAC command number
        F(1)*A(14)  -   return the last TCLK event number
        F(1)*A(15)  -   return the number of TCLK interrupts
 

(5)     F(2)*A(0)   -   return TCLK interrupt level count
        F(2)*A(1)   -   return front panel LED status
        F(2)*A(5)   -   return the special configuration word
        F(2)*A(15)  -   return the number of 'B' board interrupts
 

        F(3)*A(0)   -   read alternate algorithm sum for channel 0
        F(3)*A(1)   -   read alternate algorithm sum for channel 1
        F(3)*A(2)   -   return last radiation reading for channel 0
        F(3)*A(3)   -   return last radiation reading for channel 1
        F(3)*A(4)   -   return last raw reading for channel 0
        F(3)*A(5)   -   return last raw reading for channel 1
(10)    F(3)*A(6)  -    read DC alarm limit for channel 0
(11)    F(3)*A(7)  -    read DC alarm limit for channel 1
        F(3)*A(9)   -   return the current time interrupt frequency indicator
                        (0 --> 1 KHz, 1 --> 5 KHz, 2 --> 10 KHz)
        F(3)*A(11)  -   return TCLK error count
        F(3)*A(12)  -   return digital status test results
        F(3)*A(14)  -   return the number of 1 Hz interrupts
        F(3)*A(15)  -   return the number of CAMAC interrupts
 

        F(4)*A(0)   -   return current radiation reading for channel 0
        F(4)*A(1)   -   return current radiation reading for channel 1
        F(4)*A(2)   -   return current raw reading for channel 0
        F(4)*A(3)   -   return current raw reading for channel 1
        F(4)*A(12)  -   read (but do not clear) LAM register
        (bit 15=invalid CAMAC function, bit 13=MDAT is missing,
         bit 12=TCLK is missing, bit 11=PS status error, bit 10=external permit,
         bit 09='B' board PS status error, bit 08=DC loss limit exceeded 1,
         bit 07=DC loss limit exceeded 0)
 

        F(5)*A(0)   -   return current adjusted radiation reading for channel 0
        F(5)*A(1)   -   return current adjusted radiation reading for channel 1
        F(5)*A(2)   -   return current adjusted raw reading for channel 0
        F(5)*A(3)   -   return current adjusted raw reading for channel 1
 

        F(6)*A(0)   -   return module ID number (336 decimal, 150 hex)
        F(6)*A(1)   -   return firmware version number (currently 0.6 decimal, 60 hex)
(6)     F(6)*A(2)   -   return a word in memory
(6)     F(6)*A(3)   -   return a block of memory
(7)     F(6)*A(4)   -   return diagnostic counter data
        F(6)*A(5)   -   return background count high word
        F(6)*A(7)   -   CAMAC I/O diagnostic read
 

        F(16)*A(2)  -   set offset for channel 0
        F(16)*A(3)  -   set offset for channel 1
        F(16)*A(4)  -   set noise reject level for channel 0
        F(16)*A(5)  -   set noise reject level for channel 1
        F(16)*A(6)  -   set pointer to read triggered sums for channel 0
        F(16)*A(7)  -   set pointer to read triggered sums for channel 1
(3)     F(16)*A(9)  -   write clock event data
        F(16)*A(11) -   write clock event table pointer (0-127)
(8)     F(16)*A(12) -   set radiation table value for channel 0
(9)     F(16)*A(13) -   set radiation table value for channel 1
        F(16)*A(14) -   set diagnostic memory pointer
        F(16)*A(15) -   set up CAMAC I/O diagnostic values
 

        F(17)*A(0)  -   write TCLK interrupt level counter pointer
        F(17)*A(2)  -   write directly to DAC
        F(17)*A(4)  -   write diagnostic MDAT pointer
        F(17)*A(5)  -   write PS nominal status value
        F(17)*A(6)  -   write PS status mask value
        F(17)*A(7)  -   write 'B' board PS nominal status value
        F(17)*A(8)  -   write 'B' board PS status mask value
        F(17)*A(9)  -   write LAM mask value
        F(17)*A(10) -   trigger a new output waveform
        F(17)*A(11) -   write to MDAT register (diagnostic only)
        F(17)*A(12) -   set radiation table pointer for channel 0
        F(17)*A(13) -   set radiation table pointer for channel 1
 

        F(18)*A(5)  -   write special configuration word
 

        F(19)*A(0)  -   turn on/off front panel LEDs
        F(19)*A(1)  -   turn on/off 'B' board front panel LEDs
        F(19)*A(2)  -   write diagnostic counter pointer (0-11)
        (0=reserved fault cnt, 1=trace fault count, 2=operation fault cnt,
         3=arithmetic fault cnt, 4=floating fault cnt,
         5=constraint fault cnt, 6=protection fault cnt,
         7=machine fault cnt, 8=type fault cnt, 9=spurious interrupt cnt,
        10=background cnt, 11=undefined CAMAC interrupt cnt)
(10)    F(19)*A(6) -    set DC alarm limit for channel 0
(11)    F(19)*A(7) -    set DC alarm limit for channel 1
        F(19)*A(9)  -   set the time interrupt frequency
                        (0 --> 1 KHz, 1 --> 5 KHz, 2 --> 10 KHz)
 

        F(24)*A(0)  -   disable LAM
        F(24)*A(1)  -   turn off PS
        F(24)*A(3)  -   toggle polarity of PS
        F(24)*A(4)  -   negative polarity
        F(24)*A(8)  -   disable manual sum for channel 0
        F(24)*A(9)  -   disable manual sum for channel 1
 

        F(25)*A(0)  -   reload default radiation table for channel 0
        F(25)*A(1)  -   reload default radiation table for channel 1
        F(25)*A(2)  -   load Run I radiation table for channel 0
        F(25)*A(3)  -   load Run I radiation table for channel 1
 

        F(26)*A(0)  -   enable LAM
        F(26)*A(1)  -   turn on PS
        F(26)*A(4)  -   positive polarity
        F(26)*A(5)  -   reset longword pointers for channel 0
        F(26)*A(6)  -   reset longword pointers for channel 1
        F(26)*A(7)  -   reset PS
        F(26)*A(8)  -   enable manual sum for channel 0
        F(26)*A(9)  -   enable manual sum for channel 1
        F(26)*A(10) -   clear radiation sums for channel 0
        F(26)*A(11) -   clear radiation sums for channel 1
        F(26)*A(12) -   clear clock event arrays
        F(26)*A(13) -   clear all diagnostic counters
        F(26)*A(14) -   create a pseudo time interrupt
        F(26)*A(15) -   create a pseudo MDAT interrupt
 
 

         1 --> should be preceded by F16A6
         2 --> should be preceded by F16A7
         3 --> should be preceded by F16A11
         4 --> should be preceded by F17A4
         5 --> should be preceded by F17A0
         6 --> should be preceded by F16A14
         7 --> should be preceded by F19A2
         8 --> should be preceded by F17A12
         9 --> should be preceded by F17A13
        10 --> should be preceded by F26A5
        11 --> should be preceded by F26A6

        I/O Connections

        Viking Connector (same as for a C465 "A" board)

        Note: Paddle boards available to support either TTL or 24V status.

        1L  -   MDAT digital ground
        1R  -   TCLK digital ground
        2L  -   TCLK output
        2R  -   TCLK input
        3L  -   MDAT output
        3R  -   MDAT input
        4L  -   analog output
        4R  -   analog ground
        5L  -   output control contact (NO) "ON"
        5R  -   output control contact (NO) "ON"
        6L  -   output control contact (NC) "OFF"
        6R  -   output control contact (NC) "OFF"
        7L  -   output control contact (NO) "RESET"
        7R  -   output control contact (NO) "RESET"
        8L  -   "POLARITY" low = normal, high = reverse
        8R  -   "ON" TTL pulse, active high
        9L  -   "OFF" TTL pulse, active low
        9R  -   "RESET" TTL pulse, active high
        10L -   opto coupler anode supply, 5 volts (or 24 volt common)
        10R -   permit input (pull low for permit (bleed current mode))
        11L -   status 14 input, pull low (or apply -24V) for active state
        11R -   status 15 input, pull low (or apply -24V) for active state
        12L -   status 12 input, pull low (or apply -24V) for active state
        12R -   status 13 input, pull low (or apply -24V) for active state
        13L -   status 10 input, pull low (or apply -24V) for active state
        13R -   status 11 input, pull low (or apply -24V) for active state
        14L -   status 8 input, pull low (or apply -24V) for active state
        14R -   status 9 input, pull low (or apply -24V) for active state
        15L -   status 6 input, pull low (or apply -24V) for active state
        15R -   status 7 input, pull low (or apply -24V) for active state
        16L -   status 4 input, pull low (or apply -24V) for active state
        16R -   status 5 input, pull low (or apply -24V) for active state
        17L -   status 2 input, pull low (or apply -24V) for active state
        17R -   status 3 input, pull low (or apply -24V) for active state
        18L -   status 0 input, pull low (or apply -24V) for active state
        18R -   status 1 input, pull low (or apply -24V) for active state
 
 
 

Security, Privacy, Legal