Подключаем микроконтроллер к компьютеру. Com-порт (RS-232), USB


24.02.2011

В Микроконтроллерах Atmel есть интерфейс UART. Фактически это тот же RS-232, но с другими логическими уровнями. Используя его подключим наш микроконтроллер к компьютеру.

Подключение микроконтроллера к последовательному порту (RS-232) используя MAX232

Напрямую контроллер включать конечно же нельзя. Для сопряжения используют микросхему MAX232.

Код программы микроконтроллера для тестирования связи с компьютером:


#include <avr/io.h>
#include <avr/interrupt.h>
#include "uart.h"

#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1
char str0[]="Zero";
char str1[]="One";
char str2[]="Two";
char str3[]="Three";
char str4[]="Four";
char str5[]="Five";
char str6[]="Six";
char str7[]="Seven";
char str8[]="Eight";
char str9[]="Nine";
char strDefault[]="Non digital";

int main(void) {
  char c;

  uart_init (MYUBRR);

  sei();
  while (1) {
    if (UCSRA & (1<<RXC)) {
      c=UDR;
      switch (c) {
        case `0`: uart_puts(str0); break;
        case `1`: uart_puts(str1); break;
        case `2`: uart_puts(str2); break;
        case `3`: uart_puts(str3); break;
        case `4`: uart_puts(str4); break;
        case `5`: uart_puts(str5); break;
        case `6`: uart_puts(str6); break;
        case `7`: uart_puts(str7); break;
        case `8`: uart_puts(str8); break;
        case `9`: uart_puts(str9); break;
        default: uart_puts(strDefault);
      }
    }
  }
}

Скачать исходный код программы

На компьютере открываем Hyper Terminal, подключаемся с Com порту. Теперь можно передавать информацию с компьютера в микроконтроллер и, наоборот, с микроконтроллера в компьютер.

Программа работает просто - Вы нажимаете клавишу от 0 до 9, микроконтроллер возвращает соответствующую строку. Файлы примера можно скачать здесь. Обратите внимание, что микроконтроллер должен работать на частоте как минимум 2Мгц.

Подключение микроконтроллера к USB порту используя FT232

Иногда требуется подключить несколько устройств, или нет доступных COM портов. Наиболее подходящий способ использовать микросхему FT232 для работы с USB портом (производитель http://www.ftdichip.com/). Она полностью берет на себя работу с USB портом, выдавая микроконтроллеру родной интерфейс UART. А поскольку драйвер эмулирует виртуальный Com порт, то никакой переделки ПО на компьютере и в микроконтроллере не потребуется. Производитель микросхемы позаботился о пользователях и предоставляет драйвера для следующих операционных систем:

  • Windows Server 2008 R2
  • Windows 7
  • Windows 7 x64
  • Windows Server 2008
  • Windows Server 2008 x64
  • Windows Vista
  • Windows Vista x64
  • Windows Server 2003
  • Windows Server 2003 x64
  • Windows XP
  • Windows XP x64
  • Windows 2000
  • Windows ME
  • Windows 98
  • Linux
  • Mac OS X
  • Mac OS 9
  • Mac OS 8
  • Windows CE.NET (Version 4.2 and greater)
Столь внушительный список поддерживаемых систем обеспечил большую популярность этой микросхеме. Схемы сопряжения микроконтроллера и FT232 можно найти в этом файле: FT232BM_Designers_Guide.

Используя FT232 можно обеспечить питание Вашей схемы напряжениями +5 и +3.3В. На этапе разработок Вам будет очень полезен модуль для подключения микроконтроллера к компьютеру на базе FT232. Его можно приобрести или сделать самостоятельно. Я поступил проще, купил отдельно плату, необходимые детали и собрал сам и сейчас плотно эксплуатирую. Где купить смотрите здесь.

Описание модуля и схему качайте здесь.

Есть еще более простой и не дорогой способ, который я нашел - использование шнуров для подключения мобильных телефонов к компьютеру. Некоторые шнуры для подключения мобильных телефонов к компьютеру построены по такому же принципу. Т.е. имеют встроенную микросхему и после подключения и установки драйверов эмулируют последовательный COM-порт. У меня оставался такой разрезанный шнур (CA-42). Отрезаем разъем к мобильному телефону, находим нужные провода и подключаем напрямую к ногам микроконтроллера. При не правильном подключении ничего не сгорит. По крайней мере, у меня не сгорело :)

По отношению к вышеописанному модулю недостаток один - невозможно использовать питание, которое предоставляет USB порт. Такой метод подключения я использовал в метеостанции.

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

Существует способ подключения микроконтроллера к локальной сети посредством Ethernet модуля, и превращение его в отдельное сетевое устройство. Но о нем поговорим позже.

Початківцям Схеми і прошивки
Коментарі:
Додати коментар
Code
* - обов'язкові поля

Архіви