Hades Rich Current Monitor
Introduction
The large scale HADES Experiment at GSI uses a RICH (ring imaging cherenkov detector) for particle discrimination and (basic) tracking purposes.
In order to monitor the currents on the detection plane in each of the six sectors, an ADC board has been developed by the Munic RICH team.
It communicates via CANbus. Currently it is connected to a VME CPU via an IPAC carrier module. The VME CPU is running the EPICS IOC accessing the ADC board.
The projects objective is to gradually replace this system with a HadCon2 based Ansatz.
- Collect status, documentation and requirements
- physical location
- available documentation
- scan rates
- Keep the ADC board, but replace the VME based CANbus controller by the HadCon2 and communicate via HadCon2's CAN commands with the existing ADC port
- replace the ADC board by
- HadCon2 and its internal 10bit ADC b. HadCon2 and its internal FPGA based ADC c. HadCon2 connected to an external ADC, e.g. OwAdc1
Main
People involved:
- Alessandra Lai, Univ. Frankfurt
- Peter Zumbruch, GSI, RBEE
Hardware
Operation
EPICS
VME setup
st.cmd
...
ld < tyGSOctal.o
...
tyGSOctalDrv 1
# now some CANbus stuff
ipacAddCarrier(&ipmv162,"A:l=6,7;B:l=4,5;C:l=3,3 m=0xe0000000,64")
...
t810Create("can1",0,0,250)
t810Create("can2",0,1,250)
...
dbLoadRecords("../../db/RICHHVcurr.db")
...
db/template/substitutions
file RICHHVcurr.template {
{ PRE=HAD:RICH:HV:A1, ID=74 , NN=0, SCAN=".1 second"}
{ PRE=HAD:RICH:HV:A2, ID=74 , NN=1, SCAN=".1 second"}
{ PRE=HAD:RICH:HV:A3, ID=74 , NN=2, SCAN=".1 second"}
{ PRE=HAD:RICH:HV:A4, ID=74 , NN=3, SCAN=".1 second"}
{ PRE=HAD:RICH:HV:A5, ID=74 , NN=4, SCAN=".1 second"}
{ PRE=HAD:RICH:HV:A6, ID=74 , NN=5, SCAN=".1 second"}
}
record(ai, "$(PRE)_by1")
{
field(SCAN, "$(SCAN)")
field(DTYP, "CANbus")
field(INP, "@can1/20:$(ID)+$(NN).0 0xff")
}
record(ai, "$(PRE)_by2")
{
field(SCAN, "I/O Intr")
field(DTYP, "CANbus")
field(INP, "@can1/20:$(ID)+$(NN).1 0xff")
field(FLNK, "$(PRE)_curr")
}
record(calc, "$(PRE)_curr")
{
field(SCAN, "Passive")
field(CALC, "(A+B*256)")
field(INPA, "$(PRE)_by1.VAL NPP NMS")
field(INPB, "$(PRE)_by2.VAL NPP NMS")
field(PREC, "0")
field(EGU, "nA")
field(LOPR, "0")
field(HOPR, "500")
}
- Notes:
- Notes:
- Notes:
--
PeterZumbruch - 03 Feb 2015