- 1. Can the Pixie-Net be directly connected to a PC (not through a network router)?
- 2. Is it possible to increase the number of samples for the gettraces/cgitraces functions?
- 3. The Pixie-Net becomes very warm. Is something wrong?
- 4. What is the Pixie-Net input range?
- 5. Which parameters influence the peak position in the MCA spectrum?
- 6. Why do the Pixie-Net web pages not display correctly in [my favorite browser] ?
- 7. The Igor Pro interface for the Pixie-Net starts with a compile error. What is wrong?
- 8. How can I change the Pixie-Net's MAC address?
- 9. How can I change to a larger SD card?
- 10. Where can I find a good summary of essential Linux commands?
- 11. The manual doesn’t elaborate much on ./findsettings. Do I need to do it each time I run ./progfippi? Do I need to run ./progfippi each time I change settings.ini?
While this may sound like the most simple and straightforward setup, it's usually not a good solution. You would normally not connect 2 PCs directly through their Ethernet ports, and the Pixie-Net is much like its own PC.
Unless the PC has multiple Ethernet ports, it will lose connection to the rest of the world if you use its port to directly connect to a Pixie-Net. The Pixie-Net will not be able to synchronize time and date unless the PC provides that service, and will start with a date in 1970 after every reboot.
If the Pixie-Net can not be connected to the facility's network due to administrative restrictions, we recommend setting up a small dedicated network with a local router (similar to a home network for DSL users).
You can connect to the Pixie-Net through the USB-UART port for a terminal login. (See section 2.2 of the manual.) This allows changing settings and start/stop run operations. No network related functions will be available to view or transfer files, but data transfers can be made with an USB stick.
It is possible to make a direct Ethernet connection between the Pixie-Net and a host PC. This requires reconfiguration of the network settings on both sides. See section 2.8 in the user manual for Windows or see here for an example in Linux.
However, unless the PC has multiple Ethernet ports, it will lose connection to the rest of the world if you use its port to directly connect to a Pixie-Net. The Pixie-Net will not be able to synchronize time and date unless the PC provides that service, and will start with a date in 1970 after every reboot.
This can be easily modified by changing the respective C functions. For example, in cgitraces.c, line ~95, there are 4 loops that read the samples from the 4 channels. You can either increase the number of samples, or add delays between samples. (Instead of single samples taken after delays, one could also build some kind of average).
After the code change, just type "make" to recompile.
The web page displaying the ADC samples is not particular to the number of samples in the csv files.
The Pixie-Net dissipates around 10W in a small space. The enclosure acts as a heat sink and can become noticeably warm. It is normal to feel warm, but should not be too hot to touch. Adequate ventilation is recommended -- not necessarily a fan blowing on the Pixie-Net, but don't put it in an enclosed space either.
The Pixie-Net has 2 thermal sensors built in, one for the ADC board and one for the Zynq board. Their reading is reported by the progfippi function and in the run statistics webpage. Typical values for operating in an air conditioned lab is around 70 degrees Celsius. The ICs inside the Pixie-Net are rated for operation to 85 degrees or higher.
The input range is always a bit tricky, since one has to account for gain and termination.
First, gain: Per specs, the input range is "from 0V to (2V/analog gain)" . The ADC accepts 0-2V, but there is an analog gain stage in front of it. The analog gain is 2 or 5 (parameter ANALOG_GAIN in the settings file). So at gain 5, the range on the Pixie-Net's SMA connector is 0-0.4V.
Second, termination. The 50 Ohm termination on the Pixie-Net and the (assumed) 50Ohm series termination on the signal source form a resistive divider. At the Pixie-Net's SMA connector, you have therefore only half the amplitude of the signal source. So a signal from 0-0.8V at the source maps to 0-0.4V at the SMA and, with gain 5, to 0-2V at the ADC. The DC offset just shifts the signal up or down.
There are several parameters. Listed in order of signal processing, they are:
- MCSRB_TERM01_01, MCSRB_TERM23_02 control 50 Ohm termination vs "high Z" termination. Assuming a 50 Ohms series impedance of the signal source, 50 Ohm termination will divide the signal amplitude by a factor 2 (and often reduce reflections and ringing in the signal).
- ANALOG_GAIN is the amplification of the incoming signal in the analog stage after termination and before the ADC. It is used to ensure that the ADC's input range of 0-2V matches the signal amplitude (after termination and analog gain).
- TAU is the decay time for the falling edge of the pulse. It is used in the pulse height computation to correct for overlapping pulses and for decay of the signal during the filter sums. The TAU parameter is used in a factor exp(-t/TAU) in the pulse height computation, so changing TAU will change the computed pulse height and therefore the peak position in the MCA spectrum. However, It is critical for best energy resolution that TAU matches the decay time of the pulse, especially at high rates from a detector (with random time between pulses).
- DIG_GAIN is an arbitrary factor that is applied to the computed pulse height. While the previous parameter are contrained by requirements to bring the signal into th ADC range and match the decay time, DIG_GAIN can be freely chosen (any positive floating point number).
- BINFACTOR controls the mapping of the computed pulse height into the available MCA bins. This rarely needs changing and is usually not listed in settings.ini, only in defaults.ini. Pulse heights are computed as 16bit integers, 0-64K. The MCA has 32K bins. With a default BINFACTOR of 1, pulse height values are downshifted by 1 bit (divided by 2) to match the full MCA range of 0-32K. BINFACTOR 2,3 etc downshift pulse height values by 2,3, etc bits (divide by 4, 8, etc) to map the full pulse height range into an MCA spectrum of 16K, 8K, etc. This is sometimes useful to better show peaks in cases of low resolution detectors with low count rates.
Some of the Pixie-Net web pages rely on freely available java scripts. We do not control the contents and compatibility of those scripts, nor can we try out the Pixie-Net pages on all possible browsers. The web pages are currently only tested with Firefox.
The Pixie-Net Igor Pro interface relies on Igor's "very dumb terminal" functions to communicate over the serial port. Make sure the VDT functions are loaded in Igor: The file VDT2.xop must be present in the Igor Extensions folder. (Usually C:\Program Files (x86)\WaveMetrics\Igor Pro Folder\Igor Extensions)
The Pixie-Net boot process relies on the U-boot utility, which has a simple command-line interface to modify basic settings and environment variables. The environment variables are stored on local flash memory, not the SD card.
U-boot’s shell is reached by typing any character on the UART console immediately after U-boot starts. In that shell, to change the MAC address to 00:11:22:33:44:55, type:
xillinux-uboot> set ethaddr 00:11:22:33:44:55
Saving Environment to SPI Flash...
Erasing SPI flash...Writing to SPI flash...done
For more info, please see the xillybus manual, section 4.3.4.
The procedure would be to first clone the old/small card to the new/large card, then resize the file system. For the latter, please see the xillybus manual, section 4.4.1.
Please see here, Appendix A
11. The manual doesn’t elaborate much on ./findsettings. Do I need to do it each time I run ./progfippi? Do I need to run ./progfippi each time I change settings.ini?
The typical startup sequence is to run ./progfippi pretty much as soon as the modules is powered up to initialize all parameters in the pulse processing logic. Then, with detectors connected, run ./findsettings to resolve a possible random channel swap and to find the offsets. If you prefer to keep the original offsets from settings.ini, run ./progfippi again to overwrite the changes that ./findsettings made to the offsets, else update settings.ini with the offsets found by ./findsettings to keep applying the new offsets in all future executions of ./progfippi.
Every time there is a change in settings.ini, run ./progfippi to apply the changes to the pulse processing logic.
- The inversion option in settings.ini must be set correctly (pulses appear as fast rise slow decay) for ./findsettings to find the offsets
- ./findsettings changes the offset parameters in the pulse processing logic, but not in the settings file settings.ini.
- The offsets found by ./findsettings should be good for all future operations with the detector (unless it drifts). If settings.ini has been updated with those offsets once, it does not need to be edited (unless the detector drifts). However, ./findsettings still must be run once after power up to resolve the possible random channel swap.
- ./findsettings should be executed again after changes in analog gain and input termination as this likely affects the offsets.