Аппаратный ремонт флешек своими руками

Представьте такую картину: вы втыкаете в USB какую-то флешку, и вдруг в браузере открывается окно, где грустный клоун крутит ручку шарманки. Когда мелодия кончается, флешка делает «бам» и… в лучшем случае обсыпает вас конфетти. В этой статье я покажу, как скрестить девайс для атак BadUSB с устройством самоуничтожения и заодно научу кое-каким мейкерским приемам.

Данная статья является переводом этого материала исследователя MG. Перевел Андрей Письменный.

РЕКОМЕНДУЕМ: Espruino Pico: програмирование USB-микроконтроллера на JavaScript

Самоуничтожающаяся флешка

Если говорить об этом устройстве как о флешке, которая может испускать дым, то, конечно, полезных применений у нее будет немного — разве что использовать в качестве декораций в кино про хакеров для особо драматичной сцены (да и видео с PoC выходит отличным!). Однако есть масса способов усовершенствовать полезную нагрузку. Например, можно заменить ее на «звуковую гранату», которая подарит немного веселья команде безопасности и сдержит их импульс немедленно выдернуть посторонний предмет из компьютера.

После подключения инъектор нажатий на клавиши отработает как вам нужно, а потом завоет сирена и не будет выключаться до тех пор, пока батарейка не умрет. Это возможно потому, что софт контролирует переключатель, способный подавать столько питания, сколько дает порт USB.

В общем, тут можно использовать много вариантов небольших схемок. А если вы можете поставить корпус побольше, например взять формат сменных дисков на 2,5 дюйма, то выбор становится еще богаче. Это отлично сочетается с устройствами, которые работают от батарейки. Например, боевые девайсы для работы с Wi-Fi (взлом, глушилки и прочее), которые будут получать питание от батарейки, только когда их принесут в целевую зону.

Это описание проекта с основными данными об электронной схеме. Подробная информация о каких-либо опасных манипуляциях умышленно не сообщается. Видео с демонстрацией нельзя воспроизвести без дополнительной работы, познаний и компонентов.

Как выбрать или изготовить USB-хаб

Сегодня для подключения периферийных устройств к компьютеру чаще всего используют интерфейс USB. Но рано или поздно пользователь обнаруживает, что все имеющиеся в его компьютере USB-порты заняты мышью, клавиатурой, WEB-камерой и другими устройствами, а вновь приобретённый принтер, TV-тюнер, USB-осциллограф или что-либо ещё подключить некуда. Как же соединить с компьютером 127 устройств, обещанных спецификацией USB?

Чтобы к одному USB-порту компьютера можно было подключить более одного устройства, применяют хабы (англ. hub — ступица колеса, в которую вставлены все его спицы), называемые также концентраторами. Хаб имеет «восходящий» (upstream) USB-порт, соединяемый с компьютером, и несколько «нисходящих» (downstream) USB-портов, к которым присоединяют периферийные устройства. Спецификация USB допускает последовательное соединение до пяти хабов.

В магазинах, торгующих компьютерной периферией, ассортимент USB-хабов довольно велик — на любой вкус, цвет и кошелёк. Казалось бы, выбирай любой, наиболее симпатичного дизайна с нужным числом портов и за минимальную цену. Ведь неискушённый пользователь часто представляет себе хаб чем-то вроде устройства для подключения двух телевизоров к одной антенне — внутри пара резисторов либо миниатюрный трансформатор.

Однако в данном случае всё гораздо сложнее. В этом я убедился, когда приобрёл два USB-хаба, один — для цифрового интерфейса к трансиверу, второй — для подключения внешнего жёсткого диска к стационарному ПК. Первый хаб на четыре порта с логотипом «DNS» был приобретён в обычном магазине, второй — неизвестного производителя на семь портов — был заказан в зарубежном интернет-магазине.

Эксперименты в лабораторных условиях показали, что оба хаба без проблем работают с мышью, клавиатурой, адаптером USB-COM и звуковой картой, оснащённой интерфейсом USB. Однако с внешним жёстким диском и FLASH-накопителем работает только хаб DNS. При подключении таких устройств через безымянный хаб компьютер выдаёт сообщение «USB-устройство не определено».

Дополнительные эксперименты с цифровым интерфейсом трансивера показали, что хаб DNS и здесь работает без проблем, а вот использование безымянного хаба приводит к «зависанию» компьютера при каждом включении передатчика. При непосредственном без хаба подключении адаптера USB-COM и внешней звуковой карты к компьютеру всё работало без проблем.

Такая ситуация меня заинтересовала. Я решил выяснить, чем же различаются эти два хаба. Почему один полностью выполняет свои функции, а второй, в принципе, работает, но не всегда и не со всеми устройствами?

Каково же было моё удивление, когда после вскрытия корпусов выяснилось, что оба хаба собраны на одной и той же элементной базе и по абсолютно одинаковым схемам! Только в семипортовом установлены две одинаковые микросхемы-контроллера USB-хаба последовательно: к одному из четырёх нисходящих портов первого контроллера подключён восходящий порт второго аналогичного контроллера. Отключение второго контроллера путём перерезания печатных проводников ситуацию не изменило. Чтобы понять причину, пришлось знакомиться с основами устройства и работы шины USB.

Первая спецификация USB 1.0 была опубликована в начале 1996 г., а осенью 1998 г. появилась спецификация 1.1, устранившая проблемы, обнаруженные в первой редакции. Спецификация USB 1.1 определяет два режима передачи информации: низкоскоростной (LS — low-speed), работающий со скоростью до 1,5 Мбит/с и полноскоростной (FS — Full-speed) с предельной скоростью 12 Мбит/с.

Весной 2000 г. была опубликована спецификация USB 2.0, предусматривающая 40-кратное повышение пропускной способности шины. В дополнение к двум ранее имевшимся скоростным режимам введён третий — высокоскоростной HS (High-speed), способный работать со скоростью до 480 Мбит/с.

В 2008 г. появился новый стандарт — USB 3.0 (Super Speed), coгласно которому скорость передачи доведена до 5 Гбит/с. Однако, чтобы достичь такой скорости, пришлось серьёзно изменить конструкцию разъёмов и кабелей, при этом полной совместимости с предыдущими версиями достичь не удалось. Этот интерфейс целесообразно использовать для связи с высокоскоростными жёсткими дисками, если требуется частая пересылка файлов большого объёма. Но за ним, несомненно, будущее.

С логотипом «USB 2.0» связан один тонкий момент. Хотя предельная пропускная способность этого интерфейса 480 Мбит/с, в спецификации заложена и возможность его работы в режимах LS и FS. Таким образом, пропускную способность 480 Мбит/с могут обеспечить только устройства, способные работать в режиме HS.

Разработчики USB рекомендуют использовать логотип «USB 2.0» только для HS-устройств, но на рынке свои законы и многие производители используют этот логотип и для FS-устройств, удовлетворяющих, по сути, лишь спецификации USB 1.1. Другими словами, надпись на упаковке «USB 2.0» ещё ни о чём не говорит. Устройства, полностью удовлетворяющие этой спецификации, должны иметь маркировку «USB 2.0 HI-SPEED» и явное указание на возможность работы со скоростью 480 Мбит/с.

Сигнал, передаваемый по линии связи со скоростью 480 Мбит/с, представляет собой прямоугольные импульсы, следующие с частотой до 480 МГц. Любому мало-мальски сведущему в радиотехнике человеку понятно, что для неискажённой передачи прямоугольных импульсов такой частоты необходимо при разработке печатной платы жёстко соблюдать требования к волновому сопротивлению линий передачи между микросхемами и разъёмами и его постоянству по всей длине линии.

Волновое сопротивление двухпроводной дифференциальной сигнальной линии на плате должно быть 90 Ом ± 10%. Линия должна быть симметричной, а расстояние между ней и другими печатными проводниками на плате — не менее пятикратного расстояния между проводниками линии. Под ними с обратной стороны платы на всём протяжении должен быть сплошной слой фольги — экран (общий провод). Участки линии, на которых эти требования не выполняются (например, подходы к выводам микросхем или к контактам разъёмов), должны быть минимальной длины.

Типичные ошибки при трассировке таких линий связи показаны на рис. 1, где 1 — разрыв экрана под линией; 2 — отвод от проводника линии; 3 — непа-раллельность проводников и изменение зазора между ними; 4 — посторонний проводник рядом с линией.

Рис.1.

Ну и, конечно, нужно соблюдать обычные требования к монтажу высокочастотных цепей. Все проводники должны быть минимальной длины, а блокировочные конденсаторы располагаться как можно ближе к соответствующим выводам микросхем.

При взгляде на фотографии печатных плат покупных хабов видно, что в хабе DNS (рис. 2) эти требования более-менее соблюдены. Разработчики же безымянного хаба (рис. 3) применили в нём одностороннюю печатную плату, поэтому волновое сопротивление линий связи сильно отличается от стандартных 90 Ом и наблюдается высокая чувствительность к электромагнитным помехам.

Рис. 2.

Рис. 3.

В обоих хабах использованы одинаковые микросхемы-контроллеры USB-хаба FE1.1s. Сайт их производителя https:// www.jfd-ic.com/ доступен, к сожалению, только на китайском языке. Возможная схема включения этой микросхемы показана на рис. 4. Она отличается от типовой отсутствием светодиодных индикаторов активных портов и дополнительной микросхемы энергонезависимой памяти. Подробнее с характеристиками и особенностями микросхемы FE1.1s можно ознакомиться в [1] (на английском языке).

Рис. 4.

Чтобы проверить предположение, что плохая работа хаба вызвана игнорированием требований спецификации USB к топологии печатной платы, я разработал свой вариант платы. Чертёж печатных проводников на её условно верхней стороне изображён на рис. 5. Фольга на нижней стороне сохранена полностью, за исключением зенковки отверстий для выводов деталей, не соединяющихся с общим проводом. Расположение деталей на обеих сторонах платы — на рис. 6. В переходные отверстия (они показаны залитыми) вставлены отрезки лужёного провода, пропаянные с обеих сторон платы.

Рис. 5.

Рис. 6.

Геометрические размеры сигнальных линий для получения требуемого волнового сопротивления рассчитаны с помощью программы TX-LINE [2]. Она бесплатна и доступна для скачивания после регистрации на сайте. Программа не требует инсталляции, работа с ней интуитивно понятна.

Запустив программу и перейдя на вкладку связанных микрополосковых линий (coupled MS line), следует выбрать материал проводников линии — медь (copper), ввести диэлектрическую проницаемость (dielectric constant) стеклотекстолита, равную 5,5, и размеры линии. При толщине стеклотекстолита 1 мм, ширине печатных проводников 0,7 мм, расстоянии между ними 0,5 мм и толщине фольги 0,02 мм получаем на частоте 500 МГц волновое сопротивление около 93 Ом.

Все предназначенные для поверхностного монтажа пассивные элементы — типоразмера 1206 или 0805. Оксидные конденсаторы C1, C3, С5, кварцевый резонатор ZQ1 и разъём внешнего питания XS5 смонтированы со стороны сплошной фольги, остальные элементы — со стороны печатных проводников.

Если хаб будет использоваться только как пассивный (все подключённые к нему устройства будут получать питание от компьютера), то диод VD1 можно заменить перемычкой. При подключении к хабу устройств, потребляющих более 500 мА, питания от компьютера будет недостаточно. В этом случае перемычку следует удалить и, не устанавливая диод VD1, подключить к разъёму XS5 источник стабилизированного напряжения 5 В необходимой мощности.

Для эксплуатации хаба как в пассивном, так и в активном режиме без перепаек диод с барьером Шотки VD1 в нём должен быть установлен. Он исключит попадание напряжения внешнего блока питания в USB-порт компьютера.

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

Микросхему FE1.1 s я выпаял из своего семипортового хаба, но в Интернете её можно приобрести и отдельно. Это один из немногих контроллеров USB-хаба, выпускаемых в корпусе SSOP-28 с шагом выводов 0,64 мм. Плата под такой корпус вполне может быть изготовлена методом термопереноса рисунка на фольгу.

Испытывая изготовленный хаб, я обнаружил, что влияние электромагнитного излучения полностью исчезло, два из четырёх его портов великолепно работают с FLASH-накопителем и с жёстким диском с интерфейсом USB, но два других — только с мышью.

Пришлось выпаять из семипортового хаба второй контроллер и заменить им первый на самодельной плате. Теперь полноценно заработали три порта из четырёх. Причём перестал работать в режиме HS тот порт, который с первым контроллером функционировал без проблем.

В документации на микросхему FE1.1 s сказано, что все её экземпляры после изготовления проходят выходной контроль. Очевидно, бракованные экземпляры отправляются не в мусор, а к безымянным производителям. Либо контроллер имеет какие-то недокументированные варианты исполнения. Так или иначе, вариант с тремя полноценными портами USB 2.0 меня устроил.

Обращаю внимание, что практически все дешёвые хабы с разъёмом для подключения внешнего блока питания не имеют никакой развязки между цепями внешнего и внутреннего питания. Контакты питания всех разъёмов просто соединены между собой. В результате есть шанс вывести из строя USB-порт компьютера, подав на него напряжение внешнего блока питания, подключённого к хабу.

Если к приобретённому хабу предполагается подключение внешнего блока питания, нужно вскрыть корпус хаба и перерезать проводник, идущий от контакта 1 разъёма восходящего порта (того, который соединяют с компьютером). Для сохранения возможности использования хаба в пассивном режиме в это место можно впаять диод аналогично VD1 на схеме рис. 4. Он должен быть с барьером Шотки (для уменьшения падения напряжения) и с допустимым прямым током не менее 1 А.

Согласно спецификации USB 2.0, соединительный кабель должен быть обязательно экранированным. При покупке кабеля бывает, однако, сложно определить, есть в нём экран или нет. Единственное, что может свидетельствовать о наличии экрана — маркировка «USB 2.0 High Speed» на кабеле. Косвенным признаком служат помехоподавляющие ферритовые «защёлки» на его концах.

Однако ни маркировка, ни защёлки ничего не говорят о качестве экрана. В хорошем кабеле он должен быть из фольги, обёрнутой вокруг жгута проводов, поверх которой надет плетёный медный «чулок». Нередко производители удешевляют производство, используя вместо полноценного экрана несколько омеднённых стальных жил.

Качество экрана можно оценить, измерив сопротивление между металлическими корпусами разъёмов на обоих концах кабеля. Если оно близко к нулю, в кабеле полноценный медный экран. Если сопротивление 3…4 Ом и более — экран есть, но он из стальных проволок. Такой кабель обычно тоньше, но его использование в условиях электромагнитных помех может приводить к сбоям компьютера. Например, когда рядом с кабелем лежит сотовый телефон или поблизости работает любительский трансивер.

Если сопротивление между корпусами разъёмов бесконечно, значит, кабель не экранирован и для работы в режиме High Speed непригоден. В любом случае корпус разъёма не должен соединяться ни с одним из его контактов. Никакие самостоятельные пайки, сращивание проводов, экранирование или замена разъёмов в кабеле недопустимы.

Самый надёжный критерий выбора — прозрачная внешняя оболочка кабеля, через которую отчётливо просматривается качественная экранирующая оплётка. А если при этом на обоих концах имеются ферритовые защёлки, то такой кабель смело можно отнести к категории PRO.

Подытоживая сказанное, сформулирую основные критерии выбора хаба USB 2.0 для высокоскоростного обмена информацией:

— приобретать хаб лучше в розничном магазине, заранее оговаривая возможность его возврата или обмена на другую модель;

