CHARGE SHUFFLING READOUT (CSR)
******************************
J R Barton
NOTES LEADING TO MICRO SPEC
***************************
** ASTRONOMER SETUP PARAMETERS
ULTIMATELY: The following system details need to be input by means of a table
which is accessible to and modifiable by the astronomer/engineer at any time
(i.e. including during the observing run so that changes can take effect
immediately):
INITIALLY: This data will be hand-coded into the parameters sent in the cs
commands
Shutter times: Vincent Assoc
(times in milliseconds) 225L 262 Taurus (Prontor E/100 fitted
w/ special blades)
minimum open time 5.5 25 60
" close time
" cycle time 25 200 1000
delay to start opening 3.0 8 22-26 min-max
opening time 2.5 17 22-33 "
dely to start closing
closing time 4.2 21 22-34 "
Above may be used by the VAX to:
- determine if a shuttered cycle is permissible, i.e. check that the
minimum open and close times and minimum cycle times restrictions are not
broken.
- determine the delay, Tshc, used by the micro, between the micro close
shutter command and the shutter becoming fully closed. THIS IS NOT NEEDED NOW
THAT THE BASIC PHASE OPERATION IS "SHIFT AND EXPOSE"?
- adjust a requested exposure time to an actual EXPTM number downloaded to
the micro. The correction is for differences in the shutter opening and closing
times (which may be experimentally determined) and may be further adjusted to
make a suitable compromise between the central parts and the corners of an
image shuttered with an IRIS type of shutter.
Generally, the shutter is used for the longer exposures where opening and
closing times are not critical. Thus can probably combine some of the above
parameters in these cases.
The EXT device (eg Etalon)
This can be any device able to respond to the micro SYNC OUT pulse by changing
state in a predictable manner through predetermined cycles to which phases can
be attached - eg etalon, polariser, telescope position, chopping secondary,
filter wheel, etc. The EXT device is pulsed right at the start of the phase
after the phase starting interrupt (I/R) and before the N.V.Shifts are started.
Thus EXT has some time to settle during the N.V.Shifts but this shift time may
be shorter than the Tdext. If so, then for shuttered exposures, TDEXT must be
timed out and the timer TC tested by the micro before opening the shutter.
ULTIMATELY:
(the same parameter set as for shutters could apply to EXT device)
i.e. delay, operating and settle times perhaps in two or more
directions or states? Initially assume that one delay time, TDEXT, will apply
to all changes of direction and states of EXT.
INITIALLY: Parameter TDEXT is hand coded into the cs command
NB. That if the EXT device is slow to operate compared with the Vshift time
then Tmargin may have to be increased to ensure the EXT device has settled for
a reasonable time before the end of the phase otherwise the exposure will be
with non-settled EXT. VAX must sort this out as it determines the minimum TINCR
time or phase trigger period.
The N.VS CNTR, counter 1 in C14 is to be commandeered for use in timing the
TDEXT delay.
OTHER DELAYS: These may include
- micro processing times per phase
- extra processing time per cycle
- time to get started, i.e. to stop the clocks or to get TINCR going
- Tmargin, an overall safety margin per phase? per cycle?
- others.......
INITIALLLY: These are all hand coded into the cs and PS, PR and PE parameters
EXPTM COUNTER RESOLUTION:
This is normally set to 100ms by default (100MST counter counting 1ms clocks)
and thus minimum EXPTM is thus 200m. For shorter exposures (of say 50ms which
is OK for the small shutter) the EXPTM counter can be clocked directly,
bypassing the 100MST counter, with 10 kHz or 100 kHz clocks by software
connecting the EXPTM counter clock to CK3 (SRC3) and on counter C14 setting its
FOUT at the required frequency by feeding it from the F3 or F2 output of the
internal frequency scaler as appropriate.
The resolution of EXPTM also sets the shutter open maximum timing error. With a
1ms clock this is a 1 ms error. A 10 kHz clock would present a 0.1 ms max error
probably comparable to the jitter in the shutter opening and closing times.
The changing of the CMR and MMR for the counter chips is done by the micro with
the hex byte for the MMR of C14 being INITIALLY hand coded into the cs command.
TINCR COUNTER RESOLUTION: this needs to be fairly fine as with TINCR counting
very fast for FLASH exposures, eg 0.1 ms for 100ms total FLASH time with a 1024
CCD. this counter runs repetitively and only the first terminal count would
have a timing error as it syncs itself up with the clock. The resolution should
approach that of a single Vshift, i.e. 10 us. with a 650 ms max TINCR would be
the finest although 1 us with 65 ms max TINCR is a possibility
This is handled by the EXPTM change above, i.e. with 10 kHz or 100 kHz clocks
by counter C14 setting its FOUT at the required frequency by feeding it from
the F3 or F2 output of the internal frequency scaler as appropriate. The micro
will set the required MMR in the set-up sequences
RUN TYPES
Exposures Type;
Normal exposure (NP): This is the full CSR exposure with the shutter opening
and closing as required to illuminate the CCD.
Dark frame (DF): This is an exposure made with the identical timing of the NP
(thus takes the same time to perform as the NP) but with the shutter remaining
closed.
Bias frame (BF): This has all the phases and cycles of the (NP), is made with
the shutter closed, has all EXPTM counts reduced to the minimum of 2 and has a
minimum phase time, TINCRmin, set.
Shutter Opening:
Shutter opens at start, closes at end of exposure (uses TINCR, no EXPTM used)
Shutter opens and closes each phase (both TINCR and EXPTM used)
CCD Cleanout Direction: [Cleanout CCD in normal forward direction - Cleanout
CCD in reverse direction (eg for shutterless streak use)]
*** NO! USE START-UP SEQUENCE FOR THIS ***
TRIGGER TYPES
ANY COMBINATION OF THE FOLLOWING POSSIBILITIES, i.e. completely done with
controller's internal timers, or completely by external timers via the SYNC1/2
inputs, or by a combination of both: **** TOO HARD FOR NOW ****
Starting the exposure:
- Normal VAX start command (cs command) will start as soon as the micro has
done its setup without waiting for anything else. The cs command contains an
indication of the choice of start be it the cs command or the use of a sync
input.
- SYNC I/P, allowing external hardware to trigger start of exposure
- start on SYNC 1
- start on SYNC 2
Here, a SYNC I/P is used to trigger, from some external hardware event (eg
occultation timer...), a delayed start to the measurement, i.e. the sync I/P is
used to indicate that from that time onward do a further N cycles, in, say, a
streak series.... i.e. just as a logic analyser trigger input performs
During the Exposure:
- TINCR I/R used to trigger the next step
- TINCR triggers all next phases
- TINCR trigger the next cycle (what triggers each phase?)
**** TOO HARD FOR NOW ****
- SYNC I/P, allowing external hardware to trigger the next step
- SYNC 1 triggers all next phases
- SYNC 2 triggers all next phases
- trigger just the next phase on SYNC 1
- trigger just the next phase on SYNC 2
**** TOO HARD FOR NOW ****
- trigger all or just next cycle on SYNC 1
- trigger all or just next cycle on SYNC 2
eg SYNC1 or 2 may be from an accurate frequency generator
but what triggers each phase? TINCR? **** TOO HARD FOR NOW ****
- SYNC1/2 I/P, allowing external hardware to trigger the next cycle with the
system free-running through the phases ea with its own N.Vshifts + EXPTM +
Tdshc delay all finishing before the next sync1/2 I/R. This is for shuttered
exposures only. **** TOO HARD FOR NOW ****
Stopping the Exposure:
- SYNC I/P allowing external hardware to stop the exposure
- stop after SYNC 1 at the end of the current cycle
- stop after SYNC 2 at the end of the current cycle
DO ONLY THE FOLLOWING TRIGGER COMBINATIONS INITIALLY
1. Start of exposure, either
- cs command starts exposure without delay or
- SYNC1 I/R starts exposure or
- SYNC2 I/R starts exposure
2. For every phase of the CSR use either
- TINCR I/R to start it or
- SYNC1 I/R to start it or
- SYNC2 I/R to start it
3. To stop the exposure
- natural stop after the required number of cycles has completed and/or
- use the VAX sc command to stop at the end of the current cycle and/or
- stop after SYNC 1 at the end of the current cycle or
- stop after SYNC 2 at the end of the current cycle
4. To abort the exposure
- use the VAX ai command to abort as soon as possible with no CCD
readout (the VAX to follow up with an 'IN' command
A BASIC PHASE
The basic phase sequence, comprising a "shift and expose", in that order, is
described. A set of these phase definitions forms a CSR cycle. Each phase needs
to have the following parameters defined:
- the phase number
- a disable shutter opening indication
- the EXPTM value, if the timed shutter open is used
- the TINCR phase period, if this defines the time
- the shift direction of the charge shuffle
- the number of whole vertical shifts, N.V.Shift
- an enable EXT device change at start of phase
- the number of repeats
- the offset subtracted from current phase number for the repeat
NB: If the number of vertical shifts is greater then the number of rows it
effectively cleans the CCD so this could be done at any time to clean the CCD
say prior to an ext sync type start when the exact timing is unknown, i.e. can
get things started for the CSR, wait for sync, then rapidly clean CCD then do
the required cycles for the exposure, terminate and readout
Shift Direction definition (for a CCD read out of one or two outputs from the
same serial register):
Shift up is a shift forward, a "+" shift and is towards the readout register
Shift down is a reverse shift, a "-" shift and is away from readout register
THE BASIC PHASE SEQUENCE is as follows:
SUMMARY
[A] - receive the TINCR (or SYNC...) interrupt
- test if PNEXT=PE1: should we gone to end-up sequence?
if so, hop out to END2 to go the end-up sequence
if not, proceed...
- shuffle phase pointer registers
- execute CURRENT phase
- trigger EXT change if required (start timer, TDEXT, by
issuing a !TRIG VS CNTR pulse (WP2,1) to cover this,
but only if a shuttered CSR
- send TRIG VSHIFT to do the N Vshifts, fwd/bwd
direction, ending in a PTE as required
- wait for EO uP BUSY I/R OR end of TDEXT timeout
* - trigger the EXPTM if required
- test if PNEXT=0: no phase definition to set up
if so, hop out to END2
if not, proceed....
- set up PNEXT by
- load TINCR for next phase, if used, unless BIASFLAG
- load NVSHIFT or WC6 for next phase (and step counter?)
# - load WC7 direction byte for next phase
- determine if shutter is to open in next phase
* - load EXPTM for next phase, if used, unless BIASFLAG
NB: for the EXPTM counter, in order to look after the first time thru AND
loading the counter when it is not counting (i.e. it is turned off for the
phase) first load the EXPTM into the load register, immediately test is EXPTM
(bit 5 of status_byte) is set. If not load the counter reg and step the
counter. If so, skip out.
- determine if EXT is to change state in next phase
- forecast FUTURE phase (next, repeat or jump), cycle, test
STOPFLAG, or whether change of sequence or wrap-up
- wait for next TINCR (or SYNC...) interrupt
- jump back to [A]
- END2:
- wait for next TINCR (or SYNC...) interrupt
- enter end-up sequence
# do this just on contents of PD, i.e. don't test whether changing is required
or not - just write out fwd WC6 or rev WC6 acc to the pD
SET-UP SEQUENCE
- covers things done by the micro after the cs command is received up until the
start-up sequence
- change MMRs, CMRs,
- terminate STBYM and thus stopping the cleanout of the CCD
- get WAITM going in preparation for the CSR exposure
- set the ENABLE CSR selective set/clear flip=flop, EN CSR, by writing to the
selective set register SS 80. This enables the generation of V clocks in the
WAIT mode condition that exists for the duration of the CSR exposure time.
- prepare and set up for start-up according to n4 of the cs command, i.e.
n4 = start the exposure triggered by....
= 0 start immediately, don't wait for and I/R
= 1 by SYNC 1 I/R (hardware start of the exposure)
= 2 by SYNC 2 I/R (hardware start of the exposure)
START-UP SEQUENCE
- do a start-up sequence, PSn, possibly, to get shutter open on a throwaway
spot on the CCD Vshifted out of range in non-shuttered exposures to give a
cleaner entry into the first phase of the running stage *** not really
possible ***
- required to prepare SYNC stopping the exposure as per n7 of the cs command
n7 = stop the exposure triggered by....
= 0 nothing extra, ie use cycle counter or sc command
= 1 by SYNC 1 I/R (hardware stop of the exposure)
= 2 by SYNC 2 I/R (hardware stop of the exposure)
- required to prepare for running sequence as per n5 of the cs command
n5 = start the exposure triggered by....
= 0 start immediately, don't wait for and I/R
= 1 by SYNC 1 I/R (hardware start of the exposure)
= 2 by SYNC 2 I/R (hardware start of the exposure)
- the parameters for the first phase of the running sequence are loaded.
- needed do a CCD cleanout forward or reverse shifted especially if there can
be a long delay in waiting for a SYNC1/2 start pulse after the system is in
WAITM...
NB: If the number of vertical shifts is greater then the number of rows it
effectively cleans the CCD so this could be done at any time to clean the CCD
say prior to an ext sync type start when the exact timing is unknown, i.e. can
get things started for the CSR, wait for sync, then rapidly clean CCD then do
the required cycles for the exposure, terminate and readout
- needed to do any preparation for running sequence that can be done with the PS
phase definitions, i.e. in non-shuttered use for fastest running sequence
period use start-up sequence PSn to load counters with the required values so
that in the running sequence can just skip over the loading of these
- the TINCR is got going OR some method to get micro into synchronism with
incoming timing steps and reference SYNC1 and SYNC2 I/R sources. To get into
sync with TINCR interrupts, load a short time of, say, 20ms into TINCR , start
the counter with GATE TINCR bit of the set/reset register, then load in the
first PS definition which will contain the required TINCR.... For SYNC1/2 wait
for one of these, load up for running sequence and wait for the next SYNC1/2 to
start the running sequence. To get into sync with the SYNC1/2 I/R just set up
for I/R and wait till one arrives then load in the first PS definition, etc...
END-UP SEQUENCE
- at the very end of the exposure, as the shutter is closing, perform the first
phases of the cycle that occured during the shutter opening time by using PE
phase definitions. In this way, what was lost at the start is made up at the
end of the exposure (assuming that the opening and closing times of the shutter
are equal)
- do an end-up phase PE definition to close shutter so that the time to close
delay doesnt upset the last valid phase of the exposure in non-shuttered
exposures - this to be on a throwaway portion of the CCD
- if the stop command was used, save the cycle count in SCC for later
interrogation by the VAX
- close the shutter with the STOP EXP pulse if it has been opened continuously
throughout the TSR, start delay to close or use an end-up sequence PE phase
definition to do this
- stop the TINCR counter, after all PXn's have completed, by resetting the GATE
TINCR bit of the set/reset register
- when shutter closed go to wrap-up
WRAP-UP SEQUENCE
- wrap-up status, xs = 5, sent to the VAX on demand
- return controller to normal using the saved list of changed parameters saved
prior to run start, and await VAX readout command
- reset the ENABLE CSR selective set/clear flip=flop, EN CSR, by writing to the
selective reset register SR 80. This prevents the generation of V clocks in the
WAITM condition returning the clock generation back to normal.
- get the loop running again
- return TEL to normal
- issue a reset FIFO if neccessary
- set up to await a VAX ro command to do a normal CCD readout as per speed and
window spec
SEQUENCES AND PHASE PROCESSING
STARTUP PORTION OF START-UP SEQUENCE
ie the in-line non-phase processing code
- set startup sequ "xs"
- determine I/R to use (TINCR or SYNC1/2)
- wait for this I/R to get into sync
- receive the TINCR (or SYNC...) interrupt
- load first PX1 into [PNEXT]
- enter phase processing at [B]
STANDARD PHASE PROCESSING
[A] - receive the TINCR (or SYNC...) interrupt
- test if PNEXT is in a new sequence, ie, running or end-up
if so,
- set appropriate sequ "xs"
- change any PXn limits used in forecasting FUTURE
- proceed...
if not, proceed...
- shuffle phase pointer registers
- execute CURRENT phase
- test if PNEXT=0: no phase definition to set up
if so, hop out to END2
if not, proceed....
[B] - set up PNEXT
- forecast FUTURE phase
- wait for next TINCR (or SYNC...) interrupt
- jump back to [A]
- END2:
- wait for next TINCR (or SYNC...) interrupt
- enter end-up sequence
END
ie the in-line non-phase processing code in the end-up sequence
- delay for shutter closing, if required
FORECASTING FUTURE PHASE
Take into account the following factors:
Rules re Sequences:
- Start-up and End-up sequences may have repeats but no cycles
- Running sequence may have both repeats and cycles
- Cycles cycle around the complete running sequence from PR1 to PRnmax
Forecasting:
- normally FUTURE=PNEXT+1, ie the next line of the phase defn table, but
check for:
- repeats and completion of repeats in all sequences
- cycles and completion of cycles if in running sequence
- STOPFLAG if at end of a cycle in running sequence
- end of the phase defn table in either running or end-up sequence
- ABORTFLAG
INSTRUMENT SEQUENCER (IS) OPERATION
***********************************
VAX sends it parameters corresponding to step numbers on-band and off band (LGW
to extend this to a table of n bands to correspond to n phases per cycle)
IS sits in a hard loop looking for the next sync pulse in order to quickly
respond and thus ignores external traffic. It needs an initialising sync pulse
to get this process started and to send the first etalon step number
correspondiing to the first phase of a cycle to Taurus. Thereafter all sync
pulses signal a step in the step number corresponding to the next phase of the
cycle.
The IS needs the number of cycles or steps to be sent to it by the VAX so that
it can count its way through the exposure and drop out of the hard loop at the
end of the exposure (although I guess it could be sent a cntrl-C reset to do
this and thus needn't know the full count???)
Aborts are looked after by a control-C reset on the IS micro.
TYPES OF RUN SEQUENCE FORSEEN
*****************************
- square wave as requ for JBH and for JRB CCD tests
- polarimetry at pos 1, plus, minus for n1; then move to pos 2, plus,
minus for n2; then move to pos3, plus, minus for n3, etc, etc... then return
and repeat
- UBVRI photometry
- pulsar several steps then return and repeat
- streak readout (flash) to fill CCD then read out, egfor lunar or
minor planet occultations where 1 to 10ms resolutions are required
- long-slit or multi-slit spectroscopy shifting charge and telescope
simultaneously to acquire object and sky on the same pixels. See CFHT
CHARGE-SHUFFLE EXPOSURE DEFINITION
**********************************
DEFINITION
EXPOSURE: An exposure is the complete thing between the CCD cleanout and the
CCD readout and comprises a set-up and a start-up sequence (the latter
with PS1-to-n phases) followed by a running sequence with N repeated
cycles. Then follows an end-up sequence which can also have PE1-to-n
phases, then wrap-up prior to the CCD readout
CYCLE: A cycle comprises a series of charge shuffling phases, PR1 to n, and
that cycle can be repeated for the requested number of times, n1 of
the cs command.
PHASE: A cycle comprises one or more phases, each phase comprising a charge
shuffling operation followed by a delay during which the CCD may be
exposed to light. Each phase is defined by a line in the phase
definition table.
SEQUENCE OF OPERATIONS: A phase comprises several sequences of operations
performed by the micro....
FOR EXAMPLE: JBH requires about 40 exposures (to cover the I-band) each of
these exposures to be as follows. After the astronomer sets up the etalon
parameters for the next I-band and commands the start, the exposure will be,
say, 10 cycles, with each cycle comprising two phases. The first phase to be a
forward shuffle of 300 lines followed by a shuttered 70 sec, on-band exposure.
The second phase comprises a reverse shuffle of 300 lines followed by a
shuttered 2 secs, off-band (or reference band) exposure. At the completion of
the 10 cycles the CCD will then automatically be read out in the standard
manner, at the specified readout speed and windowed and/or binned in the x
and/or y directions as per the specified window.
A CHARGE SHUFFLING PROPERTY
***************************
If the number of phases per cycle is such that N separate image areas are
created on the CCD then the proportion of the area of the CCD that is usefully
used is
A(usefull) = N / (2N-1)
and thus the proportion of the area of the CCD that is wasted, as it gets
shifted beyond the ends of the CCD, is
A(wasted) = (N-1) / (2N-1)
TO BE DONE
**********
- In CCD controller cubicle, micro SYNC O/P pulse has been disconnected and
IRIS stuff connected to SYNC O/P connector. Need to OR into it !IRIS.microSYNC
O/P.
- need to run with the MAPPIT style version of GORDON2 (or whatever) in order
to be able to get in and change speed tables and the run parameters on the run
- hardware mods required to run Thomson CCDs. Also speed table mods.
- need to run CSR through [JRB] to pick up modifiable speed and window tables