Главная » Компьютерная электроника
Призовой фонд
на январь 2017 г.
1. 5000 руб.
Академия Благородных Металлов
2. 1000 руб.
Radio-Sale
3. Регулируемый паяльник 60 Вт
Паяльник
4. 600 руб.
От пользователей
5. Тестер компонентов LCR-T4
Паяльник

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

Скачать список элементов (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 канала)
Программатор Pickit3 Набор 4WD Kit Bluetooth
вверх