Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

/var/pcce/usera/hill/rcc_1.2/RodDaq/RodCrate/BocAddresses.h

Go to the documentation of this file.
00001 //File: BocAddresses.h
00002 
00003 #ifndef SCTPIXELROD_BOCADDRESSES_H
00004 #define SCTPIXELROD_BOCADDRESSES_H
00005 
00006 /*!
00007 *  BocAddresses.h is a wrapper around the testBench C code header file
00008 memoryPartitions.h. This wrapper adapts things to appear more like C++ and to
00009 declare things const so the compiler can catch attempts to change them in the
00010 code. Only BOC addresses appear in this file.
00011 
00012 Author: J.C.Hill. 8 January 2003. V1.0
00013 *
00014 */
00015 
00016 #include "../CommonWithDsp/processor.h"
00017 #include "../CommonWithDsp/memoryPartitions.h"
00018 
00019 namespace SctPixelRod {
00020 
00021 
00022 // Use only the names in this file in C++ code.
00023 
00024 //Get the BOC base address from the testBench definitions.
00025 //CE0_BASE is the start of the window for RRIF registers
00026 //Unfortunately, memoryPartitions.h does not define the BOC
00027 //offset from this base in an available form.
00028 
00029 const unsigned long BOC_ADDRESS_BASE =       CE0_BASE + 0x8000;
00030 
00031 const unsigned long BOC_ADDRESS_WINDOW =     0x1000;
00032 
00033 //The following addresses are offsets from BOC_ADDRESS_BASE for BOC1
00034 
00035 //Start with the BPM12 chips - base for channel 0
00036 const unsigned long BOC_BPM_BASE =           0x000;
00037 
00038 //Offsets within BPM12 for individual channel functions
00039 enum bocBpmRegisters {
00040         BOC_BPM_INHIBIT =        0x0,
00041         BOC_BPM_MARK_SPACE =     0x4,
00042         BOC_BPM_COARSE =         0x8,
00043         BOC_BPM_FINE =           0xC
00044 };
00045 
00046 //Start addresses for other "blocks" 
00047 const unsigned long BOC_LASER_DAC =          0x600;
00048 const unsigned long BOC_DATA_DELAY =         0x800;
00049 const unsigned long BOC_STROBE_DELAY =       0xA00;
00050 const unsigned long BOC_THRESHOLD_DAC =      0xC00;
00051 
00052 //Channel counts (useful for Pixels??)
00053 const unsigned long BOC_TRANSMIT_CHANNELS =  48;
00054 const unsigned long BOC_RECEIVE_CHANNELS =   96;
00055 const unsigned long BOC_STROBE_CHANNELS =    26;
00056 
00057 //The following addresses are for single registers.
00058 const unsigned long BOC_BPM_CLK_PHASE =      0x980;
00059 const unsigned long BOC_BREG_CLK_PHASE =     0x98C;
00060 const unsigned long BOC_VERNIER_CLK0_PHASE = 0x990;
00061 const unsigned long BOC_VERNIER_CLK1_PHASE = 0x994;
00062 
00063 const unsigned long BOC_RESET =              0xF00;
00064 const unsigned long BOC_BPM_RESET =          0xF04;
00065 const unsigned long BOC_TXDAC_CLEAR =        0xF08;
00066 const unsigned long BOC_RXDAC_CLEAR =        0xF0C;
00067 const unsigned long BOC_STATUS =             0xF10;
00068 const unsigned long BOC_RX_DATA_MODE =       0xF14;
00069 const unsigned long BOC_VERNIER_FINE_PHASE = 0xF20;
00070 const unsigned long BOC_CLK_CONTROL =        0xF28;
00071 
00072 const unsigned long BOC_FW_REV =             0xF40;
00073 const unsigned long BOC_HW_REV =             0xF44;
00074 const unsigned long BOC_MODULE_TYPE =        0xF48;
00075 const unsigned long BOC_MANUFACTURER =       0xF4C;
00076 const unsigned long BOC_SERIAL_NUMBER =      0xF60;
00077 
00078 
00079 //BOC_BUSY_0 is bit 2 of RRIF_STATUS_1. I can't find the definition of
00080 //this register anywhere, so put it here for now.
00081 
00082 const unsigned long RRIF_STATUS_1 =          CE0_BASE + 0x4420;
00083 enum rrif_status_1_bits {
00084         BOC_BUSY_0 =            0x4
00085 };
00086 
00087 }; //  End namespace SctPixelRod
00088 
00089 #endif //SCTPIXELROD_BOCADDRESSES_H

Generated on Mon Mar 3 11:16:16 2003 for SCTPixelDAQ by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001