Кабель usb без микросхемы uart. Конвертер usb-uart: перепрошивка адаптером. Что нам это дает

Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой.
Я в своих проектах использую его с Arduino Pro MIni , Gboard /Iboard и самодельными контроллерами .

Чем он отличается от других подобных устройств

  1. Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.
  2. Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
  3. Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
  4. Интересной возможностью менять VID, PID и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах. Об этом я расскажу дальше.

Где заказать?

Характеристики

  • Чип CP2102 от Silicon Labs
  • Скорость обмена данными по UART 300Бит/сек — 1Мбит/сек
  • Буфер чтения 576 байт, записи 640 байт
  • Поддержка USB 2.0 12Мбит/сек
  • Поддержка режима SUSPENDED USB
  • Встроенный стабилизатор питания 3.3В 100мА
  • EEPROM с конфигурационными параметрами 1024 байт
  • Поддерживаемые ОС Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Возможность настройки параметров платы и драйверов под свои проекты
  • Размеры платы 26.5 x 15.6 мм

На плате есть дополнительные отверстия, куда можно впаять выводы дополнительного модемного контроля и перевода USB в режим SUSPENDED

По размеру плата мало отличается от других подобных конвертеров USB/UART

  1. Плата FOCA 2.2 взята для коммерческих проектов с контроллерами Gboard /Iboard
  2. Дешевый конвертер FT232 используемый до настоящего времени
  3. Обозреваемый CP2102

Подключение и установка CP2102

Перед использованием платы необходимо установить драйвера с официального сайта Si-Labs

  • Для соединения к контроллеру нужны 5 проводов:
  • GND — GMD
  • VCC — V5.0 (V3.3) в зависимости от используемой платы
  • TX — RX
  • RX — TX
  • RESET контроллера — DTE


Теперь контроллер можно программировать не нажимая кнопку RESET.

Изменение VID, PID и др. характеристик конвертера

Плата опознается в системе как Silicon Labs CP210X USB to UART Bridge (COM35)

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

Для начала скачиваем и запускаем утилиту для конфигурирования параметров EEPROM CP1202 (мне для запуска утилиты потребовалось еще скачать Java Runtime)

Теперь можно изменить следующие параметры:

  • Vendor ID (VID). Идентификатор производителя. Значение «по-умолчанию» 10С4 (шестнадцатеричный формат). В данном случае принадлежит компании SiLabs.
  • Product ID (PID). Идентификатор продукта. Значение «по-умолчанию» EA60 (шестнадцатеричный формат). В данном случае обозначает все мосты CP210x.
  • Max Power. Максимальный ток потребления, запрашиваемая мостом на шине USB. Значение «по-умолчанию» 32 (шестнадцатеричный формат). Максимальное значение 500мА
  • Power use attributes. Режим питания. Bus-powered (питание от шины USB) или Self-Powered (питание от внешнего источника).
  • Release Version. Номер выпуска. Значение «по-умолчанию» 1.0. Поля могут принимать значения 1-99 в целой и дробной части.
  • Serial Number. Серийный номер. Значение «по-умолчанию» составляет «0001» (текстовый формат). Поле может принимать любое текстовое значение длиной до 64 символов. Нужно для подсоединение к компьютеру нескольких устройств
  • Product string. Поле может принимать любое текстовое значение длиной до 126 символов. Данный идентификатор отображается в операционной системе при первичном подключении моста CP210x к компьютеру и помогает пользователю в выборе подходящего драйвера
  • Custom Data Lock. Защита конфигурационных данных.

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

  • Дорогая, что то около 150 рублей
  • В bitbang режиме работает ОЧЕНЬ медленно, из-за чего ее нельзя применять с программатором Громова и прочих элементарных COM программаторах из говна и палок. .
  • Мелкая шо писец, паять и разводить ее так это вырви глаз. Впрочем, после QFN мне ничего не страшно. Прорвемся!

Есть еще более старая FT232BM она делает то же самое, но ей надо дофига обвязки. Кварц, еще куча кондеров всяких. Ну ее в пень.

Вот что, собственно получилось:


Это печатная плата, файл с макросом этого микроблока для Sprint Layout будет в конце статьи.
Развелось довольно легко, на удивление ноги не перекрещенные получались. Я аж удивился. Также насобачил туда светодиодов — Питание, RX и TX так что она у меня теперь косит под новогоднюю елку.

Дальше отчеканил ЛУТом планку сразу на четыре экземпляра из которых один оказался косячный. Нет, получился он идеально, что что, а по ЛУТ у меня звание не ниже старшего джедая, но почему то он был зеркальный… О_о Видать случайно ткнул на отзеркалить и не заметил.

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

Залудил при 230 градусах. Выше нельзя, крошечные пады поотлетают только так. Да и при 230 надо ОЧЕНЬ нежно и быстро. Можно было лудить сплавом Розе. Лудить тут надо, иначе риск получить непропай под выводами, а результат тут визуально не проконтролируешь.

Да, во многих девайсах где стоит COM можно выкинуть MAX232 и поставить туда FT232, но зачем плодить сущности? Если мне нужна связь с компом, то я просто оставляю RX TX GND пины и вешаю на них либо тот же MAX-шнурок, либо вот сейчас этот микроблочек. Так что одной микросхемы хватит на все времена:)

Файлы к статье:

Бонус:
Что то меня на писательство поперло, видать сказываются спирты в мозгах и отсутствие интернета — отключили за неуплату:) Пишу пока «в стол»… Дам ка краткий мануал по пайке радио пыли.

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

Подготавливаешь полигон:

  • В одной руке пинцет, в другой зубочистка.
  • Плата надежно закреплена на столе. Можно прям на двустороннюю липучку приклеить к столу. У меня в минитисках зажата.
  • Контактные площадки обильно смазаны флюсом.

Вначале позиционирование

  • Пинцетом максимально точно выставляем микруху на площадки. Причем нам важно чтобы хотя бы один из крайних выводов встал ровно , любой какой тебе удобней. Остальные как можно ближе к идеалу.
  • Только выставил, не отпуская пинцетом сверху прижимаешь ее острием зубочистки, крепко прижимаешь. Пальцем нельзя — палец толстый и ты ее сдвинешь, а зубочистка во первых острая и давит в одной точке, во вторых деревянная, а значит не раскрошит нежную микруху.
  • Не отпуская зубочистку я обычно ее перехватываю другой рукой (левой), а правой хватаю паяльник. Микруха при этом не шевелится ни на волос. Т.к. давление только в одной точке, вниз, то вращательному моменту там просто неоткуда взяться.
  • Припаиваю ОДИН крайний вывод.
  • Если микросхема стоит по прежнему ровно и тебя все устраивает, то тут же прихыватываешь крайний вывод с другой стороны, а потом два крайних с другого ряда.
  • Если же микруха стоит чуть криво, то ты можешь ее попробовать чуток повращать относительно припаяной ножки, чуть чуть. На доли градуса, лишь бы остальные ножки встали. Как встанут — прихватывай вторую. Ну, а дальше никуда она не денется.

Ну и припаиваешь остальные выводы:

  • Угаживаешь все выводы флюсом и взяв самую малость припоя на жало, реально мало — 1мм проволочного припоя диаметром 0.5мм. Если нет такого припоя, расплющи тот что есть в фольгу.
  • Эту капельку спокойно размазываешь по выводам. Она должна хорошо растечься не слепляя выводы. Главное флюса не жалеть.
  • Излишки припоя снимаются сухим паяльником или зафлюсованным многожильным проводочком, который впитает их в себя.

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

Должно получиться примерно вот так:


UPD:

За разводку спасибо Rol20

Началось всё с того, что я купил себе Orange Pi, поддавшись рекламному слогану «аналог Rasberi Pi всего за 15$». Девайс был заказан на алиэкспрессе и прибыл через пятнадцать дней ещё в феврале. Тогда же были куплены все необходимые дополнительные компоненты: радиатор на процессор, 15 ваттный блок питания, карточка micro SD объемом 32 Гб, HDMI-кабель для подключения монитора. За неимением времени он пылился в ящике стола аж до июня. И вот наконец дошли руки проверить его работоспособность.

На стандартных прошивках, предлагаемых на официальном сайте работоспособность не вызвала нареканий. Но стандартные прошивки меня не устраивают по той причине, что уж так я устроен - любой попавший мне в руки девайс должен быть кастомизирован по полной программе. Поэтому в руки был взят U-boot , исходники которого скачаны с официального FTP , а так же сборка Arch Linux для ARM . В качестве опорного мануала и отправной точки для копания был взят вот этот мануал для Banana Pi .

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

Ну не беда, подумал я. На «апельсине» распаян UART, подключусь как я к нему терминалом да посмотрю что происходит. Были куплены необходимые детали и провод и спаян вот такой кабель (картинка под спойлером)

Нубский вариант кабеля

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

1. В чем разница между UART и RS232

Разница в уровнях. Последовательный интерфейс, реализованный в Orange Pi и других подобных устройствах, основан на TTL-логике, то есть нулевому биту соответствует нулевой уровень напряжения, а единице уровень в +5 В. RS232 использует более высокий уровень напряжения, до 15 В, и единице соответствует -15 В, а нулю +15 В. Для увеличения помехозащищенности канала как ноль воспринимается любой уровень напряжения ниже 3 В по модулю. Протокол передачи данных на уроне последовательности логических значений и у UART и у RS232 абсолютно одинаков. Всё это иллюстрируется следующей диаграммой передачи байта

Вот как я мог об этом забыть? В бытность своей работы в электровозостроительном НИИ эти вещи я знал. А тут почему-то глупость сморозил. В общем стало понятно, что нужен некий преобразователь уровней с инвертированием сигнала. Выбор пал в сторону подключения всего хозяйства к COM-порту, который есть на матплате моего домашнего компьютера. Хотя конечно можно было посмотреть в сторону UART <-> USB, ибо старинный последовательный интерфейс неуклонно теряет актуальность. Однако моя склонность к более простым решениям победила и в качестве кандидата на приобретение всплыл вот такой девайс

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

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

После покупки компьютера вся увлеченность переключилось на него. А скил паяльщика мелких усилителей-приемничков положен на полку. Так что я «чайник». Поэтому ко многому из того, о чем я напишу ниже, прошу относится снисходительно. И эта статья, по большому счету для таких же «чайников» как и я.

2. Выбор схемы устройства и его компьютерное моделирование

Схему подобного девайса найти в сети раз плюнуть. Таких схем реально много. Выбор пал на такое решение

Сердцем всего устройства является микросхема типа MAX232 - преобразователь уровней, действующий по принципу "зарядового насоса ". Повышение напряжения с 5 в осуществляется за счет поочередной зарядки внешних конденсаторов C4 и C5. В моменты выдачи сигнала на RS232 эти конденсаторы соединены последовательно, и напряжение накопленное в них складывается. При обратной передаче микросхема работает как делитель. В обоих направлениях передачи сигнала происходит его инвертирование.

Диод VD1 играет роль «защиты от дурака» - запирает цепь питание при подаче напряжения неверной полярности.

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

Первое что хотелось сделать - смоделировать всё, включая цепи питания, так как меня интересовало влияние диода на работу схемы. По умолчанию в Proteus пины питания на микросхемах скрыты и подтянуты к плюсу нужного уровня и земле. Чтобы их разблокировать, нужно, во-первых, отобразить скрытые пины. Для этого идем в меню Template -> Set Design Colors и ставим галку Show hidded pins

В котором ставим галки Draw body и Draw Name. После этого выделяем всю микросхему, включая текст, которым подписаны выводы и правой кнопкой меню выбираем Make Device. Нам будет предложено выбрать имя для нового устройства и сохранить его. Всё, после этого цепи питания будут включены в процесс симуляции явно.

Далее, передавать по UART будем нечто осмысленное, например букву «A» кодируемую в ASCII кодом 65 в десятиричной системе счисления или последовательностью 01000001b в двоичной. Кроме того, чтобы иницировать передачу необходимо послать стартовый бит с уровнем «0», а для завершения передачи послать один или два стоп-бита уровнем «1». Таким образом, временная диаграмма кадра, передаваемого по UART будет выглядеть так

Для формирования подобного сигнала используем источник именуемый Digital Pattern Generator (DPATTERN) с настройками вида

Ширина импульса в 104 микросекунды соответствует скорости 9600 бод. Форма сигнала задается строковым шаблоном где «L» означает низкий уровень, а «F» - высокий уровень. Соответственно наша строка будет выглядеть как «FLFLLLLLFLF». Контроль принимаемых в RS232 данных будем производить виртуальным терминалом, настроив его так

Не будем использовать бит четности, и будем использовать один стоп-бит. Кроме того, скажем что сигнал, подаваемый на терминал инвертирован, что соответствует протоколу RS232. Запустив моделирование схемы получаем осциллограмму сигналов и вывод в виртуальный терминал

По каналу A идет выходной сигнал, подаваемый в COM-порт. На канале B - входной TTL-сигнал. В терминал выводится заветная буква «A». Таким образом мы убеждаемся в том, что предлагаемая схема вполне работоспособна. В теории.

3. Подбор и покупка компонентов

Из ближайших к месту моего обитания магазинов, где можно разжиться радиодеталями есть два заслуживающих внимания: магазин «Радиодетали» на Буденовском проспекте (это город Ростов-на-Дону) и магазин «1000 радиодеталей» на проспекте Нагибина, напротив ТЦ «Рио». Последний выгодно отличается тем, что у него есть сайт , правда довольно древний, и видимо лениво обновляемый (и сделанный на Joomla...). Поползав по прайсу я подобрал список того, что мне нужно прикупить.

Сразу скажу, я тщательно избегал SMD-компонентов в виду своей неопытности. Поэтому я выбрал MAX232CPE в исполнении для монтажа в отверстия. Такие же взял и электролиты и диод. Однако по место оказалось, что в наличие только микросхема MAX232CWE - то же самое, только… SMD! Подумав с секунду я согласился с предложением продавца - надо же когда-то начинать… Конденсаторов на 15 В не нашлось, зато нашлись на 100 В той же емкости и тех же габаритов. Ну ладно, тоже ничего. Вместо разъема DB-9 типа «папа» мне предложили «маму». Таким образом получился следующий список

Хлорное железо, цапон лак и текстолит, разумеется не были использованы полностью. Кроме того, в этот список я не включил приобретенный инструмент: простенькую паяльную станцию (ибо до этого располагал только 40 ваттным паяльником с медным жалом), бокорезы и маленькие плоскогубцы, ножницы по металлу для резки текстолита, жидкий канифольно-спиртовый флюс ЛТИ-120 ну и так далее. В общем эта эпопея стоила мне порядка 3000 рублей.

В общем компоненты были куплены и принесены домой. 40-пиновые PLS-колодки были отпилены под нужное число контактов. Один из контактов вынут, с целью обеспечения однозначности соединения. Отверстие в гнездовой колодке, соответствующее вынутому пину заделано полиэтиленом.

4. Сборка устройства на макетной плате и проверка работы

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

Сложнее всего пришлось с микросхемой. Чтобы впаять её на макетную плату пришлось извратится с подпайкой двенадцати ног к медным проводникам. Вышел паук-монстр о двенадцати ногах

В этот момент я понял две вещи: хорошо, что я все-таки купил паяльную станцию. А плохо то, что мне придется изрядно повозится с этой мелкотой. В общем компоненты были запаяны на «макетку», схема собрана с «апелисновой» платой. Питание +5 В взято с «апельсина» - 2-й контакт на двухрядной 40-пиновой штыревой колодке

Для коннекта с устройством использовался терминал putty, который есть и под Linux, и в отличие от minicom имеет цветной вывод и не требует дополнительной настройки на ввод символов в терминал с клавиатуры.

В общем, плата заработала - по экрану терминала побежали строчки лога загрузки: сначала от u-boot а потом и от ядра linux

Надо ли говорить как я обрадовался: во-первых схема работает правильно, а во-вторых - линукс на «апельсине» установлен верно, нормально работает в многопользовательском режиме

Неработающий HDMI-разъем и отсутствие Ethernet-интерфейса, таким образом связано с настройкой самого дистрибутива. Эти проблемы, разумеется будут решены и речь тут не о них. Поэтому перейдем к следующему пункту программы

5. Разводка печатной платы

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

Скажу сразу - не пользуйтесь автоматической разводкой. Возможно это и настраивается, но авторазводка норовила протащить дорожку между ног у конденсаторов, что при расстоянии в 2 мм между ними делает дорожку шириной около четверти миллиметра, что для меня как для «чайника» было слишком круто. Да и интуиция подсказывала, что таких вещей желательно избегать. Поэтому я использовал ручную разводку (опираясь на результаты автоматической), задав в правилах разводки ширину дорог 0,5 мм (Design -> Rules -> Routing -> Width)

Кроме того, по умолчанию Altium полагает, что плата двухслойная. Чтобы заставить его разводить одностороннюю плату в правилах разводки следует указать разводку в одном слое, скажем в Top Layer

Схема была набрана в редакторе схем

При этом надо учитывать тот факт, что свободные неподпаянные входы микросхемы (ноги 8 и 10) следует подтянуть к земле, иначе Altium не скомпилирует схему для передачи её в редактор плат.

В итоге, путем самостоятельных ковыряний в программе и уроков Алексея Сабунина цель была достигнута и плата разведена

Все компоненты с монтажом в отверстия расположились с чистой стороны текстолита, а микросхема, в силу SMD-исполнения - со стороны дорожек. Для вывода разводки схемы на печать необходимо создать в проекте устройства так называемый Output Job File

Который настраивается следующим образом. В списке опций настройки выбираем Documentation Output и щелкаем на Add New Docimentation Outpu, выбирая в появившемся меню PCB Prints и проект платы, касающийся нашего устройства.

Переименовываем появившийся пункт документации, назовем его скажем LUT, по транслитерации технологии (ЛУТ), которую собираемся использовать для перевода рисунка платы на медь. Правой кнопкой мыши щелкаем по LUT и в контекстном меню выбираем Configure. В настройках слоев выводимых на печать оставляем только два пункта: Top Layer и Multi-layer и расставляем галки как показано на скрине

Галка Mirror нужна в частности для зеркального отображения рисунка на печати. Это важно, иначе при переводе рисунка на медь получится зеркальное отражение наших дорожек, а нам это не надо. Кроме того, следует заглянуть в Page Setup

Чтобы выбрать формат бумаги и обратить внимание на масштабный коэффициент (Scale). При первой печати он оказался равен 1,36 почему-то, а должен быть равен единице

Теперь жмем Print. У меня нет своего принтера, поэтому я распечатал в PDF используя Foxit Reader, а затем отнес полученный файл на флешке в ближайшую ко мне «шарашку», в которой распечатал рисунок на глянцевой фотобумаге. В итоге получилось вот это

Размер платы вышел 62 х 39 мм, по этому размеру ножницами по металлу вырезан кусочек текстолита. Раньше я пилил текстолит ножовкой и часто (а точнее всегда) это получалось ужасно. Ножницами же выходит ровненько, без мусора и повреждения токопроводящего слоя.

6. Изготовление печатной платы

Был выбран метод ЛУТ (лазерно-утюжная технология) из-за своей простоты и доступности. Руководством к действию послужила . Старался не нарушать технологию: прошелся по меди нулевкой, обезжирил, правда не ацетоном, ибо не нашел где купить, а универсальным обезжиривателем на основе уайт-спирита, купленным в Lerua Merlin. Тщательно и с усилием прогладил бутерброд из текстолита и рисунка уюгом на максимальной температуре. Или из-за того, что где-то ошибся, или потому что не дал остыть заготовке, или просто в «шарашке» экономят тонер на принтере, в общем вышло не очень

Однако, я благоразумно запасся перманентным маркером Edding 404, которым, не без помощи своей любимой жены (с прокачанным скилом подведения ресниц и рисования узоров на ногтях) обвел все дорожки

Далее был разведен раствор 6-ти водного хлорного железа из расчета около 180 грамм на 300 мл воды (воду набрал из-под крана, горячую) и плата была брошена на съедение в кювету для травления. Чтобы протравить плату и не отравить при этом жену, операцию производил на закате на балконе

«Хлоняк» не подвел, ходят ходят слухи что часто продают некачественный. Травление заняло 13 минут, последние островки меди уходили прямо на глазах. Главное не забывать периодически пинать плату пинцетом по кювете и следить за процессом. Как только лишняя медь исчезнет, достаем плату срочно и промываем обильным потоком воды.

После промывки, протирки и просушки настает момент истины. Надо снять защитное покрытие. Я пытался делать это уайт-спиритом,

Но дело шло туго. Потом жена предложила свою жидкость для снятия лака для ногтей - этот чудо-эликсир смыл покрытие мгновенно (я до сих пор в ужасе от того, какими реактивами пользуются наши женщины. Красота - страшная сила!)

Не подвел и маркер - все дорожки уцелели

После очистки защитного покрытия можно приступать к сверлению отверстий. И вот тут я совершил досадную ошибку - у меня не оказалось сверла на 0,5 мм, и вместо того чтобы отложить дело до завтра, купив нужное сверло, я поторопился и взял миллиметровое, посчитав что оно подойдет. В итоге я повредил многие контактные площадки, к счастью не сильно и не бесповоротно. Но все же никогда не спешите. Как говорил мой знакомый Марк из лаборатории кафедры мехатроники Мюнхенского университета, где я проходил преддипломную практику «Дмитрий, для каждой работы бери подходящий инструмент». И он был тысячу раз прав.

7. Лужение платы и пайка компонентов

Места пайки компонентов должны быть покрыты тонким блестящим слоем припоя. Это основное условие успешности работы. Я не стал лудить дорожки целиком. Во-первых, побоялся покоробить их, а во-вторых всё равно собирался покрывать плату цапон лаком. Так что я облудил лишь места пайки. Для этого кисточкой наносим на них канифольно-спиртовый флюс ЛТИ-120 и паяльником, разогретым до 250-300 градусов, с жала которого свисает крохотная капелька припоя, проводим по нужным точкам платы. За счет увеличения флюсом поверхностного натяжения припой растекается по точно контактным площадкам.

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

Похожим образом я разобрался и с остальными деталями. Главное тут аккуратно обрезать выводы деталей на нужную длину - я оставлял торчать над дорожкой не более миллиметра вывода, и правильно и аккуратно согнуть их, если требуется. Важно, крайне важно никуда не торопиться и делать всё вдумчиво. В итоге получилось то что получилось

От «соплей» уйти не удалось, но для первого раза вышло довольно сносно, хоть меня, вероятно и раскритикуют.

8. Проверка цепей и ещё одна досадная ошибка

После пайки смываем весь флюс спиртом, берем в руки мультиметр и звоним все цепи, с целью проверки их проводимости и соответствия принципиальной схеме. И вот тут бяка подкралась незаметно. Разъем COM-порта оказался распаяна зеркально! «Земля» сидела на первой ноге вместо пятой, Rx - на четвертой вместо второй. И я до сих пор не пойму как, ведь при разводке в Altium всё было верно. Это осталось для меня загадкой. Никакой загадки - просто имея по факту разъем «маму», при формировании схемы в Altium всё равно использовал «папу». Отсюда и зеркальная распайка, получившаяся в итоге. К счастью я решил эту проблему соответствующей распайкой кабеля, предназначенного для подключения девайса в COM-порту компьютера. Но из-за этой ошибки COM на плате оказался таким вот «проприетарным».

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

По окну терминала снова побежали строки лога загрузки. Я был счастлив!

9. Наводим «красоту»

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

Теперь можно приступить к дальнейшей доводке ПО для «апельсина». Теперь я не буду слеп и нем, а смогу налаживать систему через последовательный терминал.

Заключение

Это было интересно. Интересно для меня, потому что впервые. Первое устройство спроектированное на компьютере и собранное на печатной плате своими руками. И если кто-то иронично усмехнется, то пусть вспомнит, что он тоже когда-то делал это впервые…

Спасибо всем за внимание, уделенное моей писанине!

Ремонт любой сложной электронной техники, в настоящее время можно условно разделить на два варианта: либо программный ремонт, “софтовый”, либо ремонт аппаратный, на уровне “железа”. Если первый подразумевает собой просто настройку аппарата, которую способен выполнить любой пользователь знакомый с техникой, в случае если по каким-либо причинам его настройки сбились в процессе эксплуатации.

Ремонт аппаратный - это чаще всего пайка, замена определенных радиодеталей которые вышли из строя по различным причинам. Будь то перегрев, например из-за набившейся пыли в корпусе устройства, и как следствие худшая теплоотдача, или же попадание влаги и в результате короткое замыкание. Либо то-же самое, любимое всеми мастерами КЗ устроенное на плате поселившимися насекомыми в корпусе устройства), а следы их деятельности, на платах, встречаются нередко.

Но существует и третий вид ремонта, обычно применительно к цифровой технике, в котором эти два вида ремонта бывают совмещены - это перепрошивка устройства. И если смартфон или планшет мы можем перепрошить просто подключив его к компьютеру по USB кабелю, то например, с роутером, материнской платой или видеокартой такой способ не пройдет. Все они содержат в своем составе Flash память, специальную микросхему, обычно 24 или 25 серии, в которой и хранится наша прошивка.

Микросхема памяти 25 серия

С материнскими платами и видеокартами обычно все просто - нужен программатор Flash и EEPROM памяти, например простой и дешевый CH341A о котором и пойдет речь, как одном из вариантов для решения нашей проблемы. Также для прошивания памяти без выпаивания будет нужна специальная клипса, для прошивания микросхем в корпусе SO-8 или SO-16. У меня есть обе клипсы в моей домашней мастерской.

Клипса для прошивания SO-8

Первая из них, для микросхем в корпусе SO-8, обычно бывает нужна во много раз чаще, чем вторая, для микросхем в корпусе SO-16. Которая пригодилась мне всего один раз для перепрошивки роутера Zyxel, они же, к слову сказать, так как считают себя известным брендом, оригинальничают и ставят иногда микросхемы в подобных корпусах SO-16, и хорошо еще если не микросхемы 29 серии, кто в теме - тот сразу поймет.

Разъем клипсы SO-16

Дело в том, что для того чтобы прошить микросхему 29 серии, нам необходим намного более дорогой программатор - MiniPro TL866A, который у меня также есть, но нет ни переходника с корпуса Dip на данный корпус, который имеет очень частое расположение ножек, и по сравнению с пайкой которого паять микросхему в SMD корпусе, те же SO-8 или SO-16 - детская забава. Так вот, мне на ремонт достался как раз роутер Zyxel с микросхемой 29 серии. В первый раз когда я ремонтировал предыдущий роутер Zyxel, микросхема была последовательной памяти, 25 серия, пусть и в корпусе SO-16. Тогда, как вы понимаете, выполнить ремонт было в разы проще.

Микросхема памяти 29 серии

Так как же все-таки мы можем восстановить роутер, если нам “повезло” и у нас стоит именно такая микросхема 29 серии? Производители роутеров, в данном случае, предусматривают аварийное перепрошивание через TFTP сервер. Но проблема в том, что иногда у нас бывает затерт загрузочный раздел в памяти микросхемы, который называется U-Boot. В таком случае вам подойдет вариант прошивки памяти роутера по определенным адресам, которые вы должны будете найти самостоятельно на специализированных форумах по перепрошивке роутеров. Но обычно все бывает намного проще - прошивка сбилась, данные необходимые для работы роутера в штатном режиме потеряны, но загрузочная область и калибровочная область целы. В Таком случае будет нужен простой и дешевый адаптер USB-TTL, стоимость которого на Али экспресс составляет всего порядка 40 рублей.

Адаптер USB-TTL

Также подойдет адаптер на микросхеме CH340A, который используется для заливки скетчей в плату Ардуино Pro mini, которая не имеет распаянного на плате загрузчика CH340A. Так-же подойдут адаптеры на базе pl2303, либо программатор Flash и EEPROM памяти CH341A, про который уже писал выше, и который может после перестановки перемычки работать в режиме USB-UART адаптера.

Программатор Flash и EEPROM памяти + USB-TTL

В крайнем случае можно будет воспользоваться кабелем для прошивания от старого мобильного телефона, также содержащим конвертер USB-COM, только нужно будет обязательно согласовать уровни по питанию. Питание с адаптера необходимо брать строго 3.3 вольта, никаких 5 вольт, которые он может выдавать, с определенного пина. Итак, допустим у нас есть этот адаптер, (вернее любой из перечисленных выше), мы установили для него драйвер, зашли в диспетчер устройств в Windows и определили, какому номеру СОМ порта соответствует наш адаптер. А данный адаптер это и есть не что иное, как виртуальный СОМ порт в вашей системе.

Ищем номер СОМ порта

Затем нам нужна какая-либо программа - терминал, в которой с помощью консольных команд, мы и будем восстанавливать наш роутер перепрошивая его. Но перепрошивать роутер мы будем не через данный адаптер, адаптер используется только для управления процессом прошивки. Как же в данном случае мы прошьем роутер? Существуют, конечно, варианты прошивки роутера через его процессор ARM по интерфейсу JTAG, и у меня есть и этот программатор, приобретенный на Али экспресс - это программатор Wiggler, подключаемый по LPT интерфейсу, но попробовав разобраться с ним решил, что способ перепрошивки с помощью TFTP сервера намного проще.

Программатор JTAG Wiggler

Разберем подробнее данный, более простой вариант, для которого JTAG программатор не нужен, это перепрошивка, как уже писал выше, через TFTP сервер. Для этого нам потребуется, подключить наш адаптер USB-UART к 4 пинам на плате роутера. Правда иногда бывает так, что производитель контактные площадки и дорожки развел, а сами пины не впаял. В таком случае можно самостоятельно впаять гребенку состоящую из 4 пинов, приобретенную в радиомагазине либо выпаянную с донорской материнской платы или какого другого устройства.

Подключение USB-TTL

Эти пины в принципе можно даже не впаивать если нет возможности, а просто аккуратно подпаяться к пятакам на плате, контактным площадкам, куда должны были быть впаяны эти пины. Для этой цели очень удобен тонкий провод МГТФ. Итак, мы подключили адаптер к компьютеру, установили драйвер, обеспечили необходимое нам надежное соединение с этими 3 из 4 пинов на плате.

Джамперы Ардуино для адаптера

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

Соединение адаптера и роутера - схема

Земли устройств, соединяемых между собой при перепрошивании, нужно объединять, поэтому землю, пин GND, подсоединить нужно будет обязательно. А вот оставшиеся два пина, RX и TX, нужно подсоединить “перекрестив” их между собой, то есть RX соединить с TX, а TX, с RX. Итак, мы подключили все правильно, затем нам нужно правильно настроить терминал, я предпочитаю пользоваться Putty, для того чтобы иметь возможность управлять нашим роутером через консоль, и соответственно залить в него новую прошивку.

Настройка Putty

Значит мы выбираем в настройках Putty порт Serial, последовательный порт, или СОМ порт, затем устанавливаем нужный номер СОМ порта, который мы предварительно посмотрели в диспетчере устройств. После этого нужно настроить скорость СОМ порта, обычно это 57600, реже 115200 бод. И наконец, убедившись еще раз, что все соединено правильно, ничего на плате не “коротит”, не будет замкнуто, в процессе перепрошивки, мы войдя заранее в настроенную консоль и подаем питания на роутер от родного блока питания.

Кракозябры в терминале

Если у вас на экране, побежали “кракозябры”, значит вы неправильно настроили скорость СОМ порта и нужно либо почитать какая скорость должна быть установлена для вашей модели роутера, либо подобрать ее экспериментально до пропадания “кракозябров” и появления обычного текста. Затем нужно будет нажать, сразу после включения питания роутера, поймав нужный момент, что бывает не так просто, определенную комбинацию клавиш, либо tpl, для роутеров TP-Link, либо цифры 4, вход в консоль, либо цифру 2, для роутеров Zyxel, запуск перепрошивки с TFTP сервера.

Интерфейс TFTP сервера

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

Меняем настройки сетевого подключения

Сама прошивка должна быть обязательно без Boota, то есть когда мы шьем прошивку прицепившись клипсой, через программатор 25 серии SPI, нам необходим Фуллфлеш, или иначе говоря прошивка с загрузчиком, в данном случае прошивка должна быть стандартная, без загрузчика, какую обычно предоставляет производитель, на своем сайте. Имя файла прошивки лучше сделать попроще, например 123.bin, его будет нужно ввести в консоли, при запуске процесса перепрошивания.

Прерываем загрузку

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

Объяснение процесса прошивания получилось конечно объемное, но сам процесс для человека выполнившего его хотя бы пару раз, становится довольно простым делом. А учитывая, что роутеры это техника, которая долго не живет, особенно в период, когда проходят грозы, в мае - июне, думаю данная статья будет полезна новичкам желающим сэкономить средства на покупке нового роутера. Всем удачных ремонтов! Специально для сайта Радиосхемы - AKV.

Обсудить статью КОНВЕРТЕР USB-UART: ПЕРЕПРОШИВКА АДАПТЕРОМ

Небольшого размера адаптер USB TTL PL 2303 является неким программатором, используемым с платой для считывания информации с различных датчиков:

  • влажности;
  • температуры;
  • движения.

Этим и обусловлено широкое использование адаптер USB TTL PL2303 в радиоуправляемых устройствах. Программируется TTL USB адаптер на С++, т.е. USB TTL адаптер является «универсальной шиной» при передаче данных, используемой в технике вычислительной низкой и средней скорости.

Чтобы ее подключить к USB RS232 TTL адаптеру необходим четырехпроводной кабель. Одна витая пара нужны для дифференциального подключения при приеме и передаче (RX и TX), а оставшиеся — для подачи питания устройствам периферийным (GND и +5V).

При условии, что наибольшая сила тока таких устройств не превышает 500мА, а у USB – 900мА), подключаются они без своего источника питания.

При том, что для TTL логики 0-5 В имеются стандартные уровни, вроде USB адаптер TTL и не нужен.

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

В помощь можно взят иной протокол — УАПП (UART), на сегодня являющийся наиболее распространенным. Среди семейства из множества протоколов, используемым чаще других считается RS-232, в быту именуемый портом COM. Он самый старый из всех, но и сегодня актуальный.

Он имеет линии:

  • передающая — TXD;
  • принимающая — RXD.

Если используют их, передавая данные, то в аппаратном управлении нет необходимости. Для аппаратного используют DTS и RTS.

Выход передатчика соединяют со входом приемника и наоборот.

RS-232 от логики (5-вольтовой) стандартной разнится электрическим принципом действия. В этом варианте «0» лежит в диапазоне +3 до +12 В, соответственно единица — в пределах от -3 до -12.

Вывод. Назначение адаптеров UART USB TTL состоит в «стыковке» сложнейшего интерфейса

USB с простым и «ходовым» протоколом UART, поддерживаемом микроконтроллерами, и работе с уровнями логики 0-5В.

Адаптер USB RS232 TTL Pl 2303 собирается на PL2303 микросхеме, создающей на ПК виртуальный СОМ-порт. Применяют для прошивки устройств с микроконтроллерами.

Его стоимость на составляет 40,84 рубля.

Чтобы доставить в Украину заплатить дополнительно нужно 149,74 руб.

Основные характеристики PL2303 USB для TTL модуль адаптер конвертер:

  • тип напряжения – регулярное;
  • питание – 3,3/5 V;
  • назначение- для компьютера;
  • температурный диапазон — -40 TO +85;
  • производитель – Diymore.

USB 3.3 В 5.5 В для TTL адаптер мини-порт

Обзор

  • Размер – 36х17,5 мм (ДхШ);
  • Контакты: GND, CTS, VCC, TXD, DTR, RXD, RXD;
  • Чипсет FT232RL;
  • Поддерживает – 5В, 3,3 В;
  • Шаг – 2,54 мм.

Отличного качества модули стоимостью 100,24 руб . предлагается интернет-магазином https://ru.aliexpress.com/popular/ttl-adapter.html .

Для обнаружения авто с помощью GPS адаптер USB TTL PL2303 HX конвертер RS232

Его стоимость составляет 42,7 рублей .

К особенностям относятся:

  • антистатическую упаковку, не допускающую накопления статэлектричества,
  • негативно отражающегося на работе;
  • высокую надежность, стабильность;
  • поддержку WIN7.

Используется продукт, весящий 5 граммов (без упаковки) в студенческих экспериментах производстве и т.д. Его размер – 50Х15Х7 мм. У конвертеров модели USB PL2303 — RS232

TL есть пара интерфейсов, служащих для подключения (пятиконтактный штыревой) и ПК (USB стандартный).

FT232RL USB 3.3 В 5.5 В для TTL мини-порт

Стоимость его 106, 43 рубля . Это недорогой вариант увеличить возможность USB микроконтроллерам. Для защиты самовосстанавливающийся предохранитель 500ma, чтобы защититься от перезагрузок по току.

Характеристики

  • цвет – красный;
  • питание USB- 5 или 3,3 В;
  • вес – 4 грамма;
  • габариты — 43х17 мм.

Малый размер дает возможность использовать его в разработках, где критичным является размер гаджета.

USB в TTL для UART на чипе PL2303

Используется при Arduino программировании.

Конвертер на микросхеме Max3232 преобразует сигналы RS-232 порта в пригодные к использованию в цифровых схемах на основании TTL-технологий.

Стоит 76,11 рублей.

CP2102 USB 2.0 для TTL UART 6Pin

Состоит из платы CP2102, USB2.0 full-speed встроенного, генератора кварцевого, шины данных UART и поддерживает сигналы, не требуя внешнего USB модема.

  • Весит 4 грамма;
  • Индикаторы светодиодные на: питании, передаче и приеме;
  • Статус рабочий– 3,3 и 5 В.

Стоит 82, 3 рубля.