next up previous contents index
Next: EVENT I/O Up: Language Elements Previous: CAMAC I/O   Contents   Index

VME I/O

There is limited support for addressing and readout of VME modules in crl. Most module access must be done through imbedded c code. However, structures for memory maps of several commonly used modules at CEBAF have been added to aid the user in addressing these modules. These structures are defined when the user specifies vme readout at the top of his readout list code.

The user should be aware of address modifiers and data transfer modes supported by their particular slave modules. The default kernel for the MV162 and MV167 boards used at CEBAF have 4 address spaces defined (Note: this address map is not valid for the PowerPC PPC604 board from Radstone):

A16/D16 0xffff0000 - 0xffffffff 

A24/D16 0xf0000000 - 0xf0ffffff 

A24/D32 0xe0000000 - 0xe0ffffff

A32/D32  sysMemTop - 0xdfffffff
For example the Lecroy 1190 Memory requires certain registers to be read and written to with single word transfers (A24/D16) while the memory can be read via longword transfers (A24/D32), hence the definition of two pointers (*dpm, *dpml) which can be defined using the appropriate address modifiers (0xf0xxxxxx and 0xe0xxxxxx).



Mohammad Ahmed 2003-07-23