-
Notifications
You must be signed in to change notification settings - Fork 2
External Triggering of Exposures (Archon‐only)
The following sections describe the functionality of external triggering of exposures from the client's point of view, and is written for the user of this software. However, the detector controller server requires specific Archon firmware programming in order to support this functionality. The firmware requirements section is written for the ACF programmer's point of view.
The Archon controller backplane provides an external trigger input which resets the timing cores when active. The trigger input is nominally 3.3V at 2mA active high, meaning that the timing cores are held in reset as long as the trigger input is held high, although the logic can be programmed to be the inverse of this (i.e. held in reset while trigger input is low). See the Archon manual for full details.
Through appropriate ACF programming and setting of parameters, the Archon controller can be made to take different desired actions upon reset, allowing for an external signal to trigger different types of events. For example, the Archon could be programmed such that an external trigger takes a single exposure, or a sequence of triggers takes a sequence of frames, etc.
External triggering of exposures requires supporting Archon firmware and expects certain parameters. These parameters are defined in the configuration file by the keywords TRIGIN_EXPOSE_PARAM, TRIGIN_UNTIMED_PARAM, and TRIGIN_READOUT_PARAM. Only the parameters in use need be defined[3]. The values which enable these states may optionally be set in the configuration file. If the *_ENABLE and *_DISABLE configurations are left undefined then by default they are set to 1 and 0, respectively. See Configuration §3.2.
A single, timed exposure can be initiated using an external trigger. In this scenario, an exposure delay is defined with the exptime (§4.3.14) command, then the external trigger exposure is enabled by sending the "trigin expose" (§4.3.41) command. After configuring the trigin for expose it is expected that the Archon continues its normal idling until an external trigger has been received, which resets the timing core. When the timing core comes out of reset, it jumps immediately to the exposure routine where it proceeds with the exposure delay, sensor readout, buffer read and write to disk, just as if the software "expose" command had been sent.
Multiple timed exposures can be initiated using a sequence of external triggers by sending the "trigin expose N" (§4.3.41) command, where N is the number of external triggers, and exposures expected. This works in the same fashion as for the single timed exposure described in the previous section, except that after each exposure the Archon is automatically "re-armed" for the next hardware trigger. This enables a sequence of N hardware-triggered exposures without having to prepare each one individually with a separate "trigin expose" command for each.
A single, untimed exposure can be initiated with an external trigger. An untimed exposure has no pre-determined exposure delay but instead is started and stopped by two distinct external trigger events.
The start-of-exposure trigger is configured and enabled by sending the "trigin untimed" command (§4.3.41). After configuring the trigin for a single untimed exposure, the Archon continues its normal idling until an external trigger has been received, which resets the timing core. When the timing core comes out of reset, it opens the shutter and jumps immediately to a wait-routine where the clocks are stopped as if it was waiting for an exposure delay. It will wait here forever, or until another configured TRIGIN pulse arrives, or until an abort command is received.
The end-of-exposure trigger is configured and enabled by sending the "trigin readout" command (§4.3.41). After configuring the trigin for readout, the next trigger input resets the timing core and jumps to a subroutine which closes the shutter and calls the readout subroutine, before returning to the regular idle routine. The detector controller server running on the host will detect the completion of a new Archon frame buffer, transfer the image buffer to the host, and write it to FITS file.