data tranfer through VME backplane - VxWorks

This is a discussion on data tranfer through VME backplane - VxWorks ; hi all.. i have 2 PowerPC boards attached to a VME backplane...each PowerPC board is having 4 processors...now i want to transfer data from one processor(suppose A processor) of the first board to another processor ( suppose B processor) of ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: data tranfer through VME backplane

  1. data tranfer through VME backplane

    hi all..
    i have 2 PowerPC boards attached to a VME backplane...each PowerPC
    board is having 4 processors...now i want to transfer data from one
    processor(suppose A processor) of the first board to another processor
    ( suppose B processor) of the second board through VME
    backplane..........

    i have done the same using socket.........but how to do it using VME
    backplane...........
    please reply soon...


  2. Re: data tranfer through VME backplane

    Hi:

    If you used the TCP/IP to move data w/o an ethernet cable between
    boards, then you have already moved data over the VME backplane.

    If you want to do it at a lower level, the you have to allocate a slave
    and master window in each CPU space. The master windows are mappings
    of local physical memory to VME memory. The slave window(s) map VME
    memory (someone elses Master window) to your local memory. You can
    set up the VME controller on your board to do this - generally it's a
    Tundra universer2 pci-vme bridge chip, and it probably has support in
    your BSP.

    Once the maps are set up, you use functions sysBusToLocalAdrs to turn a
    VME address into a local CPU address. When you access that local
    address, you'll actually be access the memory on the other board.
    Generally, the VME address spaces will show up in a range of PCI
    addresses starting at some offset into PCI address space. You can see
    that if you do a sysPciShow and find the universe chip on the pci bus
    and look at its BAR registers.

    vxWorks provides a high-level access to VME memory also - read about
    shared memory blocks in the Programmers Guide - you can share memory
    accross processors as well as send messages and use semaphores between
    boards. It may be an add-on product.

    Expect performance for VME access to be about 1M read/writes per sec,
    whether they are 8, 16, or 32 bits. For higher performance, you'll
    have to research whether there is a DMA controller on your CPU board
    that can be programmed to move blocks of memory directly - then you can
    run at almost full bus speed - 32M/transfer/sec or higher, depending on
    your backplane.

    Good luck,

    lc

    PS: There's probably a lot of this info already on the groups or the
    vxWorks FAQ - WRS also has several TN's on how to do this.


    mkayalcse@yahoo.com wrote:
    > hi all..
    > i have 2 PowerPC boards attached to a VME backplane...each PowerPC
    > board is having 4 processors...now i want to transfer data from one
    > processor(suppose A processor) of the first board to another processor
    > ( suppose B processor) of the second board through VME
    > backplane..........
    >
    > i have done the same using socket.........but how to do it using VME
    > backplane...........
    > please reply soon...



+ Reply to Thread