Научная статья на тему 'От USB до UART — всего один кристалл'

От USB до UART — всего один кристалл Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
503
91
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ракович Николай

Интенсивное развитие информационных технологий подчас вступает в противоречие с существующими традициями, установками и наработками: универсальная последовательная шина (USB — Universal Serial Bus) обеспечивает более высокую скорость обмена данными по сравнению с параллельным или последовательным портами, но протокол обмена данными по USB достаточно сложен и реализовать его до недавнего времени было проблематично. Чтобы устранить такое противоречие и облегчить жизнь разработчику, выпускаются ИС серии FT, преобразующие USB-порт в «виртуальный» последовательный или параллельный порты, обмен данными с которыми ведут привычными отработанными методами.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «От USB до UART — всего один кристалл»

Є

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

От USB до UART -

всего один кристалл

Интенсивное развитие информационных технологий подчас вступает в противоречие с существующими традициями, установками и наработками: универсальная последовательная шина (USB — Universal Serial Bus) обеспечивает более высокую скорость обмена данными по сравнению с параллельным или последовательным портами, но протокол обмена данными по USB достаточно сложен и реализовать его до недавнего времени было проблематично. Чтобы устранить такое противоречие и облегчить жизнь разработчику, выпускаются ИС серии FT, преобразующие USB-порт в «виртуальный» последовательный или параллельный порты, обмен данными с которыми ведут привычными отработанными методами.

Николай Ракович

[email protected]

Id

ибкая архитектура ИС серии FT (выпускаемых английской компанией Future Technology Devices International) позволяет применять их в различных приложениях: USB-модемах, кабелях-конвертерах RS-232 в USB, считывателях штрих-кода, кабелях USB-интерфейса для КПК и т. д., то есть почти во всем оборудовании, где используется медленный интерфейс RS232.

FT8U232AM — преобразователь USB в последовательный интерфейс (UART) — можно устанавливать практически в любых устройствах, ранее использовавших сравнительно медленные интерфейсы RS-232, RS-422, RS-485. Эта ИС может передавать данные в обе стороны со скоростью до 2000 кбит/с,

причем пользователю не требуется никаких знаний об устройстве и работе USB. Поставляемые компанией FTDI программные драйверы создают впечатление, что обмен идет через обычный COM-порт.

Функциональная схема FT8U232AM представлена на рис. 1. Ее основа — приемопередатчики интерфейсов UART и USB. Блок UART снабжен полным набором сигнальных цепей стандарта RS-232, приемопередатчик USB — всего двумя информационными выводами USBDP и USBDM (двунаправленный канал передачи данных). Блок преобразования кодов SIE (Serial Interface Engine) преобразует последовательный код в параллельный и обратно, выполняет процедуры битстаффинга, формирует и прове-

Рис. 1. Блок-схема FT8U232AM

о

Є

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

ряет контрольные коды для исходящего и для входящего потоков данных соответственно.

Блок обработки протокола USB отвечает на запросы host-контроллера и управляет режимом работы UART. Для промежуточного хранения данных используются два буфера (FIFO) емкостью 384 байт (на прием) и 128 байт (на передачу). Управление FIFO выполняет соответствующий контроллер.

Задающий генератор микросхемы работает от внешнего кварцевого или керамического резонатора на 6 МГц. Далее его частоту умножают на 8 (до 48 МГц). Тактовую частоту UART получают из 48 МГц в два приема: делением на 16, затем до нужного значения с помощью программируемого делителя. Контроллер UART может работать со скоростью от 300 бод до 2 Мбод, однако реальная максимальная скорость зависит от применяемого преобразователя уровня интерфейсных сигналов.

Выводы EECS, EESK, EEDATA микросхемы FT8U232AM предназначены для подключения внешней энергонезависимой памяти — микросхемы EEPROM 93С46, в которой хранят идентификаторы изготовителя (VID) и персональный (PID), заводской номер изделия и другие данные. Это необходимо, если по USB с компьютером одновременно связаны несколько устройств на микросхемах FT8U232AM. Если ПЗУ отсутствует, к компьютеру можно подключить только одно устройство, образующее виртуальный COM-порт.

