Notes on using the Wiener VC32/CC32 VME/CAMAC interface with the NSCL DAQ system. - Ron Fox June 24, 2003 Acknowledgements: Dave Caussyn Florida State University For initial support of this hardware. Installing the controller ========================= The NSCL DAQ system supports up to 8 Wiener VC32/CC32 CAMAC controllers per VME crate. Each of these controllers can connect to a single CAMAC crate via a standard SCSI-II cable provided with the unit. Before installing the VME module, address jumpers must be set so that the module can be located by the software. Viewing the VME module with the connectors facing right, there is a row of jumpers labelled JA23 to JA13 close to the top of the module. These jumpers should be set as follows: (in - Jumper installed at that location. out- Jumper not installed at that location). First Controler (controller 0) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in in in in in in in 0x800000 Second Controller (controller 1) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in in in out in in in 0x810000 Third Controller (controller 2) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in in out in in in in 0x820000 Fourth Controller (controller 3) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in in out out in in in 0x830000 Fifth Controller (controller 4) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in out in in in in in 0x840000 Sixth Controller (controller 5) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in out in out in in in 0x850000 Seventh Controller (controller 6) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in out out in in in in 0x860000 Eighth Controller (controller 7) ja23 ja22 ja21 ja20 ja19 ja18 ja17 ja16 ja15 ja14 ja13 -> base address out in in in in out out out in in in 0x870000 Compiling Readout ================= In your compilation switches in your Makefile remove any -DCESCAMAC and replace them with -DVC32CAMAC This will select the appropriate version of the CAMAC support macros. Skeletons currently also assume you will use the CESCAMAC controller as your interface. Near the top of skeleton.cpp, locate and delete the lines: #ifndef CESCAMAC #define CESCAMAC #endif This will allow you to control the selection of the CAMAC controller type from at compile time. You can use CAMAC controllers in any VME crate by bearing in mind that: Branch 0-7 : Are controllers 0-7 in vme crate 0 Branch 8-15 : Are controllers 0-7 in vme crate 1 etc. Accessing camac from tcl (camac package). ======================================== Notes on Branch/Crate addressing: ================================= The software at present is a bit inconsistent regarding branch/crate numbering. - When accessing a crate from tclsh or wish with the wienercamac package, the branch number selects the controller (numbered from 0), and the crate >MUST BE< 0 in the call to cdreg. The cdreg command now has an optional trailing crate parameter that selects the VME crate to which you are talking. For example, to create a register for a device in slot 5 of controller 0 in VME crate 2: set reg [wienercamac::cdreg 0 0 5 2] - When accessing the crate via wienercamac.h in your Readout software, branchinit is required for each controller and the parameter is the controller number. In other macros, that require a branch and a crate, use the crate number (controller number + 1) for both. for example: BRANCHINIT(0); // Init controller 0. INIT811(1,1, 1); // Branch/crate is 1. Controllers in up to 8 VME crates are supported as follows: Controllers 0-7 - are in VME crate 0 Controllers 8-16 - are in VME crate 1 (jumper these as controllers 0-7!). Controllers 17-23 - are in VME crate 2 (jumper these as controllers 0-7!). Controllers 24-31 - are in VME crate 3 (jumper these as controllers 0-7!). Controllers 32-39 - are in VME crate 4 (jumper these as controllers 0-7!). Controllers 40-47 - are in VME crate 5 (jumper these as controllers 0-7!). Controllers 48-55 - are in VME crate 6 (jumper these as controllers 0-7!). Controllers 56-63 - are in VME crate 7 (jumper these as controllers 0-7!). >>>NOTE<<<<