USB как альтернатива ISA интерфейсу в устройствах ввода-вывода

Компоненты и технологии, № 5'2003

USB как альтернатива ISA интерфейсу

в устройствах ввода-вывода

После исчезновения слотов 1БД из компьютеров многие столкнулись с проблемой недорогого подключения различных вновь создаваемых устройств к компьютеру. Несложная схемная реализация дешифратора интерфейса 1БД, простота написания программ и драйверов для операционной системы РОБ сделали в свое время это интерфейс популярным и доступным при проектировании устройств ввода-вывода, хранения и обработки данных.

Василий Колтун

info@premier-electric.com Андрей Шевердин

Ч:

і

ерез некоторое время на рынке (в том числе компьютерном) появилась и получила широкое распространение операционная система Windows. Работать с устройствами по интерфейсу КА по-прежнему было просто, но для написания драйверов требовалось больше времени и знаний.

На смену КА интерфейсу пришел РС1 — более скоростной, но и более сложный в реализации. Для создания простых устройств потребовались многослойные печатные платы достаточно высокого класса точности и не самые простые чипы программируемой логики. Кроме того, понадобились достаточно основательные знания для написания драйверов под такие устройства.

В тех случаях, когда требуется быстро и недорого реализовать устройство с достаточно высокой скоростью обмена данными с компьютером и нет необходимости применения всех ресурсов РС1, привле-

кательным решением становится универсальная последовательная шина USB.

Компания Future Technology Devices International (FTDI) предлагает готовые решения в этой области. Это три микросхемы преобразователей интерфейсов: USB — последовательный порт, USB — параллельный порт и USB Hub контроллер с расширенными периферийными функциями.

Первая микросхема FT232BM — это однокристальный асинхронный двунаправленный преобразователь USB — последовательный интерфейс (RS-232, RS-422, RS-485). FT232BM включает в себя приемопередатчик USB, UART-контроллер и буферы, стабилизатор напряжения, умножитель частоты и множество других функциональных узлов, которые делают ее готовым решением для быстрой и недорогой модернизации системы с COM-портом для работы с интерфейсом USB.

USB

FB1

Ферритовая бусина

R1,R2/270m

*Vcc

ЗІ26ИЗІ

R5/ 470 0м

С4/ 0,1 мкФ

С1/10 нФ

R3/1.5KOM

Vcc

С2/0,1мкФТ СЗ/ ЮмкФ

32

Vcc1,2 Vcc I/O Avcc

Reset

3V30UT TXDEN

TXD

POWERCTRL

PWREN

USB DM RXD

USB DP

XT IN

RSTOUT XTOUT

EEDATA TXLED

EESK RXLED

EECSFT232BM

GND 1,2 AGND

91 17І 291

RS485

DM

DP

GND

BQI/бМГц 5

R4/2,2KOm

Є.

CS vcc

SK NC

DIN NC

DOUT л GND

93C46

8

7

6

5

R7/2200м *>VD1

Avcc

у СС

R6/10 КОм

--------EZF-

Рисунок. Схема преобразователя USB-RS-485 на базе FT232BM

Компоненты и технологии, № 5'2003

FT232BM совместим со спецификациями USB 1.1 и USB 2.0 при скорости передачи до 12 Мбит/с (Full Speed) и поддерживает интерфейсы хост-контроллеров UHCI (Universal Host Controller Interface) Intel и OHCI (Open Host Controller Interface) Microsoft, Compaq и новый EHCI (Enhanced Host Controller Interface) Intel. Поддерживается передача данных обычных и управляющих пакетов, передача прерываний и изохронных данных — пакетов, передающихся на определенной скорости и не повторяющихся в случае сбоя, например, аудио или видео.

Буфер передатчика USB составляет 128 байт, приемника — 384 байта с возможностью программирования таймаута по приему данных с периодом от 1 до 255 мс, что позволяет гибко настраивать быстродействие устройства при передаче коротких пакетов данных.

Включение в схему FT232BM требует минимального количества дополнительных внешних компонентов. Встроенный стабилизатор напряжения обеспечивает питание 3,3 В для USB-приемопередатчика и других узлов микросхемы. Кроме того, стабилизатор имеет выход внешней нагрузки для питания других компонентов на плате, требующих напряжение 3,3 В и имеющих небольшой ток потребление (до 5 мА). Токи потребления FT232BM соответствуют требованиям спецификации USB-устройств, питание которых осуществляется непосредственно от USB. Собственный ток потребления FT232BM в активном режиме работы не превышает 25 мА, что в 4 раза меньше верхнего предела, установленного спецификацией USB (100 мА). В режиме Suspend (приостановка) FT232BM потребляет не более 200 мкА (500 мкА по спецификации).

Как уже упоминалось, при питании от USB ток потребления не должен превышать 100 мА на одно устройство. Компоненты с током потребления более 100 мА должны запи-тываться через отдельный стабилизатор. Для управления питанием других компонентов схемы в FT232BM предусмотрен вывод «PWREN». «PWREN» подключается в затвор MOSFET-ключа и с его помощью подключает и отключает питание компонентов схемы.

Встроенная схема формирования сигнала «сброс» генерирует импульс длительностью около 5 мс при превышении напряжением питания уровня 3,5 В. Сигнал сброса используется для внутренних цепей FT232BM и имеет дополнительно вход «RESET» для принудительного сброса микросхемы преобразователя от внешнего устройства и выход «RSTOUT» для сброса других микросхем на плате.

Во время действия сигнала сброс выход «RSTOUT» находится в высокоимпедансном (Z) состоянии, а после окончания сброса на выводе «RSTOUT» устанавливается напряжение 3,3 В. Это позволяет использовать «RSTOUT» для подключения подтягивающего (pull-up) резистора на линию DP шины USB при необходимости применения задержанной энумерации (задержки при подключении и идентификации устройства).

Кроме того, вход «RESET» может быть подключен к линии питания USB через резистивный делитель. В этом случае при пропадании

питания хоста или хаба USB на входе «RESET» будет низкий уровень, FT232BM перейдет в состояние сброса и выводы UART-интерфейса перейдут в высокоимпедансное состояние.

FT232BM имеет встроенный интерфейс для подключения памяти EEPROM. Поддерживается 16-битная EEPROM с протоколом Microwire (например, 93C46) и быстродействием не менее 1 Мбит/с. Применение EEPROM необходимо для идентификации и спецификации каждого устройства при подключении к хосту нескольких устройств на базе FT232BM.

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

При подключении к хосту нескольких устройств на базе FT232BM каждому из них назначается свой виртуальный COM-порт, а серийные номера, VID и PID USB, а также строки с кратким описанием устройства должны быть предварительно запрограммированы в EEPROM. Программирование памяти осуществляется непосредственно в схеме по интерфейсу USB с помощью специальной утилиты, которую можно скачать с сайта производителя.

FT232BM имеет встроенный умножитель частоты на базе ФАПЧ, который преобразовывает 6 МГц кварцевого генератора в опорный сигнал 12 МГц для USB-контроллера и 48 МГц для цепи ФАПЧ USB приемопередатчика (USB DPLL) и тактового генератора UART. Генератор UART также имеет встроенный 14-битный делитель, позволяющий перестраивать частоту UART от 183 бод до 3 Мбод. Максимальная скорость при работе с RS-232 составляет 1 Мбод, а с RS-422/485 — 3 Мбод.

FT232BM имеет поддержку полного набора квитирования модемного интерфейса и поддерживает различные режимы приемо-пере-дачи по UART: асинхронный 7/8-битный, с 1 или 2 стоп-битами, с четностью/нечетностью, маркером, с паритетом или без паритета. Поддерживаются сигналы готовности к передаче/приему RTS/CTS, DSR/DTR и управляющие символы, сообщающие о начале (X-ON) или окончании (X-OFF) передачи.

Вторая микросхема FT245BM — это преобразователь USB — параллельный интерфейс. FT232BM полностью аналогична по своим характеристикам FT232BM, и отличие заключается в поддержке 8-битного параллельного интерфейса вместо последовательного. Параллельный интерфейс представлен 1-байт-ным портом шины данных, сигналами чтения и записи в FT232BM и во внешние устройства (RD/WR, TXE/RXE).

Третья микросхема FT8U100AX — это однокристальный семипортовый USB Hub контроллер, поддерживающий 7 нижних и 1 верхний USB-порт по спецификации USB 1.1 и интерфейс хост-контроллеров UHCI/OHCI.

FT8U100AX имеет встроенное 8-битное микропроцессорное ядро с 256 байтами ОЗУ, работающее от внешнего генератора на частоте 48 МГц. Программа FT8U100AX должна размещаться во внешней памяти.

Кроме USB, FT8U100AX имеет порты для подключения внешней периферии: последовательный порт RS-232, порт клавиатуры PS/2, порт мышки PS/2 и порт инфракрасного канала передачи данных.

Кроме этого есть встроенный двухпроводной последовательный интерфейс с поддержкой режимов master/slave.

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

На каждом из подключенных портов USB осуществляется автоматический контроль напряжения питания и перегрузки. Напряжение питания контроллера 3,3 В. Тип корпуса — 100-выводной PQFP.

Драйверы и утилиты

Существует несколько типов драйверов для преобразователей интерфейсов FTDI, разработанных непосредственно FTDI или другими компаниями. Приятной особенностью драйверов является их максимальная простота при установке и использовании, доступность (www.premier-electric.com) и широкое разнообразие, обеспечивающее возможность применения практически на любой операционной системе. Все драйверы сопровождаются руководствами и техническими описаниями по применению.

Компанией FTDI разработаны драйверы для операционных систем Windows (98, 98CE, 2000, ME, XP), Apple MacOS, Linux.

• VCP-драйверы виртуального COM-порта для Windows 98/ME/2000/XP (XP — сертифицированный). Эти драйверы вместе с микросхемами преобразователей интерфейсов разработаны для тех случаев, когда необходимо быстро и без особых затрат сделать свою продукцию совместимой с USB, сохраняя при этом совместимость и с ранее разработанным программным обеспечением под COM-порт. При установке драйвера в операционной системе добавляется виртуальный COM-порт (дополнительно к существующим аппаратно) и программное обеспечение обращается к USB-устройству так же, как к стандартному COM-порту, используя стандартные вызовы VCOMM API или с использованием библиотек виртуального порта.

• Драйвер D2XX Direct для Windows 98/ME/2000/XP. Драйвер D2XX является альтернативой виртуальному и обеспечивает доступ к USB-компонентам с использованием DLL. Драйвер применяется для новых разработок и в системах без COM-порта. Драйвер состоит из Windows WDM драйвера и соединяется с устройством, используя USB-стек операционной системы и dll-библиотеку, которая объединяет программное обеспечение (написанное на VC++, C++ Builder, Delphi, VB и т. д.) и WDM-драйвер. В комплекте с драйвером на сайте FTDI находятся руководство программиста и примеры программного обес-

Компоненты и технологии, № 5'2003

печения на Visual C++, C++ Builder, Delphi, Visual Basic.

• Драйверы для Apple MacOS и Linux. Драйвер для MacOS 8 и 9 — универсальный, для версий OS-X разработан отдельный драйвер. Под Linux разработаны драйверы для версий ОС от 2.4.0 и старше.

Кроме этого, FTDI разработаны утилиты • для тестирования компонентов и программирования памяти EEPROM через USB-интерфейс микросхем-преобразоватей. Утилиты разработаны под Windows для работы с использованием D2XX драйвера и также свобод- • но размещены на сайте компании.

Комплекты разработки

Для уменьшения экономических и временных затрат при разработке и внедрении компанией разработано более 10 комплектов разработки и готовых модулей преобразователей интерфейсов.

• DPL-USB232M и DPL-USB245M — недорогие модули, представляющие собой готовые

схемотехнические решения для преобразователей USB-UART и ШВ-Е1Е0. Они идеально подходят как платы-прототипы и выполнены на 4-слойной плате со всеми необходимыми компонентами (в том числе памятью EEPR0M 93С46) и разъемами ШВ и DIP24.

• DPL-245PB и DPL-245SY — платы-прототипы с разъемами DIP40 и ШВ, с установленными Р1С16Е877 и Scenix SX48 для быстрой разработки ШВ-интерфейсов на базе недорогих микроконтроллеров.

• DPL-EvalP и DPL-EvalS — платы эмуляторов, с установленными микроконтроллерами Р1С16Е870 и Scenix SX28 и температурными датчиками DS18S20. Платы позволяют выполнять разработки и демонстрируют различные аспекты применения компонентов ШВ: измерение температуры, соединение с ШВ-хостом персонального компьютера, мониторинг питания схемы во время работы ШВ.

Кроме того, память программ установленных на платах микроконтроллеров может

быть перепрограммирована с использованием кабеля-адаптера DLP-FLASH.

Примеры и области применения

Применение преобразователей интерфейсов USB во всех отраслях современной бытовой и профессиональной аппаратуры продолжает расти. Вот только некоторые примеры:

• Модернизация существующей периферии (в том числе для персональных компьютеров).

• Кабели и интерфейсы для мобильных и беспроводных телефонов.

• USB-передача аудио и видео.

• Цифровые камеры, фотоаппараты, интерфейсы МР3-проигрывателей.

• Портативные компьютеры, считыватели Smart Card и Flash card.

• USB модемы и системы управления.

• USB-считыватели штрих кодов.

На сайте www.ftdichip.com приведен ряд примеров применения преобразователей интерфейсов в готовых устройствах, включая электрические схемы в формате ORCAD.