Difference between revisions of "Busy Box and related/BusyBox Registers"

From ift
Jump to: navigation, search
m (Busy Box Status and Contol Registers)
m
Line 1: Line 1:
{| border="1" cellpadding="1" cellspacing="0" |colspan="5"|
+
{|border="1" cellpadding="5" cellspacing="0"
{| border="1" cellpadding="1" cellspacing="0" |colspan="5"|
+
!colspan="5"| Busy Box Status and Contol Registers
====Busy Box Status and Contol Registers====
 
 
|-
 
|-
 +
!width="170"|Name
 
!Address
 
!Address
 
!Mode
 
!Mode
!width="170"|Name
 
 
!Description
 
!Description
 
!Default Value
 
!Default Value
 
|-
 
|-
 +
|TX module(15:0)
 
|0x0001
 
|0x0001
 
|RW
 
|RW
|TX module(15:0)
+
|For sending messages to DRORCs.
|For sending messages to DRORCs.
+
* Bit 7:0 is TX data.
* Bit 7:0 is TX data.
 
 
* Bit 15:8 gives channelnumber in hexadecimal. Any value greater than the actual number of channels will result in a broadcast on all channels.
 
* Bit 15:8 gives channelnumber in hexadecimal. Any value greater than the actual number of channels will result in a broadcast on all channels.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|RX memory
 
|0x1000-0x1FFF
 
|0x1000-0x1FFF
 
|RW
 
|RW
|RX memory
 
 
|Memory where all messages received from DRORCs will be stored. One message is stored over 4 addresses:
 
|Memory where all messages received from DRORCs will be stored. One message is stored over 4 addresses:
 
* Address ending "00" - DRORC Message(47:32)
 
* Address ending "00" - DRORC Message(47:32)
Line 27: Line 26:
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|RX memory pointer(13:0)
 
|0x2000
 
|0x2000
 
|R
 
|R
|RX memory pointer(13:0)
 
 
|Holds the value where the next message will be written in RX memory. The RX memory pointer will increase by 4 for each message.
 
|Holds the value where the next message will be written in RX memory. The RX memory pointer will increase by 4 for each message.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|EventID FIFO count(3:0)
 
|0x2001
 
|0x2001
 
|R
 
|R
|EventID FIFO count(3:0)
 
 
|Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any.
 
|Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Current EventID(35:32)
 
|0x2002
 
|0x2002
 
|R
 
|R
|Current EventID(35:32)
 
 
|rowspan="3"|The EventID which is currently being matched.
 
|rowspan="3"|The EventID which is currently being matched.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Current EventID(31:16)
 
|0x2003
 
|0x2003
 
|R
 
|R
|Current EventID(31:16)
 
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Current EventID(15:0)
 
|0x2004
 
|0x2004
 
|R
 
|R
|Current EventID(15:0)
 
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Newest EventID(35:32)
 
|0x2005
 
|0x2005
 
|R
 
|R
|Newest EventID(35:32)
 
 
|rowspan="3"|The EventID most recently received from the Trigger system.
 
|rowspan="3"|The EventID most recently received from the Trigger system.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Newest EventID(31:16)
 
|0x2006
 
|0x2006
 
|R
 
|R
|Newest EventID(31:16)
 
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Newest EventID(15:0)
 
|0x2007
 
|0x2007
 
|R
 
|R
|Newest EventID(15:0)
 
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|L0 Trigger Timeout(15:0)
 
|0x2008
 
|0x2008
 
|RW
 
|RW
|L0 Trigger Timeout(15:0)
 
 
|Time in 10 us resolution the 'busy' will be asserted after an L0 trigger. Note: The busy will not be deasserted if the buffers are full.
 
|Time in 10 us resolution the 'busy' will be asserted after an L0 trigger. Note: The busy will not be deasserted if the buffers are full.
 
|0x000A
 
|0x000A
 
|-
 
|-
 +
|Busy Condition(15:0)
 
|0x2009
 
|0x2009
 
|RW
 
|RW
|Busy Condition(15:0)
 
 
|Status and control registers concerning the BUSY generation
 
|Status and control registers concerning the BUSY generation
 
* Bit 15 - Busy because TTCrx_ready is low.
 
* Bit 15 - Busy because TTCrx_ready is low.
Line 90: Line 89:
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Halt FSM matching(0)
 
|0x200A
 
|0x200A
 
|RW
 
|RW
|Halt FSM matching(0)
+
|If LSB is set to 1 the internal State Machine (FSM) will halt in a wait state and will stop requesting EventIDs from the DRORCs.
|If LSB is set to 1 the internal State Machine (FSM) will halt in a wait state and will stop requesting EventIDs from the DRORCs.  
 
 
|0x0001
 
|0x0001
 
|-
 
|-
 +
|Force match(0)
 
|0x200B
 
|0x200B
 
|T
 
|T
|Force match(0)
 
 
|Writing 0x1 when FSM halt is set, will force the FSM to move on to the next EventID even if it is not matched. Note : FSM must be halted before this has any effect.
 
|Writing 0x1 when FSM halt is set, will force the FSM to move on to the next EventID even if it is not matched. Note : FSM must be halted before this has any effect.
 
|N/A
 
|N/A
 
|-
 
|-
 +
|Re-Request Timeout(15:0)
 
|0x200C
 
|0x200C
 
|RW
 
|RW
|Re-Request Timeout(15:0)
 
 
|Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs.
 
|Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs.
 
|0x07FF
 
|0x07FF
 
|-
 
|-
 +
|Current RequestID(3:0)
 
|0x200D
 
|0x200D
 
|R
 
|R
|Current RequestID(3:0)
 
 
|Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs.
 
|Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Retry Count(15:0)
 
|0x200E
 
|0x200E
 
|R
 
|R
|Retry Count(15:0)
 
 
|Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID.
 
|Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Busy time(31:16)
 
|0x2010
 
|0x2010
 
|R
 
|R
|Busy time(31:16)
 
 
|rowspan="2"|Holds value of counter for number of clock cycles BUSY has been asserted.
 
|rowspan="2"|Holds value of counter for number of clock cycles BUSY has been asserted.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Busy time(15:0)
 
|0x2011
 
|0x2011
 
|R
 
|R
|Busy time(15:0)
 
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|RX mem filter(15:0)
 
|0x2012
 
|0x2012
 
|RW
 
|RW
|RX mem filter(15:0)
+
|Allows filtering of messages that are stored in RX memory.
|Allows filtering of messages that are stored in RX memory.  
+
*Bit 7:0 is the pattern that will be matched with the channelnumber of the message.
*Bit 7:0 is the pattern that will be matched with the channelnumber of the message.  
 
 
*Bit 15:8 allows enableing matching of individual bits 7-0.
 
*Bit 15:8 allows enableing matching of individual bits 7-0.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Number of Channels
 
|0x2014
 
|0x2014
 
|R
 
|R
|Number of Channels
 
 
|Number of channels (in hexadecimal) the firmware includes. This is a generic set at compile-time.
 
|Number of channels (in hexadecimal) the firmware includes. This is a generic set at compile-time.
 
|N/A
 
|N/A
 
|-
 
|-
 +
|Firmware Revision
 
|0x2015
 
|0x2015
 
|R
 
|R
|Firmware Revision
 
 
|Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34
 
|Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34
 
|0x0022
 
|0x0022
 
|-
 
|-
 +
|Stresstest Enable(0)
 
|0x2016
 
|0x2016
 
|RW
 
|RW
|Stresstest Enable(0)
 
 
|Duplicates input on channel 0 to all other channels. Used for testing the device with all channels enabled when only one physical DRORC is available.
 
|Duplicates input on channel 0 to all other channels. Used for testing the device with all channels enabled when only one physical DRORC is available.
 
|0x0000
 
|0x0000
 
|-
 
|-
 +
|Channel Registers
 
|0x21XX
 
|0x21XX
 
|RW
 
|RW
|Channel Registers
+
|'XX' in the address gives the channelnumber in hexadecimal.
|'XX' in the address gives the channelnumber in hexadecimal.  
 
 
*Bit 0 is enable(1)/disable(0)
 
*Bit 0 is enable(1)/disable(0)
 
*Bit 1 indicates that the current EventID has been matched on this channel.
 
*Bit 1 indicates that the current EventID has been matched on this channel.
 
|0x0001
 
|0x0001
 +
|-
 +
!colspan="5"| Trigger Receiver Module Status and Contol Registers
 +
|-
 +
!width="170"|Name
 +
!Address
 +
!Mode
 +
!Description
 +
!Default Value
 +
|-
 +
|rowspan="11" |Control(15:0)
 +
|rowspan="11" |0x3000
 +
|RW
 +
|[0] Serial B on/off
 +
|1
 +
|-
 +
|RW
 +
|[1] Disable error masking
 +
|0
 +
|-
 +
|RW
 +
|[2] Enable RoI Decoding
 +
|0
 +
|-
 +
|RW
 +
|[3] L0 Support
 +
|1
 +
|-
 +
|R
 +
|[4:7] Unused
 +
|N/A
 +
|-
 +
|RW
 +
|[8] L2Accept Event FIFO storage mask
 +
|1
 +
|-
 +
|RW
 +
|[9] L2Reject Event FIFO storage mask
 +
|1
 +
|-
 +
|RW
 +
|[10] L2Timeout Event FIFO storage mask
 +
|1
 +
|-
 +
|RW
 +
|[11] L1message mask
 +
|1
 +
|-
 +
|RW
 +
|[12] Trigger Input Mask Enable
 +
|0
 +
|-
 +
|RW
 +
|[13:15] Unused
 +
|N/A
 +
|-
 +
|rowspan="6" |Control(7:0)
 +
|rowspan="6" |0x3001
 +
|R
 +
|[0] Bunschcounter overflow
 +
|N/A
 +
|-
 +
|R
 +
|[1] Run Active
 +
|N/A
 +
|-
 +
|R
 +
|[2] Busy receiving trigger sequence
 +
|N/A
 +
|-
 +
|R
 +
|[3] Unused
 +
|N/A
 +
|-
 +
|R
 +
|[7:4] CDH version
 +
|0x2
 +
|-
 +
|R
 +
|[15:8] Trigger Receiver version
 +
|0x13
 +
 +
|-
 +
|Reset Counters
 +
|0x3002
 +
|T
 +
|[0] Reset all counters in the Trigger Receiver
 +
|N/A
 +
|-
 +
-
 
|}
 
|}

Revision as of 12:12, 21 October 2009

-
Busy Box Status and Contol Registers
Name Address Mode Description Default Value
TX module(15:0) 0x0001 RW For sending messages to DRORCs.
  • Bit 7:0 is TX data.
  • Bit 15:8 gives channelnumber in hexadecimal. Any value greater than the actual number of channels will result in a broadcast on all channels.
0x0000
RX memory 0x1000-0x1FFF RW Memory where all messages received from DRORCs will be stored. One message is stored over 4 addresses:
  • Address ending "00" - DRORC Message(47:32)
  • Address ending "01" - DRORC Message(31:16)
  • Address ending "10" - DRORC Message(15:0)
  • Address ending "11" - Receiving Channel number(7:0)
0x0000
RX memory pointer(13:0) 0x2000 R Holds the value where the next message will be written in RX memory. The RX memory pointer will increase by 4 for each message. 0x0000
EventID FIFO count(3:0) 0x2001 R Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any. 0x0000
Current EventID(35:32) 0x2002 R The EventID which is currently being matched. 0x0000
Current EventID(31:16) 0x2003 R 0x0000
Current EventID(15:0) 0x2004 R 0x0000
Newest EventID(35:32) 0x2005 R The EventID most recently received from the Trigger system. 0x0000
Newest EventID(31:16) 0x2006 R 0x0000
Newest EventID(15:0) 0x2007 R 0x0000
L0 Trigger Timeout(15:0) 0x2008 RW Time in 10 us resolution the 'busy' will be asserted after an L0 trigger. Note: The busy will not be deasserted if the buffers are full. 0x000A
Busy Condition(15:0) 0x2009 RW Status and control registers concerning the BUSY generation
  • Bit 15 - Busy because TTCrx_ready is low.
  • Bit 14 - Busy because MEB count >= MEB limit
  • Bit 13 - Busy because L0 timeout is active.
  • Bit 12 - Busy because Trigger Receiver Module is busy receiving a sequence.
  • Bit 11:8 - Unused
  • Bit 7:4 - Current MEB count.
  • Bit 3:0 - MEB Limit: Limit for the maximum number of MEBs to count before busy will be asserted.
0x0000
Halt FSM matching(0) 0x200A RW If LSB is set to 1 the internal State Machine (FSM) will halt in a wait state and will stop requesting EventIDs from the DRORCs. 0x0001
Force match(0) 0x200B T Writing 0x1 when FSM halt is set, will force the FSM to move on to the next EventID even if it is not matched. Note : FSM must be halted before this has any effect. N/A
Re-Request Timeout(15:0) 0x200C RW Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs. 0x07FF
Current RequestID(3:0) 0x200D R Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs. 0x0000
Retry Count(15:0) 0x200E R Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID. 0x0000
Busy time(31:16) 0x2010 R Holds value of counter for number of clock cycles BUSY has been asserted. 0x0000
Busy time(15:0) 0x2011 R 0x0000
RX mem filter(15:0) 0x2012 RW Allows filtering of messages that are stored in RX memory.
  • Bit 7:0 is the pattern that will be matched with the channelnumber of the message.
  • Bit 15:8 allows enableing matching of individual bits 7-0.
0x0000
Number of Channels 0x2014 R Number of channels (in hexadecimal) the firmware includes. This is a generic set at compile-time. N/A
Firmware Revision 0x2015 R Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34 0x0022
Stresstest Enable(0) 0x2016 RW Duplicates input on channel 0 to all other channels. Used for testing the device with all channels enabled when only one physical DRORC is available. 0x0000
Channel Registers 0x21XX RW 'XX' in the address gives the channelnumber in hexadecimal.
  • Bit 0 is enable(1)/disable(0)
  • Bit 1 indicates that the current EventID has been matched on this channel.
0x0001
Trigger Receiver Module Status and Contol Registers
Name Address Mode Description Default Value
Control(15:0) 0x3000 RW [0] Serial B on/off 1
RW [1] Disable error masking 0
RW [2] Enable RoI Decoding 0
RW [3] L0 Support 1
R [4:7] Unused N/A
RW [8] L2Accept Event FIFO storage mask 1
RW [9] L2Reject Event FIFO storage mask 1
RW [10] L2Timeout Event FIFO storage mask 1
RW [11] L1message mask 1
RW [12] Trigger Input Mask Enable 0
RW [13:15] Unused N/A
Control(7:0) 0x3001 R [0] Bunschcounter overflow N/A
R [1] Run Active N/A
R [2] Busy receiving trigger sequence N/A
R [3] Unused N/A
R [7:4] CDH version 0x2
R [15:8] Trigger Receiver version 0x13
Reset Counters 0x3002 T [0] Reset all counters in the Trigger Receiver N/A