Вы находитесь на странице: 1из 126

ФОРМ

121108, г. Москва, ул. Ивана Франко, 4


Тел/факс: (499) 144 79 44, (499) 146 11 75, (495) 642 07 54

Система контрольно-измерительная
Тестер СБИС «FORMULA HF2»

Описание пользовательских функций


ФРМИ 411739.001 РЭ2
Редакция 1.6

mail: info@form.ru сайт: www.form.ru


ФРМИ 411739.001 РЭ2
Редакция 1.6

ОГЛАВЛЕНИЕ

1 ВВЕДЕНИЕ 7

1.1 Назначение 7

1.2 Functions vs Procedures. Функции и процедуры 8

1.3 «Каналы» (Channel) и «источники питания» (Power) тестера FHF 9

1.4 Матрица Тестовой последовательности 11

1.5 Файл конфигурации 13

1.6 Список сокращений 14

2 ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ 16

2.1 Взаимодействие с оболочкой и оператором 16


2.1.1 Init_Connect 16
2.1.2 Close_Connect 18
2.1.3 Wait_For_Run 18
2.1.4 Test_Stop 19
2.1.5 Set_Stopped 19
2.1.6 Set_Next_Chip 19
2.1.7 Get_Stop_On_Error 20
2.1.8 Save_To_DB 20
2.1.9 Print_Result 22
2.1.10 Set_Quality_Group 24

2.2 Управление процессом выполнения ИП 24


2.2.1 Stop_On_Test 24
2.2.2 Hard_Delay 26
2.2.3 Flush_Cache 27

2.3 Конфигурация 28
2.3.1 Upload_Map 28
2.3.2 Get_Channels_Count 29
2.3.3 Get_IC_Pin_Name 29
2.3.4 Get_IC_Pin 30
2.3.5 Set_Channel_Type 31
2.3.6 Get_Channel_Type 32

2
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.4 Управление PIN-электроникой 33
2.4.1 Set_Pins 33
2.4.2 Set_Pins_Mode 36
2.4.3 Set_DRV_Range 37
2.4.4 Get_DRV_Range 38
2.4.5 Set_DRL 38
2.4.6 Get_DRL 39
2.4.7 Set_DRH 40
2.4.8 Get_DRH 40
2.4.9 Set_DRT_Ecm 41
2.4.10 Get_DRT_Ecm 41
2.4.11 Set_CMP_Range 42
2.4.12 Get_CMP_Range 43
2.4.13 Set_CPH 43
2.4.14 Get_CPH 44
2.4.15 Set_CPL 45
2.4.16 Get_CPL 45
2.4.17 Set_SRC 46
2.4.18 Get_SRC 46
2.4.19 Set_SNK 47
2.4.20 Get_SNK 48

2.5 Управление PMU 48


2.5.1 Set_PMU 48
2.5.2 PMU_Set_Mode 50
2.5.3 PMU_Get_Mode 50
2.5.4 PMU_Set_U 51
2.5.5 PMU_Set_I 51
2.5.6 PMU_Get_Value 52
2.5.7 PMU_Get_Range_U 53
2.5.8 PMU_Get_Range_I 53
2.5.9 PMU_Set_I_Lim 54
2.5.10 PMU_Get_I_Lim 55
2.5.11 PMU_Set_Clamp_L 55
2.5.12 PMU_Get_Clamp_L 55
2.5.13 PMU_Set_Clamp_H 56
2.5.14 PMU_Get_Clamp_H 56
2.5.15 PMU_Connect 56

2.6 Управление VDD 57


2.6.1 Set_VDD 57
2.6.2 Set_VDD_2I 59
2.6.3 VDD_Set_U 60

3
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.6.4 VDD_Set_Mode 61
2.6.5 VDD_Get_Mode 62
2.6.6 VDD_Set_I 62
2.6.7 VDD_Get_Value 63
2.6.8 VDD_Get_Range_U 64
2.6.9 VDD_Get_Range_I 65
2.6.10 VDD_Set_I_Lim 65
2.6.11 VDD_Get_I_Lim 66
2.6.12 VDD_Set_Clamp_L 67
2.6.13 VDD_Get_Clamp_L 68
2.6.14 VDD_Set_Clamp_H 68
2.6.15 VDD_Get_Clamp_H 69
2.6.16 VDD_Connect 69
2.6.17 VDD_Set_CPL 70
2.6.18 VDD_Set_CPH 70

2.7 Управление VCC 71


2.7.1 Set_VCC 71
2.7.2 VCC_Set_Mode 72
2.7.3 VCC_Get_Mode 72
2.7.4 VCC_Set_U 73
2.7.5 VCC_Get_U 73
2.7.6 VCC_Set_I_Lim 74
2.7.7 VCC_Get_I_Lim 74
2.7.8 VCC_Connect 75

2.8 Измерение напряжений и токов 76


2.8.1 Set_Meas_Count 76
2.8.2 PMU_Meas_U 76
2.8.3 PMU_Meas_U_StdDev 77
2.8.4 PMU_Meas_I 78
2.8.5 PMU_Meas_I_StdDev 78
2.8.6 VDD_Meas_U 79
2.8.7 VDD_Meas_U_StdDev 80
2.8.8 VDD_Meas_I 81
2.8.9 VDD_Meas_I_StdDev 81
2.8.10 VDD_Meas_2I 82
2.8.11 VDD_Meas_2I_StdDev 83
2.8.12 VDD_Get_Meas_Mode 84
2.8.13 VCC_Meas_U 84
2.8.14 VCC_Meas_U_StdDev 85
2.8.15 VCC_Meas_I 86
2.8.16 VCC_Meas_I_StdDev 86

4
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.9 Коммутация 87
2.9.1 Connect_DC 87
2.9.2 Connect_AC 88
2.9.3 Unconnect_All 88

2.10 Тестовая Последовательность 89


2.10.1 Set_Vectors_Сount 89
2.10.2 Get_Vectors_Сount 89
2.10.3 Set_State 89
2.10.4 Get_State 91
2.10.5 Set_Vector 92
2.10.6 Get_Vector 93
2.10.7 Set_Vectors 93
2.10.8 Get_Vectors 94
2.10.9 Set_Command 95
2.10.10 Get_Command 96
2.10.11 Upload_Vectors 97
2.10.12 Load_Vectors 98
2.10.13 Save_Vectors 98
2.10.14 Export_Vectors 99
2.10.15 Import_Vectors 99
2.10.16 Fill_Vectors 100
2.10.17 Insert_Vectors 101
2.10.18 Delete_Vectors 102

2.11 Частота ФК 102


2.11.1 Set_FC_Freq 102
2.11.2 Get_Freqs_Info 103

2.12 Режимы и времена каналов 103


2.12.1 Set_Pulse_Shape 104
2.12.2 Get_Pulse_Shape 105
2.12.3 Get_Pulse_Timing 106
2.12.4 Set_Control_Mode 106
2.12.5 Get_Control_Mode 108
2.12.6 Get_Control_Timing 109
2.12.7 Upload_Timings 109
2.12.8 Load_Timings 109
2.12.9 Save_Timings 110
2.12.10 Import_Timings 110
2.12.11 Export_Timings 111

2.13 Запуск ФК 111

5
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.13.1 Run_FC 111
2.13.2 Stop_FC 113
2.13.3 Get_FC_State 114
2.13.4 Get_Step_Counter 114
2.13.5 Get_Last_Vector_Adr 115

2.14 Обработка ошибок ФК 115


2.14.1 Get_Channel_Error 115
2.14.2 Get_Channel_Error_Count 116
2.14.3 Get_Board_Error 116
2.14.4 Get_Board_Error_Count 117
2.14.5 Get_Global_Error 117
2.14.6 Get_Global_Error_Count 118
2.14.7 Get_First_Error_Step 118
2.14.8 Get_Adr_First_Error_Vector 119

2.15 Карта ошибок 120


2.15.1 Get_DEM_Cp 120

2.16 Управление интерфейсом I2C 120


2.16.1 Write_I2C 120
2.16.2 Read_I2C 121

2.17 Недокументированные 121


2.17.1 PMU_Get_Meas_Mode 121
2.17.2 Set_Active_33 122
2.17.3 Set_Pin33 123
2.17.4 Set_Channels_Count 123
2.17.5 Set_Rising_Delay 124
2.17.6 Set_Falling_Delay 124
2.17.7 Get_Rising_Delay 125
2.17.8 Get_Falling_Delay 125

6
ФРМИ 411739.001 РЭ2
Редакция 1.6

1 Введение

1.1 Назначение
Данный документ описывает процедуры и функции верхнего уровня
программного пакета СИНБОЛ тестера «Formula-HF» ФРМИ2.693.070 (далее —
тестер FHF), предоставляемые Пользователю (разработчику Измерительных
Программ).
Пользовательские функции и процедуры предназначены для
взаимодействия измерительных программ (далее — ИП, называются также
«программами контроля») с программным обеспечением и аппаратурой тестера
FHF.
ПРИМЕЧАНИЕ: Пользователю предоставляются процедуры и функции
только верхнего уровня, т.к. процедуры и функции среднего и нижнего уровня
небезопасны и при неправильном использовании могут привести к выходу из
строя тестера FHF.
ВНИМАНИЕ: Хотя процедуры верхнего уровня являются относительно
безопасными для тестера, они не гарантирует безопасности испытуемого объекта
контроля в случае ошибок Пользователя (в измерительной программе).
Например, случайная подача на микросхему напряжения питания, превышающего
предельно допустимое для неѐ значение, может привести к выходу этой
микросхемы из строя. Будьте аккуратны и внимательны!
С точки зрения Пользователя процедуры и функции реализованы в виде
т.н. «оберток» (Wrappers). Они обеспечивают совместимость ПО СИНБОЛ с
конкретной средой разработки (Development Environment) и с конкретным языком
программирования. Обертки поставляются Производителем в виде набора
готовых файлов:
описания констант, типов, пользовательских процедур и функций;
бинарных библиотек;
и встраиваются как составная часть в проект разработчика ИП.
В настоящее время Производитель поддерживает обертки (и гарантирует
их работоспособность) для следующих языков программирования:
PASCAL, среда разработки Borland Delphi, Version 7.0;
С++, среда разработки Microsoft Visual Studio 2008, Version 9.0.

7
ФРМИ 411739.001 РЭ2
Редакция 1.6
Структура данного документа предусматривает, что он может
использоваться как для первичного ознакомления начинающего Пользователя с
функциями и процедурами ПО СИНБОЛ, так и в роли справочника для опытного
Пользователя.

1.2 Functions vs Procedures. Функции и процедуры


В языках программирования высокого уровня обычно поддерживаются два
вида подпрограмм: процедуры и функции.
Процедуры отличаются от функций тем, что функции возвращают какое-
либо значение, а процедуры — нет.
Так, например, описанная в данном документе подпрограмма Set_DRL
устанавливает напряжение нижнего уровня драйвера и по сути своей является
процедурой, а парная ей подпрограмма Get_DRL возвращает текущее (ранее
установленное) напряжение нижнего уровня драйвера, и по сути своей является
функцией.
Тем не менее с формальной точки зрения большинство описанных в
данном документе как пользовательских процедур, так и пользовательских
функций являются функциями, возвращающими логическую (boolean) величину
— результат своего выполнения.
Чаще всего результат выполнения процедуры/функции, равный false (т.е
при выполнении возникли ошибки), возникает из-за неправильно (некорректно)
заданных при еѐ вызове параметров. На этапе отладки бывает полезно
контролировать эту возвращаемую величину, для чего следует вызывать
процедуры/функции как функции:
b = Set_DRL(Channels, 0.3);
где b — переменная типа boolean.
В отлаженных программах для ускорения их выполнения допускается
вызывать процедуры/функции как процедуры, не анализируя возвращаемое
значение:
Get_DRL(Channel, DRL);
ПРИМЕЧАНИЕ: В данном случае используется т.н. механизм «возврата
результата функции через еѐ параметр», а именно: напряжение нижнего уровня
драйвера записывается в переменную DRL типа double.
Далее в этом документе термин «процедура» будет применяться к тем
подпрограммам, которые только задают что-либо, и не возвращают какое-либо

8
ФРМИ 411739.001 РЭ2
Редакция 1.6
значение, а термин «функция» — к тем, которые возвращают какие-либо значения
в одном или нескольких параметрах.

1.3 «Каналы» (Channel) и «источники питания» (Power)


тестера FHF
Пользовательское ПО тестера FHF и соответствующие измерительные
программы ИП должны:
оперировать терминами объекта контроля, т.е. быть независимыми от
конкретной конфигурации тестера и измерительной оснастки;
не требовать перекомпиляции (т.е. сохранять работоспособность) при
изменении конфигурации тестера FHF и/или измерительной оснастки.
Для обеспечения этих требований в ПО введены специальные термины:
Channel и Power.
Под каналом Channel понимается совокупность аппаратуры тестера, в
общем случае обслуживающая один сигнальный вывод объекта контроля и
включающая в себя следующие узлы:
выходной разъем тестера FHF (т.н. точка «Device Under Test» DUT);
«PIN-электроника» (драйвер, формирующий тестовые воздействия и
компаратор, фиксирующий отклики объекта контроля);
Активная нагрузка;
Измеритель PMU (групповое устройство), обслуживающий
соответствующую точку DUT;
Реле AC, подключающее к точке DUT «PIN-электронику»;
Реле DC, подключающее к точке DUT измеритель PMU;
Сквозной канал Генератора Тестовой Последовательности ГТП
(включающий форматер, компаратор, обработчик ошибок), управляющий
«PIN-электроникой»;
Часть памяти векторов (и соответствующий столбец поля State в матрице
Тестовой Последовательности);
Часть памяти ошибок (и соответствующий столбец карты ошибок DEM);
ПРИМЕЧАНИЕ: одна плата PIN266 тестера FHF обслуживает 32 канала и
содержит одно групповое устройство PMU.
Для идентификации вышеуказанных ресурсов при вызове пользовательских
процедур и функций используются уникальные абстрактные номера (Channel),

9
ФРМИ 411739.001 РЭ2
Редакция 1.6
напрямую не связанные с аппаратурой тестера. Значения Channel должны
задаваться в возрастающем порядке, с нуля, без пропусков.
Соответствие номеров каналов Channel аппаратным ресурсам тестера
задаѐтся в т.н. файле конфигурации (секция [PINS]). В случае изменения
конфигурации тестера FHF и/или измерительной оснастки достаточно
скорректировать этот файл.
Максимальное количество каналов Channel, поддерживаемое ПО, равно
256, что соответствует конфигурации тестера с 8-ю платами PIN266.
Такое решение позволяет при вызове пользовательских процедур
управления PIN-электроникой, PMU, функциональным контролем ФК в качестве
параметров идентификации передавать константы (переменные), имена которых
соответствуют названиям сигнальных выводов испытуемого объекта контроля,
что является весьма удобным и наглядным.
Аналогично, под источником питания Power понимается аппаратурный
модуль тестера (VDD и VCC), обслуживающий вывод питания (один или несколько
включенных параллельно) объекта контроля.
ПРИМЕЧАНИЕ: в состав каждой платы PIN266 входит один модуль VCC и
один модуль VDD.
Объект контроля может использовать несколько источников питания, с
различными полярностями, номиналами напряжения и тока.
В пользовательском ПО такие источники питания идентифицируются
уникальными номерами (Power_ID). Значения Power_ID должны задаваться в
возрастающем порядке, с нуля, без пропусков
Соответствие номеров Power_ID аппаратным ресурсам тестера (VDD и
VCC) задаѐтся в файле конфигурации (секция [POWER]). В случае изменения
конфигурации тестера FHF и/или измерительной оснастки достаточно
скорректировать этот файл.
Такое решение позволяет при вызове пользовательских процедур
управления источниками VDD и VCC в качестве параметров идентификации
передавать константы (переменные), имена которых соответствуют названиям
выводов питания испытуемого объекта контроля, что является весьма удобным и
наглядным.

10
ФРМИ 411739.001 РЭ2
Редакция 1.6

1.4 Матрица Тестовой последовательности


Матрица Тестовой Последовательности (иногда называется также
«память векторов») представляет собой область в памяти компьютера,
выделенную для загрузки и/или формирования ТП. Структура матрицы
представлена на рис.
NOP 0 0 0 0 0
REP 0 0 0 0 1 Counter - 1
PAGE_C 0 0 0 1 0 Page_C
PAGE 0 0 0 1 1 Page 3) Set_State(Channel, Vector_Adr, State)
JMP_ABS 0 0 1 0 0 Adr
JMP_REL 0 0 1 0 1 Offset
JNZ 0 0 1 1 0 Offset 2) Set_Vectors_Count(Vectors_Count)
JZ 0 0 1 1 1 Offset
CALL 0 1 0 0 0 Offset_C
RET 0 1 0 0 1 S0 0 0 1
HALT 0 1 0 1 0 S1 1 0 1
MBGN 0 1 0 1 1 SH 1 1 0
MEND 0 1 1 0 0 EVdd, On_Vdd, EVcc, On_Vcc, ENew, E33, N33Ch[] SL 0 1 0
DO 0 1 1 0 1 Counter - 1 SQ 0 0 0
LOOP 0 1 1 0 0 SZ 1 1 1
CTR_STATIC 0 0 0 0 0 EVdd, On_Vdd, EVcc, On_Vcc, ENew, E33, N33Ch[] SX 0 1 1
JRNZ 1 0 0 0 0 Offset SJ 1 0 0
LC 1 0 0 0 1 Value Test Block Mask

Command Operand State[N-1..0]


Vector_Adr
00000000 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00
00000001 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00
00000002 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00

64M = 67108864 MAX


00000003 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00
00000004 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00
00000005 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00
00000006 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00

Vectors_Count-1 04 03 02 01 00 13 12 11 10 09 08 07 06 05 04 03 02 01 00 N-1 10 09 08 07 06 05 04 03 02 01 00

256 MAX

4) Set_Command(Vector_Adr, Command, Operand) 1)Upload_Map(File_Name)

5) Upload_Vectors(Start_Adr, End_Adr)

Матрица (представлена чѐрным цветом) состоит из Vectors_Count строк,


где величина Vectors_Count задается процедурой Set_Vectors_Count() и
соответствует количеству векторов в тестовой последовательности (до 64M).
Столбцы матрицы ТП сгруппированы в три поля:
поле Command — фиксированной ширины. Команда (код операции).
Возможные значения: NOP, REP, PAGE_C, PAGE, JMP_ABS, JMP_REL,
JNZ, JZ, CALL, RET, HALT, MBGN, MEND, DO, LOOP, CTR_STATIC;
поле Operand — фиксированной ширины. В зависимости от типа
команды Command может быть адресом, смещением, счетчиком

11
ФРМИ 411739.001 РЭ2
Редакция 1.6
повторений и др. Если в данной команде операнд не используется, то
поле Operand должен быть содержать 0.
поле State — переменной ширины. Количество столбцов в поле
State соответствует количеству активных (используемых в ИП) каналов
тестера и задается автоматически во время обязательного выполнения
процедуры Upload_Map(File_Name). Другими словами, ширина поля
State равна количеству строк в секции [PINS] конфигурационного файла
(не более 256).
Каждая ячейка в поле State представляет собой 3-х битовую комбинацию
[Test, Mask, Block], определяющую тестовое воздействие в моменты t1, t2
(драйвер) и/или контроль состояния в моменты t3, t4 (компаратор) для данного
канала в данном векторе, с возможными значениями:
S0 — низкий выходной уровень драйвера, отсутствие контроля
компаратором;
S1 — высокий выходной уровень драйвера, отсутствие контроля
компаратором;
SH — высокоимпедансное состояние выхода драйвера, контроль низкого
уровня компаратором;
SL — высокоимпедансное состояние выхода драйвера, контроль низкого
уровня компаратором;
SQ — низкий выходной уровень драйвера, контроль низкого уровня
компаратором;
SZ — высокоимпедансное состояние выхода драйвера, контроль
промежуточного уровня компаратором;
SX — высокоимпедансное состояние выхода драйвера, отсутствие
контроля компаратором;
SJ — высокий выходной уровень драйвера, контроль высокого уровня
компаратором.
Содержимое ячеек матрицы ТП после инициализации:
 Command = NOP;
 Operand = 0;
 State[] = SX.
Способы заполнения матрицы ТП:
 загрузить матрицу ТП из файла (Load_Vectors, Export_Vectors).

12
ФРМИ 411739.001 РЭ2
Редакция 1.6
 сформировать матрицу ТП «вручную» (в теле измерительной
программы), для чего:
o задать количество строк в матрице ТП (Set_Vectors_Count);
o в цикле с перебором всех каналов и всех векторов переписать
содержимое константного массива TP[] во внутреннюю (в
памяти компьютера) матрицу ТП;
o задать (при необходимости) команды и операнды
(Set_Command) для каждого вектора. Если используется
только линейный ФК, то нет необходимости
переустанавливать значение поля «Command» матрицы ТП по
умолчанию, равное NOP;
 загрузить сформированные вектора в аппаратуру тестера FHF
(Upload_Vectors);

1.5 Файл конфигурации


Файл конфигурации (называемый также конфигурационный файл, MAP-
файл) описывает соответствие каналов Channel аппаратным ресурсам тестера, а
также выводам испытуемого объекта контроля.
Рекомендуемое расширение файла — «.MAP».
Файл имеет текстовый формат и состоит из 2-х секций сходной структуры:
[PINS], — задаѐт конфигурации сигнальных цепей;
[POWER] — задаѐт конфигурации цепей питания.
Каждая секция содержит строки следующего формата:
Channel_ID=Board,PIN;IC_Pin_Name=IC_Pin//Comment
Поля конфигурационной строки имеют следующее назначение:
Channel_ID — идентификатор канала. Значения Channel_ID
должны задаваться в возрастающем порядке, с нуля, без пропусков;
Board — логический адрес (0…62) платы PIN266 тестера
FHF;
PIN — номер канала (0…31) на плате PIN266. Для цепей
питания допустимы значения: VCC, VDD, GND;
IC_Pin_Name — имя вывода испытуемой объекта контроля. Должен
содержать английские буквы, цифры и символы подчеркивания «_» и
начинаться с буквы. Длина не более 15-ти символов;

13
ФРМИ 411739.001 РЭ2
Редакция 1.6
IC_Pin — номер вывода объекта контроля. Может содержать
буквы (например, «C3» для корпусов типа BGA). Длина не более 15-ти
символов;
Comment — комментарий, от знака «//» до конца строки;
, = ; // — служебные разделительные знаки. Допускается
окружать их пробелами и знаками табуляции.
Некоторые поля конфигурационной строки можно опускать.
Пример содержимого файла конфигурации IC_1533IE7.MAP для
микросхемы 1533ИЕ7 (КУ ФРМИ3.481.180):
[PINS]
00 = 0, 25; D2 = 1 //вход второго разряда
01 = 0, 10; Q2 = 2 //выход первого разряда
02 = 0, 16; Q1 = 3 //выход второго разряда
03 = 0, 29; Down = 4 //обратный счет "-1"
04 = 0, 31; Up = 5 //прямой счет "+1"
05 = 0, 20; Q3 = 6 //выход третьего разряда
06 = 0, 22; Q4 = 7 //выход четвертого разряда
07 = 0, 03; D4 = 9 //вход четвертого разряда
08 = 0, 05; D3 = 10 //вход третьего разряда
09 = 0, 07; nLoad = 11 //загрузка
10 = 0, 08; nCR = 12 //прямой перенос (carry)
11 = 0, 02; nBR = 13 //обратный перенос (borrow, заѐм)
12 = 0, 11; Clr = 14 //сброс (в состояние логический 0)
13 = 0, 13; D1 = 15 //вход первого разряда
14 = 0, 28; Up_ = 5 //вспомагательный канал для вывода Up
15 = 0, 26; Down_ = 4 //вспомагательный канал для вывода Down
16 = 0, 24; D1_ = 15 //вспомагательный канал для вывода D1
17 = 0, 30; D2_ = 1 //вспомагательный канал для вывода D2
18 = 0, 06; D3_ = 10 //вспомагательный канал для вывода D3
19 = 0, 00; D4_ = 9 //вспомагательный канал для вывода D4
20 = 0, 12; nLoad_ = 11 //вспомагательный канал для вывода nLoad
21 = 0, 18; Clr_ = 14 //вспомагательный канал для вывода Clr
22 = 0, 01; Synch = //на синхровход осциллографа
[POWER]
0 = 0, VDD; Power = 16 //питание +5В

1.6 Список сокращений


BGA Ball Grid Array
DUT Device Under Test
FC Functional Control
FHF тестер «Formula-HF»
FI Force Current
FN Force Nothing
FV Force Voltage
ID Identifier
MI Measure Current
MV Measure Voltage

14
ФРМИ 411739.001 РЭ2
Редакция 1.6
PMU Parametric Measurement Unit
StdDev Standard Deviation, СКО
SNK SiNK
SRC SouRCe
USB Universal Serial Bus
DCM Измерительная шина PMU
ГТП Генератор Тестовой Последовательности
ИП Измерительная Программа
КУ контактирующее устройство
ОЧФК Опорная Частота Функционального Контроля
ПО Программное Обеспечение
СКО Cредне Квадратичное Отклонение
ТП Тестовая Последовательность
ФК Функциональный Контроль

15
ФРМИ 411739.001 РЭ2
Редакция 1.6

2 Описание пользовательских функций


Для удобства ознакомления функции и процедуры объединены в группы (по
назначению).

2.1 Взаимодействие с оболочкой и оператором


Данная группа функций обеспечивает взаимодействие ИП с программной
оболочкой FormHF.exe, .

2.1.1 Init_Connect
Осуществляет подключение измерительной программы ИП к оболочке
(инициализация соединения).
Синтаксис PASCAL:
function Init_Connect(HWin: HWND; HApp: HWND; Title: PChar;
Comments: PChar; Call_Back_Proc: T_Call_Back_Proc; Prog_ID:
byte = 1): BOOL;
Синтаксис С++:
bool Init_Connect(HWND HWin, HWND HApp, char* Title,
char* Comments, Call_Back_Proc_t CB, unsigned char ProgID =
1);

Параметры:
HWin хэндл (дескриптор) окна. Зарезервировано, должен
быть равен 0.
HApp хэндл (дескриптор) приложения. Зарезервировано,
должен быть равен 0.
Title — название измерительной программы. Строка
длиной не более 256 символов. Название отображается в оболочке
(список «Текущая программа контроля» и статусная строка) после
подключения ИП и в колонке «Название» окна «Программы контроля»;
Comments — комментарий (примечание) на усмотрение
Пользователя. Строка длиной не более 256 символов. Отображается в

16
ФРМИ 411739.001 РЭ2
Редакция 1.6
колонке «Примечание» окна «Программы контроля», которое открывается

кнопкой . Обычно содержит дополнительную информацию о


программе контроля. Например: тип корпуса микросхемы, язык
программирования среды разработки, версию программы контроля и т.п.

Call_Back_Proc — указатель на т.н. «Call-Back» процедуру.


Допустимое значение — адрес процедуры.
Prog_ID — идентификатор измерительной программы.
Допустимые значения 1 ≤ Prog_ID ≤ 16. Рекомендуемое значение
Prog_ID = 1. Значения 2…16 зарезервированы;
«Call-Back» процедура предназначена для оперативного информирования
ИП о действиях оператора (event).
«Call-Back» процедура должна быть описана в теле ИП и иметь
следующий формат:
Синтаксис PASCAL:
procedure Call_Back(Cmd: WORD; Data: pointer; Lng: WORD);
stdcall;
Синтаксис С++:
void __stdcall Call_Back(unsigned short Cmd,
void* Data, unsigned short Lng);
Оболочка вызывает процедуру Call_Back и передаѐт через параметр Cmd
информацию о следующих событиях:
 Cmd = 0100h — ИП успешно подключилась к оболочке;
 Cmd = 0000h — на оболочке нажата кнопка «Закрыть»:

17
ФРМИ 411739.001 РЭ2
Редакция 1.6

 Cmd = 1000h — произошла критическая ошибка. В этом случае


параметр Data указывает на адрес дескриптора ошибки, а
параметр Lng описывает длину дескриптора ошибки
(зарезервировано для будущего развития). Измерительную
программу следует закрыть, предварительно вызвав процедуру
Close_Connect;

2.1.2 Close_Connect
Осуществляет отключение измерительной программы от оболочки
(закрытие соединения).
Синтаксис PASCAL:
procedure Close_Connect();
Синтаксис С++:
void Close_Connect(void);

2.1.3 Wait_For_Run
Ожидает нажатия на оболочке кнопки «Пуск»

(или кнопки«Закрыть»)

.
Синтаксис PASCAL:
function Wait_For_Run(): BOOL;
Синтаксис С++:
bool Wait_For_Run(void);

Возвращаемое значение:
true — нажали кнопку «Пуск»;
false — нажали кнопку «Закрыть»;
Функция Wait_For_Run() не возвращает управления в измерительную
программу до тех пор, пока в оболочке не будет нажата или кнопка «Пуск», или
кнопка «Закрыть».

18
ФРМИ 411739.001 РЭ2
Редакция 1.6
При нажатии кнопки «Пуск» еѐ название в оболочке автоматически
меняется на «Стоп».

При последующем вызове процедуры Set_Stopped название кнопки снова


меняется на«Пуск».

2.1.4 Test_Stop
Возвращает, была ли нажата кнопка «Стоп» на оболочке

.
Синтаксис PASCAL:
function Test_Stop(): BOOL;
Синтаксис С++:
bool Test_Stop(void);

Возвращаемое значение:
true — кнопка «Стоп» была нажата;
false — кнопка «Стоп» не была нажата;

2.1.5 Set_Stopped
Сообщает оболочке, что проверка объекта контроля закончена.
Синтаксис PASCAL:
procedure Set_Stopped();
Синтаксис С++:
void Set_Stopped(void);
После вызова процедуры название кнопки «Стоп» оболочки меняется на
«Пуск» (т.е оболочка готова к следующей проверке).

2.1.6 Set_Next_Chip
Сообщает оболочке и базе данных о переходе к контролю следующей
микросхемы (кристала).

19
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Set_Next_Chip(): boolean;
Синтаксис С++:
bool Set_Next_Chip(void);
Inc chip counter, put record in table MainResult

2.1.7 Get_Stop_On_Error
Возвращает состояние параметра оболочки «До брака»

.
Синтаксис PASCAL:
function Get_Stop_On_Error(): boolean;
Синтаксис С++:
bool Get_Stop_On_Error(void);

Возвращаемые значения:
True флажок (переключатель) «До брака» оболочки
помечен галочкой;
False флажок (переключатель) «До брака» оболочки не
помечен галочкой;

2.1.8 Save_To_DB
Сохраняет результаты измерений в базу данных и таблицу «Протокол».
Синтаксис PASCAL:
function Save_To_DB(Test, IC_Pin: PChar; Lim_L, Lim_H,
Res_Value: double; Units: T_DB_Units; Comment: PChar;
OK: boolean; User_Data: PChar): boolean;
Синтаксис С++:
bool Save_To_DB(const char* Test, const char* Contact, double
Lim_L, double Lim_H, double Res_Value, DB_Units_t Units,
const char* Comment, bool OK, const char* User_Data);

Параметры:
Test — название теста. Записывается в колонку «Тест»
таблицы «Протокол». Допустимые значения: строка длиной ≤ 32 символов
(включая завершающий ноль);

20
ФРМИ 411739.001 РЭ2
Редакция 1.6
IC_Pin — название вывода испытуемой микросхемы.
Записывается в колонку «Вывод» таблицы «Протокол». Допустимые
значения: строка длиной ≤ 16 символов (включая завершающий ноль);
Lim_L — нижняя допустимая граница измеренного
значения. Записывается в колонку «Н.Граница» таблицы «Протокол»;
Lim_H — верхняя допустимая граница измеренного
значения. Записывается в колонку «В.Граница» таблицы «Протокол»;
Res_Value — измеренная (result) величина. Записывается в
колонку «Изм.вел.» таблицы «Протокол»;
Units — единицы измерения параметров Lim_L, Lim_H,
Res_Value. Записывается в колонку «Ед.изм.» таблицы «Протокол».
Возможные значения:
 DB_U_ — безрамерная величина;
 DB_U_V — вольт;
 DB_U_mV — милливольт;
 DB_U_uV — микровольт;
 DB_U_A — ампер;
 DB_U_mA — миллиампер;
 DB_U_uA — микроампер;
 DB_U_S — секунда;
 DB_U_mS — миллисекунда;
 DB_U_uS — микросекунда;
 DB_U_nS — наносекунда;
 DB_U_Hz — герц;
 DB_U_KHz — килогерц;
 DB_U_MHz — мегагерц;
Comment — комментарий, на усмотрение Пользователя,
например, номер вектора ошибки, количество выполненных такток (шагов)
ФК и т.п. Записывается в колонку «Комментарий» таблицы «Протокол».
Допустимые значения: строка длиной ≤ 16 символов (включая
завершающий ноль);
OK — результат выполнения теста «брак/годен».
Записывается в колонку «Результат» таблицы «Протокол». Возможные
значения:
 false — брак;

21
ФРМИ 411739.001 РЭ2
Редакция 1.6
 true — годен;
User_Data — пользовательские данные, например, условия
выполнения теста (напряжение питания и т.п.). Записывается в колонку
«Польз.данные» таблицы «Протокол». Допустимые значения: строка
длиной ≤ 22 символов (включая завершающий ноль);
Процедура Save_To_DB отличается от процедуры Print_Result тем, что
логический параметр OK (годен/брак) является входным. Он должен быть
сформирован перед вызовом процедуры (например, по более широкому
критерию, чем просто Lim_L <= Res_Value <= Lim_H).
Данные в таблицу (окно) «Протокол» оболочки выводятся только, если
она активизирована (на оболочке нажата кнопка«Протокол» ).
Данные в колонки «Н.Граница», «В.Граница», «Изм.вел.» таблицы
«Протокол» выводятся с округлением до 4-х значащих цифр.
Строка таблицы «Протокол» автоматически подсвечивается
красным/зеленым цветом в зависимости от значения параметра OK
брак/годен.

2.1.9 Print_Result
Сохраняет результаты измерений в базу данных и таблицу «Протокол» с
автоматическим формированием признака «брак/годен».
Синтаксис PASCAL:
function Print_Result(Test, IC_Pin: PChar; Lim_L, Lim_H,
Res_Value: double; Units: T_DB_Units; Comment: PChar;
out OK: boolean; User_Data: PChar): boolean;
Синтаксис С++:
bool Print_Result(const char* Test, const char* Contact, double
Lim_L, double Lim_H, double Res_Value, DB_Units_t Units,
const char* Comment, bool& OK, const char* User_Data);

Параметры:
Test — название теста. Записывается в колонку «Тест»
таблицы «Протокол». Допустимые значения: строка длиной ≤ 32 символов
(включая завершающий ноль);
IC_Pin — название вывода испытуемой микросхемы.
Записывается в колонку «Вывод» таблицы «Протокол». Допустимые
значения: строка длиной ≤ 16 символов (включая завершающий ноль);

22
ФРМИ 411739.001 РЭ2
Редакция 1.6
Lim_L — нижняя допустимая граница измеренного
значения. Записывается в колонку «Н.Граница» таблицы «Протокол»;
Lim_H — верхняя допустимая граница измеренного
значения. Записывается в колонку «В.Граница» таблицы «Протокол»;
Res_Value — измеренная (result) величина. Записывается в
колонку «Изм.вел.» таблицы «Протокол»;
Units — единицы измерения параметров Lim_L, Lim_H,
Res_Value. Записывается в колонку «Ед.изм.» таблицы «Протокол».
Возможные значения:
 DB_U_ — безрамерная величина;
 DB_U_V — вольт;
 DB_U_mV — милливольт;
 DB_U_uV — микровольт;
 DB_U_A — ампер;
 DB_U_mA — миллиампер;
 DB_U_uA — микроампер;
 DB_U_S — секунда;
 DB_U_mS — миллисекунда;
 DB_U_uS — микросекунда;
 DB_U_nS — наносекунда;
 DB_U_Hz — герц;
 DB_U_KHz — килогерц;
 DB_U_MHz — мегагерц;
Comment — комментарий, на усмотрение Пользователя,
например, номер вектора ошибки, количество выполненных такток (шагов)
ФК и т.п. Записывается в колонку «Комментарий» таблицы «Протокол».
Допустимые значения: строка длиной ≤ 16 символов (включая
завершающий ноль);
User_Data — пользовательские данные, например, условия
выполнения теста (напряжение питания и т.п.). Записывается в колонку
«Польз.данные» таблицы «Протокол». Допустимые значения: строка
длиной ≤ 16 символов (включая завершающий ноль);

23
ФРМИ 411739.001 РЭ2
Редакция 1.6
Возвращаемое значение:
OK — результат выполнения теста «брак/годен».
Записывается в колонку «Результат» таблицы «Протокол». Возможные
значения:
 false — «брак», не выполняется условие
Lim_L <= Res_Value <= Lim_H;
 true — «годен», выполняется условие
Lim_L <= Res_Value <= Lim_H;
Процедура Print_Result отличается от процедуры Save_To_DB тем, что
логческий параметр OK является возвращаемой величиной и формируется
автоматически в процессе вызова процедуры по критерию
Lim_L <= Res_Value <= Lim_H.
Данные в таблицу (окно) «Протокол» выводятся только, если она
активизирована (на оболочке нажата кнопка«Протокол» ).
Данные в колонки «Н.Граница», «В.Граница», «Изм.вел.» таблицы
«Протокол» выводятся с округлением до 4-х значащих цифр.
Строка таблицы «Протокол» автоматически подсвечивается
красным/зеленым цветом в зависимости от значения параметра OK
брак/годен.

2.1.10 Set_Quality_Group
Устанавливает номер группы разбраковки объекта контроля.
Синтаксис PASCAL:
procedure Set_Quality_Group(Group: ShortInt);
Синтаксис С++:
void Set_Quality_Group(short Group);

Параметр:
Group — номер группы разбраковки;
Значение Group < 0 соответствует группе «брак».

2.2 Управление процессом выполнения ИП

2.2.1 Stop_On_Test
Осуществляет диагнастический останов выполнения ИП на тесте с
заданным номером.

24
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
procedure Stop_On_Test(Test: Integer; Comment: PChar);
Синтаксис С++:
void Stop_On_Test(int Test, const char* Comment);

Параметры:
Test — номер теста, на котором необходимо выполнить
диагностический останов. Допустимые значения: 0 ≤ Test ≤ 2147483647;
Comment — комментарий, выводимый в поле. Допустимые
значения: строка длиной ≤ 20 символов.
Процедура Stop_On_Test позволяет осуществлять диагностические
остановы ранее созданного исполняемого файла ИП типа «.exe» (т.е не
вызываемого из среды разработки в режиме «Debug»). Это бывает
необходимо, например, для измерения каких-либо параметров объекта
контроля внешними приборами.
Диагнастический останов выполняется при первом вызове процедуры
Stop_On_Test(), если в оболочке нажата кнопка «Отладка»,

независимо от заданного параметра Test. При этом активируется окошко


«Debug»:

Для продолжения выполнения ИП оператору следует нажать кнопку «ОК».


При дальнейших вызовах процедуры Stop_On_Test() диагнастический
останов выполняется, только если в оболочке нажата кнопка «Отладка» и
номер теста, заданного оператором в поле «Next test»окошка «Debug»,
совпадает с параметром Test.
Если в оболочке отжата кнопка «Отладка», то процедура Stop_On_Test()
игнорируется.

25
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.2.2 Hard_Delay
Формирует аппаратную задержку (останавливает выполнение
измерительной программы) на заданное время.
Синтаксис PASCAL:
procedure Hard_Delay(Delay: Integer);
Синтаксис С++:
void Hard_Delay(int Delay);

Параметр:
Delay — аппаратная задержка [мкс]. Допустимые значения:
0 ≤ Delay ≤ 65535;
Для корректной работы ИП следует использовать процедуру Hard_Delay
везде, где необходима задержка выполнения измерительной программы
(например, для стабилизации параметров объекта контроля после изменения
какого-либо режима).
Задержка выполняется в аппаратуре тестера FHF, что обеспечивает
независимость еѐ величины от ОС компьютера. Использование вместо
процедуры Hard_Delay() процедур типа sleep(), встроенных в язык
программирования, не допускается!
ВНИМАНИЕ: в больщинстве пользовательских процедур время задаѐтся в
наносекундах. Процедура Hard_Delay является исключением — в ней время
задаѐтся в микросекундах.
Если необходимое время задержки превышает максимальную
длительность, обеспечиваемую процедурой Hard_Delay (порядка ~0,065
секунды), следует использовать многократный вызов процедуры Hard_Delay.
Задежка свыше 5 мкс выполняется на уровне аппаратуры тестера
шагами (дискретами) 50 мкс. Реальная величина задержки при этом
округляется до ближайшего большего дискрета.
Задержка Delay [мкс].
Заданная Реальная
1 1
2 2
3 3
4 4
5 5

26
ФРМИ 411739.001 РЭ2
Редакция 1.6
6 50
49 50
50 50
51 100
99 100
100 100
101 150

2.2.3 Flush_Cache
Принудительно форсирует передачу накопленных данных (пакетов
интерфейса USB) из программного кэш-буфера в аппаратуру тестера FHF.
Синтаксис PASCAL:
procedure Flush_Cache();
Синтаксис С++:
void Flush_Cache();
Режим кэширования (cache) пакетов по умолчанию включѐн checkbox’ом
«Кэш» на оболочке. Он предназначен для ускорения передачи данных по
интерфейсу USB за счет снижения средних накладных расходов на передачу
одного пакета.
В режиме кэширования пакеты данных, направляемые из оболочки в
тестер, предварительно накапливаются в специальном программном буфере.
Когда буфер переполняется, форсируется процесс передачи. Накопленные
пакеты данных «склеиваются» в единый «суммарный» пакет большего размера
и передаются в аппаратуру тестера по интерфейсу USB. Программный буфер
освобождается для следующего цикла накопления данных.
Процедура Flush_Cache форсирует передачу содержимого буфера, не
дожидаясь его переполнения.
В процессе исполнения пользовательских функций ПО СИНБОЛ вставляет
процедуру Flush_Cache (в нужных местах) автоматически.

27
ФРМИ 411739.001 РЭ2
Редакция 1.6

2.3 Конфигурация

2.3.1 Upload_Map
Заружает в память компьютера файл конфигурации, описывающий
соответствие каналов аппаратным ресурсам тестера, а также выводам
испытуемого объекта контроля.
Синтаксис PASCAL:
function Upload_Map(File_Name: PChar): boolean;
Синтаксис С++:
bool Upload_Map(char* File_Name);

Параметры:
File_Name — имя файла конфигурации;
Расширение имени файла конфигурации по умолчанию — «.map».
ВНИМАНИЕ: Процедура Upload_Map должна вызываться в начале
выполнения ИП обязательным образом.
После зарузки файла конфигурации ПО определяет количество
используемых каналов тестера Channels_Count по количеству строк в секции
[PINS] файла и автоматически устанавливается размер матрицы ТП по
горизонтали, т.е количество столбцов в поле State, равным Channels_Count.
Рекомендуется (на этапе отладки) после выполнения процедуры
Upload_Map сравнить реальное значение Channels_Count (доступно для
чтения функцией Get_Channels_Count) с ожидаемым (количеством строк в
секции [PINS] файла конфигурации).

Пример:
Загрузить файл конфигурации «MP_1533IE7.map» и проверить
правильность его загрузки.
Листинг PASCAL:
const
MAP_FILE_NAME : string = 'MP_1533IE7.map'; //имя файла конфигурации
var
Channels_Count : Integer; //кол-во используемых каналов
OK : Boolean; //результат загрузки файла конфигурации
//-----------
OK := Upload_Map(PChar(MAP_FILE_NAME));
//проверяем правильность загрузки
Get_Channels_Count(Channels_Count);
OK := OK and (Channels_Count = IC_CHANNELS_COUNT);
if not OK then

28
ФРМИ 411739.001 РЭ2
Редакция 1.6
Save_To_DB('', 'Channels_Count', IC_CHANNELS_COUNT, IC_CHANNELS_COUNT,
Channels_Count, DB_U_, '', OK, 'Map-file problem');
Листинг С++:
#define MAP_FILE_NAME "../MP_1533IE7.map" //имя файла конфигурации
Int Channels_Count; //кол-во используемых каналов
bool OK; //результат загрузки файла конфигурации
//-----------
//загружаем карту Upload_Map из файла MP_1533IE7.map
OK = Upload_Map(MAP_FILE_NAME);
//проверяем правильность загрузки
Get_Channels_Count(Channels_Count);
OK = OK && (Channels_Count == IC_CHANNELS_COUNT);
if (!OK)
{
Save_To_DB("", "Channels_Count", IC_CHANNELS_COUNT, IC_CHANNELS_COUNT,
Channels_Count, DB_U_, "", OK, "Map-file problem");
};

2.3.2 Get_Channels_Count
Возвращает текущее количество активных каналов ФК (количество
столбцов в поле «State» матрицы ТП).
Синтаксис PASCAL:
function Get_Channels_Count(out Channels_Count: Integer):
boolean;
Синтаксис С++:
bool Get_Channels_Count(int& Channels_Count);

Возвращаемый параметр:
Channels_Count количество активных каналов ФК (количество
столбцов в поле «State» матрицы ТП).

2.3.3 Get_IC_Pin_Name
Возвращает имя вывода испытуемой микросхемы, который обслуживает
указанный канал.
Синтаксис PASCAL:
function Get_IC_Pin_Name(Channel: Integer;
out IC_Pin_Name: string): boolean;
Синтаксис С++:
bool Get_IC_Pin_Name(int Channel, std::string& IC_Pin_Name);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла

29
ФРМИ 411739.001 РЭ2
Редакция 1.6
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
IC_Pin_Name — имя вывода испытуемой микросхемы.
Предварительна должна быть выполнена процедура Upload_Map.
Соответствие между каналом и именем вывода испытуемой микросхемы
задается в файле конфигурации.

Пример:
Распечатать имя вывода испытуемой микросхемы, который обслуживает
канал №1 тестера.
Листинг PASCAL:
const
MAP_FILE_NAME : string = 'MP_1533IE7.map'; //имя файла конфигурации
var
IC_Pin_Name : string;
//-------
Upload_Map(PChar(MAP_FILE_NAME));
Get_IC_Pin_Name(1, IC_Pin_Name); //возвращает IC_Pin_Name = "Q2"
Print_Result('IC_Pin_Name(1)', PChar(IC_Pin_Name), 0, 0, 0, DB_U_, '', True,
'');
Листинг С++:
#define MAP_FILE_NAME "../MP_1533IE7.map" //имя файла конфигурации
std::string IC_Pin_Name;
//--------
Upload_Map(MAP_FILE_NAME);
Get_IC_Pin_Name(1, IC_Pin_Name); //возвращает IC_Pin_Name = "Q2"
Print_Result("'IC_Pin_Name(1)", IC_Pin_Name.c_str(), 0, 0, 0, DB_U_, "", OK,
"");

2.3.4 Get_IC_Pin
Возвращает номер вывода испытуемой микросхемы, который
обслуживает указанный канал тестера.
Синтаксис PASCAL:
function Get_IC_Pin(Channel: Integer; out IC_Pin: string):
boolean;
Синтаксис С++:
bool Get_IC_Pin(int Channel, std::string& IC_Pin);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла

30
ФРМИ 411739.001 РЭ2
Редакция 1.6
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
IC_Pin — номер вывода испытуемой микросхемы. Имеет
cтроковый тип, т.к. номер вывода может содержать не только цифры, но и
буквы, например, «С3» у корпусов типа BGA.
Предварительна должна быть выволнена процедура Upload_Map.
Соответствие между каналом и номером вывода испытуемой микросхемы
задается в файле конфигурации.

Пример:
Распечатать номер вывода испытуемой микросхемы, который обслуживает
канал №1 тестера.
Листинг PASCAL:
const
MAP_FILE_NAME : string = 'MP_1533IE7.map'; //имя файла конфигурации
var
IC_Pin_Name : string;
//-------
Upload_Map(PChar(MAP_FILE_NAME));
Get_IC_Pin(1, IC_Pin); //возвращает IC_Pin = "2"
Print_Result('IC_Pin_Name(1)', PChar(IC_Pin_Name), 0, 0, 0, DB_U_, '', True,
'');
Листинг С++:
#define MAP_FILE_NAME "../MP_1533IE7.map" //имя файла конфигурации
std::string IC_Pin;
//--------
Upload_Map(MAP_FILE_NAME);
Get_IC_Pin(1, IC_Pin); //возвращает IC_Pin = "2"
Print_Result("IC_Pin(1)", IC_Pin.c_str(), 0, 0, 0, DB_U_, "", true, "");

2.3.5 Set_Channel_Type
Устанавливает тип заданного канала.
Синтаксис PASCAL:
function Set_Channel_Type(Channel: Integer;
Channel_Type: T_Channel_Type): boolean;
Синтаксис С++:
bool Set_Channel_Type(int Channel, Channel_Type_t Channel_Type);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла

31
ФРМИ 411739.001 РЭ2
Редакция 1.6
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Channel_Type — тип канала. Возможные значения:
 CT_Input — входной (контроль);
 CT_Output — выходной (на задание);
 CT_Bidir — двунаправленный;
Предварительна должна быть выволнена процедура Upload_Map.
Значение Channel_Type по умолчанию равно CT_Input.

Пример:
Для каналов Q1, Q2, Q3, Q4, nCR, nBR установить тип канала — «входной»
(контроль).
Листинг PASCAL:
const
MAP_FILE_NAME : string = 'MP_1533IE7.map'; //имя файла конфигурации
Q2 = 1; //выход второго разряда
Q1 = 2; //выход второго разряда
Q3 = 5; //выход третьего разряда
Q4 = 6; //выход четвертого разряда
nCR= 10; //прямой перенос (carry)
nBR = 11; //обратный перенос (borrow, заѐм)
//массив каналов тестера, обслуживающих выходы микросхемы 1533ИЕ7
Output_Channels_Arr : array[0..5] of Integer = (Q1, Q2, Q3, Q4, nCR, nBR);
//-------
Upload_Map(PChar(MAP_FILE_NAME));
for i := Low(Output_Channels_Arr) to High(Output_Channels_Arr) do
//выходы микросхемы => входы тестера
Set_Channel_Type(Output_Channels_Arr[i], CT_Input);
Листинг С++:
#define MAP_FILE_NAME "../MP_1533IE7.map" //имя файла конфигурации
#define Q2 1 //выход второго разряда
#define Q1 2 //выход второго разряда
#define Q3 5 //выход третьего разряда
#define Q4 6 //выход четвертого разряда
#define nCR 10 //прямой перенос (carry)
#define nBR 11 //обратный перенос (borrow, заѐм)
//массив каналов тестера, обслуживающих выходы микросхемы 1533ИЕ7
const int Output_Channels_Arr[] = {Q1, Q2, Q3, Q4, nCR, nBR};
//--------
Upload_Map(MAP_FILE_NAME);
for(i = 0; i < sizeof(Output_Channels_Arr)/sizeof(int); i++)
//выходы микросхемы => входы тестера
Set_Channel_Type(Output_Channels_Arr[i], CT_Input);

2.3.6 Get_Channel_Type
Возвращает текущий тип заданного канала.
Синтаксис PASCAL:
function Get_Channel_Type(Channel: Integer;
out Channel_Type: T_Channel_Type): boolean;

32
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool Get_Channel_Type(int Channel,
Channel_Type_t& Channel_Type);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
Channel_Type — тип канала. Возможные значения:
 CT_Input — входной (контроль);
 CT_Output — выходной (задание);
 CT_Bidir — двунаправленный;
Предварительна должна быть выволнена процедура Upload_Map.

2.4 Управление PIN-электроникой

2.4.1 Set_Pins
Устанавливает параметры драйверов, компараторов и активной нагрузки
для заданного набора каналов.
Синтаксис PASCAL:
function Set_Pins(Channels: array of Integer;
Drv_Range: T_DRV_Range; DRL, DRH, DRT_ECM: double;
Cmp_Range: T_CMP_Range;
CPL, CPH: double; Pin_Mode: T_User_Pin_Mode; I_SNK, I_SRC:
double): boolean;
Синтаксис С++:
bool Set_Pins(vec_int& Channels, DRV_Range_t Drv_Range,
double DRL, double DRH, double DRT_ECM,
CMP_Range_t Cmp_Range, double CPL, double CPH,
User_Pin_Mode_t Pin_Mode, double I_SNK, double I_SRC);

33
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Drv_Range — диапазон напряжения высокого, среднего и низкого
уровня драйвера. Возможные значения:
 DVR0 — (-0,5...+3,5) В;
 DVR1 — (-1,0...+7,0) В;
 DVR2 — (-2.0...+7,5) В;
DRH — напряжение верхнего уровня драйвера [В] .
Допустимые значения:
 -0,5 ≤ DRH ≤ +3,5 для диапазона DVR0;
 -1,0 ≤ DRH ≤ +7,0 для диапазона DVR1;
 -2.0 ≤ DRH ≤ +7,5 для диапазона DVR2.
DRL — напряжение нижнего уровня драйвера [В].
Допустимые значения:
 -0,5 ≤ DRL ≤ +3,5 для диапазона DVR0;
 -1,0 ≤ DRL ≤ +7,0 для диапазона DVR1;
 -2.0 ≤ DRL ≤ +7,5 для диапазона DVR2.
DRT_ECM — напряжение среднего уровня драйвера и
напряжение переключения активной нагрузки [В]. Допустимые значения:
 -0,5 ≤ DRT_ECM ≤ +3,5 для диапазона DVR0;
 -1,0 ≤ DRT_ECM ≤ +7,0 для диапазона DVR1;
 -2.0 ≤ DRT_ECM ≤ +7,5 для диапазона DVR2.
Cmp_Range — диапазон напряжения контроля компараторами.
Возможные значения:
 CVR0 — диапазон (-0,5...+3,5) В;
 CVR1 — диапазон (-1,0...+7,0) В;
CPH — напряжение контроля компаратора верхнего
уровня [В]. Допустимые значения:
 -0,5 ≤ CPH ≤ +3,5 для диапазона СVR0;
 -1,0 ≤ CPH ≤ +7,0 для диапазона СVR1;

34
ФРМИ 411739.001 РЭ2
Редакция 1.6
CPL — напряжение контроля компаратора нижнего
уровня [В]. Допустимые значения:
 -0,5 ≤ CPL ≤ +3,5 для диапазона СVR0;
 -1,0 ≤ CPL ≤ +7,0 для диапазона СVR1;
Pin_Mode — режим выдачи драйвера. Возможные значения:
 UPM_FC_HZL_S — драйвер выполняет команды ГТП, переключаясь
(mode) между высоким (H), низким (L) и медленным (S)
высокоимпедансным (Z) выходными состояниями.
 UPM_Mode_HZL_F — драйвер выполняет команды ГТП, переключаясь
(mode) между высоким (H), низким (L) и быстрым (F)
высокоимпедансным (Z) выходными состояниеми;
 UPM_FC_HTL — драйвер выполняет команды ГТП, переключаясь
(mode) между высоким (H), низким (L) и промежуточным (T) выходными
уровнями;
 UPM_State_Z_S — драйвер игнорирует команды ГТП, постоянно
находясь (state) в медленном (S) высокоимпедансном (Z) состоянии;
 UPM_State_Z_F — драйвер игнорирует команды ГТП, постоянно
находясь (state) в быстром (F) высокоимпедансном (Z) состоянии;
 UPM_State_H — драйвер игнорирует команды ГТП, постоянно
выдавая (state) высокий (H) выходной уровень;
 UPM_State_L — драйвер игнорирует команды ГТП, постоянно
выдавая (state) низкий (L) выходной уровень;
 UPM_State_Т — драйвер игнорирует команды ГТП, постоянно
выдавая (state) промежуточный (Т) выходной уровень;
I_SNK — величина «Source»-тока активной нагрузки [А].
Допустимые значения: 0,5 мА ≤ I_SNK ≤ 25 мА и I_SNK < 0
(отрицательная величина означает, что активная нагрузка отключена).
I_SRC — величина «Source»-тока активной нагрузки [А].
Допустимые значения: 0,5 мА ≤ I_SRC ≤ 25 мА и I_SRC < 0
(отрицательная величина означает, что активная нагрузка отключена).
Предварительно должна быть выполнена процедура Upload_Map.
Для корректной совместной работы PIN-электроники и ГТП в общем
случае должны соблюдаться условия: DRL ≤ DRT_ECM ≤ DRH и CPL ≤ CPH.
Быстрое (F) высокоимпедансное (Z) состояние драйвера характеризуется
повышенными токами утечки.

35
ФРМИ 411739.001 РЭ2
Редакция 1.6
Медленное (S) высокоимпедансное (Z) состояние драйвера
характеризуется уменьшенными токами утечки.

2.4.2 Set_Pins_Mode
Устанавливает режим выдачи драйвера для указанной группы каналов.
Синтаксис PASCAL:
function Set_Pins_Mode(const Channels: array of Integer;
Pin_Mode: T_User_Pin_Mode): boolean;
Синтаксис С++:
bool Set_Pins_Mode(vec_int& Channels, User_Pin_Mode_t Pin_Mode);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Pin_Mode — режим выдачи драйвера. Возможные значения:
 UPM_FC_HZL_S — драйвер выполняет команды ФК, переключаясь
(FC) между высоким (H), низким (L) и медленным (S)
высокоимпедансным (Z) выходными состояниями.
 UMD_FC_HZL_F — драйвер выполняет команды ФК, переключаясь
(FC) между высоким (H), низким (L) и быстрым (F) высокоимпедансным
(Z) выходными состояниями;
 UPM_FC_HTL — драйвер выполняет команды ФК, переключаясь
(FC) между высоким (H), низким (L) и промежуточным (T) выходными
уровнями;
 UPM_State_Z_S — драйвер игнорирует команды ФК, постоянно
находясь (state) в медленном (S) высокоимпедансном (Z) состоянии;
 UPM_State_Z_F — драйвер игнорирует команды ФК, постоянно
находясь (state) в быстром (F) высокоимпедансном (Z) состоянии;
 UPM_State_H — драйвер игнорирует команды ФК, постоянно
выдавая (state) высокий (H) выходной уровень;
 UPM_State_L — драйвер игнорирует команды ФК, постоянно
выдавая (state) низкий (L) выходной уровень;

36
ФРМИ 411739.001 РЭ2
Редакция 1.6
 UPM_State_Т — драйвер игнорирует команды ФК, постоянно
выдавая (state) промежуточный (Т) выходной уровень;
Предварительно должна быть выполнена процедура Upload_Map.
Быстрое (F) высокоимпедансное (Z) состояние драйвера характеризуется
повышенными токами утечки.
Медленное (S) высокоимпедансное (Z) состояние драйвера
характеризуется уменьшенными токами утечки.
Высокий (H), низкий (L) и промежуточный (T) уровни драйвера
предварительно должны быть заданы либо процедурами Set_DRH, Set_DRL и
Set_DRT_Ecm сооветственно, либо процедурой Set_Pins.
Состояние драйверов после выполнения команды Upload_Timings
определяется состояниями, заложенными в ТП (тестовой
последовательности). Данная команда переопределяет состояние драйверов
до следующего выполнения данной команды или команды Upload_Timings.

2.4.3 Set_DRV_Range
Устанавливает диапазон напряжений драйвера для указанной группы
каналов.
Синтаксис PASCAL:
function Set_DRV_Range(const Channels: array of Integer;
Range: T_DRV_Range): boolean;
Синтаксис С++:
bool Set_DRV_Range(vec_int& Channels, DRV_Range_t Range);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Range — диапазон напряжения высокого, среднего и низкого
уровня драйвера. Возможные значения:
 DVR0 — диапазон (-0,5...+3,5) В;
 DVR1 — диапазон (-1,0...+7,0) В;
 DVR2 — диапазон (-2.0...+7,5) В;

37
ФРМИ 411739.001 РЭ2
Редакция 1.6
Предварительно должна быть выполнена процедура Upload_Map.
Чем старше диапазон (DVR0, DVR1, DVR2), тем хуже (больше) дискрет
установки напряжения драйвера.

2.4.4 Get_DRV_Range
Возвращает текущий диапазон напряжений драйвера для указанного
канала.
Синтаксис PASCAL:
function Get_DRV_Range(Channel: Integer;
out Range: T_DRV_Range): boolean;
Синтаксис С++:
bool Get_DRV_Range(int Channel, DRV_Range_t& Range);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
Range — текущий диапазон напряжения высокого, среднего
и низкого уровня драйвера. Возможные значения:
 DVR0 — диапазон (-0,5...+3,5) В;
 DVR1 — диапазон (-1,0...+7,0) В;
 DVR2 — диапазон (-2.0...+7,5) В;
Предварительно должна быть выполнена процедура Upload_Map.

2.4.5 Set_DRL
Устанавливает напряжение нижнего уровня драйвера для указанной
группы каналов.
Синтаксис PASCAL:
function Set_DRL(const Channels: array of Integer; DRL: double):
boolean;
Синтаксис С++:
bool Set_DRL(vec_int & Channels, double DRL);

38
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
DRL — напряжение нижнего уровня драйвера [В].
Допустимые значения:
 -0,5 ≤ DRL ≤ +3,5 для диапазона DVR0;
 -1,0 ≤ DRL ≤ +7,0 для диапазона DVR1;
 -2.0 ≤ DRL ≤ +7,5 для диапазона DVR2.
Предварительно должна быть выполнена процедура Upload_Map.
Для корректной совместной работы PIN-электроники и ГТП в общем
случае должно соблюдаться условие: DRL ≤ DRT_ECM ≤ DRH.

2.4.6 Get_DRL
Возвращает текущее напряжение нижнего уровня драйвера для указанного
канала.
Синтаксис PASCAL:
function Get_DRL(Channel: Integer; out DRL: double): boolean;
Синтаксис С++:
bool Get_DRL(int Channel, double& DRL);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
DRL — текущее напряжение нижнего уровня драйвера [В].
Предварительно должна быть выполнена процедура Upload_Map.

39
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.4.7 Set_DRH
Устанавливает напряжение верхнего уровня драйвера для указанной
группы каналов.
Синтаксис PASCAL:
function Set_DRH(const Channels: array of Integer; DRH: double):
boolean;
Синтаксис С++:
bool Set_DRH(vec_int& Channels, double DRH);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
DRH — напряжение верхнего уровня драйвера [В] .
Допустимые значения:
 -0,5 ≤ DRH ≤ +3,5 для диапазона DVR0;
 -1,0 ≤ DRH ≤ +7,0 для диапазона DVR1;
 -2.0 ≤ DRH ≤ +7,5 для диапазона DVR2.
Предварительно должна быть выполнена процедура Upload_Map.
Для корректной совместной работы PIN-электроники и ГТП в общем
случае должно соблюдаться условие: DRL ≤ DRT_ECM ≤ DRH.

2.4.8 Get_DRH
Возвращает текущее напряжение верхнего уровня драйвера для
указанного канала.
Синтаксис PASCAL:
function Get_DRH(Channel: Integer; out DRH: double): boolean;
Синтаксис С++:
bool Get_DRH(int Channel, double& DRH);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —

40
ФРМИ 411739.001 РЭ2
Редакция 1.6
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
DRH — текущее напряжение верхнего уровня
драйвера [В].
Предварительно должна быть выполнена процедура Upload_Map.

2.4.9 Set_DRT_ECM
Устанавливает напряжение среднего уровня драйвера и напряжение
переключения активной нагрузки для указанной группы каналов.
Синтаксис PASCAL:
function Set_DRT_ECM(const Channels: array of Integer;
DRT_ECM: double): boolean;
Синтаксис С++:
bool Set_DRT_ECM(vec_int & Channels, double DRT_ECM);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
DRT_ECM — напряжение среднего уровня драйвера [В] .
Допустимые значения:
 -0,5 ≤ DRT_ECM ≤ +3,5 для диапазона DVR0;
 -1,0 ≤ DRT_ECM ≤ +7,0 для диапазона DVR1;
 -2.0 ≤ DRT_ECM ≤ +7,5 для диапазона DVR2.
Предварительно должна быть выполнена процедура Upload_Map.
Для корректной совместной работы PIN-электроники и ГТП в общем
случае должно соблюдаться условие: DRL ≤ DRT_ECM ≤ DRH.

2.4.10 Get_DRT_ECM
Возвращает текущее напряжение среднего уровня драйвера и напряжение
переключения активной нагрузки для указанного канала.

41
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Get_DRT_ECM(Channel: Integer; out DRT_ECM: double):
boolean;
Синтаксис С++:
bool Get_DRT_ECM(int Channel, double& DRT_ECM);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
DRT_ECM — текущее напряжение среднего уровня драйвера и
переключения активной нагрузки [В].
Предварительно должна быть выполнена процедура Upload_Map.

2.4.11 Set_CMP_Range
Устанавливает диапазон напряжения контроля компараторами для
указанной группы каналов.
Синтаксис PASCAL:
function Set_CMP_Range(const Channels: array of Integer;
Range: T_CMP_Range): boolean;
Синтаксис С++:
bool Set_CMP_Range(vec_int & Channels, CMP_Range_t Range);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Range — диапазон напряжения контроля компараторами.
Допустимые значения:
 CVR0 — диапазон (-0,5...+3,5) В;

42
ФРМИ 411739.001 РЭ2
Редакция 1.6
 CVR1 — диапазон (-1,0...+7,0) В;
Чем старше диапазон (СVR0, СVR1), тем хуже (больше) дискрет
установки напряжения порога компаратора.
Предварительно должна быть выполнена процедура Upload_Map.

2.4.12 Get_CMP_Range
Возвращает текущий диапазон напряжений порога компаратора драйвера
для указанного канала.
Синтаксис PASCAL:
function Get_CMP_Range(Channel: Integer;
out Range: T_CMP_Range): boolean;
Синтаксис С++:
bool Get_CMP_Range(int Channel, CMP_Range_t& Range);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
Range — текущий диапазон напряжения контроля
компараторами. Возможные значения:
 CVR0 — диапазон (-0,5...+3,5) В;
 CVR1 — диапазон (-1,0...+7,0) В;
Предварительно должна быть выполнена процедура Upload_Map.

2.4.13 Set_CPH
Устанавливает напряжение контроля компаратора верхнего уровня для
указанной группы каналов.
Синтаксис PASCAL:
function Set_CPH(const Channels: array of Integer; CPH: double):
boolean;
Синтаксис С++:
bool Set_CPH(vec_int& Channels, double CPH);

43
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
CPH — напряжение контроля компаратора верхнего
уровня [В] . Допустимые значения:
 -0,5 ≤ CPH ≤ +3,5 для диапазона СVR0;
 -1,0 ≤ CPH ≤ +7,0 для диапазона СVR1;
Предварительно должна быть выполнена процедура Upload_Map.
Для корректной совместной работы PIN-электроники и ГТП в общем
случае должно соблюдаться условие: CPL ≤ CPH.

2.4.14 Get_CPH
Возвращает текущее напряжение контроля компаратора верхнего уровня
для указанного канала.
Синтаксис PASCAL:
function Get_CPH(Channel: Integer; out CPH: double): boolean;
Синтаксис С++:
bool Get_CPH(int Channel, double& CPH);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
CPH — текущее напряжение контроля компаратора
верхнего уровня [В].
Предварительно должна быть выполнена процедура Upload_Map.

44
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.4.15 Set_CPL
Устанавливает напряжение контроля компаратора нижнего уровня для
указанной группы каналов.
Синтаксис PASCAL:
function Set_CPL(const Channels: array of Integer; CPL: double):
boolean;
Синтаксис С++:
bool Set_CPL(vec_int& Channels, double CPL);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
CPL — напряжение контроля компаратора нижнего уровня
[В]. Допустимые значения:
 -0,5 ≤ CPL ≤ +3,5 для диапазона СVR0;
 -1,0 ≤ CPL ≤ +7,0 для диапазона СVR1;
Предварительно должна быть выполнена процедура Upload_Map.
Для корректной совместной работы PIN-электроники и ГТП в общем
случае должно соблюдаться условие: CPL ≤ CPH.

2.4.16 Get_CPL
Возвращает текущий порог срабатывания компаратора нижнего уровня
для указанного канала.
Синтаксис PASCAL:
function Get_CPL(Channel: Integer; out CPL: double): boolean;
Синтаксис С++:
bool Get_CPL(int Channel, double& CPL);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла

45
ФРМИ 411739.001 РЭ2
Редакция 1.6
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
CPL — текущее напряжение контроля компаратора
нижнего уровня [В].
Предварительно должна быть выполнена процедура Upload_Map.

2.4.17 Set_SRC
Устанавливает «Source»-ток активной нагрузки для указанной группы
каналов.
Синтаксис PASCAL:
function Set_SRC(const Channels: array of Integer;
I_SRC: double): boolean;
Синтаксис С++:
bool Set_SRC(vec_int& Channels, double I_SRC);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
I_SRC — величина «Source»-тока активной нагрузки [А].
Допустимые значения: 0,5 мА ≤ I_SRC ≤ 25 мА и I_SRC < 0
(отрицательная величина означает, что активная нагрузка отключена).
Предварительно должна быть выполнена процедура Upload_Map.
«Source» — ток, вытекающий из активной нагрузки в вывод объекта
контроля при напряжении на выходном выводе объекта контроля ниже
напряжения переключения, задаваемого в процедуре Set_DRT_ECM.

2.4.18 Get_SRC
Возвращает текущий «Source»-ток активной нагрузки для указанного
канала.
Синтаксис PASCAL:
function Get_SRC(Channel: Integer; out I_SRC: double): boolean;

46
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool Get_SRC(int Channel, double& I_SRC);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
I_SRC — «Source»-ток активной нагрузки (A).
Предварительно должна быть выполнена процедура Upload_Map.
«Source» — ток, вытекающий из активной нагрузки в вывод объекта
контроля при напряжении на выходном выводе объекта контроля ниже
напряжения переключения, задаваемого в процедуре Set_DRT_ECM.
Если I_SRC < 0, значит активная нагрузка отключена.

2.4.19 Set_SNK
Устанавливает «Sink»-ток активной нагрузки нагрузки для указанной
группы каналов.
Синтаксис PASCAL:
function Set_SNK(const Channels: array of Integer;
I_SNK: double): boolean;
Синтаксис С++:
bool Set_SNK(vec_int& Channels, double I_SNK);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
I_SNK — величина «Source»-тока активной нагрузки [А].
Допустимые значения: 0,5 мА ≤ I_SNK ≤ 25 мА и I_SNK < 0
(отрицательная величина означает, что активная нагрузка отключена).

47
ФРМИ 411739.001 РЭ2
Редакция 1.6
Предварительно должна быть выполнена процедура Upload_Map.
«Sink» — ток, втекающий в активную нагрузку из вывода объекта
контроля при напряжении на выходном выводе объекта контроля выше
напряжения переключения, задаваемого в процедуре Set_DRT_ECM.

2.4.20 Get_SNK
Возвращает текущий «Sink»-ток активной нагрузки для указанного
канала.
Синтаксис PASCAL:
function Get_SNK(Channel: Integer; out I_SNK: double): boolean;
Синтаксис С++:
bool Get_SNK(int Channel, double& I_SNK);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
I_SNK — величина «Sink»-тока активной нагрузки (A).
Предварительно должна быть выполнена процедура Upload_Map.
«Sink» — ток, втекающий в активную нагрузку из вывода объекта
контроля при напряжении на выходном выводе объекта контроля выше
напряжения переключения, задаваемого в процедуре Set_DRT_ECM.
Если I_SNK < 0, значит активная нагрузка отключена.

2.5 Управление PMU

2.5.1 Set_PMU
Устанавливает режимы и параметры устройства PMU. Функция является
перегружаемой (overload), т.е. поддерживает разные наборы параметров.
Синтаксис PASCAL:
function Set_PMU(Mode: T_Fmode; Data: double;
Range_U: T_PMU_U_Range; I_Lim: double;
Range_I: T_I_Range; Connect: boolean): boolean; overload;

48
ФРМИ 411739.001 РЭ2
Редакция 1.6
function Set_PMU(Mode: T_Fmode; Data: double;
Range_U: T_PMU_U_Range; I_Lim: double; Range_I: T_I_Range;
Connect: boolean; Clamp_L: double; Clamp_H: double): boolean;
overload;
Синтаксис С++:
bool Set_PMU(Fmode_t Mode, double Data, PMU_U_Range_t Range_U,
double I_Lim, I_Range_t Range_I, bool Connect);
bool Set_PMU(Fmode_t Mode, double Data, PMU_U_Range_t Range_U,
double I_Lim, I_Range_t Range_I, bool Connect, double ClampL,
double ClampH);

Параметры:
Mode — режим PMU. Возможные значения:
 Fmode_FN — высокоимпедансное состояние;
 Fmode_FV — воспроизведение напряжения;
 Fmode_FI — воспроизведение тока;
Data — величина напряжения [В] или тока [А]
Range_U — диапазон задания напряжения. Возможные
значения:
 PMU_U_Rng_9V — (-2,0…+7,0) В;
 PMU_U_Rng_14V — (-2,0…+8,0) В;
I_Lim — ток ограничения [А]; Допустимые значения:
(-0,150…-0.020) ≤ I_Lim ≤ (+0.020…+0,150).
Range_I — диапазон задания (измерения) тока. Возможные
значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2…+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-150…-20; +20…+150) мА;
Connect — выходное реле устройства:
 true — подключить к DCM;
 false — отключить от DCM;

49
ФРМИ 411739.001 РЭ2
Редакция 1.6
ClampL — нижнее напряжение ограничения [В] (опционально,
если параметр опущен — сохраняется ранее установленное значение).
Допустимые значения: -2,5 В ≤ ClampL ≤ +8,0 B. Значение по умолчанию
равно -2,5 В;
ClampH — верхнее напряжение ограничения [В]
(опционально, если параметр опущен — сохраняется ранее
установленное значение). Допустимые значения: -
2,0 В ≤ ClampH ≤ +8,5 B. Значение по умолчанию равно +8,5 B;
Предварительно должна быть выполнена процедура Upload_Map.
Ограничение тока, как правило, используется в режиме воспроизведения
напряжения Fmode_FV устройства PMU.
Параметр I_Lim воздействует на аппаратуру только после установки
диапазона задаваемого тока Range_I устройства PMU в состояние
I_Rng_m_max.
ВНИМАНИЕ: во избежание повреждения аппаратуры тестера
воспроизведение тока в старшем диапазоне тока PMU сторого воспрещается.

2.5.2 PMU_Set_Mode
Устанавливает режим работы устройства PMU. Остальные параметры
PMU не изменяются.
Синтаксис PASCAL:
function PMU_Set_Mode(Mode: T_Fmode): boolean;
Синтаксис С++:
bool PMU_Set_Mode(Fmode_t Mode);

Параметры:
Mode — режим устройства PMU. Возможные значения:
 Fmode_FN — режим высокоимпедансного состояния;
 Fmode_FV — режим воспроизведения напряжения;
 Fmode_FI — режим воспроизведения тока.
Предварительна должна быть выполнена процедура Upload_Map.

2.5.3 PMU_Get_Mode
Возвращает текущий режим работы устройства PMU.
Синтаксис PASCAL:
function PMU_Get_Mode(out Mode: T_Fmode): boolean;

50
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool PMU_Get_Mode(Fmode_t& Mode);

Возвращаемый параметр:
Mode — режим устройства PMU. Возможные значения:
 Fmode_FN — режим высокоимпедансного состояния;
 Fmode_FV — режим воспроизведения напряжения;
 Fmode_FI — режим воспроизведения тока.
Предварительна должна быть выполнена процедура Upload_Map.

2.5.4 PMU_Set_U
Устанавливает выходное напряжение и, опционально, диапазон
напряжений устройства PMU. Функция является перегружаемой (overload), т.е.
поддерживает разные наборы параметров.
Синтаксис PASCAL:
function PMU_Set_U(U: double): boolean; overload;
function PMU_Set_U(U: double; Range: T_PMU_U_Range): boolean;
overload;
Синтаксис С++:
bool PMU_Set_U(double U);
bool PMU_Set_U(double U, PMU_U_Range_t Range);

Параметры:
U — выходное напряжение [В]. Значение должно
находиться внутри диапазона, заданного параметром Range.
Range — диапазон задаваемого напряжения (опционально,
если параметр опущен, то используется ранее установленный диапазон).
Возможные значения:
 PMU_U_Rng_9V — (-2,0…+7,0) В;
 PMU_U_Rng_14V — (-2,0…+8,0) В;
Предварительна должна быть выполнена процедура Upload_Map.
Изменения вступают в силу после перевода устройства PMU в режим FV.

2.5.5 PMU_Set_I
Устанавливает ток и, опционально, диапазон токов устройства PMU.
Функция является перегружаемой (overload), т.е. поддерживает разные наборы
параметров.

51
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function PMU_Set_I(I: double): boolean; overload;
function PMU_Set_I(I: double; Range: T_I_Range): boolean;
overload;
Синтаксис С++:
bool PMU_Set_I(double I);
bool PMU_Set_I(double I, I_Range_t Range);

Параметры:
I — выходной ток [А];
Range — диапазон задаваемого тока (опционально, если
параметр опущен, то используется ранее установленный диапазон).
Возможные значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2 …+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-150…-20; +20…+150) мА;
Предварительна должна быть выполнена процедура Upload_Map.
Изменения вступают в силу после перевода устройства PMU в режим
Fmode_FI.
ВНИМАНИЕ: Во избежание повреждения аппаратуры тестера
воспроизведение тока в старшем диапазоне тока PMU сторого воспрещается.

2.5.6 PMU_Get_Value
Возвращает задаваемое значение напряжения или тока устройства.
Синтаксис PASCAL:
function PMU_Get_Value(out Value: double): boolean;
Синтаксис С++:
bool PMU_Get_Value(double& Value);

Возвращаемый параметр:
Value — возможные значения:

52
ФРМИ 411739.001 РЭ2
Редакция 1.6
 задаваемое значение напряжения [В], если PMU находится в режиме
Fmode_FV;
 задаваемое значение тока [А], если PMU находится в режиме
Fmode_FI;
 0, если PMU находится в режиме Fmode_FN;
Предварительна должна быть выполнена процедура Upload_Map.

2.5.7 PMU_Get_Range_U
Возвращает текущее значение диапазона задания напряжений
устройства PMU.
Синтаксис PASCAL:
function PMU_Get_Range_U(out Range: T_PMU_U_Range): boolean;
Синтаксис С++:
bool PMU_Get_Range_U(PMU_U_Range_t& Range);

Возвращаемый параметр:
Range — диапазон задания напряжения. Возможные
значения:
 PMU_U_Rng_9V — (-2,0…+7,0) В;
 PMU_U_Rng_14V — (-2,0…+8,0) В;
Предварительна должна быть выполнена процедура Upload_Map.

2.5.8 PMU_Get_Range_I
Возвращает текущее значение диапазона задания токов устройства
PMU.
Синтаксис PASCAL:
function PMU_Get_Range_I(out Range: T_I_Range): boolean;
Синтаксис С++:
bool PMU_Get_Range_I(I_Range_t & Range);

Возвращаемый параметр:
Range — текущий диапазон задания токов. Возможные
значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2…+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;

53
ФРМИ 411739.001 РЭ2
Редакция 1.6
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-150…-20; +20…+150) мА;
Предварительна должна быть выполнена процедура Upload_Map.

2.5.9 PMU_Set_I_Lim
Устанавливает ток ограничения и, опционально, диапазон токов
устройства PMU. Функция является перегружаемой (overload), т.е.
поддерживает разные наборы параметров.
Синтаксис PASCAL:
function PMU_Set_I_Lim(I_Lim: double): boolean; overload;
function PMU_Set_I_Lim(I_Lim: double; Range: T_I_Range):
boolean; overload;
Синтаксис С++:
bool PMU_Set_I_Lim(double I_Lim);
bool PMU_Set_I_Lim(double I_Lim, I_Range_t Range);

Параметры:
I_Lim — ток ограничения [А]; Допустимые значения:
(-0,150…-0,020) ≤ I_Lim ≤ (+0,020…+0,150).
Range — диапазон задаваемого тока (опционально, если
параметр опущен, то используется ранее установленный диапазон).
Возможные значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2 …+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-150…-20…+150) мА;
Предварительна должна быть выполнена процедура Upload_Map.
Ограничение тока, как правило, используется в режиме воспроизведения
напряжения Fmode_FV устройства PMU.
Параметр I_Lim воздействует на аппаратуру только после установки
диапазона задаваемого тока устройства PMU в состояние I_Rng_m_max.

54
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.5.10 PMU_Get_I_Lim
Возвращает текущее значение тока ограничения устройства PMU.
Синтаксис PASCAL:
function PMU_Get_I_Lim(out I_Lim: double): boolean;
Синтаксис С++:
bool PMU_Get_I_Lim(double& I_Lim);

Возвращаемый параметр:
I_Lim — текущее значение тока ограничения [А];
Предварительна должна быть выполнена процедура Upload_Map.
Ограничение тока, как правило, используется в режиме воспроизведения
напряжения Fmode_FV устройства PMU.
Параметр I_Lim воздействует на аппаратуру только после установки
диапазона задаваемого тока устройства PMU в состояние I_Rng_m_max.

2.5.11 PMU_Set_Clamp_L
Устанавливает нижнее напряжение ограничения устройства PMU.
Синтаксис PASCAL:
function PMU_Set_Clamp_L(Clamp: double): boolean;
Синтаксис С++:
bool PMU_Set_Clamp_L(double Clamp);

Параметры:
Clamp — нижнее напряжение ограничения [В]. Допустимые
значения: -2,5 В ≤ Clamp ≤ +8,0 B. Значение по умолчанию равно -2,5 В;
Предварительна должна быть выполнена процедура Upload_Map.

2.5.12 PMU_Get_Clamp_L
Возвращает текущее значение нижнего напряжения ограничения
устройства PMU.
Синтаксис PASCAL:
function PMU_Get_Clamp_L(out Clamp: double): boolean;
Синтаксис С++:
bool PMU_Get_Clamp_L(double& Clamp);

55
ФРМИ 411739.001 РЭ2
Редакция 1.6
Возвращаемый параметр:
Clamp — текущее значение нижнего напряжения
ограничения [В].
Предварительна должна быть выполнена процедура Upload_Map.

2.5.13 PMU_Set_Clamp_H
Устанавливает верхнее напряжение ограничения устройства PMU.
Синтаксис PASCAL:
function PMU_Set_Clamp_H(Clamp: double): boolean;
Синтаксис С++:
bool PMU_Set_Clamp_H(double Clamp);

Параметры:
Clamp — верхнее напряжение ограничения [В]. Допустимые
значения: -2,0 В ≤ Clamp ≤ +8,0 B. Значение по умолчанию равно +8,0 В;
Предварительна должна быть выполнена процедура Upload_Map.

2.5.14 PMU_Get_Clamp_H
Возвращает текущее значение верхнего напряжения ограничения
устройства PMU.
Синтаксис PASCAL:
function PMU_Get_Clamp_H(out Clamp: double): boolean;
Синтаксис С++:
bool PMU_Get_Clamp_H(double& Clamp);

Возвращаемый параметр:
Clamp — текущее значение верхнего напряжения
ограничения [В].
Предварительна должна быть выполнена процедура Upload_Map.

2.5.15 PMU_Connect
Подключает (к шине DCM) или отключает (от шины DCM) выход
устройства PMU для указанного канала.
Синтаксис PASCAL:
function PMU_Connect(Channel: Integer; Connect: boolean):
boolean;

56
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool PMU_Connect(int Channel, bool Connect);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Connect — выход устройства PMU:
 true — подключить к шине DCM;
 false — отключить от шины DCM;
Предварительна должна быть выполнена процедура Upload_Map.

2.6 Управление VDD

2.6.1 Set_VDD
Устанавливает режимы и параметры модуля VDD, обслуживающего
указанный источник питания. Функция является перегружаемой (overload), т.е.
поддерживает разные наборы параметров.
Синтаксис PASCAL:
function Set_VDD(Power_ID: Integer; Mode: T_Fmode; Data: double;
Range_U: T_VDD_U_Range; I_Lim: double; Range_I: T_I_Range;
Connect: boolean): boolean; overload;
function Set_VDD(Power_ID: Integer; Mode: T_Fmode; Data: double;
Range_U: T_VDD_U_Range; I_Lim: double; Range_I: T_I_Range;
Connect: boolean; ClampL: double; ClampH: double): boolean;
overload;
Синтаксис С++:
bool Set_VDD(int Power_ID, Fmode_t Mode, double Data,
VDD_U_Range_t Range_U, double I_Lim, I_Range_t Range_I,
bool Connect);
bool Set_VDD(int Power_ID, Fmode_t Mode, double Data,
VDD_U_Range_t Range_U, double I_Lim, I_Range_t Range_I,
bool Connect, double ClampL, double ClampH);

57
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_ Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Mode — режим устройства VDD. Возможные значения:
 Fmode_FN — высокоимпедансное состояние;
 Fmode_FV — воспроизведение напряжения;
 Fmode_FI — воспроизведение тока;
Data — величина напряжения [В] или тока [А]
Range_U — диапазон задания напряжения. Возможные
значения:
 VDD_U_Rng_9V — (-2,0…+7,0) В;
 VDD_U_Rng_14V — (-2,0…+12,0) В;
 VDD_U_Rng_17V — (-2,0…+15,0) В;
I_Lim — ток ограничения [А]; Допустимые значения:
(-0,400…-0,020) ≤ I_Lim ≤ (+0,020…+0,400).
Range_I — диапазон задания тока: Возможные значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2…+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-400…-20; +20…+400) мА;
Connect — выходное реле устройства:
 true — подключить к нагрузке;
 false — отключить от нагрузки;
ClampL — нижнее напряжение ограничения [В] (опционально,
если параметр опущен — сохраняется ранее установленное значение).
Допустимые значения: -2,5 В ≤ ClampL ≤ +12,0 B. Значение по умолчанию
равно -2,5 В;
ClampH — верхнее напряжение ограничения [В]
(опционально, если параметр опущен — сохраняется ранее

58
ФРМИ 411739.001 РЭ2
Редакция 1.6
установленное значение). Допустимые значения:
-2,0 В ≤ ClampH ≤ +12,5 B. Значение по умолчанию равно +12,5 B;
Предварительна должна быть выполнена процедура Upload_Map.
Ограничение тока, как правило, используется в режиме воспроизведения
напряжения Fmode_FV модуля VDD.
Параметр I_Lim воздействует на аппаратуру только после установки
диапазона задаваемого тока Range_I модуля VDD в состояние I_Rng_m_max.

2.6.2 Set_VDD_2I
Задание режима источников VDD с увеличенным током нагрузки (до
790 мА). Осуществляется за счѐт параллельной работы источников VDD с
двух плат PIN266.
Синтаксис PASCAL:
function Set_VDD_2I(Power_U, Power_I: Integer; Mode: T_Fmode; U:
double; Range_U: T_VDD_U_Range; I_Lim: double;
Connect: boolean): boolean;
Синтаксис С++:
bool Set_VDD_2I(int Power_U, int Power_I, Fmode_t Mode,
double U, VDD_U_Range_t Range_U, double I_Lim, bool Connect);

Параметры:
Power_U — номер (идентификатор) источника питания,
который устанавливается в режим FV. Допустимые значения:
0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID — наибольший
идентификатор Power_ID в секции [POWER] файла конфигурации
(другими словами, количество активных источников тестера FHF -1);
Power_I — номер (идентификатор) источника питания,
который устанавливается в режим FI. Допустимые значения:
0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID — наибольший
идентификатор Power_ID в секции [POWER] файла конфигурации
(другими словами, количество активных источников тестера FHF -1);
Mode — режим модуля VDD. Допустимые значения:
 Fmode_FN — режим высокоимпедансного состояния;
 Fmode_FV — режим воспроизведения напряжения;
U — выходное напряжение [В]. Допустимые значения
должны лежать внутри диапазона, заданного параметром Range_U;

59
ФРМИ 411739.001 РЭ2
Редакция 1.6
Range_U — диапазон воспроизведения напряжения.
Возможные значения:
 VDD_U_Rng_9V — (-2,0…+7,0) [В];
 VDD_U_Rng_14V — (-2,0…+12,0) [В];
 VDD_U_Rng_17V — (-2,0…+15,0) [В];
I_Lim — суммарный ток ограничения 2-х устройств VDD [А];
Возможные значения
 I_Rng_m_max — (-790…-40; +40…+790) мА;
Connect — реле источников:
 true — подключить;
 false — отключить;
ПРИМЕЧАНИЕ: выходы «Forc_VDD» используемой пары плат PIN266
должны быть аппаратно замкнуты на измерительной оснастке.
Предварительно должна быть выполнена процедура Upload_Map.
Устанавливает сопряженный режим работы двух источников VDD (по
одному на плате PIN266). Один из источников VDD устанавливается в режим
FV, другой — в режим FI. На обоих источниках VDD устанавливается заданный
диапазон воспроизведения напряжения Range_U и старший диапазон по току
(I_m_max).

2.6.3 VDD_Set_U
Устанавливает выходное напряжение и, опционально, диапазон
напряжений модуля VDD, обслуживающего указанный источник питания.
Функция является перегружаемой (overload), т.е. поддерживает разные наборы
параметров.
Синтаксис PASCAL:
function VDD_Set_U(Power_ID: Integer; U: double): boolean;
overload;
function VDD_Set_U(Power_ID: Integer; U: double;
Range: T_VDD_U_Range): boolean; overload;
Синтаксис С++:
bool VDD_Set_U(byte Board, double U);
bool VDD_Set_U(byte Board, double U, VDD_U_Range_t Range);

60
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
U — выходное напряжение [В]. Значение должно
находиться внутри диапазона, заданного параметром Range.
Range — диапазон задаваемого напряжения (опционально,
если параметр опущен, то используется ранее установленный диапазон).
Возможные значения:
 VDD_U_Rng_9V — (-2,0…+7,0) В;
 VDD_U_Rng_14V — (-2,0…+12,0) В;
 VDD_U_Rng_17V — (-2,0…+15,0) В;
Предварительно должна быть выполнена процедура Upload_Map.
Изменения вступают в силу после перевода устройства VDD в режим FV.

2.6.4 VDD_Set_Mode
Устанавливает режим работы модуля VDD, обслуживающего указанный
источник питания. Остальные параметры VDD не изменяются.
Синтаксис PASCAL:
function VDD_Set_Mode(Power_ID: Integer; Mode: T_Fmode):
boolean;
Синтаксис С++:
bool VDD_Set_Mode(byte Board, Fmode_t Mode);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Mode — режим устройства VDD. Возможные значения:
 Fmode_FN — режим высокоимпедансного состояния;
 Fmode_FV — режим воспроизведения напряжения;
 Fmode_FI — режим воспроизведения тока.

61
ФРМИ 411739.001 РЭ2
Редакция 1.6
Предварительно должна быть выполнена процедура Upload_Map.

2.6.5 VDD_Get_Mode
Возвращает текущий режим задания модуля VDD, обслуживающего
указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_Mode(Power_ID: Integer; out Mode: T_Fmode):
boolean;
Синтаксис С++:
bool VDD_Get_Mode(int Power_ID, Fmode_t& Mode);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Mode — режим устройства VDD. Возможные значения:
 Fmode_FN — режим высокоимпедансного состояния;
 Fmode_FV — режим воспроизведения напряжения;
 Fmode_FI — режим воспроизведения тока.
Предварительно должна быть выполнена процедура Upload_Map.

2.6.6 VDD_Set_I
Устанавливает задаваемый ток и, опционально, диапазон токов модуля
VDD, обслуживающего указанный источник питания. Функция является
перегружаемой (overload), т.е. поддерживает разные наборы параметров.
Синтаксис PASCAL:
function VDD_Set_I(Power_ID: Integer; I: double): boolean;
overload;
function VDD_Set_I(Power_ID: Integer; I: double; Range:
T_I_Range): boolean; overload;
Синтаксис С++:
bool VDD_Set_I(int Power_ID, double I);
bool VDD_Set_I(int Power_ID, double I, I_Range_t Range);

62
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Предварительно должна быть выполнена процедура Upload_Map.
I — выходной ток [А];
Range — диапазон задаваемого тока (опционально, если
параметр опущен, то используется ранее установленный диапазон).
Возможные значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2 …+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-400…-20; +20…+400) мА;
Предварительно должна быть выполнена процедура Upload_Map.
Изменения вступают в силу после перевода устройства PMU в режим
Fmode_FI.

2.6.7 VDD_Get_Value
Возвращает задаваемое значение напряжения или тока модуля VDD,
обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_Value(Power_ID: Integer; out Value: double):
boolean;
Синтаксис С++:
bool VDD_Get_Value(int Power_ID, double& Value);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла

63
ФРМИ 411739.001 РЭ2
Редакция 1.6
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Value — возможные значения:
 задаваемое значение напряжения [В], если VDD находится в режиме
Fmode_FV;
 задаваемое значение тока [А], если VDD находится в режиме
Fmode_FI;
 0, если VDD находится в режиме Fmode_FN;
Предварительно должна быть выполнена процедура Upload_Map.

2.6.8 VDD_Get_Range_U
Возвращает текущее значение диапазона задания напряжений модуля
VDD, обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_Range_U(Power_ID: Integer;
out Range: T_VDD_U_Range): boolean;
Синтаксис С++:
bool VDD_Get_Range_U(int Power_ID, VDD_U_Range_t& Range);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Range — диапазон задания напряжений. Возможные
значения:
 VDD_U_Rng_9V — (-2,0…+7,0) В;
 VDD_U _Rng _14V — (-2,0…+12,0) В;
 VDD_U _Rng _17V — (-2,0…+15,0) В;
Предварительно должна быть выполнена процедура Upload_Map.

64
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.6.9 VDD_Get_Range_I
Возвращает текущее значение диапазона задания токов модуля VDD,
обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_Range_I(Power_ID: Integer;
out Range: T_I_Range): boolean;
Синтаксис С++:
bool VDD_Get_Range_I(int Power_ID, I_Range_t& Range);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Range — текущий диапазон задания токов. Возможные
значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2…+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-400…-20; +20…+400) мА;
Предварительно должна быть выполнена процедура Upload_Map.

2.6.10 VDD_Set_I_Lim
Устанавливает ток ограничения и, опционально, диапазон токов модуля
VDD, обслуживающего указанный источник питания. Функция является
перегружаемой (overload), т.е. поддерживает разные наборы параметров.
Синтаксис PASCAL:
function VDD_Set_I_Lim(Power_ID: Integer; I_Lim: double):
boolean; overload;

65
ФРМИ 411739.001 РЭ2
Редакция 1.6
function VDD_Set_I_Lim(Power_ID: Integer; I_Lim: double; Range:
T_I_Range): boolean; overload;
Синтаксис С++:
bool VDD_Set_I_Lim(int Power_ID, double I_Lim);
bool VDD_Set_I_Lim(int Power_ID, double I_Lim, I_Range_t Range);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
I_Lim — ток ограничения [А]; Допустимые значения:
(-0,400…-0,020) ≤ I_Lim ≤ (+0,020…+0,400).
Range — диапазон задаваемого тока (опционально, если
параметр опущен, то используется ранее установленный диапазон).
Возможные значения:
 I_Rng_n_200 — (-200…+200) нА;
 I_Rng_u_2 — (-2 …+2) мкА;
 I_Rng_u_20 — (-20…+20) мкА;
 I_Rng_u_200 — (-200…+200) мкА;
 I_Rng_m_2 — (-2…+2) мА;
 I_Rng_m_25 — (-25…+25) мА;
 I_Rng_m_max — (-400…-20; +20…+400) мА;
Предварительно должна быть выполнена процедура Upload_Map.
Ограничение тока, как правило, используется в режиме воспроизведения
напряжения Fmode_FV устройства VDD.
Параметр I_Lim воздействует на аппаратуру только после установки
диапазона задаваемого тока устройства VDD в состояние I_Rng_m_max.

2.6.11 VDD_Get_I_Lim
Возвращает текущее значение тока ограничения модуля VDD,
обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_I_Lim(Power_ID: Integer; out I_Lim: double):
boolean;

66
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool VDD_Get_I_Lim(int Power_ID, double& I_Lim);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
I_Lim — текущее значение тока ограничения [А];
Предварительно должна быть выполнена процедура Upload_Map.
Ограничение тока, как правило, используется в режиме воспроизведения
напряжения Fmode_FV устройства VDD.
Параметр I_Lim воздействует на аппаратуру только после установки
диапазона задаваемого тока устройства VDD в состояние I_Rng_m_max.

2.6.12 VDD_Set_Clamp_L
Устанавливает нижнее напряжение ограничения модуля VDD,
обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Set_Clamp_L(Power_ID: Integer; Clamp: double):
boolean;
Синтаксис С++:
bool VDD_Set_Clamp_L(int Power_ID,double Clamp);
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Clamp — нижнее напряжение ограничения [В]. Допустимые
значения: -2,5 В ≤ Clamp ≤ +12,0 B. Значение по умолчанию равно -2,5 В;
Предварительно должна быть выполнена процедура Upload_Map.

67
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.6.13 VDD_Get_Clamp_L
Возвращает текущее значение нижнего напряжения ограничения модуля
VDD, обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_Clamp_L(Power_ID: Integer; out Clamp: double):
boolean;
Синтаксис С++:
bool VDD_Get_Clamp_L(int Power_ID, double& Clamp);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Clamp — текущее значение нижнего напряжения
ограничения [В].
Предварительно должна быть выполнена процедура Upload_Map.

2.6.14 VDD_Set_Clamp_H
Устанавливает верхнее напряжение ограничения модуля VDD,
обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Set_Clamp_H(Power_ID: Integer; Clamp: double):
boolean;
Синтаксис С++:
bool VDD_Set_Clamp_H(int Power_ID, double Clamp);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);

68
ФРМИ 411739.001 РЭ2
Редакция 1.6
Clamp — верхнее напряжение ограничения [В]. Допустимые
значения: -2,0 В ≤ Clamp ≤ +12,5 B. Значение по умолчанию равно
+12,5 B;
Предварительно должна быть выполнена процедура Upload_Map.

2.6.15 VDD_Get_Clamp_H
Возвращает текущее значение верхнего напряжения ограничения модуля
VDD, обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Get_Clamp_H(Power_ID: Integer; out Clamp: double):
boolean;
Синтаксис С++:
bool VDD_Get_Clamp_H(int Power_ID, double& Clamp);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Clamp — текущее значение верхнего напряжения
ограничения [В].
Предварительно должна быть выполнена процедура Upload_Map.

2.6.16 VDD_Connect
Подключает (на нагрузку) или отключает (от нагрузки) выход модуля
VDD, обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Connect(Power_ID: Integer; Connect: boolean):
boolean;
Синтаксис С++:
bool VDD_Connect(int Power_ID, bool Connect);

69
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Connect — выход модуля VDD:
 true — подключить к нагрузке;
 false — отключить от нагрузки;
Предварительно должна быть выполнена процедура Upload_Map.

2.6.17 VDD_Set_CPL
Устанавливает порог срабатывания компаратора нижнего уровня
устройства VDD для указанной платы PIN266.
Синтаксис PASCAL:
function VDD_Set_CPL(Board: byte; CPL: double): boolean;
Синтаксис С++:
bool VDD_Set_CPL(byte Board, double CPL);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
CPL — порог срабатывания компаратора нижнего
уровня [В].

2.6.18 VDD_Set_CPH
Устанавливает порог срабатывания компаратора верхнего уровня
устройства VDD для указанной платы PIN266.
Синтаксис PASCAL:
function VDD_Set_CPH(Board: byte; CPH: double): boolean;
Синтаксис С++:
bool VDD_Set_CPH(byte Board, double CPH);

70
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
CPH — порог срабатывания компаратора верхнего
уровня [В].

2.7 Управление VCC

2.7.1 Set_VCC
Устанавливает режимы и параметры модуля VСС, обслуживающего
указанный источник питания.
Синтаксис PASCAL:
function Set_VCC(Power_ID: Integer; Mode: T_Fmode_VCC;
U, I_Lim: double; Connect: boolean): boolean;
Синтаксис С++:
bool Set_VCC(int Power_ID, Fmode_VCC_t Mode, double U, double
I_Lim, bool Connect);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Mode — режим работы VCC. Возможные значения:
 Fmode_FN_VCC — высокоимпедансное состояние;
 Fmode_FV_VCC — воспроизведение напряжения;
U — напряжение источника питания [В]. Допустимые
значения: 0,8 ≤ U ≤ 5,5;
I_Lim — ток ограничения устройства VCC [А]. Допустимые
значения: -4,0 ≤ I_Lim ≤ -0,4 или +0,4 ≤ I_Lim ≤ +4,0.
Connect — выходное реле устройства VCC:
 true — подключить к нагрузке;
 false — отключить от нагрузки;

71
ФРМИ 411739.001 РЭ2
Редакция 1.6
Предварительно должна быть выполнена процедура Upload_Map.

2.7.2 VCC_Set_Mode
Устанавливает режим работы модуля VСС, обслуживающего указанный
источник питания.
Синтаксис PASCAL:
function VCC_Set_Mode(Power_ID: Integer; Mode: T_Fmode_VCC):
boolean;
Синтаксис С++:
bool VCC_Set_Mode(int Power_ID, Fmode_VCC_t Mode);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Mode — режим работы VCC. Возможные значения:
 Fmode_FN_VCC — высокоимпедансное состояние;
 Fmode_FV_VCC — воспроизведение напряжения;
Предварительно должна быть выполнена процедура Upload_Map.

2.7.3 VCC_Get_Mode
Возвращает текущий режим работы модуля VСС, обслуживающего
указанный источник питания.
Синтаксис PASCAL:
function VCC_Get_Mode(Power_ID: Integer; out Mode: T_Fmode_VCC):
boolean;
Синтаксис С++:
bool VCC_Get_Mode(int Power_ID, Fmode_VCC_t& Mode);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла

72
ФРМИ 411739.001 РЭ2
Редакция 1.6
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Mode — режим работы VCC. Возможные значения:
 Fmode_FN_VCC — высокоимпедансное состояние;
 Fmode_FV_VCC — воспроизведение напряжения;
Предварительно должна быть выполнена процедура Upload_Map.

2.7.4 VCC_Set_U
Устанавливает выходное напряжение модуля VСС, обслуживающего
указанный источник питания.
Синтаксис PASCAL:
function VCC_Set_U(Power_ID: Integer; U: double): boolean;
Синтаксис С++:
bool VCC_Set_U(int Power_ID, double U);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
U — напряжение источника питания [В]. Допустимые
значения: 0,8 ≤ U ≤ 5,5;.
Предварительно должна быть выполнена процедура Upload_Map.

2.7.5 VCC_Get_U
Возвращает текущее выходное напряжение модуля VСС, обслуживающего
указанный источник питания.
Синтаксис PASCAL:
function VCC_Get_U(Power_ID: Integer; out U: double): boolean;
Синтаксис С++:
bool VCC_Get_U(int Power_ID, double& U);

73
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
U — текущее выходное напряжение устройства
VCC [В].
Предварительно должна быть выполнена процедура Upload_Map.

2.7.6 VCC_Set_I_Lim
Устанавливает ток ограничения модуля VСС, обслуживающего указанный
источник питания.
Синтаксис PASCAL:
function VCC_Set_I_Lim(Power_ID: Integer; I_Lim: double):
boolean;
Синтаксис С++:
bool VCC_Set_I_Lim(int Power_ID, double I_Lim);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
I_Lim — абсолютное значение тока ограничения устройства
VCC [А]. Допустимые значения: +0,4 ≤ I_Lim ≤ +4,0.
Предварительно должна быть выполнена процедура Upload_Map.

2.7.7 VCC_Get_I_Lim
Возвращает текущий ток ограничения модуля VСС, обслуживающего
указанный источник питания.
Синтаксис PASCAL:
function VCC_Get_I_Lim(Power_ID: Integer; out I_Lim: double):
boolean;

74
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool VCC_Get_I_Lim(int Power_ID,double& I_Lim);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
I_Lim — текущий ток ограничения устройства VCC [А].
Предварительно должна быть выполнена процедура Upload_Map.

2.7.8 VCC_Connect
Подключает или отключает от потребителя модуль VСС,
обслуживающий указанный источник питания.
Синтаксис PASCAL:
function VCC_Connect(Power_ID: Integer; Connect: boolean):
boolean;
Синтаксис С++:
bool VCC_Connect(int Power_ID, bool Connect);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Connect — Возможные значения:
 true — подключить выход устройства VCC;
 false — отключить выход устройства VCC;
Предварительно должна быть выполнена процедура Upload_Map.

75
ФРМИ 411739.001 РЭ2
Редакция 1.6

2.8 Измерение напряжений и токов

2.8.1 Set_Meas_Count
Устанавливает счетчик (количество повторов) измерений при
выполнении функций типа Meas.
Синтаксис PASCAL:
procedure Set_Meas_Count(Count: byte);
Синтаксис С++:
void Set_Meas_Count(byte Count);

Параметр:
Count — количество повторов измерений. Допустимые
значения 1 ≤ Count ≤ 255;
При выполнении функция типа Meas(ure) измерения повторяютcя Count
раз с целью усреднения полученного значения. Чем больше величина Count, тем
лучше точность измерений (за счѐт увеличения времени их выполнения).
По умолчанию Count = 5.

2.8.2 PMU_Meas_U
Производит измерение напряжения, формируемого на входе устройства
PMU, обслуживающего указанный канал, в заданном диапазоне.
Синтаксис PASCAL:
function PMU_Meas_U(Channel: Integer; Range: T_Range_PMU;
out U: double): boolean;
Синтаксис С++:
bool PMU_Meas_U(int Channel, Range_PMU_t Range, double& U);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Range — диапазон измерения напряжений. Возможные значения:
 PMU_2V — (-1,0…+1,0) В;
 PMU_3V — (+0,1…+2,9) В;

76
ФРМИ 411739.001 РЭ2
Редакция 1.6
 PMU_14V — (-2,0…+8,0) В;
Возвращаемый параметр:
U — результат измерения напряжения [В].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений PMU переводится в режим MV, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.3 PMU_Meas_U_StdDev
Производит измерение напряжения, формируемого на входе устройства
PMU, обслуживающего указанный канал, в заданном диапазоне. Дополнительно
возвращает значение СКО.
Синтаксис PASCAL:
function PMU_Meas_U_StdDev(Channel: Integer; Range: T_Range_PMU;
out U, StdDev: double): boolean;
Синтаксис С++:
bool PMU_Meas_U_StdDev(int Channel, Range_PMU_t Range, double&
U, double& StdDev);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Range — диапазон измерения напряжений. Возможные значения:
 PMU_2V — (-1,0…+1,0) В;
 PMU_3V — (+0,1…+2,9) В;
 PMU_14V — (-2,0…+8,0) В;
Возвращаемые параметры:
U — результат измерения напряжения [В];
StdDev — результат измерения СКО [В].
Предварительно должна быть выполнена процедура Upload_Map.

77
ФРМИ 411739.001 РЭ2
Редакция 1.6
При проведении измерений PMU переводится в режим MV, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.4 PMU_Meas_I
Производит измерение тока, протекающего через устройство PMU,
обслуживающее указанный канал.
Синтаксис PASCAL:
function PMU_Meas_I(Channel: Integer; out I: double): boolean;
Синтаксис С++:
bool PMU_Meas_I(int Channel, double& I);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
I результат измерения тока [А].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений PMU переводится в режим MI, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.5 PMU_Meas_I_StdDev
Производит измерение тока, протекающего через устройство PMU,
обслуживающее указанный канал. Дополнительно возвращает значение СКО.
Синтаксис PASCAL:
function PMU_Meas_I_StdDev(Channel: Integer;
out I, StdDev: double): boolean;
Синтаксис С++:
bool PMU_Meas_I_StdDev(int Channel, double& I, double& StdDev);

78
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемые параметры:
I — результат измерения тока [А];
StdDev — результат измерения СКО [А];
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений PMU переводится в режим MI, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.6 VDD_Meas_U
Производит измерение в заданном диапазоне напряжения на входе модуля
VDD, обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VDD_Meas_U(Power_ID: Integer; Range: T_Range_VDD; outU:
double): boolean;
Синтаксис С++:
bool VDD_Meas_U(int Power_ID, Range_VDD_t Range, double& U);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Range — диапазон измерения напряжений. Возможные значения:
 VDD_2V — (-1,0…+1,0) В;
 VDD_3V — (+0,1…+2,9) В;
 VDD_14V — (-2,0…+12,0) В;
 VDD_17V — (-2,0…+15,0) В;

79
ФРМИ 411739.001 РЭ2
Редакция 1.6
Возвращаемый параметр:
U — результат измерения напряжения [В].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VDD переводится в режим MV, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.7 VDD_Meas_U_StdDev
Производит измерение в заданном диапазоне напряжения на входе модуля
VDD, обслуживающего указанный источник питания.. Дополнительно
возвращает значение СКО.
Синтаксис PASCAL:
function VDD_Meas_U_StdDev(Power_ID: Integer; Range:
T_Range_VDD; out U, StdDev: double): boolean;
Синтаксис С++:
bool VDD_Meas_U_StdDev(int Power_ID, Range_VDD_t Range,
double& U, double& StdDev);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Range — диапазон измерения напряжений. Возможные значения:
 VDD_2V — (-1,0…+1,0) В;
 VDD_3V — (+0,1…+2,9) В;
 VDD_14V — (-2,0…+12,0) В;
 VDD_17V — (-2,0…+15,0) В;
Возвращаемые параметры:
U — результат измерения напряжения [В];
StdDev — результат измерения СКО [В].
Предварительно должна быть выполнена процедура Upload_Map.

80
ФРМИ 411739.001 РЭ2
Редакция 1.6
При проведении измерений VDD переводится в режим MV, если он не был
установлен. Производится усреднение результатов по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.8 VDD_Meas_I
Производит измерение тока, протекающего через модуль VDD,
обслуживающий указанный источник питания.
Синтаксис PASCAL:
function VDD_Meas_I(Power_ID: Integer; out I: double): boolean;
Синтаксис С++:
bool VDD_Meas_I(int Power_ID,double& I);
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
I — результат измерения тока [А].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VDD переводится в режим MI, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.9 VDD_Meas_I_StdDev
Производит измерение тока, протекающего через модуль VDD,
обслуживающий указанный источник питания. Дополнительно возвращает
значение СКО.
Синтаксис PASCAL:
function VDD_Meas_I_StdDev(Power_ID: Integer; out I, StdDev:
double): boolean;
Синтаксис С++:
bool VDD_Meas_I_StdDev(int Power_ID, double& I, double& StdDev);

81
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемые параметры:
I — результат измерения тока [А];
StdDev — результат измерения СКО [А];
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VDD переводится в режим MI, если он не был
установлен. Производится усреднение результатов по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.10 VDD_Meas_2I
Производит измерение тока двумя модулями VDD одновременно при
включении их в параллель. Позволяет измерять повышенную (до 790 мА)
величину тока.
Синтаксис PASCAL:
function VDD_Meas_2I(Power_U, Power_I: Integer; out I: double):
boolean;
Синтаксис С++:
bool VDD_Meas_2I(int Power_U, int Power_I, double& I);

Параметры:
Power_U — номер (идентификатор) источника питания,
который устанавливается в режим FV. Допустимые значения:
0 ≤ Power_U ≤ Max_Power_ID, где Max_Power_ID — наибольший
идентификатор Power_ID в секции [POWER] файла конфигурации
(другими словами, количество активных источников тестера FHF -1);
Power_I — номер (идентификатор) источника питания,
который устанавливается в режим FI. Допустимые значения:
0 ≤ Power_I ≤ Max_Power_ID, где Max_Power_ID — наибольший
идентификатор Power_ID в секции [POWER] файла конфигурации
(другими словами, количество активных источников тестера FHF -1);

82
ФРМИ 411739.001 РЭ2
Редакция 1.6
Возвращаемый параметр:
I — результат измерения тока [А].
ПРИМЕЧАНИЕ: выходы «Forc_VDD» используемой пары плат PIN266
должны быть аппаратно замкнуты на измерительной оснастке.
Предварительно должна быть выполнена процедура Upload_Map.
Результат измерения определяется как сумма двух токов. При
проведении измерений производится усреднение по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.11 VDD_Meas_2I_StdDev
Производит измерение тока двумя модулями VDD одновременно при
включении их в параллель. Позволяет измерять повышенную (до 790 мА)
величину тока. Дополнительно возвращает значение СКО
Синтаксис PASCAL:
function VDD_Meas_2I_StdDev(Power_U, Power_I: Integer; out I,
StdDev: double): boolean;
Синтаксис С++:
bool VDD_Meas_2I_StdDev(int Power_U, int Power_I, double& I,
double& StdDev);

Параметры:
Power_U — номер (идентификатор) источника питания,
который устанавливается в режим FV. Допустимые значения:
0 ≤ Power_U ≤ Max_Power_ID, где Max_Power_ID — наибольший
идентификатор Power_ID в секции [POWER] файла конфигурации
(другими словами, количество активных источников тестера FHF -1);
Power_I — номер (идентификатор) источника питания,
который устанавливается в режим FI. Допустимые значения:
0 ≤ Power_I ≤ Max_Power_ID, где Max_Power_ID — наибольший
идентификатор Power_ID в секции [POWER] файла конфигурации
(другими словами, количество активных источников тестера FHF -1);
Возвращаемые параметры:
I — результат измерения тока [А];
StdDev — результат измерения СКО [А].

83
ФРМИ 411739.001 РЭ2
Редакция 1.6
ПРИМЕЧАНИЕ: выходы «Forc_VDD» используемой пары плат PIN266
должны быть аппаратно замкнуты на измерительной оснастке.
Предварительно должна быть выполнена процедура Upload_Map.
Результат измерения тока определяется как сумма двух токов. При
проведении измерений производится усреднение по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.12 VDD_Get_Meas_Mode
Возвращает текущий режим измерения устройства VDD для указанной
платы PIN266.
Синтаксис PASCAL:
function VDD_Get_Meas_Mode(Power_ID: Integer; out Mode:
T_Mmode): boolean;
Синтаксис С++:
bool VDD_Get_Meas_Mode(int Power_ID, Mmode_t& Mode);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
Mode — текущий режим измерения. Возможные значения:
 Mmode_MV — измерение напряжения;
 Mmode_MI — измерение тока;

2.8.13 VCC_Meas_U
Производит измерение в заданном диапазоне напряжения на входе модуля
VCC, обслуживающего указанный источник питания.
Синтаксис PASCAL:
function VCC_Meas_U(Power_ID: Integer; Range: T_Range_VCC;
out U: double): boolean;
Синтаксис С++:
bool VCC_Meas_U(int Power_ID, Range_VCC_t Range, double& U);

84
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Range — диапазон измерения напряжений. Возможные значения:
 VCC_5V5 — (+0,8…+5,5) В;
Возвращаемый параметр:
U — измеренное напряжение [В].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VCC переводится в режим MV, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.14 VCC_Meas_U_StdDev
Производит измерение в заданном диапазоне напряжения на входе модуля
VCC, обслуживающего указанный источник питания. Дополнительно
возвращает значение СКО.
Синтаксис PASCAL:
function VCC_Meas_U_StdDev(Power_ID: Integer;
Range: T_Range_VCC; out U, StdDev: double): boolean;
Синтаксис С++:
bool VCC_Meas_U_StdDev(int Power_ID, Range_VCC_t Range,
double& U, double& StdDev);

Параметры:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Range — диапазон измерения напряжений. Возможные значения:
 VCC_5V5 — (+0,8…+5,5) В;

85
ФРМИ 411739.001 РЭ2
Редакция 1.6
Возвращаемые параметры:
U — результат измерения напряжения [В];
StdDev — результат измерения СКО [В].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VCC переводится в режим MV, если он не был
установлен. Производится усреднение результатов по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.15 VCC_Meas_I
Производит измерение тока, протекающего через модуль VСС,
обслуживающий указанный источник питания.
Синтаксис PASCAL:
function VCC_Meas_I(Power_ID: Integer; out I: double): boolean;
Синтаксис С++:
bool VCC_Meas_I(int Power_ID,double& I);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемый параметр:
I — результат измерения тока [А].
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VCC переводится в режим MI, если он не был
установлен. Производится усреднение результата по заданному процедурой
Set_Meas_Count количеству измерений.

2.8.16 VCC_Meas_I_StdDev
Производит измерение тока, протекающего через модуль VСС,
обслуживающий указанный источник питания. Дополнительно возвращает
значение СКО.

86
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function VCC_Meas_I_StdDev(Power_ID: Integer; out I, StdDev:
double): boolean;
Синтаксис С++:
bool VCC_Meas_I_StdDev(int Power_ID, double& I, double& StdDev);

Параметр:
Power_ID — номер (идентификатор) источника питания.
Допустимые значения: 0 ≤ Power_ID ≤ Max_Power_ID, где Max_Power_ID
— наибольший идентификатор Power_ID в секции [POWER] файла
конфигурации (другими словами, количество активных источников
тестера FHF -1);
Возвращаемые параметры:
I — результат измерения тока [А];
StdDev — результат измерения СКО [А];
Предварительно должна быть выполнена процедура Upload_Map.
При проведении измерений VCC переводится в режим MI, если он не был
установлен. Производится усреднение результатов по заданному процедурой
Set_Meas_Count количеству измерений.

2.9 Коммутация

2.9.1 Connect_DC
Включает/выключает реле DC для указанного канала.
Синтаксис PASCAL:
function Connect_DC(Channel: Integer; Connect: boolean):
boolean;
Синтаксис С++:
bool Connect_DC(int Channel, bool Connect);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);

87
ФРМИ 411739.001 РЭ2
Редакция 1.6
Connect — реле DC:
 true — включить;
 false — выключить;
Предварительно должна быть выполнена процедура Upload_Map.
Реле DC подключают устройства PMU соответствующих плат PIN266 к
точкам DUT, т.е к объекту контроля.

2.9.2 Connect_AC
Включает/выключает реле AC для указанной группы каналов.
Синтаксис PASCAL:
function Connect_AC(const Channels: array of Integer;
Connect: boolean): boolean;
Синтаксис С++:
bool Connect_AC(vec_int& Channels, bool Connect);

Параметры:
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Connect — реле AC:
 true — подключить;
 false — отключить;
Предварительно должна быть выполнена процедура Upload_Map.
Реле AC подключают PIN-электронику (драйвера и компараторы)
указанных каналов к точкам DUT, т.е к объекту контроля.

2.9.3 Unconnect_All
Отключает все устройства, включѐнные ранее операторами «Connect…».
Синтаксис PASCAL:
function Unconnect_All(): boolean;
Синтаксис С++:
bool Unconnect_All(byte Board);

88
ФРМИ 411739.001 РЭ2
Редакция 1.6
Процедура отключает все источники (VDD, VCC, PMU) и реле (AC, DC),
включѐнные ранее операторами «Connect…».

2.10 Тестовая Последовательность


Большинство функций данного раздела используются (скрытым от
Пользователя образом) в редакторе ФК и дублируют его возможности.
В ИП целесообразно использовать эти функции для расширения еѐ
возможностей, например, для формирования ТП «из тела программы» (без
использования внешних редакторов и/или внешних файлов ФК).

2.10.1 Set_Vectors_Сount
Устанавливает количество используемых векторов (количество строк в
матрице ТП).
Синтаксис PASCAL:
function Set_Vectors_Count(Vectors_Count: Integer): boolean;
Синтаксис С++:
bool Set_Vectors_Count(int Vectors_Count);

Параметры:
Vectors_Count количество используемых векторов (количество строк
в матрице ТП) Допустимые значения: 0 ≤ Vectors_Count ≤ 67108864.

2.10.2 Get_Vectors_Сount
Возвращает количество используемых векторов (количество строк в
матрице ТП).
Синтаксис PASCAL:
function Get_Vectors_Count(out Vectors_Count: Integer): boolean;
Синтаксис С++:
bool Get_Vectors_Count(int& Vectors_Count);

Возвращаемый параметр:
Vectors_Count — текущее количество используемых векторов.

2.10.3 Set_State
Устанавливает состояние ячейки ТП в заданном векторе для заданного
канала.

89
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Set_State(Channel, Vector_Adr: Integer;
State: T_State): boolean;
Синтаксис С++:
bool Set_State(int Channel, int Vector_Adr, State_t State);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Vector_Adr — адрес вектора (номер строки матрицы ТП).
State — состояние ячейки ТП. Возможные величины:
 S0 — низкий выходной уровень драйвера, отсутствие
контроля компаратором;
 S1 — высокий выходной уровень драйвера, отсутствие
контроля компаратором;
 SL — высокоимпедансное состояние выхода драйвера,
контроль низкого уровня компаратором;
 SH — высокоимпедансное состояние выхода драйвера,
контроль высокого уровня компаратором;
 SQ — низкий выходной уровень драйвера, контроль
низкого уровня компаратором;
 SZ — высокоимпедансное состояние выхода драйвера,
контроль промежуточного уровня компаратором;
 SX — высокоимпедансное состояние выхода драйвера,
отсутствие контроля компаратором;
 SJ — высокий выходной уровень драйвера, контроль
высокого уровня компаратором;
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.
Сформированная ТП загружается из памяти компьютера в аппаратуру
тестера посредством процедуры Upload_Vectors. При этом параметр State

90
ФРМИ 411739.001 РЭ2
Редакция 1.6
преобразуется в последовательность битов Test-Block-Mask аппаратной
памяти векторов и аппартной памяти атрибутов следующим образом:
State Test Block Mask
S0 0 0 1
S1 1 0 1
SH 1 1 0
SL 0 1 0
SQ 0 0 0
SZ 1 1 1
SX 0 1 1
SJ 1 0 0

2.10.4 Get_State
Возвращает текущее состояние ячейки ТП в заданном векторе для
заданного канала.
Синтаксис PASCAL:
function Get_State(Channel, Vector_Adr: Integer;
out State: T_State): boolean;
Синтаксис С++:
bool Get_State(int Channel, int Vector_Adr, State_t& State);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Vector_Adr — адрес вектора (номер строки матрицы ТП).
Возвращаемый параметр:
State — состояние ячейки ТП. Возможные величины:
 S0 — низкий выходной уровень драйвера, отсутствие
контроля компаратором;
 S1 — высокий выходной уровень драйвера, отсутствие
контроля компаратором;

91
ФРМИ 411739.001 РЭ2
Редакция 1.6
 SL — высокоимпедансное состояние выхода драйвера,
контроль низкого уровня компаратором;
 SH — высокоимпедансное состояние выхода драйвера,
контроль высокого уровня компаратором;
 SQ — низкий выходной уровень драйвера, контроль
низкого уровня компаратором;
 SZ — высокоимпедансное состояние выхода драйвера,
контроль промежуточного уровня компаратором;
 SX — высокоимпедансное состояние выхода драйвера,
отсутствие контроля компаратором;
 SJ — высокий выходной уровень драйвера, контроль
высокого уровня компаратором;
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.5 Set_Vector
Устанавливает состояние ячеек для всех каналов в заданном векторе ТП.
Синтаксис PASCAL:
function Set_Vector(Vector_Adr: Integer; const Vector:
T_Vector): boolean;
Синтаксис С++:
bool Set_Vector(int Vector_Adr, const Vector_t& Vector);

Параметры:
Vector_Adr — адрес вектора (номер строки матрицы ТП).
Допустимые значения: 0 ≤ Vector_Adr ≤ Vectors_Сount-1, где
Vectors_Сount — количество используемых векторов, предварительно
заданных процедурой Set_Vectors_Сount;
Vector — вектор (содержимое единичной строки поля State
матрицы ТП). С программной точки зрения представляет собой
одномерный массив (ячеек матрицы ТП) размером Max_Channel_ID+1,
где Max_Channel_ID —наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации.

92
ФРМИ 411739.001 РЭ2
Редакция 1.6
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.6 Get_Vector
Возвращает состояние ячеек для всех каналов в заданном векторе ТП.
Синтаксис PASCAL:
function Get_Vector(Vector_Adr: Integer; out Vector: T_Vector):
boolean;
Синтаксис С++:
bool Get_Vector(int Vector_Adr, Vector_t& Vector);

Параметры:
Vector_Adr — адрес вектора (номер строки матрицы ТП).
Допустимые значения: 0 ≤ Vector_Adr ≤ Vectors_Сount-1, где
Vectors_Сount — количество используемых векторов, предварительно
заданных процедурой Set_Vectors_Сount;
Возвращаемый параметр:
Vector — вектор (содержимое единичной строки поля State
матрицы ТП). С программной точки зрения представляет собой
одномерный массив (ячеек матрицы ТП) размером Max_Channel_ID+1,
где Max_Channel_ID —наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации.
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.7 Set_Vectors
Устанавливает состояние ячеек для всех каналов в последовательности
векторов ТП, начинающейся с заданного вектора.
Синтаксис PASCAL:
function Set_Vectors(Start_Adr: Integer;
const Vectors: T_Array_Vector): boolean;
Синтаксис С++:
bool Set_Vectors(int Start_Adr, const Array_Vector_t& Vectors);

93
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Start_Adr — адрес начального вектора в последовательности
векторов. Допустимые значения: 0 ≤ Start_Adr ≤ Vectors_Сount-1, где
Vectors_Сount — количество используемых векторов, предварительно
заданных процедурой Set_Vectors_Сount;
Vectors — последовательность векторов (содержимое
нескольких последовательных строк поля State матрицы ТП). С
программной точки зрения представляет собой динамический двумерный
массив (ячеек матрицы ТП). Размер массива «по горизонтали» равен
Max_Channel_ID+1, где Max_Channel_ID — наибольший идентификатор
Channel_ID в секции [PINS] файла конфигурации. Размер массива «по
вертикали» Vectors_Num задается неявным образом в самом параметре
Vectors. Должно соблюдаться условие
Start_Adr + Vectors_Num ≤ Vectors_Сount-1;
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.8 Get_Vectors
Возвращает состояние ячеек для всех каналов ТП в последовательности
векторов указанной длины, начинающейся с указанного вектора.
Синтаксис PASCAL:
function Get_Vectors(Start_Adr, Vectors_Count: Integer;
out Vectors: T_Array_Vector): boolean;
Синтаксис С++:
bool Get_Vectors(int Start_Adr, int Vectors_Count,
Array_Vector_t& Vectors);

Параметры:
Start_Adr — адрес начального вектора в последовательности
векторов. Допустимые значения: 0 ≤ Start_Adr ≤ Vectors_Сount-1, где
Vectors_Сount — количество используемых векторов, предварительно
заданных процедурой Set_Vectors_Сount;
Vectors_Count — длина возвращаемой последовательности
векторов. Должно соблюдаться условие
Start_Adr + Vectors_Count ≤ Vectors_Сount-1;

94
ФРМИ 411739.001 РЭ2
Редакция 1.6
Возвращаемые параметры:
Vectors — вектора (содержимое нескольких
последовательных строк поля State матрицы ТП). С программной точки
зрения представляет собой двумерный массив (ячеек матрицы ТП).
Размер массива «по горизонтали» равен Max_Channel_ID+1, где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации. Размер массива «по вертикали» задается
параметром Vectors_Count;
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Upload_Map.

