Difference between revisions of "Sync Box"
(→Sync Box Firmware) |
|||
Line 1: | Line 1: | ||
+ | A Sync Box generates a data-valid pulse along with a 32-bit number to synchronize the data-acquisition operation of up-to 8 MCE subracks and other housekeeping equipment. The Sync Box has 8 fibre outputs to connect to the MCE subracks and few TTL outputs to be used by other housekeeping equipment. | ||
+ | |||
+ | The Sync Box comes in 2 different packaging or enclosures: | ||
+ | # A rack-mount AC-fed Sync Box | ||
+ | # A DC-in 20cmx20cmx5cm box | ||
+ | |||
= Sync Box Firmware = | = Sync Box Firmware = | ||
− | + | For instructions and downloads see: [[ Sync Box Firmware ]] | |
− | |||
= Sync Box Power Consumption = | = Sync Box Power Consumption = |
Revision as of 11:48, 9 April 2010
A Sync Box generates a data-valid pulse along with a 32-bit number to synchronize the data-acquisition operation of up-to 8 MCE subracks and other housekeeping equipment. The Sync Box has 8 fibre outputs to connect to the MCE subracks and few TTL outputs to be used by other housekeeping equipment.
The Sync Box comes in 2 different packaging or enclosures:
- A rack-mount AC-fed Sync Box
- A DC-in 20cmx20cmx5cm box
Contents
Sync Box Firmware
For instructions and downloads see: Sync Box Firmware
Sync Box Power Consumption
A Sync box equipped with all 8 Fibre transmitters consumes 8.75W. Each Fibre transmitter (HFBR1119) consumes 185mA x 5V = 0.925W. To lower consumption, the unused transmitters can be removed.
A Sync box unit weighs 1.9kg.
Sync Box User's Guide
The Sync Box user's guide and list of available commands is available here.
Sync Box Programmable I/O
- ACDCU(0-7): 8 TTL outputs. Carries a high/low signal that enables/disables the MCE AC/DC converter.
- MCE(0-7): 8 Fibre outputs. Carries a 50 MHz Manchester-encoded signal containing data packets, which include incremented sequence numbers. Programmable as two sets of 4 outputs with differently spaced data packets on each.
- RTS-DV: TTL input. Detects falling edges from a Real-Time Sequencer (implemented by SCUBA2) which tells the Sync box when to tell the MCE's to collect data.
- OPTO-TTL: TTL input, spare input to the command processor. ***Not currently used, and open for suggestions.
- RS232 RxTx: TTL input and output, used to command the Sync Box from a PC.
- DV Spare 1: TTL output. Carries a 5 MHz clock signal that is synchronous with DV Spare 2.
- DV Spare 2: TTL output. Carries a 5 MHz data signal that is synchronized with DV Spare 1, and contains the same sequence numbers as the MCE(0-7) outputs. NOTE: This output only contains the DV info stream, but not the occurrences of Addr_Zero between DVs.
- Polarimeter: TTL output. Carries a 5 MHz TTL signal that contains the same sequence numbers as the MCE(0-7) outputs.
- FTS: TTL output. Carries a 5 MHz TTL signal that contains the same sequence numbers as the MCE(0-7) outputs.
- TTL-IN: SMB TTL input, spare input to the FPGA. ***Not currently used, and open for suggestions.
- TTL-OUT: SMB TTL output. Carries a 50 MHz clock signal.
Minicom Setup
To issue commands to a sync box over an RS-232 line, you can use a Linux program called 'MiniCom'. To install this application, type the following:
> sudo apt-get install minicom
To start MiniCom:
> sudo minicom
Minicom needs the following options changed for it to work properly:
> <ctrl-a>, <z>, <a> > <ctrl-a>, <z>, <o>, <Serial port setup> <Serial Device> = /dev/ttyS0 > <ctrl-a>, <z>, <o>, <Serial port setup> <Bps/Par/Bits> = 9600 8N1 > <ctrl-a>, <z>, <o>, <Serial port setup> <Hardware Flow Control> = No > <ctrl-a>, <z>, <o>, <Serial port setup> <Software Flow Control> = No > <ctrl-a>, <z>, <o>, <Modem and dialing> <Modem has DCD line> = No
After you modify these settings, remember to save, exit, and restart Minicom.
Commands to the Sync Box
Using Minicom, a list of all the commands available is given by typing
> h
MCE Setup for the Sync Box
To check that the sync box is connected correctly to the MCE, issue the command
wb cc select_clk 1
and then read back the value:
rb cc select_clk Line 0 : ok : 1
Setting select_clk to 1 tells the MCE to sync its internal clock with the clock signal encoded from the sync box. If the MCE does not see the sync box, the parameter will revert to 0 in about 1 second.
To accept sync triggers and serial numbers from the sync box, two more commands are needed:
wb cc use_sync 2 wb cc use_dv 2
These registers are configured automatically by the config system if the parameters "hardware_sync" and "config_sync" are both 1 in experiment.cfg. If you change the values in $MAS_DATA/experiment.cfg instead of $MAS_TEMPLATE/experiment.cfg, remember to "mce_make_config" before re-running the config script.
Also be sure that you have copied the correct mce.cfg file over to /etc/mce folder from the following locations:
- /home/mce/mas_trunk/config/v4 (for 4-series firmware), or
- /home/mce/mas_trunk/config/v5 (for 5-series firmware)
A quick way to check that sync numbers are getting into the MCE frame data is to take some frames and check the data using the eat_packets tool:
mce@mce-ubc-2:~$ mce_status -s | grep fw_rev mce@mce-act-b1$ mce_run sync_test 400 s RUNFILE_NAME=/data/cryo/current_data//sync_test.run FRAME_BASENAME=/data/cryo/current_data//sync_test mce@mce-ubc-2:~/mce_script/script$ eat_packets -n 5424 -f $MAS_DATA/mce_run10 Forced frame_size=1356 (5424) offset frm_idx frame# 0000000000 0 0 surprise sync_dv 4168076, after sequence [0,0) EOF, exiting after 10000 frames + 0 bytes
If the mce_run does not terminate quickly, the sync box may not be properly connected to the MCE. If the eat_packets complains only about the first frame (offset 00000000), then the sync numbers are intact and incrementing contiguously. If eat_packets complains about pretty much every frame, the sync numbers are not getting into the frame data.