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