FT2232H: двухканальная высокоскоростная USB микросхема для I/O Печать
Добавил(а) microsin   

В статье описывается современный высокоскоростной чип FTDI - FT2232H, Hi-Speed USB 2.0 - Dual UART/FIFO Converter (USB 2.0 High Speed и Full Speed, FT2232HL-xxxx 64 Pin LQFP). Основой для материала статьи послужил перевод даташита на FT2232H (в даташите, кстати говоря, имеются опечатки, которые по возможности исправлены в этом тексте).

FT2232H-common-package-viewМногие радиолюбители хорошо знают и успешно применяют в своих конструкциях чип FT232 (FT232R, FT232BL, FT232BQ, FT232BM) - преобразователь USB < -- > последовательный порт RS232 (COM-порт). Чип FT232 хорош тем, что позволяет не заботиться ни о драйверах, ни о программном обеспечении на компьютере - USB-устройство на чипе FT232 работает в стандартном классе CDC, и образует на компьютере виртуальный COM-порт, с которым удобно работать как через множество готовых программ (SecureCRT, terraterm, putty), так и программно через простое API в операционных системах Windows и Linux.

Недостаток такого подключения заключается в том, что для передачи данных доступны низкие скорости (максимум 3 мегабита в секунду) последовательного канала передачи данных, и только один канал передачи данных. Режимы USB 2.0 Full Speed и USB 2.0 High Speed способны передавать данные на гораздо бОльших скоростях - 12 мегабит в секунду и 480 мегабит в секунду соответственно. Для этого компанией FTDI были разработаны две новые микросхемы - FT2232H и FT4232H. Имеется также полноскоростной (Full Speed USB), более дешевый функциональный аналог FT2232D, у которого меньше выводов (корпус LQFP48). В этой статье подробно рассматривается чип FT2232H.

Микросхема FT2232H предназначена для "приземления" USB-подключения различными способами - в качестве скоростных последовательных интерфейсов UART, JTAG, I2C, SPI, параллельных интерфейсов FIFO, bit-bang, и даже как обычные порты прямого ввода/вывода (GPIO). Чип FT2232H выпускается в 64-выводных корпусах LQFP или QFN, рассчитан на напряжение питания 3.3 вольт, и конфигурируется с помощью подключения внешней микросхемы EEPROM 93С46 (или аналогичной). Применение микросхемы FT2232H дает разработчику простой способ реализации высокоскоростного моста между USB и различными типами доступных интерфейсов, в которые можно передавать (и откуда можно принимать) данные через USB. Микросхема FT4232H отличается от FT2232H набором интерфейсов и шин. Благодаря наличию двух микросхем FT2232H и FT4232H разработчик получает широкие возможности по преобразованию интерфейса USB в необходимые ему шины (см. далее описание режимов и шин).

[Основные особенности FT2232H]

Микросхема FT2232H (принадлежащая 5 поколению USB устройств FTDI) - преобразователь интерфейса USB 2.0 High Speed 480 мегабит/сек (поддерживается совместимость с USB 2.0 High Speed 480 мегабит/сек и Full Speed 12 мегабит/сек) в интерфейсы UART/FIFO с возможностью конфигурирования в различные стандартные последовательные или параллельные интерфейсы. Протокол USB полностью обрабатывается внутри чипа, не требуется дополнительное firmware. Имеются следующие возможности:

- преобразование одного подключения USB в два последовательных или параллельных порта в различных комбинациях.
- две системы Multi-Protocol Synchronous Serial Engine (MPSSE) упрощают разработку с поддержкой синхронных последовательных протоколов (преобразование USB в интерфейсы JTAG, I2C, SPI или bit-bang).
- два независимых UART или FIFO, конфигурируемых через MPSSE.
- независимые генераторы скорости передачи (Baud rate generators).
- скорость RS232/RS422/RS485 UART до 12 мегабод (мегабит/с). Скорость RS232 ограничена возможностями внешнего преобразователя уровня.
- скорость USB < -- > параллельная шина FIFO до 8 мегабайт/сек (около 64 мегабит/сек).
- режим одноканального синхронного FIFO со скоростью до до 25 мегабайт/сек (около 200 мегабит/сек).
- режим FIFO в стиле интерфейса CPU (наподобие шины Intel).
- режим эмуляции микропроцессорной шины MCU.
- режим быстрого оптоизолированного последовательного интерфейса (fast opto-isolated serial interface mode).
- бесплатные для использования драйвера от FTDI - для Virtual Com Port (VCP) и Direct (D2XX), которые в большинстве случаев устраняют необходимость в разработке драйвера USB для операционной системы.
- настраиваемый таймаут приемного буфера.
- опция для подключения светодиодов LED, сигнализирующих о приеме и передаче.
- расширенный режим интерфейса bit-bang со стробами ~RD и ~WR.
- режим интерфейса FIFO в стиле FT245B с двунаправленной шиной и 4-проводным интерфейсом квитирования (handshake).
- встроенный стабилизатор напряжения +1.8V LDO (Low Dropout, регулятор с малым падением напряжения), функция сброса по питанию (Power-On Reset, POR), умножитель тактовой частоты с использованием ФАПЧ (clock multiplier PLL) 12 МГц – 480 МГц.
- режим асинхронного интерфейса UART с полной аппаратной шиной квитирования (hardware handshaking) и всеми сигналами интерфейса с модемом.
- аппаратные средства, которые полностью помогают аппаратному или программному (X-On/X-Off) квитированию.
- интерфейс UART поддерживает все стандартные режимы 7 или 8 бит данных, 1 или 2 стоп-бита, и режимы Odd/Even/Mark/Space/No Parity.
- управление автоматической передачей для приложений.
- режим конфигурирования через USB, который позволяет задать строковые описатели для USB и сохранить их во внешнем EEPROM 93С46.
- конфигурируемая нагрузочная способность ввода-вывода (4, 8, 12 или 16 мА) и скорость переключения (slew rate).
- низкое энергопотребление в рабочем режиме и режиме приостановки (USB suspend).
- поддерживаются конфигурации USB с питанием от шины USB (bus powered), с собственным питанием (self powered) и с питанием от шины USB с повышенным энергопотреблением (high-power bus powered).
- поддерживается совместимость с хостом по стандартам UHCI/OHCI/EHCI.
- режим передачи данных USB Bulk (пакеты по 512 байт в режиме High Speed).
- напряжение питания ядра (chip core) +1.8 вольт и интерфейс ввода-вывода +3.3 вольт (совместимый с +5 вольт).
- температурный диапазон -40..+85 град.
- малогабаритный 64-выводный корпус LQFP или QFN.
- для работы достаточно одного напряжения питания +3.3 вольт.
- на портах I/O предусмотрена защита от статического электричества (ESD protection).

Микросхема FT2232H выпускается в двух видах корпусов - 64 Pin LQFP и 64 Pin QFN.

FT2232H-LQFP64          FT2232H-QFN64
FT2232HL-xxxx 64 Pin LQFP   FT2232HQ-xxxx 64 Pin QFN

Здесь xxxx закодирован способ поставки с завода, Reel или Tray.

Reel: Taped and Reel (лента и линейка), LQFP = 1000 штук на линейку, QFN = 4000 штук на линейку.
Tray: Tray packing (упаковка в виде поддона) LQFP = 160 штук на упаковку, QFN = 260 штук на упаковку.

Более подробно по типам корпуса и упаковки см. даташит на микросхему FT2232HL (либо по ссылке [5], либо на сайте производителя).

1 Типичные применения FT2232H

- мост USB < -- > 2 канала UART (RS232, RS422 или RS485)
- мост USB < -- > 2 канала FIFO
- мост USB < -- > 2 канала JTAG
- мост USB < -- > 2 канала SPI
- мост USB < -- > 2 канала I2C
- мост USB < -- > 2 канала Bit-Bang
- мост USB < -- > комбинация из вышеперечисленных интерфейсов
- мост USB < -- > быстрый оптический последовательный интерфейс (Fast Serial Optic Interface)
- мост USB < -- > двойной, независимый интерфейс CPU (в качестве памяти)
- мост USB < -- > эмуляция Host Bus (в качестве CPU)
- подключение PDA к USB
- ридеры для смарт-карт, подключаемые по USB
- подключение плееров mp3 к USB
- использование шины USB для промышленного управления и инструментальное применение USB
- ридеры для FLASH-карт, подключаемые по USB
- подключение цифровых видеокамер к USB
- ридеры для баркода (штриховой код), подключаемые по USB

1.1 Драйвер для различных операционных систем

Для работы FT2232H нужны драйверы (перечисленные ниже), которые можно свободно скачать (и затем бесплатно использовать) с сайта FTDI (см. ссылки [1, 2]). Драйвер для FT2232H бывает двух видов. Первый для формирования виртуального COM-порта (virtual COM port, VCP), что позволяет через USB эмулировать стандартный последовательный порт PC (например TTX). Другой драйвер USB от компании FTDI, так называемый D2XX, может использоваться программным обеспечением хоста для прямого доступа к FT2232H через библиотеку DLL.

Royalty free VIRTUAL COM PORT (VCP) DRIVERS для:

  • Windows 2000, Server 2003, Server 2008
  • Windows XP и XP 64-bit
  • Windows Vista и Vista 64-bit
  • Windows XP Embedded Windows CE 4.2, 5.0, 5.2 и 6.0
  • Mac OS-X
  • Linux (2.6.9 или более свежая)
  • Windows 7 и Windows 7 64-bit

Royalty free D2XX Direct Drivers (USB Drivers + DLL S/W Interface) для:

  • Windows 2000, Server 2003, Server 2008
  • Windows XP и XP 64-bit
  • Windows Vista и Vista 64-bit
  • Windows XP Embedded Windows CE 4.2, 5.0, 5.2 и 6.0
  • Linux (2.4 или более свежая) и Linux x86_64
  • Windows 7 and Windows 7 64-bit

Для установки драйвера имеются апноуты AN_103, AN_104, AN_107, AN_119, а также дополнительная информация по установке и применению - апноуты AN_113, AN_109, AN_110, AN_111, AN_113, AN114, AN135, AN108, TN_104 (см. ссылки [4, 5]).

1.2 Именование чипов (part numbers)

Part Number Package (корпус)
FT2232HL-xxxx 64 Pin LQFP (LQFP64)
FT2232HQ-xxxx 64 Pin QFN (QFN64)

Примечание: код упаковки в xxxx следующий:

- Reel: в ленте и катушке (LQFP =1000 штук на катушку, QFN =4000 штук на катушку).
- Tray: в лотке (LQFP =160 штук на лоток, QFN =260 штук на лоток).

См. секцию 8 по механическим параметрам всех корпусов.

1.3 Соответствие стандарту USB

Мост FT2232H полностью совместим со стандартом USB 2.0, и получил идентификатор тестирования USB-IF Test-ID (TID) 40720019.

USB-HighSpeed-certified-Logo

Параметры времени нарастания и спада сигналов USB не только зависят от драйверов сигналов USB, но также зависят от системы и факторов разводки PCB (печатной платы), внешних компонентов и защиты от перепадов, имеющихся на сигналах USB. Для совместимости с USB может потребоваться очень незначительная подстройка. Параметры времени могут быть изменены через программируемые установки, сохраняемые в том же самом EEPROM, которое используется для сохранения дескрипторов USB. Кроме того, можно применить дополнительные пассивные компоненты, подключенные к физическим сигналам USB.

2 FT2232H Block Diagram (функциональная блочная диаграмма)

FT2232H-block-diagram

Описание функции каждого блока см. в секции 4.

[3 Цоколевка и описание выводов FT2232H]

Корпуса 64-pin LQFP и 64-pin QFN имеют одинаковую нумерацию ножек по своим выполняемым функциям.

FT2232H-schematic-symbol

3.2 Описание выводов (ножек) микросхемы FT2232H

Функционирование многих ножек определяется выбранной конфигурацией FT2232H. В таблице ниже подробно описано назначение каждой ножки в зависимости от конфигурации интерфейса (для сигналов имеющих низкий активный логический уровень, в конце имени указан символ #). Ножки, помеченные **, по умолчанию работают как входы с третьим состоянием, с подключенными pull-up резисторами номиналом (приблизительно) 75 кОм на шину VCCIO.

Таблица ножек FT2232H, функции которых зависит от конфигурации
Вывод Функции выводов (в зависимости от конфигурации EEPROM)
имя ASYNC
Serial
(RS232)
245 FIFO
SYNC
245 FIFO ASYNC
Bit-bang
SYNC
Bit-bang
MPSSE Fast
Serial
interface
CPU
Style
FIFO
Host Bus
Emulation
Канал A
16 ADBUS0 TXD D0 D0 D0 D0 TCK/SK Использует
канал B
D0 AD0
17 ADBUS1 RXD D1 D1 D1 D1 TDI/DO D1 AD1
18 ADBUS2 RTS# D2 D2 D2 D2 TDO/DI D2 AD2
19 ADBUS3 CTS# D3 D3 D3 D3 TMS/CS D3 AD3
21 ADBUS4 DTR# D4 D4 D4 D4 GPIOL0   D4 AD4
22 ADBUS5 DSR# D5 D5 D5 D5 GPIOL1   D5 AD5
23 ADBUS6 DCD# D6 D6 D6 D6 GPIOL2   D6 AD6
24 ADBUS7 RI# D7 D7 D7 D7 GPIOL3   D7 AD7
26 ACBUS0 TXDEN RXF# RXF# ** ** GPIOH0   CS# A8
27 ACBUS1 ** TXE# TXE# WRSTB# WRSTB# GPIOH1   A0 A9
28 ACBUS2 ** RD# RD# RDSTB# RDSTB# GPIOH2   RD# A10
29 ACBUS3 RXLED# WR# WR# ** ** GPIOH3   WR# A11
30 ACBUS4 TXLED# SIWUA SIWUA SIWUA SIWUA GPIOH4   SIWUA A12
32 ACBUS5 ** CLKOUT ** ** ** GPIOH5   ** A13
33 ACBUS6 ** OE# ** ** ** GPIOH6   ** A14
34 ACBUS7 ** ** ** ** ** GPIOH7   ** A15
Канал B
38 BDBUS0 TXD   D0 D0 D0 TCK/SK FSDI D0 CS#
39 BDBUS1 RXD   D1 D1 D1 TDI/DO FSCLK D1 ALE
40 BDBUS2 RTS#   D2 D2 D2 TDO/DI FSDO D2 RD#
41 BDBUS3 CTS#   D3 D3 D3 TMS/CS FSCTS D3 WR#
43 BDBUS4 DTR#   D4 D4 D4 GPIOL0   D4 IORDY
44 BDBUS5 DSR#   D5 D5 D5 GPIOL1   D5 CLKOUT
45 BDBUS6 DCD#   D6 D6 D6 GPIOL2   D6 I/O0
46 BDBUS7 RI#   D7 D7 D7 GPIOL3   D7 I/O1
48 BCBUS0 TXDEN   RXF# ** ** GPIOH0   CS# **
52 BCBUS1 **   TXE# WRSTB# WRSTB# GPIOH1   A0 **
53 BCBUS2 **   RD# RDSTB# RDSTB# GPIOH2   RD# **
54 BCBUS3 RXLED#   WR# ** ** GPIOH3   WR# **
55 BCBUS4 TXLED#   SIWUB SIWUB SIWUB GPIOH4 SIWUB SIWUB **
57 BCBUS5 **   ** ** ** GPIOH5   ** **
58 BCBUS6 **   ** ** ** GPIOH6   ** **
59 BCBUS7 PWRSAW# PWRSAW# PWRSAW# PWRSAW# PWRSAW# GPIOH7 PWRSAW# PWRSAW# PWRSAW#
60 PWREN# PWREN# PWREN# PWREN# PWREN# PWREN# PWREN# PWREN# PWREN# PWREN#
36 SUSPEND# SUSPEND# SUSPEND# SUSPEND# SUSPEND# SUSPEND# SUSPEND# SUSPEND# SUSPEND# SUSPEND#
Интерфейс конфигурационной внешней памяти (EEPROM), функция этих выводов не зависит от конфигурации
63 EECS I/O (вход/выход), Chip Select, выборка микросхемы внешней памяти. Находится в третьем состоянии при сбросе FT2232H.
62 EECLK Output (выход), тактовый сигнал данных для EEPROM. Находится в третьем состоянии при сбросе FT2232H.
61 EEDATA I/O (вход/выход), сигнал данных, напрямую подключаемый к входу данных EEPROM (Data-In) и к выходу EEPROM (Data-Out) через резистор 2.2 кОм. Также для корректной работы нужен верхний нагрузочный резистор (pullup) номиналом 10 кОм. Находится в третьем состоянии при сбросе FT2232H.
Таблица ножек FT2232H, функции которых не зависит от конфигурации (питание и земля)
Pin № Имя Тип Описание
12,37,64 VCORE Вход питания (POWER Input) Вход напряжения +1.8V для питания ядра.
20,31,42,56 VCCIO Вход питания (POWER Input) Вход напряжения +3.3V, предназначенного для питания интерфейса I/O. Ошибочное подключение всех ножек VCCIO приведет к невозможности функционирования микросхемы.
9 VPLL Вход питания (POWER Input) Вход напряжения +3.3V, предназначенного для питания внутреннего узла PHY PLL (система ФАПЧ). Рекомендуется этот источник питания фильтровать с помощью LC-фильтра.
4 VPHY Вход питания (POWER Input) Вход напряжения +3.3V, предназначенного для питания внутреннего узла USB PHY. Имейте в виду, что этот вход нельзя соединять напрямую к питанию USB (шина VBUS), должен использоваться внешний регулятор напряжения на +3.3V. Рекомендуется этот источник питания фильтровать с помощью LC-фильтра.
50 VREGIN Вход питания (POWER Input) Вход напряжения +3.3V. Подключен к входу внутреннего регулятора 1.8V микросхемы.
49 VREGOUT Выход питания (POWER Output) Выход напряжения +1.8V. Подключен к выходу внутреннего регулятора 1.8V микросхемы. Соедините VREGOUT и VCORE, и подключите сюда фильтрующий конденсатор на 3.3 мкФ.
10 AGND Вход питания (POWER Input) 0V, аналоговая земля (Analog ground).
1,5,11,15,
25,35,47,51
GND Вход питания (POWER Input) 0V, земля, общий провод (Ground input).
Таблица общих ножек FT2232H, функция которых не зависит от конфигурации
Pin № Имя Тип Описание
2 OSCI Вход Вход генератора (обычно подключают к кварцевому резонатору).
3 OSCO Выход Выход генератора (обычно подключают к кварцевому резонатору).
6 REF Вход Эталонный источник тока - между выводом REF и GND должен быть подключен резистор на 12 кОм с точностью 1%.
7 DM Вход Сигнал USB D- (Data Minus).
8 DP Вход Сигнал USB D+ (Data Plus).
13 TEST Вход Вход для тестирования микросхемы. Для нормального функционирования должен быть подключен к GND.
14 RESET# Вход Вход сброса (активный уровень лог. 0).
60 PWREN# Выход Выход разрешения питания, активный уровень лог. 0. Когда PWREN# = 0, то это означает нормальное функционирование, а когда PWREN# = 1, то устройство находится в режиме USB SUSPEND (приостановка USB), или устройство не сконфигурировано. Этот выход может быть использован внешними схемами для логики выключения питания, когда устройство находится в режиме приостановки USB, или не сконфигурировано.
36 SUSPEND# Выход Активный сигнал лог. 0 показывает, что микросхема (устройство USB) находится в режиме suspend (приостановлено).
59 PWRSAV# Вход Вход для включения режима пониженного энергопотребления (Power Save). Эта опция конфигурируется в EEPROM. Используется, когда FT2232H работает в режиме с собственным источником питания (self powered mode) для предотвращения стекания тока сигналов USB, когда хост или хаб выключаются.

PWRSAW# = 1: нормальный режим работы.
PWRSAW# = 0: FT2232H принудительно переводится в режим SUSPEND.

PWRSAW# может быть подключен к GND (через резистор 10 кОм) и к другому резистору (например 4.7 кОм), подключенному к шине VBUS коннектора USB. Когда на этом входе лог. 1, то это показывает, что FT2232H подключена к хосту PC. Когда хост PC или хаб выключается, то FT2232H будет удерживаться в режиме SUSPEND (приостановка).

3.4 Конфигурируемые выводы FT2232H

Последующие секции описывают функцию конфигурируемых выводов, которые указаны в таблице секции 3.2. Их функция зависит от того, как сконфигурирована микросхема FT2232H (конфигурационные данные считываются из подключенной внешней микросхемы EEPROM).

3.4.1 Описание ножек, используемых в интерфейсе RS232

Канал A или канал B микросхемы FT2232H может быть сконфигурирован как интерфейс RS232. В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание.

Канал A
Pin №
Канал B
Pin №
Имя Тип Описание сигналов RS232
16 38 TXD Выход Выход передатчика
17 39 RXD Вход Вход приемника
18 40 RTS# Выход Выход квитирования потока данных (handshake) Ready To Send (готов к передаче)
19 41 CTS# Вход Вход квитирования потока данных (handshake) Clear To Send (очищено для к передачи)
21 43 DTR# Выход Линия сигнализации для модема Data Transmit Ready (готов к передаче данных)
22 44 DSR# Вход Линия сигнализации от модема Data Set Ready (готов к набору данных)
23 45 DCD# Вход Линия сигнализации от модема Data Carrier Detect (обнаружена несущая данных)
24 46 RI# Вход Управляющий вход индикации звонка (Ring Indicator). Когда опция удаленного пробуждения (Remote Wake up) разрешена в EEPROM, выставление RI# в уровень лог. 0 может использоваться для возобновления работы контроллера USB хоста PC (выхода его из режима приостановки suspend). Также см. примечания 1, 2, 3 в секции 4.12.
26 48 TXDEN Выход Для использования с преобразователями уровня RS485.
29 54 RXLED# Выход Выход, сигнализирующий о приеме данных. Здесь появляются импульсы лог. 0, когда принимаются данные через USB. Этот выход предназначен для управления светодиодом.
30 55 TXLED# Выход Выход, сигнализирующий о передаче данных. Здесь появляются импульсы лог. 0, когда передаются данные через USB. Этот выход предназначен для управления светодиодом.

3.4.2 Описание ножек, используемых в интерфейсе FT245 Style Synchronous FIFO

Только канал A может быть сконфигурирован в качестве синхронного интерфейса FIFO в стиле FT245. В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание. Для входа в этот режим внешнее EEPROM должно быть запрограммировано для перевода порта A в режим 245 (port A 245 mode). Драйверу FTDI должна быть послана приложением программная команда (Set Bit Mode option, установка битового режима), которая переводит чип в режим одноканального синхронного FIFO. В этом режиме канал B не доступен, и все ресурсы микросхемы переключаются на обслуживание канала A. Данные записываются или считываются по фронту нарастания сигнала CLKOUT.

Канал A
Pin №
Имя Тип Описание сигналов FT245
24,23,22,21,
19,18,17,16
ADBUS[7:0] I/O Двунаправленная шина данных FIFO, сигналы D7 .. D0. Эта шина в нормальном состоянии работает как входы, за исключением ситуации, когда OE# в состоянии лог. 0.
26 RXF# Выход Когда лог. 1, не читайте данные из FIFO. Когда лог. 0, то данные доступны в FIFO, и они могут быть прочитаны при переводе сигнала RD# в лог. 0. В синхронном режиме данные передаются по каждому такту, когда оба сигнала RXF# и RD# находятся в состоянии лог. 0. Имейте в виду, что вывод OE# должен удерживаться в лог. 0 как минимум 1 тактовый период перед установкой asserting RD# в состояние лог. 0.
27 TXE# Выход Когда лог. 1, не записывайте данные в FIFO. Когда лог. 0, данные могут быть записаны в FIFO при переводе сигнала WR# в лог. 0. В синхронном режиме данные передаются по каждому такту, когда оба сигнала TXE# и WR# находятся в состоянии лог. 0.
28 RD# Вход Разрешается выставление на D0...D7 текущего байта данных FIFO, когда сигнал RD# переходит в лог. 0. Следующий байт данных FIFO (если он доступен) поступает из приемного буфера FIFO по каждому циклу CLKOUT, пока RD# не перейдет в состояние лог. 1.
29 WR# Вход Разрешается запись байта данных с ножек D0...D7 в передающий буфер FIFO, когда сигнал WR# находится в состоянии лог. 0. Следующий байт данных FIFO записывается в передающий буфер FIFO по каждому циклу CLKOUT, пока WR# не перейдет в состояние лог. 1.
32 CLKOUT Выход Тактовая частота 60 МГц, которая выходит из FT2232H. Все сигналы должны быть синхронизированы с этой частотой.
33 OE# Вход Разрешение выхода, когда на OE# лог. 0, то данные выводятся на D0 .. D7. Сигнал OE# должен переводиться в 0 на как минимум 1 тактовый период перед переводом RD# в лог. 0, чтобы обеспечить нормальное обращение данных в буфере.
30 SIWU Вход Сигнал SIWU (Send Immediate / WakeUp, отправить немедленно / пробудить) комбинирует две функции на одном выводе. Если USB находится в режиме приостановки (suspend mode, PWREN# = 1) и разрешено удаленное пробуждение (remote wakeup) через конфигурирование EEPROM, то стробирование этой ножки в лог. 0 приведет к тому, что устройство запросит возобновление (resume, пробуждение) по шине USB. Обычно это используется для пробуждения хоста PC.

Во время нормальной работы (PWREN# = 0) если эта ножка стробируется в лог. 0, то любые данные в буфере TX устройства будут отправлены по USB в следующем запросе Bulk-IN от драйвера, независимо от размера ожидающего пакета. Это может использоваться для оптимизации скорости передачи USB в некоторых приложениях. Подключите эту ножку к VCCIO, если её не нужно использовать. См. также примечания 1, 2, 3 в секции 4.12.

Функциональное описание FT245 Synchronous FIFO Interface Mode см. в секции 4.4.

3.4.3 Описание ножек, используемых в интерфейсе FT245 Style Asynchronous FIFO

Только канал A или канал B может быть сконфигурирован в качестве асинхронного интерфейса FIFO FT245. В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание. Для входа в этот режим внешнее EEPROM должно быть запрограммировано для перевода порта A, или порта B, или сразу двух портов для работы в режиме 245 (245 mode). В этом режиме данные записываются или считываются по спаду сигнала WR# или RD# соответственно.

Канал A
Pin №
Канал B
Pin №
Имя Тип Описание сигналов FT245
24,23,22,21,
19,18,17,16
46,45,44,43,
41,40,39,38
Канал A =
ADBUS[7:0]
Канал B =
BDBUS[7:0]
I/O Двунаправленная шина данных FIFO, сигналы бит D7..D0. Эта шина нормально находится в состоянии входа, за исключением того случая, если RD# в лог. 0.
26 48 RXF# Выход Когда лог. 1, то не читайте данные из FIFO. Когда лог. 0, то данные доступны в FIFO, и их можно прочитать путем перевода RD# в лог. 0. Когда RD# снова получает уровень лог. 1, тогда RXF# всегда переходит на уровень лог. 1, и снова переходит в лог. 0 только тогда, когда если имеется в FIFO другой байт для чтения. Во время сброса эта сигнальная ножка находится в третьем состоянии, но к ней подключен внутренний верхний нагрузочный резистор (pullup) номиналом 200 кОм (второй конец резистора подключен к VCCIO).
27 52 TXE# Выход Когда лог. 1, то не записывайте данные в FIFO. Когда лог. 0, то данные могут быть записаны в FIFO путем стробирования WR# сначала в лог. 1, затем в лог. 0. Во время сброса эта сигнальная ножка находится в третьем состоянии, но к ней подключен внутренний верхний нагрузочный резистор (pullup) номиналом 200 кОм (второй конец резистора подключен к VCCIO).
28 53 RD# Вход Разрешается передача на шину данных D7..D0 текущего байта данных из FIFO, когда RD# переходит в лог. 0. Из FIFO приема выбирается новый байт данных, если он доступен, когда RD# переходит в лог. 1.
29 54 WR# Вход Записывает байт данных с ножек D7..D0 в передающий буфер FIFO, когда WR переходит из лог. 1 в лог. 0.
30 55 SIWU Вход Сигнал SIWU (Send Immediate / WakeUp, отправить немедленно / пробудить) комбинирует две функции на одном выводе. Если USB находится в режиме приостановки (suspend mode, PWREN# = 1) и разрешено удаленное пробуждение (remote wakeup) через конфигурирование EEPROM, то стробирование этой ножки в лог. 0 приведет к тому, что устройство запросит возобновление (resume, пробуждение) по шине USB. Обычно это используется для пробуждения хоста PC.

Во время нормальной работы (PWREN# = 0) если эта ножка стробируется в лог. 0, то любые данные в буфере TX устройства будут отправлены по USB в следующем запросе Bulk-IN от драйвера, независимо от размера ожидающего пакета. Это может использоваться для оптимизации скорости передачи USB в некоторых приложениях. Подключите эту ножку к VCCIO, если её не нужно использовать. См. также примечания 1, 2, 3 в секции 4.12.

Функциональное описание FT245 Asynchronous FIFO Interface Mode см. в секции 4.5.

3.4.4 Описание ножек, используемых в синхронном или асинхронном интерфейсе Bit-Bang

В чипе FT2232H канал A или канал B может быть сконфигурирован как синхронный или асинхронный bit-bang интерфейс. Это специальный режим, в котором 8 линий IO канала A или B (или обоих каналов сразу) работают как 8-битная двунаправленная шина данных. Имеется две разновидности режима bit-bang: синхронный и асинхронный. В таблице указаны ножки, используемые в любом из вариантов режима bit-bang, и приведено их функциональное описание.

Канал A
Pin №
Канал B
Pin №
Имя Тип Описание сигналов в режиме Bit-Bang
24,23,22,21,
19,18,17,16
46,45,44,43,
41,40,39,38
Канал A =
ADBUS[7:0]
Канал B =
BDBUS[7:0]
I/O Двунаправленная параллельная шина данных.
27 52 WRSTB# Выход Строб записи, лог. 0 на этом выходе показывает, что новые данные были записаны в ножки I/O от хоста PC (байт данных пришел через интерфейс USB).
28 53 RDSTB# Выход Строб чтения, срез нарастания (переход из лог. 0 в лог. 1) на этом выходе показывает, что данные были прочитаны из ножек I/O и переданы хосту PC (через интерфейс USB).
30 55 SIWU Вход Сигнал SIWU (Send Immediate / WakeUp, отправить немедленно / пробудить) комбинирует две функции на одном выводе. Если USB находится в режиме приостановки (suspend mode, PWREN# = 1) и разрешено удаленное пробуждение (remote wakeup) через конфигурирование EEPROM, то стробирование этой ножки в лог. 0 приведет к тому, что устройство запросит возобновление (resume, пробуждение) по шине USB. Обычно это используется для пробуждения хоста PC.

Во время нормальной работы (PWREN# = 0) если эта ножка стробируется в лог. 0, то любые данные в буфере TX устройства будут отправлены по USB в следующем запросе Bulk-IN от драйвера, независимо от размера ожидающего пакета. Это может использоваться для оптимизации скорости передачи USB в некоторых приложениях. Подключите эту ножку к VCCIO, если её не нужно использовать. См. также примечания 1, 2, 3 в секции 4.12.

Функциональное описание синхронного и асинхронного режима bit-bang см. в секции 4.10.

3.4.5 Описание ножек, используемых в MPSSE

Каждый из каналов (A и B) чипа FT2232H имеют функцию Multi-Protocol Synchronous Serial Engine (MPSSE). Каждый MPSSE может конфигурироваться независимо в один из популярных стандартных протоколов последовательных интерфейсов типа JTAG, I2C или SPI, или также может быть сконфигурирован для реализации проприетарного протокола шины. Например, можно использовать один канал для подключения к FPGA (конфигурируемой через SRAM) фирм Altera или Xilinx. Чип FPGA при включении питания обычно не сконфигурирован (т. е. в нем не определены никакие логические функции). Приложение (программа на PC) может применить MPSSE для загрузки конфигурационных данных в чип FPGA через USB. Эти данные будут определять при включении питания, какие аппаратные логические функции будут реализованы в чипе FPGA. Другой канал FT2232H будет доступен для другой функции. Альтернативно каждый MPSSE может использоваться для управления некоторым количеством ножек GPIO (General Purpose IO, обычные порты ввода/вывода). В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание.

Канал A
Pin №
Канал B
Pin №
Имя Тип Описание сигналов MPSSE
16 38 TCK/SK Выход Сигнал тактов. Например:
JTAG - TCK, Test interface clock
SPI - SK, Serial Clock
17 39 TDI/DO Выход Выход последовательного канала данных. Например:
JTAG - TDI, Test Data Input
SPI - DO, Data Output
18 40 TDO/DI Вход Вход последовательного канала данных. Например:
JTAG - TDO, Test Data Output
SPI - DI, Data Intput
19 41 TMS/CS Выход Сигнал выборки. Например:
JTAG - TMS, Test Mode Select
SPI - CS, Chip Select
21,22,23,24
43,44,45,46 GPIOL0..3 I/O Порт ввода/вывода общего назначения (GPIO)
26,27,28,29,
30,32,33,34
48,52,53,54,
55,57,58,59
GPIOH0..7 I/O Порт ввода/вывода общего назначения (GPIO)

Функциональное описание этого режима см. в секции 4.6.

3.4.6 Описание ножек, используемых в быстром последовательном интерфейсе (Fast Serial Interface)

Канал B чипа FT2232H может быть сконфигурирован для использования высокоскоростной, двунаправленной оптоизолированной передачи данных: Fast Serial Interface. Для канала A эта возможность недоступна. Проприетарный протокол FTDI разработан для того, чтобы гальванически изолированные устройства могли синхронно обмениваться данными через чип FT2232H, используя только 4 сигнальные ножки (через два двойных оптических изолятора) и две линии питания. Периферийная схема управляет скоростью передачи данных в обоих направлениях при поддержании полной целостности данных. Может быть достигнута скорость передачи, максимальная для интерфейса USB. Если необходимо, оба канала A и B, могут передавать данные через один и тот же 4-проводный интерфейс. В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание.

Канал B
Pin №
Имя Тип Описание сигналов Fast Serial Interface
38 FSDI Вход Вход последовательных данных интерфейса Fast Serial.
39 FSCLK Вход Вход тактов интерфейса Fast Serial. Вход тактовой частоты микросхемы FT2232H для последовательного ввода и вывода данных.
40 FSDO Выход Выход последовательных данных интерфейса Fast Serial.
41 FSCTS Выход Выход сигнала Clear To Send (очищено для передачи) интерфейса Fast Serial. Лог. 0 на этом сигнале показывает, что микросхема готова к передаче данных.

Функциональное описание этого режима см. в секции 4.8.

3.4.7 Описание ножек, используемых в FIFO интерфейсе стиля CPU

Канал A или B может быть сконфигурирован в режиме интерфейса CPU-style FIFO, который позволяет процессору (CPU) обмениваться данными по USB через чип FT2232H. Этот режим включается конфигурированием внешнего EEPROM. В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание.

Канал A
Pin №
Канал B
Pin №
Имя Тип Описание сигналов в режиме CPU-style FIFO Interface
24,23,22,21,
19,18,17,16
46,45,44,43,
41,40,39,38
Канал A =
ADBUS[7:0]
Канал B =
BDBUS[7:0]
I/O Двунаправленная параллельная шина данных.
26 48 CS# Вход Вход выборки чипа, активный уровень лог. 0.
27 52 A0 Вход Бит адреса A0.
28 53 RD# Вход Вход сигнала чтения FIFO (FIFO Read), активный уровень лог. 0.
29 54 WR# Вход Вход сигнала записи FIFO (FIFO Write), активный уровень лог. 0.

Функциональное описание этого режима см. в секции 4.9 - CPU-style FIFO Interface Mode.

3.4.8 Описание ножек, используемых в интерфейсе эмуляции шины хоста (Host Bus Emulation Interface)

Комбинация каналов A и B быть сконфигурирована для режима эмуляции шины данных хоста стандарта 8048 или 8051 MCU (микроконтроллерная шина адреса и данных процессора). В таблице указаны ножки, используемые в этом режиме, и приведено их функциональное описание.

Pin № Имя Тип Описание сигналов Host Bus Emulation Interface
24,23,22,21,
19,18,17,16
ADBUS[7:0] I/O Мультиплексированная шина данных и адреса AD7 .. AD0
34,33,32,30,
29,28,27,26
A[15:8] Выход Старший байт адреса (extended address, расширенный адрес) A15 .. A8
38 CS# Выход Сигнал выборки чипа, активный уровень лог. 0 во время операций Read (чтение) или Write (запись).
39 ALE Выход Положительный импульс для защелкивания адреса A7 .. A0 (из мультиплексированной шины ADBUS[7:0]).
40 RD# Выход Выход сигнала чтения, активный уровень лог. 0.
41 WR# Выход Выход сигнала записи, активный уровень лог. 0 (данные на шине ADBUS[7:0] должны быть установлены, когда WR# перешел в лог. 0, и должны удерживаться во время перехода WR# в лог. 1).
43 IORDY Вход Растягивает время, выделяемое на операции Read или Write, если IORDY удерживается в лог. 0. Соедините сигнал IORDY с проводом VCORE, если IORDY не используется.
44 CLKOUT Выход Главный выход тактов. Выводит тактовый сигнал, используемый сконфигурированным интерфейсом.
45 I/O0 I/O С этим выводом можно использовать инструкции режима MPSSE для установки / очистки или чтение старшего байта данных. Подробности функции этих инструкций читайте в апноуте AN_108.
46 I/O1 I/O С этим выводом можно использовать инструкции режима MPSSE для установки / очистки или чтение старшего байта данных. Дополнительно этот вывод имеет инструкции, которые переводят контроллер в ожидание пока вывод находится в состоянии лог. 1, или в ожидании, пока он находится в состоянии лог. 0. Это может использоваться для подключения к ножке IRQ чипа периферии. Микросхема FT2232H будет ожидать прерывания, и после этого прочитает устройство, и передаст ответ обратно хосту PC. Вывод I/O1 должен быть удержан в режиме входа, если используется эта опция. Подробности функции этих инструкций читайте в апноуте AN_108.

Таблица 3.11. Описание выводов канала A и канала B, сконфигурированных в режиме интерфейса Host Bus Emulation

Функциональное описание этого режима см. в секции 4.7 MCU Host Bus Emulation Mode.

[4 Функциональное описание FT2232H]

В микросхеме FT2232H имеется два конфигурируемых канала передачи данных (интерфейса). Эти каналы можно запрограммировать для передачи данных между одним интерфейсом USB (USB 2.0 High Speed 480 мбит/сек) и двумя другими интерфейсами, если они работают в одном из следующих режимов - UART, FIFO, JTAG, SPI, I2C или bit-bang. Причем скорость передачи и режим каждого канала в этом случае настраивается независимо от другого канала. В дополнение к режимам UART, FIFO, JTAG, SPI, I2C или bit-bang имеются также режимы, где задействованы сразу два канала - это режимы эмуляции шины хоста (host bus emulation), режим FIFO в стиле CPU (CPU-Style FIFO mode) и режим быстрого оптоизолированного последовательного интерфейса.

4.1 Ключевые особенности микросхемы FT2232H

USB High Speed to Dual Interface. Как уже упоминалось, в микросхеме FT2232H реализован высокоскоростной USB 2.0 High Speed (480Mbits/s) интерфейс, который преобразуется физически в два независимых и гибко конфигурируемых параллельных/последовательных интерфейса.

Глубокая функциональная интеграция. Микросхема FT2232H интегрирует в себе USB вместе с интерфейсом UTMI (Universal Transceiver Macrocell Interface), и обрабатывает передачу данных на скорости протокола USB 2.0 High Speed. FT2232H также имеет встроенный стабилизатор +1.8 вольт с маленьким падением напряжения на регулирующем элементе (Low Drop-Out (LDO) regulator), и узел ФАПЧ (PLL) для получения тактовой частоты 480 МГц из частоты кварца 12 МГц.

MPSSE. Системы MPSSE (2 шт.) позволяют применять синхронные последовательные интерфейсы в различных конфигурациях, на скоростях до 30 мбит/с.

Data Transfer rate. Микросхема FT2232H в режиме RS232/RS422/RS485 UART поддерживает скорость передачи до 12 мегабит, и в режиме синхронного параллельного FIFO свыше 25 мегабайт/с. Внимание - не поддерживаются скорости 7, 9, 10 и 11 мегабод.

Latency Timer. Встроенный таймер задержки (Latency Timer) позволяет драйверу задавать короткие таймауты для сброса коротких пакетов данных обратно на компьютер. По умолчанию таймер настроен на 16 мс, но его можно настроить на интервал 0..256 мс. При задержке 0 мс получается передача пакетов в каждом высокоскоростном микрофрейме.

4.2 Описание функциональных блоков

Dual Multi-Purpose UART/FIFO Controllers. Двойные многоцелевые контроллеры UART/FIFO (Dual Multi-Purpose UART/FIFO Controllers). FT2232H имеет два независимых контроллера UART/FIFO. Они могут управлять данными UART, данными 245 fifo, интерфейсом с оптоизоляцией (Fast Serial), или работать в режиме Bit-Bang, если это включено командой SETUP. Каждый из контроллеров также в себе содержит систему MPSSE (Multi Protocol Synchronous Serial Engine), которая может использоваться в каждом контроллере независимо от другого. С использованием MPSSE многофункциональный контроллер UART/FIFO может быть программно сконфигурирован для получения 1 MPSSE + 1 UART / 245 FIFO (для каждого UART / 245 может быть установлен режим Bit Bang для получения при необходимости дополнительных портов ввода/вывода I/O), или 2 MPSSE.

USB Protocol Engine and FIFO control. Система поддержки протокола USB и управление FIFO (USB Protocol Engine and FIFO control). Движок протокола USB обслуживает в микросхеме интерфейс между UTMI PHY стеками FIFO. Он также обслуживает управление питанием и поддерживает стандарт протокола USB.

Dual Port FIFO TX Buffer (4Kbytes per interface). Двойной буфер передачи FIFO (Dual Port FIFO TX Buffer), 4 килобайта на интерфейс. Данные от хоста PC сохраняются в этих буферах, для использования вместе с многофункциональными контроллерами UART/FIFO. Это управляется подсистемой протокола USB и блоком управления FIFO.

Dual Port FIFO RX Buffer (4Kbytes per interface). Двойной буфер приема FIFO (Dual Port FIFO RX Buffer), 4 килобайта на интерфейс. Данные от многофункциональных контроллеров UART/FIFO сохраняются в этих блоках для отправки их впоследствии обратно на компьютер хоста (по его запросу). Это управляется подсистемой протокола USB и блоком управления FIFO.

RESET Generator. Генератор сигнала СБРОС (RESET Generator) – встроенный генератор сброса предоставляет надежный сброс всех внутренних узлов при включении питания (power-on reset) устройства. Входной вывод RESET# позволяет внешним устройствам сбрасывать FT2232H. RESET# должен быть подтянут к VCCIO (+3.3 вольт), если внешний сброс не используется.

Independent Baud Rate Generators. Независимые генераторы скоростей передачи (Independent Baud Rate Generators) – генераторы скоростей передачи предоставляют x16 или x10 тактовые входы для UART-ов от опорной частоты 120 МГц, и состоит из 14-битного прескалера и 4-битного регистра, которые предоставляют тонкую настройку скорости передачи/приема (используются для деления на целое число плюс дробь). Это определяет скорости UART, которые могут быть запрограммированы от 183 бод до 12 миллионов бод. FT2232H не поддерживает скорости 7, 9, 10 и 11 мегабод.

+1.8V LDO Regulator. Стабилизатор +1.8V с низким падением напряжения (LDO Regulator). Генерирует +1.8 вольт для питания ядра и приемопередатчиков USB. Вход стабилизатора (VREGIN) должен быть подключен к внешнему источнику напряжения +3.3V. Рекомендуется также добавить внешний фильтрующий конденсатор на ножку VREGIN. Не существует прямого соединения от выхода +1.8V (VREGOUT) к внутренним потребителям чипа FT2232H. Печатная плата должна соединять VREGOUT с цепью +1.8V VREGIN.

UTMI PHY. Интерфейс UTMI (Universal Transceiver Macrocell Interface) - этот блок поддерживает Full speed / High Speed функцию SERDES (serialise – deserialise) для данных USB TX/RX data. Он также предоставляет такты для остальной части чипа. Кварц 12 МГц должен быть подключен к ножкам OSCI и OSCO. Резистор 12 КОм (точность 1%) должен быть подключен на печатной плате между ножкой REF и GND. Функции UTMI PHY включают в себя:
- поддержку скорости 480 Мбит/сек "High Speed" (HS), 12 Мбит/сек "Full Speed" (FS), FS Only и "Low Speed" (LS).
- генерацию и проверку SYNC/EOP.
- восстановление данных и тактов из последовательного потока сигнала USB.
- вставка/удаление дополнительных бит (Bit-stuffing/unstuffing), детектирование ошибок битстаффинга (bit stuff error detection).
- поддержка функций USB: возобновление (Resume), пробуждение (Wake Up) и приостановка (Suspend).
- одиночный параллельный выход тактов данных со встроенного PLL - для генерации тактов последовательных данных на высоких скоростях.

Интерфейс EEPROM. Когда внешнее EEPROM не используется (отсутствует), чип FT2232H по умолчанию работает как двойной асинхронный последовательный порт. Добавление внешней 93C46 (93C56 или 93C66) EEPROM позволяет каждому из каналов чипа быть независимо сконфигурированным как serial UART (режим RS232), режим параллельного FIFO (245) или режим быстрого последовательного интерфейса fast serial (с оптоизоляцией). Внешнее EEPROM может быть использовано для задания USB идентификаторов VID, PID, серийного номера, строковых описателей продукта (Product Description Strings) и значения тока потребления (Power Descriptor value) чипа FT2232H - для приложений OEM. Через EEPROM конфигурируются другие параметры, включая Remote Wake Up (функция удаленного пробуждения), Soft Pull Down on Power-Off и нагрузочная способность ножек I/O.

Микросхема EEPROM должна быть 16-битной наподобие Microchip 93LC46B или аналогичная, поддерживающей скорость тактирования 1 мегабит/сек при напряжении питания VCC в диапазоне +3.00 .. +3.6V. Данные в EEPROM программируются прямо в схеме через USB, при помощи специальной программы MPROG, доступной на сайте FTDI www.ftdichip.com (см. ссылку [3]). Это позволяет напаять на печатную плату сразу чистую микросхему EEPROM, и запрограммировать её в процессе тестирования при производстве готовых устройств. Если микросхема EEPROM не подключена (или EEPROM полностью чистая), чип FT2232H будет по умолчанию работать как два последовательных порта. Устройство использует в этом случае встроенные значения конфигурации по умолчанию - VID (0x0403) и PID (0x6010), описание продукта и значение потребляемой мощности. Также будет отсутствовать серийный номер как часть дескриптора USB.

4.3 Описание режима двойного порта UART (FT232 Interface Mode)

FT2232H может быть сконфигурирован в режимах, которые были в уже известных чипах FT232 компании FTDI. В следующем примере показано, как конфигурировать FT2232H для поддержки интерфейсов RS232, RS422 или RS485. FT2232H может быть сконфигурирован как смесь этих интерфейсов.

4.3.1 Конфигурация двойного порта RS232

На рисунке показано, как FT2232H может быть сконфигурирован для поддержки интерфейса RS232 UART. Это включение можно повторить для канала B и получить два интерфейса RS232 (для упрощения на схеме второй интерфейс не показан).

FT2232H-RS232-config

4.3.2 Конфигурация двойного порта RS422

На рисунке показано, как FT2232H может быть сконфигурирован для поддержки двойного интерфейса RS422.

FT2232H-dual-RS422-config

В этом случае оба канала A и B работают как UART на уровнях сигнала TTL. Дополнительная микросхема Sipex SP491 используется как преобразователь уровней, которая преобразует сигналы TTL FT2232H в уровни интерфейса RS422. Сигнал PWREN# используется для выключения микросхем SP491 - перевода их в режим пониженного потребления, когда интерфейс USB находится в приостановленном состоянии (suspend mode).

4.3.3 Конфигурация двойного порта RS485

На рисунке показано, как FT2232H может быть сконфигурирован для поддержки двойного интерфейса RS485.

FT2232H-dual-RS485-config

В этом случае оба канала A и B работают как RS485 на уровнях сигнала TTL. В примере используются две микросхемы Sipex SP491, однако имеются аналогичные микросхемы фирм Maxim, Analog Devices и многих других. SP491 является чипом интерфейса RS485 в компактном 8-выводном корпусе SOP. Он имеет отдельные входы разрешения для передатчика и приемника. С интерфейсом RS485 передатчик разрешается только в момент передачи символа через UART. Сигналы TXDEN чипа FT2232H специально предназначены для этой цели, и к ним подключены выводы разрешения передатчика. Сигнал разрешения приемника имеет активный логический 0, и он разведен на ножку PWREN# - чтобы запретить приемник, когда USB находится в suspend mode.

RS485 является сетью типа multi-drop network – т. е. многочисленные устройства могут соединяться друг с другом через одиночный двухпроводный кабель. Кабель RS485 требует специальной нагрузки-терминатора на каждом конце линии кабеля. Перемычка LINK предназначена для подключения терминатора, если устройство находится на одном из концов кабеля.

В этом примере данные передаются чипом FT2232H, и во время передачи сразу принимаются этим же чипом. Это является основной особенностью RS485, который обычно требует удаления передаваемых данных из потока канала приема (эту функцию должно выполнять программное приложение, работающее с каналом RS485). С микросхемой FT2232H можно реализовать эту функцию полностью аппаратно - если модифицировать схему так, чтобы сигнал RXD FT2232H был получен операцией OR (логическое ИЛИ) выхода приемника SP481 и сигнала TXDEN. Для этого можно использовать обычный логический элемент из микросхемы HC32 (например микросхему MM74HC32, в котором 4 таких логических элемента).

4.4 Описание режима интерфейса синхронного FIFO FT245

На рисунке показаны диаграммы времени IO, когда канал A сконфигурирован в FT245 Synchronous FIFO interface mode, которые раскрывают подробности доступа на чтения и запись. Параметры времени (в наносекундах) указаны далее в таблице. Имейте в виду, что единовременно может выполняться либо только цикл чтения, либо цикл записи. Данные читаются и записываются по фронту нарастания сигнала тактов CLKOUT.

FT2232H-FT245-sync-FIFO-waveforms

Имя MIN
нс
NOM
нс
MAX
нс
Описание интервала времени
t1   16.67   Период CLKOUT
t2 7.5 8.33   Интервал лог. 1 периода CLKOUT
t3 7.5 8.33   Интервал лог. 0 периода CLKOUT
t4 1   7.15 Интервал от CLKOUT до RXF#
t5 1   7.15 Интервал от CLKOUT до чтения действительных DATA
t6 1   7.15 Интервал от OE# до чтения действительных DATA
t7 1   7.15 Интервал от CLKOUT до OE#
t8 11     Интервал от установки RD# до CLKOUT (RD# = 0 после OE# = 0)
t9 0     Интервал удержания RD#
t10 1   7.15 Интервал от CLKOUT до TXE#
t11 11     Время установки DATA записи
t12 0     Время удержания DATA записи
t13 11     Интервал от установки WR# до CLKOUT (WR# = 0 после TXE# = 0)
t14 0     Интервал удержания WR#

Этот одноканальный режим использует синхронный интерфейс для получения высоких скоростей передачи данных. Чип предоставляет тактовую частоту 60 МГц CLKOUT для внешней системы. Имейте в виду, что режим Synchronous FIFO должен быть выбран для обоих каналов перед выбором режима Synchronous FIFO в программном обеспечении.

4.4.1 Операция чтения FT245 Synchronous FIFO

Операция чтения начинается, когда чип переводит сигнал RXF# в низкий уровень. Внешняя система может тогда перевести сигнал OE# в низкий уровень для активизации драйверов шины данных до подтверждения данных переводом сигнала RD# в низкий уровень. Первый байт данных появляется на шине после перевода OE# в лог. 0. Внешняя система может ускорить вывод данных из чипа путем удержания RD# в низком уровне или она может вставлять циклы ожидания в сигнал RD#. Если имеется больше данных для чтения, то они поменяются по такту, следующему за RD# в состоянии лог. 0. Как только все данные были получены, чип переводит RXF# в состояние лог. 1. Любые данные на шине данных, которые появляются после перевода RXF# в состояние лог. 1, считаются недостоверными и должны быть отброшены.

4.4.2 Операция записи FT245 Synchronous FIFO

Операция записи может начаться когда сигнал TXE# находится в лог. 0. Сигнал WR# становится лог. 0, когда данные на шине достоверны. Можно осуществить ускоренную операцию по каждому такту, если постоянно удерживать TXE# в состоянии лог. 0. Внешняя система должна мониторить сигнал TXE# и WR# чтобы проверить, что данные были приняты. Для принятия данных должны быть одновременно в состоянии лог. 0 и TXE# и WR#.

4.5 Описание режима интерфейса асинхронного FIFO FT245

FT2232H может быть сконфигурирован как двухканальный асинхронный интерфейс FIFO. этот режим работает так же, как и синхронный FIFO, за исключением что записываемые в FIFO или читаемые из FIFO данные происходят по спаду сигналов WR# и RD# соответственно. В этом режиме не предоставляется сигнал CLKOUT, и не ожидается входной сигнал OE#. Следующая диаграмма времени иллюстрирует работу режима асинхронного FIFO.

FT2232H-FT245-sync-FIFO-READ

Рис. 4.5. Форма сигналов интерфейса FT245 asynchronous FIFO в режиме READ (чтение)

FT2232H-FT245-sync-FIFO-WRITE

Рис. 4.6. Форма сигналов интерфейса FT245 asynchronous FIFO в режиме WRITE (запись)

Время Описание MIN
нс
MAX
нс
T1 Ширина входного импульса RD# 50  
T2 Интервал между нарастанием и спадом RD# T5+T6  
T3 Интервал между началом активного состояния RD и появлением достоверных выходных данных 20 50
T4 Время удержания достоверных данных после нарастания уровня RD# 0  
T5 Интервал между началом неактивного состояния до неактивного состояния выхода RXF# 0 25
T6 Интервал неактивного состояния RXF# после окончания цикла RD# 33 67
T7 Ширина активного импульса WR# 10  
T8 Интервал между спадом и нарастанием уровня WR# 50  
T9 Время установки данных перед спадом входного сигнала WR# 20  
T10 Время удержания данных от спада входного сигнала WR# 10  
T11 Интервал между окончанием неактивности WR# до начала активности выхода TXE# 10 25
T12 Интервал неактивности входа TXE# после окончания цикла WR# 49 84

Таблица 4.2. Временные интервалы режима асинхронного FIFO (на основе стандартных логических уровней)

4.6 Описание режима интерфейса MPSSE

Режим MPSSE разработан для того, чтобы позволить чипу FT2232H эффективно работать по синхронным последовательным протоколам шин типа JTAG, I2C и SPI. Он может также использоваться для программирования через USB чипов FPGA, конфигурируемых через SRAM (у которых конфигурация хранится в SRAM, и теряется при выключении питания). MPSSE разработан достаточно гибким, чтобы его можно было сконфигурировать для работы с любым синхронным протоколом (стандартным индустриальным или проприетарным), и реализовать соответствующую шину на основе чипа FT2232H. MPSSE доступен на канале A и на канале B.

MPSSE полностью конфигурируется и программируется путем передачи команд через поток данных. Они могут быть отправлены индивидуально либо более эффективно в составе пакета. MPSSE может поддержать максимальную скорость до 30 мегабит/сек.

На рисунке показаны интервалы времени IO, когда канал сконфигурирован в режиме MPSSE. В таблице показаны данные времени для CLKOUT = 30 МГц. Частота сигнала CLKOUT может быть поделена внутри для обеспечения более низкой тактовой частоты.

FT2232H-MPSSE-waveforms

Имя MIN
нс
NOM
нс
MAX
нс
Описание
t1   33.33   Период CLKOUT
t2 15 16.67   Интервал лог. 1 CLKOUT
t3 15 16.67   Интервал лог. 0 CLKOUT
t4 1   7.15 Задержка между CLKOUT до TDI/DO
t5 0     Время удержания TDO/DI
t6 11     Время установки TDO/DI

Режим MPSSE включается путем использования команды драйвера Set Bit Bang Mode. Шестнадцатеричное значение 2 разрешает использование режима, а значение 0 сбрасывает устройство. См. апноут AN2232L-02, "Bit Mode Functions for the FT2232D" ("функции битовых режимов для FT2232D"). Набор команд MPSSE полностью описан в апноуте AN_108 – "Command Processor For MPSSE and MCU Host Bus Emulation Modes" ("командный процессор для MPSSE и режимы эмуляции хоста шины MCU"). Для конфигурирования MPSSE имеются также дополнительные апноуты:

AN_109 – "Programming Guide for High Speed FTCI2C DLL"
AN_110 – "Programming Guide for High Speed FTCJTAG DLL"
AN_111 – "Programming Guide for High Speed FTCSPI DLL"

4.6.1 Адаптивное тактирование MPSSE

Адаптивное тактирование - новая особенность, которая добавлена в аппаратуру MPSSE. Режим эффективно подтверждает сигнал тактирования CLK возвратом тактов RTCK. Эта техника используется в процессорах ARM. FT2232H будет выставлять линию CLK и ожидать возврата RTCK от целевого устройства на линии GPIOL3 перед тем, как изменить состояние TDO (выходной сигнал данных). На рисунках показаны взаимные соединения и формы сигналов при адаптивном тактировании MPSSE.

FT2232H-MPSSE-adaptive-clocking-connection

FT2232H-MPSSE-adaptive-clocking-waveform

По умолчанию возможность адаптивного тактирования не разрешена. См. апноут AN_108 "Command Processor for MPSSE and MCU Host Bus Emulation Modes".

4.7 Режим эмуляции шины хоста MCU (MCU Host Bus Emulation Mode)

Режим эмуляции шины хоста MCU использует в интерфейсе сразу два канала A и B. В этом режиме чип FT2232H эмулирует стандартную шину микроконтроллера 8048/8051 (MCU). Такая особенность позволяет подключить через USB периферийные устройства, рассчитанные на шину этих MCU.

Младшие 8 бит (AD7..AD0) являются мультиплексированной шиной Address / Data. Линии A15..A8 предоставляют верхние (расширенные) адреса. Имеются 4 базовые операции:

1) Read (не меняет A15..A8)
2) Read Extended (меняет A15..A8)
3) Write (не меняет A15..A8)
4) Write Extended (меняет A15..A8)

Режим MPSSE включается путем использования команды драйвера Set Bit Bang Mode. Шестнадцатеричное значение 8 разрешает использование режима, а значение 0 сбрасывает устройство. FT2232H работает точно так же, как и FT2232D. Для получения подробностей и примеров применения см. апноут AN2232-02, "Bit Mode Functions for the FT2232D". Набор команд режима эмуляции шины хоста MCU полностью описан в апноуте AN_108 – "Command Processor For MPSSE and MCU Host Bus Emulation Modes" ("командный процессор для MPSSE и режимы эмуляции хоста шины MCU").

Когда активен режим эмуляции шины хоста MCU, линии сигналов IO обоих каналов работают совместно и ножки конфигурируются, как описано в таблице 3.11. В следующих секциях дается некоторая дополнительная информация о форме сигналов и временных интервалах при чтении и записи. Выход CLKOUT может работать на частотах до 60 МГц.

В режиме эмуляции шины хоста MCU делитель тактовой частоты не работает. Делитель тактов используется для последовательных данных и различных частей блока MPSSE. В режиме эмуляции шины хоста MCU всегда выводится тактовая частота 60 МГц, и она не меняется никакими командами. Ниже на рисунке и в таблице показаны форма и интервалы времени (в циклах) сигналов режима интерфейса MCU Host Bus Emulation при записи.

FT2232H-MCU-host-bus-write

  Количество циклов такта для записи Описание
Делитель на 5 On Off
IORDY лог. 0 лог. 1 лог. 0 лог. 1
t1 6 6 2 2 Интервал от A15-8 до AD7-0
t2 3 3 1 1 Интервал от AD7-0 до ALE
t3 10 5 2 1 Длительность ALE
t4 2 2 2 2 Интервал от ALE до недействительности адреса
t5 13 3 1 1 Интервал от действительных данных AD7-0 до WR#
t6 10 5 6 1 Длительность WR#
t7 1 1 1 1 Интервал от неактивности WR# до неактивности CS#
t8 1 1 1 1 Интервал от неактивности CS# до недостоверности AD7-0

Когда бит Div By 5 находится в состоянии On, устройство будет при записи возвращать 2 байта, а когда в состоянии Off - будет при записи возвращаться 1 байт. Для тактового периода 16.67 нС многих устройств может понадобиться установка в On бита Div By 5. Сигнал IORDY может быть удержан в постоянном низком уровне для расширения всех циклов. Ниже на рисунке и в таблице показаны форма и интервалы времени (в циклах) сигналов режима интерфейса MCU Host Bus Emulation при чтении.

FT2232H-MCU-host-bus-read

  Количество циклов такта для чтения Описание
Делитель на 5 On Off
IORDY лог. 0 лог. 1 лог. 0 лог. 1
t1 6 6 2 2 Интервал от A15-8 до AD7-0
t2 3 3 1 1 Интервал от AD7-0 до ALE
t3 10 5 2 1 Длительность ALE
t4 2 5 2 1 Интервал от ALE до недействительности адреса
t5 13 0 1 0 Интервал от недействительного адреса до активности RD#
t6 10 10 6 2 Длительность активности RD#
t7 1 1 1 1 Интервал от неактивности RD# до неактивности CS#

Когда бит Div By 5 находится в состоянии On, устройство будет при чтении возвращать 2 байта, а когда в состоянии Off - будет при чтении возвращаться 1 байт. Для тактового периода 16.67 нС многих устройств может понадобиться установка в On бита Div By 5. Сигнал IORDY может быть удержан в постоянном низком уровне для расширения всех циклов.

На схеме приведен пример интерфейса эмуляции хоста MCU, с помощью которого по USB подключена шина CAN через контроллер CANbus SJA1000.

FT2232H-MCU-host-with-CANbus-controller

4.8 Описание режима оптоизолированного быстрого последовательного интерфейса (Fast Opto-Isolated Serial Interface)

Режим Fast Opto-Isolated Serial Interface предоставляет метод коммуникации по USB с внешним устройством через 4 провода, которые могут быть оптически изолированы. Это дает гальваническую развязку между системами. Если либо канал A, либо канал B переключен в режим Fast Opto-Isolated Serial Interface, то ножки канала B переключаются в конфигурацию быстрого последовательного интерфейса. Интерфейс I/O для быстрого последовательного режима находится всегда на канале B, даже если оба канала задействованы для этого режима. Бит адреса используется для определения канала источника или получателя данных. Таким образом, имейте в виду, что всегда используется как минимум канал B или оба канала, а не только один канал A сам по себе.

Режим Fast serial разрешается установкой соответствующих бит во внешнем EEPROM. Режим fast serial можно удержать в сбросе путем установки значения бита 10, используя команду Set Bit Bang Mode. Когда этот бит установлен, устройство удерживается в состоянии reset – данные можно послать на устройство, но они не будут отправлены устройством, пока устройство не будет снова разрешено. Разрешение можно провести путем отправки значения бита 0 командой установки битового режима (может, имелась в виду команда Set Bit Bang Mode?). Для подробностей и примеров см. апноут AN2232L-02, "Bit Mode Functions for the FT2232D".

На рисунке показаны диаграммы времени, когда либо канал B, либо и канал A и канал B сконфигурированы в режиме Fast Opto-Isolated Serial Interface. Значения времен (в наносекундах) показаны далее в таблице.

FT2232H-Fast-Opto-Isolated-interface-waveforms

Имя MIN
нс
NOM
нс
MAX
нс
Описание
t1 5     Время удержания FSDO/FSCTS
t2 5     Время установки FSDO/FSCTS
t3 5     Время удержания FSDI
t4 10     Время установки FSDI
t5 10     FSCLK в состоянии лог. 0
t6 10     FSCLK в состоянии лог. 1
t7 20     Период FSCLK

4.8.1 Отправляемые Fast Serial Data

Чтобы отправить быстрые последовательные данные от FT2232H, внешнее устройство должно предоставить частоту тактов FSCLK. Если FT2232H имеет готовые для отправки данные, он переведет выход FSDO в состояние лог. 0, чтобы показать начало стартового бита. Этого не произойдет, если в настоящий момент происходит прием данных от внешнего устройства. Процесс показан на рисунке.

FT2232H-Fast-Opto-Isolated-interface-output

Примечания:
1. Первый выходной бит (START bit) всегда равен 0.
2. FSDO всегда отправляет первым самый младший значащий бит данных (LSB).
3. Последним битом всегда является бит источника (SRCE). Он показывает, какой канал данных пришел. 0 означает, что данные пришли от канала A, 1 означает, что данные пришли от канала B.
4. Если целевое устройство пока не может принять данные, когда оно детектировало START bit, оно должно остановить FSCLK до момента готовности принять данные.

4.8.2 Приходящие Fast Serial Data

Внешнее устройство может отправлять данные в чип FT2232H, если FSCTS находится в состоянии лог. 1. При приеме START bit через сигнал FSDI чип FT2232H опустит сигнал FSCTS на следующем положительном фронте тактов. Данные от бита 0 до бита 7 вдвигаются младшим (LSB) битом вперед. Последний бит (DEST) определяет, куда данные будут записаны. Данные могут быть отправлены либо в канал A, либо в канал B. Если DEST=0, данные будут отправлены каналу A (предполагается, что канал A разрешен для работы в режиме Fast Serial, иначе данные попадут в канал B). Если DEST=1, данные будут отправлены каналу B (предполагается, что канал B разрешен для работы в режиме Fast Serial, иначе данные попадут в канал A). Либо канал A, либо канал B, либо оба канала должны быть разрешены в режиме Fast Serial, иначе функционирование будет запрещено. Процесс показан на рисунке.

FT2232H-Fast-Opto-Isolated-interface-input

Примечания:

1. Первый выходной бит (START bit) всегда равен 0.
2. FSDI всегда принимает первым самый младший значащий бит данных (LSB).
3. Последним битом всегда является бит получателя (DEST). Он показывает, на какой канал попадут данные. 0 означает, что данные должны попасть на канал A, 1 означает, что данные должны попасть на канал B.
4. Целевое устройство должно убедится перед отправкой данных, что CTS находится в состоянии лог. 1. Сигнал CTS переходит в состояние лог. 0 после бита 0 (D0) и остается в лог. 0 до тех пор, пока чип все еще может принять данные.

4.8.3 Пример Fast Opto-Isolated Serial Data Interface

На рисунке показано, как используются FT2232H и два оптоизолятора Agilent HCPL-2430 (подробнее см. раздел полупроводников сайта www.agilent.com), чтобы гальванически изолировать внешнее устройство с подключением по USB. В этом примере напряжение VCC5V соответствует напряжению линии питания USB VBUS, а VCCE соответствует напряжению питания гальванически изолированного внешнего устройства.

Особое внимание следует уделить напряжению, используемому для питания фотодиодов. Оно должно быть таким же, какое использует FT2232H для вывода, иначе светодиоду могут быть постоянно запитаны. Ограничивающие ток резисторы должны быть встроены в сигналы, которые управляют светодиодами. Выходы оптоизолятора организованы как открытый коллектор, и требуют верхнего нагрузочного (pull-up) резистора.

FT2232H-Fast-Opto-Isolated-interface-example

4.9 Описание режима FIFO-интерфейса CPU-стиля

Режим CPU-style FIFO interface разработан для того, чтобы CPU мог получить доступ к интерфейсу USB через микросхему FT2232H. Этот режим включается через конфигурирование внешней EEPROM. Интерфейс работает с использованием бита выборки chip select (CS#) и бита адреса (A0). Когда либо канал A, либо канал B работает в режиме CPU-style FIFO interface, сигнальные линии IO конфигурируются так, как показано в таблице 3.10.

Этот режим использует комбинацию CS# и A0 чтобы определить тип выполняемой операции. В таблице истинности 4.7 показаны значения декодирования для различных операций.

CS# A0 RD# WR#
1 X X X
0 0 канал чтения данных канал записи данных
0 1 чтение статуса немедленная отправка

Таблица 4.7 Выбор операции CPU-Style FIFO Interface

Значения бит прочитанного Status показаны в таблице 4.8

Бит данных Значение Статус
bit 0 1 Данные доступны (=RXF)
bit 1 1 Есть место для данных (=TXE)
bit 2 1 Приостановка (suspend)
bit 3 1 Сконфигурировано
bit 4 X X
bit 5 X X
bit 6 X X
bit 7 X X

Таблица 4.8 Описание бит прочитанного статуса операции CPU-Style FIFO Interface

Имейте в виду, что биты статуса 4..7 могут иметь произвольные значения, и X означает, что они не используются.

Диаграмма времени для чтения и записи в этом режиме показаны на рисунке 4.17 и в таблице 4.9.

FT2232H-CPU-Style-FIFO-Interface-Signal-Waveforms

Рис. 4.17 Форма сигналов операции CPU-Style FIFO Interface.

Имя MIN
нс
NOM
нс
MAX
нс
Описание
t1 15     Интервал от установки A0/CS# до WR#
t2 15     Интервал от установки данных до WR#
t3 20     Ширина импульса WR#
t4 5     Интервал удержания A0/CS# от WR#
t5 5     Интервал удержания данных от WR#
t6 15     Интервал от установки A0/CS# до RD#
t7 15   50 Задержка данных от RD#
t8 5     Интервал удержания A0/CS# от RD#
t9 0   30 Интервал удержания данных от RD#

Таблица 4.9 Значения интервалов времени операции CPU-Style FIFO Interface.

Пример соединения микроконтроллера с FT2232H в режиме CPU-style FIFO interface показан на рисунке 4.18.

FT2232H-CPU-Style-FIFO-Interface-example

Рис. 4.18 Пример CPU-Style FIFO Interface

4.10 Описание режима синхронного и асинхронного Bit-Bang интерфейса

Канал A или канал B микросхемы FT2232H может быть сконфигурирован в режиме bit-bang interface. Есть два типа режима bit-bang: синхронный и асинхронный.

Asynchronous Bit-Bang Mode

Режим асинхронного Bit-Bang mode работает так же, как и режим Bit-Bang BM-стиля, за исключением того, что внутренние стробы RD# и WR# (RDSTB# и WRSTB#) теперь выходят из устройства, чтобы позволить внешней логике быть тактируемой по доступу к шине ввода/вывода bit-bang.

Данные, записанные в устройство обычным способом в один или оба канала будут выведены на выводы данных (которые были сконфигурированы как выходы). Каждая ножка может быть независимо настроена как вход или как выход. Скорость, с которой данные попадают на выход, управляется генератором baud rate.

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

Synchronous Bit-Bang Mode

В синхронном режиме Bit-Bang состояние ножек выходного параллельного порта будет обновляться только тогда, когда будут передаваться данные из интерфейса USB в параллельный интерфейс. Когда это произойдет, WRSTB# будет активирован, чтобы индицировать, что данные прочитаны из буфера USB Rx FIFO и записаны в выводы. Данные могут быть только приняты из параллельного порта выводов (в интерфейсе USB Tx FIFO), когда записываются данные в параллельный интерфейс.

С синхронным режимом Bit-Bang данные будут отосланы из FT2232H только в том случае, если будет пространство в USB FT2232H TXFIFO для данных, которые будут считаны из параллельных интерфейсных выводов. Этот синхронный режим Bit-Bang сначала считает контакты параллельной I/O шины данных, прежде чем он передаст данные от USB RxFIFO. Поэтому имеется 1 байт позади вывода, так чтобы прочитать входы для байта, который только что отправили, должен быть отправлен еще один байт. Например:

(1) Сначала ножки в состоянии 0xFF
Отправлены байты 0x55,0xAA
Ножки переходят в состояние 0x55 и затем в 0xAA
Прочитанными данными будут = 0xFF,0x55

(2) Сначала ножки в состоянии 0xFF
Отправлены байты 0x55,0xAA,0xAA (повтор последнего отправленного байта)
Ножки переходят в состояние 0x55 и затем в 0xAA
Прочитанными данными будут = 0xFF,0x55,0xAA

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

Asynchronous Bit-Bang mode разрешается командой драйвера Set Bit Bang Mode. Hex значение 1 разрешит Asynchronous Bit-Bang mode. Synchronous Bit-Bang mode разрешается командой драйвера Set Bit Bang Mode. Hex значение 4 разрешит Synchronous Bit-Bang mode.

Для подробностей и примеров использования режимов bit-bang см. апноут AN2232-02, “Bit Mode Functions for the FT2232”. Пример временной диаграммы Synchronous Bit-Bang mode показан на рисунке и в таблице 4.10.

FT2232H-Synchronous-Bit-Bang-Mode-timing

Имя Описание
t1 Чтение текущего состояния ножки
t2 Сигнал RDSTB# стал неактивным, и данные на ножках параллельного интерфейса I/O прочитаны и отправляются к хосту USB.
t3 Сигнал RDSTB# снова стал активным, и любые ножки, которые являются выходами, изменят свое состояние в соответствии с новыми данными.
t4 1 тактовый цикл для установки данных
t5 Сигнал WRSTB# становится активным. Это указывает на то, что хост PC записал новые данные в ножки параллельного интерфейса I/O
t6 Сигнал WRSTB# становится неактивным.

Таблица 4.10. Интервалы времени примера интерфейса Synchronous Bit-Bang mode.

WRSTB# = этот выход показывает, когда новые данные были записаны в выводы I/O из хоста PC (через интерфейс USB).
RDSTB# = срез нарастания на этом выходе показывает, когда данные были прочитаны из выводов I/O и отправлены хосту PC (через интерфейс USB).

WRSTB# становится активным в t4, когда данные читаются из USB RXFIFO (т. е. отправляются из PC). RDSTB# становится неактивным, когда данные выбраны из ножек и записаны в USB TXFIFO (т. е. отправляются в PC). Команда SETUP FT2232H используется для настройки битового режима. Эта команда также содержит маску данных размером в байт для установки направления для каждого бита. Направление на каждом выводе не меняется, пока не будет использована новая команда SETUP для модификации направления.

Стробы WRSTB# и RDSTB# только показывают, что может произойти в зависимости от направления шины. Например, если все выводы сконфигурированы как входы, то все еще нужно записывать в эти выводы для того, чтобы дать FT2232H прочитать эти выводы, даже если записанные данные никогда не появятся на выводах. Сигналы и поток данных режима Bit-bang показаны на рисунке.

FT2232H-Bit-bang-Mode-Dataflow-Diagram

4.11 Описание светодиодов режима интерфейса RS232 UART

Когда сконфигурирован режим RS232 UART, микросхема FT2232H имеет по два IO вывода на каждом канале, выделенные для управления LED-индикаторами состояния - один вывод для индикации переданных данных, другой вывод для принятых данных. Когда данные передаются / принимаются, соответствующие выводы переходят из третьего состояния в состояние лог. 0, чем индицируют миганием светодиода о перемещении данных. Для индикации даже самой маленькой порции данных используется таймер-одновибратор (чтобы процесс был виден пользователю).

FT2232H-RS232-dual-LED     FT2232H-RS232-single-LED
Конфигурация индикации приема/передачи
с двумя светодиодами
    Конфигурация индикации приема/передачи
с одним общим светодиодом

На рисунках показаны варианты подключения светодиодов - либо два светодиода, показывающие отдельно TX и RX, либо один светодиод, показывающий сразу два направления (выводы TXLED# и RXLED# объединены монтажным ИЛИ).

Имейте в виду - светодиоды должны быть подключены анодом к одному и тому же источнику питания VCCIO.

4.12 Сигнал Send Immediate / Wake Up (SIWU#)

Функция SIWU# (Send Immediate / Wake Up, отправка немедленно / пробуждение) доступна в режимах FIFO и bit-bang. Функция немедленной отправки используется для сброса данных от чипа к хосту PC. Может применяться для передачи коротких пакетов данных обратно к PC без ожидания, пока истечет время latency timer. Во избежание переполнения механизм должен использоваться только когда Вы остановили отправку данных в микросхему FT2232H. Сигналом хосту USB для передачи данных будет спад уровня сигнала SIWU#, см. диаграмму на рисунке.

FT2232H-using-SIWU

Когда вывод используется для функции Wake Up (пробуждение) - для вывода из сна хоста PC, то нужно подать на этот вывод отрицательный (лог. 0) импульс длительностью 20 мс.

Примечания:

1. Когда используется remote wake-up (удаленное пробуждение), убедитесь в наличии верхних нагрузочных резисторов (pull-up) в состоянии suspend (приостановка).
2. Если функция remote wake-up (удаленное пробуждение) разрешена, периферии в состоянии suspend (приостановка) разрешено потреблять ток до 2.5 мА. Если функция remote wake-up запрещена, то периферия в состоянии suspend (приостановка) не должна потреблять ток свыше 500 мкА.
3. Если разрешен Pull-down, то микросхема FT2232H не проснется (не выйдет из состояния suspend).

[Выбор режима работы FT2232H]

При сбросе/подаче питания 2 канала FT2232H переходят в режим асинхронных последовательных интерфейсов. Вслед за этим нужный режим по каждому каналу определяется по содержимому подключенного внешнего EEPROM (которое может быть запрограммировано утилитой MPROG V3.4a или более поздней версии, см. [3]). Это содержимое определяет, будут ли 2 канала FT2232H работать как asynchronous serial interface, FT245 FIFO interface, CPU-style FIFO interface или Fast Serial Interface.

Сразу после сброса микросхема FT2232H производит чтение EEPROM, чтобы определить - какой режим работы сконфигурирован. После прохождения устройством USB FT2232H энумерации можно послать драйверу USB команду FT_SetBitMode (см. руководство D2XX_Programmers_Guide) для переключения выбранного интерфейса в нужный режим - asynchronous bit-bang, synchronous bit-bang или MPSSE.

Когда микросхема находится в режиме FT245 FIFO, команда FT_SetBitMode может использоваться для выбора либо режима Synchronous FIFO (FT_SetBitMode = 0x40), либо режима Asynchronous FIFO. Имейте в виду, что режим Asynchronous FIFO должен быть установлен сразу на два канала перед выбором режима Synchronous FIFO. Это означает, что необходимо внешнее EEPROM, чтобы обеспечить начальное конфигурирование режима Asynchronous FIFO, перед тем как программа сконфигурирует режим Synchronous FIFO.

Когда выбран режим Synchronous FIFO, то канал A использует все ресурсы памяти канала B, так что канал B недоступен для использования. В этом случае состояние ножек канала B будет определено, когда конфигурация будет переключена в режим Asynchronous FIFO, тогда ножки канала B будут оставаться в своем режиме по умолчанию (D7:0 в третьем состоянии, но подтянутые к верхнему уровню резистором 75 кОм, TXS#=0, RXF#=1. Входы RD# и WR# должны оставаться подтянутыми к высокому уровню). Команда MPSSE set_data_bits может быть использована для конфигурирования ножек канала B как входов перед конфигурированием канала A в режим Synchronous FIFO. Это позволит избежать любого нежелательного влияния ножек канала B на другие интерфейсы (наподобие SPI), которые могли быть ранее сконфигурированы до любого переключения канала A в режим Synchronous FIFO. Подробности по использованию MPSSE в режиме MCU Host BUS Emulation и информацию по команде set_data_bits см. в апноуте AN2232C-01_MPSSE_Cmnd.pdf [3].

MPSSE может быть сконфигурировано напрямую командами D2XX. Руководство по использованию D2XX_Programmers_Guide доступно на сайте FTDI по ссылке D2XX_Programmer?s_Guide(FT_000071).pdf. В апноуте AN_108 – “Command Processor For MPSSE and MCU Host Bus Emulation Modes” дана дополнительная информация и примеры использования MPSSE.

4.12.1 Нужно ли мне применять EEPROM вместе с FT2232H?

Следующая таблица показывает, какие режимы доступны для конфигурирования с помощью EEPROM, а какие - с помощью приложения пользователя.

  ASYNC Serial UART ASYNC 245 FIFO SYNC 245 FIFO ASYNC Bit-bang SYNC Bit-bang MPSSE Fast Serial interface CPU-Style FIFO Host Bus Emulation
Конфигурируется
EEPROM
да да да       да да  
Конфигурируется
программно
    да да да да     да

[Характеристики и параметры FT2232H]

5.1 Предельно допустимые параметры (Absolute Maximum Ratings)

Предельно допустимые параметры приведены в соответствии с системой абсолютных рейтингов Absolute Maximum Rating System (IEC 60134). Превышение этих значений может привести к необратимому повреждению устройства.

Параметр Значение Единицы
Температура хранения (Storage Temperature) -65°C .. 150°C Градусы Цельсия
Время жизни без упаковки (Floor Life, Out of Bag), в заводском окружении (Factory Ambient)
(30°C / 60% относительной влажности)
168 часов
(IPC/JEDEC J-STD-033A MSL Level 3 Compliant)*
Часы
Температура окружающего воздуха (Ambient Operating Temperature) в работе (Power Applied, питание подключено) -40°C .. 85°C Градусы Цельсия
MTTF FT2232HL TBD Часы
MTTF FT2232HQ TBD Часы
Напряжение питания (Supply Voltage) VCORE -0.3 .. +2.0 V
Напряжение питания ввода/вывода VCCIO -0.3 .. +4.0 V
Постоянное входное напряжение (DC Input Voltage) сигналов USB – USBDP и USBDM -0.5 .. +3.63 V
Постоянное входное напряжение (DC Input Voltage) – высокое сопротивление двунаправленных сигналов (High Impedance Bi-directionals), запитано от VCCIO -0.3 .. +5.8 V
Постоянное входное напряжение (DC Input Voltage) для всех других входов наподобие PWREN#, SUSPEND#, RESET#, EECS, EECLK, EEDATA -0.5 .. + (VCCIO +0.5) V
Постоянный выходной ток (DC Output Current) для выходных сигналов 16 mA

* Если все чипы хранятся без упаковки свыше указанного лимита времени, они должны подвергнуться термической обработке перед использованием. Чипы должны быть нагреты до 125°C и высушиваться в течение 17 часов.

5.2 Параметры по постоянному току (DC Characteristics)

Все выводы имеют буферы на +3.3V, которые допускают напряжение +5V (за исключением ножек USB PHY). В таблице приведены характеристики DC для окружающей температуры -40°C .. +85°C.

Параметр Описание MIN NOM MAX Единицы
Условия
VCORE Напряжение питания ядра (VCC Core Operating Supply Voltage) 1.62 1.80 1.98 V  

VCCIO*

Напряжение питания ввода/вывода (VCCIO Operating Supply Voltage) 2.97

3.30

3.63

V Буферы допускают 5V
VREGIN Напряжение на входе встроенного регулятора напряжения (VREGIN Voltage regulator Input) 3.00 3.30 3.60 V  
VREGOUT Выходное напряжение встроенного регулятора (Voltage regulator Output) 1.71 1.80 1.89 V  
Ireg Выходной ток встроенного регулятора напряжения (Regulator Current)     150 mA VREGIN +3.3V
Icc1 Рабочий ток потребления ядра (Core Operating Supply Current) --- 70 --- mA VCORE = +1.8V
Нормальное функционирование
Icc1r Ток потребления ядра при сбросе (Core Reset Supply Current) --- 5 --- mA VCORE = +1.8V
Состояние сброса
Icc1s Ток потребления ядра в режиме приостановки (Core Suspend Supply Current)   500   mkA VCORE = +1.8V
Состояние приостановки (USB Suspend)

Таблица 5.2. Рабочие напряжения и токи (за исключением PHY)

* Примечание: отключение всех ножек VCCIO приведет к неработоспособности микросхемы.

Ножки I/O имеют буферы на +3.3V, работоспособные для уровней сигнала +5V (за исключением выводов USB PHY).

Параметр Описание MIN NOM MAX Единицы
Условия
Voh Выходное напряжение лог. 1 (Output Voltage High) 2.40 3.14   V Ioh = +/-2mA
I/O нагрузочная способность (Drive strength)* = 4mA
  3.20   V нагрузочная способность (Drive strength)* = 8mA
  3.22   V I/O нагрузочная способность (Drive strength)* = 12mA
  3.22   V I/O нагрузочная способность (Drive strength)* = 16mA
Vol Выходное напряжение лог. 0 (Output Voltage Low)   0.18 0.40 V Iol = +/-2mA
I/O нагрузочная способность (Drive strength)* = 4mA
  0.12   V I/O сила тока нагрузки (Drive strength)* = 8mA
  0.08   V I/O нагрузочная способность (Drive strength* = 12mA
  0.07   V I/O нагрузочная способность (Drive strength)* = 16mA
Vil Порог переключения лог. 0 (Input low Switching Threshold)   - 0.80 V Уровни TTL (LVTTL)
Vih Порог переключения лог. 1 (Input High Switching Threshold) 2.00 -   V Уровни TTL (LVTTL)
Vt Порог переключения (Switching Threshold)   1.50  150 V Уровни TTL (LVTTL)
Vt- Порог переключения триггера Шмитта для отрицательного перепада (Schmitt trigger negative going threshold voltage) 0.80 1.10 - V  
Vt+ Порог переключения триггера Шмитта для отрицательного перепада (Schmitt trigger positive going threshold voltage)   1.60 2.00 V  
Rpu Сопротивление верхнего внутреннего входного подтягивающего резистора (Input pull-up resistance) 40  75 190 кОм Vin = 0
Rpd Сопротивление нижнего внутреннего входного подтягивающего резистора (Input pull-down resistance) 40 75 190 кОм Vin =VCCIO
Iin Ток утечки на входе (Input Leakage Current) 15 45 85 mkA Vin = 0
Ioz Ток утечки на выходе в третьем состоянии (Tri-state output leakage current)   +/-10   mkA Vin = 5.5V или 0

Таблица 5.3. Характеристики выводов I/O Pin при VCCIO = +3.3V (за исключением ножек USB PHY)
* Нагрузочная способность ввода/вывода (I/O drive strength) и низкоскоростные уровни перепадов (slow slew-rate) настраиваются через конфигурирование EEPROM.

Продолжение DC характеристик (окружающая температура 40°C .. +85°C).

Параметр Описание MIN NOM MAX Единицы
Условия
VPHY,
VPLL
Напряжение питания PHY (PHY Operating Supply Voltage) 3.0 3.3 3.6 V 3.3V I/O
Iccphy Рабочий ток потребления PHY (PHY Operating Supply Current) --- 30 60 mA Работа на высокой скорости, частота 480 МГц (High-speed operation at 480 MHz)
Iccphy
(susp)
Ток потребления PHY в режиме приостановки USB (PHY Suspending Supply Current) --- 10 50 mkA Приостановка работы USB (USB Suspend)

Таблица 5.4. Рабочие напряжения и токи PHY.

Параметр Описание MIN NOM MAX Единицы
Условия
Voh Выходное напряжение лог. 1 (Output Voltage High) VCORE - 0.2     V  
Vol Выходное напряжение лог. 0 (Output Voltage Low)     0.2 V  
Vil Входной порог переключения для лог. 0 (Input low Switching Threshold)   - 0.8 V  
Vih Входной порог переключения для лог. 1 (Input High Switching Threshold) 2.0 -   V  

Таблица 5.5. Характеристики I/O выводов PHY

5.3 Допуски на электростатическую защиту (ESD Tolerance)

Характеристики защищенности от статического электричества для ножек IO микросхемы FT2232H приведены в следующей таблице.

Параметр Ссылка на документ стандарта MIN NOM MAX Единицы
Модель человеческого тела (Human Body Model, HBM) JEDEC EIA/JESD22-A114-B, Class 2   ±2kV   kV
Режим машины (Machine Mode, MM) JEDEC EIA/JESD22-A115-A, Class B   ±200V   V
Модель заряда устройства (Charge Device Model, CDM) JEDEC EIA/ JESD22-C101-D, Class-III   ±500V   V
Эффект тиристорного защелкивания (Latch-up) JESD78, Trigger Class-II   ±200mA   mA

[6 Конфигурации FT2232H]

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

6.1 Питание от шины USB (USB Bus Powered Configuration)

FT2232H-USB-powered-sch1

Рис. 6.1. Пример 1 конфигурации с питанием от шины USB.

На рисунке 6.1 показан пример типичной схемы подключения FT2232H. Устройство получает питание от шины USB. В таком включении микросхема FT2232H требует понижающего регулятора напряжения на +3.3V, запитанного от шины VBUS (USB +5V), причем регулятор должен быть LDO. Полученное на выходе LDO регулятора напряжение +3.3V используется для подачи питания на VCCIO, VPLL, VPHY и VREGIN.

Шина VREGIN является входом встроенного в микросхему LDO регулятора напряжения, рассчитанного на входное напряжение +3.3V. Этот регулятор производит напряжение +1.8V, которое подается на питание ядра микросхемы FT2232H (VCORE). На напряжении +1.8V должен быть фильтрующий конденсатор емкостью минимум 3.3 мкФ.

На следующей схеме примера 2 (также с питанием от USB) применен внешний дополнительный LDO регулятор на 1.8V, от которого питается VCORE.

FT2232H-USB-powered-sch2

Рис. 6.2. Пример 2 конфигурации с питанием от шины USB.

На рисунке 6.2 показана такая же схема включения FT2232H с питанием от USB, как и на рисунке 6.1. Отличие схемы 6.2 состоит в том, что для получения +1.8V питания ядра (VCORE) применен дополнительный внешний регулятор, который также запитан от VBUS.

6.2 USB конфигурация с собственным питанием (USB Self Powered Configuration)

FT2232H-self-powered-sch1

Рис. 6.3. Пример 1 схемы с собственным питанием

На рисунке 6.3 показана типичная конфигурация USB с собственным питанием. Самопитаемое устройство USB получает питание от своего собственного источника питания, и не потребляет ток от шины USB. В этом примере используется внешний источник питания, напряжение которого регулируется до +3.3V.

Обратите внимание: для такого включения EEPROM нужно сконфигурировать на конфигурацию USB с собственным питанием (self-powered operation) и опцию “suspend on DBUS7 low” ("приостановка при лог. 0 на DBUS7"), выбранные с помощью утилиты MPROG [3]. Также эта конфигурация использует ножку BCBUS7, так что подразумевается, что режим MPSSE не выбран.

Во втором примере конфигурации с собственным питанием присутствует дополнительный регулятор напряжения на +1.8V для питания VCORE.

FT2232H-self-powered-sch2

Рис. 6.4. Пример 2 схемы с собственным питанием

На рисунке 6.4 показана такая же схема включения FT2232H с внешним питанием, как и на рисунке 6.3. Отличие схемы 6.4 состоит в том, что для получения +1.8V питания ядра (VCORE) применен дополнительный регулятор, который также запитан от внешнего источника.

Обратите внимание: для такого включения EEPROM нужно сконфигурировать на конфигурацию USB с собственным питанием (self-powered operation) и опцию “suspend on DBUS7 low” ("приостановка при лог. 0 на DBUS7"), выбранные с помощью утилиты MPROG [3]. Также эта конфигурация использует ножку BCBUS7, так что подразумевается, что режим MPSSE не выбран.

6.3 Конфигурация генератора тактовой частоты (Oscillator Configuration)

FT2232H-crystal-connection

На рисунке показано рекомендуемое подключение кварцевого резонатора к микросхеме FT2232H. Кварц должен быть на 12 МГц ± 0.003%. Необходимо также добавить нагрузочные конденсаторы между выводами OSCI, OSCO и GND, как показано на рисунке. Значение 27 пФ, показанное в этом примере, хорошо подходит для большинства типов кварцевых резонаторов, однако рекомендуется по возможности выбрать величину нагрузочного конденсатора, основываясь на рекомендациях производителя. Рекомендуется также выбирать кварцы типом среза параллельного резонанса (parallel cut type crystal).

Можно также применить кварцевый генератор. В этом случае выход генератора нужно подключить к ножке OSCI, а ножку OSCO оставить неподключенной. Генератор должен быть рассчитан на управление микросхемами CMOS.

В таблице перечислены входные характеристики OSCI.

Параметр Описание MIN NOM MAX Единицы
Условия
OSCI Vin Входное напряжение 2.97 3.30 3.63 V  
FIn Входная частота   12   МГц +/- 30ppm
Ji Джиттер от цикла до цикла (дрожание фронта и спада сигнала)   <150   pS  

[7 Конфигурация EEPROM]

Если выбрана подходящая микросхема памяти EEPROM (93LC46/56/66), она может быть запрограммирована через USB с помощью утилиты MPROG V3.4a или более поздней версии [3]. Память EEPROM должна быть 16-битной, и должна работать от напряжения питания VCC в диапазоне +3.0 .. +3.6 вольт.

[8 Параметры корпуса]

Микросхема FT2232H доступна в двух типах корпусов. The FT2232HL корпусирована в LQFP-64, и FT2232HQ в QFN-64. Подробности по размерам корпусов и профилям пайки см. в даташите на микросхему [5].

[Словарик]

Bit-bang дословно можно перевести как "стрельба битами". Означает произвольное управление логическим состоянием портов ввода/вывода GPIO. Порты можно настроить как выходы, и менять на них логический уровень (лог. 0, лог. 1), а также можно настроить порты как входы и читать их состояние. Все это может делать программа ПО хоста, отправляя данные через интерфейс USB, через специальный драйвер и специальное API (D2XX).

MTTF аббревиатура от mean time to failure, что означает время работы до отказа.

TBD time between defects - наработка между моментами появления дефектов.

PHY сокращение от physical. В данном контексте имеется аппаратная реализация интерфейса USB, приемопередатчик USB, вмонтированный в микросхему FT2232H.

PLL Phase Locked Loop - фазовая автоподстройка частоты, применяется для генерации высоких тактовых частот из относительно невысокой частоты кварца.

LDO Low Drop Out - линейный (не импульсный) регулятор напряжения питания, допускающий малое (до 0.3 .. 0.5 вольт) падение напряжения на регулирующем элементе.

[Ссылки]

1. Руководство по установке драйвера D2XX (этот драйвер нужен для утилиты программирования EEPROM MProg).
2. Ссылки на закачку драйвера D2XX.
3. Утилиты FTDI. Тут можно найти ссылку на закачку программы MProg - EEPROM Programming Utility.
4. Апноуты (руководства по применению) FTDI.
5. Подборка документации и даташитов по чипам FT2232H и FT4232H, утилита MProg, драйвер D2XX.
6. FT2232H Board - макетная плата на высокоскоростном чипе моста USB фирмы FTDI.