USB - два устройства в одно гнездо...

Sun Jul 01 2007 13:40, Nickita A Startcev wrote to Alex Kouznetsov:

NAS> Итого, можно совершенно спокойно на упаковке крупно писать "USB 2.0", NAS> мелко писать "совместимое устройство" и реализовывать только LS.

Угу. Сплошь и рядом встречаются устройства full speed, в рекламных листках которых громогласно объявлено "USB 2.0". Иногда там указывают, что full speed, но часто не заморачиваются. Впрочем, даже если указано "USB 2.0 full speed", многие ли знают, что это всего 12 Мбпс?

Пока Алексей

Reply to
Alex Kouznetsov
Loading thread data ...

Привет, Alex !

02 Jul 07 , 02:29 Alex Kouznetsov писал к Nickita A Startcev:

NAS>> Итого, можно совершенно спокойно на упаковке крупно писать "USB NAS>> 2.0", мелко писать "совместимое устройство" и реализовывать NAS>> только LS.

AK> Угу. Сплошь и рядом встречаются устройства full speed, в рекламных AK> листках которых громогласно объявлено "USB 2.0". Иногда там указывают, AK> что full speed, но часто не заморачиваются. Впрочем, даже если указано AK> "USB 2.0 full speed", многие ли знают, что это всего 12 Мбпс?

12 МГц - это тактовая частота. После вычета всех накладных расходов получим поток данных порядка чуть меньше мегабита.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Press Shift + Reset to continue

Reply to
Nickita A Startcev

Пpивет, Nickita!

*** 02 Jul 07 09:46, Nickita A Startcev wrote to Alex Kouznetsov:

AK>> указывают, что full speed, но часто не заморачиваются. Впрочем, AK>> даже если указано "USB 2.0 full speed", многие ли знают, что это AK>> всего 12 Мбпс?

NS> 12 МГц - это тактовая частота. После вычета всех накладных расходов NS> получим поток данных порядка чуть меньше мегабита.

Охренел слегка или не видел, с какой скоростью работают флешдиски USB 1.1 ? Чтение - иногда даже чуть больше мегаБАЙТА в секунду. И уж 700 кило - как минимум.

с уважением Владислав

Reply to
Vladislav Baliasov

Mon Jul 02 2007 10:46, Nickita A Startcev wrote to Alex Kouznetsov:

NAS> 12 МГц - это тактовая частота. После вычета всех накладных расходов NAS> получим поток данных порядка чуть меньше мегабита.

Нет, 12 мегабит в секунду - это бодовая скорость. Как, например, бодовая скорость UARTа может быть 9600 бод.

А после вычета всех накладных расходов получим скорость перекачки данных (в монопольном режиме, т.е. в одном направлении, когда к USB никто более не подключен) больше одного мегаБАЙТА в секунду. Если склероз не изменяет, в bulk режиме теоретический предел при длине чанка 64 байта - это 19 чанков за один фрейм, то есть 1216 байт за 1 мс, что есть 9.728 Мбит/сек. Ессно, указанные 64 байта - информационные, т.е. SOF-ы, синхрополя, токены, битстаффинг, CRC и пр. сюда не входят. Эти накладные займут 12-9.728=2.2 Мбит/сек, т.е. менее 19% от "бодовой". Для сравнения, в том же UART-е при 8-битных данных, одном старте и одном стопе накладных будет ровно 20%.

Пока Алексей

Reply to
Alex Kouznetsov

Alex,

You wrote to Andrey Arnold:

AA>> Ты меня хочешь удивить несоблюдением нормативной доки, AA>> или тоже не понимаешь вместе с писателем, что коль без оговорок AA>> написано усб2, то будь добр обеспечь все три скорости? AK> Если ты делаешь USB2 хост или USB2 хаб, то действительно, изволь AK> обеспечить все три скорости. Если же ты делаешь энд девайс, то изволь AK> обеспечить одно из трех: - low speed (1.5 Mbps) - full speed (12 Mbps) AK> - full speed + high speed (12 Mbps после подключения, с последующим AK> переключением на 480 Mbps по договоренности с хостом) AK> Hичего сверх перечисленного не требуется. "Учите матчасть..." (с)

Учите матчасть, учите... и не говорите потом, что вам не советовали учить матчасть.;)

Как минимум в энддоке на энддевайс, требуется указать ещё это самоё "сверх перечисленного", то бишь, скорость. Кстати, об этом в треде уже было сказано.

"Читайте тред" ;)

Andrey

Reply to
Andrey Arnold

Привет, Vladislav !

02 Jul 07 , 12:30 Vladislav Baliasov писал к Nickita A Startcev:

AK>>> указывают, что full speed, но часто не заморачиваются. Впрочем, AK>>> даже если указано "USB 2.0 full speed", многие ли знают, что это AK>>> всего 12 Мбпс?

NS>> 12 МГц - это тактовая частота. После вычета всех накладных NS>> расходов получим поток данных порядка чуть меньше мегабита.

VB> Охренел слегка или не видел, с какой скоростью работают флешдиски USB VB> 1.1 ? Чтение - иногда даже чуть больше мегаБАЙТА в секунду. И уж 700 VB> кило - как минимум.

Прогнал я. 12МГц тактовой - это усб 1.0.

1мбит получается в режимах типа контрол трансфер.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... жили-были три брата: Лит, Цен и Драт.

Reply to
Nickita A Startcev

Привет, Alex !

02 Jul 07 , 14:44 Alex Kouznetsov писал к Nickita A Startcev:

NAS>> 12 МГц - это тактовая частота. После вычета всех накладных NAS>> расходов получим поток данных порядка чуть меньше мегабита.

AK> Hет, 12 мегабит в секунду - это бодовая скорость. Как, например, AK> бодовая скорость UARTа может быть 9600 бод.

AK> А после вычета всех накладных расходов получим скорость перекачки AK> данных (в монопольном режиме, т.е. в одном направлении, когда к USB AK> никто более не подключен) больше одного мегаБАЙТА в секунду. Если AK> склероз не изменяет, в bulk режиме теоретический предел при длине AK> чанка 64 байта - это 19 чанков за один фрейм, то есть 1216 байт за 1 AK> мс, что есть 9.728 Мбит/сек. Ессно, указанные 64 байта - AK> информационные, т.е. SOF-ы, синхрополя, токены, битстаффинг, CRC и пр. AK> сюда не входят. Эти накладные займут 12-9.728=2.2 Мбит/сек, т.е. менее AK> 19% от "бодовой". Для сравнения, в том же UART-е при 8-битных данных, AK> одном старте и одном стопе накладных будет ровно 20%.

Подожди. А как жеж резервирование 10% полосы под контрол, 10% под всякие потоковые и еще что-то там было?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Рабочий скот был весел, животные и птицы - радостны

Reply to
Nickita A Startcev

Медбpатья по pазyмy ждyт Вас в далеких миpах, Nickita... Понедельник Июль 02 2007 09:46, Nickita A Startcev wrote to Alex Kouznetsov:

AK>> что full speed, но часто не замоpачиваются. Впpочем, даже если AK>> yказано "USB 2.0 full speed", многие ли знают, что это всего 12 AK>> Мбпс? NS> 12 МГц - это тактовая частота. После вычета всех накладных pасходов NS> полyчим поток данных поpядка чyть меньше мегабита. Таки все же мегабайта, а не мегабита :) Как в теоpии, так и на пpактике стаpые флэшки именно так и pаботали.

Майкл

Reply to
Michael Mamaev

Привет Nickita!

03 Jul 07 8:32, Nickita A Startcev -> Vladislav Baliasov:

AK>>>> указывают, что full speed, но часто не заморачиваются. Впрочем, AK>>>> даже если указано "USB 2.0 full speed", многие ли знают, что это AK>>>> всего 12 Мбпс? NS>>> 12 МГц - это тактовая частота. После вычета всех накладных NS>>> расходов получим поток данных порядка чуть меньше мегабита. Hе путай Fosc и тактовую. Во многих УСБ2-чипах тактовую получают умножением - Cypress,USBest,..

VB>> Охренел слегка или не видел, с какой скоростью работают флешдиски USB VB>> 1.1 ? Чтение - иногда даже чуть больше мегаБАЙТА в секунду. И уж 700 VB>> кило - как минимум. NS> Прогнал я. 12МГц тактовой - это усб 1.0. NS> 1мбит получается в режимах типа контрол трансфер.

Vitaly Polikarpov, vitvp[эt]mail.ru

Reply to
Vitaly Polikarpov
*** Ответ на письмо из carbonArea (carbonArea).

Привет, Vitaly !

03 Jul 07 , 23:00 Vitaly Polikarpov писал к Nickita A Startcev:

AK>>>>> указывают, что full speed, но часто не заморачиваются. Впрочем, AK>>>>> даже если указано "USB 2.0 full speed", многие ли знают, что AK>>>>> это всего 12 Мбпс? NS>>>> 12 МГц - это тактовая частота. После вычета всех накладных NS>>>> расходов получим поток данных порядка чуть меньше мегабита. VP> Hе путай Fosc и тактовую. VP> Во многих УСБ2-чипах тактовую получают умножением - Cypress,USBest,..

Hа самой УСБ-шине какая частота? насколько я помню, 1.5 12 и 480 мгц в зависимости от стандарта. Для обмена мелкими контрол-пакетами на самом медленном стандарте по моим прикидкам получился примерно 17кратный оверхед.

. С уважением, Hикита. ... И физиономия, прошу заметить, глумливая.

Reply to
Nickita A Startcev

Tue Jul 03 2007 10:35, Nickita A Startcev wrote to Alex Kouznetsov: NAS> Подожди. А как жеж резервирование 10% полосы под контрол, 10% под всякие NAS> потоковые и еще что-то там было?

"Там" - это где? Откуда у тебя эти цифры?

Universal Serial Bus Specification Revision 2.0 April 27, 2000

page 54

Table 5-9. Full-speed Bulk Transaction Limits

------------------------------------------------------ Protocol Overhead (13 bytes) (3 SYNC bytes, 3 PID bytes, 2 Endpoint + CRC bytes,

2 CRC bytes, and a 3-byte interpacket delay)

------------------------------------------------------ Data Max Bandwidth Max Bytes Payload (bytes/second) Transfers Remaining

------------------------------------------------------

64 1216000 19 37

Пока Алексей

Reply to
Alex Kouznetsov

Wed Jul 04 2007 12:36, Nickita A Startcev wrote to Vitaly Polikarpov:

NAS> Hа самой УСБ-шине какая частота? NAS> насколько я помню, 1.5 12 и 480 мгц в зависимости от стандарта.

При скорости 480 Mbps максимальная частота на шине USB составляет 240 МГц. Так же как на выходе UART-а, передающего со скоростью 9600 бод, нет и не может быть частоты переключения большей, чем 4800 Гц. Вроде ведь элементарная вещь, а надо же...

Пока Алексей

Reply to
Alex Kouznetsov

Привет, Alex !

04 Jul 07 , 16:18 Alex Kouznetsov писал к Nickita A Startcev:

NAS>> Hа самой УСБ-шине какая частота? NAS>> насколько я помню, 1.5 12 и 480 мгц в зависимости от стандарта.

AK> При скорости 480 Mbps максимальная частота на шине USB составляет 240 AK> МГц.

При условии что сигнал кодируется уровнем. Если сигнал кодируется уровнем - то да, 240МГц.

Кстати, лампочки над головой мигают с частотой 100гц и в некоторых ситуациях это заметно.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Гринписовцы - это жители GreenPeace'ской трясины

Reply to
Nickita A Startcev

Привет Nickita!

04 Jul 07 10:36, Nickita A Startcev -> Vitaly Polikarpov:

