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

 
 
> Скоростной девайс с USB интерфейсом - нужен совет, нужен совет опытных людей...
MSL
сообщение Apr 13 2007, 20:36
Сообщение #1


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

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



Нужно сделать высокоскоростное USB устройство, которое будет общаться с PC. С выбором контроллера для юсб особой альтернативы, как я понял нет - Cypress. Проблема в другом - переданные в пакете команды и данные необходимо выводить по заданым алго на несколько GPIO пинов (8 шт) и читать с этих пинов с частотой до 20Mhz (а желательно и выше). Т.е. в связке с cypress нужен как можно более быстрый и как можно менее навороченный (не нужны CAN, Ethernet и пр.) МК, в котором можно по мере необходимости апдэйтить программу. такая вот засада... кто сталкивался с похожей задачей - подскажите плиз как лучше реализовать. спасибо!

Сообщение отредактировал MSL - Apr 13 2007, 20:38
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MSL
сообщение Apr 17 2007, 12:41
Сообщение #2


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

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



Цитата(Alex11 @ Apr 17 2007, 09:58) *
Учтите еще одно соображение. Даже для high-speed USB частота обмена командами довольно низкая, и если Вы хотите иметь 20 МГц в режиме команда - действие - ответ, то, скорее всего, у Вас ничего не получится. Высокая скорость на USB достигается только при передаче потока данных. В режиме команда - ответ можно рассчитывать максимум на то, что в одном микрофрейме (125 мкс) придет команда, следующий микрофрейм будет пропущен, т.к. с ответом не успеть к началу, и в следующем будет ответ. Следующая команда может быть получена еще через микрофрейм. Т.е. 4 микрофрейма на обмен. И это в лучшем случае. Некоторые контроллеры привязывают такой обмен к фрейму 1 мс даже для high speed USB. Посмотрите, насколько можно изменить Ваш протокол на потоковый или крупноблочный, чтобы много действий подряд было задано в одной команде.


да, я понимаю, что по юсб в режиме команда - ответ я не получу откликов с такой частотой и что на стороне PC задержки уже в мс - есть некоторый опыт работы с юсб-) Протокол обмена и будет делаться потоковым с блоками данных в десятки килобайт (но точно здесь уже точно ничего не скажешь - потому как это будет уже зависеть от того, что за девайс будет сделан). Просто МК должен с макс. скоростью исполнять все полученные команды из буфера. Только в начале приема/передачи данных будет что-то типа хэндшэйка и определение параметров передачи данных, а дальше в потоке все. Одна из причин почему я упираю на то, что мк должен выполнять команды - он должен контролировать правильность выполнения/передачи данных и некоторых случаях прекращать разбирать команды и сообщать об ошибке, чтобы не привести оконечное устройство в ступор (ну или оно было просто отсоединено и пр.).

Цитата(scifi @ Apr 17 2007, 10:05) *
Вы что-то путаете: Full Speed - это до 12 Мбит/с, т.е. до 1,5 Мбайт/с.


сорри, я знаю - просто написал желаемую на данный момент цифру, что в голове сидела...

Цитата(scifi @ Apr 17 2007, 10:05) *
Здесь могу только согласиться с vmp: либо меняйте протокол обмена, либо ставьте ПЛИС.


еще раз могу сказать все только спасибо, что советы/поправки! На данных момент исходя из того, что было сказано я прихожу к выводу, что реализовывать нужное устройсто нужно при помощи hi-speed USB (коих нет так много и все-таки хочется иметь на будующее возможность передачи со скоростью больше full) контроллера плюс быстрой ПЛИС или МК, который будет только выполнять принятые команды... Как говорится, пока ясно, что еще ничего не ясно..(( Выбор ПЛИС, буфер обмена между ПЛИС и юсб контроллером, его размер и приемрный принцип их общения... буду думать...-)
Go to the top of the page
 
+Quote Post



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

 


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


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