реклама на сайте
подробности

 
 
> Выбор порта на персоналке с малыми задержками
Andrey Pesoshin
сообщение Sep 14 2011, 12:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



Приветствую!

Я разрабатываю устройство для психологических исследований. Суть - в том, что испытуемому на экране показывают динамично меняющееся изображение, а испытуемый управляет отображаемым процессом посредством некоего пульта.

Пульты бывают двух видов - либо простая кнопка, у которой обрабатывается только время нажатия, либо плавный переключатель (например, педаль), для которого учитывается его мгновенное положение (как коэффициент от 0.0 до 1.0)

В устройстве критичны задержки при обработке сигналов от пульта, поэтому например компьютерная клавиатура, подключенная по usb, - сразу не подходит в качестве пульта (задержка буффера клавиатуры, задержка USB-порта).

Если делать устройство на базе персоналки, какой интерфейс я могу использовать в данном случае и какие задержки (именно задержки, а не скорость интерфейса) я могу получить? Как варианты - USB; FireWire; кастомная плата, подключенная по PCI/PCIe/PCMCI, может быть древний LPT/COM?

Естественно, на персоналке планируется ОСРВ, чтобы аппаратные прерывания обрабатывались жестко по мере поступления.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andrey Pesoshin
сообщение Sep 14 2011, 17:25
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



Ruslan1 Я, если честно, решил пока задачу "влоб" - сделал систему-на-чипе (Xilinx spartan 6), которая и сигналы с пультов снимает и видео-сигналы генерирует. Только к сожалению, масштабирование такого устройства сильно ограничено, да и сопряжено с большим временем разработки (зато, о таких таймингах практически не заботишься - или GPIO на сигнал от ножки ПЛИС, или контроллер АЦП с большой частотой; кроме времени выполнения кода прерываний, конечно). Собственно, поэтому и задаюсь сейчас вопросом о том, можно ли это перевести на персоналку - благо предметную область на C++ можно перенести.

Вообще, мне казалось, что если решать на персоналке, то пульты и их контроллеры должны быть "глупыми" - без RTC, вся обработка - на ЦП, а тайминги - определяться скоростями интерфейсов. Поэтому, если найти современный интерфейс с малыми задержками, то можно было бы добиться адекватной точности.

Из ОСРВ смотрю в сторону http://www.xenomai.org как открытого решения или QNX как продвинутого, хотя цен на лицензию опасаюсь. Так как по задумке вся обработка на персоналке, то программирую таймер на заданную частоту, по его тикам пересчитываю модель. Если прерывание от пульта приходит между тиками - считаю, что сигнал получен в прошлом такте. Отсюда и точность - 1 мс. Если обрабатывается постоянно изменяющееся действие испытуемого - то в каждом прерывании модель пересчитывается с только что полученным сэмплом от АЦП.

Привязку к кадрам - я ни разу такого не видел, хотя в SoC еще и не такое можно построить sm.gif А про обработку за текущий кадр - я имел ввиду заметную глазу "скорость" обработки, в соотношении точности 1 мс против 10-20 мс на перерисовку. При таком соотношении, возможность, что обработан сигнал будет в начале следующего кадра, мне кажется, составит не более 1/10 или 1/20 (или того меньше, так как прерывание может придти в период бланкинга контроллера).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Andrey Pesoshin   Выбор порта на персоналке с малыми задержками   Sep 14 2011, 12:15
- - Demeny   Время развертки одного кадра изображения на монито...   Sep 14 2011, 12:30
- - Andrey Pesoshin   Спасибо за быстрый ответ! Насчет 10-20 мс - с...   Sep 14 2011, 12:54
|- - Demeny   Цитата(Andrey Pesoshin @ Sep 14 2011, 16...   Sep 14 2011, 14:26
||- - Andrey Pesoshin   Хм, значит USB точно нельзя использовать из-за нед...   Sep 14 2011, 16:08
||- - Demeny   Цитата(Andrey Pesoshin @ Sep 14 2011, 20...   Sep 15 2011, 06:48
||- - Andrey Pesoshin   Demeny, DpInRock Большое спасибо за проявленный ин...   Sep 15 2011, 13:18
||- - Demeny   Цитата(Andrey Pesoshin @ Sep 15 2011, 17...   Sep 16 2011, 09:11
||- - Andrey Pesoshin   Цитата(Demeny @ Sep 16 2011, 13:11) Неопр...   Sep 16 2011, 13:50
|- - Ruslan1   Цитата(Andrey Pesoshin @ Sep 14 2011, 15...   Sep 14 2011, 16:40
- - DpInRock   Обычная клавиатура. PS\2. Обычная мышь. (Даже...   Sep 14 2011, 14:00
- - Andrey Pesoshin   Тест - Реакция на движущийся объект (примерное опи...   Sep 14 2011, 14:44
- - Xenia   Цитата(Andrey Pesoshin @ Sep 14 2011, 16...   Sep 14 2011, 17:42
- - Andrey Pesoshin   Xenia А порекомендуете что-нибудь конкретное из ли...   Sep 14 2011, 18:13
- - DpInRock   Ну как же люди любят все усложнять.... Казалось б...   Sep 14 2011, 19:22
|- - Ruslan1   Цитата(DpInRock @ Sep 14 2011, 22:22) Ну ...   Sep 14 2011, 19:48
- - Andrey Pesoshin   ну а стремление усложнять это не всегда же плохо )...   Sep 14 2011, 20:43
- - DpInRock   Цитатаэто время в ПК для коррекции и дальнейших по...   Sep 15 2011, 07:10
|- - muravei   Цитата(DpInRock @ Sep 15 2011, 10:10) Наж...   Sep 16 2011, 09:46
- - _3m   Цитата(Andrey Pesoshin @ Sep 14 2011, 16...   Sep 16 2011, 14:04
- - Andrey Pesoshin   Цитата(_3m @ Sep 16 2011, 18:04) Геймерск...   Sep 16 2011, 14:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 13:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016