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: | Error messages wuth IP-488, VIPC616 and PPC604 |
From: | Mark Rivers <[email protected]> |
To: | "'[email protected]'" <[email protected]> |
Date: | Wed, 19 Dec 2001 08:31:31 -0600 |
Folks,
In a new EPICS application I am talking to several GPIB devices each at 10 Hz, and I am getting swamped with "Bad VME interrupt 0" error messages. The problem happens when using the SBS (Greenspring) IP-488 module, mpfGpib1-4, VIPC616 carrier, and an MVME2700 PPC CPU. Andrew Johnson suggested removing the logMsg() call in target/config/mv2700/universe.c that generates the error. While this would work, I am getting nearly 100 messages per second, and I worry that all these spurious interrupts could be hurting performance.
For testing purposes I created
- testApp that loads my normal libraries (mpf, mca, etc.)
- A single generic GPIB record is loaded into the crate, no other records
- No other drivers or device support are initialized from the startup script.
- My VIPC616 has the _01 modifications with new PAL/GAL chips and the wire-wrapped jumpers.
- The only IP module in the VIPC616 was the IP-488.
- A CA client that used the generic GPIB record to do lots of GPIB I/O to a Tektronix scope
Here is what I have found.
The "Bad VME interrupt" error messages only occur if the IP-488 module is plugged into IP slot B. There are no errors if the IP-488 is plugged into slots A, C or D.
If the module is plugged into slot B there are no errors unless there are also several other VME modules plugged into the backplane. These modules are all to the right of the VIPC616 in the backplane, so they should not be involved in interrupt grant to the VIPC616. None of these other modules are actually generating any interrupts nor is there any VME bus activity directed to them. I found that the errors did not seem to depend on what particular VME modules were plugged in. Plugging in an OMS58, a Joerger scaler, and an SIS scaler would cause the errors to appear. Unplugging any one of the modules would cause the errors to stop!
The bottom line is that this is a very strange error. It only happens if the IP-488 is in slot B and it only happens if there are other modules on the VME bus. These other modules can be to the right of the VIPC616, are not generating interrupts or being talked to, and it does not seem to matter what type of modules they are.
Has anyone else seen problems with an IP-488 or other interrupt-generating IP module in slot B of a VIPC616?
Thanks,
Mark