dirk zimoch, epics collaboration meeting, vancouver 2009 real-time data transfer using the timing...
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/1.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/2.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/3.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/4.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/5.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/6.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/7.jpg)
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)](https://reader035.vdocuments.net/reader035/viewer/2022072005/56649cdb5503460f949a5b2e/html5/thumbnails/8.jpg)
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