CODA Online Data Formats

Similar documents
Using the FADC250 Module (V1C - 5/5/14)

Version 1.1 JEFFERSON LAB. Data Acquisition Group. JEventViewer User s Guide

ADC ACQUISITION MODE...

IF96017 MODBUS COMMUNICATION PROTOCOL

Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification

COMMUNICATION MODBUS PROTOCOL

COMMUNICATION M-BUS PROTOCOL CE4DMID0M (MBus meter)

CSCI 2212: Intermediate Programming / C Chapter 15

LORD MANUAL. Wireless Sensor Networks LXRS Data Communications Protocol

Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

Reference Waveform File Format

COMMUNICATION M-BUS PROTOCOL PR 118

CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

CONTO IMP PROTOCOL COMMUNICATION CONTENTS 1.0 INTRODUCTION

COMMUNICATION MODBUS PROTOCOL MF96001 / 021 NEMO 96HD

Serial Boot Loader For CC2538 SoC

Performance Oscilloscope Reference Waveform File Format

Venstar Thermostat Adapter

The Ensoniq EPS/EPS16+/ASR-10 Bank Format

Version Action Author Date

COMMUNICATION MODBUS PROTOCOL

CSE351: Memory, Data, & Addressing I

COMMUNICATION MODBUS PROTOCOL

Developer Notes INSTEON Thermostat v012. Developer Notes. INSTEON Thermostat. Revision History

Simple idea 1: load-time linking. Our main questions. Some terminology. Simple idea 2: base + bound register. Protection mechanics.

ETH. Ethernet MAC with Timestamp Extension. TCD30xx User Guide. Revision July 17, 2015

AN-799 APPLICATION NOTE

Micrel KSZ8852HL Step-by-Step Programmer s Guide

FADC250 User s Manual

Russound Controllers. RNET Protocol & Specifications RS-232 Communication. Document version

Wireless Sensor Networks. Data Communications Protocol

IP-48DAC channel 16-bit Digital/Analog Converter With memory Industry Pack Module PROGRAMMING MANUAL Version 1.

ZLAN-026 ZL50400/02/04/05/07/08/09/10/11 Processor Interface

Memory, Data, & Addressing I

ATM-DB Firmware Specification E. Hazen Updated January 4, 2007

PLENA matrix API Table of contents en 3

Quick Talking to ControlLogix (PCCC-style)

Sample F4T 32-bit Modbus RTU Packet

COMMUNICATION MODBUS PROTOCOL

FT Cal and FT Hodo DAQ and Trigger

Using the USB and Serial Interfaces

Topic 3. ARM Cortex M3(i) Memory Management and Access. Department of Electronics Academic Year 14/15. (ver )

AFRecorder 4800R Serial Port Programming Interface Description For Software Version 9.5 (Last Revision )

Peripheral Sensor Interface for Automotive Applications

TECH TIP. Tritex Modbus Protocol Specification

Virtual Memory 1. Virtual Memory

B Interface description 12.01/

Error Detection/Correction Policy

SVT DAQ Raw Data Format

Survey. Motivation 29.5 / 40 class is required

EE 332 Real Time Systems Midterm Examination Solution Friday February 13, :30 pm to 4:30 pm

Technical Documentation 0630

SKYEWARE PROTOCOL V3 REFERENCE GUIDE VERSION

IP-AD Channel 500 khz Simultaneous IndustryPack Module REFERENCE MANUAL Version 1.4 June 2003

Generic Timer Module (GTM) Inter- Integrated Circuit (I2C) Bus Emulation

SIS xx Firmware - Gamma. User Manual

The task of writing device drivers to facilitate booting of the DSP via these interfaces is with the user.

The FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System

Solutions - Homework 2 (Due date: October 4 5:30 pm) Presentation and clarity are very important! Show your procedure!

POWERKEY PRO & POWERKEY

Russound Dual Tuners (ST2, ST2-XM, ST2-XM2, and ST2S)

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS

INGICS. ibs01 Payload Format. Jul, 2016 rev. 3

bytes per disk block (a block is usually called sector in the disk drive literature), sectors in each track, read/write heads, and cylinders (tracks).

Content. Information Coding. Where are we? Where are we? Bit vectors (aka Words )

AN-881 APPLICATION NOTE

VME64x Slave Interface IP Core Specifications. Author: Paolo Musico

SIS Firmware - Gamma. Addendum to User Manual V1408

