Цитата(SKov @ Nov 6 2008, 16:02)

Сомневаюсь, что такая схема является общепринятой или стандартной. Хорошо бы взглянуть на описание, на которое Вы ссылаетесь. Всё-таки я остаюсь на своих позициях, пока не увижу бумагу, где написано обратное
Я вроде бы по-русски написала, что сослалась на слова умельца, который чинил сгоревший USB-порт. А для таких придир, как вы, я специально оговорила "за что купила, за то и продаю". Где вы прочли в моем посте, что я на описание ссылаюсь?
Если вы сомневаетесь, что там в качестве дискриминатора транзистор стоит, то что вам кажется менее сомнительным? Что там резистор что ли впаяли? Если бы это было так, то при достижении порогового значения наблюдалась бы не отсечка, а линейное уменьшение выдаваемого компьютером напряжения с ростом потребляемого тока на всем диапазоне. Однако такой эффект незамечен. До 100 мА порт исправно выдает свои 5 вольт (у меня 5.05 в) и лишь после преодоления порога ток начинает уменьшаться. Мой ноутбук при нагрузке на мое устройство (эквивалентное сопротивление 25 ом) понижает ток до 153-160 мА. Весьма возможно, что при коротком замыкании ток еще на сколько-то подрастет, но дискриминатор сгореть ноутбуку не даст.
Если же вы коряво выразились, и под словом схема имели ввиду не электрическую схему обеспечения напряжением, а логическую схему его блоковой раздачи, то здесь сослаться на описание я могу:
Павел Агуров, Интерфейс USB : практика использования и программирования, СПб, БХВ-Петербург, 2006. На странице 60 читаем:
Цитата
Устройство указывает потребляемую мощность в дескрипторе конфигурации, который передается хосту при нумерации устройств на шине (см. разд. 10.2.2). Причем потребляемый от шины ток указывается с дискретностью 2 мА. Например, если устройство потребляет ток от USB-шины 100 мА, то в дескрипторе должна фигурировать цифра 50 (50 х 2 = 100 мА). Потребление тока устройством не должно превышать значения, указанного в процессе нумерации.
Потребляемая мощность, согласно спецификации USB, измеряется в блоках (unit). Один блок составляет 100 мА. Таким образом, устройства с малым потреблением используют 1 блок, а с большим потреблением - до 5 блоков.
Цитата(SKov @ Nov 6 2008, 16:02)

Еще пара аргументов в пользу того, что ситуация именно такая, как я её представляю.
1) Если ваше устройство не работает (кварц не завелся), и операционка в принципе не в состоянии узнать, сколько вы хотите потреблять тока, то почему она в вашем случае ограничивает ток на уровне около 150ма?
Речь шла о случае, когда устройство "завелось", т.е. не только нормально определилось, но и выдает правильный текст на виртуальный COM-порт. Например, у моего ноутбука тока на это хватает (4.5 в, 153-160 мА), а у десктопа не хватает (4.0 в, 140 мА). Меня насторожил тот факт, что напряжение и токопотребление остаются одинаковыми, как в случае, когда устройство определилось (был инсталлирован драйвер), так и в том случае, когда оно не определилось (подключение без драйвера). Такое положение не нормально и свидетельствует о том, что просьба устройства о дополнительном электроснабжении была компьютером проигнорирована.
Кроме того, в моем устройстве предусмотрено подключение внешнего напряжения питания, благодаря чему я могу завести свое устройство даже на слаботочном USB-порте, а затем, отключив внешнюю подпитку, замерить, что дает порт.
Цитата(SKov @ Nov 6 2008, 16:02)

Вывод - ваш порт либо по жизни хилый либо подгорелый по питанию.
У меня в ноутбуке не один USB-прт, а четыре. А на десктопе и подавно 6 портов. И все они ведут себя одинаково. Что ж, по-вашему они всего горелые? Если так, то отчего же те самые внешние USB-диски у меня на этих портах работают?
Цитата(SKov @ Nov 6 2008, 16:02)

2) Несколько лет назад известная фирма Силабс начала выпускать свои преобразователи USB-Сом ср210х, к которым была приложена программа, с помощью которой можно было менять ток, запрашиваемый устройством. Эта информация хранилась в байте еепром в чипе преобразователя.
Содержимое байта (0..255) умножалось на 2 и передавалось операционке в качестве потребляемого тока. Некоторые разработчики сгоряча прописывали в этом байте максимально возможное число - 0xFF. Это число записывалось во внутреннюю еепром и соответствовало току 2* 255 - 510мА.
После этой операции чип можно было выбрасывать в урну, т.к. НИЧЕГО С НИМ НЕЛЬЗЯ БЫЛО СДЕЛАТЬ.
Чтобы перепрошить чип, надо было, чтобы его увидела система, а система (на уровне софта, а не харда!) отказывалась работать с устройством, которое требовало питание польше 500мА !
Это вы к чему? Какое отношение к теме имеют проблемы перепрошивки еепром у Силабса? У меня на AT90USB647 с прошивкой все нормально. Кроме того, я запрашиваю ток 400 мА (MAX_POWER=200). И этот запрос нормально виден на трассировщике USB канала.
Цитата(TinyQ @ Nov 7 2008, 13:07)

уточните вы пытаетесь подключать свое устройство только к ноутбукам или нет?
Ответ на этот вопрос содержится в ответе для SKov.