1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: how to use the GUN-RC-300 in mrfioc2 |
From: | Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov> |
To: | 문건영(선형가속기팀) <gymun at postech.ac.kr> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 12 Jun 2023 08:43:11 -0700 |
On 6/5/23 00:55, 문건영(선형가속기팀) via Tech-talk wrote:
Dear All, I'm trying to operate the GUN-RC-300 on MTCA-EVR-300RF.
Firstly a disclaimer. I have no experience with this specific model. (I am not even sure that I had heard of it before) MRF has made several different boards which all reuse the same MTCA-EVR-300 PCI ID. Software, and some engineers, find this difficult to distinguish. The board you have may or may not be the same "RF mTCA EVR" mentioned in this PR. https://github.com/epics-modules/mrfioc2/pull/63
I made the mtca-evr-300rf.substitutions file as below by referring to file evr-tg-300.substitutions. Fill in only the information related to gun-rc-300. ... file "mrmevrout.db" {pattern {ON, OBJ, DESC} {"$(SYS){$(D)-Out:Int}", "$(EVR):Int", "Internal"} {"$(SYS){$(D)-Out:FP0}", "$(EVR):FrontOut0", "OUT0 (GTX)"} {"$(SYS){$(D)-Out:FP1}", "$(EVR):FrontOut1", "OUT1 (GTX)"} {"$(SYS){$(D)-Out:FP2}", "$(EVR):FrontOut2", "OUT2 (GTX)"} {"$(SYS){$(D)-Out:FP3}", "$(EVR):FrontOut3", "OUT3 (GTX)"} {"$(SYS){$(D)-Out:FPUV0}", "$(EVR):FrontUnivOut0", "FPUV0 (TTL)"} {"$(SYS){$(D)-Out:FPUV1}", "$(EVR):FrontUnivOut1", "FPUV1 (TTL)"} {"$(SYS){$(D)-Out:FPUV2}", "$(EVR):FrontUnivOut2", "FPUV2 (GTX)"} {"$(SYS){$(D)-Out:FPUV3}", "$(EVR):FrontUnivOut3", "FPUV3 (GTX)"} ... file "evrcml.db" {pattern {P, ON, OBJ} {"$(SYS){$(D)}", "$(SYS){$(D)-Out:FP0}", "$(EVR):CML0"} {"$(SYS){$(D)}", "$(SYS){$(D)-Out:FP1}", "$(EVR):CML1"} {"$(SYS){$(D)}", "$(SYS){$(D)-Out:FP2}", "$(EVR):CML2"} {"$(SYS){$(D)}", "$(SYS){$(D)-Out:FP3}", "$(EVR):CML3"} {"$(SYS){$(D)}", "$(SYS){$(D)-Out:FPUV2}", "$(EVR):CML4"} {"$(SYS){$(D)}", "$(SYS){$(D)-Out:FPUV3}", "$(EVR):CML5"} } file "evrcmlgun.db" {pattern {ON, OBJ} {"$(SYS){$(D)-Out:FP0}", "$(EVR):CML0"} {"$(SYS){$(D)-Out:FP1}", "$(EVR):CML1"} {"$(SYS){$(D)-Out:FP2}", "$(EVR):CML2"} {"$(SYS){$(D)-Out:FP3}", "$(EVR):CML3"} ... When evr IOC is running, the "RX ON" indicator is ON in the GUN-RC-300. But, "PULSE" indicator is not working. I don't know how to use it in CSS opi. Or I'm not sure mtca-evr-300rf.substitutions file setting. If anyone knows anything about this, I'd appreciate your help.
The latest version of the MRF manuals which I have (2021 October) has section "3.1.13. mTCA-EVR-300RF".
The mTCA-EVR-300RF has altogether six GTX outputs, two on the backplane, TCLKA and TCLKB, and four on the front panel: one Universal I/O slot (UNIV2/UNIV3), one SFP output, and one differential CML output.
As I read this, the SFP output would be the 5th GTX/CML output (index 4). The following paragraph is:
The GUN-TX mode has a special inhibit function that by default is using Universal Input 0 as an inhibit signal. When the state of the inhibit signal is high the GUN-TX output is disabled. The inhibit function may be overridden with the GTXIO override bit in the main control register.
To bypass while testing, look for the "External Inhibit" property in evrbase.db Additionally, the relevant GTX output may need to be set to one of the SFP output modes. Probably "GUN-TX-300 Mode". This currently can't be done from a DB file, but only from code. I think PR 63 does this. If you are able to get this working, please comment on PR 63 or let me know through some other medium.