Пользователь может работать с устройствами фирмы "ЗЭТ" с помощью вызовов функций библиотеки ZADC.dll.
Библиотека написана на С++ и имеет интерфейс WinAPI (Microsoft® Windows® Application Programming Interface (API)). Все функции библиотеки ZADC.dll возвращают код ошибки. Значение "0" говорит о выполнении функции без ошибок. Функции библиотеки ZADC.dll имеют вид ZXXX(...). Если функция влияет на работу только АЦП, то она заканчивается на ADC, если функция влияет на работу только ЦАП – она заканчивается на DAC. Общие функции не имеют специфичных обозначений.
Функции делятся на две категории: информационные и управляющие. Информационные функции, возвращают в программу пользователя различные параметры и не меняют режим работы драйвера, сигнального процессора и модулей АЦП и ЦАП. Управляющие программы меняют режим работы драйвера и устройств, подключенных к драйверу. При этом в драйвере устанавливается признак изменения режима работы (modify). Если несколько программ одновременно работают с одним драйвером, то каждая программа должна при каждом обращении к драйверу считывать этот признак и должна менять свой режим работы: обработки сигналов, отображения и пр.
Структурная схема управления устройством на примере KADSP/PCI представлена на рисунке.

Сигнальный процессор выполняет следующие функции:
- устанавливает коэффициенты усиления на модуле АЦП и коэффициент затухания на модуле ЦАП;
- устанавливает частоту дискретизации на модулях АЦП и ЦАП;
- обеспечивает синхронизацию нескольких сигнальных процессоров;
- по завершению преобразования производит опрос выбранных каналов АЦП и формирует массив данных во внутренней памяти сигнального процессора;
- проводит первичную цифровую фильтрацию и прореживание оцифрованных входных сигналов;
- проводит каскадную декадную фильтрацию и прореживание;
- устанавливает и снимает сигнал прерывания для центрального процессора при заполнении внутреннего буфера памяти;
- обеспечивает перекачку данных из внутренней памяти в память центрального процессора порции данных, определяемой драйвером как размер буфера для перекачки.
Драйвер на уровне ядра обеспечивает обмен управляющими данными с сигнальным процессором. Программа обработчика прерываний от сигнального процессора обеспечивает прием оцифрованных сигналов и размещение их в буфере памяти. Для каждого сигнального процессора создается свой буфер данных.
На уровне пользователя функционирует библиотека подпрограмм для связи пользовательских программ с частью драйвера, расположенного на уровне ядра. Драйвер поддерживается операционными системами Windows 2000 и Windows XP, Windows 2003.
Индексы контроллеров PCI, как правило, распределяются последовательно в направлении от разъема AGP к краю системной платы. Индексы контроллеров USB зависят от порядка подключения и от номера порта USB.
В системе может быть установлено несколько контроллеров KADSP/PCI или KADSP/PDP, к каждому сигнальному процессору модуля может быть подключен только один модуль АЦП или ЦАП. Дополнительно, к любому из сигнальных процессоров, управляющих модулем АЦП, можно подключить усилитель заряда ПУ 8/10 и управлять его программируемым коэффициентом усиления. Два сигнальных процессора на плате KADSP/PCI соединены по схеме ведущий/ведомый. Оба процессора работают на одной тактовой частоте от одного тактового генератора. Ведущим процессором на плате является процессор, расположенный справа и ближе к краю платы. Соответственно справа расположен и 50-контактный разъем для подключения модулей АЦП и ЦАП. Ведомым процессором на плате является процессор, расположенный слева и ближе к разъемам «LEMO». Соответственно слева расположен и 50-контактный разъем для подключения модулей АЦП и ЦАП.
Для удобства программирования реализована сквозная адресация сигнальных процессоров и подключенных к ним модулей. Ключевым параметром во всех функциях является номер сигнального процессора (numberDSP).
Все программы, которые используют функции библиотеки ZADC.dll, должны начинаться и заканчиваться процедурами подключения к драйверу и отключения от драйвера. При этом никаких действий связанных с модулями АЦП, ЦАП и сигнальными процессорами не происходит. Это позволяет подключаться одновременно нескольким программам к одним модулям и сигнальным процессорам. Все текущие настройки сигнального процессора и модулей АЦП и ЦАП сохраняются во внутренних структурах драйвера. Для того чтобы определить, сколько установлено сигнальных процессоров в системе, необходимо выполнить 10 попыток подключения к драйверу с номерами сигнальных процессоров от 0 до 9 для соответствующего типа устройства. Количество удачных попыток подключения будет информировать о количестве установленных сигнальных процессоров в системе.
Оцифрованные данные от аналого-цифрового преобразователя, вернее, от его контроллера поступают в память центрального процессора порциями с размером, равным размеру буфера перекачки. Эти порции данных перекачиваются в процедуре обработки прерываний. Буфер для перекачки, как правило, намного меньше буфера памяти центрального процессора для хранения данных. Такая структура построения обеспечивает непрерывный (без пропусков) ввод оцифрованных данных в буфер памяти центрального процессора и последующую обработку данных программой пользователя.