]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
nxyter register update
authorLudwig Maier <lmaier@bia.e12.ph.tum.de>
Mon, 17 Feb 2014 02:03:58 +0000 (03:03 +0100)
committerLudwig Maier <lmaier@bia.e12.ph.tum.de>
Mon, 17 Feb 2014 02:03:58 +0000 (03:03 +0100)
users/tum_e12/HOWTORUN.TXT
web/htdocs/nxyter/index.pl
xml-db/database/Nxyter.xml

index a23dded17c57c0298f76c6245f57275f18f7c66b..8dc31fa97b183e1e9ed4332ad1c1193bdc5f56bd 100644 (file)
@@ -7,6 +7,7 @@ trbcmd reset
 trbdhcp
 configure_eb.sh
 configure_cts.sh
+sleep 2
 /home/rich/TRB/trbsoft/nxyter/setup.sh
 
 xterm -e "cd ../../web; cts_gui --port 1234 --noopenxterm --quiet" &
index 4093f87a6a804ea8f26d2c1179f1e394d566f953..777520905df0a36968f765b797e1d6a75783169b 100755 (executable)
@@ -25,7 +25,7 @@ $page->{link}  = "../";
 my @setup;
 
 $setup[0]->{name}    = "NXControl";
-$setup[0]->{cmd}     = "Nxyter-0xfe49-NXControl";
+$setup[0]->{cmd}     = "Nxyter-0xfe49-NXControl&Nxyter-0xfe49-ADCMonitor";
 $setup[0]->{period}  = -1;
 $setup[0]->{generic} = 1;
 
@@ -45,7 +45,7 @@ $setup[3]->{period}  = -1;
 $setup[3]->{address} = 1;
 
 $setup[4]->{name}    = "I2CRegister";
-$setup[4]->{cmd}     = "Nxyter-0xfe49-NxyterI2C&Nxyter-0xfe49-NxyterDAC";
+$setup[4]->{cmd}     = "Nxyter-0xfe49-NxyterI2C&Nxyter-0xfe49-NxyterDAC&Nxyter-0xfe49-I2CTokens";
 $setup[4]->{period}  = -1;
 $setup[4]->{address} = 1;
 
index 55ebffe0457b7474a0c941287a4bbb3768751fe9..cf206b0610bbeea633daf2c6bec83bc87b20818d 100644 (file)
@@ -59,6 +59,7 @@
 
   </group>
 
+  <!-- ##################################################################### -->
 
   <group name="TriggerHandler"
          address="0160"  size="4"  purpose="config"  mode="rw"  continuous="true">
@@ -85,6 +86,7 @@
     
   </group>  
 
+  <!-- ##################################################################### -->
 
   <group name="TestPulse"
          address="0140"  size="2"  purpose="config"  mode="rw"  continuous="true">
     </register>   
     
   </group> 
-
+  
+  <!-- ##################################################################### -->
 
   <group name="TriggerValidate"
          address="0400"  size="32"  purpose="config"  mode="rw"  continuous="true">
     </register>
   </group>
 
+  <!-- ##################################################################### -->
 
   <group name="DataReceiver"
          address="0500"  size="19"  purpose="status"  mode="rw"  continuous="true">
       <field name="TSFifoAlmostEmpty" start="2" bits="1" format="boolean" mode="r">
         <description>Timestamp Fifo Almost Empty</description>
       </field>        
-    
+      
       <field name="NxFrameSynced" start="31" bits="1" format="boolean" mode="r">
         <description>Synchronized to Nxyter Frame</description>
       </field>        
 
   </group>
   
+  <!-- ##################################################################### -->
+
   <group name="NxyterI2C"
          address="0200" purpose="config"  mode="rw"  continuous="false">
 
         <field name="NxPolarity" start="0" bits="1" format="unsigned"/>
       </register>
       
-      <register name="NxTestPol" address="0002" purpose="status" mode="r" >
+      <register name="NxTestPol" address="0002" purpose="config" mode="r" >
         <description>Nxyter Testpulse Polarity (1 = negative, 0 = positive)</description>
-        <field name="NxTestPol" start="0" bits="1" format="unsigned"/>
+        <field name="NxTestPol" start="0" bits="1" format="bitmask"/>
       </register>
 
       <register name="NxTestPulse" address="0003" purpose="config" mode="rw" >
         <description>I2C Online, i.e. Nxyter is connected</description>
         <field name="I2COnline" start="0" bits="1" format="boolean"/>
       </register>
-    
     </group>
-  
+    
     <group name="I2CRegs"
            address="0000"  size="46"  purpose="status"  mode="rw" continuous="true">
       
-      <register name="I2CRegister" address="0000" purpose="config" repeat="46">
-        <description>Nxyter I2C Register</description>
-        
-        <field name="I2CWToken" start="31" bits="1" format="bitmask" purpose="status" mode="r">
-          <description>I2C Write Token</description>
-        </field> 
-        
-        <field name="I2CRToken" start="30" bits="1" format="bitmask" purpose="status" mode="r">
-          <description>I2C Read Token</description>
-        </field> 
-        
-        <field name="I2CReserved" start="29" bits="1" format="bitmask" purpose="status" mode="r">
-          <description>Dummy Register</description>
-        </field> 
+      <register name="ChannelMask" address="0000" purpose="config" repeat="16">
+        <description>0..15: Channel Mask Register</description>
+        <field name="Ch0" start="0" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch1" start="1" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch2" start="2" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch3" start="3" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch4" start="4" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch5" start="5" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch6" start="6" bits="1" format="bitmask" purpose="config" mode="rw"/>
+        <field name="Ch7" start="7" bits="1" format="bitmask" purpose="config" mode="rw"/>
+      </register>
+      
+
+     <register name="Icg" address="0010" purpose="config">
+        <description>16: Gate Voltage Preamplifier Current Sink (Vcg)</description>
+        <field name="Icg" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>
+
+      <register name="IcgFoll" address="0011" purpose="config">
+        <description>17: Bias Voltage Shapers (VcgFoll)</description>
+        <field name="IcgFoll" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>
+
+      <register name="Vth" address="0012" purpose="config">
+        <description>18: Global Threshold of Comparators</description>
+        <field name="Vth" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>
       
-        <field name="I2CValue" start="0" bits="8" format="unsigned" purpose="config" mode="rw">
-          <description>I2C Register Value</description>
+      <register name="Vbfb" address="0013" purpose="config">
+        <description>19: Discharge time of Preamplifier.</description>
+        <field name="Vbfb" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>
+
+      <register name="VbiasF" address="0014" purpose="config">
+        <description>20: Bias Voltage Fast Shaper</description>
+        <field name="VbiasF" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>
+
+      <register name="VbiasS" address="0015" purpose="config">
+        <description>21: Bias Voltage Slow Shaper first stage</description>
+        <field name="VbiasS" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>
+      
+      <register name="VbiasS2" address="0016" purpose="config">
+        <description>22: Bias Voltage Slow Shaper second stage</description>
+        <field name="VbiasS2" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="VcmVbase" address="0017" purpose="config">
+        <description>23: Target Voltage of common mode feedback</description>
+        <field name="VcmVbase" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+      
+      <register name="cal" address="0018" purpose="config">
+        <description>24: Strength of internal Testpulse</description>
+        <field name="cal" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="iCOMP" address="0019" purpose="config">
+        <description>25: Current of Main Stage of Comparator</description>
+        <field name="iCOMP" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="iDUR" address="001a" purpose="config">
+        <description>26: Dead Time of analog channels</description>
+        <field name="iDUR" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="iINV" address="001b" purpose="config">
+        <description>27: Current of Output Stage of Comparators</description>
+        <field name="iINV" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="iPDH" address="001c" purpose="config">
+        <description>28: Current of Peak Detect and hold Circuit</description>
+        <field name="iPDH" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="iTWC" address="001d" purpose="config">
+        <description>29: Current of Time Walk Compensation Circuit</description>
+        <field name="iTWC" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="Spare1" address="001e" purpose="status" repeat="2">
+        <description>30..31: Spare</description>
+        <field name="Spare1" start="0" bits="32" format="bitmask" purpose="config" mode="r"/>
+      </register>
+
+      <register name="Config1" address="0020" purpose="config">
+        <description>32: Configuration Register #1</description>
+        <field name="TSLSB" start="7" bits="1" format="bitmask" purpose="config" mode="rw">
+          <description>Timestamp LSB Select(0: CLK256A, 1:CLK256B</description>
+        </field>
+        <field name="D128MHz" start="6" bits="1" format="bitmask" purpose="config" mode="rw">
+          <description>Disable 128MHz Readout Clock</description>
+        </field>
+        <field name="D32MHz" start="5" bits="1" format="bitmask" purpose="config" mode="rw">
+          <description>Disable 32MHz Readout Clock</description>
+        </field>
+        <field name="TTSync" start="4" bits="1" format="bitmask" purpose="config" mode="rw">
+          <description>TestTrigger Synchronize</description>
+        </field>        
+        <field name="TTEnable" start="3" bits="1" format="bitmask" purpose="config" mode="r">
+          <description>TestTrigger Enable</description>
+        </field>
+        <field name="TPPolarity" start="2" bits="1" format="bitmask" purpose="config" mode="r">
+          <description>TestPulse Polarity (1: negative, 0: positive)</description>
+        </field>
+        <field name="TPSync" start="1" bits="1" format="bitmask" purpose="config" mode="rw">
+          <description>TestPulse Synchronize</description>
+        </field>
+        <field name="TPEnabled" start="0" bits="1" format="bitmask" purpose="config" mode="r">
+          <description>TestPulse Enable</description>
         </field>
-        
+      </register>  
+
+      <register name="Config2" address="0021" purpose="status">
+        <description>33: Configuration Register #2</description>
+        <field name="ReadoutClock" start="3" bits="1" format="bitmask" purpose="status" mode="r">
+          <description>Must always be set</description>
+        </field>
+        <field name="FEPolarity" start="2" bits="1" format="bitmask" purpose="status" mode="r">
+          <description>Front End Polarity (0: negative input charge, 1: positive input charge)</description>
+        </field>
+        <field name="CalSelect" start="0" bits="2" format="unsigned" purpose="status" mode="r">
+          <description>Nxyter Testpulse Channel Group (0=0,4,.. 1=1,5,.. 2=2,6,.. 3=3,7,..)</description>
+        </field>
+      </register>  
+   
+      <register name="Counter" address="0022" purpose="status" repeat="4">
+        <description>34..37: Spare</description>
+        <field name="Counter" start="0" bits="32" format="bitmask" purpose="config" mode="r"/>
       </register>
+
+      <register name="TPDelay" address="0026" purpose="config">
+        <description>38: Testpulse Delay</description>
+        <field name="TPDelay" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+
+      <register name="TTDelay" address="0027" purpose="config">
+        <description>39: Test Trigger Delay</description>
+        <field name="TTDelay" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
+   
+   
+      <register name="Spare2" address="0028" purpose="status" repeat="3">
+        <description>40..42: Spare</description>
+        <field name="Spare2" start="0" bits="32" format="bitmask" purpose="config" mode="r"/>
+      </register>
+      
+      <register name="ClkDelay" address="002b" purpose="config" repeat="3">
+        <description>43..45: Clock Delay Registers</description>
+        <field name="ClkDelay" start="0" bits="8" format="unsigned" purpose="config" mode="rw"/>
+      </register>  
     </group>
+    
+    <register name="UpdateRegI2C" address="0060" purpose="config" mode="rw">
+      <description>Update Nxyter I2C Register</description>
+      <field name="UpdateRegI2C" start="0" bits="1" format="boolean" purpose="config"/>
+    </register>
+      
+    <register name="UpdateRegDAC" address="0061" purpose="config" mode="rw">
+      <description>Update Nxyter DAC Register</description>
+      <field name="UpdateRegDAC" start="0" bits="1" format="boolean" purpose="config"/>
+    </register>
+    
+    <register name="UpdateRegBoth" address="0062" purpose="config" mode="rw">
+      <description>Update Nxyter I2C and DAC Register</description>
+      <field name="UpdateRegBoth" start="0" bits="1" format="boolean" purpose="config" />
+    </register>  
   </group>
+  
+  <!-- ##################################################################### -->
 
   <group name="NxyterDAC"
          address="0300"  size="129"  purpose="status"  mode="rw" continuous="true">
-
-    <register name="DACRegister" address="0000" purpose="config" repeat="129">
-      <description>Nxyter DAC Register</description>
-      
-      <field name="DACWToken" start="31" bits="1" format="bitmask" purpose="status" mode="r">
-        <description>DAC Write Token</description>
-      </field> 
-      
-      <field name="DACRToken" start="30" bits="1" format="bitmask" purpose="status" mode="r">
-        <description>DAC Read Token</description>
-      </field> 
-      
+    
+    <register name="DACRegister" address="0001" purpose="config" repeat="128">
+      <description>Nxyter DAC Register </description>
       <field name="ChannelDown" start="5" bits="1" format="bitmask" purpose="config" mode="rw">
         <description>Channel Down</description>
       </field> 
-      
       <field name="TrimValue" start="0" bits="5" format="unsigned" purpose="config" mode="rw">
         <description>DAC Trim Value</description>
       </field> 
-      
     </register>
+
+    <register name="DACRegisterT" address="0000" purpose="config">
+      <description>Nxyter DAC Register Test Channel</description>
+      <field name="ChannelDownT" start="5" bits="1" format="bitmask" purpose="config" mode="rw">
+        <description>Channel Down</description>
+      </field> 
+      <field name="TrimValueT" start="0" bits="5" format="unsigned" purpose="config" mode="rw">
+        <description>DAC Trim Value Test Channel</description>
+      </field>
+    </register>
+  
   </group>
+  
+  <!-- ##################################################################### -->
 
+  <group name="I2CTokens"
+         address="0270"  size="14"  purpose="status"  mode="r" continuous="true">
+    
+    <register name="WriteToken0" address="0000" purpose="status" mode="r" >
+      <description>I2C Register Write Token Status 31 .. 0</description>
+      <field name="WriteToken0" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="WriteToken1" address="0001" purpose="status" mode="r" >
+      <description>I2C Register Write Token Status 45 .. 32</description>
+      <field name="WriteToken1" start="0" bits="14" format="bitmask"/>
+    </register>
+    
+    <register name="ReadToken0" address="0002" purpose="status" mode="r" >
+      <description>I2C Register Read Token Status 31 .. 0</description>
+      <field name="ReadToken0" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="ReadToken1" address="0003" purpose="status" mode="r" >
+      <description>I2C Register Read Token Status 45 .. 32</description>
+      <field name="ReadToken1" start="0" bits="14" format="bitmask"/>
+    </register>
+    
+    <register name="WriteTokenDAC0" address="0004" purpose="status" mode="r" >
+      <description>I2C Register Write Token DAC Status 31 .. 0</description>
+      <field name="WriteTokenDAC0" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="WriteTokenDAC1" address="0005" purpose="status" mode="r" >
+      <description>I2C Register Write Token DAC Status 63 .. 32</description>
+      <field name="WriteTokenDAC1" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="WriteTokenDAC2" address="0006" purpose="status" mode="r" >
+      <description>I2C Register Write Token DAC Status 95 .. 64</description>
+      <field name="WriteTokenDAC2" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="WriteTokenDAC3" address="0007" purpose="status" mode="r" >
+      <description>I2C Register Write Token DAC Status 127 .. 95</description>
+      <field name="WriteTokenDAC3" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="WriteTokenDAC4" address="0008" purpose="status" mode="r" >
+      <description>I2C Register Write Token DAC Status 128</description>
+      <field name="WriteTokenDAC4" start="0" bits="1" format="bitmask"/>
+    </register>
+    
+    <register name="ReadTokenDAC0" address="0009" purpose="status" mode="r" >
+      <description>I2C Register Read Token DAC Status 31 .. 0</description>
+      <field name="ReadTokenDAC0" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="ReadTokenDAC1" address="000a" purpose="status" mode="r" >
+      <description>I2C Register Read Token DAC Status 63 .. 32</description>
+      <field name="ReadTokenDAC1" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="ReadTokenDAC2" address="000b" purpose="status" mode="r" >
+      <description>I2C Register Read Token DAC Status 95 .. 64</description>
+      <field name="ReadTokenDAC2" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="ReadTokenDAC3" address="000c" purpose="status" mode="r" >
+      <description>I2C Register Read Token DAC Status 127 .. 95</description>
+      <field name="ReadTokenDAC3" start="0" bits="32" format="bitmask"/>
+    </register>
+    <register name="ReadTokenDAC4" address="000d" purpose="status" mode="r" >
+      <description>I2C Register Read Token DAC Status 128</description>
+      <field name="ReadTokenDAC4" start="0" bits="1" format="bitmask"/>
+    </register>
+  </group>
+  
+  <!-- ##################################################################### -->
+  
   <group name="NXControl"
          address="0103"  size="10"  purpose="status"  mode="rw" continuous="true">
     
 
   </group>
   
+  <!-- ##################################################################### -->
+
+  <group name="ADCMonitor"
+         address="0280"  size="4"  purpose="status"  mode="r" continuous="true">
+
+    <register name="NXSlow" address="0000" purpose="status" mode="r" >
+      <description>Nxyter Slow Shaper Pin</description>
+      <field name="ErrorSlow" start="12" bits="1" format="bitmask"/>
+      <field name="NXSlowVal" start="0" bits="12" format="unsigned" unit="mV"/>
+    </register>
+
+    <register name="NXFast" address="0001" purpose="status" mode="r" >
+      <description>Nxyter Fast Shaper Pin</description>
+      <field name="ErrorFast" start="12" bits="1" format="bitmask"/>
+      <field name="NXFastVal" start="0" bits="12" format="unsigned" unit="mV"/>
+    </register>
+
+    <register name="FEBTemp" address="0002" purpose="status" mode="r" >
+      <description>FEB Temperature Sensor</description>
+      <field name="ErrorTemp" start="12" bits="1" format="bitmask"/>
+      <field name="FEBTempVal" start="0" bits="12" format="unsigned" unit="mV"/>
+    </register>
+
+    <register name="FEBCurrent" address="0003" purpose="status" mode="r" >
+      <description>FEB Current</description>    
+      <field name="ErrorCurrent" start="12" bits="1" format="bitmask"/>
+      <field name="FEBCurrentVal" start="0" bits="12" format="unsigned" unit="mV"/>
+    </register>
+    
+  </group>
+  
+  <!-- ##################################################################### -->
 
   <group name="NXHistos"
          address="0800" purpose="status"  mode="r" continuous="false">
       </register>
     </group>
     
-    <group name="ADCHist"
-           address="0100"  size="128"  purpose="config"  mode="r" continuous="true">    
-      <register name="ChannelADCVal" address="0000" purpose="status" mode="r" repeat="128">
-        <description>ADC Value Average per Channel</description>
-        <field name="ChannelADCVal" start="0" bits="32" format="unsigned"/>
-      </register>
-    </group>
-
-    <register name="ADCNumAverages" address="0180" purpose="status" mode="rw">
-      <description>Number of Averages per Channel, power of two (2^n)</description>
-      <field name="ADCNumAverages" start="0" bits="3" format="unsigned"/>
-    </register>
-    
     <group name="PileUpHist"
-           address="0200"  size="128"  purpose="config"  mode="r" continuous="true">    
+           address="0100"  size="128"  purpose="config"  mode="r" continuous="true">    
       <register name="ChannelPileupVal" address="0000" purpose="status" mode="r" repeat="128">
         <description>Continuous Pile Up Counter per Channel</description>
         <field name="ChannelPileupVal" start="0" bits="32" format="unsigned" rate="1" unit="s&lt;sup&gt;-1&lt;/sup&gt;" />
     </group>
 
     <group name="OverFlowHist"
-           address="0300"  size="128"  purpose="config"  mode="r" continuous="true">    
+           address="0200"  size="128"  purpose="config"  mode="r" continuous="true">    
       <register name="ChannelOvflVal" address="0000" purpose="status" mode="r" repeat="128">
         <description>Continuous Overflow Counter per Channel</description>
         <field name="ChannelOvflVal" start="0" bits="32" format="unsigned" rate="1" unit="s&lt;sup&gt;-1&lt;/sup&gt;" />
       </register>
     </group>
 
+    <group name="ADCHist"
+           address="0300"  size="128"  purpose="config"  mode="r" continuous="true">    
+      <register name="ChannelADCVal" address="0000" purpose="status" mode="r" repeat="128">
+        <description>ADC Value Average per Channel</description>
+        <field name="ChannelADCVal" start="0" bits="32" format="unsigned"/>
+      </register>
+    </group>
+
+    <register name="ADCNumAverages" address="0380" purpose="status" mode="rw">
+      <description>Number of Averages per Channel, power of two (2^n)</description>
+      <field name="ADCNumAverages" start="0" bits="3" format="unsigned"/>
+    </register>
+    
+
   </group>  
 
 </TrbNetEntity>