Домой Розы Usb uart какой лучше. Конвертер usb-uart: перепрошивка адаптером. Изготовление печатной платы

Usb uart какой лучше. Конвертер usb-uart: перепрошивка адаптером. Изготовление печатной платы

Большинство устройств блога сайт работает с UART . И это закономерно — UART очень простой и не требовательный протокол. С ним легко работать как со стороны микроконтроллера, так и со стороны PC. Но есть один минус в использовании UART. Подавляющее большинство микроконтроллеров имеют UART у себя «на борту», а вот с PC ситуация немного хуже. Интерфейс UART является родным для COM порта (в варианте RS232), но в силу растущих требований к периферии компьютера, COM порт начинает себя изживать. Это происходит по причине малой скорости, невозможности расширения и т.д. В ноутбуках он уже давно пропал, как класс портов. Идет очередь стационарных компьютеров…
Но не все так плохо. Есть выход из положения! Многие производители разработали и выпускают микросхемы-преобразователи (мосты) USB – UART. Принцип их работы такой. На PC ставиться специальный драйвер, который создает виртуальный COM порт в системе. Для программ PC этот порт ни чем не отличается от обычного COM порта – подмены они «не замечают». Любые сообщения в этот виртуальный порт преобразовываются в посылки USB протокола. Подключенная к USB порту микросхема-преобразователь принимает эти посылки и формирует сигналы UART. Из популярных и доступных микросхем можно назвать FT232 и PL-2303 (а еще есть OTI006858 и CP2102).

Теперь переходим поближе к теме вопроса.
Итак, мы поняли, что нам нужен преобразователь USB – UART. Заиметь его можно несколькими способами:
1 Купить нужную микросхему и спаять устройство самому. Если Вы собираете какое либо устройство, будет удобно если преобразователь будет интегрирован в устройство. Если погуглить, то найдется много схем таких преобразователей – вытравить плату и собрать преобразователь не будет проблемой.
2 Купить уже готовый преобразователь. Тоже не плохой вариант. Таких устройств в продаже хватает с избытком. В разном форм-факторе, в разной цене – выбирайте на любой вкус!
3 Есть еще вариант – альтернативный. Согласен – он не всегда может быть приемлем, но все-таки… Можно «позаимствовать» преобразователь с другого устройства.

В этой статье я предлагаю использовать в качестве преобразователя USB — UART шнурок для мобильного телефона (Data Cable ). Почему именно шнурок для мобильного? Сейчас объясню.
Некоторое время назад для связи мобильного телефона с компьютером очень широко использовался UART протокол. Причины широкого распространения понятны – производителям нужен был дешевый и распространенный канал связи с PC. Им мог стать или COM порт, или USB. На то время работать с USB было дорого и не выгодно – победил COM. Мобильные телефоны выдавали «во вне» UART сигнал, а шнурки Data Cable преобразовывали его для COM или USB порта. В наше время электроника шагнула далеко вперед и USB в микропроцессорах мобильных телефонов стали обязательны. Шнурки для современных телефонов заменяются обычными USB удлинителями.
И вот мы подбираемся к самой интересной части. Телефоны появляются новые, старые шнурки-преобразователи становятся никому не нужными, а значит, продавцы стремятся за любые деньги от них избавиться. Цены на эти старые залежалые шнурки становятся просто смешными. Вот и мне попались на глаза эти коробочки со шнурками за такие деньги, что я не удержался и купил два. Сейчас расскажу, что нужно делать, чтобы сделать из такого шнурка полноценный преобразователь USB UART .

Для начала, нужно купить этот самый шнурок.

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

Вот упаковочная коробка и ее содержимое.

В комплект входит сам шнур и диск с драйверами. Диск сразу можно выбросить – там такой сборник мусора, что найти что-то нужное проблематично. Берем сам шнурок .

Теперь внимательней рассмотрим плату преобразователя.



В результате рассмотрения обнаруживаем микросхему Prolific PL-2303HX .

