From: LUCHINI@SLC.SLAC.Stanford.EDU Sent: Tuesday, February 26, 2002 10:42 AM To: Luchini, Kristi Cc: Dusatko, John E. Subject: FWD: RE: VME interrupt vectors From: IN%"wcross@slac.stanford.edu" "William C. Ross" 11-OCT-2000 11:17:13.49 To: IN%"claus@slac.stanford.edu" CC: IN%"luchini@slac.stanford.edu", IN%"wcross@slac.stanford.edu", IN%"plc@slac.stanford.edu" Subj: RE: VME interrupt vectors Return-path: Received: from smtpserv1.SLAC.Stanford.EDU by SLC.SLAC.STANFORD.EDU (PMDF V5.1-9 #23033) with ESMTP id <01JV7JAQLHWI91X1Z6@SLC.SLAC.STANFORD.EDU> for LUCHINI@SLC.SLAC.STANFORD.EDU; Wed, 11 Oct 2000 11:17:11 PDT Received: from CONVERSION-DAEMON by smtpserv1.slac.stanford.edu (PMDF V5.2-33 #37476) id <0G2A003012SNXL@smtpserv1.slac.stanford.edu> for LUCHINI@SLC.SLAC.Stanford.EDU (ORCPT rfc822;luchini@slac.stanford.edu); Wed, 11 Oct 2000 11:17:11 -0700 (PDT) Received: from mailbox.SLAC.Stanford.EDU ([134.79.18.29]) by smtpserv1.slac.stanford.edu (PMDF V5.2-33 #37476) with ESMTP id <0G2A002CZ2SNXE@smtpserv1.slac.stanford.edu> for LUCHINI@SLC.SLAC.Stanford.EDU (ORCPT rfc822;luchini@slac.stanford.edu); Wed, 11 Oct 2000 11:17:11 -0700 (PDT) Received: from directory-daemon.mailbox.slac.stanford.edu by mailbox.slac.stanford.edu (PMDF V6.0-24 #45311) id <0G2A00B012SMUK@mailbox.slac.stanford.edu> for LUCHINI@SLC.SLAC.STANFORD.EDU (ORCPT luchini@slac.stanford.edu); Wed, 11 Oct 2000 11:17:10 -0700 (PDT) Received: from cdsun18.SLAC.Stanford.EDU ([134.79.80.189]) by mailbox.slac.stanford.edu (PMDF V6.0-24 #45311) with SMTP id <0G2A00AA42SK5X@mailbox.slac.stanford.edu>; Wed, 11 Oct 2000 11:17:09 -0700 (PDT) Date: Wed, 11 Oct 2000 11:17:09 -0700 (PDT) From: "William C. Ross" Subject: Re: VME interrupt vectors To: claus@slac.stanford.edu Cc: luchini@slac.stanford.edu, wcross@slac.stanford.edu, plc@slac.stanford.edu Reply-to: "William C. Ross" Message-id: <0G2A00AA52SL5X@mailbox.slac.stanford.edu> X-Envelope-to: LUCHINI MIME-version: 1.0 X-Mailer: dtmail 1.2.1 CDE Version 1.2.1 SunOS 5.6 sun4m sparc Content-type: TEXT/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-MD5: wyUOgyzvjex9SZQOCtmUzQ== Hi Ric, I was at GERT and RAD WORKER 1 training all day yesterday, so, sorry that I did not get back to you. Kristi Luchini has been trying to get a loaner Kenetic Systems VXI Slot-0 Controller to work with our LLRF modules. Everything works until she enables interrupts in the controller, and then the controller re-boots. We finally found in the documentation for the Kenitic Systems controller that it will reboot if a bus error occurs during an interrupt acknowledge cycle. (This Kenetic Systems controller incorporates a National Instruments Power-PC board with an added Kenetic Systems board that implements the VXI bus interface.) Our LLRF modules work fine when we use our current National Instruments Slot-0 controllers. They do not work with this new Power-PC based slot-0 controller when interrupts occur. I started helping Kristi in scoping out the signals on the VME/VXI backplane. We found that, with our original National Instruments controller installed, we see that during an interrupt acknowledge cycle, both ~DS0 and ~DS1 go low simultabeously, indicating that the National Instruments controller uses a D16 transfer for interrupt acknowledge cycles. This type of transfer works correctly with our LLRF modules. However, with the Kenetic Systems controller installed in place of the National Instruments controller, when an interrupt acknowledge cycle occurs, we see only ~DS0 go low (~DS1 stays high). This indicates that the Kenetic Systems controller generates interrupt acknowledge cycles using a D8 cycle. This is confusing to me in that an interrupter is supposed to send back a 16-bit word to the controller where the low byte contains the interrupter's Logical Address code, and the upper byte contains the upper byte value of the interrupter's Interrupt Status register. Kristi and I were not sure whether or not the type of interrupt acknowledge cycle (i.e., the word size of the cycle) would be specified in software, so she was looking through the original software that you wrote to see if there was any specification of this in the NAtional Instruments version of our LLRF software. We could not find anything. So that's why I called you the other day. Kristi is now contacting Kenetic Systems to get more details about their interrupt acknowledge cycles. I re-read the VXI standard and found out that our LLRF modules should respond to D8 interrupt acknowledge cycles as well as D16 interrupt acknowledge cycles, according to the VXI standard. However, actually, our LLRF modules are designed to respond to only D16 cycles, so that's why the Kenetic Systems controller times out and generates a Bus Error. Therefor, our LLRF modules do not correctly implement the VXI standard. (What confuses me is that an interrupter is supposed to respond to a D8 cycle by sending back only an 8-bit value, which would be the logical address value. In which case, how is the Interrupt Status Register byte supposed to get back to the controller? That's a question for the Kenetic Systems people.) One other clue we have is that the Kenetic Systems controller documentation indicates that the Power-PC only accepts a byte wide vector during interrupt acknowledge cycles, maybe this forces them to do something awkward to retrieve the 16 bit "status/ID" value from the interrupter. This is also a question for the Kenetic Systems people. Anyway, if you might think of something based on your experience writing code for the National Instruments controller please let us know. Thanks, Bill