New 2014 Production Test

We're re-working the production test for the 2014 production run. Here is a tentative recipe:

  1. Test Fixture
    1. Power up Test and MMC Programming
    2. Install the module in the bench test fixture with power off
    3. Power up 3.3V, check current ( ~ 0A )
    4. Connect AVR JTAGICE3 cable and program MMC (instructions link)
    5. Power up 12V, check current (0.2-1.8 A)
  2. Chipscope Test (in Test Fixture) (Wu's README instructions)
    1. At this point if it doesn't take too long it would make sense to download special test firmware into both T1 and T2 to do a loop-back test on all the backplane connections and test the clock outputs. Otherwise we need to move the board back to this fixture later.
    2. Chipscope test files: (teststand.cpj) (amc13_t2.bit) (AMC13_T1.bit)
    3. During the Chipscope Test, make sure to position a fan to cool the board. The board can overheat during the test, and is designed to shut off if it gets too hot.
    4. Memory Test Run the on-board SDRAM test (part of special Chipscope firmware test)
    5. Fiber Test Perform fiber loop-back test (part of special Chipscope firmware test)
  3. MicroTCA Crate
    1. Power down and move the board to any slot in the MicroTCA crate
    2. The blue LED should illuminate with the handle out.
    3. Push the handle in. Check that the blue LED goes out
    4. Erase EEPROM (instructions link)
      1. Connect MiniUSB cable to console connector, start minicom or putty
      2. Enter command mreset to reboot the MMC. Capture all the output log and save it for permanent record
      3. Enter commands eeperase, ENTER, yes, ENTER, ENTER to erase the EEPROM
    5. Communications Check and Programming
      1. Connect the JTAG cable and program the initial bit file into the Spartan FPGA (instructions using iMPACT)
      2. Log on to CMS2, calculate the IP address and ensure you can ping the module
      3. Using AMC13ToolFlash, program the flash memory: Header, Golden, Spartan, Kintex
      4. Power AMC13 to load firmware from flash
      5. Connect to AMC13 using AMC13Tool2 and check firmware with 'fv' command
    6. IP address setting check (MMC software documentations)
      1. Use to set the IP addresses to a new value and check access
      2. Use to set the IP addresses to a new value, cycle power and check access
      3. Use to set the IP addresses to 0.x.x.x, edit the rarp table, and check RARP access
    7. Event Builder Test
      1. Follow instructions for sending local L1As w/ loopback and building fake events
    8. Check and Record AMC13 Device DNA
      1. Each AMC13 board has an unique Device DNA
      2. Read T1 registers (0x1e) and (0x1f) and record the values listed into the board database (edf sign-in)
                    rv 0x1e
                    rv 0x1f
  4. Chipscope Test (in Test Fixture) (if not already done in previous step) (Wu's instructions)
    1. (See above)
    2. Chipscope test files: (teststand.cpj) (amc13_t2.bit) (AMC13_T1.bit)
  5. Update Board Database w/ test results (edit) (read only)
  6. Pre-Shipping Configuration
    1. Program with agreed firmware version
    2. Install TTC SFP (currently FTLF1318P3BTL)
    3. Install DAQ0 SFP (currently AFBR-709SMZ)
    4. Be sure stickers are in place (including front panel and T3)
    5. If appropriate add a red dot with owner written on it
    6. Fill out and include Shipment Sheet (also scan it to keep for records) (links to PDF) (Notes for IP/MAC address algorithm) (Example page w/ MAC address for SN57 change last digits in URL for different SN's)

Charlie's Old Production Test

This page documents an initial pre-shipping test procedure for AMC13 modules. It is assumed (for now) that Mr Wu or someone sufficiently qualified has performed an initial programming and test of the module.

Initialize TTC system (only needs to be done once if no one has messed it up)

  1. Press the reset button marked "PROG" on the Xilinx board next to the test stand
  2. Log on to daq@cms1 (password M.....e). Initialize the Xilinx TTC timing generator
    1. cd src/TTS_ctrl
    2. ./periodic_12hz
    3. cd ~/ttc
    4. DCCdiagnose.exe -x setup_ttc.dcc

Prepare the AMC13

  1. Install SFP:
    1. TTC in bottom site. Connect orange TTC fiber
    2. DAQ in top two sites. Connect blue jumper fiber
  2. Install AMC13 in MCH2 (top MCH site in middle of crate)
  3. Power up crate.
  4. Program firmware versions V=0x1f S=0xd, or any more recent version which contains the DAQ link receiver.

Run tests

  1. Log on and go to directory with test scripts (currently ~hazen/AMC13DaqTest but check for updates)
    1. It may be best to just make a copy of this directory somewhere writable and work there:
      1. cp -r ~hazen/AMC13DaqTest /tmp/myTests
      2. cd /tmp/myTests
  2. Edit if needed to set serial number correctly
  3. Type ./ AMC13DaqTest.exe with correct serial number (details rapidly changing)
    1. Execute do init.amc. This initializes the AMC13 and two uHTR boards
    2. Execute rc (reset counters)
    3. Execute st (status) several times. Should look "Sample status display" below.
    4. Check that under "Ctrl 0" it does not say "TTC not ready". This confirms that the TTC input is working
    5. Check that the "AMC Link status" is 04100410. This confirms that the uHTR backplane links are working
  4. Type command rv 4 (read Virtex register 4)
    1. Check that low 4 digits are "0111". This confirms that the 3 SFP are correctly installed, and that the optical fibers are connected.
  5. Type do test_with_daq.amc. This runs a test which should initialize the AMC13 and two uHTR and send data through the DAQ fiber.
  6. Type rv 0x10 0x10. This displays "secret" counters which check the DAQ link (see AMC13SecretLDCRegisters). A working link will show a display like "sample LDC registers" below. Note that offset 0x10 and 0x12 have arbitrary counts, while 0x13 and 0x14 should have the values below. All other counters should be zero.

Sample LDC registers

> rv 0x10 0x10
00000010: 000efa26 00000000 000efa3b 0000000a 00000154 00000000 00000000 00000000
00000018: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Sample status display:

> st
Ctrl 0: 01000010
  memory input fifo for monitored events overflow
Ctrl 1: 00100001
  run mode
AMC Link status: 04100410
Mon buffer page: 00000000  Evts: 0000000f  words: 0000100e
                                               --- AMC13 Event Builder status ---
                          uHTR CRC errors [000f] 00025889 00000000
                                Run time [0048] 00000000 0a1c5092
                                RDY time [004a] 00000000 0a1c8796
                                        --- AMC13 input link status ---
                         AMC Input link:     Link        4    Link       10
                 AMC Counter ACKs [000e] 00000000 000033a1 00000000 000033a1
       AMC ev buf near full times [0016] 00000000 00000005 00000000 00000005
                  Counter Accepts [004e] 00000000 00001435 00000000 00001435

-- EricHazen - 31 Aug 2012

Edit | Attach | Watch | Print version | History: r21 | r19 < r18 < r17 < r16 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r17 - 02 Jul 2015 - DavidZou
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback