DOM Main Board Test Plan Lawrence Berkeley National
DOM Main Board Test Plan Lawrence Berkeley National Laboratory Gerald Przybylski May 20, 2003 Rev 1. 0 5/20/2003 Ice. Cube PDR - Madison
Phases • Characterization/Pre-Production. Tests - Develop Testing Program - Optimizing operating points - Discovering problems in design - Aim for Uniformity • Production Tests - Go/No-Go - Minimum Performance Criteria - Store Characteristics in Permanent Database 5/20/2003 Ice. Cube PDR - Madison
Preliminary Tests • • Power consumption. (~2. 5 Watts) Firmware Download to CPLD Software Download to Flash Memory Software Download to Configuration Memory Load FPGA with configuration file Set DACs Read ADCs CPU Soft Restart Through CPLD 5/20/2003 Ice. Cube PDR - Madison
Maintenance and Development Utilities Forth programming environment implemented by Arthur Jones See <http: //deimos. lbl. gov/~arthur/dom/> • Tools useful through Serial Port • Tools useful through Remote DOM console • Hardware Manipulation • Flash File System Maintenance commands • Flash File System Recovery commands 5/20/2003 Ice. Cube PDR - Madison
Software and File Utilities • • Write Program File to Flash Write FPGA Design File to Flash Write Configuration Constants to Flash List Flash Files Delete Flash Files Load Flash File to FPGA Load Configuration to DOM MB Run Application Program 5/20/2003 Ice. Cube PDR - Madison
Basic High Level Tests that require computer code & Firmware behind them: • Write Given Name • Read Numeric Ident. (from OTP field in Flash) § Memory Test: Flash, and SDRAM § Read Raw On Board Temperature Sensor (I 2 C) § Read Raw On Board Pressure Sensor (an ADC) § Read Raw Data from On-Board ADC § Read Raw Data from HV Base ADC § Write Raw Data to On-Board DAC § Write Raw Data to HV Base DAC § Enable/Disable HV Base § Enable/Disable Flasher Interface § Enable/Disable ATWD Input Mux 5/20/2003 Ice. Cube PDR - Madison
HAL Environment Tests (1) (Hardware Access Library) 1. 2. 3. 4. • • • 1. 2. Read Formatted Data from On-Board ADC Read Power Supply Currents Read Formatted Data from HV Base ADC Read Formatted Data from Flasher Board Write Formatted Data to On-Board DAC Write Formatted Data to HV Base DAC Write Formatted Data to Flasher Board Address ATWD Input Mux Execute ‘Standard Configuration’ (script) Generate Local Coincidence Test Output Read Raw Local Coincidence Data 5/20/2003 Ice. Cube PDR - Madison
HAL Environment Tests (2) § Generate Test Pulses from On-Board Pulser § Read Raw FPGA Events with: - CPU trigger - PMT event trigger - Flasher trigger • Read set of Pedestals for characterization of pedestal pattern • Write Pedestal Correction Vector to FPGA • Sweep the Comparator Threshold “S” curves • Sweep Pedestal DAC through ATWD span while reading out ATWD. • Sweep Pedestal DAC through f. ADC span while reading out f. ADC. • Measure PMT Transit Time 5/20/2003 Ice. Cube PDR - Madison
HAL Environment Tests (3) • Measure Timing Pulse to Clock Phase • Measure Flasher Pulse Current to Clock Phase - for On-Board Pulser - for Flasher Board Pulser • Measure Local Coincidence to Clock Phase • Measure Oscillator to Clock Phase • Read Timing Waveform from Communications ADC 5/20/2003 Ice. Cube PDR - Madison
Forth commands p. 1 • • • . (period) -- print top of stack. s -- print entire stack contents val addr c! -- set byte at address addr to val addr w! -- set 16 bit word at address addr to val addr ! -- set 32 bit word at address addr to val addr @ -- read the 32 bit word at address addr c@ -- read the byte at address addr w@ -- read the 16 bit word at address addr : -- start a function definition cond if code 1 [ else code 2] endif -- if cond is true execute code 1 otherwise execute code 2. • val constant name -- set value of name to val • -- the rest of the line is a comment • drop -- drop the top value of the stack 5/20/2003 Ice. Cube PDR - Madison
Forth commands p. 2 • dup -- duplicate the top value of the stack • ymodem 1 k -- push address and size of a buffer retrieved from the ymodem protocol • nbytes allocate -- allocate nbytes on the heap • addr free -- free addr as allocated • from to count icopy -- copy count words from to to • end start ? DO code LOOP -- execute code from start (inclusive) to end (exclusive), the variable i contains the current iteration. • channel value write. DAC -- write val to dac at channel • us usleep -- sleep us microseconds • addr count od -- hex dump of count words at address addr • channel analog. Mux. Input -- set analog mux input to channel 5/20/2003 Ice. Cube PDR - Madison
Forth commands p. 3 • • • • read. Temp -- read the temperature, value returned is coded code prt. Temp -- print coded temperature channel read. ADC -- read the ADC counts from channel val not -- return bitwise not of val 1 val 2 and -- return bitwise and of val 1 and val 2 val 1 val 2 or -- return bitwise or of val 1 and val 2 val 1 val 2 xor -- return bitwise xor of val 1 and val 2 val shift lshift -- return val shifted left shift val shift rshift -- return val shifted right shift val 1 val 2 + -- return sum of val 1 and val 2 reboot -- reboot the machine val 1 val 2 - -- return difference of val 1 and val 2 val 1 val 2 * -- return multiplication of val 1 and val 2 5/20/2003 Ice. Cube PDR - Madison
Forth commands p. 4 • • • val 1 val 2 / -- return division or of val 1 and val 2 val 1 val 2 > -- return greater than of val 1 and val 2 val 1 val 2 < -- return less than or of val 1 and val 2 val 1 val 2 = -- return equals of val 1 and val 2 swap -- swap top two stack values addr count fpga -- program fpga from count bytes at address addr count interpret -- interpret count bytes of forth code at address addr REGISTERS -- base address of excalibur registers CPLD -- base address of cpld registers true -- value of true false -- value of false 5/20/2003 Ice. Cube PDR - Madison
Forth commands p. 4 • base -- address of number base • raw. Currents -- address of flag to display raw or corrected currents • disable. Currents -- address of flag to disable display of board currents • s" string b" -- push addr and count of string chars on the stack • addr count type -- print contents of string at address addr with count bytes • addr count swicmd -- execute swi (software interrupt) command given by string at address addr with count bytes. prt. Raw. Currents -- print raw currents to screen. prt. Cooked. Currents -- print efficiency corrected currents to screen. • plln prt. PLL -- print pll info for plln (1 or 2). 5/20/2003 Ice. Cube PDR - Madison
- Slides: 14