Исходное состояние формируется подачей сигнала низкого уровня на вход RESET FT8U232AM. К выводу RCCLK подключается RC-цепь задержки работы ИС на время, необходимое для запуска кварцевого резонатора (выводы XTIN, XTOUT). Вход TEST используют только в отладочном режиме. При обычной работе он должен быть соединен с общим проводом (GND).

По окончании инициализации микросхемы по USB на выходе USBEN устанавливается высокий уровень. Если в течение некоторого времени обмена данными не происходит, то FT8U232AM автоматически переходит в режим ожидания (низкий уровень на выводе SLEEP). При передаче или приеме данных на выводах TXLED и RXLED формируется соответствующий низкий уровень. Сигнал с вывода TXDEN предназначен для управления приемопередатчиком интерфейса RS-485 (высокий уровень при передаче данных по линии TXD).

Напряжение питания микросхемы FT8U232АМ (VCC) — 4,4...5,25 В, потребляемый ток — не более 50 мА в рабочем и 250 мкА в режиме ожидания. Логические выходы микросхемы рассчитаны на ток до 4 мА (вытекающий) и до 8 мА (втекающий).

ИС FT8U245AM позволяет организовать обмен данными между периферийным устройством и компьютером со скоростью до 1 Мбит/с. Область применения — ISDN и ADSL-модемы, цифровые камеры и MP3-проигрывате-ли, измерительная аппаратура. В отличие от FT8U232AM эта микросхема не содержит блока UART, выдавая принятые по USB данные из буфера (FIFO) или принимая их туда

Рис. 2. Блок-схема FT8U245AM

по 8-разрядной параллельной двунаправленной шине данных (D0-D7) (блок-схема на рис. 2). Эта микросхема стыкуется с любыми микропроцессорами и микроконтроллерами, используя их каналы прямого доступа к памяти (DMA) или порты ввода-вывода.

Считывание данных происходит до тех пор, пока не освободится буфер передачи емкостью 384 байт. После заполнения буфера новые данные не будут приниматься, пока содержимое буфера не будет переправлено по USB-шине в компьютер. Таймер на 16 мс позволяет решить проблему с задержкой обмена: если в течение этого времени буфер передачи не заполнен до конца и новые данные не поступают, то содержимое буфера автоматически пересылается в компьютер (аналогично FT8U232AM).

Продолжением этой серии преобразователей USB-UART стала ИС FT8U100AX, представляющая собой USB-контроллер на 7 входов с программным обеспечением во внешнем ПЗУ (OTP ROM) для максимальной адаптации к различным приложениям. В состав этой БИС входят модернизированный хаб-контроллер USB, микроконтроллерное ядро EMCU и комплект встроенных портов, что позволяет подключать через USB различные виды периферийных устройств (от клавиатуры и мыши до ИК-устройств) (блок-схема на рис. 3). Помимо этого имеются схемы включения-отключения питания и определения перегрузки по току для каждого из 7 нисходящих (downstream) портов, а также выводы для подключения двух светодиодов подключения и диагностики состояния каждого порта.

Для беспроблемной работы FTDI поставляет широкий диапазон протестированного программного обеспечения, включая решения для 4- и 7-портовых хабов с поддержкой стандартной клавиатуры и мыши, а также периферийных устройств, подключаемых через RS-232.

Встроенный 8-разрядный микроконтроллер EMCU, упрощающий программирова-

ние, по гарвардской архитектуре с 256 байтами памяти данных. Коды операций оптимизированы для работы с USB-приложениями. В составе EMCU — поддержка последовательного ввода-вывода для управления модемом, интерфейс шины ISA и интерфейс PS/2 для клавиатуры и мыши.

Дальнейшим развитием преобразователей USB-UART стала микросхема третьего поколения FT2232C, соединяющая в себе функциональность двух ИС второго поколения (рис. 4). Нисходящий USB-порт преобразуется в два канала ввода-вывода, каждый из которых конфигурируется отдельно как FT232BM UART или как FT245BM FIFO, причем необходимости в USB-хабе нет.

