Starting the run control and configurator GUIs

Do the following as lhcbuser in different terminals. The first time you run, you need to do the following:

  • Edit the /etc/sudoers file to have this line
lhcbuser ALL = NOPASSWD: SETENV: /home/lhcbuser/lhcb/RICHECKIT/feb-proxy

  • Then change the permissions on the feb-proxy binary.
$ chmod a+x feb-proxy
$ sudo chown root:root feb-proxy # you only need to change the permissions the first time

  • Start feb-proxy. This is the program that will collect the packets from the FEB that are sent over the network.
$ ./startProxy.sh --ip-address 192.168.0.10 --mac-address 02:00:00:00:00

  • Start the run control GUI. The FEB configuration GUI can be opened from the "Main" menu. Remember to close the configuration GUI before starting a run.
$ PATH=/usr/bin:./ java -Djava.library.path=./ -jar JRichEcControl.jar

  • Monitor the log file for events.
$ tail -f feb-proxy.log

MAROC configuration

Here is an example snippet from one of the FEpref.xml files showing the basic MAROC configuration.

              <entry key="maroc.cmd_CK_mux" value="false"/>
              <entry key="maroc.cmd_fsb" value="true"/>
              <entry key="maroc.cmd_fsb_fsu" value="false"/>
              <entry key="maroc.cmd_fsu" value="false"/>
              <entry key="maroc.cmd_ss" value="true"/>
              <entry key="maroc.d1_d2" value="false"/>
              <entry key="maroc.dac.0" value="64"/>
              <entry key="maroc.dac.1" value="64"/>
              <entry key="maroc.en_adc" value="true"/>
              <entry key="maroc.enb_outADC" value="false"/>
              <entry key="maroc.enb_tristate" value="true"/>
              <entry key="maroc.h1h2_choice" value="false"/>
              <entry key="maroc.inv_discriADC" value="false"/>
              <entry key="maroc.inv_startCmptGray" value="false"/>
              <entry key="maroc.onoff_ss" value="true"/>
              <entry key="maroc.polar_discri" value="true"/>
              <entry key="maroc.ramp_10bit" value="true"/>
              <entry key="maroc.ramp_8bit" value="false"/>
              <entry key="maroc.small_dac" value="true"/>
              <entry key="maroc.sw_fsb1_100f" value="true"/>
              <entry key="maroc.sw_fsb1_100k" value="false"/>
              <entry key="maroc.sw_fsb1_50f" value="true"/>
              <entry key="maroc.sw_fsb1_50k" value="true"/>
              <entry key="maroc.sw_fsb2_100f" value="false"/>
              <entry key="maroc.sw_fsb2_100k" value="false"/>
              <entry key="maroc.sw_fsb2_50f" value="true"/>
              <entry key="maroc.sw_fsb2_50k" value="true"/>
              <entry key="maroc.sw_fsu_100k" value="false"/>
              <entry key="maroc.sw_fsu_20f" value="true"/>
              <entry key="maroc.sw_fsu_25k" value="true"/>
              <entry key="maroc.sw_fsu_40f" value="true"/>
              <entry key="maroc.sw_fsu_50k" value="false"/>
              <entry key="maroc.sw_ss_1200f" value="false"/>
              <entry key="maroc.sw_ss_300f" value="true"/>
              <entry key="maroc.sw_ss_600f" value="false"/>
              <entry key="maroc.swb_buf_1p" value="false"/>
              <entry key="maroc.swb_buf_250f" value="false"/>
              <entry key="maroc.swb_buf_2p" value="false"/>
              <entry key="maroc.swb_buf_500f" value="true"/>
              <entry key="maroc.valid_dc_fs" value="true"/>
              <entry key="maroc.valid_dc_fsb2" value="false"/>

Networking configuration

IPtables

  • The firewall needs to be configured to accept packets from the FEB network. Obviously this rule needs to be inserted ino the chain prior to any REJECT rule.
iptables -I INPUT -i eth1 -p 242 -s 192.168.0.10/24 -j ACCEPT

arp

arp -s 192.168.0.10 02:00:00:00:00:00

  • Output from arp should look something like this, with entries for each FEB.

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
gw.wism-laplan-ext.net.  ether   00:0d:65:d9:35:80   C                     eth0
192.168.0.10             ether   02:00:00:00:00:00   CM                    eth1
192.168.0.1              ether   e8:94:f6:47:3b:63   C                     eth1

Providing an exernal trigger to the MAROC

To facilitate the reading of the ADCs an external trigger can be provided via the PL1 connector (AA9/AB9) on the Chimaera board. This requires an LVDS input. We are using the pulser for this that outputs a TTL signal and, therefore, needs to be routed via a TTL-LVDS converter circuit that we scavenged from some old RICH testbeam hardware. This board requires a 3.3V supply. The trgsrc0 needs to be enabled on the Chimaera for this to work.

The LVDS trigger pulse should be at least 50ns long (and can be as long as you like). A sustained trigger rate of a few hundred kHz should be possible so your external trigger period should be longer than 10 microseconds (for now at least).

Updating Chimaera firmware using XiLinx

Do the following as root:

$ source /opt/Xilinx/14.7/LabTools/settings64.sh
$ impact

You will then need to add the .mcs file to the FPGA. You need to select the M25P32 option, with size 1. You can then right click on the firmware object and select the Program menu to actually flash the device. This will take a few minutes to complete.

-- GreigCowan - 2015-02-26

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2015-07-06 - GreigCowan
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback