Usb uart какой лучше. Конвертер usb-uart: перепрошивка адаптером. Выбор схемы устройства и его компьютерное моделирование

💖 Нравится? Поделись с друзьями ссылкой

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

Как Вы знаете, существует множество интерфейсов, посредством которых микроконтроллер может общаться с внешним миром. Но если речь идет о связи с компьютером - вне конкуренции интерфейс RS-232 (COM порт). Причина - простота работы с портом со стороны компьютера и наличие большого количества программ для этого предназначенных. Кроме того, почти в каждом микроконтроллере есть аппаратно поддерживаемый интерфейс USART (это тот-же RS-232, только с напряжениями 0 - 5v), что делает процесс связи легко реализуемым.
Для того, чтобы привести уровни сигнала микроконтроллерного USART к уровням COM порта компьютера нужно собрать несложный преобразователь (например, на МАХ232), но можно пойти по более интересному пути
Более интересный путь - собрать преобразователь UART to USB. При этом USB порт воспринимается компьютером как виртуальный COM порт. В этом случае мы убиваем сразу несколько зайцев:
- USB порт есть в любом компьютере (хотя COM порт встречается еще довольно часто, но на ноутбуках его уже нет);
- как оказалось преобразователь UART to COM(RS-232) сделать гораздо сложнее, чем UART to USB (два раза делал программатор для СОМ порта с преобразователем МАХ232 - оба раза неудачно);
- если подключать преобразователь через USB хаб, то мы получаем сразу несколько виртуальных COM портов на одном USB, плюс безопасность для компьютера, так как хаб выступает в роли буфера.

Вот схема преобразователя UART to USB.

Сразу честно признаюсь - это не мое устройство. Взята данная схема с сайта www.recursion.jp/avrcdc/ . Причина, по которой я ее здесь привожу - это простота схемы и дешевизна изготовления. Собрать схему довольно просто (можно даже на макете).

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

Печатная плата двухсторонняя, подходит для микроконтроллеров ATmega8/48/88/168

Фьюзы для ATmega8

Фьюзы для ATmega48/88/168

Фьюзы для CodeVisionAVR, PonyProg ставятся инверсно

SPI интерфейс для программатора выведен вместе со всеми интерфейсами сзади «флешки» - подключаем программатор прямо там. Штырек сброса паяем возле ножки сброса (чтоб не мешал). При программировании преобразователь нужно запитать напряжением 5v со стороны интерфейсов. Через USB нежелательно, так как напряжение питания через светодиод уменьшится. Если возникают проблемы по причине больших шумов - вешаем подтягивающий к питанию резистор на ножку сброса (5-10кОм). Наличие светодиода обязательно - он используется в качестве регулятора напряжения. Прошивка предусматривает работу управляющих линий (CTS, RTS, DTR), но для UART они не нужны и я их не выводил на разъем интерфейсов. Если они Вам нужны - просто нужно «кинуть» перемычки с ножек микроконтроллера на ножки разъема интерфейсов.


После того как устройство собрано,
необходимо установить драйвер виртуального COM порта.


/raw — для (Windows 2000/XP)


Делается это очень просто:

1 Вставляем «флешку-преобразователь» в USB порт;

2 Получаем в трее сообщение о том, что найдено новое устройство;

3 Запустится «Мастер нового оборудования», выбираем «Установка из указанного места», жмем «Далее»;

4 Выбираем «Включить следующее место для поиска» и в окошке указываем нужный путь к драйверу;
5 Жмем «Далее», драйвер установится, жмем «Готово»

Теперь в «Свойствах» «моего компьютера» в закладке «Оборудование» нажимаем кнопку «Диспетчер устройств». В окошке диспетчера устройств в разделе «Порты (COM и LPT)» увидим новое устройство - «Virtual Communications Port (COM5)».


Для каждого USB порта будет назначен свой виртуальный COM порт (COM5, COM6, COM7 и т.д.).

Готово! Теперь можно пользоваться преобразователем.

Проверим работоспособность преобразователя, для этого нужно закоротить вход с выходом (RxD, TxD) и посылать с компьютера сообщения по виртуальному порту. Посланные сообщения должны возвращаться как принятые.

На нужные штырьки цепляем «джампер»-перемычку. Запускаем программу для работы с COM портом. Можно использовать стандартный виндовский гипертерминал, но мне больше нравиться другая программка - маленькая, портативная и функциональная.

Запускаем программу, устанавливаем нужный порт (смотрим номер порта в диспетчере устройств), скорость и другие параметры оставляем как есть, нажимаем «Connect», в окошке возле кнопки «->Send», пишем сообщение, нажимаем »->Send» и сморим результат. Нижнее окно - отправленное сообщение, большое окно - принятое сообщения. Если все работает - сообщения будут одинаковыми.

Данная «флешка - преобразователь интерфейсов» позже превратится в I2C toUSB, SPI to USB, SPI to UART и т.д. необходимо лишь перепрошивать ее необходимой прошивкой. (Что-то я у себя начинаю замечать тягу к универсализации:)).

P.S. Сайт-источник рекомендует для согласования уровней напряжения преобразователя(3.3v) и устройства(5v) соединять их через схему согласования. Но я думаю резисторов в пределах полукилоома в линиях RxD, TxD должно хватить для согласования - нужно попробовать.

P.P.S. Это первая практическая схема в блоге - дальше их будет больше, так как с основами мы, вроде-бы, разобрались (еще остались кой-какие вопросы - потихоньку буду писать).

программа для работы с COM портом.

В архиве есть папки для разных Win:
/raw — для (Windows 2000/XP)
/w2k — для Windows 2000 (bulk mode only)
/xpvista7 — для Windows XP/Vista/7 x32
/vista64 — для Windows Vista x64

Как следует из названия данный прибор организует мост между компьютером через USB порт и вашим устройством по Serial протоколу. Можно сказать что он является USB COM портом для логики TTL (уровни 1.8v-5v).

С помощью данного прибор можно программировать различные микроконтроллеры, получать информацию на компьютер со прибора по serial порту. Кроме этого применений ему масса:

    управление устройством

    отладка программы

    передача небольших объёмов данных

    прошивка различных приборов -разработчики часто делают выход serial для возможности перепрошивки своего устройства

    прошивка микроконтроллеров - многие микроконтроллеры имеют Bootloader (специальная программа для загрузки прошивки по serial) загруженный на заводе, и для загрузки прошивки не нужен специальный программатор - достаточно данного устройства.

Нам он будет необходим в первую очередь для прошивки ST-Link. Ну и собственно так как тут нечего программировать - прибор состоит из одной микросхемы - то на этом приборе мы поучимся паять и работать в Kicad. В этой статье подробно рассмотрим как трассировать печатную плату вручную.

Как сделать USB UART адаптер

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

4. Скачать необходимые файлы по данному прибору с github .

5. Изготовить плату для прибора самостоятельно (это совсем несложно, в нашей инструкции все подробно описано).

6. Приобрести все необходимые комплектующие в виде готового радиоконструктора можно в нашем магазине.

7. Запаять все компоненты на плату, смотри наше видео .

ПРИБОР ГОТОВ , можно пользоваться!

Как работает USB UART адаптер

Для реализации данного моста обычно используется специализированная микросхема, которая с одной стороны имеет usb выход, а с другой - serial выход. Обычно эти микросхемы имеют драйвера для Windows \ Linux и определяются системой как COM - порт. Дальше используется специальная программа для работы через COM порт. Это может быть и программа прошивки микроконтроллера или программа для получения данных от прибора и т. д.

Выбираем микросхему для прибора

По сути данное устройство будет состоять из разъемов, микросхемы и минимальной ее обвязки. Так что, у нас не будет никакого функционального ТЗ в данном случае. Основной критерий по которому мы будем выбирать микросхему - удобство пайки, цена.

Итак, самые распространённые микросхемы для данного девайса:

    cp2102 (cp2103) - дешевая отличная микросхема, но имеет корпус QFN28 - то есть безвыводный корпус - паять такую в самом начале пути не очень легко - поэтому мы ее не будем использовать

    pl2303 - отличная микросхемы фирмы Prolific - существует очень много вариантов этой микросхемы (в том числе китайские подделки). У нее корпус TSOP28 - отлично подходит для пайки. И старые модификации стоят недорого и отлично работают. Мы будем использовать ее - модификацiия pl2303TA - самый недорогой вариант. Есть модификация Rev. D которая не требует внешний кварц - но она стоит в 2 раза дороже.

    CH340 - китайский вариант (оригинал) моста - микросхема хорошая - но ее трудно купить где-либо кроме как в Китае.

    FT232R - микросхема от FTDI - отлично подходит и работает - но стоит почти в 2 раза дороже. Ее плюс также в том что не требуется внешний кварц.

Несколько слов о том как подобрать микросхему для своего проекта. Есть очень простой путь. Сначала необходимо найти одну микросхему которая подходит под данную задачу. Набираем в интернете - USB - serial chip и сразу находим - FT232R. Отлично. Далее идет на сайт крупного поставщика микросхем - например - mouser.com. Там в поиске набираем - FT232R. И в разделе интегральных схем видим нашу микросхему.

Самое главное для нас здесь - ЭТО КАТЕГОРИЯ в которую входит микросхема. Здесь это «ИС интерфейс USB». Также смотрим тип «Bridge, USB to UART». Идем в эту категорию и смотрим какие бывают микросхемы. Далее проверяем по datasheets подходит ли она нам.

Итак, наш выбор PL2303TA.

Составляем схему на базе PL2303

Любая схема должна начинаться с чтения Datasheet. Производитель микросхем очень заинтересован в том, чтобы купили именно его чип. В документации он обычно максимально подробно разбираем как пользоваться микросхемой, прикладывает схемы и пишет тонкости и особенности реализации прибора на этом чипе. Посмотрим что советует нам производитель (из документации на чип pl2303HXD):


тут приведена полная схема с трансивером (преобразователь уровня до 9v) для получения полного COM порта. Нам эта часть не нужна. Также схема не содержит кварца, а нам он необходим. Дополнительно можно отметить, что еще не хватает светодидов для сигнализации процесса обмена данными. В итоге поискав различные варианты схемы на данной микросхеме (pl2303 schematic) нашли самую простую схему со светодиодами и кварцев - ее и возьмем.


По сути на этой схеме сокращена обвязка USB порта (убраны высокочастотные фильтры L1 L2), убран трансивер. В остальном схема совпадает. Мы же дополнительно ещё добавим разводку всех сигнальных выводов DTR и т. д. - они могут быть полезны. Также следует отметить, что на вывод согласования уровней в нашей версии чипа нельзя подавать 5v, поэтому на разъеме уберем подальше этот вывод. Сам вывод для согласования уровней оставим - вдруг необходимо будет пользоваться UART на 1.8v. Таким образом, по умолчанию у нас будет стоять джампер соединяющий вывод 4 и 3.3v и на выходе всех сигналов UART у нас будет 3.3v. Данного напряжения уверенно хватает для определения логической 1 в 5v схеме, согласно datasheet все сигнальные ножки толерантны 5v (то есть на них можно подавать 5v смело). Так что при таком подключении схема будет работать с напряжением от 3.3в до 5в. Дополнительно оставим выводы 5v и 3.3v для питания например прошиваемого контроллера. Имейте ввиду, что без внешнего EEPROM usb порт будет отдавать только 100ma! Соответственно питать что-то существенное не получится.

С точки зрения чертежа схемы в Kicad никих особенностей нет. Проще не чертить соединения проводами, а использовать метки, тем более это будет удобно в дальнейшем при трассировке платы. В итоге получается такая схема (проект в Kicad можно скачать в конце статьи):

Разрабатываем плату в Kicad

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

Прежде чем разрабатывать плату необходимо определится какие у нас будут использоваться разъемы и определить посадочные места. Мы будем делать плату переходник которая втыкается в usb порт и на конце имеет угловые разъемы PIN 2.54mm - это самый распространяенный формат. На конечный разъем мы выведем только наиболее нужные выводы - остальное просто разведем на плате и оставим как дырки на будущее. Основные выводы: RX, TX, 5V, 3.3v, DTR (часто используется как reset схемы микроконтроллера при прошивке). Остальные выводы разведем в самом конце.

Итак, начинаем трассировку платы. В схеме формируем список цепей - Инструменты - сформировать список цепей. Переключаемся в плату и по кнопке Инструменты-Список Цепей - прочитать текущий список цепей. Загружаем все посадочные места в плату. Далее размещаем все посадочные места в авторежиме. Получаем такой набор компонентов.


На данном этапе лучше скрыть лишнюю информацию. Убираем отображение слоев Связи, Скрытый текст, Значения, Обозначения.

Далее начинаем располагаем на будущей плате основные компоненты - разъемы и чип. Так чтобы выводы чипа располагались согласно подключению разъемов. Особенно важно в этом случае чтобы выводы подключения USB были напротив разъема. Наводим мышку на нужный компонент - жмем M - и переносим его чуть ниже на пустое место - формируем будущую плату. Так как плата у нас двух стороняя - то надо сразу определить нужную сторону компонент. Самый просто вариант - все DIP элементы (под которые надо сверлить сквозные отверстия) располагаем с обратной стороны, а все smd элементы с основной стороны - так проще будет подводить дорожки. Для смены стороны используем кнопку F. Так как Kicad умеет подсвечивать связи при переносе элемента, то очень удобно все резисторы связанные с разъемами размещать сразу. Это позволит быстро увидеть связи при переносе микросхемы. Итак, размещаем USB разъем, потом резисторы с ним связанные на сигнальных линиях и потом разъем на другом краю платы:


дальше размещаем чип - так чтобы было как можно меньше пересечений.


После этого размещаем кондецаторы по цепям питания - они должны быть как можно ближе к выводам питания.

После этого соединяем дорожками обязательные выводы - это usb сигнальные - кварц, кондецаторы по питанию. Прикидываем линии питания. Если что-то не удобно - то компоненты двигаем - переносим.

Например кондецатор C3 удобнее перенести вниз чтобы не делать переходное отверстие. Конечно это не очень хорошо - но в данном случае дорожка будет очень небольшая.

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


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

Осталось выводы на разъеме расположить в порядке следования выходов чипа. И финально все соединить. На этом этапе плату можно сделать более компактной. Финальный вариант который получился. Можно сделать еще лучше.. но вариант удовлетворительный.

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

Как пользоваться USB UART конвертером

Для пользования данных приборов в Windows необходимо установить драйвера. Свежие драйвера можно взять на сайте производителя . Если они не подходят, то можно установить более старые драйвера 1.15 - который можно найти в интернет.

После установки драйверов устройство должно определиться как COM порт.

Для Windows самая лучшая программа для работы с COM портом - это Terminal 1.9b (приложена к статье)

Для тестирования нашего устройства необходимо проводами соединить выходы TX - RX. В этом случае мы получим режим эхо - все что будет передано в порт должно тут же возвращаться назад. Скорость при это может быть любая.

Работать с программой очень просто - выбираем порт - можно автоматически по кнопке ReScan или вручную. Задаем скорость и параметры порта. Далее в окне видим все что пришло по терминалу, а в строке SEND можно передать любую информацию. Чтобы передать спецсимволы необходимо использовать запись виды «$1a» в шестнадцетиричном формате.

Для linux устройство должно определится само (драйвера входят в ядро). Неплохая программа - minicom.

Для понимая остальных сигналов данного устройства - DTR, DSR и другие - вот тут есть очень хорошая .

Как собирать прибор

Собираем прибор по общим правилам описанным в нашей статье .

Для более быстрой сборки, вы можете приобрести полный набор для пайки, радиоконструтор USB UART адаптер в нашем магазине .

Самостоятельная работа

Попробуйте осуществить трассировку самостоятельно не подглядывая в данную статью.

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

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

Но существует и третий вид ремонта, обычно применительно к цифровой технике, в котором эти два вида ремонта бывают совмещены - это перепрошивка устройства. И если смартфон или планшет мы можем перепрошить просто подключив его к компьютеру по 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: ПЕРЕПРОШИВКА АДАПТЕРОМ

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


UPD:

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

Обзор конвертера USB - UART TTL на CP2102

Зачем он нужен

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

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

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

Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых

Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.

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

Тех, кого заинтересовал, пожалуйста под кат

Заказал я на премию за обзор много всякой мелочевки у на Ebay и в том числе за $1.79

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

Обычный желтый пакет. Внутри платки в запаянных прозрачных пакетиках. Все как обычно.

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

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

  • Чип CP2102 от
  • Скорость обмена данными по 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/UART



Перед использованием платы необходимо установить

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


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

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

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

Для начала скачиваем и запускаем "> (мне для запуска утилиты потребовалось еще скачать 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. Защита конфигурационных данных.

При изменение VID и PID необходима обязательная пересборка драйверов, так как стандартный драйвер настроен на VID и PID Silicon Labs

И после нехитрого мастера-диалога получаем дистрибутив драйверов с требуемым набором VID и PID и желаемым названием в системе

Итог

Данная плата одна из самых дешевых конвертеров USB/UART не использующих поддельные чипы.
Имеет вывод DTR, позволяющий автоматически посылать RESET для загрузки ПО в контроллер
Позволяет настраивать VID, PID и драйвера под свои проекты
К покупке рекомендую
Рассказать друзьям