8-900-374-94-44
[email protected]
Slide Image
Меню

Микросхема usb uart – преобразователь USB-UART за 45 рублей / Связь железа с компьютером. / Сообщество EasyElectronics.ru

Содержание

Микросхема Ch440G – преобразователь интерфейса USB в UART

Сегодня на рынке существует недорогая микросхема Ch440G мост USB-UART, которая является заменой для  PL2303. 
Китайская микросхема Ch440G (изготовитель – компания WCH)  не просто добавилась на рынок, но и претендует на то, чтобы стать самым популярным компонентом сопряжения интерфейсов USB и UART.

Этому способствует:

  • Низкая цена  микросхемы; 
  • Удобный корпус SO-16. Маленький корпус с небольшим числом выводов и минимум внешних компонентов значительно облегчают применение микросхемы;
  • Неслучайно практичные китайцы в большинстве своих клонов плат Ардуино используют именно эту микросхему. И это еще один фактор способствующий распространению конвертера Ch440. У многих на компьютере уже установлен драйвер.

В серию китайских микросхем Ch440 входят:

Название Корпус Назначение Официальная техническая документация
Ch440T SSOP-20 Мост USB — UART Ch440.pdf
Ch440R SSOP-20 Мост USB — IrDA
Ch440G SO-16 Мост USB — UART Ch440G.pdf

 

Техническую информацию о микросхемах Ch440T и Ch440R можно загрузить в формате PDF по этой ссылке Ch440.pdf.

Но последний вариант из таблицы – микросхема Ch440G оказался наиболее удачным благодаря корпусу с меньшим числом выводов. Именно он получил широкое распространение. Его я и буду описывать. Технические характеристики и параметры я взял из официальной документации производителя – китайской компании WCH. Информацию можно загрузить в формате PDF по этой ссылке Ch440G.pdf.

На базе этой микросхемы разработан модуль — преобразователь интерфейсов.

Мост USB-UART Ch440G.

Микросхема предназначена для преобразования интерфейса USB в UART. Позволяет создать на компьютере дополнительный UART порт. Подробно о технологии конвертирования интерфейсов USB и UART можно прочитать по этой ссылке.

Микросхема Ch440G:

  • Поддерживает полную скорость спецификации USB 2.0;
  • Требует минимум внешних компонентов. Только кварцевый резонатор и 4 конденсатора;
  • Создает виртуальный последовательный порт, который эмулирует все функции реального COM порта;
  • Позволяет использовать все существующие приложения для COM портов без изменения и доработок;
  • Аппаратная часть поддерживает последовательный дуплексный интерфейс с внутренним буфером FIFO. Скорость обмена от 50 бит в сек, до 2 Мбит в сек;
  • Поддерживает полный контроль сигналов управления передачей данных RTS, DTR, DCD, RI, DSR и CTS;
  • При использовании внешних преобразователей уровней поддерживает интерфейсы RS23, RS422, RS485;
  • Может работать с сигналами уровней 5 и 3,3 В;
  • Конструктивно микросхема выполнена в корпусе SO-16.

Назначение выводов.

 

Вывод Обозначение Направление Описание
1 GND Питание Общий провод (земля). Должен быть соединен с общим проводом шины USB.
2 TXD Выход TXD сигнал UART.
3 RXD Вход RXD сигнал UART.
4 V3 Питание Внутреннее опорное напряжение для USB интерфейса. При питании 3,3 В вывод должен быть соединен с Vcc. При напряжении питания 5 В, к нему необходимо подключить относительно земли блокировочный конденсатор емкостью 4,7 – 20 нФ.
5 UD+ Аналог. D+ сигнал USB.
6 UD- Аналог. D- сигнал USB.
7 XI Вход Вход кварцевого генератора. К нему подключается кварцевый резонатор и конденсатор.
8 XO Выход Выход кварцевого генератора. К нему подключается кварцевый резонатор и конденсатор.
9 CTS# Вход CTS сигнал UART.
10 DSR# Вход DSR сигнал UART.
11 RI# Вход RI сигнал UART.
12 DCD# Вход DCD сигнал UART.
13 DTR# Выход DTR сигнал UART.
14 RTS# Выход RTS сигнал UART.
15 R232 Вход Включение инверсии входа RXD. Активный уровень – высокий. Вход имеет внутренний резистор, подключенный к земле.
16 VCC Питание Питание.

 

Предельно-допустимые параметры.

Превышение значений этих параметров может привести к выходу из строя микросхемы.

Обозначение Название Минимальное значение Максимальное значение Единица измерения
Ta Рабочая температура — 40 85 °C
Ts Температура хранения -40 125 °C
Vcc Напряжение питания (относительно вывода GND) — 0,5 6,5 В
Vid Напряжение на цифровых выводах (относительно вывода GND) — 0,5 Vcc + 0,5 В

 

Параметры постоянного тока.

Обозначение Название Мин. Тип. Макс. Ед. изм.
Vcc Напряжение питания Питание 5 В 4,5 5 5,5 В
Питание 3,3 В 3,3 3,3 3,8 В
Icc Потребляемый ток   12 30 мА
Islp Потребляемый ток в режиме сна Питание 5 В   150 200 мкА
Питание 3,3 В   50 80 мкА
Vil Входное напряжение низкого уровня — 0,5   0,7 В
Vih Входное напряжение высокого уровня 2,0   Vcc + 0,5 В
Vol Выходное напряжение низкого уровня     0,5 В
Voh Выходное напряжение высокого уровня Vcc – 0,5     В
Iup Ток внутренней подтяжки к питанию 3 150 300 мкА
Idn Ток внутренней подтяжки к земле — 50 — 150 — 300 мкА
Vr
Напряжение сброса по питанию
2,3 2,6 2,9 В

 

Динамические характеристики.

Обозначение Название Мин. Тип. Макс. Ед. изм.
Fclk Тактовая частота 11,98 12 12,02 мГц
Tpr Время сброса по включению питания   20 50 мс

 

Подключение микросхемы Ch440G.

Микросхема Ch440G содержит внутренние подтягивающие резисторы для шины USB и цепи подавления отраженного сигнала. Поэтому выводы UD+ и UD- должны быть подключены непосредственно к соответствующим сигналам USB (выводам разъема USB).

Микросхема имеет встроенную логику сброса по включению питания.

Для нормальной работы микросхемы необходимо сформировать на выводе XI сигнал частотой 12 мГц.

  • Обычно это обеспечивается подключением кварцевого резонатора частотой 12 мГц между выводами XI и XO. Также необходимо подключить нагрузочные конденсаторы между этими выводами и землей. Формирование тактового сигнала при такой схеме включения обеспечивает внутренний генератор.
  • Можно использовать внешнюю тактовую частоту. В этом случае тактовый сигнал необходимо подать на вывод XI, а вывод XO оставить неподключенным.

Микросхема поддерживает два напряжения питания: 5 В и 3, 3 В.

  • При питании 5 В необходимо подключить блокировочный конденсатор емкостью 4,7-20 нФ между землей и выводом V3.
  • В режиме питания 3,3 В вывод V3 должен быть соединен с выводом Vcc.

Конвертер Ch440G поддерживает все сигналы управления передачей данных стандартного интерфейса RS233: CTS, DSR, RI, DCD, DTR, RTS. Программное обеспечение также поддерживает все эти сигналы.

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

Типовая схема использования Ch440G в преобразователе интерфейсов USB – UART выглядит так.

Микросхема получает питание 5 В от интерфейса USB. При питании от напряжения 3,3 В необходимо соединить выводы Vcc и V3.

 

Режимы работы конвертера Ch440G.

У микросхемы Ch440G есть встроенный буфер типа FIFO.

Ch440G поддерживает симплексный, полудуплексный и полнодуплексный асинхронные режимы обмена.

Микросхема поддерживает все стандартные режимы передачи данных:

  • 1 стартовый бит и 5-8 битов данных;
  • 1 или 2 стоповых битов;
  • бит паритета с проверкой на четность или нечетность.

Скорость обмена может быть выбрана из следующих значений:

 

Скорость обмена, бод
50 900 19 200 128 000
75 1 200 28 800 153 600
100 1 800 33 600 230 400
110 2 400 38 400 460 800
134,5 3 600 56 000 921 600
150 4 800 57 600 1 500 000
300 9 600 76 800 2 000 000
600 14 400 115 200  

 

  • Ошибка временных параметров передачи данных не превышает 0,3 %;
  • При приеме допустимо отклонение временных характеристик до 2 %.

Микросхема полностью эмулирует работу стандартного COM порта. Все приложения для реальных COM портов работают с конвертером интерфейсов Ch440G без изменения кода.

С помощью Ch440G можно подключать существующие периферийные устройства к компьютерам, не имеющим COM портов. Для реализации таких распространенных интерфейсов как RS232, RS422 и RS485 достаточно добавить преобразователи уровней сигналов.

Вот пример схемы для подключения устройств с интерфейсом RS232.

Ch440G может быть использована для реализации USB инфракрасного адаптера (интерфейс IrDA). Типовая схема USB — IrDA адаптера выглядит так.

 

 

iarduino.kz

USB-UART преобразователь (Troyka-модуль) [Амперка / Вики]

Видеообзор

Подключение и настройка

  1. Подключите модуль к компьютеру через разъём micro-USB.
  2. Скачайте и установите драйвер в зависимости от операционной системы.
  3. Откройте диспетчер устройств и раскройте вкладку «Порты (COM и LPT)». Вы должны увидеть устройство с именем «Silicon Labs CP210x USB to UART Bridge (COMn)», где n — номер COM-порта.

Это значит драйвер установлен корректно и можно переходить к примерам работы.

Примеры работы

Прошивка микроконтроллеров

Модуль позволяет прошивать управляющие платформы без собственного USB-порта.

Настройка модулей с интерфейсом UART

Преобразователь уровней идеально подойдёт для настройки модулей с выходным последовательным интерфейсом UART.

Элементы платы

Micro-USB разъём

Разъём micro-USB предназначен для питания и коммуникации модуля с компьютером c помощью кабеля USB (A — Micro USB)

Чип USB-UART

Преобразователь USB-UART на микросхеме CP2102 от Silicon Laboratories обеспечивает связь с USB-портом компьютера.

Понижающий DC-DC

Понижающий DC-DC NCP1529 с выходом 3,3 вольта, обеспечивает питание на выходе модуля. Максимальный выходной ток составляет 1 А.

Troyka-контакты

На модуле выведено две пары Troyka-контактов.

Нижняя группа

  • Сигнальный (TX) — цифровой выход USB-UART преобразователя. Используется для передачи данных из USB в микроконтроллер. Подключите к пину RX микроконтроллера.

  • Питание (V) — соедините с рабочим напряжением микроконтроллера.

  • Земля (G) — Соедините с пином GND микроконтроллера.

Верхняя группа

  • Сигнальный (RX) — цифровой вход USB-UART преобразователя. Используется для приёма данных из микроконтроллера в USB. Подключите к пину TX микроконтроллера.

  • Сигнальный (R) — пин сброса.

Джампер выбора питания

Выходное напряжение на линии питания USB-UART преобразователя можно выбирать установкой джампера:

  • V=5V — на линии питания V будет присутствовать напряжение 5 вольт с micro-USB разъёма. Это удобно при подключении модуля к управляющим платам с рабочим напряжением 5 вольт. Например Iskra Mini или Iskra Neo.
  • V=3.3V — на линии V будет присутствовать напряжение 3,3 вольта с понижающего DC-DC преобразователя. Это удобно при подключении модуля к управляющим платам с рабочим напряжением 3,3 вольта. Например Iskra JS или ESP-01.

Светодиодная индикация

Имя светодиода Назначение
Сдвоенный RX/TX TX мигает красным цветом при посылки данных от USB в UART.
RX мигает зелёным цветом при посылки от UART в USB.

Принципиальная и монтажная схемы

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

  • Чип: CP2102

  • Входное напряжение питания: 5 В от USB

  • Выходное напряжение питания: 3,3 / 5 В

  • Напряжение логический уровней: 3,3 В (уровни толерантны к 5 вольтам)

  • Буфер: чтения 576 байт / записи 640 байт

  • Объём EEPROM-памяти: 1 КБ для хранения параметров идентификации USB-устройства

  • Габариты: 25,4×25,4 мм

Ресурсы

wiki.amperka.ru

Конвертер USB-TTL на микросхеме Ch440. Схема, характеристики. Установка драйвера.

USB-TTL конвертер построенный на микросхеме Ch440G

Это – преобразователе интерфейса USB в UART. Эта микросхема приобретает все большую популярность, успешно конкурируя с конвертером интерфейсов PL2303.

Ch440 уже стала стандартным преобразователем интерфейсов для китайских клонов контроллеров Ардуино. На базе этой микросхемы был разработан модуль, аналог модуля PL2303 USB UART BOARD. Вернее несколько типов модулей. В этом материале будет рассказано о самом популярном варианте конвертера Ch440.

С помощью модуля Ch440 легко подключить любое устройство, имеющее интерфейс UART к компьютерному порту USB. При несложной доработке (требуются только преобразователи уровней сигналов) к компьютеру могут быть подключены устройства с интерфейсами: COM, RS232, RS422, RS485, IrDA. Схемы подключения к некоторым из этих интерфейсов приведены в предыдущей публикации о микросхеме Ch440G.

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

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

Сигналы интерфейса UART модуля.

На разъеме модуля 6 контактов, через которые подключается UART устройство.

 

 

 

Название Направление, тип Назначение
1 5 V питание Питание 5 В от интерфейса USB. Может быть использовано для питания устройства UART.
2 VCC питание Питание микросхемы Ch440G.
  • В режиме питания 5 В вывод должен быть соединен с выводом 1.
  • При питании 3,3 В необходимо соединить выводы 2 и 3.
3 3V3 питание Опорное напряжение для USB интерфейса.
  • В режиме питания 5 В вывод должен остаться неподключенным.
  • В режиме питания 3,3 В должен быть соединен с питанием микросхемы (вывод 2).
4 TXD выход Передача данных
5 RXD вход Прием данных
6 GND питание Общий провод (земля)

 

Для подключения UART устройства к модулю необходимо:

Выбрать режим питания;

  • 5 В – установить перемычку между 1 и 2 выводами;
  • 3,3 В – установить перемычку между 2 и 3 выводами.

  • Подключить устройство к общему проводу GND и контактам обмена данными RXD и TXD.
  • При необходимости можно использовать сигнал 5 V (вывод 1) для питания UART устройства.

Рядом с разъемом модуля размещены светодиоды отображающие:

  • наличие питания модуля;
  • состояние сигнала TXD;
  • состояние сигнала RXD.
  • Светодиоды светятся при активном состоянии сигналов – низком уровне.

Принципиальная схема модуля Ch440.

Самая распространенная схема выглядит так.

 Микросхема Ch440G включена по стандартной схеме. Питание 3,3 В формируется из сигнала 5 В интерфейса USB за счет падения напряжения на открытых диодах LL4148. Больше пояснять нечего.

Установка драйвера преобразователя интерфейсов Ch440.

Под Windows 7 драйвер устанавливается в следующей последовательности.

Открываем диспетчер задач Windows. Для этого нажимаем  Пуск -> Панель управления -> Диспетчер устройств.

Открываем закладку Порты (COM и LPT).

 

Подключаем модуль Ch440 к порту USB компьютера. В диспетчере устройств появляется новое устройство USB.2-Serial с предупреждающим желтым знаком. Операционная система не смогла установить драйвер для модуля.

Скачиваем и запускем файл установщика драйвера ch441ser.exe. Файлы автоматически разархивируются. Появляется окно.

Нажимаем кнопку INSTALL.

После непродолжительной установки появляется сообщение об ее успешном завершении.

В диспетчере устройств появляется новое устройство USB-SERIAL Ch440. Это и есть новый COM порт, в примере это порт с номером 5.

При желании номер порта можно изменить.

Для этого нужно нажать на нужный COM порт в «Диспетчере оборудования» правой кнопкой мыши, выбрать пункт Свойства.

 

Дальше переходим на вкладку Параметры порта.

Нажимаем кнопку Дополнительно

Теперь остается выбрать сыободный номер порта.

Теперь при каждом подключении модуля Ch440 к компьютеру в системе будет появляться виртуальный COM порт.

Внимание!!! Надо только помнить, что при подключении модуля к другому USB порту может измениться номер и виртуального COM порта.

iarduino.kz

Универсальный преобразователь USB to COM + USB to UART на cp2102 — radiohlam.ru

В условиях, когда современные компьютеры стремительно теряют COM-порты, преобразователь USB <-> COM — штука для радиохламера очень полезная и нужная. Но и преобразователь USB <-> UART — тоже штука полезная и нужная. Мне, естественно, захотелось иметь и то, и другое, и ещё чего-нибудь, и чтобы всё это не слишком дорого.

Купить или собрать любую из подобных штуковин сегодня не проблема. В сети — куча схем, в магазинах — куча девайсов. Однако, как оказалось, — купить их можно только отдельно друг от друга! И это не смотря на то, что все, рассмотренные мной, преобразователи USB <-> COM преобразуют уровни сигналов сначала в TTL, а уже потом в RS-232. Разумеется ни одно из подобных решений не устроило меня в плане универсальности. Зачем я буду покупать отдельно преобразователь USB <-> UART, если он уже есть в составе USB <-> COM? Размышляя подобным образом, я решил, что лишних денег у меня нет и лучшим решением будет сделать свой собственный универсальный преобразователь.

В качестве основы, была взята хорошо известная микросхема cp2102. Во-первых, она позволяет эмулировать полноценный COM-порт (все линии, а не только Rx, Tx), во-вторых, она имеет минимум обвеса и позволяет сделать плату минимальных размеров, ну и в-третьих, у неё оказалась самая привлекательная цена. Схема преобразователя практически без изменений была взята из даташита к этой микрухе, я только разрезал её напополам, чтобы при необходимости иметь возможность отделить USB to UART от UART to RS-232.

Схема преобразователя USB to UART:

Схема преобразователя UART to RS232:

В итоге получилось даже не два (как изначально замышлялось) а целых три устройства в одном. Обе части разработанного девайса можно использовать как самостоятельные преобразователи USB <-> UART и UART <-> RS232 (жаль только, что последнему требуется внешнее питание). Соединив две части вместе, получаем преобразователь USB <-> COM. Для сопряжения частей преобразователя я использовал разъёмы IDC-14F и BH-14, которые при правильной разводке очень удачно припаиваются к двухсторонним платам (ниже на фото можно увидеть, как именно).

Фото готового устройства:

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

Разъём USB специально соединён с платой гибким проводом, а не жёстко к ней припаян. Как показывает практика, такие преобразователи очень часто используются для подключения к компьютеру различных конвертеров (COM to HART, COM to RS485 и тому подобных) и при жёсткой пайке USB-разёма именно он чаще всего отламывается, не выдерживая веса всего подключенного к преобразователю оборудования.

Отдельно хотелось бы остановиться на вопросе выбора конденсаторов. В даташите указаны номиналы конденсаторов по питанию 4,7 мкФ и 1 мкФ. Зачастую для экономии места на плате или по каким-то другим причинам вместо них ставят конденсаторы поменьше. Опять же, как показывает практика, это может привести к нестабильности питания подключаемых к преобразователю устройств (которые не имеют внешнего питания и должны питаться от COM-порта) и, как следствие, к их неработоспособности.

Скачать печатную плату (DipTrace 2.3)

Драйвера для описанного преобразователя можно скачать с сайта silabs.com (производитель микросхемы cp2102).

Тестировать собранный девайс удобно программой RH_COM_tester, которую можно скачать здесь (исходники — там же).

Если возникли сложности с самостоятельной сборкой или напрочь отсутствует свободное время — этот девайс можно заказать у нас на сайте.

radiohlam.ru

FT232 это не только USB UART (Часть 1)

Кроме очевидной функции преобразования интерфейсов эта микросхема умеет целых три режима bit bang. А еще разные свиселки-перделки, которые можно вывести на ножки CBUS.

Сначала решил свалить все в одну кучу, но потом передумал — будет несколько небольших постов.
В первом — описание функционала FT232 и её тюнинга с помощью FT Prog. Интересен будет наверное, лишь начинающим.
Дальше CBUS битбанг, синхронный и асинхронный битбанг. На дельфи и LabView.

Начнем с альтернативных функций пинов CBUS. Их аж 13 штук:

TXDEN — сигнал разрешения передачи (Transmit Enable) для интерфейса RS-485. Может быть выведен на любую из ножек CBUS. Если поглядеть на распиновку, видно что удобнее всего его выкинуть на CBUS2..4 — они на той стороне микросхемы, где и остальные линии RS-232.

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

TXLED, RXLED и TX&RXLED — три варианта включения светодиодной индикации. TXLED светится, когда данные передаются через USB. То-есть, когда FT232 принимает данные по UART. В RXLED все наоборот. А последний — порождение двух предыдущих режимов. Подключать их надо катодом к FT232 (анодами на питание).

SLEEP — противоположность PWREN (в смысле полярности). Предназначен для уведомления МК о том, что комп уснул. В обычно режиме он находится в высоком лог. уровне. В спячке — в низком. Его тоже можно использовать для отключения нагрузки в спящем режиме.

CLK48, CLK24, CLK12, CLK6 — выход тактового сигнала. Да еще и с разными частотами! Просто сказка для строителей программаторов. На практике первые два-три варианта мало применимы, а вот последний можно удачно использовать в программаторе. Только позвольте отговорить вас от идеи сделать из этого внешний так для МК — при переходе компа в спящий режим этот тактовый сигнал так-же отрубится. Так-же следует помнить, что тактовый сигнал FT232 всегда будет не больше 3.2 Вольт.

CBitBangI/O — Превращает ножку CBUS в GPIO, управляемый с компа. Работает только на CBUS0..3 по причине того, что разработчики засунули направление линий (вход/выход) и уровень (высокий/низкий) в один байт. Это первый вариант реализации bit bang. О нем будет следующая статья.

BitBangWRn, BitBangRDn — сигналы записи и чтения для двух других режимов bit bang — Синхронного и Асинхронного. Тоже работает на CBUS0..3

Вот такая компания.
Возникает резонный вопрос — как все это настраивать? Для этого есть утилита FT_prog, которая умеет прошивать EEPROM память FTшки. Выглядит она вот так:

При запуске тут-же нажимаем на кнопку «Scan and Parse» (c лупой) или F5 и получаем список подключенных FTDI устройств.
У меня подключен только один модуль. Пробежимся по его настройкам:

Chip Details -> Type Здесь у нас название чипа. Менять ничего нельзя. Идем дальше.

USB Device Descriptor — тут PID (Product ID), VID (Vendor ID). Их можно изменять. Но для домашних разработок это все-равно никакого значения не имеет.

USB Config Descriptor — тут уже больше вкусных настроек:
Bus powered \ Self Powered — режим питания устройства (сомостоятельно или от шины USB).

Max Bus Power — максимальный ток, который наше устройство собирается кушать от линии USB. Что характерно, превышение тока не наказуемо. При заявленом значении в 10мА моё устройство съедало все 120мА а хрюша даже «еггог» не сказала. Но все-же нарушать не стоит.

USB remote Wake Up — Если этот режим активирован, то дерганье вниз ноги RI выводит комп из спящего режима. Но работает только на FT245. Fail.

Pull down I/O Pins in USB Suspend — если включено, то при переходе в спящий режим, выводы UART должны подтягиваться к земле с целью уменьщения потребления. У меня так и не заработало. Наверно чип такой попался 🙁

USB String Descriptor — тут можно написать название производителя, описание устройства и задать параметры генерации серийника. Вот тут есть один прикол — по умолчанию FT Prog генерит новый серийник при каждой прошивке. Видна, соответственно думает что это новое устройство и назначает ему другой виртуальный COM порт. Так, через несколько итераций номер порта сдвинется непойми-куда, поэтому генерацию серийника я запретил.

Последний пунт — Hardware Specific. Там описаны настройки железа.
High Current IO — позволяет пинам двигать большей нагрузкой. 12мА, против 4мА в обычном режиме. Но это отрицательно сказывается на энергопотреблении.
Load D2XX Driver — если поставить галочку, то загрузка D2XX драйвера будет предпочтительнее, чем обычного драйвера VCP (Virtual Com Port). На практике, никаких изменений я не заметил — виртуальный COM порт по прежнему доступен сразу при подключении устройства.
Use External Oscillator — переключиться на внешний кварц. ВНИМАНИЕ! Если включить этот режим без внешнего кварца, труп FT232 станет неплохой возможностью поиметь с NXP халяву, но не более того (Кто не в теме — НХП раздает демоплаты за фото/видео зверской расправы над МК. Мертвая FT232 вполне сойдет за какой-нибудь МК… 🙂 ).

Invert RS-232 Signals — инверсия любой из 8 линий COM порта. В некоторых случаях позволяет избавится от лишней микросхемы-инвертора.

IO Control — те самые дополнительные возможности, список которых приводился выше.

После того, как конфигурация будет настроена — тыкаем кнопку с молнией или нажимаем Ctrl+P. Нам показывают краткое описание настроек.

Нажимаем program, дожидаемся завершения операции (надпись ready в левом нижнем углу основного окна) и передергиваем FT232 — новые настройки вступают в силу только после сброса.

Вторая часть будет про реализацию CBUS-битбанга в delphi.

Useful appnotes:

AN100 — Подлючение внешнего кварца.
AN119 — Установка дров под Вин7 (сам не читал, но может кому пригодится)
AN124 — руководство по FT Prog
AN146 — общие правила разработки устройств с FTDI

Useful software:

FT Prog — программа для настройки FTDI чипов.
USB View — показывает подключенные USb устройства. Тоже самое но для linux.

we.easyelectronics.ru

Очередной преобразователь интерфейсов USB-UART на FT232RL

Понадобился мне срочно USB-UART преобразователь. Ну прям ппц как срочно. Под рукой есть парочка микрух FTDI FT232RL, ну думаю щас замучу… А сегодня суббота, разводить печатку так неохота… Ну вобщем полез в инет искать. То SMD обвязка не устраивает, то USB разъём не такой как мне надо… вобщем нашёл на страничке у DI HALT-а почти то, что мне нужно:

Скачал плату, немного поправил, кое-чего добавил, вот что получилось:

Но после травления платы и запайки SMD деталюх, меня ждал небольшой косячок. Незнаю, почему DI HALT так развёл печатку, что при запаянной FT232RL, запаять один индикаторный светодиод практически нереально — он расположен слишком близко к корпусу FT232RL. Так как микросхема достаточно «толстая», вывод светодиода оказывается заблокирован для пайки.

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

А вот какой девайс получился в итоге:

Схему приводить не буду — стандартная из даташита. Ну а для желающих повторить сборку девайса, выкладываю супер-пупер плату, вернее сборник плат в одном файле. Там и плата от DI HALT-а, и моя доработанная версия в нескольких вариантах (с косячками и без))))).
На этом позвольте откланяться, ваш Zlodey, 13 сентября 2014г.

P.S. Строго не судите, на супер конструктив не претендую. Мало ли кому пригодится…
P.P.S. Первоначально материал размещал тут.

UPD. Приклеил подсказочку-напоминалочку 🙂


we.easyelectronics.ru

USB программатор для микроконтроллеров AVR с преобразователем интерфейса USB/UART (встраиваемый модуль)

Похожие программаторы:

APU-2,
APU-2N (Narrow),
APU-2M (Module USB)

Продолжаю цикл заметок «проекты-малыши»

На днях собрал себе еще один вариант USB программатора для микроконтроллеров AVR на базе чипа FT232RL (назвал я этот программатор APU-2MM):

Данное устройство совмещает в себе функции программатора и преобразователя USB-UART. Т.е., при использовании рассматриваемого модуля через один и тот же интерфейсный шнур (в данном случае, видимо, USB A – Mini USB B) можно:

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

— прошить микроконтроллер AVR, на базе которого выполнено исполняющее устройство.

Сразу хочу оговориться, что в камень заливается «оригинальная» прошивка, т.е. hex-файл, сгенерированный (обычно) средой разработки. Никаких шифрований и прочих изысков не подразумевается. Прошивка микроконтроллера по USB идет точно так же, как если бы мы просто вставили программатор в разъем “ISP” на таргет-плате.

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

Идея создания модуля подобного рода засела в моей башке довольно давно и прочно. Суть идеи – отправлять заказчикам устройства, которые можно бы было прошивать прямо через интерфейсный разъем (т.е., через который устройство общается с компом). У меня обычно бывает как – собрали некую систему, в состав которой входит моя поделка. Система уехала куда-нибудь далеко-далеко (например, в Ленинград или Германию). А через пару лет звонит заказчик и говорит – все работает нормально, но надо бы чуток подправить/улучшить вот то-то и то-то. И вроде бы не вопрос – изменить прошивку камня под эти новые требования обычно не составляет особого труда (и не отнимает много времени). Но вот как этот код залить в микроконтроллер?

Люди знающие сразу скажут – раз устройство общается с компом, то 99 из 100 за то, что для этого используются линии UART’а микроконтроллера. А раз так – пользуй бутлоадер, не ошибешься. Но, во-первых, насколько я понимаю – бут можно прикрутить далеко не к каждому кирпичу AVR. А во-вторых (и самых важных) – я настолько ленив, что за пять с лишним лет так и не удосужился разобраться с тем, как бутлоадер работает и как им пользоваться. Ибо у меня под рукой всегда был/есть программатор, и проблема прошивки камней у меня лично никогда не возникала. Ну а заказчик… А что заказчик? Заказчик в довесок к моим поделкам просто получал до кучи еще и отдельный LPT-программатор. Вот таким вот образом я обманул свою лень. Правда, использование заказчиком отдельного программатора тянуло за собой целую вереницу стандартных вопросов: а куда его совать, а если неправильно воткнули, а как разобрать дывайс и т.д. Но за несколько лет я настолько ловко научился на них отвечать, что проблемой данные вопросы не были.

Ну и в-третьих (обычно, не очень важных) – бутлоадер таки отжирает небольшую часть флэша микроконтроллера.

К слову сказать, уже тогда я начал задумываться – а не встраивать ли мне программаторы прямо в устройства? Однако, в то время я еще использовал для прошивки только порты LPT и COM. Но, как известно, программаторы на COM-порте больно уж укуренные, а разъем для LPT-порта больно уж огромен. Можно, конечно, было решить проблему, поставив на переднюю панель устройства какой-нибудь хитрый маленький разъем. Но это потянуло бы за собой изготовление переходника типа «LPT-хитрый разъем» или «СОМ-хитрый разъем», делать который пришлось бы опять же мне, и данная концепция не получила дальнейшего развития (см. врожденная лень).

Однако, как известно, теперь в нашу жизнь прочно вбили интерфейс USB. Да так прочно, что материнки (особенно дешевые) с LPT или COM портами встретить можно далеко не везде и далеко не всегда. Масла в огонь подливают коварнейшие ноутбуки, у которых данных портов нет в принципе (всё из-за глобальной миниатюризации). И поэтому вопрос о способе прошивки заказчиком микроконтроллеров, прилежно трудящихся в моих поделках, для меня встал особо остро. Ибо, вместе с программатором отсылать заказчику до кучи еще и отдельный системник для заливки кода в камень – как-то больно уж круто.

Пришлось переходить на USB-программаторы. Собирал я AVR910 и USBasp. Но как-то мне с ними не повезло – дурковали они частенько не по-детски. Это только потом я узнал, что виноват, по-ходу, был кривой прошивающий софт (или прошивка исполняющих камней программаторов, я в этом особо не разбирался). А в то время посылать заказчику программатор, который с 60-70%-ной вероятностью толком не заработает, было как-то негоже. И еще чуть-чуть – и я бы заставил-таки себя засесть за тщательное изучение бутлоадеров, но тут свершилось чудо.

Я внезапно узнал, что простой USB программатор для микроконтроллеров AVR может быть собран на основе микросхемы FT232RL. А еще он будет неглючный и шустрый. Немедленно собрал себе такой (по ссылке также указаны причины, по которым мне вообще пришлось интересоваться данным вопросом). И ходил-ходил довольный как слон, пока по башке не ударила мега-мысль: «Ты ж и так раньше использовал FT232RL для переходников USB-UART (я всё же следил за модой, да). А в новом программаторе линии RXD и TXD для прошивки камней не используются. Возьми осциллограф и посмотри, что происходит на «прошивающих» линиях в момент передачи «полезной» информации по USB. А потом посмотри, что творится на RXD и TXD в момент прошивки». Я обычно слушаю свою голову, поэтому послушно побрел за осциллоскопом. И оказалось, что в момент прошивки на «интерфейсных» линиях – тишина. И в момент передачи «полезной» инфы по USB на «прошивающих» линиях – тоже тишина. Т.е., работа устройства по «прошивающим» и «интерфейсным» линиям идет независимо, и эти линии не мешают друг другу. И вот тут я сперва потерял дар речи, а затем хитро улыбнулся – по-ходу, моя давнишняя мечта сбудется. А мечтал я, напомню, о маленьком (желательно – встраиваемом в основную плату устройства) модуле, через который можно было бы как обмениваться информацией с компом в «обычном» режиме, так и прошивать микроконтроллеры AVR, на базе которых и выполнено устройство.


В итоге схема рассматриваемого программатора/преобразователя стала выглядеть следующим образом:

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

Ничего нового здесь не придумано, никаких Америк не открыто. Описание работы схемы неоднократно приводились в Интернете. В принципе, здесь и описывать-то особо нечего. Данная схема просто направляет сигналы MOSI, MISO, SCK и RESET, которые формируются на выводах RTS, DCD, DTR и RI микросхемы DD1 (FT232RL) соответственно, на нужные выводы прошиваемого микроконтроллера. Причем, делает это только в момент программирования камня, в остальные моменты времени программатор отключен от прошиваемой платы за счет 4-х буферных элементов микросхемы DD2 (74HC125D). Состояние линий MOSI, MISO, SCK и RESET устанавливается/считывается специальным прошивающим софтом на компьютере. Передача данных для прошивки микроконтроллера между компом и микросхемой FT232RL идет по шине USB. В остальные моменты времени (когда камень не прошивается) м/с DD1 работает в «штатном» режиме, т.е. в качестве преобразователя USB-UART.

И у читателя может возникнуть закономерный вопрос – а чем тогда эти два программатора вообще отличаются? Отличие их – в конструктивном исполнении. Если программатор APU-2 задумывался и был выполнен как отдельное устройство, то рассматриваемый преобразователь APU-2MM разработан в виде модуля, встраиваемого в основную плату. В качестве небольшого бонуса идет возможность установки APU-2MM в макетные платы стандартного типа.

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

Дело в том, что при работе устройства питание на вывод 20 (Vcc – напряжение питания ядра) микросхемы DD1 должно подаваться постоянно. В противном случае, если микроконтроллер запитан (Vdd), буфер программатора и выходной драйвер FT232RL запитаны (Vccio), а ядро обесточено (Vcc), на всех выводах интерфейса UART (RXD, TXD, RTS, CTS и т.д.) будем наблюдать логические нули (а не третье состояние). Соответственно, буфер программатора (DD2) «откроется» и сигнал RST будет удерживаться в состоянии логического нуля (за счет состояния вывода RI), что не даст стартануть микроконтроллеру. Так он и будет ждать у моря погоды, пока на ядро FT232RL кто-нибудь добрый не подаст напряжение питания.

В случае, когда устройство, в которое встроен программатор APU-2MM, не имеет собственного источника питания и питается от шины USB всё просто – схема подачи напряжения на микросхему FT232RL стандартна:

Данный факт обусловлен тем, что питание на м/с DD1 модуля подается постоянно (если шнур USB выдернуть из устройства, работать оно перестанет). К слову – если программатор не дуркует (что обычно может происходить, когда шнур USB достаточно длинный), дроссель MI0805K400R-10 вполне можно заменить обычной перемычкой.

А вот когда устройство, в составе которого работает программатор APU-2MM, имеет свой собственный источник питания, схема подключения модуля, очевидно, приобретет следующий вид:

Ибо модуль не должен мешать работе микроконтроллера (т.е., напряжение питания на ядро FT232RL должно подаваться) даже в том случае, когда шнур USB из устройства выдернут. При подобной схеме подключения модуля можно использовать как «обычные» диоды, так и диоды Шоттки. Необходимо только помнить о том, что напряжение на выводе 20 (Vcc) микросхемы FT232RL должно составлять не менее +4,0В и не более +5,25В.

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

и изготовлена

печатная плата (ПП). На рисунках выше слева изображена сторона TOP платы, справа – сторона BOTTOM. Из-за того, что модуль APU-2MM является встраиваемым, габариты его было желательно уменьшить по максимуму. Этим фактором и обусловлено применение двухстороннего монтажа при изготовлении печатной платы и, соответственно, количество токопроводящих слоев ПП, равное двум.

Габаритные и присоединительные размеры модуля APU-2MM показаны на рисунке ниже:

После сборки модуль не требует никакой настройки. Можно ставить дрова, шить камни (более-менее подробно этот вопрос рассмотрен в описании программатора APU-2) и общаться с микроконтроллерами через, например, терминальную программу. Прошивка микроконтроллеров осуществляется при помощи графической оболочки SinaProg (версия, подправленная под APU-2MM) для программы AVRDUDE. В списке программаторов необходимо выбрать APU_2MM.

Вот, собственно, и всё. Удачной работы с микроконтроллерами!

APU-2MM_Hardware.zip (также архив прилеплен к заметке):
APU-2MM.pdf – схема электрическая принципиальная программатора;
APU-2MM_ЛУТ.LAY – файл печатной платы для «утюжников»;
APU-2MM_ФР.LAY – файл печатной платы для «шаблонщиков»

Печатная плата нарисована в программе «Sprint Layout 5.0»

APU-2MM_Software.rar:
SinaProg — программа-прошивальщик с поправленными файлами конфигурации.

we.easyelectronics.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *