MVD DCIM output packet format

The DCIM sends out packets of 16 bit words. The input data from the MCM's comes as 10 bits + a parity bit for each word -- for a total of 11 bits. The DCIM strips off the parity bit from the input values and saves only the vertical partity bit and the first 7 user words -- which point to the locations of ADC values with parity errors. So, you should never see an ADC value above 3FF (hex).

With the correlator on, our typical running mode, there are 256 ADC values in each packet. With the correlator off (aka raw mode), there are 512 ADC values per packet -- first 256 pre-samples followed by 256 post-samples.

Data word(s)
correlated mode
Data word(s)
raw mode
contents expected range of hex values
1 1 all 1's FFFF
2 2 DetID 2
3 3 level-1 trigger 1,2,... (16 bit word)
4 4 ModAdd 3E hex (fixed by jumpers on DCIM)
5 5 FlagWord 0
6 6 BeamCounter any 8 bit value is possible
7 7 AMUCells NNMM where NN=MM+2 (hex)
8-263 8-519 ADC values between 0 and 3FF (10 bits)
264 520 User word1 0, if non-zero, location of 1st parity error
... ... ... ...
270 526 User word7 0, if non-zero, location of 7th parity error
271 527 User word8 400 or 4400
272 528 Vert.Parity parity word
273 529 all zero 0


Details on flag word:
F0 = bit 0 = 0 means zero suppression off
F0 = bit 0 = 1 means zero suppression on

F1 = bit 1 = 0 means correlator on (short packet)
F1 = bit 1 = 0 means correlator off = raw mode (long packet)
F2-F15 are always zero


Details on user word 8:
U0 -- U9 (bits 0--9) are always zero
U10 = bit 10 = 1 means valid data
U10 = bit 10 = 0 means invalid data packet (probably no input to DCIM)
U11 = bit 11 = 1 means packet too short
U12 = bit 12 = 1 = no stop sequence
U13 = bit 13 = 1 = two consecutive start sequences
U14 = bit 14 = 0 for even channels (0,2,4)
U14 = bit 14 = 1 for odd channels (1,3,5)
U15 = bit 15 = 0 for less than 8 words with parity error
U15 = bit 15 = 1 for more than 8 words with parity error


updated 10-Aug-2000
John Sullivan