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

 
 
> USB->Isochronous или Bulk, что выбрать посоветуйте...
alexkarnaukhov
сообщение Oct 2 2010, 03:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 2-10-10
Пользователь №: 59 873



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

Стоит задача непрерывного чтения данных с 16-бит ацп с частотой не менее 64 кгц. Передача организована через микроконтроллер с usb full-speed(AT89C5131). Получается необходимая средняя пропускная способность - минимум 128 кбайт/с. То есть передача через Interrupt уже не годится.

Если пробовать Bulk, то необходимо в кадре передавать по 2 64-байтных пакета, причем гарантированно, поскольку внутреннего буфера у usb-контроллера не имеется. При этом, на сколько я понимаю, при достаточно большой загруженности usb-шины могут возникать потери данных, поскольку приоритет будет отдаваться другим передачам.
С другой стороны, можно использовать изохронную конечную точку, но везде пишется что контроля доставки и целостности данных у нее нет, что меня тоже пугает, и не очень понятно как часто и в связи с чем возникают эти потери.

Собственно вопрос в том что будет работать надежнее: Bulk или Isochronous и имеет ли смысл заморачиваться с Isochronous?
В данный момент имею Bulk точку по которой стабильно гонится около 1 МБайта/с, причем во фрейм укладывается примерно по 16-17 пакетов, и тормоза ПО и операционки на это не влияют, только втыкая флешку в другой юсб-порт появляются фреймы с меньшим количеством пакетов, и даже вобще без них(совсем редко), но, вообще, это уже не штатный режим, поскольку расчет делается на то, что во время чтения комп дергать никто не будет.

PS. Еще вот думаю а нельзя ли сделать 2-3 конечные точки типа Interrupt и распределить поток данных между ними? Либо тоже радикальный вариант - сделать буфер из имеющихся на кристалле 1024 байт ERAMa, что на 8 кадров позволит буферизировать данные.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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