On Control SUSA v1.1 MODBUS Functions

Version. Table of Contents

Fingerprint_Protocol_All_English

Tag Interface. 1. Introduction. 2. Control Modes. Olufemi Omojola, Rich Fletcher Physics and Media Group MIT Media Lab, January 2000

The MMDVM Specification ( )

Protocol VIT5. Communications RS485. Version 1.0. Pg.Up ENTER. Pg.Up ENTER. Pg.Up ENTER. Pg.Up ENTER. Pg.Up ENTER. Pg.Up ENTER. Pg.Up ENTER. Pg.

imetos LoRa Data payload structure

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 CONTENTS

Virtual Memory 1. Virtual Memory

This simulated machine consists of four registers that will be represented in your software with four global variables.

CLOCKAUDIO. MR88 Automatic Microphone Mixer RS232 Programming Version 4.2

Final Exam. 11 May 2018, 120 minutes, 26 questions, 100 points

TSB Software Reference Manual

Conto D1 MODBUS COMMUNICATION PROTOCOL

Hardware: Logical View

SPEAD Recommended Practice

CS61, Fall 2012 Midterm Review Section

Navico (Lowrance, Simrad, B&G) Sonar Log File Format

EM133 Multifunction Meter

We would like to find the value of the right-hand side of this equation. We know that

TPMC Channel Serial Interface RS232/RS422. Version 1.0. User Manual. Issue August 2014

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 3 Art. no.:

labmanual Open Communication

Up to three (3) RIO-RS232 modules may be attached to one RIO-PBA Profibus adapter.

Read section 8 of this document for detailed instructions on how to use this interface spec with LibUSB For OSX

2G Actuator Communications Protocol Document Rotary & Linear Actuators

CPS 104 Computer Organization and Programming

Preface, Table of Contents

Draft AVBTP over IEEE 802.3

Version 1.5 8/10/2010

[MS-FSSHTTPD]: Binary Data Format for File Synchronization via SOAP. Intellectual Property Rights Notice for Open Specifications Documentation

Planar Simplicity Series

Transcription:

CODA Online Data Formats

Evio Header Formats Bank : 32 bits MSB (31) LSB (0) Length (32 bit words, exclusive) Tag (16 bits) (2) Type (6) Num (8) Segment : Padding Tag (8 bits) (2) Type (6) Length (16) Number of unused bytes at end of following data if not a multiple of 32 bits. For shorts, it is 0 or 2. For chars (not strings), it is 0, 1, 2, or 3 Padding Tag Segment : Tag (12 bits) Type (4) Length (16)

Evio Content Type Codes Content Type 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x20 0x21 0x22 Primitive Data Type 32 bit unknown (not swapped) 32 bit unsigned int 32 bit float 8 bit char* (string) 16 bit signed int 16 bit unsigned int 8 bit signed int 8 bit unsigned int 64 bit double 64 bit signed int 64 bit unsigned int 32 bit signed int Tag Segment Segment Bank Composite Bank Segment Hollerit (only used internally for Composite data) N value (only used internally for Composite data)

Key to Reading Data Layouts Increasing Memory, BIG endian Increasing Memory, LITTLE endian MSB (31) LSB(0) Increasing Memory 8 bits 16 bits Item 1 Item 2 1, 32-bit item 1, 64-bit item: If big endian, Lower memory has most significant 32 bits. Opposite for little endian. item3 Evio container of type bank, segment, or tagsegment Additional, unnamed items of type immediately above item4

Header Record ID Bank Old Data Transport Record (not used) Record Length T Source ID 0x10 RID 2 0X0F00 0x01 PBs Record ID (counter) Number of following 32-bit words in evio bank. 4-bit type of event in payload ( ROC Raw = 1, Physics = 2, User = 3, etc.) Unique source of this record Bank of banks T Source ID 0x10 RID Lowest 8 bits of Record ID Payload Bank 0X0F00 0x01 PBs Payload Banks Payload Bank Bank type = Record ID Bank of ints Number of payload banks Payload Bank Data Transport Records are used when sending all types of online CODA data over the network. Number that, in combination with the Source ID, uniquely identifies this record. It is a counter incremented by the source. Reset to 0 at prestart. Only used for ROC Raw and Physics payloads. Value = -1 for user or control events. Each payload bank can be a Physics Event, ROC Raw Record, Run Control Event, or some kind of user event.

