TIM Registers List
For Firmware Version 1D (and 1E/1F/20)
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
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].
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.
- VME access is D16 only, ie A0 is not used and always assumed to be zero
- Registers are addressed by decoding A15 - A1, with A15 = 0
- Sequencer memory addresses are given by A15 - A1, with A15 = 1
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 |
- TIM RESET means power-up reset, push-button reset, or vRESET command bit
- reserved bits are either Read/Write or = 0 if Read only
- undefined bits are not implemented and read as any value
Signal Enables    -    ENABLES | Stand-alone External/Internal Signal Enables   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | - | reserved=0 |
1  0x0002 | EnIntTRIG | Enable internal repetitive trigger. DEPRICATED (see Enables3 Reg) |
2  0x0004 | EnIntECR | Enable internal repetitive ECReset |
3  0x0008 | EnIntBCR | Enable internal repetitive BCReset |
4  0x0010 | EnRandom | Enable internal trigger randomizer |
5  0x0020 | EnIntFER | Enable internal repetitive FEReset |
6  0x0040 | EnWindow | Enable trigger window |
7  0x0080 | EnIntBusy | Enable internal Busy (see Busy_En3 Reg) |
8  0x0100 | EnExtClk | Enable external clock inputs |
9  0x0200 | EnExtTRIG | Enable external trigger inputs |
10  0x0400 | EnExtECR | Enable external ECReset inputs |
11  0x0800 | EnExtBCR | Enable external BCReset inputs |
12  0x1000 | EnExtCAL | Enable external Calibrate inputs |
13  0x2000 | EnExtFER | Enable external FEReset inputs |
14  0x4000 | EnExtSEQ | Enable external Sequencer Go inputs |
15  0x8000 | EnExtBusy | Enable 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). |
Command & Mode    -    COMMAND | Commands and Mode Settings   -    R/W |
---|
|
---|
Bits | Mode | Field | Function |
0  0x0001 | - | - | reserved=0 |
1  0x0002 | edge | vTRIG | Single trigger |
2  0x0004 | edge | vECR | Single ECReset |
3  0x0008 | edge | vBCR | Single BCReset |
4  0x0010 | edge | vCAL | Single Calibrate strobe |
5  0x0020 | edge | vFER | Single FEReset |
6  0x0040 | edge | vSpare | Single Spare command |
7  0x0080 | level | vBusy | Set Busy (see Busy_Stat3 Reg) |
8  0x0100 | level | vRodBusy | Set RodBusy (see Busy_Stat3 Reg) |
9  0x0200 | level | vBurstMode | Set BURST mode - disable triggers |
10  0x0400 | edge | vBurstGo | Start BURST triggers - Int or Ext |
11  0x0800 | - | - | reserved=0 |
12  0x1000 | level | EnRunMode | Enable Run Mode |
13  0x2000 | level | EnTestBusy | Enable Busy set by next trigger (TestBusy) |
14  0x4000 | level | ClrTestBusy | Clear TestBusy |
15  0x8000 | edge | vReset | Overall 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) |
Burst Count    -    BURST | Burst Count   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | BurstCount | Number of triggers in BURST |
Register resets to 0. Higher order bits (31:16) are in Burst_Hi Reg |
Frequency Select    -    FREQUENCY | Trigger/ECR Oscillator Frequency Select   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 4 | IntTRIGfreq | Internal trigger look-up table |
5- 7 | - | reserved=0 |
8-12 | IntFERfreq | Internal 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 tableBits (7:0) Hex | Multiplier |
---|
x1 | x10 | x100 | x1000 | Freq (Hz) | 600 | 11 | 09 | 01 | 00 |
---|
300 | 1A | 12 | 0A | 02 | 200 | 1B | 13 | 0B | 03 | 150 | 1C | 14 | 0C | 04 | 120 | 1D | 15 | 0D | 05 | 100 | 1E | 16 | 0E | 06 | 60 | 19 | 11 | 09 | 01 | 50 | 1F | 17 | 0F | 07 |
| IntFERfreq lookup tableBits (15:8) Hex | Multiplier |
---|
x1 | x10 | x100 | x1000 | Freq (Hz) | 0.060 | 11 | 09 | 01 | 00 |
---|
0.030 | 1A | 12 | 0A | 02 | 0.020 | 1B | 13 | 0B | 03 | 0.015 | 1C | 14 | 0C | 04 | 0.012 | 1D | 15 | 0D | 05 | 0.010 | 1E | 16 | 0E | 06 | 0.006 | 19 | 11 | 09 | 01 | 0.005 | 1F | 17 | 0F | 07 |
|
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.
Trigger Window    -    WINDOW | Trigger Window Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 5 | WinSize | Trigger window size (0.5ns steps) |
6- 7 | - | reserved=0 |
8-13 | WinDelay | Trigger window delay (0.5ns steps) |
14-15 | - | reserved=0 |
Register resets to 0. Note: the Trigger Window register is for External Trigger input only. |
Delay    -    DELAYS | Stand-alone Mode Delays   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 7 | TrigDelay | Stand-alone trigger pipeline delay (clock steps) |
8-13 | ClkDelay | Stand-alone clock delay (0.5ns steps) |
14-15 | - | reserved=0 |
Register resets to 0. Note: Changine trigger elay will flush the pipeline |
Status    -    STATUS | General Status   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | ExtBusy | Front-panel Busy Input (post-enable) (see Busy_Stat3 Reg) |
1  0x0002 | MExtBusyout | Masked ExtBusy Output (see Busy_Stat3 Reg) |
2  0x0004 | Busy | TIM stopping triggers internally (see Busy_Stat3 Reg) |
3  0x0008 | Busyout | Front-panel Busy Output (see Busy_Stat3 Reg) |
4  0x0010 | BurstActive | Burst is active (e.g. running: post-go, pre-done) |
5  0x0020 | SeqSrcAct | Sequencer Source Running |
6  0x0040 | SeqSinkAct | Sequencer Sink Running |
7  0x0080 | RodBusyout | Front-panel RodBusy Output (see Busy_Stat3 Reg) |
8  0x0100 | TTCClkOK | TTC system clock present (see Status3 Reg) |
9  0x0200 | SAClkOK | Stand-alone clock present (see Status3 Reg) |
10  0x0400 | RunMode | TTC system operation |
11  0x0800 | SaMode | Stand-alone operation |
12  0x1000 | - | reserved=0 |
13  0x2000 | TIMOK | TTC clock is selected and good |
14  0x4000 | TestBusy | Test-Busy Triggered (see Busy_Stat3 Reg) |
15  0x8000 | LaserInterlock | Laser 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 |
FIFO Status    -    FIFO | FIFO Status   -    R |
---|
|
---|
Bits | Field | Function |
0- 5 | IDcount | Event ID FIFO Count |
6  0x0040 | IDEF | Event ID Empty Flag |
7  0x0080 | IDFF | Event ID Full Flag |
8-13 | TTcount | Trigger Type FIFO Count |
14  0x4000 | TTEF | Trigger Type Empty Flag |
15  0x8000 | TTFF | Trigger Type Full Flag |
|
Trigger ID Lo    -    L1IDL | Trigger Number LSW   -    R(/W) |
---|
|
---|
Bits | Mode | Field | Function |
0-15 | R | L1IDlo | Last trigger number (bits 0-15) |
Register resets to 0xFFFF. Read-only in RunMode |
Trigger ID Hi    -    L1IDH | Trigger Number MSB/ ECR-ID   -    R(/W) |
---|
|
---|
Bits | Mode | Field | Function |
0- 7 | R | L1IDhi | Last trigger number (bits 16-23) |
8-15 | R | ECRID | ECR counter |
Register resets to 0x00FF. Read-only in RunMode |
Trigger BCID    -    BCID | Trigger Bunch Crossing   -    R(/W) |
---|
|
---|
Bits | Mode | Field | Function |
0-11 | R | BCID | Bunch Crossing number of last trigger |
12-15 | R/W | Offset | DEPRICATED: BCID offset (subtractive) (see BCIDOffset Reg) |
Register resets to 0. Read-only in RunMode For extended BCID offset see BCID Offset Hi |
Trigger Type ID    -    TTID | Trigger Type   -    R(/W) |
---|
|
---|
Bits | Field | Function |
0- 7 | TTID1 | TTC Trigger Type |
8-9 | TTID2 | TIM Trigger Type |
10-15 | - | reserved=0 |
Register resets to 0. In RunMode (7:0) are from TTCrq and read-only. |
Run Enables    -    RUN_ENABLE | TTC and Other Enables   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | EnTTCClk | Enable TTC clock |
1  0x0002 | EnL1A | Enable TTC L1Accept Trigger |
2  0x0004 | EnECR | Enable TTC ECReset |
3  0x0008 | EnBCR | Enable TTC BCReset |
4  0x0010 | EnCAL | Enable TTC Calibrate Strobe |
5  0x0020 | EnFER | Enable TTC FEReset |
6  0x0040 | EnSpare | Enable TTC Spare command |
7  0x0080 | EnRodBusy | Enable RodBusy into Busyout |
8  0x0100 | EnExtRodBusy | Enable external RodBusy input |
9  0x0200 | EnID | Enable trigger & bunch ID numbers |
10  0x0400 | EnTYPE | Enable trigger type |
11  0x0800 | - | reserved=0 |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | EnSaECR | Enable counter ECR |
15  0x8000 | EnSaBCR | Enable counter BCR |
Register resets to 0. |
Sequencer Control    -    SEQ_CTL | Sequencer Control   -    R/W |
---|
|
---|
Bits | Mode | Field | Function |
0  0x0001 | level | EnSeqTRIG | Enable L1Accept trigger |
1  0x0002 | level | EnSeqECR | Enable ECReset |
2  0x0004 | level | EnSeqBCR | Enable BCReset |
3  0x0008 | level | EnSeqCAL | Enable Calibrate strobe |
4  0x0010 | level | EnSeqID | Enable SerialID |
5  0x0020 | level | EnSeqTT | Enable SerialTT |
6  0x0040 | level | EnSeqFER | Enable FEReset |
7  0x0080 | level | EnSeqSpare | Enable Spare command |
8  0x0100 | - | - | reserved=0 |
9  0x0200 | level | SeqReset | Reset Sequencer |
10  0x0400 | edge | SeqGo | Start Sequencer |
11  0x0800 | level | EnCyclic | Enable cyclic operation |
12  0x1000 | - | - | reserved=0 |
13  0x2000 | level | SinkReset | Reset Sink |
14  0x4000 | edge | SinkGo | Start Sink (and Source) |
15  0x8000 | level | EnStartSink | Enable 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) |
Sequencer End    -    SEQ_END | Sequencer End Count Value   -    R/W |
---|
|
---|
Bits | Field | Function |
0-13 | EndAddr | End/Recycle address |
14-15 | - | reserved=0 |
Register resets to 0. Note: Counts from 0 - e.g. nClocks = (End+1) |
RODBusy Mask    -    RB_MASK | ROD Mask   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | RODmask | RodBusy 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. |
RODBusy Status    -    RB_STAT | RODBusy Status   -    R |
---|
|
---|
Bits | Field | Function |
0-15 | RodBusy | RodBusy status (16 slots: 5-12, 14-21) |
|
RODBusy Latch    -    RB_LATCH | RODBusy Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | RODlatch | RodBusy 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. |
RODBusy Monitor    -    RB_MON | RODBusy Monitor   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | RODmonitor | RodBusy 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. |
TTC Data    -    TTC_DATA | TTC Data Monitor   -    R/Z |
---|
|
---|
Bits | Field | Function |
0- 7 | Dout | Long-format data |
8-15 | SubAddr | Sub-address |
Register resets to 0. Cleared by a WRITE. |
TTC Select    -    TTC_SELECT | TTC Data Monitor Select   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 3 | DQselect | Select long-format Data Qualifier |
4-15 | - | reserved=0 |
Register resets to 0. |
TTC BCID    -    TTC_BCID | Last TTC BCID Received   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-11 | TTC_BCID | TTC bunch number |
12-15 | - | reserved=0 |
Register resets to 0. Cleared by a WRITE. |
TTCrx Control    -    TTCRX_CTL | TTCrx Control Register (I2C)   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 7 | Data | TTCrx data (read or write) |
8-12 | Pointer | TTCrx register number |
13  0x2000 | Read | I2C Read (not Write) |
14  0x4000 | Enable | T2: I2C clock enable/T3 R: Error Status, W: Abort |
15  0x8000 | Control | R: I2C Busy / W: I2C Go |
Register resets to 0. |
TTC Status    -    TTC_STATUS | TTC Status   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | BCntRes | BCReset |
1  0x0002 | EvCntRes | ECReset |
2 | Brcst(2) | FEReset bit - system message |
3 | Brcst(3) | Broadcast bit - system message |
4 | Brcst(4) | Broadcast bit - system message |
5 | Brcst(5) | Broadcast bit - system message |
6 | Brcst(6) | Calibrate bit - user message |
7 | Brcst(7) | Broadcast bit - user message |
8  0x0100 | L1Accept | Trigger |
9  0x0200 | BrcstStr1 | Broadcast strobe - system message |
10  0x0400 | BrcstStr2 | Broadcast strobe - user message |
11  0x0800 | DoutStr | Long-format data strobe |
12  0x1000 | DbErrStr | Double error or frame error occured |
13  0x2000 | SinErrStr | Single error occured |
14  0x4000 | TTCReady | TTCrx operating correctly (see Status3 Reg) |
15  0x8000 | - | reserved=0 |
|
TIM Output Latch    -    TIM_OUTPUT | TIM Backplane Signals Output Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0  0x0001 | TTCout0 | L1Accept trigger |
1  0x0002 | TTCout1 | ECReset |
2  0x0004 | TTCout2 | BCReset |
3  0x0008 | TTCout3 | Calibrate strobe |
4  0x0010 | TTCout4 | SerialID |
5  0x0020 | TTCout5 | SerialTT |
6  0x0040 | TTCout6 | FEReset |
7  0x0080 | TTCout7 | Spare command |
8-15 | - | reserved=0 |
Register resets to 0. Cleared by a WRITE. |
TIM ID    -    TIM_ID | Hardware and Firmware ID   -    R |
---|
|
---|
Bits | Field | Function |
0- 7 | SerialNo | Serial number |
8-15 | Version | Version number |
|
Enables3    -    ENABLES3 | TIM3 Specific Enables   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 2 | - | reserved=0 |
3  0x0008 | - | reserved=0 |
4  0x0010 | L1IDroECRen | Enable L1ID rollover to increment ECR-ID |
5  0x0020 | QpllControlEn | Untristate control lines to QPLL (on TTCrq mezzanine) (see QPLL_Ctl Reg) |
6  0x0040 | Random2En | Enable Randomiser 2 (results unreliable if used with EnRandom) (see Control Reg) |
7  0x0080 | TrigOsc2En | Enable Trigger Oscillator 2 (see Trig_Osc2l Reg) |
8  0x0100 | TrigSeqModeEn | Stand-alone trigs diverted to become SeqGo instead (useful for sending trigger sequences at random intervals) (see Seq_Ctl Reg) |
9  0x0200 | ShortFPSigsEn | Set 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  0x0400 | PreBusyBurstEn | Burst counts triggers prior to busy action. Useful for testing trig-in vs trigs-out relationships |
11  0x0800 | SaTtcL1aEn | OR TTC-L1A into SA trigger (i.e. can be delayed, has deadtime and generates busy) |
12  0x1000 | SaTtcTtidEn | TTC-TType replaces SA TTtype (but only when using SA-TTC-L1A above) |
13  0x2000 | SaTtcBcrEn | OR TTCrx BCR & ECR into SA signals (i.e. can be delayed in SA system) |
14  0x4000 | BCRDelayEn | Enable TTC BCR & ECR to be delayed by trigger delay value |
15  0x8000 | BCIDMaxEn | Enable BCID to rollover at 4095 (not 3564) for RunMode offset correction reasons |
Register resets to 0. |
Control    -    CONTROL | General Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | - | reserved=0 |
1  0x0002 | - | reserved=0 |
2  0x0004 | - | reserved=0 |
3  0x0008 | FFTVEmerClr | Clear an FFTV emergency state (serious!) |
4- 8 | Rand2Freq | Average frequency of Randomiser 2 (see table below) (see Enables3 Reg) |
9-15 | Rand2ClkDiv | Randomiser 2 Clock divider for larger bunch spacing tests |
Register resets to 0. |
Random2 Frequency (Control<8:4>) Lookup Table
1F | 1E | 1D | 1C | 1B | 1A | 19 | 18 |
40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz |
17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
40 MHz | 20 MHz | 10 MHz | 5 MHz | 2.5 MHz | 1.2 MHz | 600 kHz | 300 kHz |
F | E | D | C | B | A | 9 | 8 |
150 kHz | 80 kHz | 40 kHz | 20 kHz | 10 kHz | 5 kHz | 2.5 kHz | 1.2 kHz |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
600 Hz | 300 Hz | 160 Hz | 75 Hz | 40 Hz | 10 Hz | 5 Hz | 1 Hz |
Status3    -    STATUS3 | TIM3 Specific Status bits   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | TTCReady3 | TTCrx operating correctly (see TTC_Status Reg) |
1  0x0002 | QpllPresent | TTCrq/QPLL chip present |
2  0x0004 | QpllError | QPLL Chip Error |
3  0x0008 | QpllLocked | QPLL Locked |
4  0x0010 | TtcClkOK3 | TTC clock is present (see Status Reg) |
5  0x0020 | - | reserved=0 |
6  0x0040 | SaClkOK3 | SA clock is present (see Status Reg) |
7  0x0080 | TtcClkEnOK | TTC Clock Selected and Running ('TT' front-panel LED) |
8  0x0100 | ExtClkEnOK | Ext Clock Selected and Running |
9  0x0200 | IntClkEnOK | Internal Clock Selected and Running |
10  0x0400 | PllStable | Clock PLL(s) stable after switching clocks (asserted ~700ms after switch) |
11  0x0800 | - | reserved=0 |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | spare_in | Spare Input |
15  0x8000 | spare_link | Spare Link |
See Clock Flow Diagram See Clock Select Diagram |
Status Change Latch    -    STATUS_LCH | Status Change Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Status Change Latch | Watches 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 |
Status3 Change Latch    -    STAT3_LCH | Status3 Change Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Status3 Change Latch | Watches 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 |
QPLL Control    -    QPLL_CTL | QPLL Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 3 | QpllF0Select | QPLL f0 Select (bits 3:0) |
4  0x0010 | QpllAutorestart | QPLL Auto-restart/f0 sel bit 4 |
5  0x0020 | nQpllReset | QPLL Reset/f0 Select bit 5 |
6  0x0040 | QpllExtControl | QPLL External Control Enable |
7  0x0080 | QpllMode | QPLL 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. |
Busy Enable3    -    BUSY_EN3 | Busy Enable3   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | enRBbusy | Enable RodBusy into Busy |
1  0x0002 | enXRBbusy | Enable External-RodBusy into Busy |
2  0x0004 | enVRBbusy | Enable VME-RodBusy into Busy |
3  0x0008 | enXBbusy | Enable External-Busy into Busy |
4  0x0010 | enVBbusy | Enable VME-Busy into Busy |
5  0x0020 | - | reserved=0 |
6  0x0040 | - | reserved=0 |
7  0x0080 | - | reserved=0 |
8  0x0100 | enRBbusyout | Enable RodBusy into Busyout |
9  0x0200 | enXRBbusyout | Enable External-RodBusy into Busyout |
10  0x0400 | enVRBbusyout | Enable VME-RodBusy into Busyout |
11  0x0800 | enXBbusyout | Enable External-Busy into Busyout |
12  0x1000 | enVBbusyout | Enable VME-Busy into Busyout |
13  0x2000 | enBSTBbusyout | Enable Burst-Busy into Busyout |
14  0x4000 | enTSTBbusyout | Enable Test-Busy into Busyout |
15  0x8000 | enDTBbusyout | Enable Deadtime-Busy into Busyout |
Register resets to 0x1000. See Busy Flow Diagram |
Busy Status3    -    BUSY_STAT3 | Busy Status3   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | RodBusy | RB: OR of all RodBusy backplane inputs (post masking) |
1  0x0002 | ExtRodBusy | XRB: External RodBusy (post-enable) |
2  0x0004 | vRodBusy3 | VRB: VME-RodBusy |
3  0x0008 | ExtBusy3 | XB: Front Panel Busy Input (post-enable) |
4  0x0010 | vBusy3 | VB: VME-Busy |
5  0x0020 | BurstBusy3 | BSTB: Burst Ready - awaiting Burst-Go/Burst Done |
6  0x0040 | TestBusy3 | TSTB: Test-Busy Triggered |
7  0x0080 | DeadTimeBusy | DTB: Stand-Alone Signal Dead-Time |
8  0x0100 | ClkSwitchBusy | Timeout after clock-switch/reset to ensure downstream stable |
9  0x0200 | Busy3 | TIM stopping triggers internally |
10  0x0400 | RodBusyout3 | Front-panel RodBusy Output |
11  0x0800 | Busyout3 | Front-panel Busy Output |
12  0x1000 | MExtBusyout3 | Front-panel Masked ExtBusy Output |
13  0x2000 | FFTVEmergency | FFTV System In Emergency State, Triggers Stopped |
14  0x4000 | FFTVBusy | Fixed Frequency Trigger Veto Busy Asserted |
15  0x8000 | FFTVLinkStat | FFTV Disable Link Inserted |
See Busy Flow Diagram |
Busy Status3 Change Latch    -    BSTAT3_LCH | Catches changes in BSTAT3 since last reset/clear   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Busy Status3 Change Latch | Watches 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 |
Overall Busy Count Lo    -    BCOUNTL | Busy Count (15:0) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Overall 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. |
Overall Busy Count Hi    -    BCOUNTH | Busy Count (31:16) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Overall 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. |
BCID Offset Extended    -    BCIDOFFSET | BCID Offset (11:0) - Covers full orbit   -    R/W |
---|
|
---|
Bits | Field | Function |
0-11 | BCID Offset Extended | Offset 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. |
FFTV Match Threshhold    -    FV_MATCH | FFTV Match Threshhold   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 3 | FFTV Match Threshhold | Number 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. |
FFTV Count Lo    -    FV_COUNTL | Number of Clocks in FFTVeto Counter (15:0)    -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV 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. |
FFTV Count Hi    -    FV_COUNTH | Number of Clocks in FFTVeto Counter (31:16)    -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV 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. |
FFTV Count Ex    -    FV_COUNTX | Number of Clocks in FFTVeto Counter (47:32)    -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV 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. |
FFTV Trigger Count Lo    -    FV_TCOUNTL | Number of Triggers FFTVeto'd (15:0)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV 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. |
FFTV Trigger Count Hi    -    FV_TCOUNTH | Number of Triggers FFTVeto'd (31:16)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV 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. |
Trigger Period FIFO Lo    -    TP_FIFOL | Trigger Period FIFO (15:0)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Trigger 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. |
Trigger Period FIFO Hi    -    TP_FIFOH | Trigger Period FIFO (31:16)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Trigger 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. |
Veto ID Lo    -    FV_IDL | Counts Number of times Veto is Asserted (15:0)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Veto 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. |
Veto ID Hi    -    FV_IDH | Counts Number of time Veto is Asserted (31:16)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Veto 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. |
Trigger Osc2 Period Lo    -    TRIG_OSC2L | Counter-based Trigger Oscillator (15:0)   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | Trigger Osc2 Period Lo | |
Register resets to 0. Enabled by TrigOsc2En |
Trigger Osc2 Period Hi    -    TRIG_OSC2H | Counter-based Trigger Oscillator (31:16)   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | Trigger Osc2 Period Hi | |
Register resets to 0. Enabled by TrigOsc2En |
Burst Count Hi    -    BURST_HI | Burst Counter (31:16)   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | Burst 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 |
F2 Timestamp Lo    -    TSTAMPL | F2 Timestamp (15:0)   -    R |
---|
|
---|
Bits | Field | Function |
0-15 | F2 Timestamp Lo | |
|
F2 Timestamp Hi    -    TSTAMPH | F2 Timestamp (31:16)   -    R |
---|
|
---|
Bits | Field | Function |
0-15 | F2 Timestamp Hi | |
|
F2 Debug Control    -    DEBUG_CTL | F2 Debug Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 3 | - | reserved=0 |
4  0x0010 | - | reserved=0 |
5  0x0020 | - | reserved=0 |
6  0x0040 | - | reserved=0 |
7  0x0080 | - | reserved=0 |
8  0x0100 | CSBdisable | Disable Clk-Switch Busy |
9  0x0200 | SARBdisable | Disable SA-Mode setting RodBusy |
10  0x0400 | - | reserved=0 |
11  0x0800 | - | reserved=0 |
12  0x1000 | FVdisable | FFTV Veto Disable (needs link in place too) |
13  0x2000 | - | reserved |
14  0x4000 | - | reserved=0 |
15  0x8000 | - | reserved=0 |
Register resets to 0. |
F2 Debug Status    -    DEBUG_STAT | F2 Debug Status   -    R |
---|
|
---|
Bits | Field | Function |
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 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
|
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
Copyright © 2005 UCL HEP Group.
[Last modified 19 Apr 2022]