Difference: AMC13UserManual (12 vs. 13)

Revision 1323 Mar 2015 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
THIS MANUAL IS INCOMPLETE but what is written here should be more accurate and up to date than the old "functional specification". Please e-mail me if you find mistakes/omissions here (Eric H).
Line: 198 to 198
 
  1. SFP transceiver with loop-back fiber from Tx to Rx must be installed in bottom site
Added:
>
>

Wu's Debugging Guide

 
Deleted:
<
<
-- EricHazen - 20 Aug 2014
 \ No newline at end of file
Added:
>
>
AMC13 quick trobleshooting with register dump
	Last updated on 3/19/2015

Following description is accurate only for T1 versions
0x4020, 0x225, T2 version 0x27 and later.
Also make sure bit 11-0 of T1 reg 0x5 are all 0, any bit
set to 1 indicates that AMC module has a different backplane
link version as that of the AMC13 T1 firmware.

T1 version is bit 31-16 of T1 reg 0x1
T2 version is bit 15-0 of T2 reg 0x0

a)Keep firmware up to date
  Always check for the latest firmware and upgrade
your system. New versions are released to fix bugs or
adding debugging information, so it is important to
keep your firmware up to date. If you have problems,
upgrade to the latest version and see if that solves
your problem.

b)TTC problems
  Once set up right and TTC works correctly, check regularly
  the following T2 registers:
  0x7 counts bcnt errors, it should have no more than couple
      of counts.
  0x8 counts TTC single errors, it should have no more than couple
      of counts.
  0x9 counts TTC multiple errors, it should have no more than couple
      of counts.
  If TTC does not work, 
    first check T1 reg 0x4:
    if bit0 is 1, TTC optical receiver is absent.
    if bit7 is 1, there's no TTC input signal, check the
                  cabling to TTC source. 
  If AMC13 registers look OK, but AMC modules have TTC
  problem, make sure your TTC decoder has the right timing.
  AMC13 output TTC clock's edge is in the middle of the TTC
  data on the backplane.

c)run stopped because of AMC13
  If run stopped and bit 15-12 of T1 reg 0x19 is not 0x8, check T1 registers
  0xe1a, 0xe1b and 0xe1c. If any of them is non-zero, at least one AMC is
  causing the problem. Each AMC uses one byte, AMC1 using bit7-0 of reg 0xe1a
  and AMC2 using bit15-8 of reg 0xe1a and AMC3 .... The definition of the byte is
  bit7 if set, AMC has been in disconnected state
  bit6 if set, AMC has been in error state
  bit5 if set, AMC has been in out of sync state
  bit4 if set, AMC is in disconnected state
  bit3 if set, AMC is in error state
  bit2 if set, AMC is in out of sync state
  bit1 if set, AMC is in busy state
  bit0 if set, AMC is in overflow warning state

  If AMC13 is in overflow warning or busy states, first check T1 reg 0x0. If bit0
  is set, cDAQ is down. Otherwise, check T1 reg 0xd4, if bit 18-16 are not all 0.
  cDAQ full stopped sending data out. If cDAQ is neither down nor full, and bit 10-8
  are all 0, then it is event builder not building events. Next check T1 register
  0xe0c, if any bit of bit 11-0 is not 0, the corresponding AMC(bit 0 AMC1) has no
  data.

d) data integrity problems
  T1 register 0xb3-0xb5 counts event cmsCRC error for SFP0,SFP1 and SFP2
  T1 register 0xb6-0xb8 counts event length error for SFP0,SFP1 and SFP2
  T1 register space 0x800-0xdff are monitoring counters for AMC modules,
  each AMC module occupies 0x80 32 bit space, AMC1 uses 0x800-0x87F.
  following registers' address is offset address in their own space. Each counter
  occupies two 32 bit space. Even address is the lower 32 bits and odd address is
  the upper 16 bits of the counter.
  offset 0x6-7 is event number of the event mismatch counter
  offset 0x8-9 is Orbit count of the event mismatch counter
  offset 0xa-b is BC count of the event mismatch counter
  offset 0x12-13 is bad EventLength counter
  offset 0x14-15 is trailer Evn mismatch counter
  offset 0x1e-1f is link input Evn skip counter
  offset 0x3a-3b short event at input counter(less than three 64bit words)
  offset 0x3c-3d number padded words for short event
  (offset less than 0x40 are from the backplane link module built inside the AMC module.)
  offset 0x6a-6b is the same as offset 0x6-7, but counted inside AMC13
  offset 0x6c-6d is the same as offset 0xa-b, but counted inside AMC13
  offset 0x6e-6f is the same as offset 0x8-9, but counted inside AMC13
  offset 0x70-71 is the same as offset 0x12-13, but counted inside AMC13
  offset 0x78-79 is bad AMC event CRC counter
  offset 0x7a-7b is TTS state is error counter
  offset 0x7c-7d is TTS state is out of sync counter
  offset 0x7e-7f is TTS state is disconnect counter

  If all these counters are 0, there is no data integrity problem detected.

e) Other T1 registers containing important run information
  0x46 number of L1A received
  0xba	low word of SFP0 sum of event length from CDF trailer
  0xbb	bit 55-32 of SFP0 sum of event length from CDF trailer
  0xbc	low word of SFP1 sum of event length from CDF trailer
  0xbd	bit 55-32 of SFP1 sum of event length from CDF trailer
  0xbe	low word of SFP2 sum of event length from CDF trailer
  0xbf	bit 55-32 of SFP2 sum of event length from CDF trailer
  0xc0	SFP0 built event count
  0xc1	SFP1 built event count
  0xc2	SFP2 built event count
  0xc4	SFP0 built event word count(lower 32 bit)
  0xc5	SFP1 built event word count(lower 32 bit)
  0xc6	SFP2 built event word count(lower 32 bit)
  0xc8	SFP0 built event block count
  0xc9	SFP1 built event block count
  0xca	SFP2 built event block count

  in the range of 0x800-0xdff, for each AMC module:
  offset 0xc-d  number of events received at link input
  offset 0x18-19  number of words received at link input
  offset 0x40-41  number of words received by AMC13 from AMC module
  offset 0x52-53  number of events received by AMC13 from AMC module
  offset 0x72-73  number of event blocks received by AMC13 from AMC module

f) Monitor buffer can buffer up to 0x400 events/blocks, each buffer occupies 
   0x20000 32 bit words.
  you can read any buffer using the following command:
  rv [starting address] [length]
  where starting address = 0x8000000 + (offset x 0x20000)
  e.g. the starting address of the first buffer is 0x8000000
  and the starting address of the second buffer is 0x8020000, etc.
  maximum offset is 0x3ff and the length is in 32 bit words.

Please email comments and suggestions to
wusx@bu.edu with subject as amc13debug

-- EricHazen - 23 Mar 2015

 \ No newline at end of file
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback