Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Controlling PC hangs when our VME data transfer card accesses shared memory (PC->VISA->VME-MXI-2)

1 view
Skip to first unread message

5thWheel

unread,
Sep 16, 2004, 6:13:12 AM9/16/04
to
Our hardware:
A (clean) windows 2000 PC (all service packs etc installed), P3
866MHz, 256MB RAM, NI Developer Suite 2004;
PCI-MXI 8015 kit
VME64X Chassis
J & S Marine "B(P)" card (a type of communications card, slightly
similar to a windows COM port)
(The VME-end of the PCI-MXI kit is sitting in the bottommost slot of
our VME Chassis, i.e., slot1; our "B(P)" card sits in slot 2)

I have set up some shared memory as described in:
http://zone.ni.com/devzone/conceptd.nsf/webmain/920F9B2EAD9275BC86256A6A004E0E32#2

and can successfully access it as described in "Accessing and
Allocating Shared Host Memory"

However, I then:
(The shared memory is still "open" and accessible at this point, I
have not viClosed anything)
a) Work out "Base + Offset" as described in "Accessing and Allocating
Shared Host Memory" to give me an absolute address in A32 space
b) Write this absolute address to a register on our B(P) card (all
register IO and interrupt handling appears to work fine); and then
c) Write a "Go" command to another register on our B(P) card

This should cause our B(P) card to read the block of memory it finds
at the register-specified absolute address and then do something with
it.
However, the next viIn32 operation I perform (I am polling a register
on our card to see if the something has been done) hangs my PC: the
mouse pointer freezes, the numlock and caps lock lights fail to alter
when I press the keys, the machine ignores CTRL-ALT-DELETE etc.
If I power-cycle the VME rack, my PC comes back to life again
(although obviously it leaves VISA confused and I have to terminate my
program and rerun resman).
It doesn't seem to matter which register I try to read with viIn32,
any form of vi command seems to cause the same hang.

Do you have any suggestions as to what could be causing this and/or
how I can diagnose it? It seems somewhat harsh for VISA to lock my
whole PC regardless of anything I might be doing wrong...

PS,
We had the PC hang in the same way before putting any of our own stuff
on it, during each run of the VXI Resource Manager.
We found
http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/ec0405c6a719dce486256556006af870?OpenDocument
on the internet, and forcing "Always enable Slot 0 functionality" in
"VXI0::1::INSTR" hardware config (VXI bus pane), rather than using the
default auto-detect made this resman problem go away.

PPS, our "B(P)" card is AFAIK fine, it works fine in our other VME
rack under VxWorks.

PPPS: addenum: I have bought some RAM and appear to have successfully
installed it (the BEEF example on your website works ok). However, my
problem is unchanged, the controlling PC still locks up.

I've also tried using another controlling PC, same problem (except the
new PC does not come back to life again when you powercycle the VME).

Applications Engineer

unread,
Sep 29, 2004, 7:08:58 AM9/29/04
to
Hi,

Could you please provide me with more information about your VME data
transfer card and also could you provide me with a snap shot of the
system processes running while your PC hangs up.

If you do have any new findings,that could help us resolve this then
do add them in.

Best Regards

Atul Wahi
NI

5thWheel

unread,
Oct 7, 2004, 5:26:58 AM10/7/04
to
Apologies, I've been on holiday and should have updated status
earlier.
We resolved the problem by:
a) using block moves (viMoveIn/viMoveOut) instead of regular moves as
suggested by a NI engineer - this changed the way in which the problem
manifested itself and allowed us to diagnose it further;
and then
b) modified the firmware on our card as a result of info gleaned from
a logic analyser - sorry but I'm not allowed to be specific about what
our card does or how it works.

Regards,

5thWheel.

0 new messages