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

 
 
> Как надежно принимать пакеты из устройства?, В смысле, чтобы не было пауз.
jur
сообщение Nov 3 2005, 05:17
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704



Здравствуйте!

Мое устройство выдает 512-байтные пакеты данных в шину USB в строгой последовательности. Шина нагружена совсем не много: пакет передается порядка 42 микросекунд, пауза между передачами - 80 микросекунд и более. Работы произвожу на PC с пентиумом 4, система WinXP.

Воспользовавшись примерами из USB Developer's uStudio, я набросал тестовое приложение, которое просто принимает пакеты из шины. Прием производится порциями (блоками) по 8 (пробовал 16) пакетов, т.е. 4-8 кбайт. Все прекрасно принимается до тех пор, пока Windows не залепит паузу. В результате получается, что время от времени один-два пакета выпадает.

Попробовал принимать по одному пакету - вообще кошмар, пропадает порядка половины пакетов (чуть меньше). Пропадание сильно уменьшается начиная с величины буфера приема порядка 2 кбайт.

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

Особенность моего железа такова, что я не могу буферировать пакеты на передающей стороне, они выдаются автоматом, беспрерывно. Поэтому приемная сторона должна гарантированно принимать переданные устройством пакеты.

Спасибо!


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Виктория
сообщение Nov 3 2005, 11:01
Сообщение #2


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(jur @ Nov 3 2005, 09:17)
...
Подскажите, пожалуйста, как лучше написать программу приема пакетов из шины USB, чтобы не было их пропадания? Мне никак нельзя терять пакеты. Все они гарантированно должны быть приняты.
...
*


Что же Вы здесь спрашиваете, когда Вам могут быстрее и профессиональней помочь в разделе форума "Операционные системы" (замечено, что некоторые участники из этого раздела в другие разделы никогда и не заходят).

Цитата
Особенность моего железа такова, что я не могу буферировать пакеты на передающей стороне, они выдаются автоматом, беспрерывно. Поэтому приемная сторона должна гарантированно принимать переданные устройством пакеты.


А на приемной стороне буферизировать тоже невозможно? (типа - непрерывный прием с использованием низкоуровневых системных функций)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 06:33
Рейтинг@Mail.ru


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