TIM Registers List

For Firmware Version 26

M.Postranecky, M.R.M.Warren

Draft 0.95 (last modified 19 Apr 2022)

This document is still inder development, feedback is welcome. atlas-tim @ hep.ucl.ac.uk

Contents

Introduction

The TTC Interface Module (TIM) has a VME slave interface to give the local processor read and write access to its registers.

This document supports the interface specification [ref. TIM_interface_RCC]. TIM stand-alone operation is described in [ref. TIM_manual].


Address Map

The VME address space is A24 or A32 with the Base Address offset selected by Geographical Address or switches. The Base Address uses address lines A31 - A16, leaving an A16 address space of 64K bytes, using address lines A15 - A0.

The VME Address is given as hexadecimal bytes in the following tables.

Address Map

Offset by Base Address (A31 - A16)
Address D16 Field
0000 - 003E Register address space
0040 - 00FE TIM3 Extra Register address space
0100 - 01FE TIM3 FPGA1 Register address space
0200 - 7FFE Reserved address space
8000
- FFFE
First word of Sequencer RAM
Last word of Sequencer RAM

Register Address Map
OffsetRead/ WriteNoNameInit ValueCPLD/FPGA
0x00R/W0Signal Enables02/2
0x02R/W1Command & Mode0x1002/2
0x04R/W2Burst Count03/2
0x06R/W3Frequency Select03/2
0x08R/W4Trigger Window03/2
0x0AR/W5Delay02/2
0x0CR6Status0x8A803/2
0x0ER7FIFO Status0x40405/2
0x10R(/W)8Trigger ID Lo0xFFFF4a/2
0x12R(/W)9Trigger ID Hi0x00FF4a/2
0x14R(/W)10Trigger BCID04b/2
0x16R(/W)11Trigger Type ID04b/2
0x18R/W12Run Enables06/2
0x1AR/W13Sequencer Control07/2
0x1CR/W14Sequencer End07/2
0x1ER/W15RODBusy Mask08/2
0x20R16RODBusy Status08/2
0x22R/Z17RODBusy Latch08/2
0x24R/Z18RODBusy Monitor08/2
0x26R/Z19TTC Data09/2
0x28R/W20TTC Select09/2
0x2AR/Z21TTC BCID04b/2
0x2CR/W22TTCrx Control09/2
0x2ER23TTC Status09/2
0x30R/Z24TIM Output Latch06/2
0x32R25TIM ID-5/2
0x34-26reserved--
0x36-27reserved--
0x38-28reserved--
0x3A-29reserved--
0x3C-30reserved--
0x3E-31reserved--

TIM-3 Only - Extra Registers Address Map
OffsetRead/ WriteNoNameInit ValueFPGA
0x40-32reserved-2
0x42R/W33Enables302
0x44-34reserved-2
0x46R/W35Control02
0x48-36reserved-2
0x4AR37Status30x06402
0x4CR/Z38Status Change Latch02
0x4ER/Z39Status3 Change Latch02
0x50-40reserved-2
0x52R/W41QPLL Control0x00B02
0x54-42reserved-2
0x56R/W43Busy Enable30x10002
0x58-44reserved-2
0x5AR45Busy Status30x04042
0x5C-46reserved-2
0x5ER/Z47Busy Status3 Change Latch02
0x60R/Z48Overall Busy Count Lo02
0x62R/Z49Overall Busy Count Hi02
0x64R/Z50Overall Busy Count Ex02
0x66R/W51BCID Offset Extended02
0x68-52reserved400002
0x6AR/W53FFTV Match Threshhold102
0x6C-54reserved802
0x6E-55reserved26662
0x70-56reserved30762
0x72-57reserved402
0x74R/Z58FFTV Count Lo02
0x76R/Z59FFTV Count Hi02
0x78R/Z60FFTV Count Ex02
0x7A-61reserved-2
0x7CR/Z62FFTV Trigger Count Lo02
0x7ER/Z63FFTV Trigger Count Hi02
0x80R/Z64Trigger Period FIFO Lo02
0x82R/Z65Trigger Period FIFO Hi0x40002
0x84R/Z66Veto ID Lo02
0x86R/Z67Veto ID Hi02
0x88R/W68Trigger Osc2 Period Lo02
0x8AR/W69Trigger Osc2 Period Hi02
0x8C-70reserved-2
0x8ER/W71Burst Count Hi02
0x90-72reserved02
0x92-73reserved02
0x94R74F2 Timestamp Lo-2
0x96R75F2 Timestamp Hi-2
0x98-76reserved02
0x9A-77reserved02
0x9CR/W78F2 Debug Control02
0x9ER79F2 Debug Status-2


Registers

0x00. Signal Enables Register     [Jump Back to Index]

