Pull to refresh

Модифицирование преобразователя USB-UART на чипе CP2102 для использования в качестве программатора Arduino

Reading time2 min
Views86K
Данный метод требует прямых рук наноботов — используйте описанное на свой страх и риск.

Ко мне в руки попал преобразователь USB-UART на чипе CP2102, который шел в комплекте с Arduino Pro Mini и заявлялся как программатор для него:

image

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

avrdude: stk500_getsync(): not in sync: resp=0x00

Поиск дал ответ на вопрос, почему это происходит. Оказалось, RST на выходе программатора разведен таким образом, что он является цифровым входом и предназначен для сброса чипа CP2102 по сигналу с внешнего устройства, а не сброса самого внешнего устройства. Дальнейшие поиски привели к статье, где было описано, как это исправить.

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

Таким образом, необходимо перерезать участок дорожки между переходным отверстием и выводом CP2102, а также выпаять SMD-резистор над надписью POW (на резисторе надпись «1001»). Далее необходимо соединить при помощи провода вывод CP2102 «DTR» и контактную площадку, оставшуюся после выпайки резистора, расположенную ближе к надписи POW. Это соединит вывод чипа «DTR» и вывод платы «RST».

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

image

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

Далее следует проверить работоспособность полученной платы при помощи программы RealTerm. Открываем вкладку «Pins» — установка и сброс пина DTR не должна влиять на работу пина DSR, однако должно управлять напряжением на выходе RST платы.

Когда все проверки завершены, можно пробовать залить скетч. Подключаем Arduino Pro Mini к преобразователю:

(Преобразователь) <-> (Arduino)
RST <-> DTR
TXD <-> RXD
RXD <-> TXD
GND <-> GND
5V <-> VCC

Теперь у меня скетч залился успешно.

Надеюсь, у вас всё получится!
Tags:
Hubs:
Total votes 38: ↑35 and ↓3+32
Comments14

Articles