>
<description>Registers for the Nxyter Readout</description>
- <group name="DataValidate"
- address="0120" size="11" purpose="status" mode="r" continuous="true">
-
- <register name="InvalidFrames" address="0000" purpose="status">
- <description>Number of invalid frames</description>
- <field name="InvalidFrames" start="0" bits="16" format="unsigned" />
- </register>
-
- <register name="OverflowCount" address="0001" purpose="status">
- <description>Number of hit overflows</description>
- <field name="OverflowCount" start="0" bits="16" format="unsigned" />
- </register>
-
- <register name="PileupCount" address="0002" purpose="status">
- <description>Pileup Counter</description>
- <field name="PileupCount" start="0" bits="16" format="unsigned" />
- </register>
-
- <register name="PileupRate" address="0009" purpose="status" mode="r">
- <description>Pileup Rate</description>
- <field name="PileupRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>" />
- </register>
-
- <register name="OverflowRate" address="000a" purpose="status" mode="r">
- <description>Overflow Rate</description>
- <field name="OverflowRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>" />
- </register>
-
- <register name="ParityErrorCount" address="0003" purpose="status">
- <description>Parity Error Counter</description>
- <field name="ParityErrorCount" start="0" bits="16" format="unsigned" />
- </register>
-
- <group name="NxyterRates"
- address="0004" size="2" purpose="status" mode="r" continuous="true">
- <register name="HitRate" address="0000" purpose="status">
- <description>Total hit rate summed over all channels</description>
- <field name="HitRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>"/>
- </register>
-
- <register name="FrameRate" address="0001" purpose="status">
- <description>Rate of Incoming Nxyter + ADC Frames, must be 31.25&middot;10<sup>6</sup>s<sup>-1</sup></description>
- <field name="FrameRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>"/>
- </register>
- </group>
-
-
- <register name="ADCValue" address="0006" purpose="status" mode="r">
- <description>Last valid ADC value</description>
- <field name="ADCValue" start="0" bits="12" format="unsigned"/>
- </register>
-
- <register name="ADCAverage" address="0007" purpose="status" mode="r">
- <description>Average of last valid ADC Values</description>
- <field name="ADCAverage" start="0" bits="12" format="unsigned"/>
- </register>
-
- <register name="ADCAverageNum" address="0008" purpose="config" mode="rw">
- <description>Number of Averages, power of two (2^n)</description>
- <field name="ADCAverageNum" start="0" bits="4" format="unsigned" />
- </register>
- </group>
-
+
<!-- ##################################################################### -->
<group name="TriggerHandler"
<!-- ##################################################################### -->
<group name="DataReceiver"
- address="0500" size="21" purpose="status" mode="rw" continuous="true">
+ address="0500" size="22" purpose="status" mode="rw" continuous="true">
<register name="RFrameRate" address="0013" purpose="status" mode="r">
<description>Merge of Nxyter and ADC Frame Rates, must be 31.25&middot;10<sup>6</sup>s<sup>-1</sup></description>
<field name="RFrameRate" start="0" bits="27" format="unsigned" unit="s<sup>-1</sup>" />
<register name="ErrorBits" address="0014" purpose="status" mode="r">
<description>Status of Error Bits</description>
<field name="NX_Offline" start="0" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="Frame_Rate" start="8" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="NX_Rate" start="1" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="NX_Sync" start="2" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="NX_Parity" start="3" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="ADC_Err" start="4" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="ADC_PLL" start="5" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="ADC_CLK" start="6" bits="1" format="bitmask" purpose="status" mode="r"/>
- <field name="ADC_Rate" start="7" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="Frame_Rate" start="1" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="NX_Rate" start="2" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="ADC_Rate" start="3" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="Parity" start="4" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="NX_Sync" start="5" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="ADC_Err" start="6" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="ADC_PLL" start="7" bits="1" format="bitmask" purpose="status" mode="r"/>
+ <field name="ADC_CLK" start="8" bits="1" format="bitmask" purpose="status" mode="r"/>
+ </register>
+
+ <register name="ResetBusy" address="000b" purpose="status" mode="rw">
+ <description>Reset Busy Status, Click to force reset</description>
+ <field name="ResetBusy" start="0" bits="1" format="bitmask" />
</register>
<register name="ResetCounter" address="000c" purpose="status" mode="r">
<description>Number of Resyncs</description>
<field name="ResyncCounter" start="0" bits="32" format="unsigned" />
</register>
+
+ <register name="ParityErrRate" address="0015" purpose="status" mode="r">
+ <description>Nxyter Timestamp Frame Rate, must be 31.25&middot;10<sup>6</sup>s<sup>-1</sup></description>
+ <field name="ParityErrRate" start="0" bits="27" format="unsigned" unit="s<sup>-1</sup>" />
+ </register>
<register name="ParityErrorCounter" address="0003" purpose="status" mode="r">
<description>Number of Parity Errors</description>
<field name="Reserved1" start="0" bits="4" format="unsigned" />
</register>
- <register name="ADCClockOK" address="000b" purpose="status" mode="r">
- <description>ADC Clock OK, Johnson counter is synced</description>
- <field name="ADCClockOK" start="0" bits="1" format="boolean" />
- </register>
-
<register name="TSDelay" address="000d" purpose="config" mode="rw">
<description>Delay of Timestamp Fifo</description>
<field name="TSDelay" start="0" bits="4" format="unsigned" />
<!-- ##################################################################### -->
+ <group name="DataValidate"
+ address="0120" size="11" purpose="status" mode="r" continuous="true">
+
+ <register name="InvalidFrames" address="0000" purpose="status">
+ <description>Number of invalid frames</description>
+ <field name="InvalidFrames" start="0" bits="16" format="unsigned" />
+ </register>
+
+ <register name="OverflowCount" address="0001" purpose="status">
+ <description>Number of hit overflows</description>
+ <field name="OverflowCount" start="0" bits="16" format="unsigned" />
+ </register>
+
+ <register name="PileupCount" address="0002" purpose="status">
+ <description>Pileup Counter</description>
+ <field name="PileupCount" start="0" bits="16" format="unsigned" />
+ </register>
+
+ <register name="PileupRate" address="0009" purpose="status" mode="r">
+ <description>Pileup Rate</description>
+ <field name="PileupRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>" />
+ </register>
+
+ <register name="OverflowRate" address="000a" purpose="status" mode="r">
+ <description>Overflow Rate</description>
+ <field name="OverflowRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>" />
+ </register>
+
+ <register name="ParityErrorCount" address="0003" purpose="status">
+ <description>Parity Error Counter</description>
+ <field name="ParityErrorCount" start="0" bits="16" format="unsigned" />
+ </register>
+
+ <group name="NxyterRates"
+ address="0004" size="2" purpose="status" mode="r" continuous="true">
+ <register name="HitRate" address="0000" purpose="status">
+ <description>Total hit rate summed over all channels</description>
+ <field name="HitRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>"/>
+ </register>
+
+ <register name="FrameRate" address="0001" purpose="status">
+ <description>Rate of Incoming Nxyter + ADC Frames, must be 31.25&middot;10<sup>6</sup>s<sup>-1</sup></description>
+ <field name="FrameRate" start="0" bits="32" format="unsigned" unit="s<sup>-1</sup>"/>
+ </register>
+ </group>
+
+
+ <register name="ADCValue" address="0006" purpose="status" mode="r">
+ <description>Last valid ADC value</description>
+ <field name="ADCValue" start="0" bits="12" format="unsigned"/>
+ </register>
+
+ <register name="ADCAverage" address="0007" purpose="status" mode="r">
+ <description>Average of last valid ADC Values</description>
+ <field name="ADCAverage" start="0" bits="12" format="unsigned"/>
+ </register>
+
+ <register name="ADCAverageNum" address="0008" purpose="config" mode="rw">
+ <description>Number of Averages, power of two (2^n)</description>
+ <field name="ADCAverageNum" start="0" bits="4" format="unsigned" />
+ </register>
+ </group>
+
+ <!-- ##################################################################### -->
+
<group name="NxyterI2C"
address="0200" purpose="config" mode="rw" continuous="false">
<register name="ErrorStatus" address="0009" purpose="status" mode="r" >
<description>Error Status of all Entities</description>
- <field name="ErrorStatus" start="0" bits="7" format="bitmask"/>
+ <field name="DataRec" start="0" bits="1" format="bitmask" purpose="status"/>
+ <field name="EventBuf" start="1" bits="1" format="bitmask" purpose="status"/>
</register>
<register name="SetOffline" address="0000" purpose="config" mode="rw" >
<!-- ##################################################################### -->
+ <group name="EventBuffer"
+ address="0601" size="4" purpose="status" mode="r" continuous="true">
+
+ <register name="EvtBufDepth" address="0000" purpose="config" mode="rw">
+ <description>Evenbuffer Depth (10 ... 4000)</description>
+ <field name="EvtBufDepth" start="0" bits="11" format="unsigned" unit="Bytes" scale="4"/>
+ </register>
+
+ <register name="EvtBufFlushCtr" address="0001" purpose="status" mode="r">
+ <description>Last Eventbuffer Flush Counter</description>
+ <field name="EvtBufFlushCtr" start="0" bits="11" format="unsigned" unit="Words"/>
+ </register>
+
+ <register name="BufFullRate" address="0002" purpose="status" mode="r">
+ <description>Event Buffer Full Flag Rate</description>
+ <field name="BufFullRate" start="0" bits="19" unit="s<sup>-1</sup>"/>
+ </register>
+
+ <register name="Error" address="0003" purpose="status" mode="r">
+ <description>Event Buffer Error Status (i.e. Full Rate > 0)</description>
+ <field name="Error" start="0" bits="1" format="boolean"/>
+ </register>
+
+ </group>
+
+ <!-- ##################################################################### -->
+
<group name="RateHist"
address="0800" size="128" purpose="config" mode="r" continuous="true">
<register name="ChannelHitCtr" address="0000" purpose="status" mode="r" repeat="128">