Busy Box and related/BusyBox Registers: Difference between revisions
From ift
mNo edit summary |
|||
Line 1: | Line 1: | ||
{| border="1" cellpadding="1" cellspacing="0" | {| border="1" cellpadding="1" cellspacing="0" |colspan="5"| | ||
|colspan="5"| | |||
====Busy Box Status and Contol Registers==== | ====Busy Box Status and Contol Registers==== | ||
|- | |- | ||
!Address | !Address | ||
! | !Mode | ||
!Name | !width="170"|Name | ||
!Description | !Description | ||
!Default Value | !Default Value | ||
Line 12: | Line 11: | ||
|RW | |RW | ||
|TX module | |TX module | ||
|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. | |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 | |||
|- | |- | ||
|0x1XXX | |0x1XXX | ||
Line 19: | Line 20: | ||
|RX memory | |RX memory | ||
|Memory where all messages received from DRORCs will be stored. | |Memory where all messages received from DRORCs will be stored. | ||
| | |0x0000 | ||
|- | |- | ||
|0x2000 | |0x2000 | ||
Line 25: | Line 26: | ||
|RX memory pointer | |RX memory pointer | ||
|Holds the value where the next message will be written in RX memory. | |Holds the value where the next message will be written in RX memory. | ||
| | |0x0000 | ||
|- | |- | ||
|0x2001 | |0x2001 | ||
|R | |R | ||
|EventID count | |EventID FIFO count | ||
|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 | ||
|- | |- | ||
|0x2002 | |0x2002 | ||
|R | |R | ||
|Current EventID(35-32) | |Current EventID(35-32) | ||
|The EventID which is currently being matched. | |rowspan="3"|The EventID which is currently being matched. | ||
| | |0x0000 | ||
|- | |- | ||
|0x2003 | |0x2003 | ||
|R | |R | ||
|Current EventID(31-16) | |Current EventID(31-16) | ||
| | |0x0000 | ||
|- | |- | ||
|0x2004 | |0x2004 | ||
|R | |R | ||
|Current EventID(15- 0) | |Current EventID(15- 0) | ||
| | |0x0000 | ||
|- | |- | ||
|0x2005 | |0x2005 | ||
|R | |R | ||
|Newest EventID(35-32) | |Newest EventID(35-32) | ||
|The EventID most recently received from the | |rowspan="3"|The EventID most recently received from the Trigger system. | ||
| | |0x0000 | ||
|- | |- | ||
|0x2006 | |0x2006 | ||
|R | |R | ||
|Newest EventID(31-16) | |Newest EventID(31-16) | ||
| | |0x0000 | ||
|- | |- | ||
|0x2007 | |0x2007 | ||
|R | |R | ||
|Newest EventID(15- 0) | |Newest EventID(15- 0) | ||
| | |0x0000 | ||
|- | |- | ||
|0x2008 | |0x2008 | ||
|RW | |RW | ||
|L0 | |L0 Trigger Timeout | ||
| | |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 | ||
|- | |- | ||
|0x2009 | |0x2009 | ||
|RW | |RW | ||
| | |Busy Condition | ||
| | |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 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 | |||
|- | |- | ||
|0x200A | |0x200A | ||
|RW | |RW | ||
|Halt | |Halt FSM matching | ||
|If LSB is set to 1 the internal FSM will halt in a wait state. | |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 | ||
|- | |- | ||
|0x200B | |0x200B | ||
| | |T | ||
|Force match | |Force match | ||
|Writing 0x1 when FSM halt is set, will force the FSM to move on to the next EventID even if it is not matched. | |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 | ||
|- | |- | ||
|0x200C | |0x200C | ||
|RW | |RW | ||
|Re-Request Timeout | |Re-Request Timeout | ||
|Number of clock cycles 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 | ||
|- | |- | ||
|0x200D | |0x200D | ||
Line 103: | Line 106: | ||
|Current RequestID | |Current RequestID | ||
|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 | ||
|- | |- | ||
|0x200E | |0x200E | ||
|R | |R | ||
|Retry Count | |Retry Count(15-0) | ||
|Number of times requests | |Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID. | ||
| | |0x0000 | ||
|- | |- | ||
|0x2010 | |0x2010 | ||
|R | |R | ||
|Busy time(31-16) | |Busy time(31-16) | ||
|Holds value of counter for number of clock | |rowspan="2"|Holds value of counter for number of clock cycles BUSY has been asserted. | ||
| | |0x0000 | ||
|- | |- | ||
|0x2011 | |0x2011 | ||
|R | |R | ||
|Busy time(15- 0) | |Busy time(15-0) | ||
| | |0x0000 | ||
|- | |- | ||
|0x2012 | |0x2012 | ||
|RW | |RW | ||
|RX mem filter | |RX mem filter | ||
|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. | |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 | |||
|- | |||
|0x2015 | |||
|R | |||
|Firmware Revision | |||
|Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34 | |||
|0x0022 | |||
|- | |||
|0x2016 | |||
|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. | |||
|0x0000 | |||
|- | |- | ||
|0x21XX | |0x21XX | ||
|RW | |RW | ||
|Channel Registers | |Channel Registers | ||
|'XX' in the address gives the channelnumber in hexadecimal. Bit 0 is enable/disable (0 | |'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 | |||
|} | |} |
Revision as of 08:40, 21 October 2009
Busy Box Status and Contol Registers
Address | Mode | Name | Description | Default Value |
---|---|---|---|---|
0x0001 | RW | TX module | For sending messages to DRORCs.
|
0x0000 |
0x1XXX | RW | RX memory | Memory where all messages received from DRORCs will be stored. | 0x0000 |
0x2000 | R | RX memory pointer | Holds the value where the next message will be written in RX memory. | 0x0000 |
0x2001 | R | EventID FIFO count | Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any. | 0x0000 |
0x2002 | R | Current EventID(35-32) | The EventID which is currently being matched. | 0x0000 |
0x2003 | R | Current EventID(31-16) | 0x0000 | |
0x2004 | R | Current EventID(15- 0) | 0x0000 | |
0x2005 | R | Newest EventID(35-32) | The EventID most recently received from the Trigger system. | 0x0000 |
0x2006 | R | Newest EventID(31-16) | 0x0000 | |
0x2007 | R | Newest EventID(15- 0) | 0x0000 | |
0x2008 | RW | L0 Trigger Timeout | 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 |
0x2009 | RW | Busy Condition | Status and control registers concerning the BUSY generation
|
0x0000 |
0x200A | RW | Halt FSM matching | 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 |
0x200B | T | Force match | 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 |
0x200C | RW | Re-Request Timeout | Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs. | 0x07FF |
0x200D | R | Current RequestID | Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs. | 0x0000 |
0x200E | R | Retry Count(15-0) | Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID. | 0x0000 |
0x2010 | R | Busy time(31-16) | Holds value of counter for number of clock cycles BUSY has been asserted. | 0x0000 |
0x2011 | R | Busy time(15-0) | 0x0000 | |
0x2012 | RW | RX mem filter | Allows filtering of messages that are stored in RX memory.
|
0x0000 |
0x2015 | R | Firmware Revision | Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34 | 0x0022 |
0x2016 | 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. | 0x0000 |
0x21XX | RW | Channel Registers | 'XX' in the address gives the channelnumber in hexadecimal.
|
0x0001 |