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: Read and Write errors with VME-EVR-300 |
From: | "Wang, Lin via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "hong, ran" <rhong at anl.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Wed, 5 Oct 2022 09:18:00 +0800 (GMT+08:00) |
Hello Ran,
You may also want to take a look at the PSI clone of mrfioc2 as well as supported hardware and firmware. A couple of years ago we used the following driver to test our VME-EVM-300 and VME-EVR-300 under MVME-5100 / vxWorks6.8 environment.
https://github.com/paulscherrerinstitute/mrfioc2
Regards,
Lin
-----Original Messages-----
From:"Hong, Ran via Tech-talk" <tech-talk at aps.anl.gov>
Sent Time:2022-10-04 08:29:46 (Tuesday)
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Cc:
Subject: [SPAM] Read and Write errors with VME-EVR-300
Hello All,
I am testing a VME IOC with 1 VME-EVM-300 and 6 VME-EVR-300 boards. The CPU board is mvme-3100, and the driver is derived from mrfioc2:I experienced many errors like missing time stamp, incorrect GTX waveform, and so on. They all stem from issues when reading from or writing to VME registries using READ32 or WRITE32 in the driver. For example, in evrMrmApp/src/drvem.cpp line 803 to 806 for latching the timestamp,epicsUInt32 ctrl=READ32(base, Control);
// Latch timestampWRITE32(base, Control, ctrl|Control_tsltch);
It reads the control registry, modify the bit for timestamp latch, and write it back to the control registry. Occasionally, I saw the READ32 returns 0xffffffff, which is an invalid value for the control registry, and the subsequent WRITE32 results in a mess in the EVR.
Has anyone experienced similar issues? Any suggestions to prevent or mitigate the VME I/O errors?
Thanks!
Ran Hong