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
Пример ATtiny45 при использовании мини-B коннектора
ATtiny2313/AT90S2313 имеет программную память величиной 2кБ. Хотя скорость передачи данных конфигурируется автоматически, некоторые функции не используются. Скорость 600 – 38400бит/сек, протокол 8N1.
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
Подключение к 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-0442 | 1 | Поиск в магазине Отрон | |||
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-0442 | 1 | Поиск в магазине Отрон | |||
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-0442 | 1 | Поиск в магазине Отрон | |||
Подключение к 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)
Комментарии (2) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация