Central Fiber Tracker Commissioning

Please refer to the CFT homepage for a general description of the Central Fiber Tracker project. The CFT Trigger homepage also has a lot of information.


News:


skip to:

Please contact Thomas Nunneman, nunne@fnal.gov, for more up-to-date information.

back to:


Introduction

Charged particles cause scintillation light to be emitted in the scintillating fibers. The light is channeled by waveguide fibers that shine on VLPC, visible light photon counters. The VLPC send a signal to SIFT chips that discrimnate the signal for trigger and send it to a SVX chip for readout. The Sequencer sends the data over optical link to VRB system (a VME based DAQ).

The SIFT and SVX chips reside on the AFE (Analog Front End) board, and are the current critical point of concern in getting the Run II CFT DAQ chain working.

back to the top

References

Here are a few links to information related to data acquisition at D0:

Anderson's Web page, which has some AFE info.

Rack Monitor.

Topic Comment
Online Computing D0's online computing homepage.
Oracle Database
VME VME VITA standards. The Lecroy VME Tutorial
VXWorks Operating system used on the VME embedded processors.
Epics A set of software components and tools for system control; specifically, channel access, which provides network transparent communication between a client and an arbitrary number of servers. D0's Python wrapper of Channel Access. EPICS= Experimental Physics and Industrial Control System.
COMIS An interface to EPICS (COMmunicate with epICS). COOR will talk to COMICS which will in turn talk to EPICS.
PythonAn interpreted "scripting" language used at D0 for many aspects of the DAQ (data acquisition) Tutorial.
SVX 128 channel readout chip which allows data sparsification (zero-suppression), analog storage, and digitization. Chip has analog pipeline with 4µs of delay to give time to form a trigger. Each of the 128 channels has it's own Wilkenson 8-bit ADC.
SVX Emulator In the absence of working frontend boards, one can fake it, and have the Sequencer readout the SVX emulator board.
SVX Sequencer SVX Sequencers control the SVX chips for data acquisition, and when a trigger occurs, they gather and relay the SVX data to the VRBs.
SVX Sequencer Controller The SVX Controller converts the Serial Command Link commands into the Sequencers format.
1553 Controller Military serial bus. Made by the Fermilab accelerator group. Unfortunately, no manual exists for this module. Essentially, the controller drives the serial bus. Up to 31 RT "remote terminals" allowed.
VRB VME Readout Buffer.
VTM Fiber optic receiver module. It receives the signal from the sequencers and is stuck in the crate of the VRBs, see
VRB manual.
VRBC VME Readout Buffer Controller. Control of the VRBs is provided by the VRBC. Following a Level 1 accept, the VRBC supplies the VRB with a buffer number for data input into the VRBs. Following a Level 2 Accept, the VRBC supplies the VRB with a buffer number for data to output to VME.
VBD VME Buffer Driver. Used to send the data stored in the VRBs to Level 3 after a Level 2 Accept.
SCL Serial Command Link: carries timing information, L1 and L2 trigger decisions, and init requests to all 128 Geographic sections.
MPM Multi-Port Memory
Clock Timing, Sync, and Clock at D0. Contact person: Dan Edmunds.
  • 18.8ns or 53.104MHz, RF Bucket crossing rate.
  • 1113 Buckets are filled, clock can spit out a 1 or 0 for each of the 1113 using a RAM.
  • Closest Bucket separation, 7RF buckets, 132ns.
  • Once per turn rate is 47.712KHz, or 20.96µs
  • TeVSync, or "BOT" used to get precise picosecond times.
Cryo Dan Markley is the contact person.
SIFT Trigger route for the CFT.
Mixing Box Transform fiber data into trigger sectors.
(Final) AFE Analog Front End boards.
VRC Level 3 VME Readout Control; orchestrates getting data from VBDs.
DART A Fermilab data acquisition package.
COOR Program to coordinate client data acquisition requests on the online system.
Examine D0's event monitoring program.
Taker User interface to COOR for data taking.
SDAQ The secondary data acquisition path (elsewhere called "slow control").
SES Significant Event System, message and monitoring system; primary use is to report alarms to DAQ users.

back to the top

Online Notes

skip to:

VBD

Here is a explanation of what must be done to get the VBD correctly initialized:
Address(hex)Mode Value(hex)Comment
6000 Write000C Write a zero into bit 4 (starting from bit zero) of the control status register 0 (CSR0) to allow the control memory of the VBD to be altered. Bits 2-3 control the DMA timeout value.
6008 Write0002 Select central tracker mode of readout.
600a Writec0d2,002a event address (pointer)
600c Writec0d0,c0d0 crate id address (pointer)
6010 Writebbf9,bb00 address mode, "d-control", controls access mode of data and word count reads.
6012 Writeeded,f900 address mode, "p-control", controls access mode of event number and create ID reads.
6014 Writeff0a,ff08 specify value of upper address bits during parameter value reads.
7000 Write0032 Here is the null (0) terminated list of the number of word counts, should be one per VRB.
7002 Write0032
7004 Write0032
7006 Write0032
7008 Write0032
700a Write0032
700c Write0032
700e Write0032
7010 Write0032
7012 Write0032
7014 Write0000
7800 Write000a Data block pointer list, the first slot to read, etc. One for each VRB. Note: don't forget the space for the VRBC.
7802 Write0018
7804 Write000b
7806 Write0018
7808 Write000c
780a Write0018
780c Write000d
780e Write0018
7810 Write000f
7812 Write0018
7814 Write0010
7816 Write0018
7818 Write0011
781a Write0018
781c Write0012
781e Write0018
7820 Write0013
7822 Write0018
7824 Write0014
7826 Write0018
6000 Write0080 Reset the VBD, note should wait at least 200msec to let all of the control registers be updated with the new values.
6000 Write001c Toggle back bit 4 of CSR0 to disable writing to the control memory of the VBD.
6000 Read ? Why do they read CSR0 back twice????????
6000 Read ?

Questions:

back to the list

VRB

Don't forget, the switches must be set to D0 mode in order to make the VRB work correctly!

The VRB crates are set up as follows:
slotmodule
1PPC
4VBD
14VRBC
10-20 (not 14)VRB

back to the list

VRBC

The SCL geographic sector for the VRBC crate is currently 66(hex?).

back to the list

Sequencer

The SCL geographic sector for the sequencer crate is currently 5.

back to the list

Sequencer Controller

Here is a explanation of what must be done to get the SEQC correctly initialized:
Address(hex)Mode Value(hex) Comment
1 Write0080,0081,0082 Reset the SEQC.
1 Write0000,0001,0002 Set the trigger source. SCL,VRBC, and 1553 trigger source, respectively.
1 Read ? ?
2 Write 80 Diagnostic Trigger Register. Write
3 Write0000-000A Delay of clock to sequencers in 2.5ns steps; 0 least
4 Write0000-0007 Delay of clock to sequencers in 18.8ns steps; 0 least
5 Write0000-0007 Delay of clock to sequencers in 132ns steps; 0 least

Questions:

Essentially, the sequencer controller passes on the NRZ and clock signals to the sequencer. The NRZ is just a serial line strobed by the clock, in which a framed bit string is sent. There are three possible sources of the NRZ signal: the VRBC, the 1553 controller, and the SCL. The VRBC can generate the NRZ signals without conversion whereas the 1553 and SCL signals are converted into NRZ by logic in the SEQC.

back to the list

1553 Controller

The 1553 controller is a module which controls a 1553 bus. It was made by the Fermilab accelerator group and, unfortunately, no manual exists. Fritz has written a few programs to test the 1553. The 1553 controller has been setup in the crate with PPC d0olctl36.

One can test either channel 0 of 1 of the 1553 controller, i.e. each controller can drive two different busses each with up to 31 RTs (remote terminals) per bus. One can see which sub-addresses of the RTs on the bus are occupied.

One feature of Fritz's code is that after making a text entry, one must explicitly hit Enter, or the value is not registered.

NOTE: I've found out that doing the "fast" scan can hang the 1553 controller crate. The only way to fix the system is the reset the PPC.

back to the list

VME Base Addresses

VRB System Base Addresses (in hex):
ModuleBase Address Comment
VRBC 480000 .
VRB 0X0000 X is the slot number that module is plugged into; for example, a VRB plugged into slot number 10 would would be assigned the VME base address 0A0000
VBD 380000 .

Question: what are the base addresses of the SEQ and SEQC?

More precisely:

VBD: 
Short I/O - A16            :     A000 to     BFFF (except at SiDet. SiDet: 6000 to 7FFF)
Standard/Extended - A24/A32: 00380000 to 003FFFFF
    
VRB:
Standard/Extended - A24/A32: 000A0000 to 00150000   

VRBC: 
Short I/O - A16   :              AB00 to     ABFF
Standard I/O - A24:          00480000 to 0048FFFF
Extended I/O - A32:          80480000 to 8048FFFF

back to the list

Embedded Processors (vxworks) and EPICS

Examples of computers on the online cluster are: d0ola, d0olb.

From the online cluster, to start talking with the embedded processors:

An example of one of the embedded processors names is: d0olmuo27, which is currently a Motorola 68k and not a PowerPC.

A few vxworks commands:

A few useful EPICS related files:

Here is a command that one can use to test epics records:

The file "cft.pp" has a list of the epics records one wants to test.

Don't forget, in order to read via epics, one must first write to the proc field of a record.

back to the list

back to the top

Misc. Details

The clock for LED test (calibration) runs

During a June 7, meeting with Dan Edmundson, he explained the clock and that using trigger framework, one can cut down the readout rate below 21µs, but the clock signal will still always be sent every 21µs. Alan Bross suspects that the 47KHz signal of 2 P.E. LED pulses will not affect the calibration measurement.

Examining data files

From an online computer, one can type dsdump after doing a setup DoRunII to dump raw data. Use the --help option for details. Here is an example: dsdump --raw --byteswap daq_test_0000101756_008@0724173217.raw | more

Look in /online/data/runs to get a run summary.

Here is where one can find a few recent runs online: /buffer/re1/D0Run/done

People

Notes:

Lab 3 VLPC Daq

To take a look at Volker's Lab 3 daq, do the following:

Unfortunately, the lab 3 daq can't be directly used for the online commissioning, yet there is useful stuff in it.

SMT daq

To take a look at Harald Fox's SMT daq, do the following:

To get the most up to date code, it is best to look in Harald's directory on the online machines.

back to the top


Send comments and suggestion to brsmith@fnal.gov

Last modified: March 13, 2001