The documents on tracker readout can be found here.

GPIO starter instruction is found here.

TRB Firmware update

1.- Download firmware version from: http://dpnc.unige.ch/~favrey/FASER/TRB/FW/

2.- Follow procedure from: http://dpnc.unige.ch/~favrey/FASER/TRB/FW/FPGA-UpgradeProcedure.txt

Note that the Quartus Prime programmer binary is available in:

/root/intelFPGA/19.1/qprogrammer/bin/quartus_pgmw

GPIO

File name convention :

  • Mx: x=module number
  • Tnnn: n= threshold level from 0 to 255
  • Axaa: aa= chip address in hexa
  • Cz: z = calibration config

Again you have:

  • FRB binary data in .daq, and decoded data in CSV associated
  • SCT modules binary data from daq file, put in .mod files for led and ledx lines, and with decoded data CSV associated

How to install UniGE GUI (Windows)

Preliminary:

You should have the following setup installed :

Installation new application version:

  1. Choose zip file for the version you want
  2. Unzip it into a local directory

How to get back your old settings (last files/directories):

  1. In the New version installed directory: Save 'app-settings-defaults.json' AS 'app-settings.json'
  2. Upgrade 'app-settings.json' from the file/directory list found in 'app-settings.json' of the old version

NB :

  • app-settings.json: file used by the application
  • app-settings-defaults.json: best template settings file compatible with the current application (e.g. with new parameters)

How to install UniGE GUI (LINUX)

PRELIMINARIES

First be sure to update your Linux distrib! I'm using Ubuntu 16.04 LTS.

INSTALL MONODEVELOP (only once on a dedicated machine)

There is now a package that install mono develop and all its dependencies, including mono and gtk-sharp. 'mono' and 'gtk-sharp' (on Ubuntu, the 'monodevelop' package depends on both of them, so you just need to install that one; on other distros, your mileage may vary) It's installing a lot more stuff than what we need, but it makes it a lot simpler too:
  • sudo apt-get update
  • sudo apt-get install monodevelop

INSTALL USB (only once on a dedicated machine)

You'll find the file in: http://dpnc.unige.ch/~favrey/AFE/SW/Linux/InstallUSB/ (or lib/UnigeFrontEnd/thirdparty/InstallUSB for SVN developper)

Install libUSB: sudo apt-get install libusb-1.0-0-dev

NB: with centOS, the distro provides both libusb (version 0.1.5, which is actually the new name, but it's stuck at an older version) and libusbx (version 1.0, which is the older name, but newer version), a different name than expected. I think libusbdotnet looks for the 1.0 version, so you just have to install the development package for that: # yum install libusbx libusbx-devel

As root, create a file called 89-bmfeb.rules in /etc/udev/rules.d/ containing this one line to make sure that the USB device is accessible by a non-privileged user: SUBSYSTEMS=="usb", ATTRS{idVendor}=="206b", GROUP="wheel", MODE="0660"

(this will work if the user is part of the "wheel" group, which is the default group for administrators in most linux distros. You can check by running 'groups' from a terminal. You can modify it with a different group name if needed)

Reboot the machine or run as root 'udevadm control --reload-rules && udevadm trigger' to force the computer to reload the device rules.

To check that the board was connected to a USB3 host, you can run "=dmesg | grep xhci=" from a terminal. You should see a line in the output similar to:

[78125.235770] usb 2-2: new SuperSpeed USB device number 12 using xhci_hcd

this means the new USB device is recognized as a SuperSpeed device using the right kernel module.

APPLICATION

  1. Choose zip file for the version you want
  2. Unzip it into a local directory
  3. Launch the application with: sudo mono UnigeFrontEnd.exe

For example:

/home/faser/Software/UnigeGUI-v841


How to get back your old settings (last files/directories):

  • In the New version installed directory: Save 'app-settings-defaults.json' AS 'app-settings.json'
  • Upgrade 'app-settings.json' from the file/directory list found in 'app-settings.json' of the old version

NB : * app-settings.json: file used by the application * app-settings-defaults.json: best template settings file compatible with the current application (e.g. with new parameters)

GUI test

  • Launch the GUI
  • Below ‘Device Connected’, you should see ‘…Unige FX3 USB Readout Gateway’
  • Then Push button ‘Get Firmware Version’, you should have 5/1.1/5/0

gui_setup1.png

gui_setup2.png

How do set L1 delay in scan script

In the TRB spec., the way it has been chosen to do the calibration command pulse and the L1A trigger after a certain number of clock ticks is the following :
  • You have to send the command which is Field3 = 0x0C and Field5 = 0x30 (constant _0C_F5_CalPulse) and Field6_0 … _9
  • When the FPGA receive this specific command, it will read the Field6 sub-fields which can be up to 10x16-bits (Field6_0 up to Field6_9) which should contain series of b‘0‘ and b’110’ at the end. One 0 = 1 clock tick delay, and the b’110’ at the end stops the FPGA sending s train of pulse since this corresponds to a L1A trigger.

Field6_0 is used by many commands (see table attached) Field6_0 to _7 is used by Mask Register Field6_0 to _9 is used by Issue Cal Pulse and L1A :

If you want 113 clock ticks, then you need (7x16 + 1) x b‘0’ sent : => Field6_0 to Field6_6 = 0x0000 => Field 6_7 = b‘0110 0000 0000 0000’ = 0x6000 Others Field6_8 to _9 will not be read but better to put them at 0x0000

If you want 100 clock ticks for instance, then you need (6x16 + 4x‘0’) sent : => Field6_0 to Field6_5 = 0x0000 => Field 6_6 = b‘0000 1100 0000 0000’ = 0x0C00

All possible values for Field6_x are: Delay : 0x0000 L1A trigger : 0x0003, 0x0006, 0x000C, 0x0018, 0x0030, 0x0060, 0x00C0, 0x0180, 0x0300, 0x0600, 0x0C00, 0x1800, 0x3000, 0x6000, 0xC000 But also Field6_x=0x0001 and Field6_x+1=0x8000 (L1A shared between two 16-bits Field6_x)

-- YosukeTakubo - 2019-10-02

Topic attachments
I Attachment History Action SizeSorted ascending Date Who Comment
PNGpng gui_setup2.png r1 manage 22.6 K 2019-10-03 - 11:49 YosukeTakubo How to set UniGE GUI
PNGpng gui_setup1.png r1 manage 91.3 K 2019-10-03 - 11:49 YosukeTakubo How to set UniGE GUI
PDFpdf GPIO_starter.pdf r1 manage 978.7 K 2019-10-23 - 11:05 YosukeTakubo GPIO starter instruction
Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2019-11-25 - SergioGonzalez
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    FASER All webs login

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