Скачать 0.59 Mb.
|
Меню "File" Рис. 10. Меню «File» 1). Сохранение и считывание данных. Для хранения данных в программе используется текстовый файл. Ограничений на имя файла и его расширение не установлено. Программа позволяет сохранять и считывать данные 2-х каналов, как вместе, так и по отдельности в зависимости от настроек на закладке «View», группа «View Channel».Все данные записываются в один файл. Для чтения данных используется меню «File/Load Signal...»; для записи сигнала в файл используется меню «File/Save Signal...». 2). Закрытие программы Меню “Close” закрывает приложение. Меню “Devices” Рис. 11. Меню “Devices” Предназначено для выбора устройства, подключенного к ПК. Программа позволяет работать с четырьмя подключенными платами. В меню напротив выбранного устройства ставится соответствующая метка, а в области графиков отображаются соответствующие сигналы. Описание библиотеки "Xdspapi.dll" Библиотека "xdspapi.dll" предназначена для использования платы в прикладных программах. Библиотека реализует высокоуровневые API функции для управления режимами работы платы и получения оцифрованных данных из буферной памяти. Вместе с библиотекой поставляются: lib-файл xdspapi.lib для использования библиотеки под C-компилятором (например, Visual C++), заголовочные файлы xdspapi.pas и xdspapi.h для подключения библиотеки к проекту на Pascal и C соответственно. В комплекте программного обеспечения поставляемого с платой (каталог WIN_DO_Oscilloscope) находится проект в исходных текстах демонстрирующий работу с библиотекой в Delphi. Плата обеспечивает копирование внутренней памяти в физическую память компьютера и из памяти компьютера во внутреннюю память устройства без участия центрального процессора (DMA (Direct Memory Access) режим). Работа платы в этом режиме обеспечивает обмен данными между внутренней памятью платы и памятью компьютера на скорости до 100 MБ/с. При работе платы используется следующий механизм передачи оцифрованного сигнала из памяти АЦП в память компьютера:
При передаче данных из памяти компьютера в память ЦАП используется следующий механизм:
Плата поддерживает генерацию аппаратного прерывания. Прерывание генерируется после завершения процесса DMA транзакции. Основной режим работы платы - цифровой осциллограф с циклическим запуском процесса оцифровки. При запуске, в памяти компьютера выделяется 4-е DMA буфера (два для АЦП и два для ЦАП) для обмена данными с платой. Оцифрованные данные (2 канала АЦП) сохраняются в буферной памяти платы и, затем, по команде XdspStartRead, по очереди передаются в 1-й и 2-й DMA буфер компьютера для обработки. 3-й и 4-й DMA буферы компьютера используются для передачи данных ЦАП (2 канала ЦАП). Процесс передачи осуществляется командой XdspStartWrite. DLL библиотека "xdspapi.dll" подключается к проекту программы стандартными методами для используемой среды программирования. Модуль "xdspapi.pas" (xdspapi.h), описывающий импортируемые функции, а также дополнительные константы и типы для среды программирования Delphi (Visual C++), поставляется в комплекте программного обеспечения с платой. Библиотека поддерживает следующие группы функций:
Перечень функций:
XdspOpenDevice — Открыть устройство XdspCloseDevice - Закрыть устройство XdspResetAll - Выполнить RESET платы
XdspStartWrite — запись данных в ЦАП XdspStartRead — чтение данных из АЦП
XdspExternalStartEnable - включение режима внешнего запуска XdspExternalStartDisable - выключение режима внешнего запуска XdspSetPosEdgeExtStart – срабатывание внешнего запуска по положительному фронту сигнала XdspSetNegEdgeExtStart – срабатывание внешнего запуска по отрицательному фронту сигнала XDSPDigExtStartEnable — включение режима внешнего запуска по цифровому сигналу XDSPDigExtStartDisable — выключение режима внешнего запуска по цифровому сигналу
XdspSetProcessLength - установить количество отсчетов дискретизации и длину DMA транзакции XdspSetSampleFrequencyDivider - установить делитель частоты процесса оцифровки XdspAddrCntrToADCDataEnable - включение режима подмены данных АЦП адресным счетчиком (для диагностики) XdspAddrCntrToADCDataDisable - выключение режима подмены данных АЦП адресным счетчиком (для диагностики) XdspSetDAC1Default – запись данных в ЦАП1 установленных по умолчанию XdspSetDAC2Default – запись данных в ЦАП2 установленных по умолчанию XdspHistBuffEnable – включение буфера истории XdspHistBuffDisable – выключение буфера истории
XdspDACCounterEnable – подключение счетчика к ЦАП-у (для диагностики) XdspDACCounterDisable – отключение счетчика от ЦАП-а (для диагностики) XdspDACtoADCEnable – включает непосредственный обмен данными между памятью ЦАП и АЦП на плате (для диагностики) XdspDACtoADCDisable – выключает непосредственный обмен данными между памятью ЦАП и АЦП на плате (для диагностики) XdspWriteToADCDAC – запись слова в конфигурационные регистры АЦП и ЦАП XdspDACEnable - включение геренации сигнала ЦАП XdspDACDisable - выключение генерации сигнала ЦАП
XDSPReadDigInData - чтение цифровых сигналов с платы XDSPWriteDigOutData - запись цифровых сигналов в плату. Function XdspOpenDevice - Открыть устройство Декларация: Function XdspOpenDevice(bDeviceNumber:Byte; phInterruptEventHandle:PHandle; ppDmaBuffer1:PPDmaMemoryBuffer; ppDmaBuffer2:PPDmaMemoryBuffer; ppDmaBuffer3:PPDmaMemoryBuffer; ppDmaBuffer4:PPDmaMemoryBuffer; pDmaBufferAddr1:PDWord; pDmaBufferAddr2:PDWord; pDmaBufferAddr3:PDWord; pDmaBufferAddr4:PDWord) : TDeviceHandle Параметры функции: bDeviceNumber - номер усройства; phInterruptEventHandle - указатель на прерывание от устройства; ppDmaBuffer1 — указатель на 1-й DMA буфер компьютера; ppDmaBuffer2 — указатель на 2-й DMA буфер компьютера; ppDmaBuffer3 — указатель на 3-й DMA буфер компьютера; ppDmaBuffer4 — указатель на 4-й DMA буфер компьютера; pDmaBufferAddr1 — указатель на физический адрес 1-го DMA буфера; pDmaBufferAddr2 — указатель на физический адрес 2-го DMA буфера; pDmaBufferAddr3 — указатель на физический адрес 3-го DMA буфера; pDmaBufferAddr4 — указатель на физический адрес 4-го DMA буфера. Функция предназначена для инициализации выбранной платы. Возвращает дескриптор открытой платы, который передается в остальные функции библиотеки как определитель устройства, к которому обращается программа. Функция получает указатель на физический и логический DMA буфер компьютера, получает дескриптор для обработки событий по прерыванию от платы и выполняет очистку регистров. В случае ошибки возвращается значение XDSP_INVALID_DEVICE_HANDLE (см. константы и типы для работы с API функциями библиотеки, описанные в файле "xdspapi.pas"), код ошибки можно получить, используя стандартную Windows API функцию GetLastError. Примечание: при инициализации платы значение делителя частоты дискретизации устанавливается равным 1 (см. функцию XdspSetSampleFrequencyDivider), размер процесса дискретизации и DMA транзакции (см. функцию XdspSetProcessLength) устанавливается равным значению dwLength. Эти параметры могут быть изменены в процессе работы программы вызовом функций XdspSetSampleFrequencyDivider и XdspSetProcessLength. Пример использования функции в среде Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменные для хранения дескриптора устройства device:TdeviceHandle; // параметры для инициализации платы phInterruptEventHandle:PHandle; ppDmaBuffer1:PPDmaMemoryBuffer; ppDmaBuffer2:PPDmaMemoryBuffer; ppDmaBuffer3:PPDmaMemoryBuffer; ppDmaBuffer4:PPDmaMemoryBuffer; pDmaBufferAddr1:PDWord; pDmaBufferAddr2:PDWord; pDmaBufferAddr3:PDWord; pDmaBufferAddr4:PDWord; … // Открываем плату 0. Число устройств подключенных к ПК может быть до 4 штук включительно. device:=XdspOpenDevice(0, @phInterruptEventHandle, @ppDmaBuffer1, @ppDmaBuffer2, @ppDmaBuffer3, @ppDmaBuffer4, @pDmaBufferAddr1, @pDmaBufferAddr2, @pDmaBufferAddr3, @pDmaBufferAddr4); // Если устройство открыто ошибочно If device=XDSP_INVALID_DEVICE_HANDLE Then Begin // Код ошибки может быть получен функцией GetLastError. exit; end; // Устройство открыто и проинициализировано успешно end; ... // Работа с платой Function XdspCloseDevice - Закрыть устройство Декларация: Function XdspCloseDevice(hDeviceHandle:TDeviceHandle):DWORD Функция предназначена для закрытия платы ранее открытой функцией XdspDeviceOpen. Закрытие платы выполняется перед завершением работы программы пользователя. Пример использования функции в среде Delphi : // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменные для хранения дескриптора устройства device : TdeviceHandle; // параметры для инициализации платы phInterruptEventHandle:PHandle; ppDmaBuffer1:PPDmaMemoryBuffer; ppDmaBuffer2:PPDmaMemoryBuffer; ppDmaBuffer3:PPDmaMemoryBuffer; ppDmaBuffer4:PPDmaMemoryBuffer; pDmaBufferAddr1:PDWord; pDmaBufferAddr2:PDWord; pDmaBufferAddr3:PDWord; pDmaBufferAddr4:PDWord; ... // Открываем плату, проверка ошибок и выбор номера устройства опущены (см. функцию XdspOpenDevice) device:=XdspOpenDevice(0, @phInterruptEventHandle, @ppDmaBuffer1, @ppDmaBuffer2, @ppDmaBuffer3, @ppDmaBuffer4, @pDmaBufferAddr1, @pDmaBufferAddr2, @pDmaBufferAddr3, @pDmaBufferAddr4); ... // Работа с платой ... // Закрываем плату перед завершением работы XdspCloseDevice(device); End; Function XdspResetAll - Выполнить RESET платы Декларация: Function XdspResetAll(hDeviceHandle:TDeviceHandle):DWORD Функция предназначена для внутренней инициализации платы. Примечание: для устойчивой и надежной работы платы, рекомендуется, посредство выполнения функции XdspResetAll, проводить инициализацию (реинициализацию) платы, каждый раз перед вызовом функций XdspStartWrite или XdspStartRead. Параметры функции: hDeviceHandle - дескриптор открытой платы. Пример использования функции в среде Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменная для хранения дескриптора устройства device : TdeviceHandle; // параметры для инициализации платы phInterruptEventHandle:PHandle; ppDmaBuffer1:PPDmaMemoryBuffer; ppDmaBuffer2:PPDmaMemoryBuffer; ppDmaBuffer3:PPDmaMemoryBuffer; ppDmaBuffer4:PPDmaMemoryBuffer; pDmaBufferAddr1:PDWord; pDmaBufferAddr2:PDWord; pDmaBufferAddr3:PDWord; pDmaBufferAddr4:PDWord; ... // Открываем плату, проверка ошибок и выбор номера устройства опущены (см. функцию XdspOpenDevice) device:=XdspOpenDevice(0, @phInterruptEventHandle, @ppDmaBuffer1, @ppDmaBuffer2, @ppDmaBuffer3, @ppDmaBuffer4, @pDmaBufferAddr1, @pDmaBufferAddr2, @pDmaBufferAddr3, @pDmaBufferAddr4); ... // Инициализируем плату XdspResetAll(device); ... // Работа с платой // Реинициализируем плату XdspResetAll(device); // Закрываем плату перед завершением работы, выбор номера устройства опущена (см. функцию XdspCloseDevice) XdspCloseDevice(device); Function XdspStartWrite – передача данных из памяти компьютера в буферную память платы (ЦАП) Декларация: Function XDspStartWrite(hDeviceHandle:TDeviceHandle; BufNumber:integer; RamNumber:integer; TimeOut:DWord):DWORD Функция копирует данные из DMA буфера компьютера во внутреннюю память платы ЦАП. Примечание: при передачи данных для ЦАП платы используются 2 и 3 DMA буфер в компьютере и на плате соответственно. 2-й для 1 канала ЦАП, 3-й для 2 канала ЦАП. Функция возвращает XDSP_STATUS_SUCCESS в случае успешного выполнения или XDSP_STATUS_ERROR в случае превышения таймаута (см. константы и типы для работы с API функциями библиотеки, описанные в файле "xdspapi.pas"), код ошибки можно получить, используя стандартную Windows API функцию GetLastError. Параметры функции: hDeviceHandle — дескриптор открытой платы; BufNumber — номер буфера внутренней памяти платы ( 2 для 1 канала ЦАП, 3 для 2 канала ЦАП); RamNumber — номер DMA буфера (2 для 1 канала ЦАП, 3 для 2 канала ЦАП); TimeOut — время ожидания прихода прерывания от платы в мс. Пример использования функции в Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменная для хранения дескриптора устройства device : TdeviceHandle; // Переменная для хранения результата работы функции result : Dword; // параметры для инициализации платы phInterruptEventHandle:PHandle; ppDmaBuffer1:PPDmaMemoryBuffer; ppDmaBuffer2:PPDmaMemoryBuffer; ppDmaBuffer3:PPDmaMemoryBuffer; ppDmaBuffer4:PPDmaMemoryBuffer; pDmaBufferAddr1:PDWord; pDmaBufferAddr2:PDWord; pDmaBufferAddr3:PDWord; pDmaBufferAddr4:PDWord; ... // Открываем плату, проверка ошибок и выбор номера устройства опущены (см. функцию XdspOpenDevice) device:=XdspOpenDevice(0, @phInterruptEventHandle, @ppDmaBuffer1, @ppDmaBuffer2, @ppDmaBuffer3, @ppDmaBuffer4, @pDmaBufferAddr1, @pDmaBufferAddr2, @pDmaBufferAddr3, @pDmaBufferAddr4); ... // Инициализирует плату, проверка ошибок опущена, см. функцию XdspResetAll XdspResetAll(device); // Запуск копирования данных со 2-го DMA буфера(1 канал ЦАП) компьютера во 2-й буфер платы, // Время ожидания таймаута 5с result:=XdspStartWrite(device,2,2,5000); // Если ошибка If result=XDSP_STATUS_ERROR Then Begin // Произошла ошибка при выполнении функции, код ошибки можно получить используя GetLastError End; // Запуск копирования данных со 3-го DMA буфера(2 канал ЦАП) компьютера во 3-й буфер платы, // Время ожидания таймаута 5с result:=XdspStartWrite(device,3,3,5000); // Если ошибка If result=XDSP_STATUS_ERROR Then Begin // Произошла ошибка при выполнении функции, код ошибки можно получить используя GetLastError End; ... // Закрываем плату перед завершением работы, выбор номера устройства опущен (см. функцию XdspcloseDevice) XdspCloseDevice(device); Function XdspStartRead – запускает процесс передачи данных из памяти платы (АЦП) в память компьютера Декларация: Function XDspStartRead(hDeviceHandle:TDeviceHandle; TimeOut:DWord; DMATrCB:DWord):DWORD Функция, в зависимости от выбора пользователя(параметр DMATrCB), запускает DMA транзакцию при которой диапазон внутренней памяти платы (АЦП) копируется во внутреннюю память компьютера (используются буферы с номерами 0 и 1), или функция запускает процесс дискретизации, по завершении которого автоматически производится запуск DMA транзакции. После чего функция ожидает прерывание, которое генерируется платой, и сигнализирует о завершении DMA транзакции. Функция возвращает XDSP_STATUS_SUCCESS в случае успешного выполнения или XDSP_STATUS_ERROR в случае превышения времени таймаута (см. константы и типы для работы с API функциями библиотеки, описанные в файле "xdspapi.pas"), код ошибки можно получить, используя стандартную Windows API функцию GetLastError. |
Руководство пользователя Мы гордимся тем, что предлагаем нашему потребителю новейшую и высококачественную продукцию для караоке. Перед эксплуатацией устройства,... |
Руководство по эксплуатации версия 0,июль 2015 Внимание! Перед началом работы внимательно прочтите данное руководство пользователя. Данное руководство пользователя является неотъемлемой... |
||
Руководство по эксплуатации версия 0, ноябрь 2015 (код 21-10-02) Внимание! Перед началом работы внимательно прочтите данное руководство пользователя. Данное руководство пользователя является неотъемлемой... |
Руководство пользователя Беспроводная микрофонная система vhf-диапазона Ritmix rwm-220 Перед использованием внимательно прочитайте руководство пользователя, убедитесь в том, что вы знаете, как использовать систему правильно.... |
||
Руководство пользователя Код документа: 54819512. 09. 01,03. 09.... Руководство пользователя «арм рбс» создано для прикладного программного обеспечения «Система удаленного финансового документооборота»... |
Руководство пользователя Код документа: 54819512. 09. 01,03. 09.... Руководство пользователя «арм рбс» создано для прикладного программного обеспечения «Система удаленного финансового документооборота»... |
||
15 руководство пользователя Просим уделить время для внимательного изучения инструкций в настоящем Руководстве пользователя. Это поможет вам надлежащим образом... |
Программный комплекс «web Торги-кс» Руководство пользователя Руководство... Настоящий документ является руководством пользователя программного комплекса «web-торги-кс» и содержит описание порядка работы казенных... |
||
Руководство пользователя 11 8 Операция «Первичный запрос» Руководство пользователя сервисного концентратора Министерства обороны Российской Федерации |
Руководство пользователя 11 8 Операция «Первичный запрос» Руководство пользователя сервисного концентратора Министерства обороны Российской Федерации |
||
Руководство пользователя 7 Операция «Поиск подразделений» Руководство пользователя веб-сервиса для работы с организационной структурой ведомства |
Руководство пользователя 7 1 Операция «SendPguRequest» Руководство пользователя электронного сервиса предоставления информации о разрешениях на строительство/на ввод в эксплуатацию |
||
Руководство пользователя 9 Операция «Регистрация заявления» Руководство пользователя сервиса предоставления информации из реестра регионального/муниципального имущества |
Пневматическая винтовка qb-15. Руководство пользователя Уважаемый покупатель, приступая к эксплуатации винтовки, внимательно изучите данное руководство пользователя |
||
Руководство пользователя 12 Операция «Передача документов» Руководство пользователя электронного сервиса предоставления информации фссп россии версии 1 |
Руководство пользователя 6 Операция «Обработка запроса» Руководство пользователя электронного сервиса предоставления сведений о регистрации лекарственных средств |
Поиск |