На демоплатах и примерах подключают external pullup для D+ линии через резистор 1.5 кОм и буферный транзистор.
Зачем нужен буферный транзистор? Почему бы не подключить к ноге микроконтроллера напрямую? Неужели пару маллиамер не потянет?
Собственно говоря все управление этим входом сводится к тому, что на резистор подается напряжение после полной инициализации устройства. Насколько это критично? Вон в схемках для ATmega8 с софтварным USB подключают этот резистор сразу к питанию и не парятся...


