• Main INDEX
  • Monthly INDEX
  • PREV
  • NEXT
    Make New Entry, Make Followup Entry

    User name R. Michaels

    Log entry time 20:44:55 on February19,2011

    Entry number 347724

    keyword=further helicity checks (I)

    We've asked for access to check the helicity electronics.

    Meanwhile I found out from Qweak that the helicity board is ok.
    So the failure to see predicted helicity is not due to that.

    I wrote a new VME check task to check for "deadtime".

    What we expect is a pattern that is like

    Qrt .... Hel

    1 ...... 1
    0 ...... 0
    0 ...... 0
    0 ...... 1
    1 ...... 0
    0 ...... 1
    0 ...... 1
    0 ...... 0

    The first of a quad has Qrt (aka patt. synch) = 1, and the
    other 3 have Qrt = 0. The helicity is then either 1 0 0 1
    or 0 1 1 0. I checked thousands of sequences, and there are
    indeed occasional glitches. This indicates some sort of
    failure of the electronics, or multiple-pulsing, or missing
    data, or marginal timing, or something.

    It's funny that for several seconds there are no errors,
    then there is a burst of errors. Only typically 1 in 5000
    are affected, so it's difficult to see the problem using printf.

    The implications are not yet clear, but right now I think it's
    survivable. I am taking access to check the electronics.

    ----------- Typical checks at VME (TS11) -------------

    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 9985
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 9985 = 0x2701
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 752
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 752 = 0x2f0
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 720
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 720 = 0x2d0
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 800
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 800 = 0x320
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 1376
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 1376 = 0x560
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 640
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 640 = 0x280
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 4033
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 4033 = 0xfc1
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 5776
    0x1ebe6560 (tShell): CheckRing: mid hel mismatch (0)
    0x1ebe6560 (tShell): CheckRing: end hel mismatch (0)
    0x1ebe6560 (tShell): CheckRing: Error = 0x14
    value = 5776 = 0x1690
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 5712
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 5712 = 0x1650
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 1104
    0x1ebe6560 (tShell): CheckRing: NO errors
    value = 1104 = 0x450
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 1456
    0x1ebe6560 (tShell): CheckRing: mid hel mismatch (1)
    0x1ebe6560 (tShell): CheckRing: end hel mismatch (1)
    0x1ebe6560 (tShell): CheckRing: Error = 0x28
    value = 1456 = 0x5b0
    -> CheckRing()
    0x1ebe6560 (tShell): CheckRing: num in ring = 1040
    0x1ebe6560 (tShell): CheckRing: end hel mismatch (1)
    0x1ebe6560 (tShell): CheckRing: Error = 0x20