Upgrade Pixel Module Testing @ Edinburgh

Introduction

This page contains information useful for Upgrade Pixel Module Testing @ Edinburgh. We are testing prototypes of the quad-modules that will be used in the HighLuminosity LHC ATLAS detector. We are currently using USBPix (schema below) system for testing.

qm board sketch Apr2017.png
quad-module testing setup

In addition to running the upgrade module testing hardware, we are also set up to run the legacy Run2 hardware. This is described MIO2ForQM

Computer

Main System (linux)

Dell Precision T3400. LAPLAN2 network. Hardware upgrade: PCIe (2-port, single lane) card for USB3 support: Startech PEXUSB3S23.

Warnings:

  • DVD unit is faulty. Will scratch/destroy DVD.

Operating System: Kubuntu 16.10, x86_64 CCentOS7 was considered but not (yet) installed. USB installation not supported for CCentOS7. Network install fails (does not start during 30 min waiting time), possible problem with proxy setting/auth on LAPLAN2. Installation from DVD fails due to faulty DVD unit. Option: install CCentOS7 from internal HDD+Grub, once another linux OS has been installed to enabled this.

Startup and env variables: commonly used variables needed at run-time are exported via ~.bashrc / ~.bash_envvars files:

just read the relevant files to see what is currently defined: 
cat /home/quadmod/.bash_envvars
export SwD=/home/quadmod/files/sw
export QT5DIR=$SwD/qt/qt_551/installdir
export QWTDIR=$SwD/qwt/qwt-6.1.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SwD/cypress_SDK/cyusb_linux_1.0.4/lib
source $SwD/root/bin/thisroot.sh

Keeping computer up to date:

Run this from time-to-time to make sure we have most up-to-date packages (security patches etc.):
sudo su
apt-get update
apt-get dist-upgrade

Software installation log:

installing basic software:

* texteditor:
apt-get install emacs24

* openafs and kerberos: 
apt-get install openafs-krb5 openafs-client krb5-user module-assistant openafs-modules-dkms

* versioning software:
apt install subversion
apt-get install git

* root6
sudo apt-get install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev
git clone http://root.cern.ch/git/root.git
cd root
git checkout -b v6-08-00 v6-08-00

==
USBPix software and prerequisites

* QT5:
** prereq.http://doc.qt.io/qt-5/linux-requirements.html
apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev 
apt-get install libxext-dev libxfixes-dev libxi-dev libxrender-dev 
apt-get install libxcb1-dev libx11-xcb-dev libxcb-glx0-dev
** opengl
sudo apt-get install build-essential libgl1-mesa-dev
** openssl
apt-get install libssl-dev
** to install QT, one fetches the sources, and runs ./configure ; make ; make install . \
   Below the exact commands with costumization and checks:
# fetch and prepare sources 
mkdir /home/quadmod/files/sw/qt/qt_551/
cd /home/quadmod/files/sw/qt/qt_551/
wget http://download.qt.io/official_releases/qt/5.5/5.5.1/single/qt-everywhere-opensource-src-5.5.1.tar.gz
tar -xzf qt-everywhere-opensource-src-5.5.1.tar.gz
cd /home/quadmod/files/sw/qt/qt_551/qt-everywhere-opensource-src-5.5.1
mkdir -p /home/quadmod/files/sw/qt/qt_551/installdir
QT5DIR=/home/quadmod/files/sw/qt/qt_551/installdir
# configure in verbose mode and include all the prerequisites STcontrol will need:
./configure -v -openssl -qt-xcb -prefix $QT5DIR -opensource | tee config.out
# check if OpenGL was registered fine: 
grep OpenGL config.out
OpenGL ............... desktop <-- if you get 'none' this should be fixed before compiling
also check config.out for any other configuration problems 
make | tee make.out 
make install 

* qwt
mkdir /home/quadmod/files/sw/qwt/qwt-6.1.2
wget https://sourceforge.net/projects/qwt/files/qwt/6.1.2/qwt-6.1.2.tar.bz2
export QT5DIR=/home/quadmod/files/sw/qt/qt_551/installdir
$QT5DIR/bin/qmake qwt.pro
make
make install

l* linux-gpib
https://sourceforge.net/projects/linux-gpib/files/
cd /home/quadmod/files/sw/gpib/
mv tarball to this dir and unzip
./configure 
make
make install

* apt-get install libusb-1.0-0 libusb-1.0-0-dev

===== 
FPGA firmware upload via JTAG cable: can be done either via xc3sprog or Xilinx tools

== 
* xc3sprog is a light-weight command line tool for uploads. It is used by STControl internally. 

http://xc3sprog.sourceforge.net/manpage.php

prerequisites: 
apt-get install libusb-dev
apt-get install libconfuse-dev
apt-get install libftdi1-dev

svn co https://xc3sprog.svn.sourceforge.net/svnroot/xc3sprog/trunk xc3sprog
cd xc3sprog
cmake .
make
make install (requires sudo)

In the above, the cmake issues a message that the following package is missing: libftd2xx . The compilation, installation and running the program however work fine without the libftd2xx module. 
== 

* Xilinx software for JTAG cable FPGA programming 

Xilinx software and cable drivers for FPGA programming and configuration via USB programming cable.
* * newer Xilinx Vivado in combination with Xilinx and Digilent drivers did not work on first install,
* * ==> I used legacy Xilinx ISE and M. Gernoth's XILINX JTAG tools on Linux 
without proprietary kernel modules (http://rmdir.de/~michael/xilinx/)
Useful resource: http://ew-dev.physi.uni-heidelberg.de/~rubio/LogicBox/index.php/Xilinx_ISE

Xilinx ISE LabTools:
Requires (free) Xilinx registration 
steps: 1) Xilinx download page -> 2) ISE -> 3) Lab Tools - 14.7 -> 4) Download installer tarball

1) https://www.xilinx.com/support/download.html
2) https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html
3) look for "Lab Tools" section . Lab Tools is a light-weight version of the full design suite. 
4) installer tarball is currently common to all platforms 

/home/quadmod/files/sw/Xilinx_ISE_LabTools/Xilinx_LabTools_14.7_1015_1/Xilinx_LabTools_14.7_1015_1.tar
tar -xf Xilinx_LabTools_14.7_1015_1.tar
cd Xilinx_LabTools_14.7_1015_1
sudo su
./xsetup
--> in gui installation I and untick all licence, web-talk, cable-driver (etc.) boxes 
--> I select standard installation location:
/opt/Xilinx/14.7/LabTools

add this to .bashrc/.bash_envvars:
export PATH=$PATH:/opt/Xilinx/14.7/LabTools/LabTools/bin/lin64/

=====

USB-JTAG drivers: 
sudo apt-get install gitk git-gui libusb-dev build-essential libc6-dev-i386 fxload
cd /opt/Xilinx
sudo git clone git://git.zerfleddert.de/usb-driver
cd usb-driver/
make <-- installs the drivers

set up firmware/cable access:
./setup_pcusb /opt/Xilinx/14.7/LabTools/LabTools/ <-- copies 
LabTools firmware to /usr/share and produces new udev rules for USB JTAG cable
 /etc/udev/rules.d/xusbdfwu.rules
after this one might need to issue 
udevadm trigger --action=change 
+ plugging out- and in- the cable
 
Then the device ID changes as follows:

Device: ID 03fd:000d Xilinx, Inc. <-- no firmware 
Device : ID 03fd:0008 Xilinx, Inc. Platform Cable USB II <-- firmware uploaded fine

After this the JTAG cable will be automatically detected correctly when plugged in-. 

===== 

Module testing software: 
USBPix/STControl (legacy C++ software):

(requires gitlab account) 
http://icwiki.physik.uni-bonn.de/twiki/bin/view/Systems/UsbPix#Installation
->
https://gitlab.cern.ch/jgrosse/USBpix
->
git clone https://lmijovic@gitlab.cern.ch/jgrosse/USBpix.git
==
cd USBpix
source setup.sh -gpib no
make

PyBar: newer python software for testing: 
===> https://github.com/SiLab-Bonn/pyBAR/blob/master/README.md
git clone https://github.com/SiLab-Bonn/pyBAR_fei4_interpreter.git
pip install $PWD/pyBAR_fei4_interpreter

basil: 
git clone https://github.com/SiLab-Bonn/basil.git
pip install $PWD/basil

==== 

* eagle software needed for viewing eagle (.sch/.brd) PCB schemas:
requires autodesk account to use
http://www.autodesk.com/products/eagle/free-download : get 64bit linux tarball
cd /home/quadmod/files/sw/EAGLE
/home/quadmod/files/sw/EAGLE/Autodesk_EAGLE_8.0_English_Linux_64bit.tar.gz
unzip the tarball 
tar -xzf Autodesk_EAGLE_8.0_English_Linux_64bit.tar.gz
run binary as: 
./eagle-8.0.0/eagle

The Qt was crashing when using web-client due to bugs in the X.org noveau graphics server. 

glxinfo -v | grep -A 5 -i vendor
    Vendor: nouveau (0x10de)
    Device: NV86 (0x42f)
    Version: 12.0.6

xserver-xorg-video-nouveau is already the newest version (1:1.0.12-2).

I thus switched to using the nvidia drivers: 

computer->system settings -> driver manager

changed from Usnig X.Org X server (noveau display driver) 
to 
using driver   : nvidia-340 - distro non-free recommended

After this eagle runs fine. 

Extra System (windows)

installation: computer by the microscope SCE-SOPA-00124 Windows7 enterprise, SP1, 64-bit

Software installation log:


installation: computer by the microscope SCE-SOPA-00124
Windows7 enterprise, SP1, 64-bit

Instructions: 
http://icwiki.physik.uni-bonn.de/twiki/bin/view/Systems/UsbPix#Win

sw installation prefix: 
D:/STControl6_files/sw

===========================
Installing prerequisites: 
===========================

1) Visual Studio 2013 Express (compiler/IDE):
* for Windows (Desktop):
http://download.microsoft.com/download/2/5/5/255DCCB6-F364-4ED8-9758-EF0734CA86B8/wdexpress_full.exe
[-> installer Computer/Store(D)/STControl6_files/sw/VisualStudioExpress2013/wdexpress_full]
[-> install files to: Computer/Store(D)/STControl6_files/sw/VisualStudioExpress2013/VisualStudioExpress2013_install ]
to install: run installer. After installing, restart the computer. 

things to note: 
* Visual Studio 2013 Express provides compiler and "nmake" executable to build your programs
* when actually using  using, you'll have to configure it as follows: 
cd D:\STControl6_files\sw\VC
vcvarsall.bat
To see what vcvarsall.bat does, you can open and read it in Visual Studio 
* When running "nmake" the D:\STControl6_files\sw\VC\bin 


2) Qt 5.5.1 LGPL for Visual Studio 2013 Express: 
http://download.qt.io/archive/qt/5.5/5.5.1/qt-opensource-windows-x86-msvc2013-5.5.1.exe
[-> installer Computer/Store(D)/STControl6_files/sw/Qt551/]
[-> install files to: Computer/Store(D)/STControl6_files/sw/Qt551/Qt551_install]
to install: run installer
things to note: 
* QT provides QT Commnad prompt and qmake commands (amongst other)
* when running qmake, you'll need to make sure the directory containing "qmake.exe" is in your path: 
D:\STControl6_files\sw\QT551\QT551_install\5.5\msvc2013\bin

3) ROOT:
download installer compatible with your Visual Studio version; for Studio 2013, this is: 
http://root.cern.ch/download/root_v5.34.34.win32.vc12.exe
[-> installer D:\STControl6_files\sw\ROOT5p34p34]
[-> install files to: D:\STControl6_files\sw\ROOT5p34p34\root_v5.34.34]
to install: run the installer 
things to note: 
when running root, you will need to have 
D:\STControl6_files\sw\ROOT5p34p34\root_v5.34.34\bin 
in your path


4) Qwt 6.1.2: #
https://sourceforge.net/projects/qwt/files/qwt/6.1.2/
[-> installer zip Computer/Store(D)/STControl6_files/sw/qwt612/]
[-> extract files to: Computer/Store(D)/STControl6_files/sw/qwt612/qwt-]

To install: open QTcommand prompt.
QTcommand promptcomes as part of qt installation. 
You find and launch it as:
Start-> enter "QT" in the search box -> click on the terminal (fig QT_term.png)

QT term.PNG
QT terminal used for installation of QWT and USBPix

4.1) check that the QT's qmake is in your path by typing in terminal:
path 
and check that it contains the bin directory that points to qmake.exe: 
D:\STControl6_files\sw\QT551\QT551_install\5.5\msvc2013\bin
This should be the case automatically for QT terminal, but if running from another terminal, 
you might need to add this to your path variable using the usual Windows syntax (set path=...)

4.2) go to QWT's extracted installation directory: 
cd D:\STControl6_files\sw\QWT612\qwt-6.1.2_install\qwt-6.1.2
qmake qwt.pro

4.3) set up for using Windows Studio Express's nmake: 
cd D:\STControl6_files\sw\VC
vcvarsall.bat

4.4) check that "nmake" command is in your path variable by typing:
path
and check that it contains the directory containing the nmake.exe
D:\STControl6_files\sw\VC\bin

4.5) with nmake set up, you can install qwt: 
cd D:\STControl6_files\sw\QWT612\qwt-6.1.2_install\qwt-6.1.2
nmake

5) libusb:
zadig and WinUSB drivers (fig zadig.png)
Zadig: 
in sw/Zadig:
file named zadig-2.3 = installer 
double-click and install WinUSB driver
(v6.1.7600.16385) driver 

zadig.png
zadig setup after installation of WinUSB driver

6) uC firmware software: 
Download CYUSB: 
http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit
akamai installer
http://www.cypress.com/file/139276
FX3 SDK installed in: 
D:\STControl6_files\sw\cypress_FX3_USB_SDK

Not now, but after you have cloned the USBPix, you program the MMC3, instrucions are on 
http://icwiki.physik.uni-bonn.de/twiki/bin/view/Systems/UsbPix#Windows
<-- x-check the commands below are up-to-date: 

6.1) WindowsExplorer D:\STCeontrol6_files\sw\cypress_FX3_USB_SDK\EZ-USB FX3 SDK\1.3\bin
6.2) execute CyControl .exe
6.3) The board should be detected as FX3 device and I Programm the board, uploading this file to RAM
D:\STControl6_files\sw\USBPix\USBpix_git\config\SILABFX3.img



==================================
Installing USBPix and STControl6: 
==================================

http://icwiki.physik.uni-bonn.de/twiki/bin/view/Systems/UsbPix#Windows
medium mode 

download the code archive: 
https://gitlab.cern.ch/jgrosse/USBpix/repository/archive.zip?ref=release_6.2
[original zip: D:\STControl6_files\sw\USBPix\]
[extracted to: D:\STControl6_files\sw\USBPix\USBpix_git]

to install

1) open the QT command prompt and go to directory where the files were extracted:
cd D:\STControl6_files\sw\USBPix\USBpix_git

2) the tricky part: set up paths 
you need to set up the installation so that your 
windows studio, qt, qwt and root are found correctly

the configuration of these and other variables usbpix requires is done in: 
D:\STControl6_files\sw\USBPix\USBpix_git\setup.bat

