VME data collision



Hi all,

I've been trying to google for info on this and can't find squat
unfortunately. We have a system where we have 2 SBCs on a VME bus,
each with their own Universe chip, one is the syscon and the other of
course is not. Both of these boards have the ability to read and write
to a window of memory in each others' RAM as setup by configuring the
VME and PCI slaves.

When we perform reads / writes to anyone on the VME bus (the other SBC
or I/O cards), we first clear the PCI_CSR register (offset 0x004 into
the Universe chip), perform the read / write (with a direct copy, same
approach as memcpy although we use ADA as our programming language so
of course the syntax is different), then we check the S_TA (signalled
Target Abort) bit. If we find that this bit is '1', we consider the
transfer a failure and we try again. If after 10 consecutive failed
attempts, we flag this as an access error to the other board.

I'm sure that dealing with VME collisions like this is a fairly
standard problem when dealing with similar hardware layouts, but we
aren't terribly sure if there is another approach other than what we
are using to deal with this as we are still getting the error fairly
frequently when transferring lots of data back and forth. Does anyone
have any links / books / FAQs that they could recommend for this
issue?, anyone have a better way of doing this?

Thanks in advance
Phil

.