CTIO
Published on CTIO (http://www.ctio.noao.edu/noao)

CTIO Home > MONSOON Image Acquisition System > Technical Documents > Torrent Technical Documents > Torrent Software

Torrent Software

MONSOON/Torrent Software Setup Guide
MNSN-AD-08-0005 MONSOON Software Setup Guide [1] Rev 2.1

Torrent Software Description
TRNT-AD-08-0001 Torrent Software System Description [2] Rev 0

Acquisition Software Client
TRNT-AD-08-0002 borg and mborg clients [3] Rev 0

System Configuration Tools
TRNT-AD-08-0006 Software User Manual [4] Rev 0

Attribute Extraction Tool
TRNT-AD-08-0003 Assimilate [5] Rev 1.2

Attribute Collector Tool
TRNT-AD-08-0004 Collector [6] Rev 1.1

Torrent Sequencer description
TRNT-AD-08-0012 Torrent Sequencer Description [7] Rev 0

Sequencer Assembler
Torrent assembler [8] Rev 6.0

Calibration eeprom format information

Calibration EEPROM Description

The calibration EEPROMs for Torrent systems are contained on each of the component electronics boards. A fully populated Torrent system will have five Calibration EEPROMs, four in the Controller box and one in the TSM box. There is one EEPROM on the LCB, one on the PSM and one on each of the AFE boards.

These EEPROMs are currents arranged as 128 pages of 16 words each 32 bits wide. Pages 0 and 1 are ID pages that contain information to identify and help verify the data stored in the EEPROM.

Data stored in the EEPROMS is all integer values. Where a floating point value is desired we store the value as int( value * 1000 ) This limits the range of values that can be stored to -2,147,483.000 to 2,147,483.000. We could not think of any requirement that required a greater range

A copy of the data in the EEPROMs for each system is kept in a set of EEPROM Mirror Files stored in the $MONSOON_CFG/_sysName configuration directory for the system. Changing out a DHE Controller will require obtaining the correct mirror files for the new controller from the Torrent configuration database

EEPROM ID Page 0 Structure

EEPROM Page 0 Layout
Word # Word Name Board Default Value Long Name Comments
0 PSTORFORMAT ALL 0x00000001 EEPROM Storage Format The Code for the Format of the data stored in this EEPROM (1)
1 MDLIDCODE LCB 0x00000010 Module ID Code The code number assigned to the LCB boards (16)
    PSM 0x00000020   The code number assigned to the PSM boards (32)
    CCD AFE 0x00000040   The code number assigned to the CCD AFE boards (64)
    IR AFE 0x00000050   The code number assigned to the IR AFE boards (80)
    TSM Utility 0x00000030   The code number assigned to the IR AFE boards (48)
2 MDLVARCODE ALL 0x00000001 Module Variant Code The Variant ## of a board that differs from a standard board (1)
3 MDLREVNUM ALL 0x00000001 Module Release Number The release number for the module being read all still at release 1
4 MDLSERNUM ALL 0x0000xxxx Module Serial number The serial number of this board. Currently not in use
5 SYSFPGACODE ALL 0x000000CC System FPGA Code Version The FPGA code version used to write this EEPROM Currently 204
6 - 15 Not Used ALL 0x00000000 Not Used Locations Reserved

 

EEPROM ID Page 1 Structure

EEPROM Page 1 Layout
Word # Word Name Board Default Value Long Name Comments
0 MDLLASTTESTDATE ALL 20090316 Module's Last Test Date The date of the last time this board was tested (various)
1 LASTWRTDATE ALL 20110318 EEPROM Last Written Date The date of the last time this EEPROM was written (various)
2 VLDPAGECNT ALL 0x00000005 Valid Page Count The number of pages in the EEPROM that contain Valid Data (various)
3 - 11 Not Used ALL 0x00000000 Not Used Locations Reserved
12 - 15 CRC0 - CRC3 ALL 7FE163FB6 CRC code portion 0 - 3 The 128 byte representation of the MD5Sum calculated on the Data in all valid pages excepting Page 1 words 12 through 15 (various)

Setting up a System Configuration Data Set

Setting up a system configuration data set

This is a basic guide to setting up a system configuration from scratch ...

In big-boy

1. run bldMNSN

  to setup distribution directory structure

2. run assimilate -version 207 -sysName mySystemName

  -version points to the version of firmware that is in the hardware
  -sysName points to a common directory of form 
  /MNSN/soft_dev/cfg/_mySystemName/.dscFiles and
  /MNSN/soft_dev/cfg/_mySystemName/.eep
  which are used to contain the Torrent specific configuration files

3. run arrayDesc -type genericdetectorType -arrayID thisDetectorName -fpName mySystemName for as many detectors that make up the focal plane, changing the -arrayID value for each one.

  -type identifies a generic detector description
     currently available types are 
        e2v44-82
        e2v231-84
        lbnl234
        STA1042
  -arrayID is the unique identifier for this detector, usually the serial number or a positional key
  -fpName is the system configuration name

Format of attributes set by the sysName.ini file created by collector

see file big-boy:/MNSN/soft_dev/Torrent_Text/sysName.ini.tmplt

The values in the template file will be replaced by the "collector" with values read from the system TSM eeprom

Format of attributes set by the sysName_DefaultSetup.mod file created by collector

see file big-boy:/MNSN/soft_dev/Torrent_Text/sysName_DefaultSetup.mod.tmplt

The values in the template file will be replaced by the "collector" with values read from the system TSM eeprom.

Standard Definitions for Sequencer Code

User Interface, PAN Code and Sequencer Handling for Regions of Interest (ROI) readout

Reading out Regions of Interest (ROI) for CCD focal planes can be extremely complex. The inter-connection between number of outputs per detector, number and orientation of detectors and pixel binning can result in scenarios that are too complex for the simple sequencer processing available in MONSOON/Torrent systems.

Four user attributes are used to describe a region of interest. These attributes are all described by pixel positions or counts given assuming no binning is being done. The values loaded down to the sequencer are modified to take into account any requested binning values.

  • roiRow - This attribute gives the starting row of the ROI in unbinned rows
  • roiCol - This attribute gives the starting column of the ROI in unbinned pixels
  • roiRSize - this is the size of the requested ROI in unbinned rows
  • roiCsize - this is the size of the requested ROI in unbinned columns.

The following explains the restrictions on ROI definitions made to simplify ROI handling to prevent some of this complication.

  1. Only ONE ROI may defined for any single integration. - This results from a basic assumption made by the System that ROI readout is done for the purpose of reducing the time required to readout the focal plane, either to capture transient events or to reduce the signal level on bright objects.
  2. The data provided during ROI readout will be symmetric WRT the CCD output configuration. - This means that for a CCD with more than one output the amount of data may be more than requested and may include extra or ghost ROIs for other parts of the CCD.
  3. In a multi-detector focal plane, the ROI will be described by coordinates on a single CCD. - The data provided will include that ROI from all detectors in the Focal plane.
  4. In the case where a requested ROI extends past a CCD output boundary the ROI will be redefined to be symmetrical about the output boundary. - e.g. a single 2048 Column by 4096 Row detector is being read out from two outputs in the AB configuration (outputs in the lower left and lower right corners). A ROI definition of

    roiRow=300, roiCol=300, roiRsize=500, roiCsize=1000; will result in the ROI extending past the 1024 output boundary. The ROI will be redefined to:
    roiRow=300, roiCol=300, roiRsize=500, roiCsize=724; which will result in the user getting the requested data but also getting 448 columns from the B output that were not requested.
  5. The PAN saver software will send the DHS only the data provided by the DHE. In addition the standard position size description for the data will contain the finished position and size of the ROI. IT is the responsibility of the user interface software to inform the DHS of the requested position ans size of the ROI.
  6. I'm sure there should be more but I won't know till the code is done WATCH THIS SPACE..

 


uCode Standard Loop Register Usage Guidelines

There are sixteen 16-bit loop registers for available in the Sequencer to enable code flow control. The table below shows their current default usage. While these registers are general purpose loop registers using them for other than their reserved purpose will require the writing of a custom Detector library routine (detCalcPixels) to load the registers with correct values before taking an image.

The generic_CCD and basciCCD detector libraries use these assignments, but load the seqColBin register with one less than the requested number of pixels to be binned and sets the user Bit serBinEnbl to 1 if serial binning is active. The chileCCD detector library uses these assignments, and loads the seqColBin register with the requested number of pixels to be binned and does not use serBinEnbl user bit.

Standard Loop Register Usage
Register number FPGA Register name CCD User Register name CCD Sequencer Usage IR User Register name IR Sequencer Usage Comments
0 SeqLoopReg[0] seqRowCount #NROW seqRowCount #ROW_CNT Number of rows to readout i.e. for CCDs the number of parallel or slow shifts
1 SeqLoopReg[1] seqColCount #NCOL seqColCount #COL_CNT Number of columns to readout i.e. for CCDs the number of serial or fast shifts
2 SeqLoopReg[2] seqRowBin #NPBINS seqFSamples #FSAMPLES Number of rows to bin during CCD readout or number of Fowler samples in IR Readout
3 SeqLoopReg[3] seqColBin #NSBINS seqDigAvg #DIG_AVG Number of columns to bin during CCD readout or number of Digital Average samples in IR Readout
4 SeqLoopReg[4] seqRoiRow #ROIROW seqCoAdds #COADDS Number of rows to skip during CCD ROI readout or number of Co-Adds in IR Readout
5 SeqLoopReg[5] seqRoiCol #ROICOL seqLoopDly #LOOP_DLY Number of columns to skip during CCD ROI readout or read loop delay factor in Fowler IR Readout
6 SeqLoopReg[6] seqRoiRskip #RROWSKP seqSweeps #SWEEPS Number of rows to skip after ROI readout is Complete or number of reset cycles before integration in IR mode
7 SeqLoopReg[7] seqRoiCskip #RCOLSKP seqSyncResets #SYNC_RESETS Number of columns to skip on each row after the ROI columns are read out or number of resets to do when syncing two DHE's
8 SeqLoopReg[8] seqFocusShft #FOCUS_SHFT seqRstTime #RST_TIME number of rows to shift image between focus exposures
9 SeqLoopReg[9] seqPreScan #XPRE Not Assigned Not Assigned number of prescan pixels to read (Usually not converted or transferred to the PAN
10 SeqLoopReg[10] seqShtrDly #SHUTDLY Not Assigned Not Assigned The time in ms to delay while the shutter opens or closes if these times are different use an unassigned register for the closing time.
11 SeqLoopReg[11] OvrScanRowCnt #OSROWCNT Not Assigned Not Assigned Number of binned rows to convert after reading ROI rows and skipping unread active rows
12 SeqLoopReg[12] OvrScanColCnt #OSCOLCNT Not Assigned Not Assigned Number of binned pixels to convert after reading ROI pixels skipping unread active pixels
13 SeqLoopReg[13] Not Assigned Not Assigned Not Assigned  
14 SeqLoopReg[14] Not Assigned Not Assigned Not Assigned  
15 SeqLoopReg[15] Not Assigned Not Assigned Not Assigned  

uCode Standard User Bit Usage Guidelines

The MONSOON/Torrent systems have in the sequencer Control register four user settable bits that can be used with The conditional jump instruction to steer the ucode execution. The following are the current default usage for these bits.

Standard SeqUserBits Usage
User bit number FPGA Attribute name CCD User Attribute name CCD Sequencer Usage IR User Attribute name IR Sequencer Usage Comments
0 SeqUserBit0 seqContRun #CONT_RUN seqContRun #CONT_RUN Debug function - run process indefinitely after start exposure received
1 SeqUserBit1 serBinEnbl #SBIN_ENB Not Assigned #IDLERST_ENBL Enable serial binning in CCD readout or enable array resets during idle time for IR apps.
2 SeqUserBit2 rdRoiEnbl #RDROI_ENB digAvgEnb #DIGAVG_ENBL Tells the sequencer a ROI readout is in progress for CCDs or enable digital averaging in IR apps.
3 SeqUserBit3 Not Assigned Not Assigned Not Assigned #ROWRST_ENBL Enable Row Reset mode in IR apps.

 


Source URL (modified on 08/10/2012 - 17:15): http://www.ctio.noao.edu/noao/content/Torrent-Software

Links
[1] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/MNSN-AD-08-0005_MONSOON_Software_Setup_Rev_2.1.pdf
[2] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT-AD-08-0001%20Software%20System%20Description%20Rev%200.pdf
[3] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT-AD-08-0002%20borg%20R0.pdf
[4] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT-AD-08-0006%20Software%20User%20Manual%20R0.pdf
[5] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT-AD-08-0003%20Assimilate%20Rev1.2.pdf
[6] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT-AD-08-0004_Torrent_Collector_Rev_1.1.pdf
[7] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT-AD-08-0012%20Torrent%20Sequencer%20Description%20R0.pdf
[8] http://www.ctio.noao.edu/noao/sites/default/files/instruments/Controllers/MONSOON/Technical_Documents/Torrent/Software/TRNT_Assembler_Ver_6.zip