Saturday, January 21, 2012

Fri., Jan. 20th

Darryl & David are here working on the paper with Ray.

Michael Sprouse (new volunteer) is here and I took him through the system, both hardware and software.  I showed him where I was at when I left Wednesday, testing the new timing-sync edge-capture datapath using the scope.  When I left Wednesday I was thinking that there was still some problem with the front-end edge-capture module because the state machine seemed to be skipping some states.  But while showing the traces to Michael Sprouse I realized that I just hadn't zoomed in far enough - the state machine is indeed going through the expected state sequence 0, 1, 2, 3, it's just that states 1 and 2 only last 5 ns each (one cycle of the 200 MHz clock).  State 1 is wait_fall, which we'd normally expect to stick around for 100 ns, but what's happening here, apparently, is that there is some intense ringing on the input that causes it to go low immediately after first going high.  It's not really a serious problem because we really only care about the problem of the leading rising edge, but anyway, next time I'm in the lab, I should test to see if this problem goes away if we remove the probe on the PMT_3 (TimingSig) board-level node; it's possible that at least some the ringing may be being caused by the probe itself, even though (I thought) we were using a 1-Mohm probe (check this again to make sure).

Then I turned to integrating the new firmware - Darryl confirmed that the latest version of it is in Dropbox (\FEDM_design\FEDM_code\q91\software_v4\FEDM_ctrl_fw).  The new files are tcdp_driver.{c,h} (this module should be renamed to tsdp_driver) and interrupt_timing.c, which was copied from interrupt.c and then modified to add the new functionality.  I went into Cygwin and did a context diff between interrupt.c and interrupt_timing.c to see what changed between them.

One surprise is that the code to actually integrate the timing information into the data sent to the server apparently has not been written yet - so, even if everything that Darryl & Juan already did works perfectly (and this still needs to be tested), we still have more coding to do before we achieve our milestone of getting a complete stream of pulses plus absolute time-tagged data to the server.

No comments:

Post a Comment