The file can be open and inspected with visual studio (fig. USBpix_setupbat.PNG), 
where you see that it will execute (highlighted in fig USBpix_setupbat.PNG): 
set Path=..%QT5DIR%/bin.. 

Thus you should make sure the variables such as %QT5DIR% are set up correctly before set Path will be called.


USBpix setupbat.PNG
USBPix's setup file opened in Visual Studio


One of the way to do it is to set the variables acc. to your installation before installing USBPix. 
The variables are set in QT command prompt from which you will be installing STControl, by typing 
set VARNAME=VARVALUE 
commands in the command prompt accordingly. 

with my installation setup this is:
Visual studio express: set path to directory that contains bin and lib. Type this in QT command prompt: 
set VCDIR=D:\STControl6_files\sw\VC
QT5: set path to directory that contains bin and lib . Type this in QT command prompt: 
set QT5DIR=D:\STControl6_files\sw\QT551\QT551_install\5.5\msvc2013
ROOT: set path to directory that contains bin, type this in QT command prompt: 
set ROOTSYS=D:\STControl6_files\sw\ROOT5p34p34\root_v5.34.34
QWT: 
set QWTDIR=D:\STControl6_files\sw\QWT612\qwt-6.1.2_install\qwt-6.1.2

to check the values the variables have, you echo their value in the command prompt using commands as:

echo %QWTDIR%
... 

3) after you have set up all the paths, you can run the setup in teh QT prompt:
D:\STControl6_files\sw\USBPix\USBpix_git> setup.bat

watch for any warnings and errors of files not being found. 
Eg in case the setup complains that vcvarsall.bat can't be found, 
your path to Visual studio express is likely incorrect. 
In this case set VCDIR to correct value for your installation and re-run the setup.bat


4) set up for running visual studio's nmake:
cd D:\STControl6_files\sw\VC
vcvarsall.bat

5) install: 
cd D:\STControl6_files\sw\USBPix\USBpix_git
check that paths to visual studio etc. are correct by inspecting output of:
path

if all is fine compile the code: 
nmake

and check the installation for any errors. 

6) If all went fine, you should be able to open STControl from the QT prompt (fig STControl.PNG)
in which you have run the setup.bat by typing:
cd D:\STControl6_files\sw\USBPix\USBpix_git\bin 
STcontrol.exe

When running anew from the fresh QT terminal, you will need to ensure all environmental variables are set correctly.
Eg by repeating the set commands (set ROOTSYS=... ) and re-running setup.bat 

STControl.PNG
STControl ran from QT terminal





====================
Misc windows notes: 
====================

uninstalling programs: 
Start -> Computer -> "Uninstall or change programms" 

QT terminal: understands msdos commands
to read path:
path
to set variable 
set XY=
to set path
set path=
to list directory: 
dir

MMC3 board, configuration cabling and powering

Board schema link

Configuration

uC Firmware

Cypress software for updating the board microcontroller firmware:

cypress_linux
EZ-USB FX3 Software Development Kit 
http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit
--> download the lates SDK for linux. Requires (free) registration.

prerequisites: qt4
apt-get install qt4-default

A couple of patches to the code are needed to compile: 

http://www.cypress.com/forum/usb-known-problems-and-solutions/qt-gui-fails-compile#comment-378786
<-- download and apply the patch
patch main.cpp errno.patch
The patch has also been copied to: /home/quadmod/files/sw/cypress_SDK/patch/errno.patch

http://www.cypress.com/forum/usb-known-problems-and-solutions/problems-installing-cyusb-suite-linux
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SwD/cypress_SDK/cyusb_linux_1.0.4/lib
cd $SwD/cypress_SDK/cyusb_linux_1.0.4/
make

