Триггер


Команда Триггер(Trigger) используется, когда вы хотите синхронизировать время начала ST с другим ST. Пример ниже показывает. как синхронизировать ST1 с ST0 при помощи триггера.

Пример триггера

$pid0 = pid_open("/mmap/st0");              // open ST 0
pid_ioctl($pid0, "set div sec");            // set unit: second
pid_ioctl($pid0, "set mode output pulse");  // set mode: pulse
pid_ioctl($pid0, "set count 1 1");          // set count values: 1 and 1
pid_ioctl($pid0, "set repc 2");             // set repeat count: 2
pid_ioctl($pid0, "set output dev uio0 0");  // set output dev / pin: uio0 / 0

$pid1 = pid_open("/mmap/st1");              // open ST 1
pid_ioctl($pid1, "set div sec");            // set unit: second
pid_ioctl($pid1, "set mode output pulse");  // set mode: pulse
pid_ioctl($pid1, "set trigger from st0");   // set trigger target: st0
pid_ioctl($pid1, "set count 1 1");          // set count values: 1 and 1
pid_ioctl($pid1, "set repc 2");             // set repeat count: 2
pid_ioctl($pid1, "set output dev uio0 1");  // set output dev / pin: uio0 / 1

pid_ioctl($pid1, "start");                  // start ST 1
pid_ioctl($pid0, "start");                  // start ST 0

while(pid_ioctl($pid1, "get state"));
pid_close($pid0);
pid_close($pid1);

Как вы видите в примере выше, ST (который вы хотите синхронизировать с выходным временем), должен стартовать до запуска цели триггера.

Выходной результат выглядит следующим образом:

st_set_trigger_01

Диапазон ошибок ST

ST имеет следующий диапазон ошибок:

Случай Диапазон ошибки
Одновременное использование 2-х ST приблизительно 1㎲
Одновременное использование 8-ми ST приблизительно 4㎲

※ Если вам нужна высокая точность, используйте HT.