FT2232C включает все особенности преобразователей второго поколения FT232BM и FT245BM:

• два канала ввода-вывода (конфигурируются отдельно);

• встроенная схема сброса по включению питания;

• встроенный тактовый генератор RC;

• встроенный преобразователь уровня UART/FIFO;

• модернизированная система управления питанием;

• поддержка изохронной передачи;

• вывод немедленной передачи, выход из состояния ожидания для каждого канала;

• низкий ток потребления в режиме пониженного энергопотребления (100 мкА);

• программируемое время задержки приемного буфера данных;

• делитель формирователя скорости передачи с предварительной установкой;

• поддержка внешней памяти;

• поддержка протокола USB 2.0.

Но эта микросхема не относилась бы к третьему поколению, если бы не имела существенных нововведений. О них мы и расскажем.

Многопротокольный синхронный последовательный интерфейс (MPSSE — MultiProtocol Synchronous Serial Engine) разрабо-

Є

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

External ROM Bus Internal Data Bas

RAO - RAI 4

RDO-RD7

ROE#, RCE#

MCLK, KCLK i i

^MD^J<DA^

SCL, SDA < i

INT

EMCU

MICROCONTROLLER

CORE

ADDR

ж. ж.

,DATA

CTL

FTDI

SERIAL INTERFACE ENGINE (SIE)

ENDPOINT DATA BUFFER 256 bytes

PS/2 KEYBOARD l/F PS/2 MOUSE l/F

MASTER/SLAVE 2-WIRE SERIAL BUS

NOTE: SOME OF THE PARALLEL PORT IO PINS ARE MULTIPLEXED WITH OTHER SIGNALS (SEE PINOUT DIAGRAM FOR DETAILS)

III

DATA SRAM 256 bytes

USB HUB REPEATER EOF LOCKAND BABBLE ERROR DETECT

HUB PORT POWER CONTROL AND OVERCURRENT DETECT

SERIAL PORT 1 SERIAL PORT 2 (IrDA SIR) SERIAL PORT 3 (CIR)

PARALLEL I/O PORTS 1-5

FIR

Ir REMOTE CONTROL PORT

USB

DOWNSTREAM

PORTS

DN1+, DNl-to DN7+, DN7-

USB

UPSTREAM

PORTS

UP1+,UP1-

PWR1# - PWR7#

OVL1# - OVL7#

SPTX, IRTX, CRTX

SPRX, IRRX, CRTXL/H

PI DO to PI D7, P2D0 to P2D6, P3D0 to P3D6, P4D0 to P4D6, P5D0 to P5D5

FIR

Рис. 3. Блок-схема FT8U100AX

Є~

тан для поддержки синхронных последовательных интерфейсов, таких, как JTAG и SPI Bus. Интерфейс MPSSE может быть сконфигурирован для различных промышленных стандартов или собственных протоколов. Например, один из каналов FT2232C подключается к вентильной матрице FPGA Altera или Xilinx, которая обычно не имеет определенной функции при подаче питания. Программное обеспечение, установленное на компьютере, может использовать интерфейс MPSSE для загрузки в вентильную матрицу через порт USB данных конфигурации, определяющих аппаратную функцию FPGA. Второй канал будет доступен для других устройств. Такой подход позволяет создавать «родовую» USB-периферию, аппаратная функция которой может устанавливаться программно. При этом «железная» составляющая вентильной матрицы легко модифици-

руется или полностью изменяется простым изменением конфигурационного файла.

Эмуляция шины микроконтроллера. В этом режиме эмулируется шина стандартных микроконтроллеров 8048/8051, что позволяет периферийным устройствам на основе этих микроконтроллеров напрямую подключаться к ЕТ2232С (на базе МР88Е, естественно).

Быстродействующий оптоизолированный последовательный интерфейс — новый собственный протокол ЕТБ1, разработанный для подключения приборов с гальванической развязкой к ЕТ2232С с использованием всего четырех сигнальных проводов (для двух сдвоенных оптопар) и двух проводов питания. Соответствующая схема управляет скоростью передачи данных в обоих направлениях при сохранении целостности данных (в этом случае можно получить максимальную скорость передачи данных для ШВ).

При необходимости оба канала могут подключаться по этому же 4-проводному интерфейсу.

Для упрощения применения FT2232C компанией FTDI разработан компактный, готовый к использованию модуль MORPH-IC, который соединяет гибкость FT2232C с возможностями программируемой пользователем вентильной матрицы (FPGA) серии Altera ACEX 1k (EP1K10TC100-3) (общий вид на рис. 5, блок-схема — на рис. 6). Выводы модуля разведены 2x20 с шагом 2,5 мм, возможно также подключение через соответствующие разъемы. В состав модуля входят два стабилизатора напряжения на 3,3 и 2,5 В для питания FPGA и тактовый генератор на 50 МГц. Управление питанием осуществляется FT2232C через MOSFET-транзистор.

В модуле MORPH-IC используется интерфейс MPSSE, реализованный в FT2232C для

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

е

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

vcc

3V30UT^-

PWRCTL ■

3,3 Volt LDO Regulator

PWREN#

48 MHz -

Baud Rate Generator

Dual Port IX Buffer 128 bytes

USBDP4----►

Serial Interface Enqine (SIE)

Dual PortTX Buffer 384 bytes

USB Protocol Engine

Channel A

Multi-

Purpose

UART/FIFO

Controller

<--------►AD BUSO

ADBUS 1 ADBUS2

Dual PortTX Buffer 128 bytes

Dual PortTX Buffer 384 bytes

► 48 MHz

► 12 MHz

48 MHz -

Baud Rate Generator

Channel В

Multi-

Purpose

UART/FIFO

Controller

► ADBUS7 -► ACBUSO

-► ACBUS1

-► ACBUS2 -► ACBUS3

— SI/WUA

-►BDBUSO —►BDBUS1 -► BDBUS2 -► BDBUS3 -► BDBUS4 -►BDBUS5 -► BDBUS6 -► BDBUS7 -►BCBUSO -►BCBUS1

BCBUS2 -► BCBUS3

SI/WUB

TEST-GND -

Рис. 4. Блок-схема FT2232C

► EECS

EEPROM EESK

Interface

< ► EEDATA

3V30UT

_L_

RESET#------►

RESET

GENERATOR

-► RSTOUT#

перепрограммирования вентильной матрицы через ШВ за доли секунды: содержимое матрицы может быть перезагружено (переопределено) почти в реальном времени (менее 0,2 с). Это позволяет эффективно применять модуль при различных вариантах «железа» (программное управление через ШВ) для конкретного применения. Второй канал ЕТ2232С подключен к выводам входов-выходов ЕРОЛ, что может быть использовано ЕРОЛ для связи с прикладным программным обеспечением через ШВ-порт со скоростью передачи данных до 1 Мбайт/с. Эти особенности модуля МОИРН-ГС позволяют его использовать в контрольно-измерительном оборудовании, средствах связи и других прикладных областях, где гибкость и встроенная возможность модификации являются первостепенными.

В комплекте с модулем идут драйверы для ШВ-порта для Windows 98/МЕ/2000/ХР, примеры УНБЬ-кодов, загрузчик ЕРОЛ

(включая исходный код на Delphi), а также Windows DLL, используемый для поддержки наиболее распространенных языков программирования для Windows (Visual C++, Visual Basic, Borland Delphi). На втором компакт-диске находится полный комплект для приборов программируемой логики, включая введение в основы проектирования, синтез HDL, средства для размещения элементов и трассировки соединений ИС, проверки и моделирования. Все это работает под Windows NT/2000/XP и может использоваться для программирования установленной на модуле вентильной матрицы. Стоимость и гибкая система скидок на модули MORPH-IC делает их наиболее предпочтительными при мало- и среднебюджетных разработках. Кроме того, учитывая полный программный комплект для FPGA, модули MORPH-IC —

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

Подключение МОИРН-ІС к ШВ-порту компьютера осуществляется кабелем через ШВ-разъем, установленный на плате модуля. При установке перемычки на ІР1 (по умолчанию) питание на модуль подается от ШВ-порта. В случае необходимости внешнее питание +5 В подается на вывод 1 ІР1, а перемычка удаляется. Для корректной работы модуля МОИРН-ІС все установки по умолчанию записываются в ББРИОМ 93С56 еще на заводе. Перепрограммирование этих установок с помощью утилиты МРИОО следует выполнять очень аккуратно, чтобы после этого модуль остался в рабочем состоянии. Два стабилизатора напряжения в составе МОИРН-ІС обес-

Vcc(USB)

о-----

CN1

MOSFET POWER SWITCH

1АГ

USB

CONNECTOR

_GND I-------

6 MHzXTAL/ RESONATOR

c(5V) -O—

3 3V REGULATOR

с (3,3 V)

-o

FT2232C USB INTERFACE

I.C.

2,5 V REGULATOR

PROGRAMMING

INTERFACE

<-------—--------H

VCORE

IO CONNECTORS

DATA TRANSFER INTERFACE

n

93C56 USB CONFIGURATION EE PROM

ALTERA ACEX EPI K10TC-10Û FPGA

I NT CLOCK (PIN 90)

EXT CLOCK [PIN 39)

50 MHz OSCILLATOR

Рис. 6. Блок-схема модуля MORPH-IC

Рис. 5. Внешний вид модуля MORPH-IC

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

печивают питание логического ядра +2,5 В и элементов ввода-вывода БРОЛ +3,3 В. Выход стабилизатора +3,3 В подключается на выводы разъемов 11 и 12 для питания внешней логики с током потребления до 250 мА. При переходе ШВ в режим пониженного энергопотребления стабилизатор +3,3 В выключается. Тактовый генератор 50 МГц подключен на вывод 90 матрицы ЕР1К10ТС-100. В тех случаях, когда требуется другая тактовая частота, используется вывод 39 вентильной матрицы, разведенный на вывод 14 разъема 12. Тактовый генератор 6 МГц для работы БТ2232С тоже входит в состав модуля.

Для программирования вентильной матрицы «на лету» используется МРввЕ канала А БТ2232С. БРОЛ можно программировать/ перепрограммировать быстрее, чем за 0,2 с,

с использованием нескольких различных файлов конфигурации для разных режимов работы. Это позволяет проектировать такие устройства, которые обычно не попадают «в размер» вентильной матрицы. Файлы конфигурации поставляются в комплекте программного обеспечения Altera Quartus и могут быть загружены в FPGA либо вручную программой загрузки (из вышеупомянутого комплекта), либо под управлением прикладного программного обеспечения с применением DLL.

Двунаправленная передача данных по 8-разрядной шине между FT2232C и ЕР1К10ТС-100 выполняется в режиме FIFO каналом В FT2232C, что позволяет вентильной матрице работать с ПК через порт USB.

Законченные модули с ИС FT2232C производит не только фирма FTDI. Модули с разъемом USB, FT2232C, EEPROM 93С56 и стандартным 40-выводным разъемом выпускает DLP Design (внешний вид модуля показан на рис. 7, а блок-схема — рис. 8). Отдельный USB-порт преобразуется в два канала ввода-вывода, каждый из которых может быть сконфигурирован как интерфейс DLP-USB232M UART или интерфейс DLP-USB245M FIFO без дополнительного USB-хаба.

С подробностями можно ознакомиться на сайте производителя www.ftdichip.com.

USB Туре ’В’ connector to Host PC/Mac

6 MHz Resonator

Рис. 8. Блок-схема модуля DLP-2232M

PWREN# DP, DM

3,3 Volt LDO

FT2232C

Channel A Multi-purpose UART/ FIFO Controller 40 Pin, .6 inch Header

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Channel B Multi-purpose UART/ FIFO Controller

I

Рис. 7. Внешний вид модуля DLP-2232M

е

i Надоели баннеры? Вы всегда можете отключить рекламу.