Network Transfer (Evio Output) Format Evio Block Header Payload Banks Block Length Block Number Header Length = 8 Event Count Reserved 1 Bit Info Version Reserved 2 Magic Number Payload Bank Payload Bank Payload Bank Number of 32-bit words in evio block, inclusive. Normally order of block in the file/network transfer & starts at 1. If sent by ROC, = -1 if payload banks not being built, else record id. Length of block header in 32-bit words. Number of evio events (payload banks) in block, not including dictionary. If content type is being built (eg ROC Raw), = source CODA id, else reserved. Version: lowest 8 bits (Bits 0-7). Bit Info: Bit 8 = has dictionary, Bit 9 = is last block, Bits 10-13 = payload bank type (ROC Raw = 0, Physics = 1, PartialPhysics = 2, Disentangled = 3, User = 4, Control = 5, Other = 15). Bit 14 = has first event (in every split file) is first USER type event in this block NOTE: User events from ROC are typed as ROC Raw (EB handles this). Reserved. Magic Number (0xc0da0100) for endianness tracking. Format used when sending all types of online CODA data over the network. They are in standard evio buffer/file output format with block headers. Each payload bank can be a Physics Event, ROC Raw Record, Control Event, or User event. Note: there may be a block header between any 2 payload banks.

Header Control Event Control Event Length = 4 Event Type 0x01 0 time A B Bank of uints Event Type 0x01 0 16 bit Control event type: 0xFFD0, Sync 0xFFD1, Prestart 0xFFD2, Go 0xFFD3, Pause 0xFFD4, End Event Type A B Sync # events since last sync # events in run Prestart run number run type Go (reserved) # events in run so far Pause (reserved) # events in run so far End (reserved) # events in run so far

Header ROC Raw Data Record Record Length S ROC ID 0x10 M Trigger Bank Length 0xFF1X 0x20 M 12 bit ROC ID (0-255) Bank of banks S ROC ID 0x10 M BE ER SY 4 bit Status Number of events. If = 0, indicates a User event from ROC. ID 1 0x01 ID Len 1 Event Number 1 Timestamp1 (31 0) Trigger Bank Timestamp1 (47 32) Misc. 1 (?) 0xFF1X 0x20 M (One segment for each event) ID M 0x01 ID Len M Bank type = 0XFF10 if no timestamps, see following chart Bank of segments Number of events Data Banks Event Number M Timestamp M Misc. M (?) Data Block Bank 1 Data Block Bank Last ID M 0x01 ID Len M Event ID or Trigger Type Segment of 32 bit ints Length of segment Low 32 bits of event number used for building, starting at 1 (EB uses 64-bit value). 48-bit (max) timestamp for building is written as 2, 32-bit ints (low 32 first, high 16 last regardless of endian). Ts & misc. data are optional, but events from a particular run must have same type and number of data. Each data block has M events. There are multiple blocks only if multiple DMAs used in data collection. See Data Block Bank diagram.

TRIGGER BANK TAGS Tag Value 0xFF10 0xFF11 0xFF20 0xFF21 0xFF22 0xFF23 0xFF24 0xFF25 0xFF26 0xFF27 Purpose Raw trigger, no timestamps Raw trigger, w/ timestamps Built trigger, no timestamps, no run # & run type, includes run specific data Built trigger, w/ timestamps, but no run # & run type, includes run specific data Built trigger w/ run # & run type, but no timestamps, includes run specific data Built trigger with timestamps and run # & run type, includes run specific data Built trigger, no timestamps, no run # & run type, no run specific data Built trigger, w/ timestamps, but no run # & run type, no run specific data Built trigger w/ run # & run type, but no timestamps, no run specific data Built trigger with timestamps and run # & run type, no run specific data

Partially-Built Physics Event (Data Concentrator Output) 12 bit Event Builder ID Bank of banks Number of events S EB ID 0x10 M Header Built Trigger Bank Data Banks Physics Event Length S EB ID 0x10 M Built Trigger Bank Length 0xFF2X 0x20 N 2 Common (EB) Segments ROC 1 Segment ROC N Segment Data Bank 1 BE ER SY 0xFF2X 0x20 N Bank type: see Trigger Bank Tags table Bank of segments Common or ROC Segments 4 bit Status Number of ROCs Optional: These segments will not exist if trigger data is sparsified or built in single event mode. See Trigger Bank Tags table & Built Trigger Bank diagram. Data Bank N Each data bank wraps 1 or more data blocks from a ROC. One bank for each ROC. See Data Bank diagram.

