Difference: RichMuDaq (1 vs. 40)

Revision 402019-10-04 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 242 to 242
 
Changed:
<
<
.bin files may be used to program the flash memory (use JM25Pxx.jar) or the FPGA directly (use XilinxDjtg.jar).
>
>
.bin files may be used to program the flash memory or the FPGA directly. Utilities for programming/flashing are described here.
 

PDMDB signal mapping

Revision 392019-10-01 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 12 to 12
 

GUI installation

Changed:
<
<
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. This version requires Java 11 (e.g. openjdk11). Unpack the tar file into a local directory and run it by typing
>
>
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. This version is built with Java 11 (e.g. openjdk11) but you do not need to install Java 11 if you just want to run it as is. Unpack the tar file into a local directory and run it by typing
 
Changed:
<
<
java @JPDMDBDepp.win
>
>
./pdmdb.sh
 
Changed:
<
<
for Windows or
>
>
for Cygwin or
 
Changed:
<
<
java @JPDMDBDepp.lnx
>
>
./pdmdb-lnx.sh
 

for Linux installations.

Revision 382019-09-10 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 12 to 12
 

GUI installation

Changed:
<
<
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. This version requires Java 11 (e.g. openjdk11). Unpack the tar file into a local directory and run it by typing
>
>
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. This version requires Java 11 (e.g. openjdk11). Unpack the tar file into a local directory and run it by typing
 
java @JPDMDBDepp.win

Revision 372019-07-03 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 217 to 217
  The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers and the GUI can generate fast synchronous DAQ commands on the master link for test purposes.
Changed:
<
<
DAC (test pulse) scans are implemented. Use a delay of 5 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
>
>
DAC (test pulse) scans are implemented. The test pulse alignment is trimmed in the PDMDB firmware with a hard-coded value of 5 (6.25ns clock cycles).
 
Changed:
<
<
The latency-compensation (trigger delay) value should be around 0x0a in the current implementation to be in time with the laser.
>
>
In the current implementation, a value of 0x1b for daq.latency-compensation will then make the data appear in the second of the four timesolots that are read out for each trigger.
 
Changed:
<
<
For the CLARO test pulse, (testpulse.delay - latency-compensation) should be 0x04.
>
>
Phase scans to help optimise the e-port alignment are also implemented or the GBTX automatic phase alignment can be used.
 
Changed:
<
<
Phase scans to help optimise the e-port alignment are also implemented.
>
>
The Kintex7 GT receivers apparently do not always reset into a stable mode without bit errors. Sometimes, more than one reset of the GTRX channel is needed to obtain stable data. The reason for this is not clear. Once a stable condition has been obtained, it appears to remain stable until the next GTRX channel reset.

The GTRX channel reset is generated synchronously to the 40MHz clock. With this, the data path latency is fixed/deterministic. It is stable across GTRX reset or power cycle and for different firmware implementations.

 

For reference

Line: 240 to 242
 
Changed:
<
<
.bin files may be used to program the flash memory (use JM25Pxx.jar) or the FPGA directly (use XilDJtg.jar).
>
>
.bin files may be used to program the flash memory (use JM25Pxx.jar) or the FPGA directly (use XilinxDjtg.jar).
 

PDMDB signal mapping

Revision 362019-04-24 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 45 to 45
  Top panel
Changed:
<
<
To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.
>
>
To correctly establish the communication the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.
  For example:
Changed:
<
<
  1. On the Main panel, muDAQ configure. Button should become green.
  2. On the Main panel, Configure master link. Button should become green.
  3. On the Main panel, SCA setup. Button should become green.
>
>
  1. On the Main panel, muDAQ configure.
  2. On the Main panel, Configure master link.
  3. On the Main panel, SCA setup.
 
  1. Configure DTMs (and PDMDB FPGAs)
Changed:
<
<
    1. On the Main panel, DTM0 program GBTX. Button should become green.
    2. On the Main panel, DTM0 program FPGA. Button should become green.
>
>
    1. On the Main panel, DTM0 program GBTX.
    2. On the Main panel, DTM0 program FPGA.
 
    1. Repeat for the remaining DTMs
  1. Configure the ECs (loads the registers from the chosen file that contains the CLARO registers for the complete PDMDB)
Changed:
<
<
    1. On the Main panel, Configure EC0. Button should become green.
>
>
    1. On the Main panel, Configure EC0.
 
    1. Repeat for the remaining ECs.
Added:
>
>
Completion of each button action is indicated by the button becoming green.
 IDEA! The precise wording and ordering of the buttons on the panel may differ from the above as this is set by an external XML file when the GUI starts.

ALERT! There are buttons on the main panel related to e-fusing the TCM GBTX. Except when using the production testing hardware, there should be no risk of accidentally fusing any registers since the required voltages are not provided by the hardware. For additional protection the feature is usually disabled in the XML file so no action is taken even if the fuse button is selected. To be extra careful, one can Discard the fusing token at the top of the main panel.

Revision 352019-04-10 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 76 to 76
  The GUI is a Java program. It uses JNI (Java Native Interface) to wrap the Adept API calls and JAXB (Java XML Binding) to provide data-driven GUI configuration with XML. The XML binding makes it easy to use the same GUI for both PDMDB-R and PDMDB-H by simply editing an XML file.
Added:
>
>

Configuration and localisation

 When started and after the target device is selected, the GUI tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as www-mudaq.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.

Several other XML files are accessed in a similar way during GUI configuration. These include:

Line: 92 to 94
  It is likely that mudaq.xml and testerSequence.xml would be customised for each local installation but it is recommended that the GUI is allowed to cache the others from the remote server.
Changed:
<
<
The GUI supports all of the SCA interfaces used by the PDMDB and has panels for the configuration of the muDAQ and for performing basic PDMDB configuration.

Main panel

>
>

User interface

 
Changed:
<
<
The upper part of the Main panel displays the contents of the status and configuration registers. The Decode buttons generate a decoded version of the registers on the console using the XML register descriptors. The lower left panel is for setting up the muDAQ MGT transceivers. It is recommended to use the power down feature for unused MGTs (RX and TX can be separately powered down). The lower right part of the panel is for special functions. For example, the DRP controls allow a statistical eye-diagram for a selected MGT to be generated.
>
>
The simplest way to interact with muDaq is through the main panel which can be configured to provide a collection of high-level operations that can either be invoked individually or run automatically as part of a pre-defined sequence. For lower-level interactions the GUI provides a set of panels to allow manual configuration and expert operations.
 
Changed:
<
<
Master link panel
>
>
On the main panel, the Play button executes the whole sequence from the beginning. The Pause button flags the sequence to stop at the next opportunity. Resume will continue from where the sequence paused.
 
Changed:
<
<
The Master Link panel is the principal controls interface to the PDMDB. It is divided into sections for the configuration and monitoring of the ECs, the DTMs and the FPGAs.
>
>
Step executes the commands consecutively one at a time on each click. First step resets to the beginning of the sequence and executes the first command. Resume can be used in step mode to continue automatically from the last executed command.
 
Changed:
<
<
Master link GBTX I2C panel
>
>
Individual commands may be executed by clicking the corresponding button. However, this does not change the current position in the sequence as used by Step and Resume. This is a convenient way of retrying a failed command.
 
Changed:
<
<
The VTRX I2C panel is for programming the master link GBTX through its I2C interface.
>
>
In case the GUI aborts a transaction, it may be necessary to empty the response FIFO. A Read flush button is provided on the tester sequence panel to do this. It reads the FIFO in a loop until a timeout occurs indicating that the FIFO is empty. After this a NOP instruction should be sent to synchronise with the tester.
 
Changed:
<
<
A modified version of the GUI, targeted at the procedures required for production testing of the PDMDB modules, is under development.
>
>
The muDaq panel
The upper part of the panel displays the contents of the status and configuration registers. The Decode buttons generate a decoded version of the registers on the console using the XML register descriptors. The lower left panel is for setting up the muDAQ MGT transceivers. It is recommended to use the power down feature for unused MGTs (RX and TX can be separately powered down). The lower right part of the panel is for special functions. For example, the DRP controls allow a statistical eye-diagram for a selected MGT to be generated.
Main panel

The master link panel
This panel is the principal controls interface to the PDMDB. It is divided into sections for the configuration and monitoring of the ECs, the DTMs and the FPGAs.
Master link panel

The VTRX I2C panel
This panel is for programming the master link GBTX through its I2C interface.
Master link GBTX I2C panel
 

Test sequence XML

Line: 148 to 158
  For details of the individual Java methods, refer to the Javadoc documentation. Most of the methods can be found in the TesterSequence class but some are scattered elsewhere.
Deleted:
<
<

GUI interactions

The Play button executes the whole sequence from the beginning. The Pause button flags the sequence to stop at the next opportunity. Resume will continue from where the sequence paused.

Step executes the commands consecutively one at a time on each click. First step resets to the beginning of the sequence and executes the first command. Resume can be used in step mode to continue automatically from the last executed command.

Individual commands may be executed by clicking the corresponding button. However, this does not change the current position in the sequence as used by Step and Resume. This is a convenient way of retrying a failed command.

In case the GUI aborts a transaction, it may be necessary to empty the response FIFO. A Read flush button is provided on the tester sequence panel to do this. It reads the FIFO in a loop until a timeout occurs indicating that the FIFO is empty. After this a NOP instruction should be sent to synchronise with the tester.

 

Optical links

These provide the control and data paths between muDaq and PDMDB. They are implemented in the hardware through the Xilinx MGTs (multi-gigabit transceivers). The GBT protocol FPGA implementation is based on a simplified version of the CERN GBT FPGA core. The XC7K70T Kintex-7 FPGA has eight MGT transceivers which are specified to operate at rates of up to 6Gbit/s. All eight transceivers are routed to SFP connectors compatible with 3.3V commercial optical transceiver plug-ins. Six MGT transceivers are configured in wide-bus mode as data receivers and one is used in transceiver mode with FEC for the master link. The muDaq firmware assigns them as follows:

Revision 342019-04-10 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 28 to 28
  The GUI will detect any muDAQ modules connected to the PC and will present a list from which the user can select the board. Therefore make sure that the muDAQ module is connected and powered before starting the GUI.
Deleted:
<
<
The GUI first tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as www-mudaq.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.
 The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.

The GUI must be run on the PC to which the muDaq USB is connected but can send commands and receive responses from another system through a network socket. This is used to issue commands to the PDMDB module tester microcontroller host or to the Oxford tester board system. The address of the network socket can be set from the Main menu. Select Set MTB socket... and enter the network address in URL notation. If your GUI and microcontroller host are the same, you can use http://:7999 as the network address. More generally, if the machines are different, you can use http://host.domain:7999 instead, where host.domain is the IP address of the micrcontroller host. If you change the setting, you should restart the Java GUI to open a new connection.

Line: 68 to 66
 

Technical user guide

Changed:
<
<
MuDAQ is capable of excercising both controls and data acquisition path of the PDMDB. These are implemented in the hardware through the Xilinx MGTs (multi-gigabit transceivers). The GBT protocol FPGA implementation is based on a simplified version of the CERN GBT FPGA core. The XC7K70T Kintex-7 FPGA has eight MGT transceivers which are specified to operate at rates of up to 6Gbit/s. All eight transceivers are routed to SFP connectors compatible with 3.3V commercial optical transceiver plug-ins. Six MGT transceivers are configured in wide-bus mode as data receivers and one is used in transceiver mode with FEC for the master link.

PC interface

>
>
MuDAQ is capable of excercising both controls and data acquisition path of the PDMDB.
 
Changed:
<
<

Hardware

>
>

Host interface

  Communication with the PC is through the Digilent Adept USB API and the Cypress FX2LP chip on the muDAQ module. The toolkit provides an asynchronous 8-bit parallel port API (DEPP) and a JTAG TAP API (DJTG). Digilent also provides a plug-in to allow FPGA programming via the FX2LP using the Xilinx programming tools. The DEPP API is used to access muDAQ configuration and status registers and to transfer data to and from the PDMDB through the I2C and HDLC interfaces implemented in the muDAQ firmware.

GUI

Changed:
<
<
The GUI is a Java program. It uses JNI (Java Native Interface) to wrap the Adept API calls and JAXB (Java XML Binding) to provide data-driven GUI configuration with XML. The XML binding makes it easy to use the same GUI for both PDMDB-R and PDMDB-H by simply editing an XML file. The same XML file contains descriptors for the commonly used muDAQ registers. Links are provided in the reference section below that display formatted summaries of the register descriptors from this same XML file.
>
>
The GUI is a Java program. It uses JNI (Java Native Interface) to wrap the Adept API calls and JAXB (Java XML Binding) to provide data-driven GUI configuration with XML. The XML binding makes it easy to use the same GUI for both PDMDB-R and PDMDB-H by simply editing an XML file.

When started and after the target device is selected, the GUI tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as www-mudaq.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.

Several other XML files are accessed in a similar way during GUI configuration. These include:

File Usage
mudaq.xml muDaq hardware configuration description
mudaq-csr-config.xml muDaq configuration register descriptors
mudaq-csr-status.xml muDaq status register descriptors
claro.xml CLARO register descriptors
gbtx2.xml GBTX register descriptors
SCATXCommands.xml SCA command descriptors
SCARXCommands.xml SCA response descriptors
testerSequence.xml Command sequence definition

It is likely that mudaq.xml and testerSequence.xml would be customised for each local installation but it is recommended that the GUI is allowed to cache the others from the remote server.

  The GUI supports all of the SCA interfaces used by the PDMDB and has panels for the configuration of the muDAQ and for performing basic PDMDB configuration.
Line: 146 to 158
  In case the GUI aborts a transaction, it may be necessary to empty the response FIFO. A Read flush button is provided on the tester sequence panel to do this. It reads the FIFO in a loop until a timeout occurs indicating that the FIFO is empty. After this a NOP instruction should be sent to synchronise with the tester.
Changed:
<
<

Optical links

>
>

Optical links

 
Changed:
<
<
MuDaq has 8 SFP ports. They are numbered differently on the PCB than in the firmware/software. The muDaq firmware assigns them as follows:
>
>
These provide the control and data paths between muDaq and PDMDB. They are implemented in the hardware through the Xilinx MGTs (multi-gigabit transceivers). The GBT protocol FPGA implementation is based on a simplified version of the CERN GBT FPGA core. The XC7K70T Kintex-7 FPGA has eight MGT transceivers which are specified to operate at rates of up to 6Gbit/s. All eight transceivers are routed to SFP connectors compatible with 3.3V commercial optical transceiver plug-ins. Six MGT transceivers are configured in wide-bus mode as data receivers and one is used in transceiver mode with FEC for the master link. The muDaq firmware assigns them as follows:
 
PCB legend FPGA MGT RX usage TX usage
SFP8 0 TCM.TX TCM.RX
Line: 160 to 172
 
SFP2 6 DTM2.GBTX0.TX Unused
SFP1 7 DTM2.GBTX1.TX Unused
Changed:
<
<

Master link

>
>

Master link

  The controls interface can be used to send fast synchronous commands to the PDMDB and as the configuration and monitoring interface. The synchronous commands are described in the discussion of the data path.
Added:
>
>
On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDAQ implements a simple HDLC engine in firmware that reads commands locally buffered in the muDAQ FPGA and sends them to the SCA through the master link.

Production TCMs are by default designed so that the GBTX should be programmed through the master link after an initial minimal set of e-fuses have been burnt. All registers may be read or written in a single operation (be careful not to change the registers that are initialised from the e-fuses). The protocol is sketched out in the GBTX manual. Not shown, however, is the dummy byte that must be sent as the first byte after the 0x7e frame delimiter and before the GBTX ID byte. Also not made clear is the fact that the parity byte does not cover the GBTX ID byte. A similar bitstuffing procedure is applied as for the SC channel. However, the idle sequence is 11111111... and each frame is delimited with 01111110. Byte ordering is little-endian and bytes are transmitted LSB first. The GBTX ID is 1 for all production TCMs.

 MuDAQ implements an I2C interface that allows initial configuration of the master link GBTX. The connector pin assignments are:

SK4 Pin FPGA IO Signal
Line: 178 to 195
  Most TCM GBTXs are now e-fused and the default hardware behaviour on production PDMDBs is for the IC (optical link) configuration path to be active. The type attribute of the <gbtx> xml element in mudaq.xml file must be set to i2c for configuration through the I2C interface or ic for configuration through the optical link. The <gbtxI2c> xml element should always be present and should not need to be changed.
Changed:
<
<
On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDAQ implements a simple HDLC engine in firmware that reads commands locally buffered in the muDAQ FPGA and sends them to the SCA through the master link.

Production TCMs are by default designed so that the GBTX should be programmed through the master link after an initial minimal set of e-fuses have been burnt. All registers may be read or written in a single operation (be careful not to change the registers that are initialised from the e-fuses). The protocol is sketched out in the GBTX manual. Not shown, however, is the dummy byte that must be sent as the first byte after the 0x7e frame delimiter and before the GBTX ID byte. Also not made clear is the fact that the parity byte does not cover the GBTX ID byte. A similar bitstuffing procedure is applied as for the SC channel. However, the idle sequence is 11111111... and each frame is delimited with 01111110. Byte ordering is little-endian and bytes are transmitted LSB first. The GBTX ID is 1 for all production TCMs.

SCA commands

>
>

SCA commands

  The following links tabulate the parameters of the SCA commands. The SCA manual appears to have many typos, errors, inconsistencies or ambiguities in the command descriptions. These linked tables are generated from the XML files that are also used by the muDAQ GUI to build the SCA commands. The XML data, originally taken from the SCA manual, has been corrected where problems have been found but not every possible command has been tested.
Line: 199 to 211
  While the batched SCA transactions are in progress, a new USB transaction will block until the complete batch has been processed (using the DEPP wait mechanism). The blocked transaction will then continue without further intervention. In this way, the GUI is also synchronised with the hardware without the need to poll. The DEPP wait mehanism itself implements a timeout of 10ms. In some cases (for a single batch of commands expected to exceed 10ms) it is necessary for the GUI to retry the USB operation one or more times in case of timeout.
Changed:
<
<

Data path

>
>

Data path

  The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers and the GUI can generate fast synchronous DAQ commands on the master link for test purposes.

Revision 332019-04-09 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"
Deleted:
<
<
 

MuDAQ

Added:
>
>
 MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laboratory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). The module is controlled via a USB interface.

muDAQ

Line: 98 to 98
 

Test sequence XML

Changed:
<
<
The test sequence is defined in XML. An example XML fragment is given below.
>
>
The appearance of the main panel is governed by the XML file testerSequence.xml. The file describes a sequence of commands that can be executed either individually or automatically in sequence. An example XML fragment is given below.
 
Changed:
<
<
>
>
 
Line: 134 to 134
 The cbsw.lhcb.pdmdb.Command.shell() method allows to run a shell script as part of the sequence. The Do analysis command in the above xml fragment is an example of this. The shell script must follow certain rules relating to IO redirection so some care is needed in preparing it.
Added:
>
>
For details of the individual Java methods, refer to the Javadoc documentation. Most of the methods can be found in the TesterSequence class but some are scattered elsewhere.
 

GUI interactions

The Play button executes the whole sequence from the beginning. The Pause button flags the sequence to stop at the next opportunity. Resume will continue from where the sequence paused.

Line: 144 to 146
  In case the GUI aborts a transaction, it may be necessary to empty the response FIFO. A Read flush button is provided on the tester sequence panel to do this. It reads the FIFO in a loop until a timeout occurs indicating that the FIFO is empty. After this a NOP instruction should be sent to synchronise with the tester.
Added:
>
>

Optical links

MuDaq has 8 SFP ports. They are numbered differently on the PCB than in the firmware/software. The muDaq firmware assigns them as follows:

PCB legend FPGA MGT RX usage TX usage
SFP8 0 TCM.TX TCM.RX
SFP7 1 Unused Unused
SFP6 2 DTM0.GBTX0.TX Unused
SFP5 3 DTM0.GBTX1.TX Unused
SFP4 4 DTM1.GBTX0.TX Unused
SFP3 5 DTM1.GBTX1.TX Unused
SFP2 6 DTM2.GBTX0.TX Unused
SFP1 7 DTM2.GBTX1.TX Unused
 

Master link

The controls interface can be used to send fast synchronous commands to the PDMDB and as the configuration and monitoring interface. The synchronous commands are described in the discussion of the data path.

Changed:
<
<
MuDAQ implements an I2C interface that allows initial configuration of the master link GBTX.
>
>
MuDAQ implements an I2C interface that allows initial configuration of the master link GBTX. The connector pin assignments are:

SK4 Pin FPGA IO Signal
1   NC
2   3V3
3   GND
4 F20 EFUSEPROG
5 E21 SDA
6 D21 EFUSEPWREN
7 C21 SCL
8 B21  

Most TCM GBTXs are now e-fused and the default hardware behaviour on production PDMDBs is for the IC (optical link) configuration path to be active. The type attribute of the <gbtx> xml element in mudaq.xml file must be set to i2c for configuration through the I2C interface or ic for configuration through the optical link. The <gbtxI2c> xml element should always be present and should not need to be changed.

  On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDAQ implements a simple HDLC engine in firmware that reads commands locally buffered in the muDAQ FPGA and sends them to the SCA through the master link.

Revision 322019-04-09 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"
Added:
>
>
 

MuDAQ

MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laboratory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). The module is controlled via a USB interface.

Line: 13 to 15
 The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. This version requires Java 11 (e.g. openjdk11). Unpack the tar file into a local directory and run it by typing
Changed:
<
<
java @JPDMDBDepp.opts
>
>
java @JPDMDBDepp.win
 
Added:
>
>
for Windows or

java @JPDMDBDepp.lnx

for Linux installations.

 The GUI will detect any muDAQ modules connected to the PC and will present a list from which the user can select the board. Therefore make sure that the muDAQ module is connected and powered before starting the GUI.

The GUI first tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as www-mudaq.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.

The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.

Added:
>
>
The GUI must be run on the PC to which the muDaq USB is connected but can send commands and receive responses from another system through a network socket. This is used to issue commands to the PDMDB module tester microcontroller host or to the Oxford tester board system. The address of the network socket can be set from the Main menu. Select Set MTB socket... and enter the network address in URL notation. If your GUI and microcontroller host are the same, you can use http://:7999 as the network address. More generally, if the machines are different, you can use http://host.domain:7999 instead, where host.domain is the IP address of the micrcontroller host. If you change the setting, you should restart the Java GUI to open a new connection.
 

Hardware set-up and configuration

First power up the muDAQ and PDMDB.

Line: 83 to 96
  A modified version of the GUI, targeted at the procedures required for production testing of the PDMDB modules, is under development.
Added:
>
>

Test sequence XML

The test sequence is defined in XML. An example XML fragment is given below.

  <command label="muDAQ configure" targetClass="MuDaq" targetMethod="configure"/>
  <command label="muDAQ configure master link" targetClass="MuDaq" targetMethod="configureMasterLink"/>
  <command label="SCA setup" targetClass="ScaControl" targetMethod="setup"/>
  <command label="SCA set DACs" targetClass="ScaControl" targetMethod="setDac" data="0|33?1|127?2|75?3|92"/>
  <command label="SCA set GPIO[7:1]" targetClass="ScaControl" targetMethod="setGpio" data="7|1"/>
  <command label="MTB NOP" targetClass="PdmdbModuleTester" targetMethod="exec" data="NOP">
    <response opcode="ACK_OK" timeout="500" incrementSequenceNumber="true"/>
  </command>
  <command label="MTB measure power" targetClass="PdmdbModuleTester" targetMethod="exec" data="MEASURE_POWER|1111">
    <response opcode="ACK_OK" timeout="500" incrementSequenceNumber="true"/>
    <response opcode="MEASURE_POWER" timeout="3000"/>
  </command>
  <command label="Do analysis" targetClass="Command" targetMethod="shell" data="/lhcb/lhcbrich/Upgrade/PDMDBTesting/PDMDBKIT/doAnalysis.sh|arg1"/>

The commands reference static methods in the various Java GUI classes. The class (relative to cbsw.lhcb.pdmdb) is given in the targetClass attribute and the method in the targetMethod attribute. The fully-qualified target method signature is then

public static String cbsw.lhcb.pdmdb.targetClass.targetMethod(String [])

Any new methods that are added must conform to this signature. The String[] argument contains the tokenised target method data split at the | characters. The returned String starts with mandatory OK or FAIL text followed by | and any optional data.

For example. the tester MEASURE_POWER command results in a call

public static String cbsw.lhcb.pdmdb.PdmdbModuleTester.exec({"MEASURE_POWER","1111"})

Commands are executed in the order they are given in the XML. Where the commands target the test board, the GUI waits for each of the listed responses before proceeding. A timeout in milliseconds can be applied to the tester responses. The GUI will abort the sequence when a timeout occurs or when an unexpected response is received.

The label attribute is used as the test button label on the tester sequence panel.

If the same command needs to be executed several times by the same target method this can be done by concatenating the target method data using the ? character as separator. See, for example, the setDac method in the XML above.

The incrementSequenceNumber="true" attribute should normally appear on the first response of each command. However, under some circumstances, responses after the initial ACK_OK may be handled in the response list of the next command. In this case the attribute should not appear on the deferred response.

The cbsw.lhcb.pdmdb.Command.shell() method allows to run a shell script as part of the sequence. The Do analysis command in the above xml fragment is an example of this. The shell script must follow certain rules relating to IO redirection so some care is needed in preparing it.

GUI interactions

The Play button executes the whole sequence from the beginning. The Pause button flags the sequence to stop at the next opportunity. Resume will continue from where the sequence paused.

Step executes the commands consecutively one at a time on each click. First step resets to the beginning of the sequence and executes the first command. Resume can be used in step mode to continue automatically from the last executed command.

Individual commands may be executed by clicking the corresponding button. However, this does not change the current position in the sequence as used by Step and Resume. This is a convenient way of retrying a failed command.

In case the GUI aborts a transaction, it may be necessary to empty the response FIFO. A Read flush button is provided on the tester sequence panel to do this. It reads the FIFO in a loop until a timeout occurs indicating that the FIFO is empty. After this a NOP instruction should be sent to synchronise with the tester.

 

Master link

The controls interface can be used to send fast synchronous commands to the PDMDB and as the configuration and monitoring interface. The synchronous commands are described in the discussion of the data path.

Revision 312019-02-21 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 10 to 10
 

GUI installation

Changed:
<
<
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. Unpack it into a local directory and run it by typing
>
>
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. This version requires Java 11 (e.g. openjdk11). Unpack the tar file into a local directory and run it by typing
 
Changed:
<
<
java -Djava.library.path=. -jar JPDMDBDepp.jar
>
>
java @JPDMDBDepp.opts
 

The GUI will detect any muDAQ modules connected to the PC and will present a list from which the user can select the board. Therefore make sure that the muDAQ module is connected and powered before starting the GUI.

Line: 30 to 30
  ALERT!The muDAQ power connector is slightly different than the Chimaera2 so take care.
Changed:
<
<
Start the GUI as described above.
>
>
Start the GUI as described above. A panel similar to the following should appear:

Top panel

  To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.

For example:

  1. On the Main panel, muDAQ configure. Button should become green.
Changed:
<
<
  1. On the Main panel, muDAQ configure master link. Button should become green.
  2. On the Main panel, SCA setup. Button should become green. ALERT! This causes the DTMs to reset.
>
>
  1. On the Main panel, Configure master link. Button should become green.
  2. On the Main panel, SCA setup. Button should become green.
 
  1. Configure DTMs (and PDMDB FPGAs)
Changed:
<
<
    1. Select the DTM (a common error is to forget to select the DTM tab)
    2. Hold all reset
    3. Reset and Configure GBTX.0.
    4. Reset and Configure GBTX.1.
    5. Load FPGA to load the firmware of the PDMDB FPGA for the selected DTM.
  1. Configure the ECs
    1. Select the EC.
    2. Configure loads the registers from the chosen file that contains the CLARO registers for the complete PDMDB.
>
>
    1. On the Main panel, DTM0 program GBTX. Button should become green.
    2. On the Main panel, DTM0 program FPGA. Button should become green.
    3. Repeat for the remaining DTMs
  1. Configure the ECs (loads the registers from the chosen file that contains the CLARO registers for the complete PDMDB)
    1. On the Main panel, Configure EC0. Button should become green.
    2. Repeat for the remaining ECs.

IDEA! The precise wording and ordering of the buttons on the panel may differ from the above as this is set by an external XML file when the GUI starts.

ALERT! There are buttons on the main panel related to e-fusing the TCM GBTX. Except when using the production testing hardware, there should be no risk of accidentally fusing any registers since the required voltages are not provided by the hardware. For additional protection the feature is usually disabled in the XML file so no action is taken even if the fuse button is selected. To be extra careful, one can Discard the fusing token at the top of the main panel.

 

Technical user guide

Line: 110 to 114
  The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers and the GUI can generate fast synchronous DAQ commands on the master link for test purposes.
Changed:
<
<
DAC (test pulse) scans are implemented but the readout currently ignores the data on all but one of the data links. Use a delay of 5 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
>
>
DAC (test pulse) scans are implemented. Use a delay of 5 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
  The latency-compensation (trigger delay) value should be around 0x0a in the current implementation to be in time with the laser.

For the CLARO test pulse, (testpulse.delay - latency-compensation) should be 0x04.

Added:
>
>
Phase scans to help optimise the e-port alignment are also implemented.
 

For reference

Register maps

Line: 129 to 135
 

Hardware updates

Changed:
<
<
>
>

.bin files may be used to program the flash memory (use JM25Pxx.jar) or the FPGA directly (use XilDJtg.jar).

 

PDMDB signal mapping

Revision 302018-10-24 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 120 to 120
 

Register maps

Changed:
<
<
See here for a list of the configuration and status registers.
>
>
 

GBTX settings

Revision 292018-10-24 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 18 to 18
  The GUI will detect any muDAQ modules connected to the PC and will present a list from which the user can select the board. Therefore make sure that the muDAQ module is connected and powered before starting the GUI.
Changed:
<
<
The GUI first tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as mudaq-www.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.
>
>
The GUI first tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as www-mudaq.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.
  The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.

Revision 282018-10-03 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 88 to 88
 On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDAQ implements a simple HDLC engine in firmware that reads commands locally buffered in the muDAQ FPGA and sends them to the SCA through the master link.

Production TCMs are by default designed so that the GBTX should be programmed through the master link after an initial minimal set of e-fuses have been burnt.

Changed:
<
<
All registers may be read or written in a single operation (be careful not to change the registers that are initialised from the e-fuses). The protocol is sketched out in the GBTX manual. Not shown, however, is the dummy byte that must be sent as the first byte after the 0x7e frame delimiter and before the GBTX ID byte. Also not made clear is the fact that the parity byte does not cover the GBTX ID byte. A similar bitstuffing procedure is applied as for the SC channel. However, the idle sequence is 11111111... and each frame is delimited with 01111110. The GBTX ID is 1 for all production TCMs.
>
>
All registers may be read or written in a single operation (be careful not to change the registers that are initialised from the e-fuses). The protocol is sketched out in the GBTX manual. Not shown, however, is the dummy byte that must be sent as the first byte after the 0x7e frame delimiter and before the GBTX ID byte. Also not made clear is the fact that the parity byte does not cover the GBTX ID byte. A similar bitstuffing procedure is applied as for the SC channel. However, the idle sequence is 11111111... and each frame is delimited with 01111110. Byte ordering is little-endian and bytes are transmitted LSB first. The GBTX ID is 1 for all production TCMs.
 

SCA commands

Revision 272018-10-02 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 87 to 87
  On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDAQ implements a simple HDLC engine in firmware that reads commands locally buffered in the muDAQ FPGA and sends them to the SCA through the master link.
Added:
>
>
Production TCMs are by default designed so that the GBTX should be programmed through the master link after an initial minimal set of e-fuses have been burnt. All registers may be read or written in a single operation (be careful not to change the registers that are initialised from the e-fuses). The protocol is sketched out in the GBTX manual. Not shown, however, is the dummy byte that must be sent as the first byte after the 0x7e frame delimiter and before the GBTX ID byte. Also not made clear is the fact that the parity byte does not cover the GBTX ID byte. A similar bitstuffing procedure is applied as for the SC channel. However, the idle sequence is 11111111... and each frame is delimited with 01111110. The GBTX ID is 1 for all production TCMs.
 

SCA commands

The following links tabulate the parameters of the SCA commands. The SCA manual appears to have many typos, errors, inconsistencies or ambiguities in the command descriptions. These linked tables are generated from the XML files that are also used by the muDAQ GUI to build the SCA commands. The XML data, originally taken from the SCA manual, has been corrected where problems have been found but not every possible command has been tested.

Revision 262018-09-24 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 109 to 109
  DAC (test pulse) scans are implemented but the readout currently ignores the data on all but one of the data links. Use a delay of 5 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
Changed:
<
<
The latency-compensation (trigger delay) value should be around 0x1b in the current implementation.
>
>
The latency-compensation (trigger delay) value should be around 0x0a in the current implementation to be in time with the laser.

For the CLARO test pulse, (testpulse.delay - latency-compensation) should be 0x04.

 

For reference

Revision 252018-09-21 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 109 to 109
  DAC (test pulse) scans are implemented but the readout currently ignores the data on all but one of the data links. Use a delay of 5 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
Added:
>
>
The latency-compensation (trigger delay) value should be around 0x1b in the current implementation.
 

For reference

Register maps

Revision 242018-08-28 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 107 to 107
  The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers and the GUI can generate fast synchronous DAQ commands on the master link for test purposes.
Changed:
<
<
DAC (test pulse) scans are implemented but the readout currently ignores the data on all but one of the data links. Use a delay of 9 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
>
>
DAC (test pulse) scans are implemented but the readout currently ignores the data on all but one of the data links. Use a delay of 5 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
 

For reference

Revision 232018-08-27 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 24 to 24
 

Hardware set-up and configuration

Changed:
<
<
First power up the muDAQ and PDMDB. MuDAQ requires 2A@3.3V.
>
>
First power up the muDAQ and PDMDB.

ALERT! Different versions of MuDAQ require different voltages. MuDAQv2 requires 2A@3.3V. MuDAQv3 requires 2A@5.5V.

  ALERT!The muDAQ power connector is slightly different than the Chimaera2 so take care.
Line: 34 to 36
  For example:
Changed:
<
<
  1. On the Main panel, Initialise and Reset muDAQ.
  2. On the VTRX I2C panel, load the master link configuration through the I2C interface (if the e-fuses have not been fused).
    1. Click Write.
    2. Select master3g.gbt.
    3. Click Read to check that the master link is in Idle.
  3. On the Main panel, check that the master link is locked. Status byte 22 should be stable and equal to 0x05. If not, it may be that the muDAQ transceiver needs to be reset.
    1. Select MGT.0
    2. Uncheck txOn. Click Send.
    3. Check txOn and txReset. Click Send.
    4. Uncheck txReset. Click Send.
    5. Select MGT.1 and do the same procedure but for rx.
    6. Check again for 0x05 in the status byte.
  4. On the Master link panel, establish the connection to the SCA chip.
    1. Do Reset, and Setup.
    2. Check on the terminal window. You should see the numbers 0x3e and 0x30. If not, there is a problem with the master link.
>
>
  1. On the Main panel, muDAQ configure. Button should become green.
  2. On the Main panel, muDAQ configure master link. Button should become green.
  3. On the Main panel, SCA setup. Button should become green. ALERT! This causes the DTMs to reset.
 
  1. Configure DTMs (and PDMDB FPGAs)
    1. Select the DTM (a common error is to forget to select the DTM tab)
Changed:
<
<
    1. Hold reset all
>
>
    1. Hold all reset
 
    1. Reset and Configure GBTX.0.
    2. Reset and Configure GBTX.1.
    3. Load FPGA to load the firmware of the PDMDB FPGA for the selected DTM.
  1. Configure the ECs
    1. Select the EC.
Changed:
<
<
    1. Configure loads the chosen file that contains the CLARO registers for the complete EC.
>
>
    1. Configure loads the registers from the chosen file that contains the CLARO registers for the complete PDMDB.
 

Technical user guide

Line: 117 to 107
  The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers and the GUI can generate fast synchronous DAQ commands on the master link for test purposes.
Changed:
<
<
DAC scans are implemented but the readout currently ignores the data on all but one of the data links.
>
>
DAC (test pulse) scans are implemented but the readout currently ignores the data on all but one of the data links. Use a delay of 9 for the test pulse (config(4)(3..0)) to get the data in the correct timeslot.
 

For reference

Revision 222018-08-27 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 115 to 115
 

Data path

Changed:
<
<
The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers but data acquisition is not yet implemented. The GUI can however generate fast synchronous DAQ commands on the master link for test purposes.
>
>
The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers and the GUI can generate fast synchronous DAQ commands on the master link for test purposes.

DAC scans are implemented but the readout currently ignores the data on all but one of the data links.

 

For reference

Line: 123 to 125
  See here for a list of the configuration and status registers.
Added:
>
>

GBTX settings

The best data link performance so far has been achieved with the GBTX xPLLs bypassed. The setting of ps.pll.resistor for the GBTX.0 phase shifter appears to be critical for the quality of the data from GBTX.1. A value 4 seems to be best. It is not clear whether this configuration is necessarily best also in the miniDAQ environment.

 

Hardware updates

Revision 212018-06-15 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 106 to 106
 
GPIO TX RX
ADC TX RX
DAC TX RX
Added:
>
>
JTAG TX RX
 
NC TX RX

The GBT-SCA chip operates with a command and acknowledge protocol; every successfully completed command results in an acknowledge message. The muDAQ exploits this to allow a batch of SCA commands to be sent from the GUI to the muDAQ FPGA. A small protocol core in the FPGA then sends these commands through the master link to the SCA waiting for an acknowledge messsage after sending each command. This is much more efficient than sending individual commands from the GUI and waiting for a response before sending the next. However, in some cases the SCA may not send a response, for example, the ADC_GO command appears not to send a response if the ADC input exceeds the upper conversion limit (1V). To allow for this, the FPGA core implements a timeout; if a response to a command is not received within about 1ms the core continues with the next command. Of course, the commands following a timeout may no longer produce well-defined responses from the SCA so the user should be aware of this. Also, in some cases, a successful SCA command might exceed the command timeout (e.g. a 128bit I2C transaction at the lowest clock speed) which might also result in the following transactions not behaving as expected.

Revision 202018-05-29 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 6 to 6
  muDAQ
Changed:
<
<

Installation

>
>

Quick start guide

 
Changed:
<
<

The GUI

>
>

GUI installation

  The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. Unpack it into a local directory and run it by typing
Line: 22 to 22
  The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.
Changed:
<
<

Quick start guide

>
>

Hardware set-up and configuration

  First power up the muDAQ and PDMDB. MuDAQ requires 2A@3.3V.
Line: 59 to 59
 
    1. Select the EC.
    2. Configure loads the chosen file that contains the CLARO registers for the complete EC.

Changed:
<
<

For experts

>
>

Technical user guide

MuDAQ is capable of excercising both controls and data acquisition path of the PDMDB. These are implemented in the hardware through the Xilinx MGTs (multi-gigabit transceivers). The GBT protocol FPGA implementation is based on a simplified version of the CERN GBT FPGA core. The XC7K70T Kintex-7 FPGA has eight MGT transceivers which are specified to operate at rates of up to 6Gbit/s. All eight transceivers are routed to SFP connectors compatible with 3.3V commercial optical transceiver plug-ins. Six MGT transceivers are configured in wide-bus mode as data receivers and one is used in transceiver mode with FEC for the master link.

PC interface

Hardware

Communication with the PC is through the Digilent Adept USB API and the Cypress FX2LP chip on the muDAQ module. The toolkit provides an asynchronous 8-bit parallel port API (DEPP) and a JTAG TAP API (DJTG). Digilent also provides a plug-in to allow FPGA programming via the FX2LP using the Xilinx programming tools. The DEPP API is used to access muDAQ configuration and status registers and to transfer data to and from the PDMDB through the I2C and HDLC interfaces implemented in the muDAQ firmware.

GUI

The GUI is a Java program. It uses JNI (Java Native Interface) to wrap the Adept API calls and JAXB (Java XML Binding) to provide data-driven GUI configuration with XML. The XML binding makes it easy to use the same GUI for both PDMDB-R and PDMDB-H by simply editing an XML file. The same XML file contains descriptors for the commonly used muDAQ registers. Links are provided in the reference section below that display formatted summaries of the register descriptors from this same XML file.

The GUI supports all of the SCA interfaces used by the PDMDB and has panels for the configuration of the muDAQ and for performing basic PDMDB configuration.

 
Changed:
<
<
MuDaq is capable of excercising both controls and data acquisition path of the PDMDB. These are implemented at the hardware level through the Xilinx MGT (multi-gigabit) transceivers. The GBT protocol FPGA implementation is based on a simplified version of the CERN GBT FPGA core. The xc7k70t Kintex-7 FPGA has 8 MGT transceivers which are specified to operate at rates of up to 6Gbit/s. All eight transceivers are routed to SFP connectors to allow the use of commercial optical transceiver plug-ins. Six MGT transceivers are configured in wide-bus mode as data receivers and one is used in transceiver mode with FEC for the master link.
>
>
Main panel

The upper part of the Main panel displays the contents of the status and configuration registers. The Decode buttons generate a decoded version of the registers on the console using the XML register descriptors. The lower left panel is for setting up the muDAQ MGT transceivers. It is recommended to use the power down feature for unused MGTs (RX and TX can be separately powered down). The lower right part of the panel is for special functions. For example, the DRP controls allow a statistical eye-diagram for a selected MGT to be generated.

Master link panel

The Master Link panel is the principal controls interface to the PDMDB. It is divided into sections for the configuration and monitoring of the ECs, the DTMs and the FPGAs.

Master link GBTX I2C panel

The VTRX I2C panel is for programming the master link GBTX through its I2C interface.

A modified version of the GUI, targeted at the procedures required for production testing of the PDMDB modules, is under development.

 

Master link

The controls interface can be used to send fast synchronous commands to the PDMDB and as the configuration and monitoring interface. The synchronous commands are described in the discussion of the data path.

Changed:
<
<
MuDaq implements an I2C interface that allows initial configuration of the master link GBTX.
>
>
MuDAQ implements an I2C interface that allows initial configuration of the master link GBTX.
 
Changed:
<
<
On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDaq implements a simple HDLC engine in firmware that reads commands locally buffered in the MuDaq FPGA and sends them to the SCA through the master link.
>
>
On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDAQ implements a simple HDLC engine in firmware that reads commands locally buffered in the muDAQ FPGA and sends them to the SCA through the master link.
 

SCA commands

Line: 86 to 112
  While the batched SCA transactions are in progress, a new USB transaction will block until the complete batch has been processed (using the DEPP wait mechanism). The blocked transaction will then continue without further intervention. In this way, the GUI is also synchronised with the hardware without the need to poll. The DEPP wait mehanism itself implements a timeout of 10ms. In some cases (for a single batch of commands expected to exceed 10ms) it is necessary for the GUI to retry the USB operation one or more times in case of timeout.
Added:
>
>

Data path

The muDAQ GUI currently only support a limited monitoring of the data received on the data links from the PDMDB. It is possible to monitor the GBT frames in the status registers but data acquisition is not yet implemented. The GUI can however generate fast synchronous DAQ commands on the master link for test purposes.

For reference

 

Register maps

See here for a list of the configuration and status registers.

Revision 192018-05-29 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 22 to 22
  The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.
Changed:
<
<

Starting up

>
>

Quick start guide

  First power up the muDAQ and PDMDB. MuDAQ requires 2A@3.3V.
Line: 61 to 61
 

For experts

Changed:
<
<

Register maps

>
>
MuDaq is capable of excercising both controls and data acquisition path of the PDMDB. These are implemented at the hardware level through the Xilinx MGT (multi-gigabit) transceivers. The GBT protocol FPGA implementation is based on a simplified version of the CERN GBT FPGA core. The xc7k70t Kintex-7 FPGA has 8 MGT transceivers which are specified to operate at rates of up to 6Gbit/s. All eight transceivers are routed to SFP connectors to allow the use of commercial optical transceiver plug-ins. Six MGT transceivers are configured in wide-bus mode as data receivers and one is used in transceiver mode with FEC for the master link.
 
Changed:
<
<
See here for a list of the configuration and status registers.
>
>

Master link

The controls interface can be used to send fast synchronous commands to the PDMDB and as the configuration and monitoring interface. The synchronous commands are described in the discussion of the data path.

MuDaq implements an I2C interface that allows initial configuration of the master link GBTX.

On the PDMDB, the GBT-SCA on the TCM implements all of the configuration and monitoring interfaces used by the front-end. The SCA is connected to the dedicated master link EC port and responds to the HDLC protocol. MuDaq implements a simple HDLC engine in firmware that reads commands locally buffered in the MuDaq FPGA and sends them to the SCA through the master link.

 

SCA commands

Line: 80 to 86
  While the batched SCA transactions are in progress, a new USB transaction will block until the complete batch has been processed (using the DEPP wait mechanism). The blocked transaction will then continue without further intervention. In this way, the GUI is also synchronised with the hardware without the need to poll. The DEPP wait mehanism itself implements a timeout of 10ms. In some cases (for a single batch of commands expected to exceed 10ms) it is necessary for the GUI to retry the USB operation one or more times in case of timeout.
Added:
>
>

Register maps

See here for a list of the configuration and status registers.

 

Hardware updates

Revision 182018-05-19 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 16 to 16
 java -Djava.library.path=. -jar JPDMDBDepp.jar
Added:
>
>
The GUI will detect any muDAQ modules connected to the PC and will present a list from which the user can select the board. Therefore make sure that the muDAQ module is connected and powered before starting the GUI.
 
Changed:
<
<
The first time that you use the GUI, you should import some settings. Note that settings are specific to the login account so you need to do this for each user account that you use to run the GUI.

To import the list of known muDAQ hardware, navigate to Main->Import hardware... from the main panel. This will import the list from the Cambridge webserver. After restarting the GUI you should see the hardware ID of your muDAQ board in the pulldown list. Select it and restart the GUI again. You only need to import the list again if you want to update the list of known hardware.

Now download JPDMDBDepp.xml and navigate to Main->Import... to import the settings. Restart the GUI. If you import this file again it might overwrite any preferences that have change since the last import.

USB

>
>
The GUI first tries to configure itself based on the contents of the file mudaq.xml in the current directory. If the file doesn't exist or is unreadable, the GUI connects to the Cambridge webserver and downloads the latest version of the file and saves it as mudaq-www.xml. The GUI then configures itself from this cached copy. Therefore if you need to make local modifications to the configuration or avoid the need for network connectivity or simply wish to keep a stable configuration you should make a local copy called mudaq.xml starting from the web version or the cached copy. To always use the web version of the configuration, or to refresh the local copy, simply ensure that a file called mudaq.xml does not exist in the current directory then restart the GUI while connected to the network.
  The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.
Line: 34 to 28
  ALERT!The muDAQ power connector is slightly different than the Chimaera2 so take care.
Added:
>
>
Start the GUI as described above.
 To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.

For example:

Deleted:
<
<
  1. Start the GUI.
 
  1. On the Main panel, Initialise and Reset muDAQ.
  2. On the VTRX I2C panel, load the master link configuration through the I2C interface (if the e-fuses have not been fused).
    1. Click Write.
Line: 88 to 83
 

Hardware updates

Deleted:
<
<
 

PDMDB signal mapping

Revision 172018-05-18 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 88 to 88
 

Hardware updates

Deleted:
<
<
 

PDMDB signal mapping

Revision 162018-05-16 - StephenWottonSecondary

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 56 to 56
 
    1. Check on the terminal window. You should see the numbers 0x3e and 0x30. If not, there is a problem with the master link.
  1. Configure DTMs (and PDMDB FPGAs)
    1. Select the DTM (a common error is to forget to select the DTM tab)
Added:
>
>
    1. Hold reset all
 
    1. Reset and Configure GBTX.0.
    2. Reset and Configure GBTX.1.
    3. Load FPGA to load the firmware of the PDMDB FPGA for the selected DTM.
Line: 65 to 66
 

For experts

Changed:
<
<

Configuration register maps

>
>

Register maps

 
Changed:
<
<

Status register maps

>
>
See here for a list of the configuration and status registers.
 

SCA commands

Revision 152018-03-18 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 10 to 10
 

The GUI

Changed:
<
<
The GUI is called JPDMDBDepp. It can be downloaded here. Unpack it into a local directory and run it by typing
>
>
The GUI is called JPDMDBDepp. It runs on Windows or Linux and can be downloaded here. Unpack it into a local directory and run it by typing
 
java -Djava.library.path=. -jar JPDMDBDepp.jar
Line: 28 to 30
 

Starting up

Changed:
<
<
First power up the muDAQ and PDMDB. To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.
>
>
First power up the muDAQ and PDMDB. MuDAQ requires 2A@3.3V.

ALERT!The muDAQ power connector is slightly different than the Chimaera2 so take care.

To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.

  For example:

  1. Start the GUI.
Changed:
<
<
  1. Initialise and Reset muDAQ.
  2. Load the master link configuration through the I2C interface.
>
>
  1. On the Main panel, Initialise and Reset muDAQ.
  2. On the VTRX I2C panel, load the master link configuration through the I2C interface (if the e-fuses have not been fused).
 
    1. Click Write.
    2. Select master3g.gbt.
    3. Click Read to check that the master link is in Idle.
Changed:
<
<
  1. Check that the master link is locked. Status byte 22 should be stable and equal to 0x05. If not, it may be that the muDAQ transceiver needs to be reset.
>
>
  1. On the Main panel, check that the master link is locked. Status byte 22 should be stable and equal to 0x05. If not, it may be that the muDAQ transceiver needs to be reset.
 
    1. Select MGT.0
Changed:
<
<
    1. Uncheck txOn. Click Send.
    2. Check txOn and txReset. Click Send.
    3. Uncheck txReset. Click Send.
    4. Select MGT.1 and do the same procedure but for rx.
>
>
    1. Uncheck txOn. Click Send.
    2. Check txOn and txReset. Click Send.
    3. Uncheck txReset. Click Send.
    4. Select MGT.1 and do the same procedure but for rx.
 
    1. Check again for 0x05 in the status byte.
Changed:
<
<
  1. Establish the connection to the SCA chip.
    1. Do Connect, and Setup.
>
>
  1. On the Master link panel, establish the connection to the SCA chip.
    1. Do Reset, and Setup.
 
    1. Check on the terminal window. You should see the numbers 0x3e and 0x30. If not, there is a problem with the master link.
Changed:
<
<
  1. Ensure that both boards have the necessary firmware loaded. MuDAQ automatically loads firmware stored in flash on power up. PDMDB must be programmed through an external interface. Use /lhcb/HDL/PDMDB/par/pdmdb_v1/pdmdbv1.bit for the PDMDB. The same file for each FPGA.
  2. Configure DTMs
    1. Select the DTM
>
>
  1. Configure DTMs (and PDMDB FPGAs)
    1. Select the DTM (a common error is to forget to select the DTM tab)
 
    1. Reset and Configure GBTX.0.
    2. Reset and Configure GBTX.1.
Changed:
<
<
  1. Synchronise the e-links.
    1. Click Sync.
    2. Check pattern.
    3. Click Sync again if needed.
>
>
    1. Load FPGA to load the firmware of the PDMDB FPGA for the selected DTM.
  1. Configure the ECs
    1. Select the EC.
    2. Configure loads the chosen file that contains the CLARO registers for the complete EC.
 

For experts

Revision 142018-02-26 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 76 to 76
  The following links tabulate the parameters of the SCA commands. The SCA manual appears to have many typos, errors, inconsistencies or ambiguities in the command descriptions. These linked tables are generated from the XML files that are also used by the muDAQ GUI to build the SCA commands. The XML data, originally taken from the SCA manual, has been corrected where problems have been found but not every possible command has been tested.
Changed:
<
<
>
>
I2C TX RX
SPI TX RX
GPIO TX RX
ADC TX RX
DAC TX RX
NC TX RX
  The GBT-SCA chip operates with a command and acknowledge protocol; every successfully completed command results in an acknowledge message. The muDAQ exploits this to allow a batch of SCA commands to be sent from the GUI to the muDAQ FPGA. A small protocol core in the FPGA then sends these commands through the master link to the SCA waiting for an acknowledge messsage after sending each command. This is much more efficient than sending individual commands from the GUI and waiting for a response before sending the next. However, in some cases the SCA may not send a response, for example, the ADC_GO command appears not to send a response if the ADC input exceeds the upper conversion limit (1V). To allow for this, the FPGA core implements a timeout; if a response to a command is not received within about 1ms the core continues with the next command. Of course, the commands following a timeout may no longer produce well-defined responses from the SCA so the user should be aware of this. Also, in some cases, a successful SCA command might exceed the command timeout (e.g. a 128bit I2C transaction at the lowest clock speed) which might also result in the following transactions not behaving as expected.

Revision 132018-02-26 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 76 to 76
  The following links tabulate the parameters of the SCA commands. The SCA manual appears to have many typos, errors, inconsistencies or ambiguities in the command descriptions. These linked tables are generated from the XML files that are also used by the muDAQ GUI to build the SCA commands. The XML data, originally taken from the SCA manual, has been corrected where problems have been found but not every possible command has been tested.
Changed:
<
<
>
>
  The GBT-SCA chip operates with a command and acknowledge protocol; every successfully completed command results in an acknowledge message. The muDAQ exploits this to allow a batch of SCA commands to be sent from the GUI to the muDAQ FPGA. A small protocol core in the FPGA then sends these commands through the master link to the SCA waiting for an acknowledge messsage after sending each command. This is much more efficient than sending individual commands from the GUI and waiting for a response before sending the next. However, in some cases the SCA may not send a response, for example, the ADC_GO command appears not to send a response if the ADC input exceeds the upper conversion limit (1V). To allow for this, the FPGA core implements a timeout; if a response to a command is not received within about 1ms the core continues with the next command. Of course, the commands following a timeout may no longer produce well-defined responses from the SCA so the user should be aware of this. Also, in some cases, a successful SCA command might exceed the command timeout (e.g. a 128bit I2C transaction at the lowest clock speed) which might also result in the following transactions not behaving as expected.

Revision 122018-02-26 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 74 to 74
 

SCA commands

Added:
>
>
The following links tabulate the parameters of the SCA commands. The SCA manual appears to have many typos, errors, inconsistencies or ambiguities in the command descriptions. These linked tables are generated from the XML files that are also used by the muDAQ GUI to build the SCA commands. The XML data, originally taken from the SCA manual, has been corrected where problems have been found but not every possible command has been tested.
 
Line: 81 to 83
 
Added:
>
>
The GBT-SCA chip operates with a command and acknowledge protocol; every successfully completed command results in an acknowledge message. The muDAQ exploits this to allow a batch of SCA commands to be sent from the GUI to the muDAQ FPGA. A small protocol core in the FPGA then sends these commands through the master link to the SCA waiting for an acknowledge messsage after sending each command. This is much more efficient than sending individual commands from the GUI and waiting for a response before sending the next. However, in some cases the SCA may not send a response, for example, the ADC_GO command appears not to send a response if the ADC input exceeds the upper conversion limit (1V). To allow for this, the FPGA core implements a timeout; if a response to a command is not received within about 1ms the core continues with the next command. Of course, the commands following a timeout may no longer produce well-defined responses from the SCA so the user should be aware of this. Also, in some cases, a successful SCA command might exceed the command timeout (e.g. a 128bit I2C transaction at the lowest clock speed) which might also result in the following transactions not behaving as expected.

While the batched SCA transactions are in progress, a new USB transaction will block until the complete batch has been processed (using the DEPP wait mechanism). The blocked transaction will then continue without further intervention. In this way, the GUI is also synchronised with the hardware without the need to poll. The DEPP wait mehanism itself implements a timeout of 10ms. In some cases (for a single batch of commands expected to exceed 10ms) it is necessary for the GUI to retry the USB operation one or more times in case of timeout.

 

Hardware updates

Revision 112018-02-20 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 86 to 86
 
Added:
>
>

PDMDB signal mapping

Please see the RichPdmdb topic.

 \ No newline at end of file

Revision 102018-02-16 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 6 to 6
  muDAQ
Changed:
<
<

The GUI

>
>

Installation

The GUI

  The GUI is called JPDMDBDepp. It can be downloaded here. Unpack it into a local directory and run it by typing
Line: 20 to 22
  Now download JPDMDBDepp.xml and navigate to Main->Import... to import the settings. Restart the GUI. If you import this file again it might overwrite any preferences that have change since the last import.
Added:
>
>

USB

The USB interface uses the Digilent Adept runtime environment. It can be downloaded here. The "System" or "runtime" environment should be installed. The "Utilities" are also useful but the SDK is not required.

 

Starting up

First power up the muDAQ and PDMDB. To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.

Revision 92018-02-15 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 54 to 54
 

For experts

Changed:
<
<

Register maps

>
>

Configuration register maps

 
Added:
>
>

Status register maps

 

SCA commands

Revision 82018-02-14 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 16 to 16
  The first time that you use the GUI, you should import some settings. Note that settings are specific to the login account so you need to do this for each user account that you use to run the GUI.
Changed:
<
<
To import the list of known MuDAQ hardware, navigate to Main->Import hardware... from the main panel. This will import the list from the Cambridge webserver. After restarting the GUI you should see the hardware ID of your MuDAQ board in the pulldown list. Select it and restart the GUI again. You only need to import the list again if you want to update the list of known hardware.
>
>
To import the list of known muDAQ hardware, navigate to Main->Import hardware... from the main panel. This will import the list from the Cambridge webserver. After restarting the GUI you should see the hardware ID of your muDAQ board in the pulldown list. Select it and restart the GUI again. You only need to import the list again if you want to update the list of known hardware.
  Now download JPDMDBDepp.xml and navigate to Main->Import... to import the settings. Restart the GUI. If you import this file again it might overwrite any preferences that have change since the last import.

Starting up

Changed:
<
<
First power up the MuDAQ and PDMDB. To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the MuDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the MuDAQ side. After this, the SCA chip. Then the PDMDB FPGAs and DTMs may be configured.
>
>
First power up the muDAQ and PDMDB. To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the muDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the muDAQ side then the SCA chip. Once communication to the SCA is established, the PDMDB FPGAs, DTMs and ECs may be configured.
  For example:

  1. Start the GUI.
Changed:
<
<
  1. Initialise and Reset MuDAQ.
>
>
  1. Initialise and Reset muDAQ.
 
  1. Load the master link configuration through the I2C interface.
    1. Click Write.
    2. Select master3g.gbt.
    3. Click Read to check that the master link is in Idle.
Changed:
<
<
  1. Check that the master link is locked. Status byte 22 should be stable and equal to 0x05. If not, it may be that the MuDAQ transceiver needs to be reset.
>
>
  1. Check that the master link is locked. Status byte 22 should be stable and equal to 0x05. If not, it may be that the muDAQ transceiver needs to be reset.
 
    1. Select MGT.0
    2. Uncheck txOn. Click Send.
    3. Check txOn and txReset. Click Send.
Line: 68 to 68
  \ No newline at end of file
Added:
>
>

Hardware updates

Revision 72018-02-13 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Changed:
<
<
MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laborartory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). The module is controlled via a USB interface.
>
>
MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laboratory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). The module is controlled via a USB interface.
  muDAQ

Revision 62018-02-13 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 8 to 8
 

The GUI

Changed:
<
<
The GUI is called JPDMDBDepp. Run it by typing
>
>
The GUI is called JPDMDBDepp. It can be downloaded here. Unpack it into a local directory and run it by typing
 
java -Djava.library.path=. -jar JPDMDBDepp.jar
Line: 18 to 18
  To import the list of known MuDAQ hardware, navigate to Main->Import hardware... from the main panel. This will import the list from the Cambridge webserver. After restarting the GUI you should see the hardware ID of your MuDAQ board in the pulldown list. Select it and restart the GUI again. You only need to import the list again if you want to update the list of known hardware.
Changed:
<
<
Now download JPDMDBDepp.xml then navigate to Main->Import... to import the settings. Restart the GUI. If you import this file again it might overwrite any preferences that have change since the last import.
>
>
Now download JPDMDBDepp.xml and navigate to Main->Import... to import the settings. Restart the GUI. If you import this file again it might overwrite any preferences that have change since the last import.
 

Starting up

Line: 52 to 52
 
    1. Check pattern.
    2. Click Sync again if needed.

\ No newline at end of file

Added:
>
>

For experts

Register maps

SCA commands

Revision 52018-02-13 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 14 to 14
 java -Djava.library.path=. -jar JPDMDBDepp.jar
Changed:
<
<
The first time that you use the GUI, you should import some settings.
>
>
The first time that you use the GUI, you should import some settings. Note that settings are specific to the login account so you need to do this for each user account that you use to run the GUI.
  To import the list of known MuDAQ hardware, navigate to Main->Import hardware... from the main panel. This will import the list from the Cambridge webserver. After restarting the GUI you should see the hardware ID of your MuDAQ board in the pulldown list. Select it and restart the GUI again. You only need to import the list again if you want to update the list of known hardware.

Revision 42018-02-13 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Changed:
<
<
MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laborartory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). It can be used in small readout systems (e.g. testbeam) to transport up to about 2 Gbit/s of FE data over Ethernet. The module is controlled via a USB interface.
>
>
MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laborartory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). The module is controlled via a USB interface.

muDAQ

The GUI

The GUI is called JPDMDBDepp. Run it by typing

java -Djava.library.path=. -jar JPDMDBDepp.jar

The first time that you use the GUI, you should import some settings.

To import the list of known MuDAQ hardware, navigate to Main->Import hardware... from the main panel. This will import the list from the Cambridge webserver. After restarting the GUI you should see the hardware ID of your MuDAQ board in the pulldown list. Select it and restart the GUI again. You only need to import the list again if you want to update the list of known hardware.

Now download JPDMDBDepp.xml then navigate to Main->Import... to import the settings. Restart the GUI. If you import this file again it might overwrite any preferences that have change since the last import.

 

Starting up

Changed:
<
<
First power up the MuDAQ and PDMDB. To correctly establish the communication between the two modules it is recommended to follow this procedure:
>
>
First power up the MuDAQ and PDMDB. To correctly establish the communication between the two modules the guiding principle is to follow the master link path configuring first the MGT.TX on the MuDAQ side followed by the master GBTX on the TCM, then the MGT.RX on the MuDAQ side. After this, the SCA chip. Then the PDMDB FPGAs and DTMs may be configured.
 
Changed:
<
<
  1. Ensure that both boards have the necessary firmware loaded. MuDAQ automatically loads firmware stored in flash on power up. PDMDB must be programmed through an external interface. Use /lhcb/HDL/PDMDB/par/pdmdb_v1/pdmdbv1.bit for the PDMDB. The same file for each FPGA.
  2. Do java -jar JPDMDBDepp.jar
>
>
For example:

  1. Start the GUI.
 
  1. Initialise and Reset MuDAQ.
  2. Load the master link configuration through the I2C interface.
    1. Click Write.
Line: 25 to 42
 
  1. Establish the connection to the SCA chip.
    1. Do Connect, and Setup.
    2. Check on the terminal window. You should see the numbers 0x3e and 0x30. If not, there is a problem with the master link.
Added:
>
>
  1. Ensure that both boards have the necessary firmware loaded. MuDAQ automatically loads firmware stored in flash on power up. PDMDB must be programmed through an external interface. Use /lhcb/HDL/PDMDB/par/pdmdb_v1/pdmdbv1.bit for the PDMDB. The same file for each FPGA.
 
  1. Configure DTMs
    1. Select the DTM
    2. Reset and Configure GBTX.0.

Revision 32017-09-22 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

Line: 8 to 8
  First power up the MuDAQ and PDMDB. To correctly establish the communication between the two modules it is recommended to follow this procedure:
Changed:
<
<
  1. Ensure that both boards have the necessary firmware loaded. MuDAQ automatically loads firmware stored in flash on power up. PDMDB must be programmed through an external interface.
>
>
  1. Ensure that both boards have the necessary firmware loaded. MuDAQ automatically loads firmware stored in flash on power up. PDMDB must be programmed through an external interface. Use /lhcb/HDL/PDMDB/par/pdmdb_v1/pdmdbv1.bit for the PDMDB. The same file for each FPGA.
  2. Do java -jar JPDMDBDepp.jar
 
  1. Initialise and Reset MuDAQ.
  2. Load the master link configuration through the I2C interface.
Changed:
<
<
  1. Establish the connection to the SCA chip. Do Connect, Reset and Setup.
  2. Reset and Configure DTM0
  3. Reset and Configure DTM1
>
>
    1. Click Write.
    2. Select master3g.gbt.
    3. Click Read to check that the master link is in Idle.
  1. Check that the master link is locked. Status byte 22 should be stable and equal to 0x05. If not, it may be that the MuDAQ transceiver needs to be reset.
    1. Select MGT.0
    2. Uncheck txOn. Click Send.
    3. Check txOn and txReset. Click Send.
    4. Uncheck txReset. Click Send.
    5. Select MGT.1 and do the same procedure but for rx.
    6. Check again for 0x05 in the status byte.
  2. Establish the connection to the SCA chip.
    1. Do Connect, and Setup.
    2. Check on the terminal window. You should see the numbers 0x3e and 0x30. If not, there is a problem with the master link.
  3. Configure DTMs
    1. Select the DTM
    2. Reset and Configure GBTX.0.
    3. Reset and Configure GBTX.1.
 
  1. Synchronise the e-links.
Added:
>
>
    1. Click Sync.
    2. Check pattern.
    3. Click Sync again if needed.
 

Revision 22017-04-07 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laborartory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). It can be used in small readout systems (e.g. testbeam) to transport up to about 2 Gbit/s of FE data over Ethernet. The module is controlled via a USB interface.

Added:
>
>

Starting up

First power up the MuDAQ and PDMDB. To correctly establish the communication between the two modules it is recommended to follow this procedure:

  1. Ensure that both boards have the necessary firmware loaded. MuDAQ automatically loads firmware stored in flash on power up. PDMDB must be programmed through an external interface.
  2. Initialise and Reset MuDAQ.
  3. Load the master link configuration through the I2C interface.
  4. Establish the connection to the SCA chip. Do Connect, Reset and Setup.
  5. Reset and Configure DTM0
  6. Reset and Configure DTM1
  7. Synchronise the e-links.

Revision 12017-04-04 - StephenWotton

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="RichUpgradeElectronics"

MuDAQ

MuDAQ (micro-DAQ) is a readout environment that performs similar functions to the LHCb miniDAQ environment. It is a lower cost alternative intended for smaller laborartory or test set-ups. Each muDAQ module can control and read out one full RichPdmdb (1 controls link + 6 data links). It can be used in small readout systems (e.g. testbeam) to transport up to about 2 Gbit/s of FE data over Ethernet. The module is controlled via a USB interface.

 
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