USB как альтернатива ISA интерфейсу в устройствах ввода-вывода
После исчезновения слотов ISA из компьютеров многие столкнулись с проблемой недорогого подключения различных вновь создаваемых устройств к компьютеру. Несложная схемная реализация дешифратора интерфейса ISA, простота написания программ и драйверов для операционной системы DOS сделали в своё время это интерфейс популярным и доступным при проэктировании устройств ввода-вывода, хранения и обработки данных.
Через некоторое время на рынке (в том числе компьютерном) появилась и получила широкое распространение операционная система Windows. Работать с устройствами по интерфейсу ISA по-прежнему было просто, но для написания драйверов требовалось больше времени и знаний.
На смену ISA интерфейсу пришел PCI — более скоростной, но и более сложный в реализации. Для создания простых устройств потребовались многослойные печатные платы достаточно высокого класса точности и не самые простые чипы программируемой логики. Кроме того, понадобились достаточно основательные знания для написания драйверов под такие устройства.
В тех случаях, когда требуется быстро и недорого реализовать устройство с достаточно высокой скоростью обмена данными с компьютером и нет необходимости применения всех ресурсов PCI, привлекательным решением становится универсальная последовательная шина USB.
Компания Future Technology Devices International (FTDI) предлагает готовые решения в этой области. Это три микросхемы преобразователей интерфейсов: USB — последовательный порт, USB — параллельный порт и USB Hub контроллер с расширенными периферийными функциями.
Первая микросхема FT232BM — это однокристальный асинхронный двунаправленный преобразователь USB — последовательный интерфейс (RS-232, RS-422, RS-485). FT232BM включает в себя приемопередатчик USB, UART-контроллер и буферы, стабилизатор напряжения, умножитель частоты и множество других функциональных у лов, которые делают ее готовым решением для быстрой и недорогой модернизации системы с COM-портом для работы с интерфейсом USB.
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 c протоколом 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 находятся руководство программиста и примеры программного обеспечения на Visual C++, C++Builder, Delphi, Visual Basic.
- Драйверы для Apple MacOS и Linux. Драйвер для MacOS 8 и 9 — универсальный, для версий OS-X разработан отдельный драйвер. Под Linux разработаны драйверы для версий OС от 2.4.0 и старше.
Кроме этого, FTDI разработаны утилиты для тестирования компонентов и программирования памяти EEPROM через USB-интерфейс микросхем-преобразоватей. Утилиты разработаны под Windows для работы с использованием D2XX драйвера и также свободно размещены на сайте компании.
Комплекты разработки
Для уменьшения экономических и временных затрат при разработке и внедрении компанией разработано более 10 комплектов разработки и готовых модулей преобразователей интерфейсов.
- DPL-USB232M и DPL-USB245M — недорогие модули, представляющие собой готовые схемотехнические решения для преобразователей USB-UART и USB-FIFO. Они идеально подходят как платы-прототипы и выполнены на 4-слойной плате со всеми необходимыми компонентами (в том числе памятью EEPROM 93С46) и разъемами USB и DIP24.
- DPL-245PB и DPL-245SY — платы-прототипы с разъемами DIP40 и USB, с установленными PIC16F877 и Scenix SX48 для быстрой разработки USB-интерфейсов на базе недорогих микроконтроллеров.
- DPL-EvalP и DPL-EvalS — платы эмуляторов, с установленными микроконтроллерами PIC16F870 и Scenix SX28 и температурными датчиками DS18S20. Платы позволяют выполнять разработки и демонстрируют различные аспекты применения компонентов USB: измерение температуры, соединение с USB-хостом персонального компьютера, мониторинг питания схемы во время работы USB.
Кроме того, память программ установленных на платах микроконтроллеров может быть перепрограммирована с использованием кабеля-адаптера DLP-FLASH .
Примеры и области применения
Применение преобразователей интерфейсов USB во всех отраслях современной бытовой и профессиональной аппаратуры продолжает расти. Вот только некоторые примеры:
- Модернизация существующей периферии (в том числе для персональных компьютеров).
- Кабели и интерфейсы для мобильных и беспроводных телефонов.
- USB-передача аудио и видео.
- Цифровые камеры, фотоаппараты, интерфейсы МР3-проигрывателей.
- Портативные компьютеры, считыватели Smart Card и Flash card.
- USB модемы и системы управления.
- USB-считыватели штрих кодов.
На сайте
www.ftdichip.com приведен ряд примеров применения преобразователей интерфейсов в готовых устройствах, включая электрические схемы в формате ORCAD.