Электронный компонент:Адаптер UartSBee V4.0

Материал из Онлайн справочника
Версия от 21:15, 14 октября 2017; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Адаптер UartSBee V4.0[1]

UartSBee v4.0 – это адаптер USB-Serial, совместимый с FTDI-кабелем и оснащенный Bee-сокетом (20 контактов, шаг 2 мм). Чип FT232RL, на базе которого сделан этот адаптер, можно использовать, во-первых, для коммуникации с микроконтроллером и записи прошивки на него, а во-вторых, для подключения ПК к беспроводному проекту через Bee-совместимый модуль. Кроме того, UartSBee оснащен выводами для портов FT232RL, через которые выполняется режим «bit-bang». Это восемь последовательных I/O контактов, которые можно использовать в качестве 8-битного параллельного порта.

Купить UartSBee V4.0 можно по этой ссылке.

Версии

  • UartSBee V3.1 (выпущена 2 сентября 2010 года) – уменьшен размер, убраны контакты Bluetooth на нижней стороне
  • UartSBee V2.3 (выпущена 21 июля 2009 года) – постоянный ток на 3.3-вольтовом контакте; поддержка силы тока до 500 мА (чтобы улучшить работу с XBee Pro)
  • UartSBee V2.1 (выпущена 1 февраля 2009 года) – первый публичный релиз

Функционал

  • Совместимость с кабелем FTDI
  • Совместимость с USB 2.0
  • I/O контакты, поддерживающие напряжение 3.3 вольта и 5 вольт
  • Выходное напряжение 3.3 вольта и 5 вольт
  • Кнопка сброса для Bee-модуля
  • Поддержка режима «bit-bang» (восемь последовательных I/O контактов)
  • Светодиоды для UART и Bee-модулей

Варианты использования

Меры предосторожности

Адаптер UartSBee v4.0 оснащен переключателем напряжения между 3.3 и 5 вольтами. Перед подключением адаптера к устройству убедитесь, что выставили переключатель в нужное положение.

Схема

Характеристики

Главные характеристики

Электрические характеристики

Параметр Минимальное значение Стандартное значение Максимальное значение Единица измерения
Входное напряжение - 5 5 Вольты (постоянный ток)
Энергопотребление - - 500 Миллиамперы
Выходное напряжение 3.3 - 5 Вольты (постоянный ток)

Расположение компонентов

  • В левой нижней части находится маленькая кнопка, при помощи который выполняется сброс Bee-совместимых устройств
  • Помимо гнезда 2х10 для Bee-модулей адаптер также оснащен дополнительными контактными площадками для контактов этого гнезда, а также ISP-портом 2х3. Их можно использовать напрямую или припаять к ним гребешки

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

Эта глава расскажет о вариантах применения адаптера UartSBee V4.0.

Порт USB-Serial

Адаптер UartSBee часто используется в качестве посредника между USB-портом и COM-портом (т.е. последовательным портом). Полученный интерфейс можно использовать для коммуникации с последовательным портом микроконтроллера или записи прошивки на микроконтроллер через ISP-порт на базе UART.

Windows

1. Если вы используете Windows при первом подключении UartSBee V4.0, операционная система попросит у вас драйвер:

2. Загрузите драйвер для виртуального COM-порта с сайта FTDI.

3. Кликните на него. Откроется мастер для установки драйвера. Выберите вариант «Установка из указанного места»

4. Выберите путь к месту, куда загружен драйвер

5. Если вы загрузили неподписанный драйвер, Windows покажет окно с предупреждением. Кликните на «Все равно продолжить»

6. Драйвер UartSBee успешно установлен. Windows присвоит ему номер COM-порта вроде «COM10», «COM11» и т.д. Точный номер смотрите в «Диспетчере задач». В моем случае UartSBee был присвоен номер «COM16»:

GNU/Linux

Во всех современных версиях GNU/Linux уже предустановлены драйверы для FT232RL. Чтобы проверить, определился ли UartSBee, дайте команду lsusb. В результате должно появиться примерно следующее:

GNU/Linux должна присвоить FT232RL имя вроде «/dev/ttyUSB0», «/dev/ttyUSB1» и т.д.

Чтобы проверить работу последовательного порта, подключите к UartSBee контакты RX и TX, а затем воспользуйтесь терминалом вроде cutecom, чтобы настроить параметры устройства:

Любой символ, напечатанный в терминал, через какое-то время будет отправлен обратно.

Тот же функционал можно найти в терминале Hyperterminal (Windows).

Использование UartSBee в качестве источника питания и программатора

Адаптер UartSBee оснащен двумя отдельными контактами (5V и 3V3), и это позволяет ему выдавать питание с двумя разными напряжениями: 5 вольт и 3.3 вольта. Кроме того, его I/O контакты тоже «амбивалентны» – они могут использовать разную вольтовую логику: 5 вольт (TTL) и 3.3 вольта (CMOS). На картинке ниже изображен микроконтроллерный проект, собранный при помощи макетной платы. На нем микроконтроллер LPC1343 ARM Cortex-M3 подключен к адаптеру UartSBee. Поскольку чип LPC1343 – это 3.3-вольтовый девайс, переключатель питания у него выставлен на 3.3 вольта. Записывать прошивку на LPC1343 можно через интерфейс UART.

Кроме того, этот проект можно расширить любым микроконтроллером/CPLD, который поддерживает запись прошивки через UART или SPI (но для этого потребуется использовать режим «bit-bang»).

На картинке ниже UartSBee v3.1 служит источником 3.3-вольтового питания и 3.3-вольтовым UART-портом для записи прошивки на LPC1343:

Переключатель I/O контактов выставлен в положение 3V3:

Использование UartSBee для беспроводного управления Bee-модулями через ПК

Беспроводная периферия для ПК-проектов

20-контактное (2 гребешка по 10 контактов) гнездо на адаптере UartSBee позволяет подключать к компьютеру Bee-модули вроде XBee, Bluetooth Bee, RF Bee, Wifi Bee и GPS Bee. Это упрощает управление беспроводными проектами через ПК. Поскольку многие Bee-модули поддерживают интерфейс UART, это также упрощает загрузку прошивки на них через ПК.

Беспроводная периферия для микроконтроллерных проектов

Это 20-контактное гнездо также можно использовать для подключения к шине UART. Которой оснащаются микроконтроллерные платы вроде Seeeduino. Более подробно читайте в документации к своему Bee-модулю.

Модуль Xbee, подключенный к UartSBee


Модуль Bluetooth Bee, подключенный к UartSBee

Режим «bit-bang»

Важным отличием UartSBee v3.1 от других адаптеров USB-Serial на базе F232RL является то, что все I/O контакты чипа, используемые для режима «bit-bang», выведены на гребешковые контакты.

Режим «bit-bang» – это специальная функция FT232RL, благодаря которой восемь I/O контактов (D0-D7) можно использовать в качестве двунаправленных GPIO-линий. Это позволяет управлять этими линиями с компьютера, а также считывать данные с этих линий. Чип FT232RL поддерживает три разновидности режима «bit-bang»:

Асинхронный режим «bit-bang»

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

Синхронный режим «bit-bang»

В этом режиме данные передаются синхронно. Сначала считываются входные данные, после чего устройству передаются выходные данные (в виде байта). Следовательно, чтобы прочесть входные данные, нужно выполнить операцию записи.

Режим CBUS «bit-bang»

Это специальный режим, для которого нужно перепрограммировать EEPROM-память чипа FT232RL. Он использует сигналы C0-C3.

Режим «bit-bang» чипа FT232RL хорошо описан в этом PDF-документе.

Эта таблица показывает, какие контакты чипа задействованы в «bit-bang»:

Контакт UartSBee Контакт, преобразованный режимом «bit-bang»
TxD D0
RxD D1
RTS D2
CTS D3
DTR D4
DSR D5
DCD D6
RI D7

Простой пример использования режима «bit-bang» показан на картинке ниже. Здесь контакт DTR (D4) адаптера UartSBee v3.1 через макетную плату подключен к светодиоду. Мигание светодиодом управляется при помощи программы, установленной на ПК.


Для использования режима «bit-bang» необходимо установить драйвер D2XX. Перед его установкой нужно удалить драйвер для виртуального COM-порта чипа FT232RL. В системе GNU/Linux этот драйвер запускается в режиме ядра. В качестве альтернативы вместо D2XX можно использовать бесплатный оупен-сорсный драйвер libFTDI. Он работает на Windows, GNU/Linux и Mac OS. На GNU/Linux он запускается в режиме пользователя.

Следовательно, уже установленный FT232RL-драйвер удалять не нужно.

Драйверу libFTDI требуется libUSB, и скачать его можно отсюда.

Код ниже можно скомпилировать аналогично файлам libFTDI. Самый простой способ – это скопировать код ниже и вставить его в уже существующий файл «*.c», а затем создать драйвер при помощи:

./configure
make

Вот сам код:

/*
Blinky.C : 
Адаптер UartSBee v3.1 (FT232RL), режим «bit-bang»
Мигание светодиодом

Цепь:

* Подключите контакт DTR к аноду светодиода
* Один конец анода подключите к GND, а другой – к катоду светодиода

*/

#ifdef __WIN32__
#define sleep(x) Sleep(x)
#endif

// битовая маска для восьми I/O контактов:
#define TXD 0x01  //  в двоичном виде - 00000001
#define RXD 0x02  //  в двоичном виде - 00000010
#define RTS 0x04  //  в двоичном виде - 00000100
#define CTS 0x08  //  в двоичном виде - 00001000
#define DTR 0x10  //  в двоичном виде - 00010000
#define DSR 0x20  //  в двоичном виде - 00100000
#define DCD 0x40  //  в двоичном виде - 01000000
#define RI  0x80  //  в двоичном виде – 10000000


#include <stdio.h>
#include <ftdi.h>

int main()
{
    unsigned char ouputState = 0;
    struct ftdi_context ftdic;

    /* 1. Инициализируем устройство ftdi */

    ftdi_init(&ftdic);

    /* 2. Открываем устройство, используя идентификаторы VID/PID */

    if(ftdi_usb_open(&ftdic, 0x0403, 0x6001) < 0)
    {
        printf("Unable to UartSBee v3.1");
        return 1;
    }

    /* 3. Включаем «bit-bang» для линии DTR */

    ftdi_set_bitmode(&ftdic, DTR, BITMODE_BITBANG);

    /* 4. Мигаем светодиодом раз в секунду */

    while(1) {
        ouputState ^= DTR;
        ftdi_write_data(&ftdic, &ouputState, 1);
        sleep(1);
    }
}

Режим «bit-bang» чипа FT232RL можно использовать, чтобы сконструировать порты AVR ISP, JTAG, SPI и I2C. Более подробно смотрите ниже, в разделе «Полезные ссылки».

На картинке ниже показан UartSBee, подключенный к Seeeduino через AVR ISP:

Полезные ссылки

Внешние ссылки

Оупен-сорсные драйверы

Другие материалы об использовании FT232RL

См.также

Внешние ссылки