Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
|
Несколько вопросов по программированию LTR 34.Здравствуйте!
1.В функцию работы с ltr 34 программа должна передать массив, который содержит значения нужных напряжений.
2. Размер массива, который передается функции LTR34_ProcessData, может быть произвольным? При задании размера, надо указывать количество
//Один раз при запуске программы
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Когда работает режим автогенерации, но не работает режим потоковой генерации, то вероятно пропускной способности интерфейса не хватает для той скорости вывода данных, которую Вы устанавливаете.
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.1. Обычно делают наоборот: выбирают нужную частоту дискретизации F, отсюда известен квант времени delta_t = 1/F сек. Значит, каждое слово данных соответствует интервалу delta_t, и для синуса имеем
2. Размер передаваемых данных должен соответствовать количеству выводимых отсчетов. Если я не ошибаюсь, параметр size задается в 32-битных словах. 3. В потоковом режиме, естественно, подкачку надо делать не только перед началом, но и во время работы (send start send send send... stop). Sleep по идее не нужен, потому что ltrserver ждет готовности модуля принять данные. Думаю, что можно сделать сплошной цикл send//'ов с таймаутом не меньше времени вывода буфера. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Александр E, 1) Частота дискретизации - это частота которая может принимать значения от 0 до 60 верно(или та, которая от 0 до 500.000 Гц. В мануале, ЧД это переменная от 0 до 60)?
2) Размер size задается в DWORD, как я понял если у нас допустим массив double[10000], где из 10000 элементов сгенерировано только 2000, то size можно задать просто как переменную типа INT с значением 2000. Верно? Или же с типом INT надо какие-то дополнительные преобразования делать, перед приравниванием к типу DWODR?
LTR34_ProcessData
перед запуском и все. Так как подкачка мне не нужна, а только одиночный импульс, который я и загружаю перед стартом генерации в выше написанные функции. Но такая схема не работает. При автогенерации осциллограф показывает хоть что-то, при одиночном импульсе - вообще никакой реакции на отправленные данные.
Спасибо за ответы, на может быть мои дилетантские вопросы. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Дмитрий, если подкачку данных не применяете, то пропускная способность интерфейса значения не имеет.
Но для потокового режима LTR34 имеет следующие ограничения:
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Гарманов Александр, прошу прощения, а что такое Ксэмплов/c? Это 500.000 значений напряжения в секунду способен преобразовать ЦАП ? |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Т.е не 500.000, а например 200.000 или 500.000 в зависимости от модели. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Дмитрий. Поясню совсем подробно:
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Гарманов Александр, спасибо. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Пожалуйста.
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Гарманов Александр, не могли бы вы при возможности ответить на вопросы, которые я адресовал Александру E. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.1) Частота дискретизации От 31250.0 до 500000.0
2) Размер size можно и в int задавать, просто передаёте количество отчётов. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Арсений, Изначально, я так и понял. Но при этом вид графика(который строит программа) не совпадает с тем, что показывает осциллограф. Т.е. не совпадает длительность, количество цугов, частота. Поэтому я собственно и написал сюда.
LTR34_ProcessData
LTR34_DACStart
Если мы задаем массив из 400.000 элементов, то на выходе должен получиться сигнал длительностью 1 секунда(при потоковой генерации). Осциллограф же показывает совершенно другие значения, которые отличаются на порядок (а то и два) в меньшую сторону.
При автогерации (берем те же значения), происходит нечто подобное.
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Объясните зачем делать стоп сразу?? Комманда LTR34_DACStop отключает Генерацию, Вы загружаете память модуля, запускаете его и тут же останавливаете. Порядок работы с модулем разобран подробно на 7-й странице описания. Вам нужно для потокового режима:
С этого момента модуль начнёт выдавать загруженные в него данные с заданной частотой, надеюсь вы обратили внимание, что модуль может работать в 1,2,4 или 8-ми каннальных режимах, это значит что частота вывода данных будет делиться соответственно на 1, 2, 4 или 8. Т.е при 400Кhz и 8 канналах ЦАП вы получите частоту по 50Кhz. 5)Необходимо по мере освобождения буфера досылать ему новые данные. Т.е. снова формировать массив, Подготавливать его Процедурой LTR34_ProcessData и отправлять процедурой LTR34_Send 6)Как только, вы решите что достаточно, то выключаете режим генерации функцией LTR34_DACStop
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Поясню по архитектуре (ведь, всё есть в руководстве, http://www.lcard.ru/download/ltr_hw.zip глава 12).
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Разбираюсь с ltr34, появились вопросы.
conf.ChannelQnt=4; // Количество активных каналов
У всех номера каналов 0 - хотя по идее должны быть i++. Пример на builder для ltr34:
настраиваются каналы:
При выборе каналов с 5 по 8 - при любой конфигурации LTR34_Config возвращает ошибку - LTR34_ERROR_WRONG_LCH_CONF (-3028) LTR34-4 имеет активные каналы с 4-11 (OUT1 1:1,OUT1 1:10...OUT4 1:1,OUT4 1:10).
Пытаюсь тоже самое проделать на 5 канале - возвращает ошибку LTR34_Config. Собственно вопрос, как работают эти каналы? |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.1. LChTbl[всюду 0] - опечатка, конечно.
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Если выводимый сигнал должен быть больше, чем +-1 В, то нужно подключаться к выходу 1:1. Если меньше, то целесообразно использовать выход 1:10.
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Работаю в потоковом режиме.
Напрашивается вопрос, что не так? GenerateData()
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34...// останавливаем режим
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.да опечатался:
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.В основном потоке та же ошибка возвращается. |
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Причем в режиме автогенерации такой ошибки нет.
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.А у вас режим отправки подтверждений включен? (если да, то нужно вычитывать данные из модуля)
|
|||
|
||||
|
|
Re: Несколько вопросов по программированию LTR 34.Заметил интересную вещь:
Получается, что, пока все данные записанные в буфер ltr_server//'a не будут переданы в модуль - остановить работу нельзя? |
|||
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4
Многоканальный телефон:+7 (495) 785-95-25
Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск