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

Как делать TTL-out в начале кадра АЦП?

Вы не вошли.

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

Victor
03.07.2001 12:39:20
#1

Гость

Как делать TTL-out в начале кадра АЦП?

Необходимо при сборе данных каждый раз в момент начала очередного кадра выполнять вывод на TTL-выходы. Значение на TTL-выходы подается постоянно одно и то же, т.е. является командой запуска (синхронизации) внешнего устройства, сигнал с которого меряем платой. Поскольку необходим вывод точно в момент начала кадра, то функции CreateCommonEvent, SetLDeviceEvent не подходят (они сигнализируют о конце кадра).
Как можно решить эту проблему? Хотелось бы как можно больше сделать средствами драйвера vxdapi.dll (поскольку период кадра <1мс, то скорости системный таймеров MS Windows не хватает) и без низкоуровневого программирования BIOS платы. Т.е. драйвер (vxdapi.dll) должен периодически либо сам вызывать указанную мною callback-функцию моей программы (БЕЗ посылки сообщений средствами Windows), либо сам выдавать указанную мной двухбайтовую величину на TTL-выходы.
Если проблема решается только на уровне исправления исходников vxdapi.dll - то это в принципе приемлемый мне вариант. Если надо модифицировать BIOS - гораздо хуже.
Пользуюсь январской версией софта и справки, поэтому прошу извинить, если в новых версиях средство решения проблемы уже имеется.

Victor
03.07.2001 12:44:15
#2

Гость

Re: Как делать TTL-out в начале кадра АЦП?

Да, забыл сказать - использую плату L780

03.07.2001 14:35:13
#3

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

Re: Как делать TTL-out в начале кадра АЦП?

Я думаю  надо модифицировакть биос.

Vlad
03.07.2001 16:20:07
#4

Гость

Re: Как делать TTL-out в начале кадра АЦП?

А почему так не нравиться вариант с модификацией bios? Подобные модификации мы делаем бесплатно.

Victor
04.07.2001 09:34:50
#5

Гость

Re: Как делать TTL-out в начале кадра АЦП?

To Vlad.
Я думал, что мне самому придется БИОС модифицировать, приобретя у Вас документацию и ассемблер от Analog Devices. Но проблему вроде решил чисто программным способом - при периоде кадра в 1мс использую специальные системные мультимедиа-таймеры, которые сами напрямую вызывают мою callback-функцию, а там я уже сам дергаю TTL-ключи. Правда, эти таймеры немного грузят процессор. Сейчас доделываю и буду тестировать это решение.

Vlad
04.07.2001 10:08:10
#6

Гость

Re: Как делать TTL-out в начале кадра АЦП?

Просьба сообщить в конференцию о результате - это может быть многим интересным.

Victor
04.07.2001 13:24:24
#7

Гость

Re: Как делать TTL-out в начале кадра АЦП?

Почему-то возникают непонятные эффекты - не получается вызывать TTL_Out_PLX 1000 раз в секунду - возникают жуткие тормоза. Может быть, я сам что-то неправильно сделал и еще не нашел ошибку в программе, но все же задам вопрос: управление TTL-выходами не завязано на какую-то медленную внутренную синхронизацию на плате или в BIOSе или просто очень медленно выполняется само?
Без вызова TTL_Out_PLX вроде все нормально, мультимедиа-таймеры работают как часики, четко по заданной мной 1мс. Если был вопрос именно по их программированию - кину фрагменты исходников (всего-то несколько строк).

04.07.2001 13:35:49
#8

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

Re: Как делать TTL-out в начале кадра АЦП?

Там DeviceIoControl он довольно медленно выполняется.

Victor
04.07.2001 13:59:20
#9

Гость

Re: Как делать TTL-out в начале кадра АЦП?

Понятно. Тогда мне остается 2 варианта - либо переделывать BIOS и/или vxdapi.dll, либо использовать покадровую синхронизацию как платы, так и внешнего устройства от отдельного генератора. Склоняюсь ко второму, поскольку это "внешнее устройство" все равно собирается моими партнерами "наколенно" и мелкотиражно и им проще будет всобачить в него генератор на 1000Гц. А первый вариант еще не гарантирует в итоге нужные скоростные качества - все равно остается ограничение мультимедийных таймеров в 1мс-периодичность и не меньше (а это хочется).
Всем спасибо за ответы. Особенно благодарю за оперативность в ответах. Использую Ваши разработки уже 1.5 года и только сейчас в первый раз вынес вопросы на форум, поэтому очень сильно обрадован именно оперативностью и консультациями самих разработчиков. Спасибо.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск