Tuesday, November 17, 2009

FCS Bin Size - Board #2

New FCS hardware and firmware now provide the FCS application-level software the option of choosing one or two data channels. Lisa measured and verified the actual time bin sizes generated from the new board.

The bin sizes for one-channel mode are 0.4801 μs, 1.0002 μs, 2.0003 μs and 5.0007 μs. For two-channel mode, the values are 0.8201 μs, 1.0002 μs, 2.0003 μs and 5.0007 μs.

Tuesday, November 3, 2009

FCS Bin Size - Board #1

The FCS software provides four different user-selectable bin sizes. Nominally, the available bin sizes are 0.8 μs, 1 μs, 2 μs, and 5 μs. The actual bin sizes will be slightly different because of how they are calculated in the firmware. (I will go into more detail on this below.) In reality, the bin sizes used by the software are 0.818 μs, 0.998 μs, 1.995 μs, and 5.009 μs.

The FCS hardware is controlled with an SX48 microprocessor, and the different bin sizes are generated by adding or removing instruction cycles to the SX code. The SX uses a 50MHz crystal, so each instruction cycle is 20 ns. These actual bin sizes are the closest we could get to the ideal values given the 20 ns resolution. The code for the 0.818 μs bin size has no delay cycles added, so this is the smallest possible bin size.

Wednesday, September 16, 2009

Code Profiler for Windows

Very Sleepy is a nifty little C/C++ profiler. It's been useful for me in code development. Plus, it's free!

Make sure to activate the proper compiler options (/Zi) in Visual Studio's property settings to produce the necessary debug information in Program Database format.

Thursday, April 23, 2009

MPM Scan - Version 0.4

Latest version of the software also executes in simulation mode without being tied to the PCI DAQ card. This enables it to function as a standalone desktop app in order to test certain features, portability, etc ...

Modified the interface layout to accommodate image statistic graphic view, region-of-interest selection capability, image frame resize, and multi-channel and single-channel capture modes.

Read more ...

Download latest project source code.

Thursday, January 8, 2009

FCS Software

An initial prototype of a multi-tau software correlator. This multi-threaded software program buffers incoming streams of photon count data from a PCI-based data acquisition board, and calculates and displays correlation results in real-time.

For now, an SX processor-based development board is used to generate steady streams of gaussian pulse train which allows the software implementation of the multi-tau algorithm to be tested.

Read more ...

Download latest project source code

Wednesday, July 30, 2008

Un-crashing Netburner Mod5213

When programming the NetBurner Mod5213, I ran into the problem where I would get the error "Failed to Connect to Serial Port" and I could no longer download any programs (even ones that worked previously) to the board.

Apparently the code I was trying to run did something to make the 5213 very unhappy - such as a pointer to a bad location or something along those lines. So, it crashed and entered a state where it resets itself every few seconds which makes it impossible to program. A very helpful tech support person just walked me through the simple (haha) procedure to get out of this loop and back to programming. I'm posting the procedure here because it is apparently a very common problem.

-With power on and serial cable connected, Open MTTTY
-Connect to the board (File -> Connect)
-Cycle power to the board. (You should get the message "Waiting 5sec(s) to start 'A' to abort")
-Type in "A". (You should get a message with valid commands)
-To make sure it is working, load the original factory program from SerialLoad...
-Open Serial Load (Start -> Programs -> Netburner NNDK -> Serial Update Tool)
-Browse to the file Nburn -> MOD5213 -> original -> MOD5213FApp_APP.s19
-Click "Open"
-Click "Update"
-Go back to MTTTY and connect (if disconnected)
-Hit the reset button on the board. (You should get the Factory Demo program Main Menu)
-Fix whatever the heck caused this problem in the first place before trying to re-load the program

Wednesday, July 9, 2008

PMT Controller Update

I have updated the PIC code for the PMT Controller board. I've uploaded the latest code and also a new version of the spec which reflects the recent changes. You can download these items (and any other MPM documentation) here.


Some highlights from the recent updates...


  • The interface between the controller and the PC has been redefined. Now whenever the controller receives any USB command from the PC, it returns a 54-byte array which contains the current status or settings of every controller register.

  • The controller now detects overload errors when a type 3 PMT (Hamamatsu H7422P with cooler and protection circuit) is connected to any of the ports.

  • The controller resets the PMT when it detects an error.


  • There is an error counter for each channel (which rolls over at 255).