Recipe based on Mr. Wu instructions and spec file:
- Make sure receiving and sending boards have up-to-date firmware
- Receiving boards needs special DAQLDC firmware
- (various firmware include these special firmware located in Wu's Directory
) (as of July 10,2014 the latest DAQLDC firmware: AMC13T1v0x00fb_7k325t.mcs
)
- Sending board should have latest "normal" firmware
- Connect hardware correctly
- The DAQ Link optical fiber cable should be connected to the SFP2 slot (3rd from top, may be labelled DAQ2 or Spare) on the sending AMC13 module
- If an AMC13 is also being used as the receiving module, the other end of the DAQ Link optical fiber cable should be connected to the SFP0 (top slot, may be labelled DAQ0 or DAQ1) on that receiving AMC13 module
- The sender module should also be setup to receive triggers and build events. The below example will use internal L1As and fake events, so you will only need to have a loopback in the TTC SFP (in order to send L1As to itself).
- Initialize your sender AMC13 (detailed information found here) with the
'd'
flag (in addition to other desired init flags) to enable the DAQ link. For example:
Pick an action (h for menu): en 0-11 f t l d
Enabling AMC inputs from list: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Link status: 04100fff
Enable DAQ Link
Enable Fake Event Generator
Enable Local TTC Input Signal
Enable Local L1A generation
'CONTROL1': 00208187
- (sender) Enable SFP that is connected (in this example SFP2):
Pick an action (h for menu): wv 3 0x4fff
Writing to T1:
00000003: 00004fff
- Reload the receiver AMC13 firmware to reset defaults (DAQLDC enable and run mode on)
Pick an action (h for menu): L
WARNING: you are about to reconfigure both spartan and virtex from flash memory. Are you sure? (y) y
- If you check register address 1 now, the lowest two bits should be set (hex digit 3):
Pick an action (h for menu): rv 1
Reading T1:
00000001: 00fb0003
- (receiver) Enable SFP that is connected (in this example top SFP, SFP0):
Pick an action (h for menu): wv 3 0x1000
Writing to T1:
00000003: 00001000
- Reset receiver AMC13 then reset sender AMC13: (In receiver):
Pick an action (h for menu): wv 0 1
(Now do the same for the sender)
- (In receiver AMC13) Setup SFP for receiving
wv 0x80 0x80010006
wv 0x81 0
- At this point, if everything has been setup correctly, you can check the DAQlink is up in the sender module (first hex digit in reg address 0x3 should no longer read 0x7):
rv 0x3
Reading T1:
00000003: 30003fff
(The left most hex digit (3) in this example signifies that SFP2 is up [bits are set if links are down])
- (sender) Send triggers (example sending 5 L1As):
Pick an action (h for menu): lt 5
Pick an action (h for menu): st
*****AMC13 Status*****
Status display detail level: 1
Control 0: 5d000000
Control 1: 01090187
TTS out is TTC signal out
Create fake event at L1A
Generate Internal L1A
DAQ Link Enabled
Run Mode
AMC Link Status: 30004fff
AMC13 Enabled Inputs: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11
--No AMC links locked--
AMC Port Status: 0fff0000
--All AMC Link Versions Correct--
Unsynced AMC Ports: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11
AMC Bc0 Status: 00000018
--No BC0s locked--
Local Trigger Control: 00000000
Periodic L1A every 0x1 orbit at BX = 500
0x1 trigger per burst
EVB Counters:
SDRAM Word Ct [000d]: 0000183e
Unread SDRAM Evts [000e]: 00000005
L1A Ctr [0046]: 00000000 00000005
Run time [0048]: 00000006 1b1fe710
Ready time [004a]: 00000006 1b20d212
Busy time [004c]: 00000000 00000001
L1A ovfl warn time [0050]: 00000000 00000001
Tot evs monitored [0056]: 00000000 00000005
- Check that events are in receiver AMC13:
Pick an action (h for menu): st
*****AMC13 Status*****
Status display detail level: 1
Control 0: 68000020
TTC Not Ready
Control 1: 00fb0003
DAQ Link Enabled
Run Mode
AMC Link Status: 00001000
--No AMC inputs enabled--
--No AMC links locked--
AMC Port Status: 0fff0000
--All AMC Link Versions Correct--
Unsynced AMC Ports: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11
AMC Bc0 Status: 00000018
--No BC0s locked--
EVB Counters:
SDRAM Word Ct [000d]: 0000183e
Unread SDRAM Evts [000e]: 00000005
Run time [0048]: 0000000a 2fb6a60f
Ready time [004a]: 0000000a 2fb79791
Busy time [004c]: 00000000 00000001
L1A ovfl warn time [0050]: 00000000 00000001
: Please upgrade your firmware to the latest build. All Virtex firmware versions older than 0x94 have a bug in the DDR readout controller, which may cause an IPBus transaction failure during block reads and consequently, while reading out (dumping) events.