TBPM Front-End Software Design Review L.Piccoli April 20 2004.

13
TBPM Front-End Software Design Review L.Piccoli April 20 2004

description

Data Acquisition Task Trigger Queue Trigger Data Source (EchoTek or buffer) MOOC/Backdoor Control Queue Alarm Queue Alarm Task Request Queue 2ms, 1sec TCLK State Devices TCLK State Devices Spawn Suspend Resume Delete Data Control request Triggers Status Alarm/Clear Alarm Trigger Data Data request Mode change Control request Data request Alarm Buffer Readout Task Data Buffer Control Task Queue Task SW or HW Buffer

Transcript of TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Page 1: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

TBPM Front-End Software Design Review

L.PiccoliApril 20 2004

Page 2: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Contents• Generic Framework Diagram

– Control Task– Data Acquisition Tasks– Data Buffers and Data Sources– Buffer Readout– Alarms– Triggers– ACNET

• Tevatron BPM Diagram• Class Diagram

Page 3: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

DataAcquisition

Task

Trigger Queue

Trigger

Data Source(EchoTek or buffer)

MOOC/Backdoor

Control Queue

Alarm Queue

AlarmTask

Request Queue

2ms, 1sec

TCLKState Devices

TCLKState Devices

SpawnSuspendResumeDelete

Data

Data

Data

Control requestTriggers Status

Alarm/Clear

Alarm

Alarm

Trigger

Data

Data request

Mode changeControl request

Data requestAlarm

BufferReadout

Task

Data Buffer

ControlTask

Queue

TaskSW or HW Buffer

Page 4: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Control Task• Receive external commands

(from MOOC)– Mode change, set diagnostics,

calibration• Control data acquisition tasks

– Start, stop, pause and resume• Receive state device changes

and TCLKS• Configure EchoTek and timing

board on mode changes

TCLKState Devices

SpawnSuspendResumeDelete

Control requestTriggers Status

Alarm/Clear

ControlTask

Page 5: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Data Acquisition Tasks• Receive commands and triggers

through input queue• When a trigger is received:

– Get data from a Data Source– Store data into a Data Buffer

• A Data Source can be either Hardware or an internal Data Buffer

DataAcquisition

Task

Trigger Queue

SpawnSuspendResumeDelete

Data

Data

Alarm

Trigger

Page 6: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Buffers• Data Source

– Define operations for retrieving data• Data Buffer

– Provide interface for storing data in the front-end memory

• Data Buffer is a Data Source– Reading hardware or an internal buffer

should be transparent for the Data Acquisition Tasks

Page 7: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Buffer Readout• Handled by Buffer Readout Tasks

– Number of tasks settable• Request comes through the

MOOC callback, which makes a request to the Buffer Readout Task

• Task selects buffer based on the request

• Data is packed according to online specifications (doc #860)

Request Queue

Data

Data

Data request

BufferReadout

Task

Data Buffer

Page 8: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Alarms• Any task can generate alarms

within the system• Internal alarms are handled by an

Alarm Task– Input alarm queue

• Alarm Task decides what internal alarms or combination of alarms trigger an external alarm

• Control Task or user command can clear alarm conditions

Alarm Queue

AlarmTask

Alarm

InternalAlarms

Page 9: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Triggers• Created by Trigger Generators• Type of triggers:

– TCLKs– State Device Changes– Time events (2 ms, 1 sec)

• Triggers are sent to the input queues of the Data Acquisition Tasks– Tasks are in a loop doing data acquisition

and waiting for triggers

Trigger

2ms, 1sec

TCLKState Devices

Page 10: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

ACNET• ACNET communication is handled by a

set of callbacks, providing:– Standard communication with the system– Reduced number of entry points– Support other communication mechanisms

besides ACNET (e.g. backdoor)

Page 11: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Trigger Queue

Trigger Queue

Trigger Queue

Trigger Queue

Trigger Queue

Trigger Queue

Trigger Queue

BPMSlow Abort

Task

BPMFast Abort

TaskTrigger

MOOC/Backdoor

Control Queue

Alarm Queue

AlarmTask

Request Queue

TCLKState Devices

SuspendResume

Status

Alarm/Clear

Alarm

Data

Data request

Mode changeControl request

Data request

Alarm

BufferReadout

Task

2ms

Trigger 1sec

ControlTask

Alarm

Trigger

Turn byTurnTask

BPMProfileTask

BPMDisplay

Task

InjectionTurnByTurn

Task

BLMFast Abort

Task

BLMDisplay

Task

1sec

Injection Turn by Turn Buffer

BPM Fast Abort Buffer

EchoTek

BPM Slow Abort Buffer

Turn by Turn Buffer

EchoTek

BPM Fast Abort Buffer

BPM Profile Buffer

BPM Fast Abort Buffer

BPM Display Buffer

BLM

BLM Fast Abort Buffer

BLM Display Buffer

EchoTek

Trigger Queue

Trigger

Timing

Calibration

QueueTaskHardware

Data Buffer

Data Source & Buffer

Alarm State

Page 12: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Software Portability• Generic framework allows reusability of:

– Data acquisition model– Data buffer model– Control model– Event model– Alarm system

• Only classes that contain code for the new environment need to be written:– Define control operations (mode change, hardware

configuration)– Define data types and structures– Hardware access classes– Specific data acquisition routines– Alarm conditions

Page 13: TBPM Front-End Software Design Review L.Piccoli April 20 2004.

Class Diagram