Hybrid Monitor Manual

UC Davis, April 2003

1 Introduction to Hybrid Monitor

Hybrid Monitor is a program which automoates the burn-in proccess for SVX4 hybrids. The frontend GUI is written in Tcl 8.0.5, Tk 8.0.5 with extension packages Tix 8.0.2 and BLT 2.4 which communicates to C function calls that control the I/O to the hardware and database. The hardware consistes of a wirewrapped switchboard that acts as a state-machine controling power to 8 different ports as well as enabling and disabling Flip-flops, tristating bus lines and monitoring voltages. (see Hardware discussion for more details) The database is BerkleyDB 2.6.4. It is an older version of the BerkleyDB developed by Sleepycat Software, but it is more than adequate for the purposes of Hybrid Monitor.

The burn-in tasks that Hybrid Monitor performs are very simple. The Hybrids are burned-in for 72 hours. At the beginning and end of the burn-in process, a program called Htest is used to characterize the hybrid; the data gathered from Htest is stored in the BerkleyDB database. In between these Htest characterization, the hybrid continously runs a pattern where the readout is checked every 30 minutes and the bias parameters are checked every 10 minutes. Should any measured bias parameter be outside of normal operational measurements, Hybrid Monitor will shut down power to prevent and damage to the hybrid or hardware connected to it.

2 History of Hybrid Monitor

Hybrid Monitor was orginally written by Igor Volobouev (ivolobouev@lbl.gov) and was designed to automate the burn-in procedure for SVX3 detector chips in Run 2a. Becuase of a few changes to the SVX3 detector chip (now known as SVX4), Hybrid Monitor needed to be modified so that it would burn-in SVX4 chips instead. The original version of Hybrid Monitor was run off a SGI Indigo computer using Camac crate with I/O register modules. It was desirable to update Hybrid Monitor to run off a Linux PC using a PCI digital IO since most of the testing software had been upgraded to run on Linux using PCI digital I/O. Most of the changes needed to update Hybrid Monitor to burn-in SVX4 chips were the result of changes in hardware. But because of the similarities between SVX3 and SVX4, most of the inner workings Hybrid Monitor remain the same.

3 Hybrid Monitor GUI

The graphical user interface to hybrid monitor is organized as a notebook with five tabs, they are: Configuration, Voltage and Currents, Pedestals and Gains, Noise and Dnoise, and Messages.

3.1 Configuration

All the hardware interaction that Hybrid Monitor is capable of can be accesses in this page. One can connect, disconnect and power hybrids and patterns boards, measure currents and voltages, debug hybrids, check hybrid readout, set up the burn-in scheduler and start the burn-in process. There are lots of frames on this page and I will go through each at a time.

Hardware selection frame: This is the leftmost frame called ``Configure.'' This frame is used to select hybrids and pattern boards on which configuration/measurement actions are to be performed on. The PATT0-PATT7 entries designate pattern board and the h0-h39 designate hybrids. The color of each entry cell indicates the five states the hardware can be in. The color legend is located just below the hardware selection frame with grey being implicitly understood as the disconnected state that the legend does not denote. (note: a hybrid is not selectable until a pattern board is connected)

Status Frame: This is the top middle frame that displays various status information of the selected hardware component. The system-wide status can be viewed by clicking the top ``configure'' button on the hardware selection frame.

Configuration Actions Frame: This is the top right frame. Logically, one cannont burn-in a hybrid without first connecting and powering it, so buttons here are enabled or disabled depending on the state of the selected hardware components. The meaning of the actions should be evident by the labeling.

Burn-in Schedule: This is the lower middle frame that displays the burn-in schedule information for all hybrids on the system. The fields in this frame cannot be altered. If one wishes to modify the burn-in schedule see the section Burn-in Scheduler.

Don't press these buttons: This frame is used only when it is necessary to power down the whole system or exit the program. If the Htest is running while one of these buttons are pressed then Htest will try to finish up what it was doing and exit quietly. The ``Exit'' button acutally exits the program. The ``Shutdown'' button just shuts off power to all ports on the wirewrapped switchboard.

3.2 Voltages and Currents

This page displays the results of all the hybrid AVDD, I_DVDD and I_AVDD measurements. The measurement is performed using a National Instruments 6036e DAC through multiplexing on the MPX scrambler (see MPX scrambler schematics for more details).

Measurements takes place once when you power a hybrid, periodically throught out the burn-in processm and whenever the user clicks the ``Measure now'' button. When these measurements take place, all hybrids connected to the burn-in stand and in the Powered state are the only ones that are measured. Since there can be multiple bias measurements performed on a hybrid, Hybrid Monitor only displays the most recent measurement.

There are two types of user imposed bias voltage and currents ``Warn'' and ``Turn off''. If the hybrid bias parameter exceed the warn parameter then a warning message is generated. If Turn off parameter are exceeded then AVDD & DVDD are turned off on the hybrid as well as the pattern board and scrambler connected to the hybrid. This has the side effect that all hybrids connected to a particular scrambler are shut off as well.

3.3 Pedestals and Gains

When a readout check is performed, the results of each hybrid are displayed on this page. The graph plots ADC counts vs. channel number. Since there can be many readout checks, only the most recent readout check is displayed. A readout check is performened every 30 minutes during burn-in and whenever the user selects a hybrid and clicks ``Check Readout'' on the configurations page.

3.4 Noise and Dnoise

Noise is measured by calculating the standard deviation of all pedestals readings on the same channel for 230 events. Dnoise is a little more complicated, but is measured by finding the standard deviation of the difference between two neighboring channels for 230 events as well. The plots on this page are generated when readout checks are performed and only displays information from the most recent readout check.

3.5 Messages

All warnings and error messages that arise through the use of Hybrid Monitor are displayed on this page. Debugging information can also be displayed on this page is a Tck variable is set correctly. To see debugging information, set the tcl variable proc_sequence, contained in hybmon.tcl from zero to one.

4 Svxscope & Htest

Svxscope and Htest are two indepedent programs that Hybrid Monitor uses to burn-in hybrids. When the need arises to use these programs, Hybrid Monitor forks a child process using execv() (a C system call). The reason why a fork is used is because if for some reason the child process (svxscope or htest) dies while running or hangs, the rest of the burn-in can still proceed. If these process were a part of Hybrid Monitor and the was unable to finish, the entire burn-in process grind to a halt.

4.1 Svxscope

The user of Hybrid Monitor has the ability to debug a particular Hybrid in the midst of burn-in by selecting a hybrid and clicking ``debug.'' The debugging tool that is used is Svxscope. However, it is not the standalone of Svxscope. It is a modification that adds the necessary bells and whistles to Svxscope in order to make it run with Hybrid Monitor.

Svxscope modifications: The modifications to svxscope allows it to talk to Hybrid Monitor and vice versa. Hybrid Monitor forks a child process which runs svxscope. When svxscope terminates, it sends a signal back to Hybrid Monitor indicating that it is completed...(Add more details later, maybe in a different section!)

Svxscope operation: The debugging version of Svxscope is identical to the standalone version of Svxscope. Thus, all operation of the debugging Svxscope works the same as the standalone Svxscope. (may need to write something for Svxscope since nothing exists!)

4.2 Htest or Htwish (Htest a.k.a Htwish)

Htest was also originally written for the SVX3, but was modified to characterize SVX4 chips by John Freeman. Incindentally, he also wrote a nice manual, Htwish Manual v1.1, about Htest and all the tests the hybrids are put through and what they mean. In short Htest is the program that Hybrid Monitor uses to characterize the hybrids. It is run 40 minutes into burn-in and at the very end of burn-in. The data that Htest collects during burn-in are also analyzed and can be plotted nicely. The manual details all of this.

5 Burn-in Scheduler

The burn-in scheduler is the main routine for Hybrid Monitor. The Tcl procedure is called burnin_scheduler and is located in the file burnin_scheduler.tcl. This procedure is essentially a loop that constantly checks the state of hybrids to see if they are in the burn-in state. Until the hybrids are in this stage, the burn-in scheduler does nothing. Once the hybrids are in the burn-in state, the burn-in scheduler starts a timmer to flag when to perform three tasks: measuring bias parameters, checking the readout and performing Htest on the hybrid. The burn-in scheduler can be paused by simply clicking on the ``Pause'' button on the Configurations page and can be resumed by toggling the same ``Pause'' button that would now be labled ``Run.''

5.1 Altering the burn-in scheduling

There are five parts of the burn-in scheduler that one can alter, each controlling a specific part of the burn-in proccess. All the variables you must change are located in the tcl file named globals.tcl

5.1.1 Hybrid burn-in time

There are two variables used to determine hybrid burn-in time (ie. the amount of time you wish to burn-in hybrids) The two variables are hybrid_burnin_hours and hybrid_burnin_minutes each indicating how many hours and minutes to run the entitre burn-in proccess. The two variables add on top of each other meaning that the total burn-in time is the number of minutes specified by hybrid_burnin_minutes added to the number of hours specified by hybrid_burnin_hours

5.1.2 First big-test

There are two variables used to determine when to run the first Htest on a hybrid. The two variables are first_test_hours and first_test_minutes. The two variables add on top of each other to get total amount of time to wait until starting the first big-test.

5.1.3 Bias Measurement intervals

There are two variables used to determine the time interval between successive bias measurements. The two variables are bias_interval_hours and bias_interval_minutes. The two variables add on top of each other to get the total time between bias measurements.

5.1.4 Readout check intervals

This check is what analyzes the pedestals and generates the noise and dnoise plots located on the ``Noise and Dnoise'' tab on the third page of the GUI. There are two variables used to determine the time interval between successive readout checks. The two variabes are ped_interval_hours and ped_interval_minutes. The two variables add on top of each other to get the total time between readout checks.

5.1.5 Burn-in scheduler period

This is the amount of time the burn-in scheduler waits before it loops back to the beginning of the burnin_scheduler procedure and checks to see if it is time to perform a task. The variable that controls this is called burnin_scheduler_period and the units are in msec.

About this document ...

Hybrid Monitor Manual

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.47)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir18455yiSMgU/lyx_tmpbuf0/hybrid_monitor.tex

The translation was initiated by Wajohn Yao on 2003-04-30


Wajohn Yao 2003-04-30