[comp.sys.m68k] Addressing VME147 in slave mode

davely@mcrware.UUCP (Dave Lyons) (04/09/91)

	I'm trying to use two Motorola MVME147 boards in one cage
and get them to be able to access each other's memory.  I've
tried about every combination of values in the VME chip regs
and all I get is bus error.  

Here's what I think the register values should be

Reg             Addr           Value in Sys Master         Value in Slave

Slv Base Addr  $FFFE102B             $0A                        $05
Sys Ctrl Con   $FFFE2001             $F1                        $F0
VME Req Con    $FFFE2003             $07                        $07
VME Mast Con   $FFFE2005             $C0                        $C0
VME Slave Con  $FFFE2007             $DE                        $DE
Timer Con      $FFFE2009             $C0                        $C0
Slave Addr Mod $FFFE200B             $B1                        $B1
Mast Addr Mod  $FFFE200D             $40                        $40
IRQ Handlr Msk $FFFE200F             $FF                        $FF

	I expected the System Master board to have its memory show up on
the VME bus at $800000 (both boards have 4MB on board RAM) and I 
expected the Slave to show up at $400000. 
	If anybody has any idea why the boards aren't able to access each
other's memory I'd really appreciate hearing them.


Thanks for any help, davel

-- 
|Dave Lyons - uunet!mcrware!davely    | Just like a V8 under the hood       |
|-------------------------------------|     of a car made of nails and wood |
| The opinions of the party of the    | Your big heart's gonna break        |
| first part shall not be taken as... |     your little body                |

jfw@ksr.com (John F. Woods) (04/12/91)

davely@mcrware.UUCP (Dave Lyons) writes:
>	I'm trying to use two Motorola MVME147 boards in one cage
>and get them to be able to access each other's memory.  I've
>tried about every combination of values in the VME chip regs
>and all I get is bus error.  
>Here's what I think the register values should be
>Reg             Addr           Value in Sys Master         Value in Slave
>Slv Base Addr  $FFFE102B             $0A                        $05
>	I expected the System Master board to have its memory show up on
>the VME bus at $800000 (both boards have 4MB on board RAM) and I 
>expected the Slave to show up at $400000. 

I think your problem is right here.  According to page 4-28 of the VME147
manual, the low 5 bits are multiplied by the RAM size to determine the start
address, so with the values indicated, the System Master board's DRAM address
would start at 10 * $400000, or $2800000, and the Slave would show up at
$1400000.  I think you want this register to contain $x2 on the master and
$x1 on the slave to get the address mapping you state (for x, I would
recommend 2 to enable multiple-address RMC cycles to work correctly, hence
$22 and $21).

davely@mcrware.UUCP (Dave Lyons) (04/15/91)

In article <3108@ksr.com> jfw@ksr.com (John F. Woods) writes:
+davely@mcrware.UUCP (Dave Lyons) writes:
+>	I'm trying to use two Motorola MVME147 boards in one cage
+>and get them to be able to access each other's memory.  I've
+>tried about every combination of values in the VME chip regs
+>and all I get is bus error.  
+>Here's what I think the register values should be
+>Reg             Addr           Value in Sys Master         Value in Slave
+>Slv Base Addr  $FFFE102B             $0A                        $05
+>	I expected the System Master board to have its memory show up on
+>the VME bus at $800000 (both boards have 4MB on board RAM) and I 
+>expected the Slave to show up at $400000. 
+
+I think your problem is right here.  According to page 4-28 of the VME147
+manual, the low 5 bits are multiplied by the RAM size to determine the start
+address, so with the values indicated, the System Master board's DRAM address
+would start at 10 * $400000, or $2800000, and the Slave would show up at
+$1400000.  I think you want this register to contain $x2 on the master and
+$x1 on the slave to get the address mapping you state (for x, I would
+recommend 2 to enable multiple-address RMC cycles to work correctly, hence
+$22 and $21).

Yeah, that's what I found out.  I think the VME147 manual I have must be 
fairly old.  It showed two groups of two bits, the lower two bits setting
the slave address in the standard address space and the upper two bits 
setting the slave address in the extended space. From this I had thought 
that $0A for the master board would give me 2 * $400000 = $800000 for the 
standard space and the same thing for the extended space.  

Thanks to all who replied, davel

-- 
|Dave Lyons - uunet!mcrware!davely    | Just like a V8 under the hood       |
|-------------------------------------|     of a car made of nails and wood |
| The opinions of the party of the    | Your big heart's gonna break        |
| first part shall not be taken as... |     your little body                |