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 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 | Legal notice | Privacy Policy (german)