./install.sh
Open /etc/udev/rules.d/88-cyusb.rules as sudo and change the included rules to:
KERNEL=="*", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ACTION=="add", ATTR{idVendor}=="04b4", GROUP="user_group", MODE="666", TAG="cyusb_dev", RUN+="/usr/local/bin/cy_renumerate.sh A"
KERNEL=="*", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ACTION=="remove", TAG=="cyusb_dev", RUN+="/usr/local/bin/cy_renumerate.sh R"

chmod 755 /usr/local/bin/cyusb_linux

now open the terminal window for uploading microcontroller firmware:
cyusb_linux

check the device before uploading the image ( ID [vendor]:[product] should be
04b4:00f3 Cypress Semiconductor Corp.) 
lsusb
Bus 009 Device 002: ID 04b4:00f3 Cypress Semiconductor Corp.<==== ok!

connect the MMC3 to the USB3 port and upload the image:
/home/quadmod/files/sw/USBpix/config/SILABFX3.img

check the device after uploading the image ( ID [vendor]:[product] ) 
lsusb
Bus 009 Device 003: ID 5312:0300

The image is loaded to RAM and needs to be uploaded each time the the system is reconnected.

FPGA configuration

The configuration bit file is:

/home/quadmod/files/sw/USBpix/config/mmc3.bit

The FPGA coniguration is automatically uploaded by STControl at initialization time. Notes on manual uploads below.

  • Open-source xc3sprog is used internally by STControl, and can be ran standalone as follows
xc3sprog -c xpc -v -p 0 /home/quadmod/files/sw/USBpix/config/mmc3.bit

<-- should give output like this: 
... 
Using built-in device list
Using built-in cable list
firmware version = 0x0012 (18)
CPLD version = 0x0012 (18)
JTAG chainpos: 0 Device IDCODE = 0x0364c093     Desc: XC7K160T
Created from NCD file: KX7_IF_Test_Top;UserID=0XFFFFFFFF;Version=2015.2
Target device: 7k160tfbg676
Created: 2016/01/14 11:02:07
Bitstream length: 53540576 bits
done. Programming time 28615.0 ms
USB Read Transactions: 7 Write Transactions: 6590 Control Transaction 6598

  • Xilinx impact sofware can be used to configure the FPGA as follows:

cd /opt/Xilinx/14.7/LabTools 
source settings64.sh
export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
impact  

To access iMPACT suite documentation, click on help -> help topics. Steps to configure FPGA:

    • Boundary Scan <--- select
    • from pull-down menus:
Output->Cable Auto Connect <-- see bottom status bar to check JTAG cable was detected fine
    • right-click in the middle main window: Initialize chan
(in this step, you can pass the $SwD/USBpix/config/mmc3.bit config file) * right-click no the Xilinx device and click "Program" to program the FPGA. After this, the LED-s should turn orange.

Powering

MMC3 board powering: can be done via external power source (round VDC connector) or via USB3 directly. To switch between the two is dune using VCC switch located on the board. When powered correctly, the PWR led on the board will light green. Powering via round VDC connector (5V-15V) results in a problem with our particular board, such that FPGA does not configure properly. Please use USB powering.

Current consumption for VCC powering is ~ 200 mA, whereas USB3 can provide up to 600mA:

if you are using VCC powering, slowly power the board to about 6V with the external power connection. Make sure the current limit is set to about 300 mA
V A [mA ]prior and after uploading muC image (rec. Dec 2016):
3.85 260 <-- PWR on
4.00 257 267
4.25 246 255
4.50 236 245
4.75 227 236
5.00 217 228
5.25 211 221
5.50 205 214
5.75 200 207
6.00 195 202 [09.01. 183 204]

Cabling

USB-JTAG cable: Digilent XUP USB-JTAG (6003-410-011) is used with Xilinx ISE LabTools and open-source drivers. When connecting the cable, the lsusb outputs should be:

Device : ID 03fd:0008 Xilinx, Inc. Platform Cable USB II 
idProduct changes from 000d->0008 when cable firmware uploaded fine which should happen automatically.

Using the board

1) board's VCC switch (magenta) in USB position

2) board powered via USB some software (eg STControl) requires USB3 connection. USB3 ports on cables and computer are the blue ones. The gray ones are USB2. => connect board to USB3 computer ports using USB3 A-to-B cable

3) connect JTAG cable:

computer USB3 port --- microsim cable --- cable box --- ribon JTAG cable --- board's JTAG connector

4) check JTAG cable was auto-detected fine:

lsusb
Bus 009 Device 004: ID 03fd:0008 Xilinx, Inc. Platform Cable USB II
<-- vendor/ID info should be 03fd:0008
4) configure FPGA: put this in the terminal
xc3sprog -c xpc -v -p 0 /home/quadmod/files/sw/USBpix/config/mmc3.bit

5) upload microController firmware with cyusb_linux put this in the terminal

 cyusb_linux
select the device and upload this image to RAM (important: not EEPROM/FLASH:)
/home/quadmod/files/sw/USBpix/config/SILABFX3.img

Module testing: running

connect the MMC3 board and modules as above.

STControl:

cd ~/files/sw/USBpix 
./bin/STcontrol
Than follow instructions on STControl wiki

Module testing: hardware

Connect Modules

voltages:

  • HV can be left unbiased for chip testing.
  • digital: voltage ~ 1.52 V ; current limit: ~1 A
  • analog: voltage ~ 1.75 V ; current limit: ~1.9 - 2.0 A

check voltages: with volt-meter, check they correspond to the scheme below in the molex connector:

mod connector.png
module connector

When plugging the molex into the module, make sure the voltage is off. Turn it on after connector is in place.

Available Modules

  • PCB VIB62GH: bare FEI4B chips. Source: Glasgow, Jan 2017.
    • Powering: digital voltage only, 1.8V.
    • Status:
      • broken, not working
      • [V_analog=0 V, V_digital=1.75 V] : I_digital ~ 40 mA
      • this module only takes digital voltage and provides analog voltage via the regulators

  • PCB 2935-18#Q2: FEI4B chips + Cern Pixel 4 sensors. Source: Glasgow, Jan 2017.
    • Powering: digital + analog voltage.
    • Status:
      • broken, not working
      • [V_analog=1.8V, V_digital=1.75 V] : I_analog > 2 A, I_digital > 1 A
      • [[V_analog=0 V, V_digital=1.75 V] : I_digital ~ 500 mA
      • this module takes both analog and digital voltage.

  • GLA_AK_1CHIP_Dec2017: Source: Glasgow, Dec 2017. Bare FEI4B chips. This module belongs to UCL's Andreas Korn and is borrowed to us.
    • Powering: digital + analog voltage.
    • Status:
      • working, one chip

Powering mode depends on the wire-bonds to the chip (LDO regulator pads). And on presence/absence of 0-Ohm resistors on the board.

Module PCB schematics:

On the quadmod machine these were downloaded and unziped to: /home/quadmod/files/doc/module_info/module_pcb_schemas/Design/PixQuad_v2.1

you read them by launching eagle sw: /home/quadmod/files/sw/EAGLE/eagle-8.0.0/eagle

and File->Open->Schematic /home/quadmod/files/doc/module_info/module_pcb_schemas/Design/PixQuad_v2.1/PixQuad.sch

eagle sch.png
viewing schematics with eagle

The Gerber files can be viewed using:

gerbv
Than Open layer(s) as provided in: /home/quadmod/files/doc/module_info/module_pcb_schemas/Design/PixQuad_v2.1/Gerber The layer specification in v2.1 gerber-s is encoded in the layer suffix eg PixQuad.top for top layer etc.

The gerbv and Open layer(s) can also be used to view assembly .asb and .ast bottom and top files /home/quadmod/files/doc/module_info/module_pcb_schemas/Design/PixQuad_v2.1/Assembly

Module testing: software

STControl notes

We take the STControl from git here.

When doing this be careful not to overwrite relevant local changes.

git status

tells you which files have local changes. It's likely good to make a backup of these files before updating. 

git pull 

will warn you in case any local changes cannot be merged seamlessly with the updates 

To update to trunk: 

cd /home/quadmod/files/sw/USBpix
sudo su
git pull
( check if $ROOTSYS is set; if not  source /home/quadmod/.bashrc )
source setup.sh -gpib no
make

Module testing: analysis and reference results

The results obtained with STControl can be viewed with

~/files/sw/USBpix/bin$ ./DataViewer

Links

Module testing software

Module testing hardware

Enclustra burn-in card (the MMC3 board mezannine card):

Technical documentation

Related Edinburgh wiki-s

Reading material for newcomers

  • Jennifer Jentzsch's diploma thesis: not public, get link to e-version from supervisors . Clear, simple and short text on how pixel detectors work and main points of module testing. Somewhat out of date and relates to single chip testing. Good starting point for senior honors/summer/master . Chapters 1,2 and 3 are most relevant.
  • Amir Salehilashkajani's MSc thesis: not public, get link to e-version from supervisors . Technical details on setting up and running STcontrol6 and PyBar testing software.
  • Malte Backhaus's PhD thesis: Overview of USBPIX testing system, quad-module operation and testing. Higher-level and longer than the diploma thesis from J. Jentzsch. Good starting point for advanced master or PhD students.
  • J Grosse-Knetter's habilitation thesis. Most detail on USBPIX system, higher level than the PhD thesis from M. Backhaus. Additional reading for master and PhD students.
  • USBPix3 testing system overview by H. Krueger. Requires CERN rights, get a version from a supervisor in case you do not have them yet.
  • Rossi, L., Fischer, P., Rohe, T., Wermes, N. , Pixel Detectors From Fundamentals to Applications, modern text-book on pixel detectors. Accessible for free from within the UoE network.

The theses can also be found at:

quadmod@quadmodcomp:~/files/doc/theses

Documents

  • on quadmod computer:
/home/quadmod/files/doc/
These contain eg. theses and manuals for reference, esp. when they cannot be linked or uploaded due to copyright issues.

--Main.LizaMijovic - 2017-01-16

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng QT_term.PNG r1 manage 61.1 K 2017-06-01 - 02:14 LizaMijovic  
PNGpng STControl.PNG r1 manage 150.0 K 2017-06-01 - 02:14 LizaMijovic  
PNGpng USBpix_setupbat.PNG r1 manage 35.3 K 2017-06-01 - 02:14 LizaMijovic  
Texttxt install_notes.txt.txt r1 manage 6.7 K 2017-12-12 - 09:11 LizaMijovic  
PNGpng mod_connector.png r1 manage 19.7 K 2018-01-25 - 12:13 LizaMijovic  
Texttxt newcomp_sopa_00378_notes.txt r2 r1 manage 14.1 K 2017-12-12 - 09:11 LizaMijovic  
PDFpdf precision-t3400_users_guide_en-us.pdf r1 manage 7233.4 K 2017-01-18 - 18:14 LizaMijovic t3400 user guide
PDFpdf uC_firmware_MIO2_pb.pdf r1 manage 222.3 K 2017-11-03 - 20:19 LizaMijovic MIO2 uC firmware problem details
Texttxt windriver_notes.txt r1 manage 2.5 K 2017-12-12 - 09:11 LizaMijovic  
Texttxt work_log.txt r1 manage 23.2 K 2017-12-12 - 09:11 LizaMijovic  
PNGpng zadig.png r2 r1 manage 100.7 K 2017-08-04 - 01:37 LizaMijovic zadig setup after installation of WinUSB driver
Edit | Attach | Watch | Print version | History: r136 < r135 < r134 < r133 < r132 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r136 - 2018-04-27 - LizaMijovic
 
    • 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-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback