Харчування від usb, технічний казкар

Гігабайт тут випустив «драйвер». дозволяє заряджати iPad від USB. Без оного «драйвера» iPad заряджатися не хоче, тому що споживає свідомо більше 500 мА.

Хотілося б у зв'язку з цим внести ясність, як взагалі працює харчування USB.

Перше і найголовніше: немає ніяких загальноприйнятих і реально використовуваних способів перевірки або обмеження споживаного пристроєм струму, що працюють без підтримки з боку самого пристрою. На роз'єм USB приходять 5 В - і все, якщо виробник не поставив на цей порт запобіжник, ви можете навантажувати його до тих пір, поки роз'єм не розплавиться. Вставте в нього резистор на 5 Ом - і ви будете отримувати від USB 1 А, при цьому ОС буде з повною упевненістю вважати, що навантаження на порт дорівнює нулю.

Тут ми підходимо до другого питання: звідки ОС знає про навантаження на порт? А їй про це повідомляє сам пристрій. Будь-яке USB-пристрій повинен мати в собі пачку дескрипторів, значення яких при підключенні пристрою передаються на хост - і останній з них дізнається, як пристрій називається, що робить, на якій швидкості працює і так далі. Зокрема, там є конфігураційний дескриптор, в якому є параметр bMaxPower - в ньому вказується максимальне споживання пристрою. Параметр однобайтовий, сходинка - 2 мА, тобто максимум пристрій може повідомити про фактичне споживання 255 * 2 мА = 510 мА. Якщо ОС вважає, що допустиме навантаження на порт перевищена (на ньому ж можуть бути кілька пристроїв), воно видає пристрою відмову - і останнє зобов'язане залишитися в сплячці. Перевірити, чи залишилося пристрій в сплячці або все одно включилося і жере скільки може, неможливо.

  • пристрій сам повідомляє, скільки воно хоче споживати;
  • пристрій навіть теоретично не може повідомити про більш ніж 510 мА;
  • перевірити, чи правда пристрій споживає стільки, скільки воно попросило, неможливо.

Власне, останнім пунктом користуються все зовнішні вінчестери з живленням від USB - у них стартовий струм 0,7-1,0 А. Зрозуміло, вони формально просять 500 мА, а реально жеруть скільки їм треба. Якщо розводка харчування на матері зроблена так, що при подібному навантаженні на порт напруга сильно просаживается (за стандартом, має бути мінімум 4,75 В при 500 мА, але стандарт не регламентує, що там буде після 500 мА, тому що за стандартом «після 500 мА »не буває), вінчестер не починається. Чи не тому, що йому хтось заборонив, а тому, що напруга занадто низька.

Власне, це все, що робить «драйвер» Gigabyte: побачивши iPad він відсилає йому команду «заряджає!». Усе. Більше ніяких рухів тіла не треба. Ви можете відіслати йому цю команду на абсолютно будь-якому комп'ютері - і він почне від нього заряджатися. Конкретні моделі материнок до даного «драйверу» прив'язані тільки тим боком, що Gigabyte як би гарантує нам - від такого навантаження USB в них не згорить.

Та й взагалі всякі «технології» типу «3x USB Power Boost», безвідносно «драйвера» для зарядки iPad, - це просто гарантія, що при навантаженні на порт 1,5 А на материнка не згорить, а напругу не просяде занадто сильно. Досягається елементарно: шина харчування до USB підводиться досить товста. Більше нічого за цими «технологіями» не варто.

Що смішно, саме на матері Gigabyte я кілька разів чув скарги, що при підключенні до них зовнішнього вінчестера разом відвалюються все задні USB-порти.

Схожі статті