Signal Enables    -    ENABLESStand-alone External/Internal Signal Enables   -    R/W
BitsFieldFunction
0  0x0001-reserved=0
1  0x0002EnIntTRIGEnable internal repetitive trigger. DEPRICATED (see Enables3 Reg)
2  0x0004EnIntECREnable internal repetitive ECReset
3  0x0008EnIntBCREnable internal repetitive BCReset
4  0x0010EnRandomEnable internal trigger randomizer
5  0x0020EnIntFEREnable internal repetitive FEReset
6  0x0040EnWindowEnable trigger window
7  0x0080EnIntBusyEnable internal Busy (see Busy_En3 Reg)
8  0x0100EnExtClkEnable external clock inputs
9  0x0200EnExtTRIGEnable external trigger inputs
10  0x0400EnExtECREnable external ECReset inputs
11  0x0800EnExtBCREnable external BCReset inputs
12  0x1000EnExtCALEnable external Calibrate inputs
13  0x2000EnExtFEREnable external FEReset inputs
14  0x4000EnExtSEQEnable external Sequencer Go inputs
15  0x8000EnExtBusyEnable external Busy inputs (see Busy_En3 Reg)
Register resets to 0.
Note: external means ECL or NIM front-panel inputs. EnExtCLK disables the internal clock.
Note: IntECR is only available if the internal ECR = FER link is inserted (this is the default hardware setup).


0x02. Command & Mode Register     [Jump Back to Index]

Command & Mode    -    COMMANDCommands and Mode Settings   -    R/W
BitsModeFieldFunction
0  0x0001--reserved=0
1  0x0002edgevTRIGSingle trigger
2  0x0004edgevECRSingle ECReset
3  0x0008edgevBCRSingle BCReset
4  0x0010edgevCALSingle Calibrate strobe
5  0x0020edgevFERSingle FEReset
6  0x0040edgevSpareSingle Spare command
7  0x0080levelvBusySet Busy (see Busy_Stat3 Reg)
8  0x0100levelvRodBusySet RodBusy (see Busy_Stat3 Reg)
9  0x0200levelvBurstModeSet BURST mode - disable triggers
10  0x0400edgevBurstGoStart BURST triggers - Int or Ext
11  0x0800--reserved=0
12  0x1000levelEnRunModeEnable Run Mode
13  0x2000levelEnTestBusyEnable Busy set by next trigger (TestBusy)
14  0x4000levelClrTestBusyClear TestBusy
15  0x8000edgevResetOverall TIM RESET
Register resets to 0x100.
Note: a command bit has one of two modes of operation:
1. level : command is asserted while the bit is set (to 1)
2. edge : command is generated by setting the bit (from 0 to 1, ie the bit must be cleared to re-enable operation)


0x04. Burst Count Register     [Jump Back to Index]

Burst Count    -    BURSTBurst Count   -    R/W
BitsFieldFunction
0-15BurstCountNumber of triggers in BURST
Register resets to 0.
Higher order bits (31:16) are in Burst_Hi Reg


0x06. Frequency Select Register     [Jump Back to Index]

Frequency Select    -    FREQUENCYTrigger/ECR Oscillator Frequency Select   -    R/W
BitsFieldFunction
0- 4IntTRIGfreqInternal trigger look-up table
5- 7-reserved=0
8-12IntFERfreqInternal ECR/FER look-up table
13-15-reserved=0
Register resets to 0.
Higher order bits (31:16) are in Burst_Hi Reg


IntTRIGfreq lookup table

Bits (7:0) HexMultiplier
x1x10x100x1000
Freq (Hz)60011090100
3001A120A02
2001B130B03
1501C140C04
1201D150D05
1001E160E06
6019110901
501F170F07

IntFERfreq lookup table

Bits (15:8) HexMultiplier
x1x10x100x1000
Freq (Hz)0.06011090100
0.0301A120A02
0.0201B130B03
0.0151C140C04
0.0121D150D05
0.0101E160E06
0.00619110901
0.0051F170F07

Notes:
1. Example: Write 0E06 hex for triggers at 100 kHz and front-end resets at 1 Hz.
2. If the EnRandom bit is set, the average frequency of the random triggers is one quarter of the above internal trigger frequency table.



0x08. Trigger Window Register     [Jump Back to Index]

Trigger Window    -    WINDOWTrigger Window Control   -    R/W
BitsFieldFunction
0- 5WinSizeTrigger window size (0.5ns steps)
6- 7-reserved=0
8-13WinDelayTrigger window delay (0.5ns steps)
14-15-reserved=0
Register resets to 0.
Note: the Trigger Window register is for External Trigger input only.


0x0A. Delay Register     [Jump Back to Index]

Delay    -    DELAYSStand-alone Mode Delays   -    R/W
BitsFieldFunction
0- 7TrigDelayL1A/Trigger/ECR/BCR pipeline delay (clock steps)
8-13ClkDelayStand-alone clock delay (0.5ns steps)
14-15-reserved=0
Register resets to 0.
Note: Changine trigger elay will flush the pipeline


0x0C. Status Register     [Jump Back to Index]

Status    -    STATUSGeneral Status   -    R
BitsFieldFunction
0  0x0001ExtBusyFront-panel Busy Input (post-enable) (see Busy_Stat3 Reg)
1  0x0002MExtBusyoutMasked ExtBusy Output (see Busy_Stat3 Reg)
2  0x0004BusyTIM stopping triggers internally (see Busy_Stat3 Reg)
3  0x0008BusyoutFront-panel Busy Output (see Busy_Stat3 Reg)
4  0x0010BurstActiveBurst is active (e.g. running: post-go, pre-done)
5  0x0020SeqSrcActSequencer Source Running
6  0x0040SeqSinkAct Sequencer Sink Running
7  0x0080RodBusyoutFront-panel RodBusy Output (see Busy_Stat3 Reg)
8  0x0100TTCClkOKTTC system clock present (see Status3 Reg)
9  0x0200SAClkOKStand-alone clock present (see Status3 Reg)
10  0x0400RunModeTTC system operation
11  0x0800SaModeStand-alone operation
12  0x1000-reserved=0
13  0x2000TIMOKTTC clock is selected and good
14  0x4000TestBusyTest-Busy Triggered (see Busy_Stat3 Reg)
15  0x8000LaserInterlockLaser Interlock on (n/c on TIM3: pulled high)

As you can see, much of this is echoed in Status3 and Busy_Stat3 Registers. It is recommended to se the thse newer registers


0x0E. FIFO Status Register     [Jump Back to Index]

FIFO Status    -    FIFOFIFO Status   -    R
BitsFieldFunction
0- 5IDcountEvent ID FIFO Count
6  0x0040IDEFEvent ID Empty Flag
7  0x0080IDFFEvent ID Full Flag
8-13TTcountTrigger Type FIFO Count
14  0x4000TTEFTrigger Type Empty Flag
15  0x8000TTFFTrigger Type Full Flag


0x10. Trigger ID Lo Register     [Jump Back to Index]

Trigger ID Lo    -    L1IDLTrigger Number LSW   -    R(/W)
BitsModeFieldFunction
0-15RL1IDloLast trigger number (bits 0-15)
Register resets to 0xFFFF.
Read-only in RunMode


0x12. Trigger ID Hi Register     [Jump Back to Index]

Trigger ID Hi    -    L1IDHTrigger Number MSB/ ECR-ID   -    R(/W)
BitsModeFieldFunction
0- 7RL1IDhiLast trigger number (bits 16-23)
8-15RECRIDECR counter
Register resets to 0x00FF.
Read-only in RunMode


0x14. Trigger BCID Register     [Jump Back to Index]

Trigger BCID    -    BCIDTrigger Bunch Crossing   -    R(/W)
BitsModeFieldFunction
0-11RBCIDBunch Crossing number of last trigger
12-15R/WOffsetDEPRICATED: BCID offset (subtractive) (see BCIDOffset Reg)
Register resets to 0.
Read-only in RunMode
For extended BCID offset see BCID Offset Hi


0x16. Trigger Type ID Register     [Jump Back to Index]

Trigger Type ID    -    TTIDTrigger Type   -    R(/W)
BitsFieldFunction
0- 7TTID1TTC Trigger Type
8-9TTID2TIM Trigger Type
10-15-reserved=0
Register resets to 0.
In RunMode (7:0) are from TTCrq and read-only.


0x18. Run Enables Register     [Jump Back to Index]

Run Enables    -    RUN_ENABLETTC and Other Enables   -    R/W
BitsFieldFunction
0  0x0001EnTTCClkEnable TTC clock
1  0x0002EnL1AEnable TTC L1Accept Trigger
2  0x0004EnECREnable TTC ECReset
3  0x0008EnBCREnable TTC BCReset
4  0x0010EnCALEnable TTC Calibrate Strobe
5  0x0020EnFEREnable TTC FEReset
6  0x0040EnSpareEnable TTC Spare command
7  0x0080EnRodBusyEnable RodBusy into Busyout
8  0x0100EnExtRodBusyEnable external RodBusy input
9  0x0200EnIDEnable trigger & bunch ID numbers
10  0x0400EnTYPEEnable trigger type
11  0x0800-reserved=0
12  0x1000-reserved=0
13  0x2000-reserved=0
14  0x4000EnSaECREnable counter ECR
15  0x8000EnSaBCREnable counter BCR
Register resets to 0.


0x1A. Sequencer Control Register     [Jump Back to Index]

Sequencer Control    -    SEQ_CTLSequencer Control   -    R/W
BitsModeFieldFunction
0  0x0001levelEnSeqTRIGEnable L1Accept trigger
1  0x0002levelEnSeqECREnable ECReset
2  0x0004levelEnSeqBCREnable BCReset
3  0x0008levelEnSeqCALEnable Calibrate strobe
4  0x0010levelEnSeqIDEnable SerialID
5  0x0020levelEnSeqTTEnable SerialTT
6  0x0040levelEnSeqFEREnable FEReset
7  0x0080levelEnSeqSpareEnable Spare command
8  0x0100--reserved=0
9  0x0200levelSeqResetReset Sequencer
10  0x0400edgeSeqGoStart Sequencer
11  0x0800levelEnCyclicEnable cyclic operation
12  0x1000--reserved=0
13  0x2000levelSinkResetReset Sink
14  0x4000edgeSinkGoStart Sink (and Source)
15  0x8000levelEnStartSinkEnable Sink trigger
Register resets to 0.
Note: a sequencer control bit has one of two modes of operation:
1. level : command or enable is asserted while the bit is set (to 1)
2. edge : command is generated by setting the bit (from 0 to 1, ie the bit must be cleared to re-enable operation)


0x1C. Sequencer End Register     [Jump Back to Index]

Sequencer End    -    SEQ_ENDSequencer End Count Value   -    R/W
BitsFieldFunction
0-13EndAddrEnd/Recycle address
14-15-reserved=0
Register resets to 0.
Note: Counts from 0 - e.g. nClocks = (End+1)


0x1E. RODBusy Mask Register     [Jump Back to Index]

RODBusy Mask    -    RB_MASKROD Mask   -    R/W
BitsFieldFunction
0-15RODmaskRodBusy mask (16 slots: 5-12, 14-21)
Register resets to 0.
Note: the ROD bits are in the order of ROD slot number, eg bit 0 is slot 5 in the ROD crate, bit 7 is slot 12, bit 8 is slot 14, etc.


0x20. RODBusy Status Register     [Jump Back to Index]

RODBusy Status    -    RB_STATRODBusy Status   -    R
BitsFieldFunction
0-15RodBusyRodBusy status (16 slots: 5-12, 14-21)


0x22. RODBusy Latch Register     [Jump Back to Index]

RODBusy Latch    -    RB_LATCHRODBusy Latch   -    R/Z
BitsFieldFunction
0-15RODlatchRodBusy latch (16 slots: 5-12, 14-21)
Register resets to 0. Cleared by a WRITE.
Note: the ROD bits are in the order of ROD slot number, eg bit 0 is slot 5 in the ROD crate.


0x24. RODBusy Monitor Register     [Jump Back to Index]

RODBusy Monitor    -    RB_MONRODBusy Monitor   -    R/Z
BitsFieldFunction
0-15RODmonitorRodBusy monitor (16 slots: 5-12, 14-21)
Register resets to 0. Cleared by a WRITE.
Note: the ROD bits are in the order of ROD slot number, eg bit 0 is slot 5 in the ROD crate.


0x26. TTC Data Register     [Jump Back to Index]

TTC Data    -    TTC_DATATTC Data Monitor   -    R/Z
BitsFieldFunction
0- 7DoutLong-format data
8-15SubAddrSub-address
Register resets to 0. Cleared by a WRITE.


0x28. TTC Select Register     [Jump Back to Index]

TTC Select    -    TTC_SELECTTTC Data Monitor Select   -    R/W
BitsFieldFunction
0- 3DQselectSelect long-format Data Qualifier
4-15-reserved=0
Register resets to 0.


0x2A. TTC BCID Register     [Jump Back to Index]

TTC BCID    -    TTC_BCIDLast TTC BCID Received   -    R/Z
BitsFieldFunction
0-11TTC_BCIDTTC bunch number
12-15-reserved=0
Register resets to 0. Cleared by a WRITE.


0x2C. TTCrx Control Register     [Jump Back to Index]

TTCrx Control    -    TTCRX_CTLTTCrx Control Register (I2C)   -    R/W
BitsFieldFunction
0- 7DataTTCrx data (read or write)
8-12PointerTTCrx register number
13  0x2000ReadI2C Read (not Write)
14  0x4000EnableT2: I2C clock enable/T3 R: Error Status, W: Abort
15  0x8000ControlR: I2C Busy / W: I2C Go
Register resets to 0.


0x2E. TTC Status Register     [Jump Back to Index]

TTC Status    -    TTC_STATUSTTC Status   -    R
BitsFieldFunction
0  0x0001BCntResBCReset
1  0x0002EvCntResECReset
2Brcst(2)FEReset bit - system message
3Brcst(3)Broadcast bit - system message
4Brcst(4)Broadcast bit - system message
5Brcst(5)Broadcast bit - system message
6Brcst(6)Calibrate bit - user message
7Brcst(7)Broadcast bit - user message
8  0x0100L1AcceptTrigger
9  0x0200BrcstStr1Broadcast strobe - system message
10  0x0400BrcstStr2Broadcast strobe - user message
11  0x0800DoutStrLong-format data strobe
12  0x1000DbErrStrDouble error or frame error occured
13  0x2000SinErrStrSingle error occured
14  0x4000TTCReadyTTCrx operating correctly (see Status3 Reg)
15  0x8000-reserved=0


0x30. TIM Output Latch Register     [Jump Back to Index]

TIM Output Latch    -    TIM_OUTPUTTIM Backplane Signals Output Latch   -    R/Z
BitsFieldFunction
0  0x0001TTCout0L1Accept trigger
1  0x0002TTCout1ECReset
2  0x0004TTCout2BCReset
3  0x0008TTCout3Calibrate strobe
4  0x0010TTCout4SerialID
5  0x0020TTCout5SerialTT
6  0x0040TTCout6FEReset
7  0x0080TTCout7Spare command
8-15-reserved=0
Register resets to 0. Cleared by a WRITE.


0x32. TIM ID Register     [Jump Back to Index]

TIM ID    -    TIM_IDHardware and Firmware ID   -    R
BitsFieldFunction
0- 7SerialNoSerial number
8-15VersionVersion number


0x42. Enables3 Register     [Jump Back to Index]

Enables3    -    ENABLES3TIM3 Specific Enables   -    R/W
BitsFieldFunction
0- 2-reserved=0
3  0x0008-reserved=0
4  0x0010L1IDroECRenEnable L1ID rollover to increment ECR-ID
5  0x0020QpllControlEnUntristate control lines to QPLL (on TTCrq mezzanine) (see QPLL_Ctl Reg)
6  0x0040Random2EnEnable Randomiser 2 (results unreliable if used with EnRandom) (see Control Reg)
7  0x0080TrigOsc2EnEnable Trigger Oscillator 2 (see Trig_Osc2l Reg)
8  0x0100TrigSeqModeEnStand-alone trigs diverted to become SeqGo instead (useful for sending trigger sequences at random intervals) (see Seq_Ctl Reg)
9  0x0200ShortFPSigsEnSet front-panel L1A,ECR,BCR,CAL,FER & Spare signals pulse width to 25ns (from 40ns) (Prevents these LEDs working correctly on TIM-3E's)
10  0x0400PreBusyBurstEnBurst counts triggers prior to busy action. Useful for testing trig-in vs trigs-out relationships
11  0x0800SaTtcL1aEnOR TTC-L1A into SA trigger (i.e. can be delayed, has deadtime and generates busy)
12  0x1000SaTtcTtidEnTTC-TType replaces SA TTtype (but only when using SA-TTC-L1A above)
13  0x2000SaTtcBcrEnOR TTCrx BCR & ECR into SA signals (i.e. can be delayed in SA system)
14  0x4000BCRDelayEnEnable TTC SA BCR & ECR to be delayed by trigger delay value
15  0x8000BCIDMaxEnEnable BCID to rollover at 4095 (not 3564) for RunMode offset correction reasons
Register resets to 0.


0x46. Control Register     [Jump Back to Index]

Control    -    CONTROLGeneral Control   -    R/W
BitsFieldFunction
0  0x0001-reserved=0
1  0x0002-reserved=0
2  0x0004-reserved=0
3  0x0008FFTVEmerClrClear an FFTV emergency state (serious!)
4- 8Rand2FreqAverage frequency of Randomiser 2 (see table below) (see Enables3 Reg)
9-15Rand2ClkDivRandomiser 2 Clock divider for larger bunch spacing tests
Register resets to 0.


Random2 Frequency (Control<8:4>) Lookup Table

1F1E1D1C1B1A1918
40 MHz40 MHz40 MHz40 MHz40 MHz40 MHz40 MHz40 MHz
1716151413121110
40 MHz20 MHz10 MHz5 MHz2.5 MHz1.2 MHz600 kHz300 kHz
FEDCBA98
150 kHz80 kHz40 kHz20 kHz10 kHz5 kHz2.5 kHz1.2 kHz
76543210
600 Hz300 Hz160 Hz75 Hz40 Hz10 Hz5 Hz1 Hz


0x4A. Status3 Register     [Jump Back to Index]

Status3    -    STATUS3TIM3 Specific Status bits   -    R
BitsFieldFunction
0  0x0001TTCReady3TTCrx operating correctly (see TTC_Status Reg)
1  0x0002QpllPresentTTCrq/QPLL chip present
2  0x0004QpllErrorQPLL Chip Error
3  0x0008QpllLockedQPLL Locked
4  0x0010TtcClkOK3TTC clock is present (see Status Reg)
5  0x0020-reserved=0
6  0x0040SaClkOK3SA clock is present (see Status Reg)
7  0x0080TtcClkEnOKTTC Clock Selected and Running ('TT' front-panel LED)
8  0x0100ExtClkEnOKExt Clock Selected and Running
9  0x0200IntClkEnOKInternal Clock Selected and Running
10  0x0400PllStableClock PLL(s) stable after switching clocks (asserted ~700ms after switch)
11  0x0800-reserved=0
12  0x1000-reserved=0
13  0x2000-reserved=0
14  0x4000spare_inSpare Input
15  0x8000spare_linkSpare Link

See Clock Flow Diagram
See Clock Select Diagram


0x4C. Status Change Latch Register     [Jump Back to Index]

Status Change Latch    -    STATUS_LCHStatus Change Latch   -    R/Z
BitsFieldFunction
0-15Status Change LatchWatches Status Reg and logs 1s for bit changes (glitches too). Armed by a write.
Register resets to 0. Cleared by a WRITE.
See Status Reg for bits.
Should be cleared after reset/config


0x4E. Status3 Change Latch Register     [Jump Back to Index]

Status3 Change Latch    -    STAT3_LCHStatus3 Change Latch   -    R/Z
BitsFieldFunction
0-15Status3 Change LatchWatches Status3 Reg and logs 1s for bit changes (glitches too). Armed by a write
Register resets to 0. Cleared by a WRITE.
See Status3 Reg for bits.
Should be cleared after reset/config


0x52. QPLL Control Register     [Jump Back to Index]

QPLL Control    -    QPLL_CTLQPLL Control   -    R/W
BitsFieldFunction
0- 3QpllF0SelectQPLL f0 Select (bits 3:0)
4  0x0010QpllAutorestartQPLL Auto-restart/f0 sel bit 4
5  0x0020nQpllResetQPLL Reset/f0 Select bit 5
6  0x0040QpllExtControlQPLL External Control Enable
7  0x0080QpllModeQPLL Mode
8  0x0100-reserved=0
9  0x0200-reserved=0
10  0x0400-reserved=0
11  0x0800-reserved=0
12  0x1000-reserved=0
13  0x2000-reserved=0
14  0x4000-reserved=0
15  0x8000-reserved=0
Register resets to 0x00B0.


0x56. Busy Enable3 Register     [Jump Back to Index]

Busy Enable3    -    BUSY_EN3Busy Enable3   -    R/W
BitsFieldFunction
0  0x0001enRBbusyEnable RodBusy into Busy
1  0x0002enXRBbusyEnable External-RodBusy into Busy
2  0x0004enVRBbusyEnable VME-RodBusy into Busy
3  0x0008enXBbusyEnable External-Busy into Busy
4  0x0010enVBbusyEnable VME-Busy into Busy
5  0x0020-reserved=0
6  0x0040-reserved=0
7  0x0080-reserved=0
8  0x0100enRBbusyoutEnable RodBusy into Busyout
9  0x0200enXRBbusyoutEnable External-RodBusy into Busyout
10  0x0400enVRBbusyoutEnable VME-RodBusy into Busyout
11  0x0800enXBbusyoutEnable External-Busy into Busyout
12  0x1000enVBbusyoutEnable VME-Busy into Busyout
13  0x2000enBSTBbusyoutEnable Burst-Busy into Busyout
14  0x4000enTSTBbusyoutEnable Test-Busy into Busyout
15  0x8000enDTBbusyoutEnable Deadtime-Busy into Busyout
Register resets to 0x1000.
See Busy Flow Diagram


0x5A. Busy Status3 Register     [Jump Back to Index]

Busy Status3    -    BUSY_STAT3Busy Status3   -    R
BitsFieldFunction
0  0x0001RodBusyRB: OR of all RodBusy backplane inputs (post masking)
1  0x0002ExtRodBusyXRB: External RodBusy (post-enable)
2  0x0004vRodBusy3VRB: VME-RodBusy
3  0x0008ExtBusy3XB: Front Panel Busy Input (post-enable)
4  0x0010vBusy3VB: VME-Busy
5  0x0020BurstBusy3BSTB: Burst Ready - awaiting Burst-Go/Burst Done
6  0x0040TestBusy3TSTB: Test-Busy Triggered
7  0x0080DeadTimeBusyDTB: Stand-Alone Signal Dead-Time
8  0x0100ClkSwitchBusyTimeout after clock-switch/reset to ensure downstream stable
9  0x0200Busy3TIM stopping triggers internally
10  0x0400RodBusyout3Front-panel RodBusy Output
11  0x0800Busyout3Front-panel Busy Output
12  0x1000MExtBusyout3Front-panel Masked ExtBusy Output
13  0x2000FFTVEmergencyFFTV System In Emergency State, Triggers Stopped
14  0x4000FFTVBusyFixed Frequency Trigger Veto Busy Asserted
15  0x8000FFTVLinkStatFFTV Disable Link Inserted

See Busy Flow Diagram


0x5E. Busy Status3 Change Latch Register     [Jump Back to Index]

Busy Status3 Change Latch    -    BSTAT3_LCHCatches changes in BSTAT3 since last reset/clear   -    R/Z
BitsFieldFunction
0-15Busy Status3 Change LatchWatches Busy Status3 Reg and logs 1s for bit changes (glitches too). Armed by a write
Register resets to 0. Cleared by a WRITE.
See Busy Status3 Reg for bits.
Should be cleared after reset/config


0x60. Overall Busy Count Lo Register     [Jump Back to Index]

Overall Busy Count Lo    -    BCOUNTLBusy Count (15:0) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z
BitsFieldFunction
0-15Overall Busy Count Lo
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the Overall Busy Count registers will reset all of them.


0x62. Overall Busy Count Hi Register     [Jump Back to Index]

Overall Busy Count Hi    -    BCOUNTHBusy Count (31:16) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z
BitsFieldFunction
0-15Overall Busy Count Hi
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the Overall Busy Count registers will reset all of them.


0x66. BCID Offset Extended Register     [Jump Back to Index]

BCID Offset Extended    -    BCIDOFFSETBCID Offset (11:0) - Covers full orbit   -    R/W
BitsFieldFunction
0-11BCID Offset ExtendedOffset subtracted from TTC-BCID (from TTCrx) for sending to ROD (see BCID Reg)
Register resets to 0.
Note this supercedes 4 bit BCID offset in BCID Register. Bits (3:0) are common to both (i.e. current code will still work)
NB: Setting offset >3563 is only supported when using BCIDMaxEn.


0x6A. FFTV Match Threshhold Register     [Jump Back to Index]

FFTV Match Threshhold    -    FV_MATCHFFTV Match Threshhold   -    R/W
BitsFieldFunction
0- 3FFTV Match ThreshholdNumber of Matching Periods needed to Generate Veto
4-15-reserved=0
Register resets to 10.
Only values between 2 and 10, otherwise defaults to 10.


0x74. FFTV Count Lo Register     [Jump Back to Index]

FFTV Count Lo    -    FV_COUNTLNumber of Clocks in FFTVeto Counter (15:0)    -    R/Z
BitsFieldFunction
0-15FFTV Count Lo
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the FFTV Count registers will reset all of them.


0x76. FFTV Count Hi Register     [Jump Back to Index]

FFTV Count Hi    -    FV_COUNTHNumber of Clocks in FFTVeto Counter (31:16)    -    R/Z
BitsFieldFunction
0-15FFTV Count Hi
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the FFTV Count registers will reset all of them.


0x78. FFTV Count Ex Register     [Jump Back to Index]

FFTV Count Ex    -    FV_COUNTXNumber of Clocks in FFTVeto Counter (47:32)    -    R/Z
BitsFieldFunction
0-15FFTV Count Ex
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the FFTV Count registers will reset all of them.


0x7C. FFTV Trigger Count Lo Register     [Jump Back to Index]

FFTV Trigger Count Lo    -    FV_TCOUNTLNumber of Triggers FFTVeto'd (15:0)   -    R/Z
BitsFieldFunction
0-15FFTV Trigger Count Lo
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the FFTV Trigger Count registers will reset all of them.


0x7E. FFTV Trigger Count Hi Register     [Jump Back to Index]

FFTV Trigger Count Hi    -    FV_TCOUNTHNumber of Triggers FFTVeto'd (31:16)   -    R/Z
BitsFieldFunction
0-15FFTV Trigger Count Hi
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the FFTV Trigger Count registers will reset all of them.


0x80. Trigger Period FIFO Lo Register     [Jump Back to Index]

Trigger Period FIFO Lo    -    TP_FIFOLTrigger Period FIFO (15:0)   -    R/Z
BitsFieldFunction
0-15Trigger Period FIFO Lo
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the Trigger Period FIFO registers will reset all of them.


0x82. Trigger Period FIFO Hi Register     [Jump Back to Index]

Trigger Period FIFO Hi    -    TP_FIFOHTrigger Period FIFO (31:16)   -    R/Z
BitsFieldFunction
0-15Trigger Period FIFO Hi
Register resets to 0x4000. Cleared by a WRITE.
A write to the LSW of the Trigger Period FIFO registers will reset all of them.


0x84. Veto ID Lo Register     [Jump Back to Index]

Veto ID Lo    -    FV_IDLCounts Number of times Veto is Asserted (15:0)   -    R/Z
BitsFieldFunction
0-15Veto ID Lo
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the Veto ID registers will reset all of them.


0x86. Veto ID Hi Register     [Jump Back to Index]

Veto ID Hi    -    FV_IDHCounts Number of time Veto is Asserted (31:16)   -    R/Z
BitsFieldFunction
0-15Veto ID Hi
Register resets to 0. Cleared by a WRITE.
A write to the LSW of the Veto ID registers will reset all of them.


0x88. Trigger Osc2 Period Lo Register     [Jump Back to Index]

Trigger Osc2 Period Lo    -    TRIG_OSC2LCounter-based Trigger Oscillator (15:0)   -    R/W
BitsFieldFunction
0-15Trigger Osc2 Period Lo
Register resets to 0.
Enabled by TrigOsc2En


0x8A. Trigger Osc2 Period Hi Register     [Jump Back to Index]

Trigger Osc2 Period Hi    -    TRIG_OSC2HCounter-based Trigger Oscillator (31:16)   -    R/W
BitsFieldFunction
0-15Trigger Osc2 Period Hi
Register resets to 0.
Enabled by TrigOsc2En


0x8E. Burst Count Hi Register     [Jump Back to Index]

Burst Count Hi    -    BURST_HIBurst Counter (31:16)   -    R/W
BitsFieldFunction
0-15Burst Count Hi
Register resets to 0.
Note: Used in Conjuction with Burst Reg.
Enable L1ID-rollover-to-ECRID (ENABLES3,4) to count 32 bit L1ID


0x94. F2 Timestamp Lo Register     [Jump Back to Index]

F2 Timestamp Lo    -    TSTAMPLF2 Timestamp (15:0)   -    R
BitsFieldFunction
0-15F2 Timestamp Lo


0x96. F2 Timestamp Hi Register     [Jump Back to Index]

F2 Timestamp Hi    -    TSTAMPHF2 Timestamp (31:16)   -    R
BitsFieldFunction
0-15F2 Timestamp Hi


0x9C. F2 Debug Control Register     [Jump Back to Index]

F2 Debug Control    -    DEBUG_CTLF2 Debug Control   -    R/W
BitsFieldFunction
0- 3-reserved=0
4  0x0010-reserved=0
5  0x0020-reserved=0
6  0x0040-reserved=0
7  0x0080-reserved=0
8  0x0100CSBdisableDisable Clk-Switch Busy
9  0x0200SARBdisableDisable SA-Mode setting RodBusy
10  0x0400-reserved=0
11  0x0800-reserved=0
12  0x1000FVdisableFFTV Veto Disable (needs link in place too)
13  0x2000-reserved
14  0x4000-reserved=0
15  0x8000-reserved=0
Register resets to 0.


0x9E. F2 Debug Status Register     [Jump Back to Index]

F2 Debug Status    -    DEBUG_STATF2 Debug Status   -    R
BitsFieldFunction
0- 3-reserved=0
4  0x0010-reserved=0
5  0x0020-reserved=0
6  0x0040-reserved=0
7  0x0080-reserved=0
8  0x0100-reserved=0
9  0x0200-reserved=0
10  0x0400-reserved=0
11  0x0800-reserved=0
12  0x1000-reserved=0
13  0x2000-reserved=0
14  0x4000-reserved=0
15  0x8000-reserved=0


Sequencer RAM

Sequencer RAM Address Map
Address Byte Field (D16 access only)
8000 First byte of Source data
8001 First byte of Sink data
... ...
FFFE Last byte of Source data
FFFF Last byte of Sink data

Notes:
1. The source and sink memories are each 16K bytes long, interleaved with the source being the least significant byte of each 16-bit word, giving 32K bytes (16K words) of sequencer memory in total. 2. The memories have no reset and have undefined values after a power-up cycle; to be safe they should be filled with zeros after each TIM RESET.


Sequencer RAM
VME Address: 8000-FFFE R/W
bit Field Function
0 SourceTRIG Source L1Accept trigger
1 SourceECR Source ECReset
2 SourceBCR Source BCReset
3 SourceCAL Source Calibrate strobe
4 SourceID Source SerialID
5 SourceTT Source SerialTT
6 SourceFER Source FEReset
7 SourceSpare Source Spare command
8 SinkTRIG Sink L1Accept trigger
9 SinkECR Sink ECReset
10 SinkBCR Sink BCReset
11 SinkCAL Sink Calibrate strobe
12 SinkID Sink SerialID
13 SinkTT Sink SerialTT
14 SinkFER Sink FEReset
15 SinkSpare Sink Spare command


References

TIM_interface_RCC http://www.hep.ucl.ac.uk/~jbl/SCT/TIM_interface_RCC.html
TIM_manual        http://www.hep.ucl.ac.uk/atlas/sct/tim/TIM_manual.html

History:

0.95   17Aug05 MW  Excel gen list with all TIM-3 registers set as default
0.9    22Mar05 MW  Started adding new TIM3 bits
0.8    22Jun04 JBL L1ID registers reset to -1 (firmware v9)
0.7    11Nov02 JBL Rearrange L1ID registers to add ECRID (firmware v9)
0.6    21Mar02 JBL Redefine some bits
0.5    11Mar01 JBL Move TIM ID & Output, add ROD Latch & Monitor
0.4    24Nov00 JBL Add frequency tables, RAM bits
0.4    24Nov00 JBL Add frequency tables, RAM bits
0.3    09Nov00 JBL Minor update
0.2    21Jul00 JBL Minor update
0.1    03Jul00 JBL First draft on the Web
0.0    02Dec99 MP First draft

Matthew Warren / warren@hep.ucl.ac.uk