Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Быстрый вывод команд на утсройство (usb)  (Прочитано 7142 раз)
0 Пользователей и 1 Гость смотрят эту тему.
opto
Гость
« : 09-12-2005 09:12 » 

Всем привет.
Есть устройство АЦП/ЦАП, управляемое через usb. Вывод на ЦАП работает только в асинхронном режиме. В Windows получается послать сигнал только 250 раз в секунду, потому что каждый раз вызывается функция ControlIODevice(...). ЦАП позволяет работать с частотой 125КГц. Каким образом можно обеспечить такую частоту?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 09-12-2005 09:36 » 

передавать данные пачками, то есть прибор делает N замеров и по запросу их отдаёт - сколько получилось
Записан

opto
Гость
« Ответ #2 : 09-12-2005 10:19 » 

А можно поподробнее...
Если я правильно понял, то мы должны передать ЦАП массив чисел, он должен записать их в свою память и затем оттуда их выводить. Но у этого устройства нет памяти для ЦАП (есть память только для АЦП), т. е. синхронный вывод на ЦАП не поддерживается. Для того, чтобы вывести одно число, мы должны каждый раз посылать команду устройству.
Для этого ЦАП есть C++ либа, и я знаю, что функция вывода на ЦАП (только одного числа) каждый раз использует ControlIoDevice(...). Больше ничего не знаю и вообще раньше этим не занимался. Напишите, пожалуйста, подробнее или дайте ссылки.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 09-12-2005 11:04 » 

ааа, я имел в виду наличие процессора между компом и цап-ацп

у тебя всё напрямую, что ли?

----------
а так да - процессор запоминает блок замеров (с остановкой по определённому количеству или в виде стека FIFO) и отдаёт скопом по одной команде компа, очищая буфер для новых данных от ацп.
Так же для цап - комп передал массив в процессор, процессор отправил (с максимальной возможной скоростью или по тайм-аутам определённым) на цап

-----------------
ЗЫ. подробности или ссылки дать не могу - потому как далёк от железа Улыбаюсь
жди, когда сюда заглянут опытные в железе люди...
« Последнее редактирование: 09-12-2005 11:07 от Алексей1153 » Записан

opto
Гость
« Ответ #4 : 12-12-2005 06:23 » 

А я далек не только от железа, но и от низкоуровнего программирования Улыбаюсь
У меня есть lib и dll файлы (С++). Может как-нибудь посмотреть, дизассемблировать ту самую функцию, посмотреть что именно и как посылается, и писать под DOS'ом ?.
« Последнее редактирование: 20-12-2007 17:56 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines