Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.eso.org/projects/www.eso.org.projects.ngc/General/16072008-jstegmei.pdf
Дата изменения: Mon Jul 21 00:19:18 2008
Дата индексирования: Sun Apr 10 23:43:39 2016
Кодировка:

Поисковые слова: упъчеъдйе меведс
ESO New General detector Controller (NGC) (NGC)
Base Software And Infrared Detector Control Software
16/08/2008 J. Stegmeier


Detector 4 - ADC ADC Detector [N] - ADC ADC Down Up AQ Clock/Bias Driver Sequencer Down FEB Up NGC LLCU (Linux)

[N] - ADC ADC 23 Detector Detector Detector Detector Detector Detector

Up NGC LLCU (Linux)

Up [N] - ADC ADC Down 2 3 [N] - ADC Up Down 2 3 [N] - ADC Up ADC Down 2 3 [N] - ADC Up ADC Down 23 Up [N] - ADC ADC Down Down AQ


IWS (Linux/ HP) Instrument LAN Fast Ethernet/ Gigabit-Ethernet -Ethernet

NGC LLCU (Linux)

...

NGC LLCU (Linux)

With the current Linux-PC model current Linux we can achieve 200 Mbytes/s sustained input data-rate with co-adding data-rate co-adding (double correlated read-out) ad-out)


IWS Config.-Files
Command/ Reply

GUI

Error-System Database Log-System FITS-Files Control Server Server RTD

Driver-Interface-Process

Acquisition Process (Pre-Processing, Sorting,...)

Device Driver Data Commands

NGC LLCU

PCI-Bus Interface

Fiber-Optic-Link to NGC Front End


Software Hierarchy
Base Software re
SetVoltage() GetVoltage() SetClockPattern() GetClockPattern() StartSequencer() StopSequencer() Enable/DisableADC() GetStatus() ...

OPT/IR Software

open() close() read() write() ioctl()

Reset()/Initialize() SetTimeout() ReadBuffer(address, buffer, size, ...) WriteBuffer(address, buffer, size, ...)

Graphical User Interface & RTD

SingleDmaRead(buffer, size,...) size ConfigureSustainedDma() StartSustainedDma() WaitForData() AbortSustainedDma() GetDmaStatus() ...

CaptureData() ProcessData() TransferData() ...

StartAcquisition() StopAcquisition() RequestImage() ReceiveImage() ...

ReadConfigFile() SetReadoutMode() SetupExposure() StartExposure() AbortExposure() CreateFitsFile() UpdateDatabase() DisplayImage() ...

Driver Level

Driver Interface Level

Acquisition it Process

Controller ll Interface Level

Control Server Level


Software Modules
dicNGC ngcdrv ngcb ngcpp ngcdcs ngcgui ngcrtd
Dictionary (both OPT/IR) Dictionary Device Driver Device Driver Interface and Basic Routines Basic Pre-Processing Pre-Processing Control Software & Server Control
Base SW

- Engineering & IR GUI Engineering - Engineering & IR Real-Time Display Engineering Real-Time

IR SW + Opt. SW (engineering)

ngciracq - IR Acquisition Processes IR ngcircon - IR Control SW & Server IR ngclcu - NGC-LCU Interface SW (IR, for VLTI) Interface
205726 lines of code

IR SW

The modules will be part of the VLTSW Releases. All modules contain Test Procedures for TAT (automated testing).


Driver and Interface
Device Driver for Linux kernels 2.4 and 2.6 (software module "ngcdrv "). One channel for System Control (COM) and one channel for sustained DMA data transfer. Driver Interface Libraries hide changes in the HWHWcommunication protocol and changes in the operating system (LINUX kernel) and make the SW transparent to the next SW layer. They are part of the NGC Base Software, which also contains some other functionality also contains some other (such as a transparent threads interface, priority control, etc.) and a Simulator for the NGC HW (software module "ngcb ").


Acquisiton Processes
The pre-processing framework for the multi-threaded pre-processing multi-threaded Acquisition Process has been taken over from IRACE (software module "ngcpp "). Currently this is required mainly for the data prepreprocessing in IR applications. Template Processes have been developed, which are an easy-to-use and stand-alone tool to visualize NGC rawand tool data on the RTD. The acquisition processes for the ESO Standard IR Detectors (HAWAII 1Kx1K, HAWAII2-RG 2Kx2K, ...) are HAWAII2-RG assembled in a separate software module ("ngciracq "). Special setups (e.g. mosaics) for specific instruments may require special software modules ("xxacq ").


NGC Real Time Display ("ngcrtd ")


Controller Interface
The controller interface provides Modular Objects for Sequencer-, CLDC- and ADC-Control, for interfacing to -, and the Acquisition Process and for the Asynchronous Data Reception (software module "ngcdcs"). These objects can be assembled in the Control Server in an arbitrary way to reflect all functionality of any NGC way functionality of any hardware configuration (i.e. Multiple Instances of Sequencer-, CLDC-, ADC-modules Sequencer-, CLDC-, ADC-modules and any number of Acquisition Processes). The module configuration is done through a System Configuration File. The control server can be used as NGC-HW Control SubNGC-HW SubSystem of the NGCOSW. That is the maximum degree of That is the degree of communality as the same compiled and linked object is used by both applications to access the HW. It can be configured at Run-Time for the one or the other Runpurpose.


Configuration Files
The detector voltages are defined in a Voltage Configuration File in Short-FITS format (xxx.v). Short-FITS The voltage configuration files can be loaded to any files can CLDC instance in the system. The Clock-Patterns can be defined both in ASCII-Format Clock-Patterns ASCII-Format (xxx.clk, IRACE-styl ) and in a new Binary Format le (xxx.bclk, output of the Graphical Editing Tool BlueWave). The formats can be converted automatically. Synchronization with external events (e.g. trigger) can be done after any state in any clock-pattern. clock-pattern. A new Sequencer Programming Language has been new been defined to make maximum use of the new HW capabilities (all code is executed at the same speed-level speed-level within the firmware). File extension is "xxx.seq". firmware) is Multiple Sequencer Instances within one system are supported.


Sequencer Programs
The sequencer programs are fully driven by Setup Parameters (e.g. DET.DIT, DET.NDIT, window parameters, ...). Support of Arithmetic Expression Evaluation (TCL(TCLsyntax) to derive any program-loop parameter from the ram-loo setup parameters and to compute attributes like exposure time estimations and minimum DIT. Support of Sub-Routines and Include-Files to minimize the code length. The program complexity can be scaled:
Simply do not "USE" any setup parameter. Simply omit the "SCRIPT" part for arithmetic expression evaluation.


Infrared Setup
The data-taking is defined through "Read-Out Modes": data-taking Read-Out
Read-out modes are defined by the Sequencer Program(s) modes Program(s) running on the sequencer module(s) and by the corresponding Acquisiton Process(es) to be launched. Process(es) Read-out Read-out modes are selected by Name or a Unique ID (a Default Mode can be given).

Window Read-Out is done by evaluating the window parameters within the sequencer program. The read-out modes and the voltage- and clock-patternread modes the clock configuration files to be loaded when going ON-LINE are ON-LINE defined in a Detector Configuration File. This also defines the detector parameters (size, type, name, mosaic arrangement, ...).


Infrared "Exposures"
Sustained Detector Read-Out and Video Display on the Read-Out RTD (display remains active during the "Exposure"). User-definable Frame-Types User-definable Frame-Types (DIT, STDEV, HCYCLE, intermediate results...). The types can be selected to be generated and/or stored during an "exposure". Exposure Break-Conditions can be set per "per frameBreak-Conditions frametype". Individual SW-Windows per frame-type. SW-Windows frame-type. Sustained Data-Transfer between NGC-LLCU and IWS for Data and for application specific Post-Processing (slow control loops, Post-Processing e.g. secondary auto-guiding). auto-guiding). Burst-Mode Burst-Mode for fast raw data acquisition.


Graphical User Interface ("ngcgui ")


PMC Interface (for VLTI)
PCI-Bus Interface 64 Bit/33 Mhz UpStream

FIFO (Video Data)

Link Manager

DownStream

Commands & Replies

Video-Data


VLTI-System VLTI-System
LCU MVME6100 (VxWorks) PCI Interface NGC LLCU (Linux)

PMC Interface

NGC Detector Front-End


NGC-LCU NGC-LCU Interface Software
Software module "ngclcu". VxWorks Device Driver for the NGC PMC Interface card. Device Sustained DMA (64 Bit / 33 MHz, 128 MPixels/s) MPixels/s) Data Capture Library Possibility to install a User-Defined Interrupt Service User-Defined Routine (to minimize the latency). Latency: min. 4 µs, max. 6 µs depending on the configurable DMA-Blocksize (32 ­ 512 Bytes). DMA-Blocksize (32 Maintenance & Test Tools Remote access from NGC-LLCU to board registers NGC-LLCU Visualize data on RTD data on RTD Check data integrity


Preview
Integration into VLTSW-Release. VLTSW-Release New Detectors (Aquarius). Control SW for Sidecar ASIC. General procedure for Multiple Window Read-Out. Read-Out Handling of the Guide-Window for the HAWAII2-RG of the the array (parallel exposures). Acquisition processes for AO-Applications. processes for


Documentation
VLT-MAN-ESO-13660-4510 VLT-MAN-ESO-13660-4510 VLT-MAN-ESO-13660-4085 VLT-MAN-ESO-13660-4086 VLT-MAN-ESO-13660-4086 VLT-MAN-ESO-13660-4560 VLT-MAN-ESO-13660-4560 VLT-LIS-ESO-13660-3907 VLT-LIS-ESO-13660-3908 VLT-LIS-ESO-13660-3908 NGC - User Manual User NGC Infrared DCS - User Manual DCS NGC Optical DCS - User Manual User NGC-LCU Interface SW ­ User Manual NGC-LCU User NGC Project Glossary Glossary NGC Project Acronyms