2.10.9 Set_Command
Устанавливает команду и соответствующий ей операнд для заданного
вектора ТП.
Синтаксис PASCAL:
function Set_Command(Vector_Adr: Integer; Command: T_Command;
Operand: Integer): boolean;
Синтаксис С++:
bool Set_Command(int Vector_Adr, Command_t Command,
int Operand);

Параметры:
Vector_Adr — адрес вектора (номер строки матрицы ТП).
Допустимые значения: 0 ≤ Vector_Adr ≤ Vectors_Сount-1, где
Vectors_Сount — количество используемых векторов, предварительно
заданных процедурой Set_Vectors_Сount;
Command — Команда (код операции). Возможные значения:
 CMD_NOP — No Operation, пустая операция;
 CMD_REP — REPeat a single vector, повторение текущего
вектора Cnt раз;
 CMD_PAGE_C — Page Call, установка страницы подпрограмм;
 CMD_PAGE — Page, установка регистра страницы;
 CMD_JMP_ABS — Jump Absolute, безусловный абсолютный переход;
 CMD_JMP_REL — Jump Relative, безусловный относительный
переход;

95
ФРМИ 411739.001 РЭ2
Редакция 1.6
 CMD_JNZ — Jump if Non Zero, условный относительный
переход по браку;
 CMD_JZ — Jump if Zero, условный относительный переход по
годности;
 CMD_CALL — Call Subroutine, вызов подпрограммы;
 CMD_RET — RETurn from Subroutine, возврат из подпрограммы;
 CMD_HALT — Halt, останов выполнения тестовой
последовательности;
 CMD_MBGN — Match BeGiN, вход в режим Match;
 CMD_MEND — Match END, выход из режима Match;
 CMD_DO — Do, начало цикла;
 CMD_LOOP — Loop, конец цикла;
 CMD_CTR_STATIC — Contol Of Static, управление «статикой» и 33-м
каналом;
Operand — 14-ти битный операнд. В зависимости от типа
команды Command может быть адресом, смещением, счетчиком
повторений и др. Если в данной команде операнд не используется, то
параметр Operand должен быть равен 0.
Предварительно следует задать количество используемых векторов
процедурой Set_Vectors_Сount.
Сформированная ТП загружается из памяти компьютера в аппаратуру
тестера посредством процедуры Upload_Vectors.

2.10.10 Get_Command
Возвращает текущую команду и соответствующий ей операнд для
заданного вектора ТП.
Синтаксис PASCAL:
function Get_Command(Vector_Adr: Integer; out Command:
T_command; out Operand: Integer): boolean;
Синтаксис С++:
bool Get_Command(int Vector_Adr, Command_t& Command, int&
Operand);

Параметры:
Vector_Adr — адрес вектора (номер строки матрицы ТП).
Допустимые значения: 0 ≤ Vector_Adr ≤ Vectors_Сount-1, где

96
ФРМИ 411739.001 РЭ2
Редакция 1.6
Vectors_Сount — количество используемых векторов, предварительно
заданных процедурой Set_Vectors_Сount;
Возвращаемые параметры:
Command — Команда (код операции). Возможные значения:
 CMD_NOP — No Operation, пустая операция;
 CMD_REP — REPeat a single vector, повторение текущего
вектора Cnt раз;
 CMD_PAGE_C — Page Call, установка страницы подпрограмм;
 CMD_PAGE — Page, установка регистра страницы;
 CMD_JMP_ABS — Jump Absolute, безусловный абсолютный переход;
 CMD_JMP_REL — Jump Relative, безусловный относительный
переход;
 CMD_JNZ — Jump if Non Zero, условный относительный
переход по браку;
 CMD_JZ — Jump if Zero, условный относительный переход по
годности;
 CMD_CALL — Call Subroutine, вызов подпрограммы;
 CMD_RET — RETurn from Subroutine, возврат из подпрограммы;
 CMD_HALT — Halt, останов выполнения тестовой
последовательности;
 CMD_MBGN — Match BeGiN, вход в режим Match;
 CMD_MEND — Match END, выход из режима Match;
 CMD_DO — Do, начало цикла;
 CMD_LOOP — Loop, конец цикла;
 CMD_CTR_STATIC — Contol Of Static, управление «статикой» и 33-м
каналом;
Operand — 14-ти битный операнд.

2.10.11 Upload_Vectors
Загружает ТП (или заданную еѐ часть) из памяти компьютера в
аппаратуру тестера.
Синтаксис PASCAL:
function Upload_Vectors(Start_Adr, End_Adr: Integer): boolean;
Синтаксис С++:
bool Upload_Vectors(int Start_Adr, int End_Adr);

97
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Start_Adr — адрес начала ТП (первого вектора). Допустимые
значения: 0 ≤ Start_Adr ≤ Vectors_Сount-1, где Vectors_Сount —
количество используемых векторов, предварительно заданных
процедурой Set_Vectors_Сount;
End_Adr — адрес конца ТП (последнего вектора). Допустимые
значения: 0 ≤ End_Adr ≤ Vectors_Сount-1, где Vectors_Сount —
количество используемых векторов, предварительно заданных
процедурой Set_Vectors_Сount. Должно соблюдаться условие
Start_Adr ≤ End_Adr.
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.12 Load_Vectors
Загружает ТП в память компьютера из заданного файла бинарного
(внутреннего ПО СИНБОЛ) формата.
Синтаксис PASCAL:
function Load_Vectors(File_Name: PChar): boolean;
Синтаксис С++:
bool Load_Vectors(char* File_Name);

Параметры:
File_Name — имя файла.
Бинарный файл должен быть предарительно сохранен процедурой
Save_Vectors или создан утилитами типа «Редактор ФК».

2.10.13 Save_Vectors
Сохраняет ТП из памяти компьютера в заданный файл бинарного
(внутреннего ПО СИНБОЛ) формата.
Синтаксис PASCAL:
function Save_Vectors(File_Name: PChar): boolean;
Синтаксис С++:
bool Save_Vectors(char* File_Name);

98
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
File_Name имя файла.

2.10.14 Export_Vectors
Загрузжает ТП в файл определенного (параметр Format задан) или
бинарного (внутреннего) формата (параметр Format опущен). Функция
Export_Vectors является перегружаемой (overload), т.е. поддерживает разные
наборы параметров.
Синтаксис PASCAL:
function Export_Vectors(File_Name: PChar; Format: T_Format):
boolean; overload;
function Export_Vectors(File_Name: PChar): boolean; overload;
Синтаксис С++:
bool Export_Vectors(char* File_Name, Format_t Format);
bool Export_Vectors(char* File_Name);

Параметры:
File_Name — имя файла;
Format — тип формата.

2.10.15 Import_Vectors
Импортирует вектора из файла определенного (параметр Format задан)
или бинарного (внутреннего) формата (параметр Format опущен). Функция
Import_Vectors является перегружаемой (overload), т.е. поддерживает разные
наборы параметров.
Синтаксис PASCAL:
function Import_Vectors(File_Name: PChar; Format: T_Format):
boolean; overload;
function Import_Vectors(File_Name: PChar): boolean; overload;
Синтаксис С++:
bool Import_Vectors(char* File_Name, Format_t Format);
bool Import_Vectors(char* File_Name);

Параметры:
File_Name — имя файла;
Format — тип формата.

99
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.10.16 Fill_Vectors
Заполняет часть тестовой последовательности заданным состоянием,
либо заданным вектором, либо заданным массивом векторов. Функция
Fill_Vectors является перегружаемой (overload), т.е. поддерживает разные
наборы параметров.
Синтаксис PASCAL:
function Fill_Vectors(Start_Adr, End_Adr: Integer;
State: T_State): boolean; overload;
function Fill_Vectors(Start_Adr, End_Adr: Integer;
const Vector: T_Vector): boolean; overload;
function Fill_Vectors(Start_Adr, End_Adr: Integer;
const Vectors: T_Array_Vector): boolean; overload;
Синтаксис С++:
bool Fill_Vectors(int Start_Adr, int End_Adr, State_t State);
bool Fill_Vectors(int Start_Adr, int End_Adr, const Vector_t&
Vector);
bool fill_vectors(int Start_Adr, int End_Adr,
const Array_Vector_t& Vectors);

Параметры:
Start_Adr — адрес вектора, с которого начинается заполнение.
End_Adr — адрес вектора, до которого необходимо заполнить
вектора.
State — состояние, которым будут заполнены все столбцы
(каналы) указанного диапазона матрицы ТП. Возможные значения:
 S0 — низкий выходной уровень драйвера, отсутствие
контоля компартором;
 S1 — высокий выходной уровень драйвера, отсутствие
контоля компартором;
 SH — высокоимпедансное состояние выхода драйвера,
контоль высокого уровня компартором;
 SL — высокоимпедансное состояние выхода драйвера,
контоль низкого уровня компартором;
 SQ — низкий выходной уровень драйвера, контоль
низкого уровня компартором;

100
ФРМИ 411739.001 РЭ2
Редакция 1.6
 SZ — высокоимпедансное состояние выхода драйвера,
контроль промежуточного уровня компартором;
 SX — высокоимпедансное состояние выхода драйвера,
отсутствие контоля компартором;
 SJ — высокий выходной уровень драйвера, контроль
высокого уровня компартором;
Vector — постоянные вектора, которыми будет заполнена
часть ТП;
Vectors — массив векторов.
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.17 Insert_Vectors
Вставляет в указанное место ТП заданную последовательность
векторов.
Синтаксис PASCAL:
function Insert_Vectors(Insert_Adr: Integer; const Vectors:
T_Array_Vector): boolean;
Синтаксис С++:
bool Insert_Vectors(int Insert_Adr, const Array_Vector_t&
Vectors);

Параметры:
Insert_Adr — адрес вектора ТП, перед которым вставляется
последовательность векторов. Допустимые значения:
0 ≤ Insert_Adr ≤ Vectors_Сount-1, где Vectors_Сount — количество
используемых векторов, предварительно заданных процедурой
Set_Vectors_Сount;;
Vectors — последовательность векторов (содержимое
нескольких последовательных строк поля State матрицы ТП). С
программной точки зрения представляет собой динамический двумерный
массив (ячеек матрицы ТП). Размер массива «по горизонтали» равен
Max_Channel_ID+1, где Max_Channel_ID — наибольший идентификатор
Channel_ID в секции [PINS] файла конфигурации. Размер массива «по
вертикали» Vectors_Num задается неявным образом в самом параметре

101
ФРМИ 411739.001 РЭ2
Редакция 1.6
Vectors. Должно соблюдаться условие
Insert_Adr + Vectors_Num ≤ Vectors_Сount-1;
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.10.18 Delete_Vectors
Удаляет часть векторов, заданную начальным и конечным адресами, из
тестовой последовательности.
Синтаксис PASCAL:
function Delete_Vectors(Start_Adr, End_Adr: Integer): boolean;
Синтаксис С++:
bool Delete_Vectors(int Start_Adr, int End_Adr);

Параметры:
Start_Adr — адрес вектора с которого необходимо начать
удалять вектора. Допустимые значения: 0 ≤ Start_Adr ≤ Vectors_Сount-1,
где Vectors_Сount — количество используемых векторов,
предварительно заданных процедурой Set_Vectors_Сount;
End_Adr — адрес вектора на котором необходимо закончить
удалять вектора. Допустимые значения: 0 ≤ Start_Adr ≤ Vectors_Сount-1,
где Vectors_Сount — количество используемых векторов,
предварительно заданных процедурой Set_Vectors_Сount. Должно
соблюдаться условие Start_Adr ≤ End_Adr;
Предварительно следует задать размерность матрицы ТП, а именно:
задать количество используемых векторов процедурой Set_Vectors_Сount и
задать количество активных каналов процедурой Set_Channels_Count.

2.11 Частота ФК

2.11.1 Set_FC_Freq
Устанавливает заданную частоту ФК.
Синтаксис PASCAL:
function Set_FC_Freq(FC_Freq: double): boolean;
Синтаксис С++:
bool Set_FC_Freq(double FC_Freq);

102
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметр:
FC_Freq — частота ФК [МГц].
Частота ФК FФК — частота выдачи векторов во время выполнения
тестовой последовательности после процедуры Run_FC.
По умолчанию значание FФК равно 100,06 МГц.

2.11.2 Get_Freqs_Info
Возвращает текущие значения частот ФК и ОЧФК.
Синтаксис PASCAL:
function Get_Freqs_Info(out FC_Freq, Ref_FC_Freq: double):
boolean;
Синтаксис С++:
bool Get_Freqs_Info(double& FC_Freq, double& Ref_FC_Freq);

Возвращаемые параметры:
FC_Freq — реальное значение частоты ФК FФК [МГц];
Ref_FC_Freq — реальное значение ОЧФК FОЧФК [МГц].
Частота ФК FФК — частота выдачи векторов во время выполнения
тестовой последовательности после процедуры Run_FC.
Опорная частота ФК FОЧФК —частота синхронизации, аппаратно
подаваемая на платы PIN266.

2.12 Режимы и времена каналов


Большинство функций данного раздела используются (скрытым от
Пользователя образом) в редакторе времен и дублируют его возможности.
В ИП целесообразно использовать эти функции для расширения еѐ
возможностей, например, для установки временных параметров каналов «из тела
программы» (без использования внешних редакторов и/или внешних файлов
времен).
ПРИМЕЧАНИЕ: предустановленные временные параметры и режимы каналов загружаются
из памяти компьютера в аппаратуру тестера с помошью недокументированной процелуры
Upload_Timings, автоматически вызываемой из процедуры Run_FC.

103
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.12.1 Set_Pulse_Shape
Задаѐт форму импульса (стиль) и временные метки форматера для
заданного канала. Функция Set_Pulse_Shape является перегружаемой
(overload), т.е. поддерживает разные наборы параметров.
Синтаксис PASCAL:
function Set_Pulse_Shape(Channel: Integer;
Pulse_Shape: T_Pulse_Shape; t1: double; t2: double): boolean;
overload;
function Set_Pulse_Shape(const Channels: array of Integer;
Pulse_Shape: T_Pulse_Shape; t1: double; t2: double): boolean;
overload;
Синтаксис С++:
bool Set_Pulse_Shape(uint Channel, Pulse_Shape_t Pulse_Shape,
double t1, double t2);
bool Set_Pulse_Shape(vec_int& Channels,
Pulse_Shape_t Pulse_Shape, double t1, double t2);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
или
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Pulse_Shape — форма (стиль) импульса. Возможные значения:
 PS_Off — статическое блокирование (выход драйвера в
высокоимпедансном состоянии);
 PS_R0 — (Return to Zero), возврат к нулю. Положительный
импульс мeжду t1 и t2;

104
ФРМИ 411739.001 РЭ2
Редакция 1.6
 PS_R1 — (Return to One), возврат к единице. Отрицальный
импульс мeжду t1 и t2;
 PS_NRZ — (Non Return to Zero) потенциальный активный
драйвер. В момент t1 в тракте изменение состояния с 0 на 1. В момент
t2 происходит изменение состояния с 1 на 0;
 PS_DNRZ — драйвер с блокировкой (двунаправленный
потенциальный канал);
t1 — положение метки t1 [нс];
t2 — положение метки t2 [нс].
Предварительно должны быть выполнены процедура Upload_Map и
процедура Set_Channel_Type для даного канала с параметрами (CT_Output или
CT_Bidir).
Значение по умолчанию
Pulse_Shape = PS_Off;
t1 = 0,0 [нс];
t2 = 0,0 [нс].

2.12.2 Get_Pulse_Shape
Возвращает текушую форму импульса (стиль) для заданного канала.
Синтаксис PASCAL:
function Get_Pulse_Shape(Channel: Integer;
out Pulse_Shape: T_Pulse_Shape): boolean;
Синтаксис С++:
bool Get_Pulse_Shape(uint Channel, Pulse_Shape_t& Pulse_Shape);

Параметр:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
Pulse_Shape — форма (стиль) импульса. Возможные значения:
 PS_Off — статическое блокирование (выход в третьем
состоянии);

105
ФРМИ 411739.001 РЭ2
Редакция 1.6
 PS_R0 — (Return to Zero), возврат к нулю. Положительный
импульс мeжду t1 и t2;
 PS_R1 — (Return to One), возврат к единице. Отрицальный
импульс мeжду t1 и t2;
 PS_NRZ — (Non Return to Zero) потенциальный активный
драйвер. В момент t1 в тракте изменение состояния с 0 на 1. В момент
t2 происходит изменение состояния с 1 на 0;
 PS_DNRZ — драйвер с блокировкой (двунаправленный
потенциальный канал);

2.12.3 Get_Pulse_Timing
Возвращает реальные значения временных меток для заданного канала.
Синтаксис PASCAL:
function Get_Pulse_Timing(Channel: Integer;
out t1: double; out t2: double): boolean;
Синтаксис С++:
bool Get_Pulse_Timing(uint Channel, double& t1, double& t2);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемые параметры:
t1 — установленное c учетом аппаратных и программых
ограничений положение метки t1 относительно начала вектора[нс];
t2 — установленное c учетом аппаратных и программых
ограничений положение метки t2 относительно начала вектора[нс].

2.12.4 Set_Control_Mode
Устанавливает режимы контроля и сравнения, временные метки
компаратора для указанного канала или группы каналов. Функция является
перегружаемой (overload), т.е. поддерживает разные наборы параметров.

106
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Set_Control_Mode(Channel: Integer;
Compare_Ctrl: T_Compare_Ctrl; Compare_Mode: T_Compare_Mode;
t3, t4: double): boolean; overload;
function Set_Control_Mode(const Channels: array of Integer;
Compare_Ctrl: T_Compare_Ctrl; Compare_Mode: T_Compare_Mode;
t3, t4: double): boolean; overload;
Синтаксис С++:
bool Set_Control_Mode(uint Channel, Compare_Ctrl_t Compare_Ctrl,
Compare_Mode_t Compare_Mode, double t3, double t4);
bool Set_Control_Mode(vec_int& Channels,
Compare_Ctrl_t Compare_Ctrl, Compare_Mode_t Compare_Mode,
double t3, double t4);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
или
Channels — набор (массив) номеров (идентификаторов)
каналов. Длина массива не должна превышать количество активных
каналов тестера FHF, а каждый его элемент (идентфикатор канала)
должен находиться в диапазоне [0…Max_Channel_ID], где
Max_Channel_ID — наибольший идентификатор Channel_ID в секции
[PINS] файла конфигурации;
Compare_Ctrl — режим контроля компаратора. Возможные значения:
 CC_Mask — cтатическое маскирование;
 CC_Detect — контроль по стробу;
 CC_Window — контроль по окну;
 CC_Expect — контроль перехода;
Compare_Mode — (под)режим сравнения компаратора. Возможные
значения:
 CM_Compare — сравнение, высокий и низкий уровни входных
сигналов интерпретируются как различные состояния;

107
ФРМИ 411739.001 РЭ2
Редакция 1.6
 CM_Capture — сбор данных, высокий и низкий уровни входных
сигналов не различаются, проверяются только «промежуточные»
уровни;
t3 — положение метки t3 компаратора [нс];
t4 — положение метки t4 компаратора [нс].
Должно выполняться условие t3 ≤ t4 для всех режимов, кроме
CM_Compare+CC_Detect.
Значения по умолчанию:
Compare_Ctrl = CC_Mask;
Compare_Mode = CM_Compare;
t3 = 0,0 [нс];
t4 = 0,0 [нс];

2.12.5 Get_Control_Mode
Возращает текущие режимы контроля и сравнения компаратора для
указанного канала.
Синтаксис PASCAL:
function Get_Control_Mode(Channel: Integer;
out Compare_Ctrl: T_Compare_Ctrl;
out Compare_Mode: T_Compare_Mode): boolean;
Синтаксис С++:
bool Get_Control_Mode(uint Channel,
Compare_Ctrl_t& Compare_Ctrl, Compare_Mode_t& Compare_Mode);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемые параметры:
Compare_Ctrl — режим контроля. Возможные значения:
 CС_Mask — cтатическое маскирование;
 CС_Detect — контроль по стробу;
 CС_Window — контроль по окну;

108
ФРМИ 411739.001 РЭ2
Редакция 1.6
 CС_Expect — контроль перехода;
Compare_Mode — (под)режим сравнения. Возможные значения:
 CM_Compare — сравнение;
 CM_Capture — сбор данных;

2.12.6 Get_Control_Timing
Возвращает временные метки компаратора для заданного канала.
Синтаксис PASCAL:
function Get_Control_Timing(Channel: Integer;
out t3, t4: double): boolean;
Синтаксис С++:
bool Get_Control_Timing(uint Channel, double& t3, double& t4);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемые параметры:
t3 — установленное c учетом аппаратных и программых
ограничений положение метки t3 относительно начала вектора[нс];
t4 — установленное c учетом аппаратных и программых
ограничений положение метки t4 относительно начала вектора[нс].

2.12.7 Upload_Timings
Загружает временные параметры каналов из памяти компьютера в
аппаратуру тестера.
Синтаксис PASCAL:
function Upload_Timings(): boolean;
Синтаксис С++:
bool Upload_Timings(void);

2.12.8 Load_Timings
Загружает временные параметры из файла бинарного (внутреннего ПО
СИНБОЛ) формата в память компьютера.

109
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Load_Timings(File_Name: PChar): boolean;
Синтаксис С++:
bool Load_Timings(char* File_Name);

Параметры:
File_Name — имя файла (строка).

2.12.9 Save_Timings
Сохраняет временные параметры из памяти компьютера в файле
бинарного (внутреннего ПО СИНБОЛ) формата.
Синтаксис PASCAL:
function Save_Timings(File_Name: PChar): boolean;
Синтаксис С++:
bool Save_Timings(char* File_Name);

Параметры:
File_Name — имя файла (строка).

2.12.10 Import_Timings
Импортирует временные параметры из файла определенного (параметр
Format задан) или бинарного (внутреннего) формата (параметр Format
опущен). Функция является перегружаемой (overload), т.е. поддерживает
разные наборы параметров.
Синтаксис PASCAL:
function Import_Timings(File_Name: PChar): boolean; overload;
function Import_Timings(File_Name: PChar; Format: T_Format):
boolean; overload;
Синтаксис С++:
bool Import_Timings(char* File_Name);
bool Import_Timings(char* File_Name, Format_t Format);

Параметры:
File_Name — имя файла (строка);
Format — тип формата.

110
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.12.11 Export_Timings
Экспортирует временные параметры параметры в файл определенного
(параметр Format задан) или бинарного (внутреннего) формата (параметр
Format опущен). Функция является перегружаемой (overload), т.е.
поддерживает разные наборы параметров.
Синтаксис PASCAL:
function Export_Timings(File_Name: PChar): boolean; overload;
function Export_Timings(File_Name: PChar; Format: T_Format):
boolean; overload;
Синтаксис С++:
bool Export_Timings(char* File_Name);
bool Export_Timings(char* File_Name, Format_t Format);

Параметры:
File_Name — имя файла;
Format — тип формата файла.

2.13 Запуск ФК

2.13.1 Run_FC
Запускает выполнение Функционального Контроля c заданными
параметрами.
Синтаксис PASCAL:
function Run_FC(Start_Adr, End_Adr, Cycle_Adr: Integer; Cycling:
boolean; Continue: boolean; Stop_State: T_Stop_State):
boolean;
Синтаксис С++:
bool Run_FC(int Start_Adr, int End_Adr, int Cycle_Adr,
bool Cycling, bool Continue, Stop_State_t Stop_State);

Параметры:
Start_Adr — адрес начала выполнения ФК. Допустимые
значения: 0 ≤ Start_Adr≤ Vectors_Сount - 1, где Vectors_Сount —
количество используемых векторов, заданное ранее процедурой
Set_Vectors_Сount;

111
ФРМИ 411739.001 РЭ2
Редакция 1.6
End_Adr — адрес конца выполнения ФК. Допустимые
значения: Start_Adr ≤ End_Adr≤ Vectors_Сount - 1, где Vectors_Сount —
количество используемых векторов, заданное ранее процедурой
Set_Vectors_Сount. Если планируется осуществить останов выполнения
ФК по команде HALT, то для избегания коллизий допускается задавать
значение End_Adr за пределами рабочего диапазона ТП, например,
End_Adr ≥ Vectors_Сount;
Cycle_Adr — адрес вектора начала аппаратного цикла.
Допустимые значения Start_Adr ≤ Cycle_Adr ≤ End_Adr;
Cycling — режим зацикливания. Возможные значения:
 false — не выполнять зацикливание ТП. После достижения
конечного адреса, заданного параметром End_Adr, выполнение ФК
останавливается;
 true — выполнять зацикливание ТП (или ее части). После
достижения конечного адреса, заданного параметром End_Adr,
выполнение ФК аппаратно (независимо от текущей команды)
переходит на начало цикла, заданного параметром Cycle_Adr;
Continue — режим продолжения ФК (подробнее ниже).
Возможные значения:
 false — начинать выполнение ФК с адреса Start_Adr;
 true — продолжать выполнение ФК с адреса последнего
выполненого вектора + 1;
Stop_State — состояние, в которое устанавливаются точки DUT
тестера (выходы драйверов) после окончания выполнения (остановки) ТП.
Возможные значения:
 SS_Off — высокоимпедансное состояние;
 SS_Active_Break — динамически зацикливается последний
выполненный вектор ТП;
 SS_Passive_Break —сохраняется статическое состояние,
соответствующее конечному моменту последнего выполненного
вектора.
ВНИМАНИЕ: процедура Run_FC возвращает управление в измерительную
программу, «не дожидаясь» аппаратного окончания выполнения ФК! Для
гарантированного определения факта окончания ТП следует использовать
функцию Get_FC_State. Допускается также после запуска Run_FC

112
ФРМИ 411739.001 РЭ2
Редакция 1.6
использовать временную задержку, несколько превышающую расчетное время
выполнения ФК.
Для нормальной работы ФК должно выполняться соотношение
Start_Adr ≤ End_Adr. При этом для корректного прохождения ФК в диапазоне
ТП между Start_Adr и End_Adr не должно быть команд, передающих управление
за пределы этого диапазона. Исключением являются команды вызова
подпрограмм CALL.
Выполнение ФК начинается:
с адреса Start_Adr, если параметр Continue = false;
с адреса последнего выполненого вектора + 1, если параметр
Continue = true (при этом значение Start_Adr аппаратно
игнорируется).
Первый вызов процедуры Run_FC в процессе выполнения ИП должен быть
обязательно с параметром Continue = false (т.к. в начальный момент
адрес последнего выполненого вектора аппаратно ещѐ не определен).
Выполнение ФК заканчивается:
после выполнения вектора с командой HALT внутри дианазона ТП,
ограниченого адресами Start_Adr и End_Adr;
после выполнения вектора по адресу End_Adr (независимо от его
команды) при отключенном режиме зацикливания Cycling = false;
при передаче управления командами переходов (за исключением
вызовов подпрограмм CALL) за пределы диапазона между Start_Adr и
End_Adr;
принудительно при вызове процедуры Stop_FC;
в случае возникновения аппаратных ошибок переполнение стеков,
переполнение буферов команд или буферов ошибок и др.;
Режим зацикливания ФК включается параметром Cycling = true, при этом
становится действителен параметр Cycle_Adr (в противном случае он
аппаратно игнорируется). Выход из режима зацикливания осуществляется
вызовом процедуры Stop_FC.

2.13.2 Stop_FC
Осуществляет принудительный останов ранее запущенного ФК.
Синтаксис PASCAL:
function Stop_FC(): boolean;

113
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool Stop_FC(void);
Обычно процедура Stop_FC применяется для остановки зацикленного ФК
(например, при измерении динамического тока потребления).

2.13.3 Get_FC_State
Возвращает текущее состояния ФК.
Синтаксис Delphi:
function Get_FC_State(out FC_State: T_FC_State): boolean;
Синтаксис С++:
bool Get_FC_State(FC_State_t& FC_State);

Возвращаемый параметр:
FC_State — текущее состояние ФК. Возможные значения:
 FS_Off — ФК выключен;
 FS_Break — ФК остановлен;
 FS_Run — ФК запущен;
Обычно функция Get_FC_State применяется после процедуры Run_FC

2.13.4 Get_Step_Counter
Возвращает общее количество выполненных за прогон ФК тактов
(векторов, шагов) для указаной платы PIN266.
Синтаксис PASCAL:
function Get_Step_Counter(Board: byte; out Step_Counter: Int64):
boolean;
Синтаксис С++:
bool Get_Step_Counter(byte Board, __int64& Step_Counter);

Параметр:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Возвращаемый параметр:
Step_Counter — количество выполненных тактов.

114
ФРМИ 411739.001 РЭ2
Редакция 1.6
2.13.5 Get_Last_Vector_Adr
Возвращает адрес последнего выполненного вектора ФК для указаной
платы PIN266.
Синтаксис PASCAL:
function Get_Last_Vector_Adr(Board: byte;
out Last_Vector_Adr: Integer): boolean;
Синтаксис С++:
bool Get_Last_Vector_Adr(byte Board, int& Last_Vector_Adr);

Параметр:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Возвращаемый параметр:
Last_Vector_Adr — адрес последнего выполненного вектора.

2.14 Обработка ошибок ФК

2.14.1 Get_Channel_Error
Возвращает значение флага «брак/годен» (ошибки выполнения ФК) для
заданного канала.
Синтаксис PASCAL:
function Get_Channel_Error(Channel: Integer;
out Channel_Error: boolean): boolean;
Синтаксис С++:
bool Get_Channel_Error(int Channel, bool& Channel_Error);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
Channel_Error — значение флага ошибки. Возможные значения:
 true — брак;

115
ФРМИ 411739.001 РЭ2
Редакция 1.6
 false — годен.
Предварительно должен быть осуществлен запуск ФК (Run_FC).
ВНИМАНИЕ: параметр Channel_Error является инверсным по
отношению к аналогичному параметру «годен/брак»ОК функций Print_Result и
Save_To_DB.

2.14.2 Get_Channel_Error_Count
Возращает количество ошибок, возникших во время выполнения ФК, для
указанго канала.
Синтаксис PASCAL:
function Get_Channel_Error_Count(Channel: Integer;
out Channel_Error_Count: Integer): boolean;
Синтаксис С++:
bool Get_Channel_Error_Count(int Channel,
int& Channel_Error_Count);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Возвращаемый параметр:
Channel_Error_Count — количество ошибок во время выполнения ФК.
Предварительно должен быть осуществлен запуск ФК (Run_FC).

2.14.3 Get_Board_Error
Возвращает значение флага «брак/годен» (ошибки выполнения ФК) для
указаной платы PIN266.
Синтаксис PASCAL:
function Get_Board_Error(Board: byte; out Board_Error: boolean):
boolean;
Синтаксис С++:
bool Get_Board_Error(byte Board, bool& Board_Error);

116
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Возвращаемый параметр:
Board_Error — флаг ошибки. Возможные значения:
 false — «годен», во время выполнения ФК ошибок не
было;
 true — «брак», во время выполнения ФК ошибки были;
Предварительно должен быть осуществлен запуск ФК (Run_FC).
ВНИМАНИЕ: параметр Board_Error является инверсным по отношению к
аналогичному параметру «годен/брак»ОК функций Print_Result и Save_To_DB.

2.14.4 Get_Board_Error_Count
Возращает количество ошибок, возникших во время выполнения ФК, для
указаной платы PIN266.
Синтаксис PASCAL:
function Get_Board_Error_Count(Board: byte;
out Board_Error_Count: Integer): boolean;
Синтаксис С++:
bool Get_Board_Error_Count(byte Board, int& Board_Error_Count);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Возвращаемый параметр:
Board_Error_Count — количество ошибок.
Предварительно должен быть осуществлен запуск ФК (Run_FC).

2.14.5 Get_Global_Error
Возвращает значение флага «брак/годен» (ошибки выполнения ФК) для
логической группы плат.
Синтаксис PASCAL:
function Get_Global_Error(out Global_Error: boolean): boolean;

117
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool Get_Global_Error(bool& Global_Error);

Возвращаемый параметр:
Global_Error значение флага ошибки для логической группы плат.
Возможные варианты:
 true во время выполнения ФК была по крайней мере одна
ошибка (брак)
 false во время выполнения ФК была ошибок не было
(годен).
Предварительно должен быть осуществлен запуск ФК (Run_FC).
ВНИМАНИЕ: параметр Global_Error является инверсным по отношению
к аналогичному параметру «годен/брак» ОК функций Print_Result и
Save_To_DB.

2.14.6 Get_Global_Error_Count
Возвращает количество ошибок ФК для логической группы плат.
Синтаксис PASCAL:
function
Get_Global_Error_Count(out Global_Error_Count: Integer):
boolean;
Синтаксис С++:
bool Get_Gloabal_Error_Count(int& Gloabal_Error_Count);

Возвращаемый параметр:
Global_Error_Count — количество ошибок в группе.
Предварительно должен быть осуществлен запуск ФК (Run_FC).

2.14.7 Get_First_Error_Step
Возвращает номер первого ошибочного такта (шага) ФК для платы Cross
(параметр Board опущен) или для платы PIN266 (параметр Board задан).
Функция является перегружаемой (overload), т.е. поддерживает разные наборы
параметров.
Синтаксис PASCAL:
function Get_First_Error_Step(out First_Error_Step: Int64):
boolean; overload;

118
ФРМИ 411739.001 РЭ2
Редакция 1.6
function Get_First_Error_Step(Board: byte;
out First_Error_Step: Int64): boolean; overload;
Синтаксис С++:
bool Get_First_Error_Step(__int64& First_Error_Step);
bool Get_First_Error_Step(byte Board,
__int64& First_Error_Step);

Параметры:
Board — (опционально) логический номер платы PIN266.
Допустимые значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE —
кол-во плат PIN266 в логической группе.
Возвращаемый параметр:
First_Error_Step — номер первого ошибочного такта (шага) ФК.
Предварительно должен быть осуществлен запуск ФК (Run_FC).
Параметр First_Error_Step достоверен, только, если последний запуск ФК
окончился с ошибкой (функция Get_Global_Error возвращает параметр
Global_Error=true).

2.14.8 Get_Adr_First_Error_Vector
Возвращает адрес первого вектора, на котором возник брак во время
выполнения ФК, для указаной платы PIN266.
Синтаксис PASCAL:
function Get_Adr_First_Error_Vector(Board: byte;
out Adr_First_Error_Vector: Integer): boolean;
Синтаксис С++:
bool Get_Adr_First_Error_Vector(byte Board,
int& Adr_First_Error_Vector);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Возвращаемый параметр:
Adr_First_Error_Vector — адрес первого бракованного вектора.
Предварительно должен быть осуществлен запуск ФК (Run_FC).

119
ФРМИ 411739.001 РЭ2
Редакция 1.6
Параметр Adr_First_Error_Vector достоверен, только, если последний
запуск ФК окончился с ошибкой (функция Get_Global_Error возвращает
параметр Global_Error=true).

2.15 Карта ошибок

2.15.1 Get_DEM_Cp
Возвращает из памяти ощибок значения интегральных ответов
компараторов для заданного канала и такта ФК.
Синтаксис PASCAL:
function Get_DEM_Cp(Channel: Integer; Step: Cardinal; out
DEM_CpL, DEM_CpH: boolean): boolean;
Синтаксис С++:
bool Get_DEM_Cp(int Channel, uint Step, bool& DEM_CpL,
bool& DEM_CpH);

Параметры:
Channel — номер (идентификатор) канала. Допустимые
значения: 0 ≤ Channel ≤ Max_Channel_ID, где Max_Channel_ID —
наибольший идентификатор Channel_ID в секции [PINS] файла
конфигурации (другими словами, количество активных каналов тестера
FHF -1);
Step номер такта ФК;
Возвращаемые параметры:
DEM_CpL интегральный ответ компаратора нижнего уровня.
Возможные значения: false и true;
DEM_CpH интегральный ответ компаратора верхнего уровня.
Возможные значения: false и true;

2.16 Управление интерфейсом I2C

2.16.1 Write_I2C
Осуществляет операцию «запись данных» на внешнем интерфейсе I2C по
указанному адресу устройства.

120
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Write_I2C(Adr: byte; const Data; Data_Lng: byte):
boolean;
Синтаксис С++:
bool Write_I2C(byte Adr, vec_byte& Data);

Параметры для синтаксиса Delphi:


Adr — адрес устройства на внешнем интерфейсе I2C
тестера;
Data — пакет данных, записываемый в устройство.
Максимальная длина пакета = 253 байта;
Data_Lng — длина записываемого пакета данных в байтах
(только для Pascal). Допустимые значения 1 ≤ Data_Lng ≤ 253;
Интерфейс I2C тестера FHF предназначен для управления устройствами,
расположенных на измерительной оснастке (например, микросхемами —
портами включения/выключения реле).

2.16.2 Read_I2C
Осуществляет операцию «чтение данных» из внешнего интерфейса I2C из
устройства с указанным адресом.
Синтаксис PASCAL:
function Read_I2C(Adr: byte; var Data; Data_Lng: byte): boolean;
Синтаксис С++:
bool Read_I2C(byte Adr, vec_byte& Data);

Параметры:
Adr — адрес устройства на внешнем интерфейсе I2C
тестера;
Data — данные (размер не более 253 байт)
Data_Lng — длина данных (только для Pascal).

2.17 Недокументированные

2.17.1 PMU_Get_Meas_Mode
Возвращает текущий режим измерения устройства PMU для указанной
платы PIN266.

121
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function PMU_Get_Meas_Mode(Board: byte; out Mode: T_Mmode):
boolean;
Синтаксис С++:
bool PMU_Get_Meas_Mode(byte Board, Mmode_t& Mode);

Параметр:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Возвращаемый параметр:
Mode — текущий режим измерения. Возможные значения:
 Mmode_MV — измерение напряжения;
 Mmode_MI — измерение тока;

2.17.2 Set_Active_33
Устанавливает (активирует) режим 33-го канала для указаной платы
PIN266.
Синтаксис PASCAL:
function Set_Active_33(Board: byte; Mode33: T_Mode33): boolean;
Синтаксис С++:
bool Set_Active_33(byte Board, Mode33_t Mode33);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Mode33 — режим работы устройства VDD. Возможные
значения:
 Mode33_On — устройство VDD работает как 33-й канал,
управляемый от ФК;
 Mode33_Off — устройство VDD работает как источник;
При активизации режима (параметр Mode33=Mode33_On) устройство
VDD используется в качестве драйвера и компаратора 33-го канала,
управляемого от ФК.

122
ФРМИ 411739.001 РЭ2
Редакция 1.6
По умолчанию включен режим Mode33_Off, устройство VDD используется
как источник напряжения и тока.

2.17.3 Set_Pin33
Устанавливает уровни драйверов, пороги компараторов, ток ограничения
33-го канала для указаной платы PIN266.
Синтаксис PASCAL:
function Set_Pin33(Board: byte; DRH, DRL, CPH, CPL, I_Lim:
double; Pin_Mode33: T_Pin_Mode33): boolean;
Синтаксис С++:
bool Set_Pin33(byte Board, double DRH, double DRL, double CPH,
double CPL, double I_Lim, Pin_Mode33_t Pin_Mode33);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
DRH — напряжение верхнего уровня драйвера [В];
DRL — напряжение низкого уровня драйвера [В];
CPH — порог срабатывания компаратора верхнего
уровня [В];
CPL — порог срабатывания компаратора нижнего
уровня [В];
I_Lim — ток ограничения [А];
Pin_Mode33 — режим устройства VDD. Возможные значения:
 Hi_Z_33 — высокоимпедансное состояние;
 Drive_33 — активное состояние;
В качестве драйвера и компаратора 33-го канала используется
устройство VDD.
Вызов функции допускается только после активизации 33-го канала
процедурой Set_Active_33 с параметром Mode33=Mode33_On.

2.17.4 Set_Channels_Count
Устанавливает количество активных каналов ФК (количество столбцов в
поле «State» матрицы ТП).

123
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Set_Channels_Count(Channels_Count: Integer): boolean;
Синтаксис С++:
bool Set_Channels_Count(int Channels_Count);

Параметр:
Channels_Count — количество активных каналов ФК (количество
столбцов в поле «State» матрицы ТП). Допустимые значения:
0 ≤ Channels_Count ≤ 32 × GROUP_SIZE, где GROUP_SIZE — кол-во
плат PIN266 в логической группе.

2.17.5 Set_Rising_Delay
Устанавливает задержку фазирования переднего фронта для указанного
аппаратного канала указанной платы PIN266.
Синтаксис PASCAL:
function Set_Rising_Delay(Board: byte; Pin: T_Pin; Path: T_Path;
Delay: double): boolean;
Синтаксис С++:
bool Set_Rising_Delay(byte Board, Pin_t Pin, Path_t Path,
double Delay);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Pin номер каналана плате.
Path Путь, на который накладывается задержка: Data, Ena, CPL, CPH.
Delay Задержка [нс]

2.17.6 Set_Falling_Delay
Устанавливает задержку фазирования заднего фронта (спада) для
указанного аппаратного канала указанной платы PIN266.
Синтаксис PASCAL:
function Set_Falling_Delay(Board: byte; Pin: T_Pin;
Path: T_Path; Delay: double): boolean;

124
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис С++:
bool Set_Falling_Delay(byte Board, Pin_t Pin, Path_t Path,
double Delay);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Pin номер канала.
Path Путь, на который накладывается задержка: Data, Ena, CPL, CPH.
Delay Задержка [нс]

2.17.7 Get_Rising_Delay
Возвращает задержку фазирования переднего фронта для указанного
аппаратного канала указанной платы PIN266.
Синтаксис PASCAL:
function Get_Rising_Delay(Board: byte; Pin: T_Pin; Path: T_Path;
out Delay: double): boolean;
Синтаксис С++:
bool Get_Rising_Delay(byte Board, Pin_t Pin, Path_t Path,
double& Delay);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Pin номер канала.
Path Путь, с которого считывается задержка: Data, Ena, CPL, CPH.
Возвращаемые параметры:
Delay Задержка

2.17.8 Get_Falling_Delay
Возвращает задержку фазирования заднего фронта для указанного
аппаратного канала указанной платы PIN266.

125
ФРМИ 411739.001 РЭ2
Редакция 1.6
Синтаксис PASCAL:
function Get_Falling_Delay(Board: byte; Pin: T_Pin;
Path: T_Path; out Delay: double): boolean;
Синтаксис С++:
bool Get_Falling_Delay(byte Board, Pin_t Pin, Path_t Path,
double& Delay);

Параметры:
Board — логический номер платы PIN266. Допустимые
значения: 0 ≤ Board ≤ GROUP_SIZE-1, где GROUP_SIZE — кол-во плат
PIN266 в логической группе.
Pin номер канала.
Path — путь, с которого считывается задержка: Data, Ena,
CPL, CPH.
Возвращаемый параметр:
Delay — задержка [нс]

126