Physics Event s Built Trigger Bank Header Common Data ROC Data Built Trigger Bank Length 0XFF2X 0x20 N EB id 0xa Len First Event Number Average Timestamp 1 Average Timestamp M Run Number & Run Type EB id p 5 Len Event Type 2 Event Type 1 Event Type M Event Type M-1 roc1 id 0x01 Len Timestamp for event 1 Misc. for event 1 Timestamp for event M Misc. for event M (one for each ROC, to ROC N) ID of EB that built this bank EB id 0xa Len ID of EB that built this bank (8bits) EB id p 5 Len Array containing type (trigger ID) of each event. ROC ID Segment of ints Len of segment roc id 0x01 Len Segment of 64 bit uints Len of segment 64 bit number of first event in physics bank. Optional: Timestamps. If checking consistency, the avg. timestamp of all ROCs for each. Optional: run # in high 32 bits. Run type in low 32 bits. Padding (2bits) Segment of unsigned shorts (6 bits) Len of seg Optional: ROC specific metadata starting with timestamp (low 32 first). If sparsify config flag set, and no metadata exists, or if built in single event mode, there is no segment.

Header Built Trigger Bank Physics Event Physics Event Length 0xFFXX 0x10 M Built Trigger Bank Length 0xFF2X 0x20 N 2 Common (EB) Segments ROC 1 Segment 12 bit Event Builder ID: see Physics Event Tags table Bank type: see Trigger Bank Tags table Bank of banks 0xFFXX 0x10 M 0xFF2X 0x20 N Bank of segments Number of events Number of ROCs Data Banks ROC N Segment Data Bank 1 for ROC 1 Common or ROC Segments Optional: These segments will not exist if trigger data is sparsified or built in single event mode. See Trigger Bank Tags table & Built Trigger Bank diagram. Data Bank N for ROC N Each data bank wraps 1 or more data blocks from a ROC. One bank for each ROC. See Data Bank diagram.

CONTROL EVENT TAGS CODA RESERVED BANK TAGS Tag Value Range 0xFF00-0xFFFF 0xFFE0-0xFFFF 0xFFD0-0xFFDF 0xFF90-0xFFCF 0xFF50-0xFF8F 0xFF10-0xFF4F 0xFF00-0xFF0F Purpose Complete range of reserved values Undetermined Control events Undetermined Physics events Trigger banks Undetermined Tag Value 0xFFD0 0xFFD1 0xFFD2 0xFFD3 0xFFD4 Control Event Sync Prestart Go Pause End PHYSICS EVENT TAGS Tag Value 0xFF50 0xFF58 0xFF70 0xFF78 PEB Event Made by PEB with sync set SEB SEB with sync set 4 th bit set indicates that the last event in the entangled block is a sync event

Physics Event s Data Bank Header Data Bank Length S ROC id 0x10 M Data Block Bank 1 4 bit status Bank of banks 12 bit ROC ID Number of events S ROC id 0x10 M (Same 2 nd header word as used in ROC Raw Record.) Data Block Bank Last See Data Block Bank diagram. Data blocks from a single ROC are wrapped in this data bank. There should be at least one data block and there may be more if more than one DMA is used in acquiring data for this ROC. If more than one block, each contains a fragment for every one of the M events and from unique modules. In addition, the last block may have data associated only with the last event (such as scalar data).

Header Data Block Bank Data Block Bank Length S D 0x01 E Starting Event Number 4 bit status Bank of ints 12 bit Description S D 0x01 E If single event mode, E = event type else, E = number of events Timestamp Raw Data SE BE ER SY detector ID 12 bit detector ID Raw data may be an int array or it may contain evio bank structures. Low 32 bits Contains raw data from a single ROC containing one or more events. If this block is the last in a data bank, and there are multiple events, and E = 1, then this data is associated only with the last event (e.g. scalar readout).

16-bit EVIO CODA-Format Tag S ID 4 bits which can be: Status bits for ROC Raw Records, partially built Physics Events, and Data Banks: a) 4 th (MSB) Unused (previously single event mode) b) 3 rd Big endian data (data is unswapped ) c) 2 nd - Error d) 1 st (LSB) Sync 12 bits of identification which have: 1) ROC ID for ROC Raw Records and Data Banks 2) EB ID for partially built Physics Events 16 bits of identification which are: 0xFF00 0xFFFF in physics event and trigger bank tags. Refer to table.

Disentangling Built Physics Event

Physics Event Data Bank Data Block Bank ROC 1 Raw Data (FADC 250) Event Length Trigger Bank Bank Length Data Block Bank 1 Block Len Start Ev Num Raw Data M Block Header Event Header 1 Raw Data 1 Event Header M Raw Data M Module 1 Block Trailer ROC 1 Data Bank ROC N Data Bank Data Block Bank Last Last block may have data associated only with last event. One data block for each DMA in a single ROC. Each block must read out unique modules and in the same manner. In single event mode, only one block exists. Entangled Data Format Block Header Event Header 1 Raw Data 1 Event Header M Raw Data M Block Trailer Module K

ROC 1 Raw Data ROC 2 Raw Data Event 1 Raw Data Block Header Block Header Event Header 1 Event Header 1 Raw Data 1 Raw Data 1 Event Header M Event Header M Raw Data M Raw Data M Block Trailer Block Trailer Block Header Block Header Event Header 1 Event Header 1 Raw Data 1 Raw Data 1 Event Header M Event Header M Raw Data M Raw Data M Block Trailer Block Trailer Module 1 Module 2 Data block bank 1 Block Header Event Header 1 Raw Data 1 Event Header M Raw Data M Block Trailer Block Header Event Header 1 Raw Data 1 Event Header M Raw Data M Block Trailer ROC 1 Bank Header Module 1 Event Header Raw Data Module 2 Event Header Raw data Module J Event Header Raw Data Module K Event Header Raw Data ROC 2 Bank Header Module 1 Event Header Raw Data Module 2 Event Header Raw data ROC 1 ROC 2 Data block bank 2 Entangled To Disentangled FADC 250 Raw Data

Disentangled Physics Event Header Physics Event Length S N 0x10 M Number of ROCs Bank of banks Number of events S N 0x10 M Event 1 Data Bank SE R ER SY 4 bit Status Data Banks Event M Data Bank Each data bank wraps raw data from all ROCs. See Single Event Data Bank diagram.

Single Event (Disentangled) Data Bank Header ROC 1 ROC N Data Block Bank Length S 0xFF30 0x10 N ROC 1 Bank Length 0 6 0x01 KK (one for each ROC) ROC N Bank Length 1 6 0x01 K Event Number (63-32) Event Number (31 0) Timestamp (47 32) Timestamp (31 0) Event Type (15 0) Run Number Module 1 Event Header Raw Data Module K Event Header Raw Data Non-Module Event Header Raw Data 4 bit status Disentangled Data Bank Bank of banks S 0xFF30 0x10 N SE R ER SY 1 in high bit if have non-module data 4 bit Status Bank of ints 1 6 0x01 K Number of words before module data 64 bit event #, 48 bit mean timestamp, 16 bit event type and 32 bit run number of this event. Some Rocs, on the last event of a block of events, may have non-module data (e.g. scalar data). # ROCs Number of modules

0 block header 1 block trailer 2 event header 3 trigger time 4 window raw data 5 window sum 6 pulse raw data FADC 250 Data Type Values 7 pulse integral 8 pulse time 9 streaming raw data 10 12 user defined 13 event trailer (debug only) 14 data not valid (empty module) 15 filler (non-data) word Block Header Word Format Bits Value Comment 31 1 This is a type defining word 30 27 0 Data type = block header 26 22 Slot ID Set by VME64 backplane 21 14 Event # Number of events in block 13 12 Module Type 0=FADC250, etc. 11 0 Event block # Used to align block when building events General Data Word Format 31 st bit Bits Usage 1 30-27 4-bit data type (see chart) 1 26-0 Data type dependent data payload 0 3 0-0 Data payload using last defined data type Block Trailer Word Format Bits Value Comment 31 1 This is a type defining word 30 27 1 Data type = block trailer 26 22 Slot ID Set by VME64 backplane 21 0 Total # of words in block of events Number of 32 bit words in block Event Header Word Format Bits Value Comment 31 1 This is a type defining word 30 27 2 Data type = event header 26 22 Slot ID Set by VME64 backplane 21 20 Module type 0=FADC250, etc. 19 0 Trigger number ADC processing chip #