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

 
 
> Помогите разобраться, Возможно ли за один цикл шины USB совершить двусторонний обмен?
Impartial
сообщение Mar 21 2011, 21:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 11-06-10
Пользователь №: 57 871



Есть преобразователь USB<->COM на FT232B.
Закорачиваем RX-TX и передаем пакет из 26 байт на скорости 921600.
Возможно ли по окончанию передачи иметь этот же пакет в компе.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
=AK=
сообщение Mar 22 2011, 06:04
Сообщение #2


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Impartial @ Mar 22 2011, 07:44) *
Есть преобразователь USB<->COM на FT232B.
Закорачиваем RX-TX и передаем пакет из 26 байт на скорости 921600.
Возможно ли по окончанию передачи иметь этот же пакет в компе.

Скорей всего нельзя, даже если не только закоротить RX-TX, но и обеспечить хэндшейк, чтобы в момент окончания приема пакета в передающем буфере сразу же лежал полностью законченный пакет. Пакеты передаются через bulk, а в каком порядке - бог весть, то ли сначала OUT потом IN, то ли наоборот, как планировщик хоста захочет.
Go to the top of the page
 
+Quote Post
Impartial
сообщение Mar 22 2011, 06:54
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 11-06-10
Пользователь №: 57 871



Значит передача-приём пакета будут в разных циклах шины и прием будет задержан минимум на 1 мс для спецификации USB1.0 и на 128 мкс для спецификации USB2.0.
Никто не пробовал обойти это ограничение программируя аппаратуру контроллера USB?
Go to the top of the page
 
+Quote Post
=AK=
сообщение Mar 22 2011, 23:46
Сообщение #4


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Impartial @ Mar 22 2011, 17:24) *
Значит передача-приём пакета будут в разных циклах шины и прием будет задержан минимум на 1 мс для спецификации USB1.0 и на 128 мкс для спецификации USB2.0.

Длительность фрейма в HS USB не 128 мкс, а 1мс/8 = 125 мкс.

Цитата(Impartial @ Mar 22 2011, 17:24) *
Никто не пробовал обойти это ограничение программируя аппаратуру контроллера USB?


Если вам надо послать запрос и получить ответ как можно быстрее, то используйте Control pipe, там это может происходить в одном фрейме. А в Bulk вообще никак не гарантируется время доставки. Гарантируется, что сообщение будет доставлено, а когда - неизвестно. Если пакет теряется, то планировщик будет заставлять его слать до тех пор, пока оно не дойдет по назначению.

Время доставки гарантируется в изохронных пайпах, поскольку планировщик отводит каждой изохронной трубе определенный процент трафика (т.е. выделяет время для пересылки в каждом фрейме). Зато там вообще не гарантируется, что сообщение будет доставлено. Oно может быть потеряно, a при потере пакета никаких повторных посылок не будет.

Это эквивалентно принципу неопределенности в ядерной физике. sm.gif
Go to the top of the page
 
+Quote Post

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

 


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


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