Реклама ⓘ
Главная » Компьютерная электроника
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Виртуальный СОМ-порт CDC-232 на AVR-микроконтроллере

AVR-CDC предназначена для конвертации RS232 и USB  данных с применением AVR-микроконтроллеров, без использования какого-либо специализированного USB-чипа. Данная технология основывается на Object Deveopment's V-USB (Software-USB на AVR), и CDC (Communication Device Class) протоколах. AVR-CDC позволяет компьютеру взаимодействовать с USB-устройствами через виртуальный COM-порт. В этом проекте я хочу привести несколько вариантов реализации виртуального COM-порта на AVR-микроконтроллерах.

CDC-232 создает виртуальный COM-порт на ПК, который не имеет физического порта RS- 232C. Он обеспечивает соединение RS-232C (без управляющих линий) после подключения устройства и установки драйвера.

Использование

Запишите программу в AVR, соберите схему и подсоедините устройство к USB порту ПК. Установите драйвер под ОС Windows. Подключитесь к устройству через появившийся виртуальный COM-порт с помощью программного обеспечения терминала или вашего приложения. Управляющие линии (DTR, DTS, RTS, CTS) не используются хост приложением. Запрограммируйте терминальное приложение как "no flow-control" (без управления потоками данных).

ОС Windows повторно запросит установку драйвера при подключении к другому USB порту. Далле произойдет автоматическое обнаружение ранее установленного драйвера. После этого будет назначен другой номер COM-порта. Если вы введете номер последовательного порта в AVR (обновите с измененным файлом usbconfig.h), тогда вы получите тот же самый COM-порт на любом USB порте. Однако нельзя подключить несколько CDC устройств к одному и тому же последовательному порту.

Перед отключением устройства закройте вручную COM-порт с помощью программного обеспечения терминала или вашего приложения. В противном случае вы не сможете подключиться к устройству снова из-за повреждения индекса файла. Далее перезапустите программное обеспечение терминала или ваше приложение. Переключитесь в режим быстрой передачи, используя файл "lowcdc.vbs". Это позволит получить скорость передачи данных выше, чем 9600 бит/сек.

Циклический тест для версии ATtiny45

Схемные решения

Данные схемы предназначены для ATtiny45/85, ATtiny2313/AT90S2313, и ATmega8/48/88/168. Их микропрограммное обеспечение можно загружать через ISP-разъем. Красный светодиод понижает USB напряжение с 5В до 3.3В, затем оно подается на AVR. Ток составляет около 10мА, и его недостаточно для управления другой схемой. При подключении к другому микроконтроллеру, подсоедините вывод Gnd, а также перекрестно TxD и RxD. R4 ограничивает утечку тока, когда напряжение питания микроконтроллера Vcc составляет 5В. Резистор можно не использовать, если Vcc совпадает. R5 защищает вывод TxD, если он будет закорочен на Gnd. Поэтому вы можете не использовать оба резистора R4 и R5, если подключитесь к RS- 232C драйверу через MAX232. Используйте кварцевый генератор. Хотя керамический резонатор отлично работает в большинстве случаев, он становится нестабильным, когда отклонение частоты увеличивается.

ATtiny45/85 использует внутренний RC-генератор и PLL. Он калибруется USB сигналом при подключении устройства. Универсальный асинхронный интерфейс UART реализован программным методом. Этого недостаточно для скоростной передачи данных. Если TxD и RxD инверсные (обновите с помощью опции DUART_INVERT), вы сможете напрямую подключаться к линии RS-232C. Скорость 1200 – 4800бит/сек, протокол 8N1.

CDC-232 для ATtiny45-20
CDC-232 для ATtiny45-20

Пример ATtiny45 при использовании мини-B коннектора

ATtiny2313/AT90S2313 имеет программную память величиной 2кБ. Хотя скорость передачи данных конфигурируется автоматически, некоторые функции не используются. Скорость 600 – 38400бит/сек, протокол 8N1.

​CDC-232 для ATtiny2313-20
CDC-232 для ATtiny2313-20

Внутренний Универсальный асинхронный интерфейс UART ATmega8/48/88 конфигурируется с помощью ПК. Поддерживается управление потоком данных (RTS/CTS).

Скорость 600 – 38400бит/сек, данные 7/8, контроль по четности N/E/O, стоп 1/2.

CDC-232 для ATmega8/48/88-20
CDC-232 для ATmega8/48/88-20

Подключение к RS-232C каналу требует инвертирования полярности и подбора уровня TxD и RxD. Используйте выделенную ИС, такую как MAX232. Вы сможете заменить ей эту простую схему.

Когда целевой микроконтроллер имеет другое напряжение питания Vcc, происходит утечка тока через сигнальные линии. Это приведет к искажению сигнала или управлению микроконтроллером без питания. Данная схема несовершенна, однако пригодна для большинства случаев.

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
CDC-232 для ATtiny45
U1 МК AVR 8-бит
ATtiny45
1 Поиск в магазине ОтронВ блокнот
LED1 СветодиодКрасный1 Поиск в магазине ОтронВ блокнот
R1 Резистор
1.5 кОм
1 Поиск в магазине ОтронВ блокнот
R2, R3 Резистор
68 Ом
2 Поиск в магазине ОтронВ блокнот
R4 Резистор
10 кОм
1 Поиск в магазине ОтронВ блокнот
R5 Резистор
470 Ом
1 Поиск в магазине ОтронВ блокнот
C1 Конденсатор0.1 мкФ1 Поиск в магазине ОтронВ блокнот
CN1 USB-коннекторXM7B-04421 Поиск в магазине ОтронВ блокнот
CDC-232 для ATtiny2313
U1 МК AVR 8-бит
ATtiny2313
1 Поиск в магазине ОтронВ блокнот
LED1 СветодиодКрасный1 Поиск в магазине ОтронВ блокнот
R1 Резистор
1.5 кОм
1 Поиск в магазине ОтронВ блокнот
R2, R3 Резистор
68 Ом
2 Поиск в магазине ОтронВ блокнот
R4 Резистор
10 кОм
1 Поиск в магазине ОтронВ блокнот
R5 Резистор
470 Ом
1 Поиск в магазине ОтронВ блокнот
C1, C2 Конденсатор18 пФ2 Поиск в магазине ОтронВ блокнот
C3 Конденсатор0.1 мкФ1 Поиск в магазине ОтронВ блокнот
X1 Кварцевый резонатор12 Мгц1 Поиск в магазине ОтронВ блокнот
CN1 USB-коннекторXM7B-04421 Поиск в магазине ОтронВ блокнот
CDC-232 для ATmega8/48/88
U1 МК AVR 8-бит
ATmega8
1 Поиск в магазине ОтронВ блокнот
LED1 СветодиодКрасный1 Поиск в магазине ОтронВ блокнот
R1 Резистор
1.5 кОм
1 Поиск в магазине ОтронВ блокнот
R2, R3 Резистор
68 Ом
2 Поиск в магазине ОтронВ блокнот
R4 Резистор
10 кОм
1 Поиск в магазине ОтронВ блокнот
R5 Резистор
470 Ом
1 Поиск в магазине ОтронВ блокнот
C1, C2 Конденсатор18 пФ2 Поиск в магазине ОтронВ блокнот
C3 Конденсатор0.1 мкФ1 Поиск в магазине ОтронВ блокнот
X1 Кварцевый резонатор12 Мгц1 Поиск в магазине ОтронВ блокнот
CN1 USB-коннекторXM7B-04421 Поиск в магазине ОтронВ блокнот
Подключение к RS-232C каналу
Q1 Биполярный транзистор
2SC1815
1 Поиск в магазине ОтронВ блокнот
Q2 Биполярный транзистор
2SA1015
1 Поиск в магазине ОтронВ блокнот
D1 Выпрямительный диод
1N4148
1 Поиск в магазине ОтронВ блокнот
R1-R3 Резистор
10 кОм
3 Поиск в магазине ОтронВ блокнот
R4 Резистор
3.3 кОм
1 Поиск в магазине ОтронВ блокнот
Когда целевой микроконтроллер имеет другое напряжение питания
D1, D2 Выпрямительный диод
1N4148
2 Поиск в магазине ОтронВ блокнот
R1, R2 Резистор
3.3 кОм
2 10 кОмПоиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (2) | Я собрал (0) | Подписаться

0
AlexGryb #
А как сделать передачу данных по USB? И драйвер откуда брать?
Ответить
0
NE51S #
Может и поздно, но вдруг кому пригодится http://www.recursion.jp/avrcdc/download.html
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

USB-реле (2 канала)
USB-реле (2 канала)
Сатфайндер Солнечная панель 10Вт 12В поликристаллическая
вверх