|
Подскажите USB2.0 контроллер!, С буфером FIFO емкостью не менее 6 кбайт! |
|
|
|
Mar 5 2006, 09:20
|
Знающий
   
Группа: Свой
Сообщений: 775
Регистрация: 11-05-05
Пользователь №: 4 913

|
Цитата(=AK= @ Mar 5 2006, 06:19)  Цитата(Kadzak @ Mar 3 2006, 20:12)  Подскажите USB2.0 контроллер, с буфером FIFO емкостью не менее 6 кбайт!
Можно спросить, нафиг вам такое чудо? Цитата(Kadzak @ Mar 3 2006, 20:12)  Пользуем пока FX2 от Cypress, но у него FIFO 4 кбайта... При пересылке в РС, пока вы в него пихаете свои данные, то что уже запихано раньше - успевает усвистеть по USB. Действительно, на C8051F320 получаем свои несколько Мбит/сек имея буфер FIFO всего 64 байта. Большие (уд. на первый слог) проблемы создает малое количество конечных точек, тип трансфера и поточность обработки в PC.
Сообщение отредактировал asdf - Mar 5 2006, 10:25
|
|
|
|
|
Mar 5 2006, 09:38
|

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

|
Цитата(asdf @ Mar 5 2006, 18:50)  Действительно, на C8051F320 получаем свои несколько Мбит/сек имея буфер FIFO всего 64 байта. Большие проблемы (уд. на первый слог) создает малое количество конечных точек, тип трансфера и поточность обработки в PC. Дык, Цыклон супротив FX2 как плотник супротив столяра (с)  FX2 покрывает USB как никто другой. Это, по сути, просто могучий насос для данных, к которому сбоку прикручен 51-й. На FX с USB1 мы получали 1 Мбайт/сек, а на FX2LP и USB2 планируем поиметь пару десятков Мбайт/сек. И ограничений пока не видать, на что USB способна, то из нее FX2 и выжмет.
|
|
|
|
|
Mar 5 2006, 10:32
|
Знающий
   
Группа: Свой
Сообщений: 775
Регистрация: 11-05-05
Пользователь №: 4 913

|
Цитата(=AK= @ Mar 5 2006, 12:38)  На FX с USB1 мы получали 1 Мбайт/сек, а на FX2LP и USB2 планируем поиметь пару десятков Мбайт/сек. И ограничений пока не видать, на что USB способна, то из нее FX2 и выжмет. Из поста было непонятно USB 2 - full или high spid. Собираемся осваивать FX2. По Вашему опыту с чего лучше начинать 68013 или более поздних дивайсов (14-16)?
|
|
|
|
|
Mar 5 2006, 15:31
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(=AK= @ Mar 5 2006, 06:19)  Цитата(Kadzak @ Mar 3 2006, 20:12)  Подскажите USB2.0 контроллер, с буфером FIFO емкостью не менее 6 кбайт!
Можно спросить, нафиг вам такое чудо? ........................ При пересылке в РС, пока вы в него пихаете свои данные, то что уже запихано раньше - успевает усвистеть по USB. Это не совсем так. Представьте себе, что данные валятся в контроллер с большой скоростью, сравнимой с физической пропускной способностью канала. Двойная буферизация здесь просто необходима. А если труб несколько, и между ними нужно быстро переключаться - тогда как?
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Mar 6 2006, 12:07
|

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

|
Цитата(Stanislav @ Mar 6 2006, 01:01)  Это не совсем так. Представьте себе, что данные валятся в контроллер с большой скоростью, сравнимой с физической пропускной способностью канала. Двойная буферизация здесь просто необходима. Не вижу в ней необходимости. И в этом случае буфер (и не двойной, а ФИФО) нужен только затем, чтобы временно накапливать данный пришедшие в те интервалы времени, когда USB занят "служебными" делами и не может гнать данные: передает SOFы, пингует, и т.п. На это 4-х кил достаточно. Дополнительная буферизация может понадобиться только если большой поток данных в РС идет не равномерно, а "рывками". Что довольно трудно себе представить, т.к. каждый такой "рывок" должен намного превосходить пропускную способность USB2, т.е. иметь "плотность" в несколько десятков (существенно более 20) мегабайт в секунду. Это что ж за задачи такие? Цитата(Stanislav @ Mar 6 2006, 01:01)  А если труб несколько, и между ними нужно быстро переключаться - тогда как? Дык, буфера назначаются трубам при конфигурировании. Зачем переключаться-то?
|
|
|
|
|
Mar 7 2006, 06:30
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(=AK= @ Mar 6 2006, 15:07)  Не вижу в ней необходимости. И в этом случае буфер (и не двойной, а ФИФО) нужен только затем, чтобы временно накапливать данный пришедшие в те интервалы времени, когда USB занят "служебными" делами и не может гнать данные: передает SOFы, пингует, и т.п. На это 4-х кил достаточно... Интересно, где Вы видели контроллер с ФИФО без минимум двойной буферизации? Дело в том, что ФИФО - оно только со стороны внешней шины, а со стороны приемопередатчика - это два или более блока данных, каждый из которых передается за одну транзакцию по USB шине (пакета). Для получения максимальной пропускной способности канала, размер пакета должен быть максимальным (1К). При 4К памяти, следовательно, удается организовать только 2 конечных точки. А этого иногда недостаточно. PS. Двойной (или более) буфер данных тоже можно интерпретировать, как ФИФО. Только единицей информации будет не байт, а целый пакет. Цитата ...Дополнительная буферизация может понадобиться только если большой поток данных в РС идет не равномерно, а "рывками". Что довольно трудно себе представить, т.к. каждый такой "рывок" должен намного превосходить пропускную способность USB2, т.е. иметь "плотность" в несколько десятков (существенно более 20) мегабайт в секунду. Это что ж за задачи такие? Да нет, данные могут поступать и непрерывно. Не следует забывать, что передача информации стоновится возможной только по заполнении всего буфера эндпойнта и осуществляется пакетами. Цитата Цитата(Stanislav @ Mar 6 2006, 01:01)  А если труб несколько, и между ними нужно быстро переключаться - тогда как?
Дык, буфера назначаются трубам при конфигурировании. Зачем переключаться-то? Под "трубой" (pipe) я подразумеваю логическую связь между источником данных и приемником. Которую можно организовать только ассоциировав с каждым из них определенный(е) буфер(а) памяти контроллера. Если источников/приемников данных к контроллеру подключено несколько, и в процессе работы нужно переключать поток данных с одного на другой, с выделением памяти для соотв. эндпойнтов могут возникнуть проблеммы.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Mar 7 2006, 06:43
|
Участник

Группа: Новичок
Сообщений: 35
Регистрация: 4-01-05
Пользователь №: 1 795

|
вышел недавно MAX3421E - USB Peripheral/Host Controller with SPI Interface. было бы интересно попробовать. правда, сомневаюсь, что в России его уже достать можно.
|
|
|
|
|
Mar 7 2006, 09:00
|

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

|
Цитата(Stanislav @ Mar 7 2006, 16:00)  Интересно, где Вы видели контроллер с ФИФО без минимум двойной буферизации? Я всего лишь сказал, что железа, встроенного в FX2, более чем достаточно для большинства практических задач. С чем Вы, как я понял, изволили не согласиться, сославшись на то, что потребуется двойная буферезация. Что я воспринял так, что, по Вашему мнению, средств буферизации FX2 недостаточно, и ему нужен дополнительный внешний буфер. С чем, в свою очередь, уже я соблаговолил не согласиться, приведя свои резоны...  Короче, испорченный телефон какой-то
Сообщение отредактировал =AK= - Mar 7 2006, 09:00
|
|
|
|
|
Mar 13 2006, 17:05
|

Частый гость
 
Группа: Свой
Сообщений: 177
Регистрация: 4-07-05
Из: Зеленоград
Пользователь №: 6 491

|
Поясню причину вопроса. Есть видео-поток 640х480х3(RGB)х10(bit)х30(кадров/с). 30кадров - желательно, но (пока) не обязательно. В изохронном режиме (1024) посколько за 1 посылку одной конечной точки (endpoint) отсылается только 3 пакета (max), то при 6 кбайт FIFO остается использовать либо 1 точку с 3-й буферизацией, либо 2 точки с двойной. Так вот, если бы буфер был хотя бы 6к, то можно было бы использовать 2 точки с 3-й буферизацией, что позволило бы (если я всё до конца и правильно понимаю  ) приблизиться к максимуму быстродействия. Нашел контроллер с 8к FIFO - Philips ISP1581. Что это за чудо? Кто-нить работал с ним?
--------------------
Ремонт мозгов: электронных модулей, блоков управления, прошивка EPROM (916)312-2O-2О (965)312-2O-2О
|
|
|
|
|
Mar 20 2006, 09:44
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(=AK= @ Mar 5 2006, 06:19)  При пересылке в РС, пока вы в него пихаете свои данные, то что уже запихано раньше - успевает усвистеть по USB. Скорее наоборот. В соответствии с документацией по FX2 максимально возможная скорость передачи/приёма данных в/из FIFO составляет 96 МБайт/сек, а в соответствии с документацией по USB 2.0 максимально возможная скорость по USB High Speed чуть выше 50 МБайт/сек. Отсюда вывод что лишний объём FIFO ИМХО может потребоваться если только данные в FIFO поступают окольными путями, например через интерфейс UART или данные передаются с большой "мгновенной скоростью". Под "мгновенной скоростью" я понимаю скорость передачи одного слова данных.
Сообщение отредактировал левша - Mar 20 2006, 09:48
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|