Busy Box and related/BusyBox Registers: Difference between revisions
From ift
mNo edit summary |
|||
Line 1: | Line 1: | ||
{| border="1" cellpadding=" | {|border="1" cellpadding="5" cellspacing="0" | ||
!colspan="5"| Busy Box Status and Contol Registers | |||
|- | |- | ||
!width="170"|Name | |||
!Address | !Address | ||
!Mode | !Mode | ||
!Description | !Description | ||
!Default Value | !Default Value | ||
|- | |- | ||
|TX module(15:0) | |||
|0x0001 | |0x0001 | ||
|RW | |RW | ||
|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 | ||
|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 | ||
|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 | ||
|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 | ||
|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 | ||
|0x0000 | |0x0000 | ||
|- | |- | ||
|Current EventID(15:0) | |||
|0x2004 | |0x2004 | ||
|R | |R | ||
|0x0000 | |0x0000 | ||
|- | |- | ||
|Newest EventID(35:32) | |||
|0x2005 | |0x2005 | ||
|R | |R | ||
|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 | ||
|0x0000 | |0x0000 | ||
|- | |- | ||
|Newest EventID(15:0) | |||
|0x2007 | |0x2007 | ||
|R | |R | ||
|0x0000 | |0x0000 | ||
|- | |- | ||
|L0 Trigger Timeout(15:0) | |||
|0x2008 | |0x2008 | ||
|RW | |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. | |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 | ||
|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 | ||
|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 | ||
|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 | ||
|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 | ||
|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 | ||
|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 | ||
|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 | ||
|0x0000 | |0x0000 | ||
|- | |- | ||
|RX mem filter(15:0) | |||
|0x2012 | |0x2012 | ||
|RW | |RW | ||
|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 (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 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 | ||
|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 | ||
|'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 10: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.
|
0x0000 |
RX memory | 0x1000-0x1FFF | RW | Memory where all messages received from DRORCs will be stored. One message is stored over 4 addresses:
|
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
|
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.
|
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.
|
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 |