Personal tools
You are here: Home EGO ITF Software Support&Maintenance Boards replacement and diagnostic tools
Navigation
Log in


Forgot your username or password?
 
Document Actions

Boards replacement and diagnostic tools

by Daniel Sentenac last modified 2009-03-09 17:03

The replacement of a board may be required from the expert who identified a failure in the DAQ data flow. Hardware problems may arise after some software failure. From this diagnostic, the location of the defectuous hardware is determined. In this section, we review how to replace some defectuous boards and perform in some cases few basic tests.

    After some software failure lead the expert to identify some defectuous hardware pieces, a replacment must be performed. A DAQ diagram is provided that helps the expert to localize the harware piece (see DAQ network schematics). Hereafter is given a list a harware boards along with a short description of their configuration and the steps to follow in order to substitute them.

DOL Board


    There are two types of DOL. While the transmission part is the same, the reception has two types of FIFO memory size (16384word or 512word). The reception size is crucial only for DOL involved in the DAQ (see DOL key in Fbf configuration files, where is mentioned the FIFO half size). The reception size is not critical for the DOL involved in the loops (Pr, Gc, Susp DOLs).

In case of replacement :
  •  Check the serial number before replacing them (see hardware inventory DB or in /virgoDev/Hl/HlDol/HlDol file)
  • Restore the same jumpers position (level and acknowledge switches). Check that the switch number sum is equal to 7.

You have to update the serial number of the processes attached to the DOL. For a Fbf process the value is in decimal. For a DSP process the value has the form 0xc0<HexValue>0000

TIM Board

In case of replacement :
  • Restore the jumpers and the dip switches position.

ADC298 16 channels Board

In case of error like: InitAdc board "" not found of bad address use the VxVmeReadProbe diagnostic command and take into account the fact tha
a RIO reboot is not doing a full reset on the crate and that you may need to switch off/on the crate to solve the problem

In case that a ADC298 board is not working correctly check:

  • That the timing signals are connected correctly and that the timing board is set up correctly
  • That the board is not installed on the VSB bus plug
  • That the jumpers are set correctly
  • That the respective configuration file is correct (serial number, address, etc.)

In case of replacement:

  • Check the correspondance between board number and board VME address in the Fbf configuration files (ADC298 key) :

VME address = A0100000 for board 1
VME address = A0200000 for board 2
...
VME address = A0F00000 for board 15
VME address = B0000000 for board 16
VME address = B0300000 for board 19

....

VME address = B0C00000 for board 28

etc...


ADC (Pisa) Board

The time signal can be generated by the board if the jumper is present at the sync port.
If the time signal is external (comming from timming board), the jumper must be absent.
When operating with a DSP, the board must be placed on a VSB slot.

DAC board

To propagate the time signal to a DAC board, a cable must connect from the sync od the ADC to the sync of the DAC.  If several DAC are chained, the time signal is propagated through DAC one to another in chain until the last where a jumper must be set at the sync port (see VTF Hints & Troubleshooting page). When operating with a DSP, the board must be placed on a VSB slot.

DSP board


DSP board have an address that is set to :

0xe01c0000   /*damping DSP*/
0xe21c0000  /*control DSP*/

The jumpers must be set accordingly on the board.
DSP time signal can be obtained (through the bus) either from an ADC board in stand-alone, or from a timing board associated to a Gx server.

To run a ESDSP server, one must specify its number (0 or 2). ex:
./ESDSPServer.exe 0 (check furthest jumper position down, aligned with most others)
./ESDSPServer.exe 2 (check furthest jumper position up, aligned with most others)

Before running the DSP software (Sa/ESDSP), one must choose the timing mode in two configuration locations (local from ADC or external from a Timing board with Gx server requiring the Gx board with minimal configuration) :

- in the /virgoData/Sa/Damping/setup.dat file, check the rio structure:

host test58a {
  rio58A
  adc 1                             -----> set the choice of the timing signal (1 is local, 0 is external)
  dol c3800000                  -----> dol address if present on the VSB bus
  dpm 00070000                ----->
  guard 00070100              ----->
  dspn 0                            ----->
  dictionary Sc_Tt               -----> prefix for the DAC channels names
}

in the database Db, check the object Sa/ESDSP/Config rio structure:

{
    rioName = "rio58A"
    sysName = "Test58A"   -----> suffix for ESDSP server Cm name (Sa_EServerDSP_Test58A)
    sysNumber = 18
    localTime = 1              ----->   set the choice of the timing signal (1 is local, 0 is external)
    old = 0
    allNames = "rio58a"
  }

Try to start locally the ESDSP process on the rio:
cd /virgoLog/Sa/EServerDSP/Test58A
/virgoApp/Sa/EServerDSP/v3r19/RIO806X/ESDSP.exe 0 (or 2)

The stdout looks like :

>>>Load_ESDSP_Configuration
nElem=18
Debug level=0
/virgoData/Sa/ServerDamping
noisefile=

timerfile=

patchfile=

serialfile=
-------------Locat time ON:Freq genereted by ADC
>>>loaddsp
                loadfile=/virgoData/Sa/ServerDamping/serial.abs
length 5096
>>>loaddspfromstream
<<<loaddspfromstream
<<<loaddsp
 loading serial file: /virgoData/Sa/ServerDamping/serial.abs
2007-10-11T09:39:01 Info    > Reading SaPrefixes....
2007-10-11T09:39:01 Info    > Done!!!
2007-10-11T09:39:01 Info    > Cm Start up server: Sa_EServerDSP_Test58A
2007-10-11T09:39:01 Info    > Server is started




RIO Board

In case of replacement :

if the RIO can be booted using the console, retrieve all the parameters of the PPCMonitor (BIOS) with the following commands:
#show boot
#show inet
#show vme

In particular, get the IP address of the RIO. If the RIO is not bootable, get the IP from any Linux machine by typing :

#host <rio_name>

RIO VSB mezzanine

In certain situations (Gc) RIOS have a VSB mezzanine mounted. Replacement of such a RIO requires umounting the VSB mezzanine of the defectuous RIO and mounting on the same PMC slot of the new RIO.

RIO Jumper Settings

In order to configure a CPU board for rioXXA or rioXXB the jumpers (DIPs) have to be set accordingly. They can be found on the middle lower part of the CPU board's frontside (the one with the cooling elements) (there are 2 or 3 DIPs with 4 switches each), as shown in the following schema:

..left: port plugs..
..right: VME connectors..

DIP1 DIP2 DIP3
1234 1234 1234

Note: The ON position is the one towards the board center, the OFF position towards the border.

Dip 3 switch description :

1 : enable SYSRESET transmission
2 : enable SYSRESET reception
3 : enable SLOT1 (only for the first left VME board)     
4 :

rioXXA
DIP1:
DIP2:

 1      2      3      4
OFF    OFF    OFF    OFF

DIP3:

 1      2      3      4 
ON     OFF    ON     OFF


rioXXB, rioXXC

DIP1:
DIP2:

 1      2      3      4
OFF    OFF    OFF    OFF

DIP3:

 1      2      3      4
OFF    ON    OFF    OFF

After mounting the new RIO, pluging the console, reset the RIO and restore the parameter of the PPCMonitor as shown in RIO BIOS Configuration (if they couldn't be retrieved fron the defectuous RIO, follow the examples, except for the IP address (inet_host) !!).

If the boot fails :

  • Check the parameters of the boot.
  • Check the the boot service (inet_server) is available by using :
     ping 193.205.72.245 

if the ping fails, call the computing service on-call.

if the boot starts but is not completed, do at least 3 or 4 trials by resetting the RIO. After call the computing service on-call.

if the boot completes, try to login using the virgorun account from the console. If login fails, check the NFS mounting field on the inet parameters. It should look like :

inet_mount : lynxos.virgo.infn.it:/opt/LynxOS/rioRoot

When login as virgorun succeeds, check that you are in /olusers/virgorun directory, and that you can reach /virgoDev, /virgoData, /virgoLog and /virgoApp directories.If one access fails, retry 3 or 4 times by resetting the RIO. After call the computing service on-call.

Camera (Gx) Board & Jumper Settings

    In case of replacing a Camera Board all jumpers and switches have to be checked and put at the same position than at the original board. Only the front face DIP switches (which contain the board setup) must not be adjusted. Finally, at the GxS configuration file (/virgoData/GxS/GxSnnXX.cfg) the number of the board has to be changed accordingly at the following line:


CAMERA cam <board_number> 350 0.0

The GxS server can be used to propagate the timing signal to a DSP board. In that case the DSP address is added in the GxS server configuration file using the key DPEM (if the DSP is configured with jumper 2) or DPEM2 (if the DSP is configured with jumper 0). (see VTF Hints & Troubleshooting page).


TOLM boards

Tolm boards aim at replacing the DOL boards progressively. Tolms can be either PMC or PCI. They can host up to 2 and 3 optical transeiver, respectively. Optical transeiver can be simply plugged/unplugged by hand. To each of them corresponds a port number (0 , 1 , 2). The software managing a Tolm-PCI is the TolmProcessor. From TolmBase package, one can use the TolmDaqSpy.exe to see in live the packet received by the board. It is a passive executable. In case of failure of the DAQ, and a propagation delay above the threshold, one may check the status of green leds (2 per transeiver, Rx and Tx). If packets are expected to be received/sent by the Tolm, the green led must be blinking.


MuxDemux boards


MuxDemux boards host up to 8 optical switches transeivers. Ports addresses are from 0 to 7. Each ports has the abaility to propagates any input signal comming from any other ports. The propagation adresses are specified in the TolmProcessor configuration file as an example follows:
TOLM_PROCESSOR_OUTPUT_PACKET "GC_SC1"  "" 0 0x01 0x00 0x1F 0 Gc_NE_z Gc_Al_NE_txCorr Gc_Al_NE_tyCorr
Up to 3 MuxDemux stages can be defined in the optical route as represented by the adresses 0xXX.

ADC7674A boards

The new ADC7674A host an optical link for a transeiver and can be configured from the TolmProcessor receiver as
 an example shown below:
ADC7674_BOARD MoniMc 09 800000 1000 0 0x00 0x1f 0x1f 0x06 0x1f 0x1f 1