Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


E14-440 циклический вывод на ЦАП

Вы не вошли.

 Поиск | Регистрация | Вход 

21.04.2014 12:39:51
#1

Участник
Здесь с 19.04.2014
Сообщений: 6

E14-440 циклический вывод на ЦАП

Здравствуйте, помогите решить проблему. Вывод на ЦАП разовыми командами работает, потоком - работает, а вот циклический вывод не работает и не могу найти примеров. Можно в двух словах сообщить различия в технологиях работы с потоковым и циклическом выводом?

21.04.2014 14:31:42
#2

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: E14-440 циклический вывод на ЦАП

Евгений, Вы не путаете E14-440 и E14-140M?
Циклический режим ЦАП есть, по-моему, только в E14-140M.

Евгений пишет:

Можно в двух словах сообщить различия в технологиях работы с потоковым и циклическом выводом?

В двух словах очень просто: потоковый режим - это компьютер все время посылает данные (сигнал может быть периодическим или нет, модуль просто выводит отсчеты на ЦАП), а циклический режим - это по кругу из предварительно заполненного буфера внутри модуля.
Достоинство: не требует программного цикла записи данных.
Недостаток: буфер небольшой.

Если у Вас все-таки E14-140M, то описания тут (обратите внимание на e14_140m_addendum_dac.pdf), а примеры тут, в e140-console-test.zip программы dac_sine и dac_demo.

21.04.2014 15:11:42
#3

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: E14-440 циклический вывод на ЦАП

IrqEna в 0 установить и буфер задать и заполнить размеров в 2 IrqStep. Ну и Pages = 2. должно работать...

21.04.2014 16:41:36
#4

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: E14-440 циклический вывод на ЦАП

(Ответ Poul относится к случаю, если Вы используете lcomp)

22.04.2014 10:18:21
#5

Участник
Здесь с 19.04.2014
Сообщений: 6

Re: E14-440 циклический вывод на ЦАП

Poul пишет:

IrqEna в 0 установить и буфер задать и заполнить размеров в 2 IrqStep. Ну и Pages = 2. должно работать...

Сделал всё, не работает

// Настраиваем ЦАП
      dacPar.t1.s_Type = L_DAC_PARAM;
      dacPar.t1.AutoInit=1;
      dacPar.t1.dRate=1.0;
      dacPar.t1.FIFO=2016;
      dacPar.t1.IrqStep=2016;
      dacPar.t1.Pages=2;
      dacPar.t1.IrqEna=0;
      dacPar.t1.DacEna=1;
      pI->FillDAQparameters(&dacPar.t1);
      USHORT data2[4032]; 
      int i = 0;
      do
      {
         data2[i]=(USHORT)(2047*sin((2.0*(3.1415*i)/4032.0)))&0xFFF; 
		  i++;
      } while(i<4032);
///////////
      pI->PutArray_DM(0x3000,4032,data2);
      cout << "Started ..." << endl;
      pI2->InitStartLDeviceEx(L_STREAM_DAC);
      status=pI2->StartLDeviceEx(L_STREAM_DAC);
22.04.2014 16:48:56
#6

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: E14-440 циклический вывод на ЦАП

PutArray тут не нужен. Надо как в обычном режиме через RequetBuffer и SetParametersStream выделить память и заполнить 2 странички и потом уже Init и Start...

23.04.2014 06:14:51
#7

Участник
Здесь с 19.04.2014
Сообщений: 6

Re: E14-440 циклический вывод на ЦАП

Poul пишет:

PutArray тут не нужен. Надо как в обычном режиме через RequetBuffer и SetParametersStream выделить память и заполнить 2 странички и потом уже Init и Start...

В чём же тогда отличие от потокового вывода?

23.04.2014 08:46:01
#8

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: E14-440 циклический вывод на ЦАП

ну подкачки данных не будет. и если AutoInit=1, то после выхода из программы должен продолжаться вывод данных из буфера...

Mash6a
26.04.2014 00:58:31
#9

Гость

Re: E14-440 циклический вывод на ЦАП

Здравствуйте Евгений!
А можно посмотреть исходники программы, если можно то напишите в личку пожалуйста. Тоже работаю с этой аппаратуры