Epics@GSI Webhome

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.
    1. Collect status, documentation and requirements
      • physical location
      • available documentation
      • scan rates
    2. 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
    3. replace the ADC board by
      1. 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")
	}


-- PeterZumbruch - 2015-03-03
  • Notes:
    20150127_100121.jpg

  • Notes:
    20150127_100140.jpg

  • Notes:
    20150127_100149.jpg



-- PeterZumbruch - 03 Feb 2015
Topic attachments
I Attachment Action Size Date Who CommentSorted ascending
RICHHVcurr.substitutionssubstitutions RICHHVcurr.substitutions manage 0.4 K 2015-01-27 - 11:53 PeterZumbruch  
20150127_100121.jpgjpg 20150127_100121.jpg manage 92.3 K 2015-01-27 - 11:35 PeterZumbruch Notes
20150127_100140.jpgjpg 20150127_100140.jpg manage 95.3 K 2015-01-27 - 11:35 PeterZumbruch Notes
20150127_100149.jpgjpg 20150127_100149.jpg manage 107.5 K 2015-01-27 - 11:36 PeterZumbruch Notes
RICHHVcurr.templatetemplate RICHHVcurr.template manage 0.5 K 2015-01-27 - 11:52 PeterZumbruch template
st.cmdcmd st.cmd manage 3.7 K 2015-01-27 - 11:52 PeterZumbruch vme st.cmd
Topic revision: r3 - 2015-03-03, PeterZumbruch
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)