ODMB_transparent.png: Optical Data acquisition Motherboard -- B904 testing procedure

This page will describe the procedure for testing ODMBs at B904. For more information about the boards, visit the UCSB ODMB website:

Getting started

Accessing software

The latest ODMB testing software is available at the odmbdev git respository. The code for testing at B904 is stored on the b904 branch. To access this code, you would do:

git clone git@github.com:me11/odmbdev.git
git branch b904

Physical setup

For either crate, please follow these instructions for plugging in ODMBs:

  • Before you plug on unplug anything, make sure the crate is OFF.
  • Insert the ODMB into slot 5. Press firmly on the top and bottom of the front panel to ensure a good connection.
  • Connect the orange fiber from the DDU to the port labeled DDU and the turquoise SNAP-12 fiber to the port labeled ORX.
  • Connect the LVMB, A and B copper cables. Make sure not to swap cables A and B!
  • Turn on the crate, and check to see if the green LEDs labeled DDU and LOCK light up.

Loading software

ME-2/1 Crate

  • ssh into cmsusr904.cern.ch. Use this machine as a gateway for tunneling into csc-pc.
  • In csc-pc, do:
    cd $YOUR_HOME/TriDAS/emu/odmbdev
    ./compile
    ./script/startme21.sh
    
  • Tunnel your firefox brower into cmsusr904.cern.ch:
    • In OSX, you can do
       /Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -p 
    • In "Firefox - Preferences - Advanced - Network - Settings" select "Manual proxy configuration". Then, write "localhost" in "SOCKS Host:" and select a port (let's call it PORT_NUMBER).
    • Type "about:config" in the Firefox address bar. Search for "dns" and set "network.proxy.socks_remote_dns" to "true."
    • Save this configuration for future use.
  • Back in your local terminal, type:
     ssh -ND PORT_NUMBER YOUR_NAME@cms904usr.cern.ch 

Running tests

  • Once you have the test page running, change the slot to that of the ODMB you are testing. Click on ODMB Vitals. You should be able to read the board's unique id, as well as the firmware tag and build.
  • Click on ODMB Voltages/Temperatures. Check that the voltages and currents are correct (see table below) and that the temperatures are all below 50 C.
  • Go to the Production Tests page and click on One button to rule them all. This will run a medium-statistics version of each production test.
  • If you want to run tests individually, we recommend the following number of repititions:
Test Repititions
LVMB test 1000
DCFEB JTAG Control 1
DCFEB Fiber Test 1000
DCFEB Pulses 1000
CCB Registers Test 1000
OTMB PRBS Test 10000
Discrete Logic / VME JTAG Test 1000
DDU PRBS Test 10000

Test descriptions

For each of the tests listed below, n is the number of repititions you select.

LVMB test

What it does

  • Send a control byte to power off all DCFEBs, check to see if each DCFEB is off by attempting to read its user code via JTAG.
  • Send another control byte to power on all DCFEBs, check to see if each DCFEB is on by attempting to read its user code via JTAG.
  • Send a control byte within the range +/- 10 V to one channel per ADC, read back that voltage from the ADC and compare it to an expected value within +/- 50 mV. The selected channels and expected voltages for each ADC are given below:
ADC Channel Voltage (V)
1 5 2.107
2 6 2.081
3 4 2.0
4 6 5.387
5 1 5.4237
6 6 3.2845
7 0 5.5751

Possible sources of failure

  • The LVMB cannot power on or off the DCFEBs.
  • We cannot talk to the DCFEBs via JTAG.
  • We don't read the expected voltage from an ADC.

Possible solutions

  • Check that the LVMB and DCFEBs are on. In particular, check the LEDs on the DCFEBs, and reprogram or power-cycle them of they look wrong.

DCFEB JTAG Control

What it does

  • Attempt to read the user code, which includes the firmware version of each DCFEB.
  • For all DCFEBs with successful user code reads, shift the ADC mask data register by 12 bits N times and read those bits back through the TDO N times. Here N is the number of repititions ( n) times 4096 (all 12-bit words from 000 to FFF).

Possible sources of failure

  • A DCFEB is either not receiving power or is in a funky state.

Possible solutions

  • Check the LEDs on the DCFEBs, and reprogram or power-cycle them of they look wrong.

DCFEB Fiber Test

What it does

  • Check which DCFEBs are connected by reading the DONE bits. Send N real packets to all connected DCFEBs and check whether each packet was received by reading the first two words of each DCFEB FIFO, and by reading the number of received packets and good CRCs through ODMB_DATA registers.

Possible sources of failure

  • A DCFEB is either not receiving power or is in a funky state.

Possible solutions

  • Check the LEDs on the DCFEBs, and reprogram or power-cycle them of they look wrong.

DCFEB Pulses

What it does

  • Send INJPLS, EXTPLS, BC0, and L1A_MATCH signals to each DCFEB, then read back the number of signals received in each DCFEB register.

Possible sources of failure

  • A DCFEB is either not receiving power or is in a funky state.
  • The DCFEB firmware may be out-of-date.

Possible solutions

  • Check the LEDs on the DCFEBs, and reprogram or power-cycle them of they look wrong.
  • To check firmware version, run DCFEB JTAG Control with 0 repititions.

CCB Registers Test

What it does

  • Send a number of signals from the CCB to the ODMB. Read the signals back through the CCB "command," "data," and "other" registers on the ODMB.

Possible sources of failure

  • The ODMB cannot communicate with the CCB.

Possible solutions

  • Make sure the ODMB is properly plugged in.

OTMB PRBS Test

What it does

  • Send N PRBS sequences from the OTMB to the ODMB
  • Read back the number of PRBS matches and errors on the ODMB.

Possible sources of failure

  • The OTMB is not receiving L1As or LCTs (check the LEDs)
  • The ODMB is not in slot 5 (next to the OTMB)

Possible solutions

  • Make sure the OTMB is in ODMB mode (“RS1EE06” should be 1)

Discrete Logic / VME JTAG Test

What it does

  • Test JTAG access to FPGA via "emergency" discrete logic

Possible sources of failure

  • The ODMB is not properly attached to the VME crate
  • The red box is creating a short

Possible solutions

  • Make sure the red box is not plugged into the ODMB
  • Make sure the ODMB is plugged in firmly.

DDU PRBS Test

What it does

  • Test TX and RX for DDU through loopback test.
  • Generate N PRBS sequences, send them from the DDU_TX port through a loopback fiber, and read them back through DDU_TX port

Possible sources of failure

  • The fiber is not correctly attached.

Possible solutions

  • Make sure the loopback fibers are correctly plugged in (DDU green LED should be on)

PC PRBS Test

What it does

  • Test TX and RX for DDU through loopback test.
  • Generate N PRBS sequences, send them from the DDU_TX port through a loopback fiber, and read them back through DDU_TX port

Possible sources of failure

  • The fiber is not correctly attached.

Possible solutions

  • Make sure the loopback fibers are correctly plugged in (PC green LED should be on)
-- JohnBradmillerFeld - 05 May 2014
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2014-05-11 - JohnBradmillerFeld
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback