dirk zimoch, epics collaboration meeting, vancouver 2009 real-time data transfer using the timing...

8
Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Upload: holly-lamb

Post on 16-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data Transferusing the Timing System

(Original slides and driver code by Babak Kalantari)

Page 2: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Key Hardware Features

■Event rate max 125 MHz■8 bit event code + 8 bit signals

or data (multiplexed)■Real-time data transfer rate

max 62.5 Mbytes/sec■At 1kHz linac repetition rate:

~60 kBytes/bunch

Page 3: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Event System Overview

Event

Generator

Fan out

ext. signals

EventReceiver

EventReceiver

EventReceiver

Event Stream

Timing IOC

• local delays• programmable pulses• on/off signals• real-time data

Ref. clock master osc.

FO links

50Hz mains

8 bit data 8 bit event 8 bit signals 8 bit event

Page 4: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Sources of Real-Time Data

■ Master timing IOC: real-time■ Other IOC: network latency but synchronous■ Upstream via timing system: real-time

Event

Generator

EventReceiver Event

Receiver EventReceiver

EventReceiver

EventReceiver

Timing IOC

IOC2

FO links

IOC3

IOC4

IOCn

Network

EventReceiver

IOC1

Fan out

Page 5: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Driver Software

■ Real-time data is seen as buffer of 2048 bytes►Variables can be mapped to offsets►Event generator and receivers have to agree on mapping►Send buffer on write or on trigger► Interrupt on buffer receive

■ Configuration in startup scriptmrfDBuffConfigure ("device", cardno, eg)

■ Still some work to do►Endian issues►Scheduling

Page 6: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Device Support

■ Generic device support for blocks of registers►Originally designed for S7 PLC communication over ethernet►Supports all standard i/o record types and data types►Process input records "I/O Intr" (with high priority)

■ Examplerecord (ai, "($NAME)") {

field (DTYP, "regDev")field (INP, "@evr/16 T=FLOAT")field (SCAN, "I/O Intr")field (PRIO, "HIGH")field (PREC, "6"

}

device name

offset in bytesdata type

Page 7: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Example Real-Time Data

■ Bunch train counter►32 bit int ►double (52 bit mantissa)►3 day test shows 100% reliability

■ Other beam parameters►bunch train length, energy, …

■ With upstream data: measured parameters► intensity, position, …

overflow in 16 months (at 100 Hz)good for 1.4 million years

Page 8: Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)

Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009

Real-Time Data TransferReal-Time Data Transfer

Application Synchronization

(e.g. synchronous camera and current monitor trigger)1.Application sends code to timing master2.Event system distributes application code3.IOCs arm devices depending on code4.Devices acquire data synchronously

Exp. 2

Exp. 3

Exp. 4

Exp. 1

dev. 1

dev. 2

dev. 3

dev. 4

Beam source