В 90% случаев в подобных шнурках мы увидим именно эту микросхему. Причина – ее дешевизна. Более того, эта микросхема будет стоять и в большинстве преобразователей USB – UART, которые Вы купите в магазине. Очень редко встретите FT232, так как она дороже и в дешевых китайских шнурках ее нет (разве что шнур какой-то фирменный попадется). Если Вам попался FT232RL – считайте повезло, на таком шнурке можно и программатор забабахать (FT232RL может работать в битбанг режиме).

Обратите внимание! Можно на плате найти клон Prolific. Такой, например, стоял во втором, из купленных мною шнурков.

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

Теперь идем на сайт Prolific и скачиваем даташит на микросхему
- Преобразователь USB-UART Prolific

В даташите находим распиновку и смотрим, на каких ножках нужные нам сигналы UART:
— Передатчик TXD – 1 ;
— Приемник RXD – 5 .

Находим соответствующие ножки на микросхеме.

Далее при помощи обычного тестера находим ближайшие контактные площадки, к которым можно подпаять провода. К ножкам не подпаяешся – они мелкие. Еще нам нужна «земля» — тут все просто, большие полигоны ею и будут. Подпаиваем к соответствующим площадкам провода.
На другой конец шнура цепляем удобный разъем.

Все началось с того, что мне надо было подключиться к одному устройству по USART. Я сразу взял адаптер USB to UASRT (ибо в ноутбуке COM порт не предусмотрен) на AtTiny2313 (рекламой заниматься не буду, схема легко находится в интернете), подключил, запустил и внезапно понял, что у адаптера фиксированная скорость 9600, а у девайса, к которому требовалось подключиться, скорость 57600. Дело, естественно, было поздним вечером, и купить что-нибудь вроде FT232 возможности не было. Поэтому после непродолжительного раздумья, было решено изменить скорость UASRT в адаптере обычной перепрошивкой. В итоге соединение было успешно налажено. Но согласитесь - это ведь не выход, программатора может под рукой не оказаться, да и неудобно каждый раз с прошивкой шаманить. В следствие этого я серьезно задумался о создании нормального адаптера, с регулируемой скоростью (и не только).

Конечно, самый простой вариант – купить FT232, но сравнив ее стоимость со стоимостью Mega8, я пришел к выводу, что этот вариант мне не подходит. Поэтому было решено сделать адаптер на МК. А раз он на МК, то делать только USART как-то не рационально. Поэтому неплохо было бы в этот адаптер засунуть еще несколько интерфейсов, если уж делать, то что-то универсальное и полезное. Почти сразу в памяти всплыли “приятные” воспоминания об установке драйверов для адаптера на Tiny2313 (для Windows7 x64 это довольно мучительно). А это значит, что от устройства “виртуальный COM” придется отказаться, следовательно, надо будет написать программу для ПК, иначе работа с устройством будет невозможна. В общем, после обдумывания в течение некоторого времени, сформировалась окончательная идея девайса. Функционал получился вот таким:

  • адаптер USB->USART;
  • адаптер USB->SPI;
  • адаптер USB->I 2 C;
  • при этом устройство должно быть HID (Human Interface Device), чтобы не морочить голову с установкой драйверов.

Объектом издевательств стал МК Mega8, т.к. в TQFP корпусе он занимает совсем мало места (намного меньше, чем AtTiny2313) и обладает целыми 8 Кб. памяти. Сначала планировалось сделать все интерфейсы программными, но после разводки платы пришлось отказаться от аппаратного I 2 C, т.к. на односторонней плате вывести его никак не получалось (в будущем все-таки надо будет решить этот вопрос, может отдельно вывести сбоку платы). Поэтому его функциональность несколько ограничена, но USART и SPI остались полнофункциональными. Для связи с ПК была применена библиотека V-USB.

Схема устройства получилась вот такой:

Как видно, ничего сложного в ней нет. МК питается напряжением 5 В., согласование уровней для USB выполнено при помощи делителей напряжения резистор 68 Ом. + стабилитрон 3.3 В.. Тактовая частота МК – 12 МГц. Это минимальная частота для работы с шиной USB. Так же в схеме присутствуют три светодиода для индикации режимов работы. Один из светодиодов показывает, какой режим работы включен, а два других индицируют прием/передачу данных. Никаких кнопок и переключателей в устройстве не предусмотрено, и все настройки выполняются программно, прямо с ПК. Да, на все выводы, используемые для работы интерфейсов включены резисторы на 68 Ом. для защиты МК от КЗ. Как уже было отмечено выше, устройство представляется ПК как HID и не требует установки драйверов. VID и PID были выбраны из предоставляемых V-USB: VID - 0x16c0, PID - 0x05df. В противном случае пришлось бы отдать кругленькую сумму за покупку индивидуального идентификатора для USB устройства. Но т.к. проект Open Source и некоммерческий, совершенно свободно можно использовать идентификаторы, предложенные V-USB.

Плата получилась вот такая:

А в спаянном виде:

Это был тестовый образец да еще и разведенный с ошибками. Я почему-то посчитал, что вывод CE выводить не стоит. Ну ничего, все уже исправлено и к статье приложена правильная плата.

Итак, со схемой все понятно, он простая до предела и паяется за один вечер. Но, как было сказано выше, получившееся устройство определяется ПК как HID, т.е. ОС подбирает под него драйвер из своей базы. Проще говоря, Windows думает, что работает с устройством ввода. Это делает возможным работу на любом ПК без мороки с драйверами. Но с этим связана одна небольшая проблема, ни одна из существующих программ для обмена данными через USART работать с этим устройством не будет. А значит нужна какая-то специальная программа для работы с модулем, иначе он никакой ценности из себя не представляет. Поэтому я открыл свой любимый C++ Builder (нынче его обозвали CodeGear RAD Studio, что в прочем не меняет смысла), версия 2007, и написал вот такую программу:

Ничего особо сложного в ней нет, для каждого интерфейса присутствует некоторое количество настроек. Да, одновременно несколько интерфейсов работать не могут, только по одному. Работает все это дело очень просто, при подключении устройства к ПК в окне программы активизируются кнопки, нажатие на которые запускает соответствующий интерфейс. Потом достаточно написать данные в поле ввода в определенном формате и нажать кнопку "Send". Для каждого интерфейса свой формат данных. Сейчас рассмотрим их более подробно:

USART : (прием данных идет все время, пока активен режим, так сказать, на автомате)

  • отправка нескольких HEX чисел, просто пишем их через пробел в неограниченном количестве, например: 01 05 fa aa ...
  • отправка строки (текст, числа и т.п.). Тут уже в начале строки пишется идентификатор S (s), например: s www.сайт
  • для отправки данных устройству формат строки такой: Адрес (кому передавать и в какую ячейку памяти) А (а) и Данные D (d). Например: aa3 dfa;
  • для запроса данных с устройства: Адрес (от кого принимать и из какой ячейки памяти) и идентификатор чтения R (r). Например: aa3 r
  • для отправки данных устройству: Адрес устройства (бит чтения в 0) А (а) Адрес ячейки памяти M (m) Данные D (d). Например аа2 m03 d15
  • запрос данных выглядит вот так: Адрес устройства (бит чтения в 0) А (а) Адрес ячейки памяти M (m) Адрес устройства (бит чтения в 1) А (а) Идентификатор чтения с количеством ячеек памяти для чтения R (r). Например: aa2 m03 aa3 r1

​Для SPI в режиме Slave никаких команд не предусмотрено, просто сидим и ждем, пока нам что-нибудь пришлют. Для работы с девайсом подключаем его к ПК, ждем некоторое время, пока ОС не сообщит, что драйвера успешно найдены и установлены, запускаем программу и начинаем обмен данными. Все предельно просто, ведь простота и была одним из критериев при создании устройства.

Да, кстати, программа совместима со всеми версиями Windows, начиная с Windows XP и заканчивая Windows 8, и не требует для работы различной экзотики, типа NetFramework и т.п. Как, впрочем, и сам модуль.

Вот, собственно, и все, программа, плата и исходники прилагаются.

Фьюзы выставляются для работы от внешнего кварца с высокой частотой. Выглядят вот так:

На картинке LOW фьюзы в 1, когда не отмечены, и в 0, когда отмечены. HIGH фьюзы наоборот. В шестнадцатеричном виде это выглядит вот так: HIGH: D9, LOW: FF.

Ну и конечно же видео, т.к. лучше один раз увидеть, чем... (USART работает в режиме эхотест (Rx и Tx соединены), а SPI и I 2 C тестируются с микросхемой PCA2129T, статья о ней )

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК AVR 8-бит

ATmega8

1 В блокнот
VD1, VD2 Стабилитрон

BZX55C3V3

2 3.3 Вольт В блокнот
HL1-HL3 Светодиод 3 В блокнот
C1 Электролитический конденсатор 100 мкФ 1 Конденсатор танталовый В блокнот
C2, C3 Конденсатор 0.1 мкФ 2 В блокнот
C4, C5 Конденсатор 22 пФ 2 В блокнот
R1 Резистор

1.5 кОм

1 В блокнот
R2 Резистор

10 кОм

1 В блокнот
R3, R4, R8-R13 Резистор

Сборка Z-Duino

Итак, начнем. Выигранный мной набор для сборки включает в себя три пакетика.

В один упакованы разъёмы, панелька для контроллера и сам контроллер - ATmega328P, в него прошит загрузчик и скетч “Blink”. Другой пакетик наполнен “рассыпухой”, среди которой есть “бомбовая” кнопочка с красным толкателем - для сброса. В третьем пакетике: качественная плата и один из светодиодов. В наборе их два: зелёный - по питанию, и жёлтый - на pin13. Внешне одинаковые, и, чтоб их не перепутать, жёлтый упакован вместе с платой, но ничего не мешает запаять их наоборот.

Сборка прошла в два этапа. Сначала запаиваю все SMD компоненты

Затем все выводные

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

После сборки платы подаю питание: зелёный светодиод светится, жёлтый мигает. Хорошо, теперь нужен переходник для заливки скетчей. Если есть аппаратный COM порт на материнской плате, то можно взять преобразователь уровней на предназначенной для этих целей MAX232 или собрать на транзисторах (как в Arduino Severino).

Преобразователь на транзисторах повторяет схему из Arduino Severino , а для переходника на микросхеме я выбрал MAX232CPE: вместо электролитов 10uF устанавливаются керамические 100n. У микросхемы, перед монтажом, нужно отломать выводы 7 и 10, или отогнуть их в сторону.

Для использования переходника на транзисторах или на MAXе, необходимо любым удобным способом подать на плату Z-duino 5V. Я взял прямо с USB и воткнул в разъём ICSP. Джампер выбора питания нужно установить в положение 5V.

Внимание! Если Вы что-нибудь спалите или нанесёте любой вред реализуя идеи изложенные в этой статье, то ответственность за негативные последствия несёте Вы, а не автор этих идей (то есть я). Например, в примере выше, 5V с USB на контроллер поступает напрямую, минуя предохранитель и защитный диод. Осознавайте что Вы делаете, соблюдайте полярность подключения и не превышайте максимальный ток, который может выдать большинство USB разъемов компьютера, а именно 500мА.

Если нет COM порта, можно применить переходник USB-COM. Я уже писал о переходнике на mega8 распаяном на самодельной Arduino, будет фото и схема переходника на контроллере в DIP и в TQFP корпусе.

К разъёму подведены все сигналы которые обеспечивает конвертер. На схеме и чертежах плат есть предохранители типоразмера 1206 в цепи 5V от USB. У меня таких нет, вообще нет SMD предохранителей, поэтому я установил перемычки.

На двух платах перепутаны местами RX и TX, пришлось резать дорожки, паять перемычки, в чертежах плат ошибки исправлены.

О реализации варианта этого переходника на ATtiny2313 есть на getchip.net.

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

Новое на сайте

>

Самое популярное