Sequencer Parameters
(to be finished)
Diego Venegas-Vargas, Cinyu Zhu - July 2025
Where and how to change sequencer parameters
in config file:
in _config.py, we setup master, sequencer parameters for each image
(not sure I like this here since we can technically change all the seq variables which are more than the ones listed here)
"Image_Name": {
"EXPOSURE": int(500* 1E8), # Exposure time in seconds
"NROW": 1600, # Active rows
"NCOL": 6300, # Active columns
"NPBIN": 1, # Parallel binning
"NSBIN": 1, # Serial binning
"NDCM": 1, # Single-skip count
"NVWAIT": 0, # Extra wait cycles
# "NVWAIT": 400, # extra wait before readout
"BOOLCLR": 1, # Clear between frames
"NCOLPRE": 0 # columns to skip over
},
the sequencer file (where?)
if edit deeper in the sequencer file, to apply the changes
change_sequencer.py
send out specific commands via terminal:
python sendrun.py --to ccd106 "daq.daemon.send_command('CEX')"
python sendrun.py --to ccd110 "daq['TG_L'] = 7.9"
These commands are used to acknowledge any of the flags if set to true:
python sendrun.py --to ccdpool "daq.command('ALC')"
python sendrun.py --to ccdpool "daq.command('ARF')"
python sendrun.py --to ccdpool "daq.command('ASR')"
send of commands in python scripts
Send('daq["TG_L"] = 7.9')
(both TG_A_L and TG_B_L would be changed)
(see environment and dependent libs in examples like erase_epurge_180K.py)
(note that apostrophes are formatted differently in terminal and in python)
What does each parameter mean?
Note that when using the numbers to specify the pixels/rows/columns, sometimes they are referring the physical pixels on CCD, other times the pixels in the image. And they could have different meanings: i.e. if the binning = 10, 300 physical ccd pixels = 30 image pixels.
Parameters for readout
-
"EXPOSURE": int(180* 1E8) $Exposure time in seconds, here is 180s. The clock frequency is 100MHz, therefore * 1E8 -
"NROW": 30, # Active rows. Number of rows (rows in the image) you wanted to take after the pixels you skip (row1-300, but since npbin = 10, so only 30 rows in image "NCOL": 200, # Active columns. Number of columns (in image) you wanted to take after the pixels you skips, here is 6001-6200, as no horizontal binning and NCOLPRE = 6000)"NPBIN": 10, # vertical binning , P=Parallel, 1 pixel in data = 10"NSBIN": 1 # horizonal binning, S=Series"NDCM": 500, # number of skips in readout"NVWAIT": 400, # extra wait cycles before readout"BOOLCLR": 1, # Clear between frames"NCOLPRE": 6000, # don't read the first 6000 rows (the pixels in CCD)"delaySWL": 350 # ?
parameters for clockings
'CEX'= external clock # This makes the board run on external clock, left orange LED light on ACM off'CIN'= internal clock # This makes the board run on internal clock,left orange LED light on ACM on'GSS'= get system status-
'GSF'= get system flag # there are three flags that must be set to false unless there is an issue. -
TG_A(B)_H(L): high and low voltage for transfer gate (what does A or B means?). When high = low, no clocking at the transfer gate.
// NOT SURE IF MY MEMORY WORKS BUT:
- V3(2, 1)_A(B)_L(H)  =  vertical clocks
- H3(2, 1)_A(B)_L(H)  =  horizontal clocks
// some flags that I don't know
- 'ALC' = ?
- 'ARF' = ?
- 'ASR' = ?