User Tools

Site Tools


ice:commands:opls

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ice:commands:opls [2014/03/17 16:41] – Fixed intfreq to be in MHz jtshugrueice:commands:opls [2023/11/30 21:32] (current) – external edit 127.0.0.1
Line 3: Line 3:
 List of commands for the ICE Offst PHase Lock and Current Controller. Please see [[ice:commands:lasercurrent|Common Laser Controller Command Set]] for commands relating to the laser controller and [[ice:commands:common|Common Commands to all ICE Slave Boards]] for generic slave board commands. List of commands for the ICE Offst PHase Lock and Current Controller. Please see [[ice:commands:lasercurrent|Common Laser Controller Command Set]] for commands relating to the laser controller and [[ice:commands:common|Common Commands to all ICE Slave Boards]] for generic slave board commands.
  
-<function=ICEfunc|0=N?&2=8&3=32>+The theory, usage, and performance of the ICE-CP1 can be [[ice:servo-opls|found here]].  The ICE-CP1 web page can be [[http://www.vescent.com/products/electronics/icetm-integrated-control-electronics/ice-cp1-current-control-and-offset-phase-lock/|found here]]. 
 + 
 +<function=ICEfunc?0=N&2=8&3=32>
 Returns the value of the N divider.  Returns the value of the N divider. 
-<html></div></html> 
  
-<function=ICEfunc|0=N&1=I:VALUE:16;&2=16&3=33>+<function=ICEfunc?0=N&1=I:VALUE:16;&2=16&3=33>
 Set the value of the N divider. Valid settings are 8,16,32 and 64. Returns output from **N?** command. Set the value of the N divider. Valid settings are 8,16,32 and 64. Returns output from **N?** command.
-<html></div></html> 
  
-<function=ICEfunc|0=Invert?&2=On&3=34>+<function=ICEfunc?0=Invert&2=On&3=34>
 Returns whether the error signal is being inverted or not.  Returns whether the error signal is being inverted or not. 
-<html></div></html> 
  
-<function=ICEfunc|0=Invert&1=A:On/Off:Off;&2=Off&3=35>+<function=ICEfunc?0=Invert&1=A:On/Off:Off;&2=Off&3=35>
 Turns on or off inverting the error signal. Effectively changes the gain sign of the loop and whether the slave laser will be to the red or blue of the master laser. Returns output of **Invert?** Command. Turns on or off inverting the error signal. Effectively changes the gain sign of the loop and whether the slave laser will be to the red or blue of the master laser. Returns output of **Invert?** Command.
-<html></div></html> 
  
-<function=ICEfunc|0=IntRef?&2=Off&3=36>+<function=ICEfunc?0=IntRef&2=Off&3=36>
 Returns if the internal reference oscillator is active (as opposed to using an external reference). Returns if the internal reference oscillator is active (as opposed to using an external reference).
-<html></div></html> 
  
-<function=ICEfunc|0=IntRef&1=A:On/Off:On;&2=On&3=37>+<function=ICEfunc?0=IntRef&1=A:On/Off:On;&2=On&3=37>
 Enables or disables using the internal reference (instead of external reference). Returns output of **IntRef?** command. Enables or disables using the internal reference (instead of external reference). Returns output of **IntRef?** command.
-<html></div></html> 
  
-<function=ICEfunc|0=IntFreq?&2=162.875345&3=38>+<function=ICEfunc?0=IntFreq&2=162.875345&3=38>
 Returns the internal reference’s oscillator’s frequency in MHz. Returns the internal reference’s oscillator’s frequency in MHz.
-<html></div></html> 
  
-<function=ICEfunc|0=IntFreq&1=F:FREQ:204.543765;&2=204.543765&3=39>+<function=ICEfunc?0=IntFreq&1=F:FREQ:204.543765;&2=204.543765&3=39>
 Sets the internal reference oscillator’s frequency to FREQ, where FREQ is a the frequency in MHz. Returns the output of the **IntFreq?** command. Sets the internal reference oscillator’s frequency to FREQ, where FREQ is a the frequency in MHz. Returns the output of the **IntFreq?** command.
-<html></div></html> 
  
-<function=ICEfunc|0=Servo?&2=On&3=40>+<function=ICEfunc?0=Servo&2=On&3=40>
 Returns the status of the laser servo (on or off). Returns the status of the laser servo (on or off).
-<html></div></html> 
  
-<function=ICEfunc|0=Servo&1=A:On/Off:On;&2=Off&3=41>+<function=ICEfunc?0=Servo&1=A:On/Off:On;&2=Off&3=41>
 Turns on the laser servo (engages the integrator). Returns the output of the command **Servo?**. Turns on the laser servo (engages the integrator). Returns the output of the command **Servo?**.
-<html></div></html> 
  
-<function=ICEfunc|0=Gain?&2=25&3=42>+<function=ICEfunc?0=Gain&2=25&3=42>
 Returns Servo Gain. Range is from 0-64 in steps of 2 dB. 0 is a special gain setting where there is no gain (error signal does not go to integrator).  Returns Servo Gain. Range is from 0-64 in steps of 2 dB. 0 is a special gain setting where there is no gain (error signal does not go to integrator). 
-<html></div></html> 
  
-<function=ICEfunc|0=Gain&1=I:GAIN:24;&2=24&3=43>+<function=ICEfunc?0=Gain&1=I:GAIN:24;&2=24&3=43>
 Sets the Servo Gain. Range is from 0-28 in steps of 2 dB. 0 is a special gain setting where there is no gain (error signal does not go to integrator). Returns the output of the command **GetGain?** Sets the Servo Gain. Range is from 0-28 in steps of 2 dB. 0 is a special gain setting where there is no gain (error signal does not go to integrator). Returns the output of the command **GetGain?**
-<html></div></html> 
  
-<function=ICEfunc|0=SvOffst?&2=2.341&3=44>+<function=ICEfunc?0=SvOffst&2=2.341&3=44>
 Returns Servo Offset voltage (in volts). When the servo is engaged, this voltage is the starting voltage that the servo integrates from. Returns Servo Offset voltage (in volts). When the servo is engaged, this voltage is the starting voltage that the servo integrates from.
-<html></div></html> 
  
-<function=ICEfunc|0=SvOffst&1=F:OFFSET:-1.232;&2=-1.23&3=45>+<function=ICEfunc?0=SvOffst&1=F:OFFSET:-1.232;&2=-1.23&3=45>
 Sets the Servo Offset voltage (in volts) to OUTPUT when the servo is turned off. When the servo is engaged, this voltage is the starting voltage that the servo integrates from. Returns the output of the command **SvOffst?**. Sets the Servo Offset voltage (in volts) to OUTPUT when the servo is turned off. When the servo is engaged, this voltage is the starting voltage that the servo integrates from. Returns the output of the command **SvOffst?**.
-<html></div></html> 
  
-<function=ICEfunc|0=ReadVolt&1=I:CHANNEL:4&2=4.234&3=46>+<function=ICEfunc?0=ReadVolt&1=I:CHANNEL:4&2=4.234&3=46>
 Returns the voltage measured on channel CHANNEL (in volts). The channels refer to: Returns the voltage measured on channel CHANNEL (in volts). The channels refer to:
   - Servo Out   - Servo Out
Line 70: Line 58:
   - Ground   - Ground
  
-<html></div></html> 
  
-<function=ICEfunc|0=RampBeg?&2=2.34&3=47> +<function=ICEfunc?0=RampSwp&2=5.72&3=47> 
-Reads the starting voltage for the ramp.  +Reads the sweep range (in volts) for the ramp. 
-<html></div></html>+
  
-<function=ICEfunc|0=RampBeg&1=F:VOLTAGE:-2.64&2=-2.65&3=48> +<function=ICEfunc?0=RampSwp&1=F:VOLTAGE:2.64&2=2.65&3=48> 
-Writes the starting voltage for the ramp.  Range is from -10V to +10V. Returns the output from the command **RampBeg?**. Sets the **SvOffset** to the ramp begin voltageThis way, laser starts at RampBeg value before ramp is initialized, enabling a smooth ramp. +Writes the sweep range (in volts) for the ramp. Range is from -0V to +10V. Returns the output from the command **RampSwp?**.  The ramp will step from SvOffst - RampSwp/2 to SvOffst + RampSwp/2 by increments determined by RampSwp and RampNum and then return to SvOffst every time a RampRun command is initiated.\\  
-<html></div></html>+\\ 
 +//Note: RampSwp value is rounded and truncated to match range of the servo offset. //
  
-<function=ICEfunc|0=RampEnd?&2=5.72&3=49> +<function=ICEfunc?0=RampNum&2=100&3=49> 
-Reads the ending voltage for the ramp.  +Returns the number of data points to be acquired during the ramp. Number of data points is also the number of steps for the ramp. 
-<html></div></html>+
  
-<function=ICEfunc|0=RampEnd&1=F:VOLTAGE:2.64&2=2.65&3=50> +Note that the amount of bytes stored by the ramp is 2*RampNumThe amount of bytes stored set how much data needs to be read back via the **ReadBlk** command
-Writes the ending voltage for the ramp.  Range is from -10V to +10V. Returns the output from the command **RampEnd?**.\\  +
-\\ +
-//Note: RampEnd value is rounded up to be consistent with the **RampInc** value.// +
-<html></div></html>+
  
-<function=ICEfunc|0=RampInc?&2=3&3=51+<function=ICEfunc?0=RampNum&1=I:NUMBER:100&2=100&3=50
-Reads the increment step size of the ramp. Multiply the RampInc value by 3.05e-4 V to get the ramp step size in volts   +Sets the number of data points to be acquired during the ramp. Number of data points is also the number of steps for the ramp.
-<html></div></html>+
  
-<function=ICEfunc|0=RampInc&1=I:STEPSIZE:3&2=3&3=52+<function=ICEfunc?0=RampRun&2=Busy&3=51
-Sets the increment step size of the ramp. Multiply the RampInc value by 3.05e-4 V to get the ramp step size in voltsRampInc cannot be set to 0. +Begins ramping the servo output and taking data according to the values set for **RampSwp** and **SvOffst** as described above. The Ramp begins at SvOffst - RampSwp/2 and ends of SvOffst + RampSwp/2. When the ramp is completed, the servo output is returned to its starting value of SvOffstData can be retrieved with the **ReadBlk** command. Board will not respond to any new commands while taking data. Returns status of execution of the ramp, either Busy or FinishedReturns fault if ramp is misconfigured. See **RampNum?** for details. Returns fail if laser is off.
-<html></div></html>+
  
-<function=ICEfunc|0=RampNum?&2=100&3=53+<function=ICEfunc?0=Poles&2=3 2&3=52
-Returns the number of data points to be acquired during the rampNumber of data points is also the number of steps for the rampNumber of data points to calculated by the following formula:+Returns two columns of data. First column is a number 1-5 representing the integrator pole valueValues are 3 kHz, 10 kHz, 30 kHz, 100 kHz and 300 kHz. 1 is the slowest integrator (3 kHz), and 5 is the  fastest (300 kHz)The second column is a number 0 - 4 representing differential pole value. Values are Off, 10 kHz, 30 kHz, 100 kHz and 300 kHz. 0 is is no differential pole (Off), 1 is the slowest pole setting (10 kHz) and 4 is the fastest pole setting (300 kHz). 
  
-$$ \frac{RampEnd-RampBeg}{3.05\cdot 10^{-4} \times RampStep} $$+<function=ICEfunc?0=Poles&1=I:INTEGRATOR:3;I:DIFFERENTIAL:2&2=12&3=53> 
 +Sets the integrator and differential pole positions. INTEGRATOR is a value from 1-5 corresponding to kHz (1) up to 300 kHz (5)DIFFERENTIAL is a value from 0-4 with 0 disabling differential, 1 is 10 kHz and 4 is 300 kHz. See **Poles?** for full list of all pole values.
  
-Note that the amount of bytes stored by the ramp is 2*RampNum. The amount of bytes stored set how much data needs to be read back via the **ReadBlk** command. +<function=ICEfunc?0=EvtJump&2=6&3=54> 
 +Reads the event address for jumping the offset phase lock frequency. Address range is 0-7 where address 0 is no event.  
 + 
 +<function=ICEfunc?0=EvtJump&1=I:ADDRESS:4&2=4&3=55> 
 +Sets the event address for jumping the offset phase lock frequency. Address range is 0-7 where address 0 is no event.  
 + 
 +<function=ICEfunc?0=EvtLOff&2=4&3=56> 
 +Reads the event address for turning the laser off. Address range is 0-7 where address 0 is no event.  
 + 
 +<function=ICEfunc?0=EvtLOff&1=I:ADDRESS:2&2=2&3=57> 
 +Sets the event address for turning the laser off. Address range is 0-7 where address 0 is no event.  
 + 
 +<function=ICEfunc?0=EvtData&1=I:ROW:4;I:COLUMN:3;F:VALUE:203.324&2=Success&3=58> 
 +<WRAP center round important 100%> 
 +This function only works as described with firmware 2.3 and higher. If using an older firmware, please upgrade to the latest firmware before using this function. 
 +</WRAP> 
 + 
 +Loads data into the event system for jumping the offset phase lock frequency when a jump frequency event is received. The **ROW** sets when this frequency jump will be engaged; **ROW**=1 means the first event will trigger this jump value. **ROW**=3 will run on the 3rd event. Events loop back based on the number of event points (set by the EVTNUM command), so if there are 5 event points, then the **ROW** that is jumped will be sequentially: 1,2,3,4,5,1,2,3,4,5,1.... 
 + 
 +The **COLUMN** sets the column of data to be written. Column 0 sets the **MODE** (see below for explanation). Column 1 sets the reference frequency. Column 2 sets the amount of feedforward to jump the servo output to help the servo quickly acquire lock at the new offset frequency. 
 + 
 +The data table for storing the settings looks like the following: 
 + 
 +^    ^  Columnn 0 (Mode)  ^  Column 1 (Ref. Freq)  ^  Column 2 (FeedForward) ^ 
 +^  Row 1    3  |  102.34  |  0.435  |  
 +^  Row 2  |  5  |  88.43  |  -0.23  |  
 +^  Row 3  |  9  |  105.28  |  -0.76  |  
 + 
 + 
 +The **MODE** sets the whether to invert the error signal, whether to use the internal or external frequency reference and the N value. Below is a table showing the different modes: 
 + 
 + 
 +^  Mode  ^  N  ^  Invert  ^ Internal VCO ^ 
 +^  0  |  8  |  Off  |  Off  |  
 +^  1  |  8  |  Off  |  On  |  
 +^  2  |  8  |  On  |  Off  |  
 +^  3  |  8  |  On  |  On  |  
 +^  4  |  16  |  Off  |  Off  |  
 +^  5  |  16  |  Off  |  On  |  
 +^  6  |  16  |  On  |  Off  |  
 +^  7  |  16  |  On  |  On  |  
 +^  8  |  32  |  Off  |  Off  |  
 +^  9  |  32  |  Off  |  On  |  
 +^  10  |  32  |  On  |  Off  |  
 +^  11  |  32  |  On  |  On  |  
 +^  12  |  64  |  Off  |  Off  |  
 +^  13  |  64  |  Off  |  On  |  
 +^  14  |  64  |  On  |  Off  |  
 +^  15  |  64  |  On  |  On  |  
 + 
 +The command returns SUCCESS if the data is successfully enter, FAIL if not. Data loaded is saved to memory with the **SAVE** command. 
 + 
 +<function=ICEfunc?0=EvtNum&2=7&3=59> 
 +Reads the number of offset phase lock values to loop through via the offset phase lock jump event system. Range from 2 - 8. If set to 4, then the sequence of offset phase lock values will be 1,2,3,4,1,2,3,4,1... where the numbers correspond to the **ELEMENT NUMBER** set when loading data in with the EvtData command. 
 + 
 +<function=ICEfunc?0=EvtNum&1=I:NUMBER:5:&2=5&3=60> 
 +Sets the number of offset phase lock values to loop through via the offset phase lock jump event system. Range from 2 - 8. If set to 4, then the sequence of offset phase lock values will be 1,2,3,4,1,2,3,4,1... where the numbers correspond to the **ELEMENT NUMBER** set when loading data in with the EvtData command. 
 + 
 +<function=ICEfunc?0=EvtJRow&2=3&3=61> 
 +Return the next row that the will be read from the Event Jump Table when the device gets an event matching the event set with the **EvtJUMP** command.  
 + 
 +<function=ICEfunc?0=EvtData&1=I:ROW:4;I:COLUMN:3;&2=3&3=62> 
 +Reads back the data in the Jump Table, using the ROW and COLUMN to set what datapoint to read back. See **EvtData** for more details
  
-RampNum returns 0 if there is a configuration error (ramp increment larger than ramp range) or if number of data points exceeds storage capacity on device, which is 3072 bytes. 
  
-<html></div></html> 
  
-<function=ICEfunc|0=RampRun&2=Busy&3=54> 
-Begins ramping the servo output and taking data according to the values set for **RampInc**, **RampBeg**, and **RampEnd** as described above. Data can be retrieved with the **ReadBlk** command. Board will not respond to any new commands while taking data. Returns status of execution of the ramp, either Busy or Finished. Returns fault if ramp is misconfigured. See **RampNum?** for details. Returns fail if laser is off. At end of ramp, servo output is set to **RampBeg** value. 
-<html></div></html> 
  
  
ice/commands/opls.1395074517.txt.gz · Last modified: 2021/08/26 14:26 (external edit)