ice:servo-opl1
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Previous revisionNext revision | |||
— | ice:servo-opl1 [2020/09/25 16:20] – [Setting the Offset Frequency] Michael Radunsky | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== | ||
+ | |||
+ | Model No. ICE-OPL1 | ||
+ | |||
+ | Document Revision: 0.1 | ||
+ | |||
+ | Document Last Updated on ~~LASTMOD~~ | ||
+ | |||
+ | Please read [[: | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | << | ||
+ | |||
+ | |||
+ | ===== Absolute Maximum Ratings ===== | ||
+ | Note/Todo: These ratings are for CP1, not OPL1. They are nearly the same board, though! | ||
+ | Note: All modules designed to be operated in laboratory environment | ||
+ | |||
+ | ^ Parameter | ||
+ | |Environmental Temperature | >15°C and <30°C| | ||
+ | |Environmental Humidity | <60% | | ||
+ | |Environmental Dew Points | <15°C | | ||
+ | |||
+ | |||
+ | ===== Specifications | ||
+ | Note/Todo: These specifications are for CP1, not OPL1. | ||
+ | ^ ^ ICE-CP1-200 | ||
+ | ^ Current Source ^ ^ ^ ^ | ||
+ | |Current range| | ||
+ | |Current setpoint resolution | 200 | 500 | μA | | ||
+ | |Current noise density((All measurements guaranteed on design and verified experimentally on D2-105 which uses same circuit.))| | ||
+ | |RMS Noise (10Hz - 100kHz)((All measurements guaranteed on design and verified experimentally on D2-105 which uses same circuit.))| | ||
+ | |RMS Noise (10Hz - 1MHz)((All measurements guaranteed on design and verified experimentally on D2-105 which uses same circuit.))| | ||
+ | |RMS Noise (10Hz - 10MHz)((All measurements guaranteed on design and verified experimentally on D2-105 which uses same circuit.))| | ||
+ | |Absolute accuracy| | ||
+ | ^ Offset Phase Lock Servo Input Signal^ ^^ ^ | ||
+ | |Min Offset Frequency | 250 || MHz | | ||
+ | |Max Offset Frequency | Min: 9, Typical: 10(( Maximum Offset Frequency depends on power of input beat-note signal.)) | ||
+ | | Max Electronic Beat-Note Input \\ (ICE-CP1-SMA)| | ||
+ | | Min Electronic Beat-Note Input \\ (ICE-CP1-SMA)| | ||
+ | | Min Electronic Beat-Note S/N \\ (ICE-CP1-SMA)| | ||
+ | | Max Optical Beat-Note Input \\ (ICE-CP1-FC)| | ||
+ | | Min Optical Beat-Note Input \\ (ICE-CP1-FC)((Approximate value as exact value depends on wavelength of the light and spatial overlap between the lasers.))| | ||
+ | | Front-panel Input Connection\\ (ICE-CP1-FC)((ICE-CP1-FC is shipped with an FC to SC multimode patch cord))| | ||
+ | | Front-panel Input Connection\\ (ICE-CP1-SMA)| | ||
+ | ^ Offset Phase Lock Servo Performance^ ^^ ^ | ||
+ | |Bandwidth((May be limited by the bandwidth of the laser being servoed))| | ||
+ | | Interval reference frequency drift | +/-20 || ppm | | ||
+ | | PFD Noise(( See [[# | ||
+ | ^ Loop Filter Parameters ^ ^^ ^ | ||
+ | |Proportional Gain | -72 -- 0 || dB | | ||
+ | |Proportional Gain Resolution | 2 || dB | | ||
+ | |Integrator| | ||
+ | |Differential | Off, 10, 30, 100, 300 || kHz | | ||
+ | |Differential Gain | 18 || dB | | ||
+ | |||
+ | ^Electrical Specifications^^^^^ | ||
+ | ^ ^ Min ^ Typical | ||
+ | |5V_A Current Draw | | N/A | | A | | ||
+ | |5V_D Current Draw | | 600 | | mA | | ||
+ | |+15V Current Draw (ICE-CP1-200)((Current draw depends on output current to laser diode.)) | 80 | | 280 | mA | | ||
+ | |+15V Current Draw (ICE-CP1-500)((Current draw depends on output current to laser diode.)) | 80 | | 580 | mA | | ||
+ | |-15V Current Draw | | 40 | | mA | | ||
+ | |||
+ | |||
+ | ===== Setting the Offset Frequency ===== | ||
+ | |||
+ | Two numbers control the offset frequency of the ICE-OPL1: The divider setting N and the reference frequency. The divider setting N can be set to N=8,16,32 or 64. The reference frequency can be generated internally with a range from 50 - 240 MHz. A sequence of frequencies and frequency ramps can be programmed using OPL1's DDS Queue. Alternatively, | ||
+ | <WRAP center round box 450px> ** Offset = N * Reference Frequency **</ | ||
+ | |||
+ | The table below shows the offset range for different values of N and using the internal or external frequency reference. | ||
+ | |||
+ | < | ||
+ | ^ ^^ Divide-by-N settings | ||
+ | ^ ^^ N=8 ^ N=16 ^ N=32 ^ N=64 ^ | ||
+ | ^ Reference \\ Frequency \\ Setting | ||
+ | ^::: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Controlling Offset Frequency with the DDS Queue and Manual Controls ===== | ||
+ | |||
+ | The Direct Digital Synthesizer (DDS) generates frequencies against which the user can compare and lock an input beatnote. If the user enables the use of an internal reference frequency, it is the DDS that creates that frequency. The DDS output can be manually controlled, or the on-board micro controller can be programmed to execute a sequence of frequency profiles using the DDS. This section details the use of these systems. | ||
+ | |||
+ | === The DDS Queue GUI === | ||
+ | The DDS can be controlled directly from the GUI, or using a series of ascii commands. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==New Profile== | ||
+ | When clicked, a window opens in the GUI that allows the user to define a new profile for the DDS to execute. | ||
+ | |||
+ | ==Edit Profile== | ||
+ | Opens a window to select a profile to edit. This window can also be opened by clicking the [edit] button next to playlist entries. | ||
+ | |||
+ | ==Delete Profile== | ||
+ | Opens a window where the user can select a profile to remove from the program. | ||
+ | |||
+ | ==Save Settings== | ||
+ | Opens a file dialog where the user can save the current state of the OPL1 GUI, including the currently defined profiles, currently defined playlist, and currently defined playlist interrupt triggers. | ||
+ | |||
+ | ==Load Settings== | ||
+ | Opens a file dialog where the user can pick a .ddsq-settings file to load. Loading a file will overwrite any defined profiles, playlists, and playlist interrupt triggers. | ||
+ | |||
+ | ==Execute Sequence== | ||
+ | This button programs the current profiles and current playlist into the OPL1 microcontroller. | ||
+ | |||
+ | ==Abort Sequence== | ||
+ | Aborts any currently running DDS Queue and re-enables manual-mode controls. | ||
+ | |||
+ | ==Trigger Event== | ||
+ | This sends a #doevent N (where N is the event address, ranging from 1 to 7) command to the master ICE board, which relays the command to EVERY connected board. | ||
+ | |||
+ | ==Event Address:== | ||
+ | When this value is adjusted, it sends a command to the board indicating which event address the DDS Queue should listen to for profile transitions. | ||
+ | |||
+ | NOTE: This value will not actually be sent to the device unless the user presses < | ||
+ | |||
+ | ==Current Step:== | ||
+ | The value or text presented here tells the user the current state of the DDS Queue. | ||
+ | |||
+ | * N/A - Only appears on start up before any user input occurs. | ||
+ | * Programmed and Idling - The users playlist has been programmed into the microcontroller, | ||
+ | * Integer Number - the index of the profile that is currently being outputted by OPL1. | ||
+ | * Queue Inactive - execution of the DDS Queue is either complete or has been aborted. | ||
+ | * Error. Restart. - The GUI received an unexpected or erroneous data from the board while trying to determine the current queue step. Try restarting queue execution by pressing the Execute Seq. Button. | ||
+ | |||
+ | ==Add Element at:== | ||
+ | This allows the user to insert a profile into the queue at any index (starting at 0). If the index is greater than the largest index in the playlist, the GUI will add the element at the end of the list. The profile added will always be the first profile defined, so it is likely the user will have to adjust the new element to the desired profile and interrupt trigger. | ||
+ | |||
+ | ==Preview== | ||
+ | Reads the current state of the user defined playlist and generates a graph of the predicted offset frequency (the product of the DDS frequency and N Div). The preview is drawn using the profile defined durations even if a profile transition is manually triggered. | ||
+ | |||
+ | ==Playlist Profiles== | ||
+ | This is the list of defined profiles that will be programmed into the device and executed. | ||
+ | |||
+ | ==Playlist Interrupt Triggers== | ||
+ | For each profile in the playlist, the user can select how the DDS will transition out of that profile. | ||
+ | |||
+ | * Event System - This interrupt type will have the DDS output that profile until the user presses the Trigger Event button or sends a "# | ||
+ | * Go to next profile - This interrupt will have the board automatically transition to the next profile once the user programmed profile duration expires. | ||
+ | |||
+ | For example, consider the following playlist | ||
+ | |||
+ | * Profile 0 - Go to Next Profile | ||
+ | * Profile 1 - Event System | ||
+ | |||
+ | When the user executes this sequence, the following steps occur: | ||
+ | - DDS Queue is cleared and reprogrammed with the user's new playlist, wait for the user to trigger the sequence by pressing the Trigger Event button or sending a "# | ||
+ | - When triggered, activate profile 0. Set an internal timer for the duration of profile 0. Program the DDS for profile 1, but DO NOT activate profile 1. | ||
+ | - When the timer expires, it will activate profile 1. Since there are no more profiles to execute, it will not program the DDS for another step. The internal timer will be disabled, since the interrupt type for profile 1 is "Event System" | ||
+ | - When the user triggers the next event, the DDS will transition out of queued mode into manual mode. Whatever values the user has set in the manual mode controls will be sent to the device and the offset frequency will change accordingly. | ||
+ | |||
+ | === Creating a New Single Tone or Frequency Ramp Profile === | ||
+ | {{: | ||
+ | |||
+ | === Running the Queue === | ||
+ | |||
+ | Once the user has created the desired profiles, they can use the ' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The queue is preprogrammed into the OPL1 micro-controller at the beginning of queue execution, but the DDS needs to be reprogrammed for each individual profile at run-time. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The programming of each profile into the DDS takes time. The more complex the profile, the more time it takes to program it. A simple profile, like a single tone profile, will take less time to program than for a frequency ramp profile. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | === A Note on Mixing Frequency Ramp Direction === | ||
+ | |||
+ | The on board DDS is only capable of performing a positive frequency ramp (i.e. 100 MHz to 200 MHz). A negative ramp can be achieved by taking advantage of alias frequencies (where the programmed output frequency is actually greater than the clock frequency on the DDS). In this fashion, the DDS is programmed to ramp from something like 800 MHz to 900 MHz, but due to aliasing the output frequency is a negative ramp from 200 MHz to 100 MHz. | ||
+ | |||
+ | We experimented with this methodology and determine that it does not introduce significant phase noise. | ||
+ | |||
+ | However, if the user requires a profile sequence that includes **both positive and negative ramps**, the transition between alias frequency profiles and non-alias frequency profiles will introduce a phase glitch of a value between 0 and PI. **We believe this glitch can be ignored**, as it should be corrected by the servo, but it may be worth considering how this glitch could impact your experiment. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | === Manual Control === | ||
+ | The GUI can be used to manually control the offset frequency output by OPL1. The manual control components are found to the left of the DDS Queue pane. The offset frequency can be manipulated by changing the Int. Ref. Frequency or changing the N Div setting. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | =====Understanding Gain in the OPLS===== | ||
+ | |||
+ | The charge pump (CP) output is proportional to phase-error when phase-locked, | ||
+ | |||
+ | |||
+ | =====Understanding the Transfer Function===== | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | The charge pump in the OPLS outputs a signal proportional to the phase-error and the transfer function is as shown in <imgref xfer_func >. However, the OPLS will typically be used to control a // | ||
+ | |||
+ | =====Calculating Phase Noise ===== | ||
+ | |||
+ | The phase-noise specified in Section 1.3 is referenced to the phase frequency detector (PFD) at 1 Hz. To convert that to the noise measured on the actual beat-note, it must be rescaled with the following formula: | ||
+ | |||
+ | <WRAP center round box 450px>< | ||
+ | |||
+ | where N is the value of the divider and F< | ||
+ | |||
+ | |||
+ | ===== I/O (ICE-BOX) | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Only when purchased with the [[ice: | ||
+ | </ | ||
+ | |||
+ | **Beat Note Input ** | ||
+ | |||
+ | The Front Panel for the ICE-CP1 has four SMA or FC connectors. The top connector (SMA for ICE-CP1-SMA, | ||
+ | |||
+ | **External Reference Frequency Input ** | ||
+ | |||
+ | The Front Panel for the ICE-CP1 has four SMA or FC connectors. The second top-most connector is an SMA input for the external frequency reference. The input is AC coupled and 50 Ω terminated. Max power is 10 dBm. | ||
+ | |||
+ | **Beat Note Monitor ** | ||
+ | |||
+ | The Front Panel for the ICE-CP1 has four SMA or FC connectors. The second bottom-most connector is an SMA which is the digitized (i.e. square-wave) version of the input beat-note after a divide-by-2. For example, if the input beat note is 6 GHz, the monitor will have a 3 GHz output. | ||
+ | |||
+ | |||
+ | **Laser Current ** | ||
+ | |||
+ | The Front Panel for the ICE-CP1 has four SMA or FC connectors. The bottom SMA goes to the laser and drives positive current to the laser. The center conductor of the SMA goes to the laser anode. | ||
+ | |||
+ | ===== I/O (OEM Only) ===== | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Only for OEM versions of the ICE-CP1 purchased without the [[ice: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | **Beat Note Input ** | ||
+ | |||
+ | The ICE-CP1 has one SMA connector which is the beat note signal input. This signal should be an electrical beat -note between -10dBm and 10dBm of electrical power. Input is 50 Ω terminiated. | ||
+ | |||
+ | **External Reference Frequency Input ** | ||
+ | |||
+ | The ICE-CP1 has three UMCC ([[http:// | ||
+ | |||
+ | **Beat Note Monitor ** | ||
+ | |||
+ | The ICE-CP1 has three UMCC connectors. The one labelled "BN Mon" is an UMCC containing is the digitized (i.e. square-wave) version of the input beat-note after a divide-by-2. For example, if the input beat note is 6 GHz, the monitor will have a 3 GHz output. | ||
+ | |||
+ | |||
+ | **Laser Current ** | ||
+ | |||
+ | The ICE-CP1 has three UMCC connectors. The one labelled “Laser” goes the laser and drives positive current to the laser. The center conductor of the UMCC goes to the laser anode. | ||
+ | ===== Quick Start Commands Guide (Laser Current) ===== | ||
+ | |||
+ | Please see the [[ice: | ||
+ | |||
+ | |||
+ | ===== Quick Start Commands Guide (Offset Phase Lock Servo) ===== | ||
+ | |||
+ | Please see [[ice: | ||
+ | |||
+ | This content is not yet available, sorry. | ||
ice/servo-opl1.txt · Last modified: 2021/08/26 15:26 by 127.0.0.1