Скачать 0.59 Mb.
|
Примечание: функция в один момент времени может передавать данные только в АЦП или в ЦАП. Этот выбор делается при помощи флагов, выставляя соответствующий в состояние «true». Пример использования функции в среде Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменная для хранения дескриптора устройства device : TdeviceHandle; // Данные регистра управления. adc_data,dac_data : Word; // параметры для инициализации платы 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); adc_data := $0011; dac_data := $2000; // Передача данных для АЦП XdspWriteToADCDAC(device,adc_data,true,false); // Передача данных для ЦАП XdspWriteToADCDAC(device,dac_data,false,true); ... // Закрываем плату перед завершением работы, выбор номера устройства опущен (см. функцию xdspCloseDevice) XdspCloseDevice(device); Function XdspDACEnable — включение генерации сигнала ЦАП Декларация: Function XdspDACEnable(hDeviceHandle:TDeviceHandle):DWORD Функция включает режим генерации сигнала ЦАП. Параметры функции: hDeviceHandle — дескриптор открытой платы. Пример использования в среде Delphi показан при описании функции XdspDACDisable (см. следующую страницу). Function XdspDACDisable — выключение генерации сигнала ЦАП Декларация: Function XdspDACDisable(hDeviceHandle:TDeviceHandle):DWORD Функция выключает генерацию сигнала ЦАП. Параметры функции: hDeviceHandle — дескриптор открытой платы. Пример использования функций XdspDACEnable и XdspDACDisable в среде Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменная для хранения дескриптора устройства device : TdeviceHandle; // Флаг включения режима генерации сигнала ЦАП DACEnable : boolean; // параметры для инициализации платы 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); ... if DACEnable = true then XdspDACEnable(device); // Включение генерации сигнала ЦАП else XdspDACDisable(device); // Выключение генерации сигнала ЦАП end; ... // Закрываем плату перед завершением работы, выбор номера устройства опущен (см. функцию XdspCloseDevice) XdspCloseDevice(device); Function XDSPReadDigInData — чтение цифровых сигналов Декларация: Function XDSPReadDigInData(hDeviceHandle:TDeviceHandle; pdwData:PDWord):DWORD Функция выполняет чтение значений на цифровых выводах выбранного устройства. Параметры функции: hDeviceHandle — дескриптор открытой платы; pdwData — значение, прочитанное с цифровых выводов платы. Анализ полученных данных «dwData»: if ((dwData and $00000001) = 0) then //на входе FPGA-IN0 сигнал в нуле else //на входе FPGA-IN0 сигнал в единице if ((dwData and $00000002) = 0) then //на входе FPGA-IN1 сигнал в нуле else //на входе FPGA-IN1 сигнал в единице if ((dwData and $00000004) = 0) then //на входе FPGA-IN2 сигнал в нуле else //на входе FPGA-IN2 сигнал в единице if ((dwData and $00000008) = 0) then //на входе FPGA-IN3 сигнал в нуле else //на входе FPGA-IN3 сигнал в единице if ((dwData and $00000010) = 0) then //на входе FPGA-IN4 сигнал в нуле else //на входе FPGA-IN4 сигнал в единице if ((dwData and $00000020) = 0) then //на входе FPGA-IN5 сигнал в нуле else //на входе FPGA-IN5 сигнал в единице Примечание: Подробнее о цифровых разьемах см. «Описание сигнальных выводов платы». Пример использования функции в среде Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменная для хранения дескриптора устройства device : TdeviceHandle; // Переменная для хранения значение цифровых сигналов dwData : 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); ... // Чтение цифровых сигналов с платы XDSPReadDigInData(device,@dwData); // Обработка полученных данных (см. выше «анализ полученных данных»). // Закрываем плату перед завершением работы, выбор номера устройства опущен (см. функцию XdspCloseDevice) XdspCloseDevice(device); Function XDSPWriteDigOutData — запись цифровых сигналов Декларация: Function XDSPWriteDigOutData(hDeviceHandle:TDeviceHandle; dwData:DWord):DWORD Функция выполняет запись, определенных пользователем значений, которые будут отображаться на цифровых выводах установленной платы. Параметры функции: hDeviceHandle — дескриптор открытой платы; dwData — значение, записываемое в цифровые выводы платы. Примечание: цифровые выходы платы мультиплексируются с некоторыми внутренними сигналами платы*. При этом на выход подается либо сигнал пользователя записанный с помощью функции XDSPWriteDigOutData, либо один из внутренних сигналов (используется для диагностики). Структура параметра dwData(bit 31 – 0): bit 0 – N/A bit 1 – значение цифрового выхода FPGA-OUT0 заданное пользователем bit 2 – значение цифрового выхода FPGA-OUT1 заданное пользователем bit 3 – значение цифрового выхода FPGA-OUT2 заданное пользователем bit 4 – значение цифрового выхода FPGA-OUT3 заданное пользователем bit 5 – значение цифрового выхода FPGA-OUT4 заданное пользователем bit 6 – значение цифрового выхода FPGA-OUT5 заданное пользователем bit 7 – флаг мультиплексора для выхода FPGA-OUT0 bit 8 – флаг мультиплексора для выхода FPGA-OUT1 bit 9 – флаг мультиплексора для выхода FPGA-OUT2 bit 10 – флаг мультиплексора для выхода FPGA-OUT3 bit 11 – флаг мультиплексора для выхода FPGA-OUT4 bit 12 – флаг мультиплексора для выхода FPGA-OUT5 bit (13 – 31) – N/A При значении «1», соотвествующего бита, флаг мультиплексора переключает на цифровой выход соотвествующий внутренний сигнал платы*. При значении «0», на цифровой выход передается значение заданное пользователем посредством это функции. Примечание: цифровой выход FPGA-OUT5 не конфигурируется с помощью функции XDSPWriteDigOutData. На выход FPGA-OUT5 всегда поступает сигнал «временное окно»*. *Подробнее о внутренних сигналах платы см. Закладка «DigitControl». Пример использования функции в среде Delphi: // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; Var // Переменная для хранения дескриптора устройства device : TdeviceHandle; // Переменная для хранения значения цифровых сигналов dwData : 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); // Запись значений цифровых сигналов в плату dwData := $00000000; // если отмеченно пользователем, на цифровой выход FPGA-OUT0 подается сигнал лог «1» иначе «0» if DOUT0CheckBox.Checked then dwData := dwData or $00000002; // если отмеченно пользователем, на цифровой выход FPGA-OUT1 подается сигнал лог «1» иначе «0» if DOUT1CheckBox.Checked then dwData := dwData or $00000004; // аналогично для FPGA-OUT2 if DOUT2CheckBox.Checked then dwData := dwData or $00000008; // аналогично для FPGA-OUT3 if DOUT3CheckBox.Checked then dwData := dwData or $00000010; // аналогично для FPGA-OUT4 if DOUT4CheckBox.Checked then dwData := dwData or $00000020; // аналогично для FPGA-OUT5 if DOUT5CheckBox.Checked then dwData := dwData or $00000040; // если отмеченно пользователем, флаг переключает цифровой выход FPGA-OUT0 на внутренний сигнал платы if XDSP_NotProcessFlag_TO_DOUT0CheckBox.Checked then dwData := dwData or $00000080; // если отмеченно пользователем, флаг переключает цифровой выход FPGA-OUT1 на внутренний сигнал платы if XDSP_ProcessFlag_TO_DOUT1CheckBox.Checked then dwData := dwData or $00000100; // аналогично для FPGA-OUT2 if XDSP_ExtPuskEnable_TO_DOUT2CheckBox.Checked then dwData := dwData or $00000200; // аналогично для FPGA-OUT3 if XDSP_NotExtPuskEnable_TO_DOUT3CheckBox.Checked then dwData := dwData or $00000400; // аналогично для FPGA-OUT4 if XDSP_PCI_enable_TO_DOUT4CheckBox.Checked then dwData := dwData or $00000800; // аналогично для FPGA-OUT5 if XDSP_NotPCI_enable_TO_DOUT5CheckBox.Checked then dwData := dwData or $00001000; //конфигурирование цифровых выходов по выбранным настройкам XDSPWriteDigOutData(device, dwData); // Закрываем плату перед завершением работы, выбор номера устройства опущен (см. функцию XdspCloseDevice) XdspCloseDevice(device); Рекомендованный алгоритм работы с платой // Проверка ошибок опущена. // Подключаем модуль с описанием констант, типов и импортируемых функций Uses xdspapi; ... Const ADCBufLen = 16777215; полный размер 1-го буфера АЦП, 16М слов Var // Переменные для хранения дескриптора устройства device:TDeviceHandle; // Переменная для хранения результата работы функций result : DWord; // параметры для инициализации платы phInterruptEventHandle:PHandle; ppDmaBuffer1:PPDmaMemoryBuffer; ppDmaBuffer2:PPDmaMemoryBuffer; ppDmaBuffer3:PPDmaMemoryBuffer; ppDmaBuffer4:PPDmaMemoryBuffer; pDmaBufferAddr1:PDWord; pDmaBufferAddr2:PDWord; pDmaBufferAddr3:PDWord; pDmaBufferAddr4:PDWord; Chanel1 : Array[0..ADCBufLen] of SmallInt; //буфер для оцифрованного сигнала 1 канала Chanel2 : Array[0..ADCBufLen] of SmallInt; //буфер для оцифрованного сигнала 2 канала // значение, записываемое в ЦАП по умолчанию DACdefault : integer = 8192; Begin // Открытие устройства и инициализация. Получение указателей на 4-ре буфера памяти (2 для АЦП, 2 для ЦАП). device:=XdspOpenDevice(0, @phInterruptEventHandle, @ppDmaBuffer1, @ppDmaBuffer2, @ppDmaBuffer3, @ppDmaBuffer4, @pDmaBufferAddr1, @pDmaBufferAddr2, @pDmaBufferAddr3, @pDmaBufferAddr4); // сброс платы XdspResetAll(device); // запись в ЦАП1 и ЦАП2 значений по умолчанию XdspSetDAC1Default(device(k),DACdefault); XdspSetDAC2Default(device(k),DACdefault); // установка длинны транзакции XdspSetProcessLength(hnd,ADCBufLen); // установка делителя частоты дискретизации XdspSetSampleFrequencyDivider(hnd,1); // сброс платы XdspResetAll(device); // включение необходимых настроек и режимов работы платы // Если разрешен внешний (ExtStartCheckBox : boolean) старт, то Time_Out равняется INFINITE (время неограничено), если нет – то 3000 (3 с) if ExtStartCheckBox = true then begin // разрешаем внешний старт XdspExternalStartEnable(device); Time_Out := INFINITE; // Время ожиданя неограничено else // запрещаем внешний старт XdspExternalStartDisable(device); Time_Out := 3000; end; ... ... ... // сброс платы XdspResetAll(device(k)); // Запуск процесса чтения данных с АЦП result:=XdspStartRead(device,TimeOut,0); // Проверка на наличие ошибок (XDSP_STATUS_ERROR если интервал времени ожидания прерывания от платы истек) if result = XDSP_STATUS_ERROR then // сброс платы и обработка ишибки XdspResetAll(device); else // обработка полученных данных // запись данных на плату для ЦАП // формирование сигнала(по указателям ppDmaBuffer3 и ppDmaBuffer4 заполняются 3-й и 4-й DMA буфер) For i:=0 To ADCBufLen-1 Do ppDmaBuffer3^[i+1]:=8192 + GenSignal(i); For i:=0 To ADCBufLen-1 Do ppDmaBuffer4^[i+1]:=8192 + GenSignal(i); // Передача данных в ЦАП result:=XDspStartWrite(device,2,2,TimeOut); // Проверка на наличие ощибок if result = XDSP_STATUS_ERROR then // обработка ошибки end; result:=XDspStartWrite(device(k),3,3,TimeOut); // Проверка на наличие ошибок if result = XDSP_STATUS_ERROR then // обработка ошибки end; ... // разбор данных по каналам полученных из АЦП for i:=0 to ADCBufLen do Begin Chanel1[i]:=SmallInt(ppDmaBuffer1^[i+1]); Chanel2[i]:=SmallInt(ppDmaBuffer2^[i+1]); End; // дальнейшая обработка полученных данных ... ... // Закрытие устройства XdspCloseDevice(device(k)); ... end; End. |
Руководство пользователя Мы гордимся тем, что предлагаем нашему потребителю новейшую и высококачественную продукцию для караоке. Перед эксплуатацией устройства,... |
Руководство по эксплуатации версия 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 Операция «Обработка запроса» Руководство пользователя электронного сервиса предоставления сведений о регистрации лекарственных средств |
Поиск |