M_CLOCKPPBSWEEP#

code: 413

# set
<module-index> M_CLOCKPPBSWEEP <mode> <ppb_step> <step_delay> <max_ppb> <loops>

# get
<module-index> M_CLOCKPPBSWEEP ?

Description#

Start and stop deviation sweep the local clock of the test module, which drives the TX rate of the test ports

Actions#

set, get

Parameters#

  1. mode: byte: specifying the sweeping function.

  • NONE

  • TRIANGLE

  1. ppb_step: integer, >=0, the numeric clock adjustment in ppb per step of the sweep. If set to 0, the sweep will use as small steps as possible, creating a “linear” sweep of the clock rate.

  2. step_delay: integer, >0, the delay in µs between each step in the sweep. If ppb_step is 0: The total time in µs to sweep linearly from 0 to max_ppb.

  3. max_ppb: integer, !=0, the numeric maximum clock adjustment. The sign of max_ppb determines if the sweep will start with positive or negative offsets. When the next step would exceed the limit set by max_ppb, the sweep changes direction, i.e. the deviation will sweep from 0 to max_ppb, to (-max_ppb), and back to 0.

  4. loops: integer, >=0, the number of full sweeps performed. 0 means “indefinitely”.

Example#

# set
input:  0 M_CLOCKPPBSWEEP TRIANGLE 10000 1000000 100000 0
output: <OK>

# get
input:  0 M_CLOCKPPBSWEEP ?
output: 0 M_CLOCKPPBSWEEP TRIANGLE 10000 1000000 100000 0

Note

The sweep is independent of the M_CLOCKPPB parameter. I.e. the sweep uses the deviation set by M_CLOCKPPB as its zero point.