AK>>>>>> указывают, что full speed, но часто не заморачиваются. Впрочем, AK>>>>>> даже если указано "USB 2.0 full speed", многие ли знают, что AK>>>>>> это всего 12 Мбпс? NS>>>>> 12 МГц - это тактовая частота. После вычета всех накладных NS>>>>> расходов получим поток данных порядка чуть меньше мегабита. VP>> Hе путай Fosc и тактовую. VP>> Во многих УСБ2-чипах тактовую получают умножением - Cypress,USBest,.. NS> Hа самой УСБ-шине какая частота? Тактовая MCU, получаемая с PLL, обычно достаточна для загрузки/выгрузки формирователей шины на старшей из заявленных спидовок LS, FS, HS. Hу, а битрейты..

NS> насколько я помню, 1.5 12 и 480 мгц в зависимости от стандарта. Реальная-же скорость в канале, естественно, ниже.

NS> Для обмена мелкими контрол-пакетами на самом медленном стандарте по моим NS> прикидкам получился примерно 17кратный оверхед. Дэтотак, но кого он заботит в случае хардверной реализации.

Vitaly Polikarpov, vitvp[эt]mail.ru

Reply to
Vitaly Polikarpov

Привет, Vitaly !

05 Jul 07 , 21:30 Vitaly Polikarpov писал к Nickita A Startcev:

NS>> Для обмена мелкими контрол-пакетами на самом медленном стандарте NS>> по моим прикидкам получился примерно 17кратный оверхед. VP> Дэтотак, но кого он заботит в случае хардверной реализации.

Меня заботит. :) У меня пароль в усб-ключ пишется чуть ли не минуту из-за всяческих этих кратных оверхедов. :)

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Гринписовцы - это жители GreenPeace'ской трясины

Reply to
Nickita A Startcev

Привет Nickita!

06 Jul 07 19:57, Nickita A Startcev -> Vitaly Polikarpov:

NS>>> Для обмена мелкими контрол-пакетами на самом медленном стандарте NS>>> по моим прикидкам получился примерно 17кратный оверхед. VP>> Дэтотак, но кого он заботит в случае хардверной реализации. NS> Меня заботит. :) NS> У меня пароль в усб-ключ пишется чуть ли не минуту из-за всяческих этих NS> кратных оверхедов. :)

Есть повод подумать о полезном наполнении фреймов и юзаемых протоколах.

Vitaly Polikarpov, vitvp[эt]mail.ru

Reply to
Vitaly Polikarpov

Привет, Vitaly !

07 Jul 07 , 07:58 Vitaly Polikarpov писал к Nickita A Startcev:

NS>>>> Для обмена мелкими контрол-пакетами на самом медленном стандарте NS>>>> по моим прикидкам получился примерно 17кратный оверхед. VP>>> Дэтотак, но кого он заботит в случае хардверной реализации. NS>> Меня заботит. :) NS>> У меня пароль в усб-ключ пишется чуть ли не минуту из-за NS>> всяческих этих кратных оверхедов. :)

VP> Есть повод подумать о полезном наполнении фреймов и юзаемых VP> протоколах.

Устройство не наше, а стороннее и сертифицированное. Hаша часть - поддержка его в нашем ПО (windows, linux, доверенная дозагрузочная среда).

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Обкурившийся сфинкс, забывший правильный ответ на собственную загадку

Reply to
Nickita A Startcev

Привет Nickita!

08 Jul 07 13:50, Nickita A Startcev -> Vitaly Polikarpov:

NS>>>>> Для обмена мелкими контрол-пакетами на самом медленном стандарте NS>>>>> по моим прикидкам получился примерно 17кратный оверхед. VP>>>> Дэтотак, но кого он заботит в случае хардверной реализации. NS>>> Меня заботит. :) NS>>> У меня пароль в усб-ключ пишется чуть ли не минуту из-за NS>>> всяческих этих кратных оверхедов. :) А ты уверен, что не из-за "танцев с бубом" по поводу его криптозащиты и/или противодействию реверс-инжинирингу? Флешки-то не быстро пишутся.. Да и если там какой-нить PIC с USB (давно в их сторону не смотрел), или хилый ARM, эмулирующий пользовательский уровень, последнему достанутся единицы MIPS.

VP>> Есть повод подумать о полезном наполнении фреймов и юзаемых протоколах. NS> Устройство не наше, а стороннее и сертифицированное. Тогда о этом/их документировании должны думать его авторы.

Бывали, конечно, случаи аномально тормозной работы с периферией, как слабо объяснимые (на соседней машине с таким-же железом-софтом all ok), так и фиксящиеся сменой чипсетов, процов, билдов ОС, но c USB это относилось к хайспидовке.

NS> Hаша часть - поддержка его в нашем ПО (windows, linux, доверенная NS> дозагрузочная среда).

Vitaly Polikarpov, vitvp[эt]mail.ru

Reply to
Vitaly Polikarpov

Привет, Vitaly !

08 Jul 07 , 21:55 Vitaly Polikarpov писал к Nickita A Startcev:

NS>>>>>> Для обмена мелкими контрол-пакетами на самом медленном NS>>>>>> стандарте по моим прикидкам получился примерно 17кратный NS>>>>>> оверхед. VP>>>>> Дэтотак, но кого он заботит в случае хардверной реализации. NS>>>> Меня заботит. :) NS>>>> У меня пароль в усб-ключ пишется чуть ли не минуту из-за NS>>>> всяческих этих кратных оверхедов. :) VP> А ты уверен, что не из-за "танцев с бубом" по поводу его криптозащиты VP> и/или противодействию реверс-инжинирингу?

Уверен. Там протокол слоёный, всё через контрол трансферз, в каждом слое протокола оверхед. Hапример, для передачи прав, которые в реальности rwxrwxrwx(9 бит) используется блок из, если не ошибаюсь, 32 байт.

VP> Флешки-то не быстро пишутся.. Да и если там какой-нить PIC с USB VP> (давно в их сторону не смотрел), или хилый ARM, эмулирующий VP> пользовательский уровень, последнему достанутся единицы MIPS.

ципрессина там.

VP> Бывали, конечно, случаи аномально тормозной работы с периферией, VP> как слабо объяснимые (на соседней машине с таким-же железом-софтом all VP> ok), так и фиксящиеся сменой чипсетов, процов, билдов ОС, но c USB это VP> относилось к хайспидовке.

Ага. Было такое. А тут не лечится такими методами.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Ogre-ссивность

Reply to
Nickita A Startcev

Mon Jul 09 2007 10:59, Nickita A Startcev wrote to Vitaly Polikarpov: NS>>>>>>> Для обмена мелкими контрол-пакетами на самом медленном NS>>>>>>> стандарте по моим прикидкам получился примерно 17кратный NS>>>>>>> оверхед.

"Это вряд ли" (с). Скорее всего, не в этом дело.

В USB все происходит фреймами или микрофреймами. Период повторения фреймов (low speed и full speed) равен 1 мс, период повторения микрофреймов - 125 мкс.

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

Например, если фулл спид балк труба запнется на более чем 42 мкс (если склероз не подводит), то планировщик перейдет к обслуживанию следующей трубы, а эта запнувшаяся труба в следующий раз будет обслужена только в следующем фрейме, т.е. через 1 мс.

Поэтому два с виду одинаковых устройства, одно из которых реагирует на USB запросы быстро, а другое задерживается с ответами по сравнению с первым всего на несколько микросекунд, могут работать очень по-разному: первое будет "летать", а второе неимоверно "тормозить". А разработчик такого тормознутого девайса будет рассуждать об "оверхедах", хотя причина будет только в том, что ему доку было лень прочитать внимательно.

Другая возможная причина - ошибочно выбранная труба. Управляющая труба имеет наивысший приоритет, но планировщик отводит на все управляющие трубы всего процентов 10 от пропускной способности. Если обмен не успевает уложиться в отведенную ему полосу, ему придется ждать следующего фрейма, и т.п.

А вот балк, хоть и имеет самый низший приоритет, зато может занимать почти всю полосу. Если устройство одно, то планировщик быстренько обменяется с ним несколькими байтами по управляющей трубе, а остаток времени отдаст балку.

Пока Алексей

Reply to
Alex Kouznetsov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.