TBPM Front-End Software Design Review L.Piccoli April 20 2004.
-
Upload
jeffry-warren -
Category
Documents
-
view
216 -
download
0
description
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/1.jpg)
TBPM Front-End Software Design Review
L.PiccoliApril 20 2004
![Page 2: TBPM Front-End Software Design Review L.Piccoli April 20 2004.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022082601/5a4d1b637f8b9ab0599ae6be/html5/thumbnails/13.jpg)
Class Diagram