Интернет журныл о промышленности в Украине

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

  1. список радіоелементів
  2. Теги:
  3. оцінити статтю

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 біт / сек.

Це дозволить отримати швидкість передачі даних вище, ніж 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

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, відбувається витік струму через сигнальні лінії. Це призведе до спотворення сигналу або управління мікро контролером без харчування. Дана схема недосконала, проте придатна для більшості випадків.

Дана схема недосконала, проте придатна для більшості випадків

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

Завантажити список елементів (PDF)

оригінал статті

Теги:

винагородити Я зібрав 0 0

x

оцінити статтю

  • Технічна грамотність
  • актуальність матеріалу
  • виклад матеріалу
  • корисність пристрої
  • повторюваність пристрої
  • Орфографія

0

оцінити Скинути

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