— на упаковку и корпус хаба должны быть нанесены логотип «USB 2.0 High Speed» и явное указание на возможность работы со скоростью 480 Мбит/с;

— сразу после покупки (а по возможности до неё) следует проверить работу всех портов хаба с высокоскоростным устройством, например с FLASH-накопителем USB 2.0;

— если для подключения устройств к хабу или хаба к компьютеру планируется использование соединительных кабелей, предпочтение лучше отдать тем хабам, у которых все разъёмы смонтированы на плате, поскольку торчащие «хвостики» с разъёмами почти наверняка не имеют экранов. В результате один конец экрана кабеля окажется никуда не подключённым, что может привести к сбоям при работе в режиме High Speed;

— если предполагается использовать хаб с внешним блоком питания, будьте готовы к тому, что потребуется доработка хаба, описанная выше;

— никакой защиты от перегрузки в дешёвых хабах нет, чтобы там ни было написано на упаковке. Предполагается, что она имеется в USB-портах компьютера. Полноценный хаб с защитой от перегрузки — это уже совсем другая ценовая категория;

— приобретайте высококачественный экранированный кабель с надписью «High Speed» на нём, по возможности с прозрачной внешней оболочкой.

Если ни одна из продаваемых моделей хабов не устраивает, сделайте его сами, как описано выше.

ЛИТЕРАТУРА

1. FE1.1s USB 2.0 High Speed 4-Port Hub Controller. — URL: https://www.jfd-ic.com/ Documents/FEI. 1 s%2oData%20Sheet%20 (Rev.%201.0).pdf (13.08.14).

2. TX-LINE: Transmission Line Calculator. — URL: https://www.awrcorp.com/products/ optional-products/tx-line-transmission-line-calculator (13.08.14).

Файл печатной платы в формате Sprint Layout 6.0 имеется здесь

Автор: Н. Хлюпин, г. Киров

Мотивация

Этот небольшой проект начался с того, что я наткнулся в твиттере на нелепую картинку: на ней была изображена петарда, спрятанная внутри флешки. У всех, кто видел эту картинку, была примерно одна реакция: весело, конечно, но зло. Я стал раздумывать о возможности совместить что-то подобное с Rubber Ducky, чтобы иметь и программный пейлоад, и физический.

Не буду останавливаться на неудачных экспериментах, которыми я занимался, пока искал разные подходы и делал улучшения. Большая часть этих твиков требовала умений, которыми я не владею. Но какое же веселье, если не спотыкаешься на каждом шагу? Я раньше никогда не протипировал печатных плат, не писал прошивок, не работал ни с Android, ни с чипами AVR.

В этом проекте нет ничего особенно нового: я просто объединил разные наработки других людей. Мне помогали и вдохновляли: @evanbooth, @notdan, @Viss, @gsuberland, & @deviantollam.

Изначально я планировал использовать Hak5 Rubber Ducky, который стоит 50 долларов. Единственный выходной интерфейс у него — это LED на 3,3 В. Я подыскал миниатюрный MOSFET, который выдерживал 3 А и более при минимальном напряжении переключения около 1 В. Идеально: я мог подключиться к питанию светодиода и переключать что угодно, для чего хватит мощности USB.

Нужно было только найти способ управлять светодиодом, потому что Duckyscript делать этого не позволяет. Однако даже с кастомной прошивкой я смогу получить только очень ограниченный контроль над светодиодом. Потом я обнаружил проекты типа «USB Rubber Ducky за доллар» (или 3–5 долларов), в которых использовался чип ATtiny85. Это куда более удачный подход. В качестве бонуса в большинстве схем заодно получаем два незанятых порта GPIO!

В поисках наименее затратного способа получить такое устройство, который бы не растянулся на месяцы в ожидании товара из Китая, я понял, что Digispark за 5 долларов — это практически готовые платы, и они продаются на Amazon. Там же обнаружилось несколько клонов Digispark по 3 доллара за штуку и по 1,5 доллара — на eBay. Причем у них есть не только нужный мне ATtiny85, но и большинство других компонентов, необходимых для проекта.

KV.by

Иногда бывает так, что необходимо подключить к одному устройству много USB девайсов, которые имеют значительное энергопотребление превышающее допустимое. В самом худшем случае это приводит к выходу из строя USB контроллера. В лучшем, USB порт просто отключается до того момента, пока энергопотребление не станет допустимым.

Имеющиеся в продаже USB хабы с внешним питанием не всегда удовлетворяют необходимым потребностям. Как правило, мне не попадались экземпляры с указанным током потребления выше 1А. Да и то, пристально приглядевшись к подавляющему большинству подобных устройств, можно с уверенностью сказать, что долговременно питать устройства при максимальном токе они не смогут.

Передо мной стояла следующая задача: запитать 4 USB 3G модема для подключения их к роутеру. Учитывая, что каждый модем потребляет примерно 170-500 mA, сделать это обычным USB хабом не представлялось возможным т.к. максимальный ток потребления не может превышать 500 mA. Цифру 500 mA подтвердить документально не удалось. Но проверять экспериментально, выдержит ли роутер необходимый ток в режиме долговременной эксплуатации, не было никакого желания. Надежных хабов с внешним питанием, обеспечивающих ток 1,5-2A, я не нашел. Мне пришлось взяться за паяльник и немного доработать обычный USB хаб. В качестве внешнего источника питания я выбрал устройство от D-link, которое давно пылилось в моем столе.

В качестве подопытного хаба нашелся обычный четырехразъемный 4world. Дабы показать, что подобную доработку можно сделать с любым подобным устройством, фотографию не показываю.

Приступим к доработке. Первым делом ищем на печатной плате впаянный провод, идущий от USB-разъема (как правило, он красного цвета) с надписью VCC, перерезаем его. Этим мы физически отключаем возможность питания через разъем подключения хаба. Т.е. наш хаб и все устройства, подключенные к нему, будут питаться исключительно от внешнего источника питания. Теперь осталось подключить внешний источник питания. Для этого ищем дорожку с надписью GND (это будет «минус» питания) в ближайшем месте, где есть возможность, аккуратно припаиваем провод. Далее, ориентируясь на крайний правый провод разъемов USB (смотрите изображение ниже), ищем «плюс» питания, и так же аккуратно припаиваем туда второй провод. В приобретенном мной девайсе для внешнего питания были предусмотрены отверстия в печатной плате, в которые я благополучно впаял провода.

Если никаких специально предназначенных отверстий нет, то можно просто припаяться к местам с надписями GND, это будет «минус» питания, а VCC будет «плюс» питания.

Всё, устройство готово к эксплуатации. Стоит отметить, что для питания USB устройств желательно использовать хорошо стабилизированные источники питания с номинальным напряжением 5 Вольт, иначе мы рискуем вывести из строя сам хаб и подключенные периферийные устройства или, по крайне мере, нарушить стабильность их работы.

Сергей ГУСАКОВ, [email protected]

Список деталей

Вот как в итоге выглядит список деталей.

Основные детали

  • Здравый смысл — 1 шт. Старайся оберегать себя и других от разнообразных опасностей;
  • ATtiny85 — 1 шт. (с клона Digispark);
  • сопротивление на 68 Ом — 2 шт. (с клона Digispark);
  • сопротивление на 1,5 кОм — 1 шт. (с клона Digispark);
  • стабилитрон на 3,6 В — 2 шт. (с клона Digispark);
  • МОП-транзистор (MOSFET) IRLML2502 — 1 шт. (тут есть разные варианты. Например, ZXMN2F34FHTA тоже будет неплохо работать);
  • сопротивление примерно на 680 Ом (см. важное примечание о безопасности в инструкции по сборке).

Опциональные детали и инструменты

  • Старая флешка в выдвижном исполнении. Нам пригодится ее корпус и штекер USB;
  • печатная плата для прототипирования SMTpad 50×50 (это то, что использовал я, наверняка более опытные товарищи найдут более удачный способ собрать схему);
  • медная лента (я использовал ее для замыкания соединений на плате);
  • припой, паяльная паста, канифоль;
  • паяльник или паяльная станция.

Детали для пейлоада

  • Тут все полностью зависит от того, что вы собираетесь добавлять. Пейлоад будет получать напряжение в 5 В на ту продолжительность времени, которую вы настроите (по крайней мере, пока устройство подключено, если нужно — добавляйте батарейку).
  • Для чего-то типа «звуковой гранаты» можно напрямую подключать коннекторы 5 В.
  • Для чего-то драматичного вроде дымовых шашек… эту информацию я, пожалуй, опущу, чтобы кто-нибудь из читателей не наделал глупостей. Простите, но мне придется еще в паре мест проделать с текстом такую подлянку.

Аппаратный ремонт флешек своими руками

Ремонт нынешних гаджетов — занятие неблагодарное и зачастую невыгодное. Заменяемых деталей в них всё меньше, компоновка всё плотнее, а цены между тем (при равной функциональности) — всё ниже. Кустарю тягаться с промышленными технологиями не под силу. Тем не менее ремонтники мобильных телефонов и ноутбуков на жизнь особо не жалуются. Причина, как они сами объясняют, в недолговечности комплектующих — экранов, корпусов, цепей питания, ряда микросхем, а также в ненадёжных соединениях. Флеш-накопители — «USB-свистки» и в меньшей степени карты памяти — уверенно идут по тому же пути.

Практически каждый пользователь уже пережил минимум одну поломку флешки, и многие наверняка задумывались: а можно ли её починить самому? В старые времена, когда модный гаджет обходился в треть зарплаты, это подсказывала небезызвестная жаба, позже — простое любопытство. Действительно, что касается неисправных «брелоков», то не менее 50-60% случаев лечится простыми методами, не требующими специальной подготовки и оборудования. Почему бы и не попробовать?

Сегодня ремонт вновь становится актуальным с ростом ёмкости (а стало быть, и стоимости) флешек, а главное — с падением их надёжности. На рынке флеш-накопителей царит жёсткая конкуренция с регулярными ценовыми войнами. Производители экономят каждый цент себестоимости и не слишком заботятся о качестве своей продукции (некоторое исключение — дорогие флагманские модели). Им проще заложить в цену некий процент брака и менять отказавшие устройства по гарантии. Что будет с флешкой потом — «шерифа не волнует».

Увы, зачастую гарантийные услуги для пользователя недоступны: или документы утеряны (многие ли помнят о них, хотя бы хранят чек?), или место покупки далеко, или флешка имеет внешние повреждения — явно негарантийный случай. Что уж говорить о сером импорте и откровенных подделках (интернет-барахолки ими полны — недобросовестный бизнес, увы, процветает). В подобных случаях самостоятельный ремонт может исправить дело и вернуть к жизни забарахливший брелок.

Все флешки, за исключением монолитных конструкций, устроены однотипно и довольно просто: USB-разъём, печатная плата, на ней — десяток-другой элементов обвязки, контроллер и от одного до восьми чипов памяти (на моделях большой ёмкости они часто припаяны попарно, этакими «бутербродами»). Ремонтные технологии несложны и доступны каждому, у кого есть паяльник и мультиметр. Минимальные навыки обращения с электроникой тоже не будут лишними.

Успешный ремонт приносит не только законное моральное удовлетворение, но и материальную выгоду. Появившийся «лишний» накопитель позволяет более гибко управлять своими данными (например, дублировать) и вообще чувствовать себя спокойнее. По наблюдениям, реанимированные девайсы живут даже дольше новых — слабые места уже устранены, да и хозяин обращается с ними аккуратнее.

Очень часто владельца сломанной флешки интересует не она сама, а записанные на неё данные. Технологии восстановления данных (DR) имеют принципиальные отличия от ремонта как такового, поскольку заботиться о работоспособности всего устройства не требуется. Микросхемы флеш-памяти, на которых и хранится информация, выходят из строя весьма редко (1-2% аварийных случаев). От превратностей судьбы они защищены как механически — корпусом и самой конструкцией флешки (чипы обычно удалены от USB-разъёма, самого напряженного узла), так и электрически — контроллером и обвязкой. Последние берут на себя все риски взаимодействия по интерфейсу, в том числе переполюсовку, броски напряжения или разряды статики. То же справедливо и для карт памяти.

Поэтому «сырые» данные на чипах, как правило, сохраняются, и самый надёжный путь — отпаять все чипы, вычитать их на физическом уровне с помощью специального устройства (программатора, или считывателя) и собрать из полученных дампов образ файловой системы. Последний этап — самый сложный, поскольку требуется воспроизвести алгоритм работы контроллера. Производители вовсе не горят желанием раскрывать подобные вещи, так что приходится проводить обратную инженерную разработку — пресловутый reverse engineering.

Результаты трудоёмких раскопок попадают в базу данных, называемую иногда системой решений. Коллективными усилиями накоплено более 3000 решений, позволяющих эмулировать почти любой контроллер. Для сборки применяется специализированное ПО, весьма недешёвое (порядка 1 000 евро) и непростое в освоении. На территории бывшего СССР, а также во многих других странах наибольшую популярность завоевали два программно-аппаратных комплекса: Flash Extractor от московской и PC-3000 Flash SSD Edition от ACE Lab (этот ростовский разработчик известен также своим инструментарием для ремонта жёстких дисков).

Считыватель от комплекса Flash Extractor. Сменные панельки позволяют подключать микросхемы всех основных типов

Понятно, что подобные технологии — прерогатива специалистов. Но это единственный вариант в тех случаях, когда сгорел контроллер или повредилась служебная информация на чипах. Флешка тогда вообще не опознаётся либо не даёт доступа к данным, причём даже замена контроллера заведомо исправным не помогает (эффективность этой устаревшей технологии — всего 15-20%).

Если же аппаратные проблемы не затрагивают контроллер и микропрограмму, то после ремонта данные вновь становятся доступными — одним выстрелом удаётся убить двух зайцев. Правда, столь выгодный «дуплет» возможен лишь в простейших случаях, вроде сгоревшего предохранителя или другого элемента обвязки. Погнутый разъём USB или надломленная плата (типовые поломки, с которыми флешки приносят в ремонт) к ним, увы, не относятся. Зачастую в таких ситуациях слетает прошивка, и, даже починив плату, до файлов не доберёшься.

Причина в самих пользователях: с повреждённой флешкой они пытаются работать, прижимая разъём рукой. И зря — стабильного контакта так всё равно не добиться, зато от дребезга (он равносилен многократному подключению и отключению) блокируется контроллер. Флешка перестаёт определяться, после чего простые решения уже не проходят.

Приходится выбирать — нужна ли «инфа» или сам накопитель. В первом случае пользователя ждёт профессиональное восстановление данных (если они того стоят…), а во втором — ремонт, скорее всего самостоятельный. Он приводит флешку к состоянию «как новая», уничтожая всё ранее записанное. Так что ремонтные и DR-технологии в целом несовместимы.

Как же ломаются флешки и карты памяти? Рассмотрим основные виды неисправностей, их причины и методы устранения.

Популярная механика

Механические неисправности трудно не заметить. Применительно к флешкам — это дефекты корпуса, поломки колпачка и других подвижных деталей, повреждения разъёма USB (самый частый случай), трещины и сколы печатной платы и радиоэлементов на ней. Флеш-накопители не любят влаги, и, если их утопить либо залить, не работают.

Исключение — дорогие и более редкие защищённые модели, где внутренний объём залит силиконом (они часто носят маркетинговые названия Extreme, Voyager и т.п.). Между прочим, этот же силикон изрядно затрудняет отпайку чипов при аппаратном ремонте или восстановлении данных — очищать скальпелем приходится каждый вывод. Отдельно стоят монолитные конструкции: к воде и (несильным) ударам они сравнительно стойки, зато серьёзные повреждения однозначно фатальны.

Эту флешку Corsair, пришедшую «на дату», пришлось буквально выдирать из силикона

Сломанный корпус, отсутствующий колпачок, заклиненные подвижные части могут не влиять на работоспособность флешки, но пользоваться ей становится неудобно и даже затруднительно, её срок службы резко сокращается. При погнутом, мятом, отломанном разъёме USB (как и при других нарушениях контактов) флешка либо вовсе неработоспособна, либо опознаётся через раз и долго не проживёт. Повреждённая плата однозначно требует ремонта, но он не всегда приводит к успеху — внутренние дорожки многослойной структуры восстановить затруднительно.

Треснувший колпачок флешки — одна из частых поломок. В дешёвых моделях это случается через месяц-другой эксплуатации

В отличие от флешек, для карт памяти механические повреждения обычно бывают фатальны: за ремонт можно и не браться. Печатная плата бумажной толщины страдает при любом серьёзном воздействии — в ней рвутся токопроводящие дорожки и нарушается контакт с микросхемами памяти. Да и сами чипы могут треснуть с потерей всей «инфы». Так что к устранить получается лишь мелкие неисправности.

Так, у карт SD встречается расслоение половинок корпуса и (чаще всего) потеря ползунка, блокирующего запись. В последнем случае карта становится read-only, ничего записать на нее нельзя (ползунок сам не является переключателем, он просто механически размыкает цепь запрета записи в кардридере, так что на некоторых устройствах запись возможна). SD с расслоившимся или погнутым корпусом бывает трудно вставить в слот и, что важнее, извлечь из него. Применение силы (пинцеты, плоскогубцы и тому подобное) ситуацию только ухудшает. Также есть вероятность, что вся начинка карты рано или поздно выпадет из корпуса — это с большой вероятностью добьёт устройство.

В руках нетерпеливого пользователя карта SD долго не прожила

Причина механических повреждений — чаще всего небрежность пользователя. Флешки криво и резко вставляют в USB-порт компьютера или ноубука; уже вставленные задевают рукой, ногой, сумкой или шваброй. Вне компьютера «брелоки» роняют на пол, на них наступают, садятся, их переезжают колесиком кресла и так далее. Флешки попадают в стиральную машину, в уличную грязь и под пролитый кофе, их купают в морях и ваннах. Приходилось видеть накопители, побывавшие в собачьих зубах.

Модели со складными и выдвижными частями страдают от излишних усилий при трансформациях. Подвижные детали сами по себе не слишком долговечны и быстро истираются, если сделаны из дешёвого мягкого пластика. Особенно это касается различных фиксаторов — вставить такую «самоскладывающуюся» флешку в порт бывает непросто. Износ сильно ускоряется в грязной и агрессивной среде (например, в кармане рядом с ключами). В незащищённый колпачком разъём USB легко проникает пыль и влага, вызывая загрязнение и коррозию контактов (они далеко не всегда позолочены, как того требует стандарт).

Флешка Kingston норовит сложиться при подключении — стёрся фиксатор рабочего положения. Ползунок приходится удерживать рукой

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

Ещё о выборе. По жизни самые крепкие флешки — яйцеобразной, не слишком компактной формы. Длинные и тонкие модели ломаются первыми. Чем больше металла в корпусе, тем лучше — металл даёт не только прочность, но и хороший теплоотвод. Колпачок надёжнее тот, что держится трением на всей площади разъёма USB — он не треснет в районе выступов-фиксаторов. Хорошо, когда колпачок застрахован от потери шнурком или тросиком. Иногда снятый колпачок можно надеть на тыльную сторону флешки — это не так удобно, но лучше, чем ничего.

Модный в последнее время открытый разъём (без металлического бандажа, четыре контактные пластины находятся на виду) в плане надёжности неудачен: легко ломается и царапается, а главное — подвержен губительной статике. К тому же он часто сочетается с монолитным дизайном — изящным и компактным, но неремонтопригодным. Если, к примеру, ноутбук упал со стола, то у вставленной обычной флешки просто выламывается разъём, зато монолит трескается пополам, огорчая и пользователя и ремонтника.

Сломанный разъём у обычной и монолитной флешек. В последнем случае о ремонте говорить не приходится и даже снять данные — большая проблема. Обведённые контакты здесь не помогут

Механический ремонт преследует цель восстановить функционирование и надёжность флешки, его содержание довольно очевидно. На уровне «сделай сам» — это склейка или замена корпуса, подбор подходящего колпачка и тому подобное. Во многих случаях выручает цианакрилатный суперклей, особенно с активатором (гексаном), позволяющим склеивать любой пластик, в том числе «неподдающиеся» полиэтилен и полипропилен. У расшатанного либо погнутого разъёма USB следует пропаять крепления, особенно ушки по бокам (они принимают изгибающую нагрузку и отрываются первыми), а потом и сами контакты. Грубое выправление разъёма в обратную сторону — не лучший метод: часто при этом рвутся близлежащие дорожки на плате, и ремонт сильно осложняется, если вообще остаётся возможным.

На SD вместо потерянного ползунка легко вклеивается кусочек спички — правда, уже без возможности блокировки, но ей мало кто пользуется. Контакты чистятся ватной палочкой со специальным средством «Контактол» или, на худой конец, спирто-бензиновой смесью. Желательно при этом соблюдать антистатическую гигиену (заземляющий браслет на руке, проводящее покрытие стола и пола и так далее) или хотя бы коснуться заземлённого предмета перед работой. Помните, что карты чувствительны к статике.

Нелишне проверить под лупой контактные площадки — их золочение бывает весьма условным или вообще отсутствует. Истёртые, корродированные, изменившие цвет контакты (не редкость на дешёвых картах, хранящихся во влажной среде) — сигнал к выводу из эксплуатации, надёжно работать такая карта не будет. Переходников microSD→SD это тоже касается.

Сгорела на работе

Электрические неисправности флешек — это в первую очередь выход из строя контроллера («выгорание»), а также различные дефекты SMD-элементов обвязки: фильтров, предохранителей, резисторов, конденсаторов, стабилизатора, кварца. У этих деталей наблюдается обрыв, пробой, ухудшение параметров (к примеру, снижение выходного напряжения стабилизатора с 3,3 до 2,5-2,6 В, при которых контроллер уже не запускается). Сюда же можно отнести и проблемы с платой, в том числе повреждение токоведущих дорожек и плохой контакт деталей. Нередко в ходе эксплуатации проявляются дефекты заводской сборки (не до конца пропаянные соединения, холодная пайка, коррозия от неотмытого флюса).

Этот фильтр (обведён белым) сгорел от броска напряжения. Лечение стандартное — замена аналогичным или попросту напайка перемычки

Контактных проблем стало заметно больше после введения директивы Евросоюза RoHS (она направлена на вывод из оборота свинца, ртути и других вредных веществ). Экологичные бессвинцовые припои оказались капризными в применении: они хуже растекаются и смачивают контактные площадки, имеют повышенную температуру плавления, менее прочны. Качественная пайка ими требует высокой производственной культуры, а мелкие китайские фабрики этим как раз не отличаются…

В подобных случаях флешка чаще всего не подаёт признаков жизни, но иногда определяется в компьютере как «Неизвестное USB-устройство». В частности, это бывает при ненадёжном контакте микросхем флеш-памяти с платой (частый случай в последнее время — чуть изогнётся флешка в неловких руках, и одна из ножек отходит). При плохой пайке устройство может работать лишь в определённом положении, и то если нажимать рукой на корпус (обычно в районе разъёма USB). Случается, что дефекты проявляются лишь с прогревом, а холодная флешка работает нормально. Со временем интервалы работоспособности всё сужаются и в конце концов дело доходит до полного отказа.

К электрическим повреждениям флешек и карт памяти можно причислить и попадание внутрь воды — проблемы чаще всего вызывает не она сама, а недостаточная просушка устройства перед использованием. Стоит подать питание на отсыревшую флешку, и контроллер легко выходит из строя, причина — токи утечки между выводами. Конечно, длительное воздействие воды, особенно морской, может вызвать и банальную коррозию, но это не фатально: сообщалось, что карта памяти из фотоаппарата-«утопленника» заработала после года пребывания на морском дне.

Причины электроповреждений — нестабильное питание, разряды статического электричества с тела пользователя или корпуса ПК, а также перегрев деталей накопителя, в первую очередь контроллера (чипы памяти выдерживают до 100-120 °C и «горят» редко). Перегреву способствуют плохое охлаждение в тесном пластиковом корпусе, длительная активная работа или даже просто холостой ход. Совет: неиспользуемую флешку вынимайте из USB-порта, а карту памяти из слота кардридера — в зависимости от драйвера ОС они могут греться довольно сильно, и это слабо прогнозируемо.

Особенно опасно сочетание нескольких факторов риска. Например, при повышенном напряжении 5 В флешка греется значительно сильнее, и интенсивный поток данных, особенно на запись, легко может её добить. Чем производительнее (и дороже) модель, тем больше в этих условиях риск перегрева. Карт памяти это тоже касается — были сообщения о порче скоростных SD во время серийной фотосъёмки или сброса фильмов.

Сокращают жизнь флешкам и дешёвые корпуса десктопов: в них порты USB на передней панели подключены к материнской плате неэкранированным шлейфом, собирающим все наводки. Это даёт лишнюю нагрузку на подключённое устройство, что сказывается на его работе — сбои, замедления и повышенный нагрев. Выход из строя в таких условиях вполне вероятен, особенно при незаземленной электропроводке.

Проявлению дефектов пайки способствуют повышенные механические нагрузки, особенно знакопеременные (согнул-разогнул), а также падения и удары. Хотя флешки и считаются ударопрочными накопителями, в их схеме обычно присутствует кварцевый резонатор. А это (в типовых SMD-корпусировках) — довольно хрупкая деталь, не выдерживающая даже падения с метровой высоты. При треснувшем или отошедшем от контактов кварце флешка опознаётся как «Неизвестное USB-устройство» с нулевыми кодами VID/PID и к работе непригодна. Плохие контакты контроллера проявляются точно так же; нередки и чисто программные глюки (подробности см. ниже).

Здесь уже требуется аппаратный ремонт. Без мультиметра, паяльника на 25-30 Вт с тонким жалом и технического фена не обойтись: следует прозвонить соединения, укрепить пайку (часто помогает прогрев платы горячим воздухом), восстановить повреждённые контакты или токоведущие дорожки — в первую очередь те, что примыкают к USB-разъему. Вышедшие из строя детали заменяются. Речь идёт об элементах обвязки — чаще всего резисторах (включая нулевые номиналы, играющие роль перемычек), кварце и стабилизаторе 3.3 В.

Раньше у флешек часто обрывались предохранители по питанию и индуктивные фильтры помех в сигнальных цепях. Это лечилось подбором аналогов или даже банальными шунтами, а пробитый дискретный стабилизатор менялся без проблем (цена вопроса 20 руб.). Правда, иногда при включении плата дымилась — значит, первым вышел из строя контроллер, а заменённая деталь сработала как предохранитель.

В современных моделях таких элементов уже нет — . Все удары принимает на себя контроллер. Туда же интегрирован и стабилизатор, так что его пробой (опознаётся по моментальному и нестерпимому нагреву чипа) требует замены контроллера, причём на точно такую же модель с той же версией прошивки (второй-третий ряды маркировки чипа). Нерабочий кварц опознаётся по отсутствию генерации 12 МГц; для этого нужен хотя бы простенький осциллограф типа памятного радиолюбителям C1-94.

Приятное исключение — новые модели флешек с интерфейсом USB 3.0. Скоростное устройство потребляет значительный ток (до 900 мА по стандарту, в реальности 150-250 мА в простое и 300-600 мА под нагрузкой), так что конструкторы вернулись к дискретному стабилизатору, на сей раз импульсного типа, а также дроссельным фильтрам. С такой элементной базой флешки стали более ремонтопригодными.

Чипы флеш-памяти в большинстве случаев заменять нецелесообразно — они сравнительно дороги, а после перепайки флешке требуется полноценный программный ремонт, который может и не получиться, если нет достаточного опыта или нужного софта. Контроллер тоже штука своеобразная: в розницу такие микросхемы не продаются (не будете же вы заказывать партию из 1000 штук), так что добыть исправные экземпляры можно только из доноров. Разбирать рабочий накопитель довольно глупо, так что остаются флешки, умершие по другой причине. Учитывая нынешнее разнообразие контроллеров (каждая модель выпускается в нескольких модификациях, которые часто несовместимы по прошивке), доноров потребуется немало — минимум несколько десятков. Вряд ли у непрофессионального ремонтника найдутся подобные залежи.

Сгоревший контроллер физически повредился, но это редкий случай. Обычно аппаратные неисправности внешне незаметны

Не забудем и про технологические сложности — для любителя они бывают существенными. Аккуратно, без перекоса, «соплей» и неконтактов припаять 64 или 48 выводов с шагом в 0,4-0,5 мм (типовая корпусировка контроллеров и чипов памяти соответственно) с ходу не так уж просто, особенно если инструменты не лучшие. Ещё и поэтому аппаратный ремонт в большинстве случаев ограничивается заменой элементов обвязки.

Что касается подмокших флешек, включая и «утопленников», то к ним применима трёхэтапная технология, разработанная для мобильных телефонов. Плата вначале отмывается от солей и грязи в чистой, желательно дистиллированной воде, затем погружается в изопропиловый спирт (он имеет концентрацию 99,7% и активно вытесняет воду из капиллярных щелей, имеющихся, например, под микросхемами) и наконец, сушится тёплым воздухом. Аналогично поступают с деталями корпуса. Окончательная просушка перед сборкой должна длиться несколько часов.

Кстати, первым, кто применил абсолютированный спирт в качестве эксикатора, был Д.И. Менделеев. В 1890 г. он предложил заменить сушку пироксилина (основы бездымного пороха) обезвоживанием его спиртом, что является совершенно безопасным. С тех пор во всем мире эта стадия производства пороха проводится только по способу Менделеева.

Естественно, всем подобным работам предшествует разборка флешки, что в ряде случаев требует последующего механического ремонта (встречаются конструкции, собранные на клею или на хрупких одноразовых защёлках). Разнообразие моделей затрудняет их классификацию. В большинстве случаев корпус состоит из двух половинок либо имеет вид гильзы, куда вставляется начинка. Детали удерживаются винтом (лучше), трением или скрытыми защёлками (хуже). Во всяком случае, если вам не удаётся получить доступ к плате, то дальнейший ремонт противопоказан.

Вычурные, необычные модели разбираются сложнее, чем их рядовые собратья

Во второй части этого материала мы познакомим вас с программными проблемами флеш-накопителей и методами их решения, а также дадим несколько советов, как избежать поломки флешки. Скоро на ваших экранах!

Собираем все вместе

Если хотите сделать большое устройство, например в формате внешнего диска на 2,5″, тогда можете просто взять Digispark и добавить MOSFET для управления нашим физическим пейлоадом. А вот если вы захотите затолкать все в крошечный формат USB-флешки, то придется ужать все компоненты. Первым делом на составные части придется разобрать Digispark. Это мне вышло дешевле и оказалось удобнее, чем покупать все компоненты по отдельности. Так что дальше будет подразумеваться, что вы пойдете по тому же пути.

Схема

В целом тут ничего принципиально нового. Схему я успешно позаимствовал из проектов по клонированию Rubber Ducky на ATtiny85.

Самоуничтожающаяся флешка

В моем варианте к пятому пину просто присоединен МОП-транзистор. Наименьший и наиболее чистый пример в таком варианте — это uDuck. Схема максимально простая и поддерживает самый минимум функций USB. Стабилитроны снижают напряжение на линиях передачи данных до 3,6 В. Сопротивления помогают устройству соответствовать спецификациям USB (скорость распознавания, мощность и так далее) — важно для совместимости. Я видел схемы, в которых часть (или даже все) сопротивления и стабилитроны убирают, отчего совместимость и надежность сильно падают.Еще несколько вещей, о которых стоит знать.

  • Сопротивление между истоком и стоком МОП-транзистора требует изучения. Когда сопротивление слишком высоко или резистора вообще нет, полезная нагрузка будет срабатывать при загрузке. Дело в том, что ATtiny подает на контакты напряжение при включении. Спасибо Грэму Сазерленду (@gsuberland) за помощь в этом вопросе.
  • Можно сделать двойной триггер, продублировав схему с МОП-транзистором на шестом пине.

РЕКОМЕНДУЕМ: Обзор, установка и программирование на ESP32

Интерфейс USB в схемах на микроконтроллере

USB (Universal Serial Bus) — это универсальный последовательный интерфейс, позволяющий подключать к компьютеру разнообразные периферийные устройства и одновременно обеспечивать их питанием +5 В. Интерфейс USB в быту часто называют «шиной», но это тавтология, поскольку слово «Bus» переводится с технического английского языка как «шина».

Днем рождения USB считают 15 января 1996 г., когда вышла в свет первая спецификация параметров USB-1.0. Инициировали создание интерефейса фирмы Compaq Computer, DEC, IBM, Intel, Microsoft, NEC, Nortel. Известно несколько спецификаций USB, но для MK общего назначения из них годятся только USB-1.1 и USB-2.0 (Табл. 4.4).

Таблица 4.4. Хронология спецификаций интерфейса USB

Спецификация Год Скорость

[Мбит/с]

Особенности, изменения
USB-1.0 1996 1.5; 12 Начальная версия
USB-1.1 1998 1.5; 12 Исправлены неточности начальной версии
USB-2.0 2000 1.5; 12; 480 Увеличена скорость, добавлены разъёмы miniUSB
Wireless USB 2005 110; 480 Беспроводной USB на расстоянии 3…10 м
USB-3.0 2009 4800 Увеличена скорость и ток питания, изменён разъём

Почему же интерфейс USB вытесняет из компьютеров привычные СОМ- и LPT-порты, переводя их в разряд «legacy» (устаревшие)? Причин несколько:

• повышенная в 10… 1000 раз скорость передачи данных;

• улучшенная помехозащищённость (дифференциальные сигналы);

• простота организации питания и возможность «горячего» подключения;

• высокая достоверность, ввиду аппаратного исправления ошибок;

• возможность разветвления сигналов от одного разъёма через хабы.

Недостатки USB: относительно малый радиус действия 1.8…5 м (без хабов), необходимость установки специфических драйверов в операционной системе, сложность программирования, особенно, для неподготовленных пользователей.

Разъёмы USB-1.1 и USB-2.0 бывают двух типов «А» и «В» (Рис. 4.14, a…r), Тип «А» обозначает принадлежность к ведущему устройству (компьютер, хаб), тип «В» — к ведомому устройству (MK, принтер, «мышь», модем). В самодельных конструкциях, как правило, используются разъёмы «Standard-А», «Standard-В».

Рис. 4.14. Внешний вид USB-разъёмов: а) «Standard» в компьютере; б) «Standard» в удалённом устройстве; в) miniUSB; г) microUSB.

Назначение контактов разъёмов USB-1.1, USB-2.0 показано в Табл. 4.5. Здесь учтено существование миниатюрных пятиконтактных (5-pin) разъёмов miniUSB и microUSB, применяемых, в частности, в мобильныхтелефонах.

Таблица 4.5. Раскладка сигналов интерфейса USB

4-pin 5-pin Цепь Расшифровка Функция Цвет провода
1 1 VBus VCC Bus Питание +5 В Красный
2 2 D- Data- Данные «-» Белый
3 3 D+ Data+ Данные «+» Зелёный
4 5 GND Ground Общий Чёрный
4 (CS) Chip Select Для OTG

Электрические параметры и функциональное назначение всех цепей одинаково вне зависимости от типа разъёма. Стандартная длина USB-кабелей: «А-А»—1.5; 3.0; 5.0 м, «А-В» — 0.5; 1.0; 1.8; 3.0; 5.0 м. Разъёмы выдерживают ток 1…1.5 А, ёмкость между контактами составляет 2 пФ, сопротивление контактов 30…50 мОм.

Цепь «VBus» согласно стандарту рассчитана на ток не более 100 мА. Программно его можно повысить до 500 мА, если аппаратная часть позволяет это сделать. На практике во многих материнских платах цепь «VBus» соединяется напрямую с блоком питания +5 В компьютера. Поэтому надо соблюдать осторожность, чтобы не случилось короткое замыкание на общий провод. В противном случае сработает защита и компьютер аварийно выключится, не сохранив информацию.

Различают режимы с низкой LS (Low Speed, до 1.5 Мбит/с) и полной FS (Fast Speed, до 12 Мбит/с) скоростью передачи данных. Каждый из режимов имеет свои схемотехнические и программные особенности (Рис. 4.15, a…y).

Рис. 4.15. Схемы подключения компьютера через интерфейс USB к MK (начало):

а) резистор R1 служит опознавательным знаком для компьютера, что удалённое устройство (в данном случае MK) работает в низкоскоростном LS-режиме. Элементы VD1, VD2, R2, R3 огричивают амплитуду сигналов от MK в компьютер до уровня +3.3…+3.6 В. Желательно применить стабилитроны VD1, VD2 с низкой ёмкостью, т.е. в стеклянном корпусе или SMD;

б) MK получает питание +5 В от компьютера через разъём XS1 и фильтр L1, C7, C2. Делитель R1, R2 эквивалентен опознавательному резистору R1, что на Рис. 4.15, а. Напряжение в средней точке делителя близко к +3.3 В, следовательно компьютер настраивается в режим с низкой скорости обмена данными LS. Резистор &2может отсутствовать, что проверяется экспериментально для каждой конкретной материнской платы компьютера;

в) особенность схемы — низковольтное питание MK. Конденсаторы С/, С2устраняют «звон» на фронтах сигналов. Резистор R2 не обязателен. Его ставят к питанию или к GND, чтобы вход MK «не висел в воздухе», если предусматривается работа при отключённом USB-кабеле;

г) аналогично Рис.4.15, б, но с одним опознавательным резистором R3, который подключается к цепи «VBus» компьютера. Питание MK может отличаться от стандартных +5 В;

д) аналогично Рис. 4.15, б, но с одним опознавательным резистором R3, который физически подключается к источнику питания +5 В при ВЫСОКОМ уровне на выходной линии MK. Достоинство — возможность программного отключения устройства от USB, для чего на выходе MK надо установить НИЗКИЙ уровень;

е) специализированный MK с встроенным интерфейсом USB-2.0, например, из серии PIC18Fxx5x. Конденсатор C1 шунтирует узел внутреннего ИОН по высокой частоте. Опознавательные резисторы находятся внутри MK. Скорость обмена LS или FS задаётся программно;

ж) специализированный MK имеет встроенный аппаратный интерфейс USB-2.0. Напряжение на выводе KREF узла ИОН составляет +3.3 В. Это позволяет подключить к нему опознавательный резистор R3, который расценивается компьютером как знак того, что удалённое устройство (в данном случае MK) готово работать в высокоскоростном FS-режиме. Дроссель L1 устраняет высокочастотные помехи, генерируемые от MK в линию «VBus» и излучаемые через провода соединительного кабеля. Конденсаторы С/, C2 сглаживают «звон» на фронтах сигналов;

з) защита информационных цепей интерфейса USB сборкой сапрессоров DA1 (фирма Texas Instruments), которые выдерживают импульсы тока 3…9 А;

и) два способа уменьшения ВЧ-излучений — введение дросселей L1, L2 и экранирование разъёма XS1. Рекомендуемые парамеры дросселей: постоянный ток не менее 0.5 А, сопротивление 220…600 Ом на частоте 100 МГц. Иногда ставят дроссели упрощённой конструкции, например, в виде провода, пропущенного через ферритовую трубку («Koralik»), или же наматывают несколько витков провода ПЭВ-0.2 на ферритовое кольцо подходящего диаметра;

к) MK получает питание от разъёма USB через стабилизатор DA1. Остальным узлам устройства доступны на выбор два напряжения: +3.3 В или +5 В, при этом суммарная нагрузка по току не должна превышать 0.1 А. Вместо DA1 можно поставить два последовательных диода 1 N4148;

л) защита входных цепей интерфейса XS1 самовосстанавливающимся предохранителем FU1 и поверхностно-монтируемыми варисторами RUl…RU3\

м) предохранитель FU1 может быть обычным или Polyswitch. П-образный LC-фильтр на элементах L/, C1…C3снижает помехи по питанию от MK к компьютеру и от компьютера к MK;

Рис. 4.15. Схемы подключения компьютера через интерфейс USB к MK (продолжение):

н) фильтрация напряжения питания производится элементами C1…C4, R1\ о) светодиод HL1 выполняет две функции. Во-первых, индицирует рабочее состояние MK, во-вторых, снижает его напряжение питания с +5 до +3.3 В;

п) «усилитель USB-тока». Разъём XI входной, X2 — выходной. Сначала MK проверяет наличие напряжения на делителе R1, &2вцепи «VBus» разъёма XI. Если оно имеется, то МК открывают транзистор VT1 и подаёт питание от мощного источника +5 В в цепь «VBus» разъёма X2\ p) резистор R1 подключается к цепи «D+» при НИЗКОМ уровне на выходе MK, при этом начинает светиться индикатор HL1 (нормальная работа в LS-режиме). ВЫСОКИМ уровнем на выходе МК связь по USB прерывается, светодиод HL1 гаснет;

с) особенности — другой тип DA1 с другой цоколевкой выводов, светодиоды HL1, НЬ2цдя индикации приёма/передачи, местный (SB1) и удалённый (VT1) сброс MK;

т) конвертор USB-UART на микросхеме DA1 фирмы FTDI. Программно формируемый сигнал НИЗКОГО уровня на выводе RTS# удалённо сбрасывает MK через диод VD1;

у) конвертор USB-UART на микросхеме DA1 фирмы Silicon Laboratories. MK получает питание +3 В от внутреннего стабилизатора микросхемы DA1.

Источник: Рюмик, С. М., 1000 и одна микроконтроллерная схема. Вып. 2 / С. М. Рюмик. — М.:ЛР Додэка-ХХ1, 2011. — 400 с.: ил. + CD. — (Серия «Программируемые системы»).

Tweet Нравится

  • Предыдущая запись: Линейки светодиодов на MK
  • Следующая запись: Светоизлучатели и фотоприёмники в схемах на микроконтроллере
  • Похожие посты:

  • ИСТОЧНИК ПИТАНИЯ ДЛЯ АВТОМОБИЛЬНОГО РАДИОПРИЕМНИКА (0)
  • УСТРОЙСТВО ЭЛЕКТРИЧЕСКОЙ РАЗВЯЗКИ АККУМУЛЯТОРОВ (0)
  • ЗВУКОВОЕ УСТРОЙСТВО ДЛЯ ОХРАНЫ МОТОЦИКЛА (0)
  • ЗАРЯДНОЕ УСТРОЙСТВО ДЛЯ НЕСКОЛЬКИХ ЛИТИЕВЫХ ЭЛЕМЕНТОВ (0)
  • ИНДИКАТОР УРОВНЯ НАПРЯЖЕНИЯ ЭЛЕМЕНТА ПИТАНИЯ (0)
  • ИНДИКАТОР СТАТУСА АККУМУЛЯТОРНОЙ БАТАРЕИ (0)
  • СХЕМА ПОДКЛЮЧЕНИЯ ЛИТИЕВОГО АККУМУЛЯТОРА ДЛЯ ПИТАНИЯ УСТРОЙСТВ ПАМЯТИ (0)

Дизайн платы

Учитывая нестандартный расклад печатной платы, я не знаю, как это изобразить правильно. Красный — это полоски медной ленты. Обратите внимание на места, где она загибается за углы. Зеленый — это места, где будут припаяны концы проводов, идущих к USB. Синий — контакты для проводов к физическому пейлоаду. Почему медная лента? Потому что я не знаю, что делаю, а это сработало после того, как я раз десять потерпел неудачу с другими вариантами.

Самоуничтожающаяся флешка

Вот одна из плат обмотана лентой перед пайкой. Отверстия не используются — они просто часть платы SMTpad, которую я разрезал на кусочки. Вы, возможно, заметили, что я убрал подложку в том месте, где будет сопротивление на 600 Ом для МОП-транзистора. Это помогает избежать случайного замыкания.

Самоуничтожающаяся флешка. Обертывание меди

Самоуничтожающаяся флешка. После пайки

Самоуничтожающаяся флешка собрана

Убираем пятисекундную задержку при старте

Одно из раздражающих свойств Digispark — это пятисекундная задержка при загрузке. Именно эта задержка позволяет загружать новые скетчи при подключении. Если ее убрать, то для загрузки программы нужно будет замыкать два пина ATtiny. Для борьбы с задержкой понадобится новый загрузчик. Загрузить его можно при помощи программатора, но куда веселее использовать уязвимость типа «скольжение по цепочке NOP» (NOPslide), чтобы загрузить его из памяти, которая обычно используется для скетчей. Однако для записи прошивки все равно понадобится убрать некоторые предохранители внутри чипа. А это, к сожалению, все же требует использовать высоковольтный (12 В) программатор. Говорят, в некоторых версиях Digispark биты-предохранители не выставлены, но в моей они были.

Высоковольтный программатор

Если вы выберите путь с высоковольтным программатором, то тут большой выбор устройств — например, долларов за 60. Однако вполне можно обойтись Arduino Nano v3 за 4 доллара и макетной платой. Кто-то сделал скетч для Arduino, который автоматически очищает предохранительные биты, что для нас очень удобно. Шаги 1–3 из руководства по этой операции привели меня к желаемому результату.

Вместо того чтобы подключать ATtiny напрямую к макетке, я использовал зажим SOIC-8, чтобы программировать чип напрямую. Также я заменил двенадцативольтовую батарейку на пятивольтовый бустер за 5 баксов. Все это я так часто использовал, что перенес с макетной платы на более постоянную ProtoBoard.

Самоуничтожающаяся флешка. Программирование флешки

Пишем новый загрузчик

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

Существует проект micronucleus, в рамках которого разрабатываются новые прошивки. Если покопаться в глубинах этого проекта, то найдется утилитка под названием upgrade, которая использует скольжение по NOP для загрузки новых бутлоадеров по USB. Вы пишите micronucleus BootloaderName.hex — и готово. Я использовал бинарную версию micronucleus-1.11-entry-jumper-pb0-upgrade.hex. Помните, что после изменения загрузчика пропадет пятисекундная задержка и у вас больше не будет возможности замыкать первый и пятый контакты (или другие, если у вас другой бутлоадер) на землю, чтобы залить новый скетч для ATtiny.

Ту-ду и вишлист

  • Нормальная печатная плата для удобства пайки;
  • возможность получать пользовательский ввод и расширить потенциальный набор функций.
Рейтинг
( 2 оценки, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями: