Микросхема FT231X является мостом между USB и последовательным интерфейсом UART, с функциями полного управления модемом. Вот список возможностей чипа:
• Одночиповый преобразователь интерфейса - USB в асинхронный последовательный порт. • Протокол USB полностью обслуживается чипом. Нет необходимости применять специальное программное обеспечение, записываемое в чип. • Интегрированная в кристалл чипа многократно перепрограммируемая (multi-time-programmable, MTP) энергонезависимая память на 2048 байт, где хранятся дескрипторы устройства и конфигурация шины CBUS I/O. • Интегрированная в кристалл чипа генерация тактового сигнала, так что не требуется подключение внешнего кварцевого резонатора. Опционально можно выбирать тактовый выход, позволяющий напрямую подключить интерфейс к внешнему микроконтроллеру или FPGA. • Скорость передачи данных может составлять от 300 бод до 3 мегабод (RS422, RS485 и RS232), при этом сигналы имеют уровни логики TTL. • Имеются специальным образом обрабатываемые буферы (512 байта на прием, 512 байт на передачу), чтобы обеспечить высокую пропускную способность. • Вместе с чипами FTDI поставляются свободные от выплат драйверы виртуального последовательного порта (Virtual Com Port, VCP) и драйверы для прямого управления (Direct, D2XX). Таким образом, в большинстве случаев не нужно разрабатывать драйвер USB для использования чипов FTDI. • Имеются конфигурируемые выводы CBUS I/O. • Сигналы передачи и приема для управления индикационными светодиодами. • Интерфейс UART поддерживает настройки для асинхронного фрейма 7 или 8 бит данных, 1 или 2 stop-бита, использование бита четности как нечетный / четный / лог. 1 / лог. 0 / без четности. • Опции синхронных и асинхронных интерфейсов bit bang со стробами RD# и WR#. • Детектирование подключения к зарядному устройству вместо хоста (компьютера), USB Battery Charger Detection. Позволяет периферийным устройствам USB определить мощного источника питания, подключенного к порту USB, и применить ускоренную зарядку аккумулятора. • Микросхемы поставляются с запрограммированным на заводе уникальным серийным номером USB. • Конфигурации USB, относящиеся к питанию (USB Power Configurations); поддерживаются конфигурации с питанием от шины USB, с собственным питанием, и с питанием от шины USB с выключением питания. • Встроенный преобразователь уровня +3.3V для USB I/O. • Полноценные 3.3V CMOS выходы и входы TTL; работают с уровнями до 1V8, если применить внешние нагрузочные резисторы (pull-ups). Входы, которые можно использовать для уровней 5V. • Конфигурируемые ножки I/O с различной нагрузочной способностью 4 мА (min) и 16 мА (max). • Интегрированная схема сброса при подаче питания (power-on-reset). • Встроенная в чип фильтрация питания AVCC - не требуется внешней фильтрации. • Есть опция инверсии сигнала UART. • Для работы достаточно одного источника питания +5V. • Встроенные в чип линейные регуляторы напряжения 3V3/1V8 с низким падением напряжения (LDO). Низкий ток потребления в рабочем режиме и в режиме приостановки; 8 мА (активный режим, active) и 125 uA (приостановка, suspend). • Поддерживается совместимость с контроллером хоста UHCI/OHCI/EHCI. • Полная совместимость с USB 2.0 Full Speed. • Расширенный диапазон рабочих температур -40 .. 85°C. • Микросхемы доступны в компактных бессвинцовых (Pb-free) 20-выводных корпусах SSOP и QFN (и тот и другой совместим со стандартом RoHS).
Типичные области применения чипа FT231X:
• Преобразователи интерфейсов USB в RS232/RS422/RS485. • Обновление программного обеспечения традиционного оборудования через USB. • Использование USB, чтобы добавить модульность в систему. • Реализация интерфейса USB, чтобы позволить PC обмениваться данными в процессе разработки системы. • Кабели и интерфейсы для подключения сотовых и беспроводных телефонов через USB. • Добавление к устройствам, основанным на MCU/PLD/FPGA, функционала подключения к USB. • Передача данных USB Audio и Video с низкой полосой пропускания. • Устройства чтения смарт-карт, подключаемые через USB. • Инструментальные средства USB. • Управление в промышленности, реализованное через USB. • Интерфейс USB для плееров MP3. • Устройства для чтения и записи карт памяти FLASH, подключаемые через USB (карт-ридеры). • Интерфейс USB для цифровых камер. • Аппаратные модемы USB. • Беспроводные модемы USB. • Устройства чтения штрих-кода, подключаемые через USB. • Устройства для шифрования/дешифровки данных, подключаемые через USB, и модули для организации беспроводной связи. • Реализация в переносных устройствах с питанием от аккумуляторов функционала детектирования порта заряда с возможностью выдавать повышенный ток заряда.
Поддержка операционных систем для драйверов VCP:
• Windows 8 32, 64-bit • Windows 7 32, 64-bit • Windows XP и XP 64-bit • Windows Vista и Vista 64-bit • Windows XP Embedded • Windows CE 4.2, 5.0 and 6.0 • Mac OS-X • Linux 3.2 и выше • Android
Поддержка операционных систем для драйверов D2XX (имеются драйверы USB + программный интерфейс для ПО хоста в виде DLL):
• Windows 8 32, 64-bit • Windows 7 32, 64-bit • Windows XP и XP 64-bit • Windows Vista и Vista 64-bit • Windows XP Embedded • Windows CE 4.2, 5.0 и 6.0 • MAC OS-X • Linux 2.6 и выше • Android
Вышеперечисленные драйверы можно свободно скачать на сайте компании FTDI (www.ftdichip.com). Имеются также драйверы сторонних производителей для других операционных систем, подробнее см. информацию на сайте FTDI.
Рис. 3.1. Символьное обозначение микросхемы FT231X в корпусе QFN20.
Примечание: вывод 21 символа это большая контактная площадка под корпусом чипа, которая должна быть подключена к общему проводу GND.
Таблица 3.1. Выводы питания и земли.
№
Имя
Тип
Описание
12
VCC*
Питание, вход
Напряжение питания для микросхемы: 5V или 3.3V.
20
VCCIO
Питание, вход
Напряжение питания 1.8 .. 3.3V для подсистемы I/O.
10
3V3OUT*
Питание, выход
Выход внутреннего LDO-стабилизатора 3.3V 50 мА. Может использоваться для подачи питания на VCCIO. Когда используется в качестве питания для VCC напряжение 3.3V, вывод 10 должен быть соединен с выводом 12.
3, 13, 21
GND
Питание, вход
0V, земля, общий провод для питания и всех сигналов.
Примечание *: если на VCC подано питание 3.3V, то на вывод 3V3OUT также должно быть подано напряжение питания 3.3V.
Таблица 3.2. Общие используемые выводы.
№
Имя
Тип
Описание
9
USBDM
Вход
USB Data Signal Minus.
8
USBDP
Вход
USB Data Signal Plus.
11
RESET#
Вход
Вход подачи сигнала сброса (активный уровень лог. 0).
Таблица 3.3. Выводы, относящиеся к UART и группе CBUS (см. примечание). Выводы, помеченные символом #, имеют активный уровень лог. 0.
№
Имя
Тип
Описание
17
TXD
Выход
Transmit Asynchronous Data Output (выход передачи данных UART).
1
RXD
Вход
Receiving Asynchronous Data Input (вход приема данных UART).
19
RTS#
Выход
Request to Send (запрос на управление передачей, handshake-сигнал).
6
CTS#
Вход
Clear To Send (очистка управления передачей, handshake-сигнал).
18
DTR#
Выход
Data Terminal Ready (сигнал управления, показывающий готовность терминала, handshake-сигнал).
4
DSR#
Вход
Data Set Ready (сигнал управления, показывающий готовность терминала, handshake-сигнал).
5
DCD#
Вход
Data Carrier Detect (сигнал, показывающей наличие несущей на входе модема).
2
RI#
Вход
Ring Indicator (сигнал, оповещающий о приходе звонка на модем). Здесь используется как сигнал для удаленного пробуждения (remote wake up) микросхемы.
15
CBUS0
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как сигнал разрешения передачи TXDEN. См. опции сигналов CBUS в таблице 3.7.
14
CBUS1
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как сигнал индикации приема данных RXLED#. См. опции сигналов CBUS в таблице 3.7.
7
CBUS2
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как сигнал индикации передачи данных TXLED#. См. опции сигналов CBUS в таблице 3.7.
16
CBUS3
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как выходной сигнал SLEEP# для оповещения о входе FT231X в режим сна. См. опции сигналов CBUS в таблице 3.7.
Примечание: когда используется режим входа (Input Mode), входные выводы подтянуты к VCCIO через внутренние резисторы сопротивлением примерно 75 кΩ. Эти выводы могут быть запрограммированы для мягкого подтягивания к низкому уровню при приостановке USB (suspend, когда (PWREN# = лог. 1), путем установки соответствующей опции в памяти MTP.
Рис. 3.2. Символьное обозначение микросхемы FT231X в корпусе SSOP20.
Таблица 3.4. Выводы питания и земли.
№
Имя
Тип
Описание
15
VCC*
Питание, вход
Напряжение питания для микросхемы: 5V или 3.3V.
3
VCCIO
Питание, вход
Напряжение питания 1.8 .. 3.3V для подсистемы I/O.
13
3V3OUT*
Питание, выход
Выход внутреннего LDO-стабилизатора 3.3V 50 мА. Может использоваться для подачи питания на VCCIO. Когда используется в качестве питания для VCC напряжение 3.3V, вывод 13 должен быть соединен с выводом 15.
6, 16
GND
Питание, вход
0V, земля, общий провод для питания и всех сигналов.
Примечание *: если на VCC подано питание 3.3V, то на вывод 3V3OUT также должно быть подано напряжение питания 3.3V.
Таблица 3.5. Общие используемые выводы.
№
Имя
Тип
Описание
12
USBDM
Вход
USB Data Signal Minus.
11
USBDP
Вход
USB Data Signal Plus.
14
RESET#
Вход
Вход подачи сигнала сброса (активный уровень лог. 0).
Таблица 3.6. Выводы, относящиеся к UART и группе CBUS (см. примечание). Выводы, помеченные символом #, имеют активный уровень лог. 0.
№
Имя
Тип
Описание
20
TXD
Выход
Transmit Asynchronous Data Output (выход передачи данных UART).
4
RXD
Вход
Receiving Asynchronous Data Input (вход приема данных UART).
2
RTS#
Выход
Request to Send (запрос на управление передачей, handshake-сигнал).
9
CTS#
Вход
Clear To Send (очистка управления передачей, handshake-сигнал).
1
DTR#
Выход
Data Terminal Ready (сигнал управления, показывающий готовность терминала, handshake-сигнал).
7
DSR#
Вход
Data Set Ready (сигнал управления, показывающий готовность терминала, handshake-сигнал).
8
DCD#
Вход
Data Carrier Detect (сигнал, показывающей наличие несущей на входе модема).
5
RI#
Вход
Ring Indicator (сигнал, оповещающий о приходе звонка на модем). Здесь используется как сигнал для удаленного пробуждения (remote wake up) микросхемы.
18
CBUS0
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как сигнал разрешения передачи TXDEN. См. опции сигналов CBUS в таблице 3.7.
17
CBUS1
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как сигнал индикации приема данных RXLED#. См. опции сигналов CBUS в таблице 3.7.
10
CBUS2
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как сигнал индикации передачи данных TXLED#. См. опции сигналов CBUS в таблице 3.7.
19
CBUS3
I/O
Конфигурируемый сигнал ввода/вывода шины CBUS (GPIO). Функциональное поведение этого вывода конфигурируется программированием памяти MTP. По умолчанию сконфигурирован как выходной сигнал SLEEP# для оповещения о входе FT231X в режим сна. См. опции сигналов CBUS в таблице 3.7.
Примечание: когда используется режим входа (Input Mode), входные выводы подтянуты к VCCIO через внутренние резисторы сопротивлением примерно 75 кΩ. Эти выводы могут быть запрограммированы для мягкого подтягивания к низкому уровню при приостановке USB (suspend, когда (PWREN# = лог. 1), путем установки соответствующей опции в памяти MTP.
[Сигнальные опции CBUS]
Поведением выводов CBUS I/O могут управлять опции сигналов, которые можно менять в программируемой памяти MTP. Опции сигналов CBUS одинаковы для обоих вариантов версий корпусов FT231X. Опции конфигурируются в памяти MTP через USB с использованием программной утилиты FT_PPROG, которую можно загрузить из раздела утилит сайта компании FTDI (FTDI Utilities) www.ftdichip.com. Конфигурацию по умолчанию см. в таблице 8.1.
Таблица 3.7. Управление конфигурацией CBUS (опции настройки). Выводы, помеченные символом #, имеют активный уровень лог. 0. Опции применимы к любому из выводов CBUS0, CBUS1, CBUS2, CBUS3.
Опция
Описание
TRI-STATE
IO находится в третьем (отключенном) состоянии
DRIVE 1
Вывод постоянной лог. 1 (выход).
DRIVE 0
Вывод постоянного лог. 0 (выход).
TXDEN
Сигнал разрешения передачи данных для RS485 (выход).
PWREN#
Выход, который находится в лог. 0, когда устройство было сконфигурировано через USB (прошло энумерацию), и переходит в лог. 1 когда USB переходит в режим приостановки (suspend mode). Этот выход может использоваться для управления питанием внешних логических схем, например, для выдачи управляющего сигнала на затвор P-канального транзистора MOSFET. Когда используете эту опцию для сигнала PWREN# таким способом, разрешите использование подтягивающего вниз резистора (pull-down).
TXLED#
Выход для управления индикационным светодиодом - при передаче через USB на этом выводе будут появляться импульсы лог. 0. Подробнее см. далее секцию "LED-интерфейс".
RXLED#
Выход для управления индикационным светодиодом - при приеме через USB на этом выводе будут появляться импульсы лог. 0. Подробнее см. далее секцию "LED-интерфейс".
TX&RXLED#
Выход для управления индикационным светодиодом - при передаче и приеме через USB на этом выводе будут появляться импульсы лог. 0. Подробнее см. далее секцию "LED-интерфейс".
SLEEP#
Выход, который переходит в лог. 0, когда USB входит в режим приостановки (suspend mode). Обычно используется для выключения внешних микросхем преобразователей уровня TTL-RS232 (в приложениях преобразователя интерфейса USB - традиционный RS-232).
CLK24MHz
Выход тактового сигнала 24 МГц1.
CLK12MHz
Выход тактового сигнала 12 МГц1.
CLK6MHz
Выход тактового сигнала 6 МГц1.
GPIO
Работа CBUS в режиме bit bang. Позволяет программировать 4 вывода CBUS для использования как портов ввода/вывода общего назначения. Опция конфигурируется индивидуально для CBUS0, CBUS1, CBUS2 и CBUS3 через внутреннюю память MTP. На сайте FTDI имеется специальный апноут AN232R-01, где описывается, как использовать режим CBUS bit bang.
BCD Charger
Детектирование заряда батареи, показывает, что устройство подключено не к хосту, а к зарядному устройству. Выход, активный сигнал лог. 1.
BCD Charger#
Инверсия BCD Charger.
BitBang_WR#
Выход строба WR# синхронного и асинхронного режима bit bang.
BitBang_RD#
Выход строба RD# синхронного и асинхронного режима bit bang.
VBUS Sense
Вход для детектирования наличия VBUS (шина питания USB +5V).
Time Stamp
Метка точного времени - сигнал, который переключается каждый раз при приеме сигнала USB SOF (выход).
Keep_Awake#
Удерживание в рабочем состоянии - сигнал предотвращает устройство от входа в состояние приостановки (suspend state), когда оно отключено от USB (вход).
Примечание 1: когда USB находится в режиме приостановки (suspend mode) выходные такты также приостанавливаются.
[Функциональное описание]
FT231X работает через USB как полнофункциональный асинхронный UART со всеми стандартными сигналами управления. Микросхема FT231X упрощает подключение приборов к USB, уменьшая требуемое количество применяемых для этого компонентов - почти все необходимые узлы (конфигурируемая память MTP, тактовый генератор) встроены в корпус микросхемы.
Ключевые особенности микросхемы FT231X:
Функциональная интеграция. В кристалл FT231X встроена память конфигурирования MTP, генерация тактов (не требуется подключение внешнего кварцевого резонатора!), фильтрация AVCC, схема генерации сброса при включении питания (Power-On-Reset, POR) и линейные стабилизаторы напряжений LDO.
Конфигурируемые опции выводов CBUS I/O. Встроенная в кристалл микросхемы память MTP хранит настройки функционала сигналов шины управления (Control Bus, CBUS) и нагрузочной способности выводов. Имеется 4 конфигурируемых вывода CBUS I/O. Конфигурируемые опции подробно описаны в таблице 3.7. Сигналы CBUS можно конфигурировать с одной из этих выбранных опций, путем установки бит во внутренней памяти MTP. Микросхема поставляется с набором заранее установленных опций по умолчанию, подробнее см. таблицу 8.1.
Режим асинхронного Bit Bang (Asynchronous Bit Bang Mode) со стробами RD# и WR#. FT231X поддерживает режим управления выводами (bit bang), который присутствовал в предыдущих ревизиях чипов FTDI. В режиме bit-bang 8 сигналов UART могут быть переключены из обычного интерфейсного режима в режим 8-битного порта I/O общего назначения (GPIO). С помощью программных функций DLL (см. [2]) можно через USB послать с хоста пакеты данных со скоростью, управляемой внутренним таймером (скорость, эквивалентная настройке baud rate). В микросхеме FT231X этот режим расширен выводом внутренних сигналов строба RD# и WR#, которые можно использовать, чтобы позволить внешней логике тактировать доступ к шине bit-bang I/O. Эта опция более полно описана в отдельном апноуте, доступном на сайте компании FTDI.
Режим синхронного Bit Bang (Synchronous Bit Bang Mode). Этот режим отличается от асинхронного bit bang тем, что выводы интерфейса могут быть прочитаны только когда происходит запись в микросхему. Это упрощает управляющей программе отмерять ответ на выходные сигналы, так как данные возвращаются синхронно с выходными данными. Эта функция описана в апноуте AN232R-01, который можно скачать с сайта компании FTDI (www.ftdichip.com).
Источник питания и энергопотребление. FT231X может работать в диапазоне напряжений питания между +3.3V и +5.25V, с номинальным рабочим током потребления 8 мА, и номинальным током потребления приостановки (USB suspend mode) 125 μA. Это позволяет расширить возможности проектирования периферийных устройств, чтобы удовлетворить требованиям режима USB suspend mode по пределу тока потребления 2.5 мА. Интегрированный преобразователь уровня в интерфейсе UART позволяет подключить FT231X к логическим схемам UART, работающим от напряжения питания +1.8V .. +3.3V (входы допускают логические уровни 5V).
[Функциональное описание блоков]
В этом разделе подробно описана каждая функция FT231X. См. блок-схему внутреннего устройства на рис. 2.1.
Рис. 2.1. Блок-диаграмма FT231X.
Внутренняя память MTP. Используется в FT231X для хранения идентификатора производителя USB Vendor ID (VID), идентификатора продукта Product ID (PID), серийного номера устройства, строки описания продукта и других конфигурационных дескрипторов USB. Внутренняя память MTP также используется для конфигурирования функционала выводов CBUS. FT231X поставляется с MTP с запрограммированными настройками по умолчанию, как это описано в таблице 8.1. В памяти MTP имеется область пользователя, которая позволяет разработчикам сохранять дополнительные данные, и получать к ним доступ через USB в приложении ПО хоста. Дескрипторы во внутренней памяти MTP могут быть перепрограммированы прямо в схеме устройства через USB, без необходимости подключения дополнительных напряжений и оборудования. Дескрипторы можно запрограммировать с помощью утилиты FTDI, которая называется FT_PROG. Её можно скачать из раздела FTDI Utilities сайта компании FTDI.
Регулятор +3.3V LDO. +3.3V LDO регулятор генерирует опорное напряжение +3.3V для работы трансивера USB. Для работы этого регулятора требуется внешний развязывающий конденсатор, подключенный к выводу выхода 3V3OUT регулятора. Регулятор также предоставляет питание +3.3V для внутреннего верхнего подтягивающего резистора (pull-up) 1.5 kΩ для сигнала USBDP. Основная функция LDO - подавать питание для трансивера USB и генератора сброса, а не питание внешней логики. Однако выход 3V3OUT может использоваться для питания внешних схем, требующих +3.3V и максимальным током потребления 50 мА.
Регулятор +1.8V LDO. +1.8V LDO регулятор генерирует опорное напряжение +1.8V, используемое для питания функций ядра микросхемы - обработка функций последовательного интерфейса (serial interface engine) и функций протокола USB (USB protocol engine).
Трансивер USB. Блок трансивера USB предоставляет физический интерфейс USB 1.1 / USB 2.0 full-speed для подключения устройства кабелем USB к хосту. Выходные драйверы предоставляют управление сигналами +3.3V, в то время как дифференциальный вход приемника и два одиночных входа приемника предоставляют входные данные USB, и соответствующее детектирование событий Single-Ended-0 (SE0) и сброса USB (USB reset). С этими функциями используется верхний подтягивающий резистор (pull up) 1.5kΩ на сигнале USBDP. Блок трансивера также детектирует подключение источника питания USB, когда не происходит энумерация устройства, но питание присутствует и может использоваться для зарядки батареи.
USB DPLL. Блок USB DPLL захватывает поступающие данные NRZI USB, и генерирует восстановленную тактовую частоту и сигналы данных для блока Serial Interface Engine (SIE).
Внутренний генератор 12 МГц. Блок внутреннего генератора производит опорную тактовую частоту 12 МГц. Далее эта частота умножается на 4 для использования блоком обработки протокола USB. Частота 12 МГц также используется как опорная частота для блоков SIE, USB Protocol Engine и контроллера UART FIFO.
Умножитель / делитель тактовой частоты. С помощью этого блока из частоты 12 МГц получают тактовые частоты 48 МГц, 24 МГц, и 6 МГц. Частота 48 МГц используется блоком USB DPLL и блоком генератора скорости последовательного порта (Baud Rate Generator).
Serial Interface Engine (SIE). Этот блок выполняет преобразование из параллельного кода в последовательный и наоборот при обработке данных USB. В соответствии со стандартом USB 2.0, блок SIE выполняет вставку/удаление бит (bit stuffing/un-stuffing) и генерацию контрольных сумм CRC5/CRC16. Он также проверяет контрольные суммы CRC в потоке данных USB.
USB Protocol Engine. Подсистема обработки протокола USB управляет потоком данных конечной точки управления (USB control endpoint, она же называется конечная точка 0). Подсистема обрабатывает на низком уровне запросы протокола USB, которые генерирует контроллер хоста USB и команды для управления параметрами UART в соответствии со главой 9 спецификации стандарта USB 2.0.
Буфер FIFO RX (512 байт). Данные, которые передаются от контроллера хоста USB к UART через USB data OUT endpoint, сохраняются в буфере приема FIFO RX. Данные удаляются из этого буфера в процессе их переноса в регистр передачи UART, что выполняет контроллер UART FIFO (термин Rx, т. е. прием имеется в виду относительно интерфейса USB).
Буфер FIFO TX (512 байт). Данные из регистра приема UART сохраняются в буфере передачи USB FIFO TX. Контроллер хоста USB удаляет данные из буфера FIFO TX путем отправки запросов протокола USB на получение данных из устройства USB (в данном случае устройство USB это микросхема FT231X). Данные в устройстве USB находятся в контрольной точке данных (data IN endpoint), в принципе это и есть буфер FIFO TX (здесь термин Tx, т. е. передача, трактуется относительно интерфейса USB).
Контроллер UART FIFO. Этот блок обслуживает передачи данных между буферами FIFO RX и TX, и регистрами передачи и приема UART.
Контроллер UART с программируемой инверсией сигнала и высокой нагрузочной способностью. Вместе с контроллером UART FIFO контроллер UART обрабатывает передачи данных между между буферами FIFO RX и FIFO TX и регистрами передачи и приема UART. Контроллер UART выполняет преобразования 7 или 8 бит параллельных данных в последовательные и обратно - для интерфейса RS232 (или RS422, или RS485).
Управляющие сигналы, поддерживаемые режимом UART, включают RTS, CTS, DSR, DTR, DCD и RI. Контроллер UART также предоставляет сигнал управления разрешения передатчика как опция вывода кристалла (TXDEN), чтобы проще подключиться к трансиверам RS485. Поддерживаются также опции сигналов рукопожатия (handshaking) RTS/CTS, DSR/DTR и XON / XOFF. Handshaking поддерживается аппаратно, чтобы гарантировать быстрый отклик на сигналы. Интерфейс UART также поддерживает установку RS232 BREAK и детектирование его условия.
Дополнительно сигналы UART можно индивидуально инвертировать и сконфигурировать для повышенной нагрузочной способности (high drive strength capability). Обе эти функции конфигурируется с помощью памяти MTP.
Baud Rate Generator (генератор скорости) предоставляет вход тактов 16x для контроллера UART из опорной частоты 48 МГц. Генератор скорости состоит из 14-битного прескалера и 3 битов регистра, которые предоставляют точную настройку скорости baud rate (настраивается целочисленный делитель плюс дробная часть, или "подделитель"). Настройки генератора скорости определяют baud rate (частоту следования бит) для UART в диапазоне от 183 бода до 3 мегабода. Поддерживаются все стандартные скорости для UART, а также и нестандартные.
Любые нестандартные скорости обмена для FT231X вычисляются по формуле:
Baud Rate = 3000000 / (n + x)
Здесь n может быть любым целым числом от 2 до 16384 (= 2^14) и x это дробное число, значение которого может быть 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75 или 0.875. Когда n=1 значение x=0, например делители скорости между 1 и 2 невозможны.
Как уже упоминалось, все эти настройки позволяют получить скорости в диапазоне 183.1 .. 3000000 baud. Когда требуется нестандартная скорость, то обычно для её установки достаточно программно передать драйверу FTDI значение нужной скорости, и драйвер вычислит требуемый делитель, и установит скорость. Подробнее см. апноут AN232B-05 на сайте компании FTDI.
RESET Generator (генератор сброса). Этот блок автоматически генерирует сигнал сброса всех внутренних схем при подаче напряжения питания (power-on reset). Можно сбросить микросхему FT231X подачей лог. 0 на вывод RESET#. Сигнал RESET# можно подключить к шине 3V3OUT (напрямую, или через подтягивающий резистор).
Ниже в таблице представлены максимально допустимые абсолютные параметры (Absolute Maximum Ratings) микросхем FT231X. Их смысл соответствует системе классификации параметров Absolute Maximum Rating System (IEC 60134). Превышение значения этих параметров может привести к необратимому повреждению микросхемы.
Таблица 5.1. максимально допустимые абсолютные параметры.
Параметр
Значение
Ед.
Условия, примечания
Температура хранения
-65..150°C
Градус Цельсия
Время хранения без упаковки в заводских условиях (30°C / 60% относительной влажности)
168 часов
Час
В соответствии со стандартом IPC/JEDEC J-STD-033A MSL Level 3)2
Рабочая температура окружающего воздуха
-40..85°C
Градус Цельсия
MTTF FT231XS
TBD
Час
MTTF FT231XQ
TBD
Час
VCC, напряжение питания
-0.3..+5.5
V
VCCIO, напряжение питания цепей IO
-0.3..+4.0
V
Постоянное напряжение для входов USBDP и USBDM
-0.5..+3.63
V
Постоянное входное напряжение для входов и для выходов, находящихся в третьем (выключенном) состоянии (питание для них подается от VCCIO)
-0.3..+5.8
V
Постоянный нагрузочный ток для выходов
22
mA
ESD Charge Device Mode (CDM)
500
V
Class III
ESD Human Body Mode (HDM)
2000
V
Class 2
Примечание 2: если микросхемы хранятся без упаковки больше указанного предела времени, то перед использованием они должны пройти термическую обработку. Для этого микросхемы должны быть помещены в среду с повышенной до +125°C температурой, и запекаться так до 17 часов.
Таблица 5.2. Параметры ESD и пробоя (Latch-Up).
Описание
Спецификация
Human Body Mode (HBM)
> ±2 kV
Machine mode (MM)
> ±200 V
Charged Device Mode (CDM)
> ±500 V
Latch-up
> ±200 mA
Таблица 5.3. Рабочие напряжения и токи. Характеристики DC (при окружающей температуре = -40°C .. +85°C).
Параметр
Описание
min
nom
max
Ед.
Условия, примечания
VCC
Рабочее напряжение питания
2.97
5
5.5
V
Обычное функционирование
VCC2
Рабочее напряжение питания цепей ввода/вывода VCCIO
1.62
-
3.63
V
Icc1
Ток потребления
8
8
8.4
mA
Обычное функционирование
Icc2
Ток потребления
125
μA
USB Suspend (приостановка)
3V3
Выход встроенного регулятора напряжения 3.3V
2.97
3.3
3.63
V
Напряжение VCC должно быть больше 3.3V, иначе 3V3OUT станет входом, и должен быть подключен к 3.3V.
Таблица 5.4. Характеристики I/O выводов при VCCIO = +3.3V (за исключением выводов USB PHY).
Параметр
Описание
min
nom
max
Ед.
Условия, примечания
Voh
Выходное напряжение лог. 1
2.97
VCCIO
VCCIO
V
Ioh=±2mA, нагрузочная способность I/O3 =4mA
2.97
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =8mA
2.97
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =12mA
2.97
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =16mA
Vol
Выходное напряжение лог. 0
0
0.4
V
Ioh=±2mA, нагрузочная способность I/O3 =4mA
0
0.4
V
Нагрузочная способность I/O3 =8mA
0
0.4
V
Нагрузочная способность I/O3 =12mA
0
0.4
V
Нагрузочная способность I/O3 =16mA
Vil
Входной порог переключения для лог. 0
0.8
V
LVTTL
Vih
Входной порог переключения для лог. 1
2.0
V
LVTTL
Vt
Порог переключения
1.49
V
LVTTL
Vt-
Отрицательный порог переключения триггера Шмитта (переход от 1 к 0)
1.15
V
Vt+
Положительный порог переключения триггера Шмитта (переход от 0 к 1)
1.64
V
Rpu
Сопротивление верхнего входного подтягивающего резистора (pull-up)
40
75
190
kΩ
Vin=0
Rpd
Сопротивление нижнего входного подтягивающего резистора (pull-down)
40
75
190
kΩ
Vin=VCCIO
Iin
Входной ток утечки
-10
±1
10
μA
Vin=0
Ioz
Выходной ток утечки, когда выход находится в третьем (отключенном) состоянии
-10
±1
10
μA
Vin=5.5V или 0
Примечание 3: нагрузочная способность ввода/вывода (I/O drive strength) и снижение скорости переключения (slow slew-rate) конфигурируются программированием памяти MTP.
Таблица 5.5. Характеристики I/O выводов при VCCIO = +2.5V (за исключением выводов USB PHY).
Параметр
Описание
min
nom
max
Ед.
Условия, примечания
Voh
Выходное напряжение лог. 1
2.25
VCCIO
VCCIO
V
Ioh=±2mA, нагрузочная способность I/O3 =4mA
2.25
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =8mA
2.25
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =12mA
2.25
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =16mA
Vol
Выходное напряжение лог. 0
0
0.4
V
Ioh=±2mA, нагрузочная способность I/O3 =4mA
0
0.4
V
Нагрузочная способность I/O3 =8mA
0
0.4
V
Нагрузочная способность I/O3 =12mA
0
0.4
V
Нагрузочная способность I/O3 =16mA
Vil
Входной порог переключения для лог. 0
0.8
V
LVTTL
Vih
Входной порог переключения для лог. 1
1.8
V
LVTTL
Vt
Порог переключения
1.1
V
LVTTL
Vt-
Отрицательный порог переключения триггера Шмитта (переход от 1 к 0)
0.8
V
Vt+
Положительный порог переключения триггера Шмитта (переход от 0 к 1)
1.2
V
Rpu
Сопротивление верхнего входного подтягивающего резистора (pull-up)
40
75
190
kΩ
Vin=0
Rpd
Сопротивление нижнего входного подтягивающего резистора (pull-down)
40
75
190
kΩ
Vin=VCCIO
Iin
Входной ток утечки
-10
±1
10
μA
Vin=0
Ioz
Выходной ток утечки, когда выход находится в третьем (отключенном) состоянии
-10
±1
10
μA
Vin=5.5V или 0
Примечание 3: нагрузочная способность ввода/вывода (I/O drive strength) и снижение скорости переключения (slow slew-rate) конфигурируются программированием памяти MTP.
Таблица 5.6. Характеристики I/O выводов при VCCIO = +1.8V (за исключением выводов USB PHY).
Параметр
Описание
min
nom
max
Ед.
Условия, примечания
Voh
Выходное напряжение лог. 1
1.62
VCCIO
VCCIO
V
Ioh=±2mA, нагрузочная способность I/O3 =4mA
1.62
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =8mA
1.62
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =12mA
1.62
VCCIO
VCCIO
V
Нагрузочная способность I/O3 =16mA
Vol
Выходное напряжение лог. 0
0
0.4
V
Ioh=±2mA, нагрузочная способность I/O3 =4mA
0
0.4
V
Нагрузочная способность I/O3 =8mA
0
0.4
V
Нагрузочная способность I/O3 =12mA
0
0.4
V
Нагрузочная способность I/O3 =16mA
Vil
Входной порог переключения для лог. 0
0.77
V
LVTTL
Vih
Входной порог переключения для лог. 1
1.6
V
LVTTL
Vt
Порог переключения
0.77
V
LVTTL
Vt-
Отрицательный порог переключения триггера Шмитта (переход от 1 к 0)
0.557
V
Vt+
Положительный порог переключения триггера Шмитта (переход от 0 к 1)
0.893
V
Rpu
Сопротивление верхнего входного подтягивающего резистора (pull-up)
40
75
190
kΩ
Vin=0
Rpd
Сопротивление нижнего входного подтягивающего резистора (pull-down)
40
75
190
kΩ
Vin=VCCIO
Iin
Входной ток утечки
-10
±1
10
μA
Vin=0
Ioz
Выходной ток утечки, когда выход находится в третьем (отключенном) состоянии
-10
±1
10
μA
Vin=5.5V или 0
Примечание 3: Нагрузочная способность ввода/вывода (I/O drive strength) и снижение скорости переключения (slow slew-rate) конфигурируются программированием памяти MTP.
Таблица 5.7. Характеристики выводов I/O USB (USBDP, USBDM).
Параметр
Описание
min
nom
max
Ед.
Voh
Выходное напряжение лог. 1
VCC-0.2
V
Vol
Выходное напряжение лог. 0
0.2
V
Vil
Входной порог переключения для лог. 0
-
0.8
V
Vih
Входной порог переключения для лог. 1
2.0
V
У встроенной памяти 2048 байт MTP следующие характеристики надежности:
Таблица 5.8. Характеристики памяти MTP.
Параметр
Значение
Время хранения данных
10 лет
Количество циклов записи
2000
Количество циклов чтения
Не ограничено
Встроенный генератор тактов имеет следующие характеристики:
Таблица 5.9. Характеристики внутреннего тактового генератора.
Параметр
Значение
Ед.
min
nom
max
Рабочая частота4
11.98
12.00
12.02
МГц
Период тактов
83.19
83.33
83.47
нс
Скважность
45
50
55
%
Примечание 4: эквивалентно +/-1667 ppm.
[Варианты питания USB]
В следующих разделах показаны возможные варианты питания FT231X, связанные с USB. В иллюстрациях опущены номера выводов для упрощения понимания схем, потому что нумерация выводов различается в корпусах микросхем FT231XS и FT231XQ.
Все конфигурации питания USB показаны с целью применений обоих вариантов корпуса микросхемы FT231X. Цоколевку и описание сигналов см. выше во врезках "Цоколевка выводов" и в разделе "Параметры корпусов".
Конфигурация питания от шины USB. На рис. 6.1 показано типичное включение FT231X, когда питание осуществляется от USB (USB bus powered design configuration).
Рис. 6.1. Питание устройства на чипе FT231X от USB.
Примечание: Ferrite Bead это специальный помехоподавляющий фильтр по питанию.
Базовые правила при питании устройств USB от шины USB следующие:
i) В момент подключения к USB (до прохождения энумерации), устройство должно потреблять от шины USB ток не более 100 мА. ii) В режиме приостановки (USB Suspend mode) устройство должно потреблять не больше 2.5 мА. iii) Устройства, которые требуют для питания мощности большей, чем 100 мА при 5V, должны использовать один из выводов CBUS, сконфигурированный как сигнал включения PWREN#, и использовать его для сохранения тока меньше 100 мА при подключении и 2.5 мА при приостановке (USB suspend). iv) Устройства, которые потребляют больше 100 мА, не могут быть подключены к хабу, который получает питание от шины USB. v) Никакое устройство не может потреблять от шины USB ток больше, чем 500 мА.
Чтобы соответствовать потребляемому току устройства USB на микросхеме FT231X, должны быть запрограммированы дескрипторы питания (power descriptors) во внутренней памяти MTP.
Фильтр ferrite bead соединен последовательно с линией питания is USB, чтобы уменьшить шум EMI от FT231X и связанных с ней схем, передаваемый через кабель USB в хост USB. Тип и Ferrite Bead зависит от общего тока потребления приложения устройства USB. Имеется набор подходящих фильтров Ferrite Bead на сайте компании Laird Technologies (http://www.lairdtech.com), например фильтр MI0805K400R-10.
Примечание: если используется сигнал PWREN# (который доступен как опция настройки CBUS), его вывод должен быть подтянут к VCCIO через резистор 10kΩ.
Конфигурация с собственным источником питания. Рис. 6.2 показывает типичную схему питания FT231X от отдельного собственного источника питания (USB self powered configuration).
Рис. 6.2. Питание устройства на чипе FT231X от собственного источника.
Устройство USB с собственным питанием имеет индивидуальный источник питания для VCC, и не потребляет энергию от шины USB. Базовые требования к такому устройству USB следующие:
i) Устройство с собственным питанием не должно передавать ток в шину USB, когда хост USB или контроллер хаба переходят в отключенное состояние. ii) Устройство с собственным питанием может потреблять больше тока как в рабочем режиме, так и в режиме приостановки (USB suspend), поскольку у него собственный, независимый источник энергии. iii) Устройство с собственным питанием может использоваться с любым хостом USB, любым питаемым от шины USB хабом или хабом с собственным питанием.
Дескриптор питания во внутренней памяти MTP FT231X должен быть запрограммирован на нулевое значение тока потребления (это означает, что устройство имеет собственное питание, self powered).
Чтобы удовлетворять первому из этих требований, линия питания USB (вывод 1 коннектора) используется для управления выводом VBUS_Sense микросхемы FT231X. Когда хост USB или хаб USB запитан, внутренний резистор 1.5kΩ на выводе USBDP подтягивается к is +3.3V, идентифицируя тем самым для хоста (или для хаба) наличие устройства USB full speed. Когда хост USB или хаб выключаются, вывод VBUS_Sense получит низкий лог. уровень, и микросхема FT231X будет удерживаться в состоянии приостановки (suspend state). В этом состоянии внутренний резистор 1.5kΩ не подтянут ни к какому источнику питания (в этот момент хаб или хост выключены), так что никакой ток не вытекает из USBDP через резистор 1.5kΩ pull-up. Невыполнение этого условия может привести к неправильному функционированию некоторых хостов USB или контроллеров хабов при включении питания.
Рис. 6.2 показывает дизайн в конфигурации с собственным питанием, у которого имеется источник питания с напряжением в диапазоне illustrates +3.3 .. +5.25V.
Примечание: когда FT231X находится в состоянии сброса, выводы I/O интерфейса UART находятся в третьем (отключенном) состоянии. Входные выводы имеют внутренние подтягивающие вверх к VCCIO (pull-up) нагрузочные резисторы 200kΩ, так что они мягко переходят в лог. 1, если они не управляются внешней логикой.
Конфигурация с питанием от USB и управлением потребления. Требование к приложениям устройств USB с питанием от шины USB - когда USB находится в режиме приостановки (suspend mode), устройство не должно потреблять меньше 2.5 мА. Это требование включает и внешнюю (по отношению к FT231X) логику, которая также получает питание от USB. Внешняя логика может быть устроена так, что будет отслеживать сигнал PWREN#, чтобы перевести себя в выключенное состояние. Если у внешней логики нет такой возможности, то FT231X предоставляет простой и эффективный метод выключения питания при входе в режим USB suspend.
Рис. 6.3 Конфигурация с питанием от шины USB и возможностью выключения питания у внешней логики.
На рис. 6.3 показан пример использования дискретного транзистора P-Channel MOSFET для управления питанием внешней логики (Bus Powered with Power Switching Configuration). Подходящий транзистор для этого легко найти среди ассортимента компании International Rectifier (www.irf.com), например это может быть IRLML6402 или его эквивалент. Рекомендуется применить схему "мягкого запуска" с последовательно включенным резистором 1kΩ и конденсатором 0.1 μF, чтобы ограничить импульс тока, когда транзистор MOSFET переходит во включенное состояние. Без мягкого запуска возможен большой импульс тока, что может привести к сбросу FT231X или контроллера USB хоста/хаба. Схема мягкого старта на рисунке 6.3 включает питание с замедлением нарастания тока примерно до скорости 12.5V/ms. Это замедление приведет к нарастанию напряжения питания для внешней логики от GND до +5V примерно за 400 микросекунд.
Как альтернатива P-канальному транзистору MOSFET может быть применена специальная микросхема мощного ключа со встроенной функцией мягкого старта. Подойдет power switch IC, такая как MIC2025-2BM от компании Micrel (www.micrel.com) или эквивалент.
Для дизайна с управлением питания для внешней логики следует сделать замечания:
i) Внешняя логика, которая получает питание через ключ, должна иметь возможность самостоятельного сброса (встроенную в микросхему или в виде специального узла сброса или супервизора). Это необходимо, чтобы сброс внешней логики автоматически происходил при выходе устройства USB из режима suspend, когда через ключ подается питание. ii) Установите опцию Pull-down on Suspend во внутренней памяти MTP FT231X. iii) Один из выводов CBUS должен быть сконфигурирован как сигнал PWREN# во внутренней памяти FT231X MTP, и он должен использоваться для включения питания для внешней схемы. Сигнал PWREN# должен быть подтянут к лог. 1 через резистор 10 kΩ. iv) Для приложений устройств USB с высоким потреблением тока (когда ток потребления от шины USB превышает 100 мА, и может доходить до 500 мА), то в памяти MTP должно быть соответствующим образом сконфигурирован параметр энергопотребления (поле Max Power). Этим устройство USB будет информировать хост о своих требованиях к энергопотреблению. v) PWREN# получает свое питание (уровень лог. 1) от VCCIO. Для дизайна, который использует логику уровня 3.3V убедитесь, что VCCIO не выключен внешней логикой. В этом случае используйте выход +3V3OUT.
[Примеры применения]
В следующих разделах показаны возможные варианты применения FT231X. В иллюстрациях опущены номера выводов для упрощения понимания схем, потому что нумерация выводов различается в корпусах микросхем FT231XS и FT231XQ.
USB - RS232 Converter. Традиционный пример использования FT231X в качестве преобразователя USB в RS232 показан на рис. 7.1.
Рис. 7.1. Схема применения FT231X в качестве конвертера USB-RS232.
Примечание: если используется VCCIO < 3.3V, то для выводов ввода/вывода требуются резисторы 10k pullup, подтягивающие уровень к VCCIO.
В этом приложении используется отдельная микросхема преобразователя уровней TTL 3V3 в стандартные уровни RS232 ±12..15V (RS232 Level Converter). Подобные микросхемы преобразования уровней поставляют многие производители, например Zywyn. Микросхема Zywyn ZT3243F может обеспечить обмен RS232 на скорости до 1000k baud. Полезная функция, имеющаяся на некоторых из таких микросхем - вывод SHDN#, который можно использовать для выключения устройства, чтобы снизить потребление энергии, когда система перешла в режим USB suspend.
В показанном примере сигналы CBUS0 и CBUS1 сконфигурированы как TXLED# и RXLED#, и используются для управления двумя индикационными светодиодами.
USB - RS485 Converter. Пример использования FT231X в качестве преобразователя интерфейсов USB - RS485 показан на рис. 7.2.
Рис. 7.2. Схема примера применения для конвертера USB - RS485.
Используется специальная микросхема преобразования уровней 3V3-TTL в уровни RS485. В этом примере применена микросхема Zywyn ZT3485. Эквивалентные микросхемы есть также у компаний Maxim и Analog Devices. ZT3485 поставляется в компактном корпусе с 8 выводами (SOP8). У неё есть отдельные выводы для управления разрешением работы передатчика и приемника. В интерфейсе RS485 передатчик разрешается только когда символ передается через UART. Для этого как опция CBUS предоставляется сигнал TXDEN, специально предназначенный для управления передатчиком. Сигнал TXDEN подключен к CBUS2. Подобным образом CBUS3 сконфигурирован как PWREN#. Этот управляющий сигнал используется для разрешения работы приемника ZT3485. Активный уровень, разрешающий приемник, лог. 0, так что вывод PWREN# запрещает приемник, когда система в режиме USB suspend. CBUS2 = TXDEN и CBUS3 = PWREN# уже настроены в конфигурации по умолчанию (заводская конфигурация) для выводов FT231X.
RS485 является сетью типа multi-drop; это означает, что множество устройств могут обмениваться друг с другом через интерфейс с 2 проводами.
Кабель RS485 требует специального терминирования на обоих концах шины. Соединение (которое предоставляет терминирование 120Ω) позволяет правильно сформировать окончание линии, если ZT3485 позиционирована на конце кабеля RS485.
В этом примере данные, которые передаются FT231X, также присутствуют и на тракте приема ZT3485. Это общая особенность RS485, которая требует в программе приложения (ПО хоста) удаления передаваемых данных из потока приема. С микросхемой FT231X эту проблему можно решить аппаратно, путем модификации примера на рис. 7.2, если по функции ИЛИ объединить FT231X TXDEN и выход приемника ZT3485, и соединить выход через элемент OR, чтобы управлять прохождением сигнала RXD в FT231X.
Обратите внимание, что TXDEN активируется на 1 бит раньше появления стартового бита. TXDEN деактивируется в то же самое время, как появляется stop-бит. Это поведение не конфигурируется.
USB - RS422 Converter. На рис. 7.3 показан пример, где FT231X используется как преобразователь интерфейсов USB в RS422.
Рис. 7.3. Схема примера применения для конвертера USB - RS422.
В этом приложении применяются 2 микросхемы преобразователя уровней 3V3-TTL в уровни RS422. Имеется множество подходящих для этой цели микросхем. В этом примере используются Zywyn ZT3491, у которых есть сигналы разрешения как для приемника, так и для передатчика. Поскольку у сигнала разрешения передатчика ZT3491 активный сигнал лог. 1, то он подключен к линии CBUS, сконфигурированной как сигнал SLEEP#. Сигнал разрешения передатчика ZT3491 имеет активный уровень лог. 0, поэтому он подключен к выводу CBUS, сконфигурированному как сигнал PWREN#. Это гарантирует, что оба передатчика и приемника ZT3491 будут разрешены, когда устройство USB активно, и когда устройство в режиме приостановки (USB suspend mode), то и передатчик, и приемник ZT3491 оба запрещены. Если применяется подобное приложение, но с дизайном, получающим питание от USB, то может потребоваться использовать P-канальный транзистор MOSFET (управляемый на открывание сигналом PWREN#) для подключения питания VCC к микросхемам ZT3491. Это нужно, чтобы гарантировать требование ограничить потребление устройства USB в режиме USB standby тока не более 2.5 mA.
Для микросхем ZT3491 указано, что они могут передавать и принимать данные со скоростью до 16 Mbaud. В этом примере максимальная скорость ограничена пределом микросхемы FT231X 3 Mbaud.
Детектирование заряда батареи через USB. Недавнее добавление к стандарту USB specification (http://www.usb.org/developers/devclass_docs/BCv1.2_011912.zip) позволяет использовать дополнительные профили зарядки для батарей в переносных устройствах (смартфонах, телефонах, камерах и т. д.). Эти профили заряда не относятся к прохождению энумерации устройства на порту USB, т. е. это обычные зарядные устройства, контроллера хоста в нем нет. Микросхема FT231X будет детектировать ситуацию, что к нему подключен специальный порт зарядки, предусмотренный стандартом - USB compliant dedicated charging port (DCP). Когда это детектирование произошло в suspend mode, предоставляется сигнал детектирования заряда батареи, чтобы разрешить для входной логики переключение в режим заряда, который может отличаться от обычного рабочего режима устройства USB.
Чтобы использовать эту фичу FT231X (battery charging detection), выводы CBUS должны быть запрограммированы, чтобы разрешить работу выходов BCD Charger, которые могут включать схемы заряда от внешнего зарядного устройства. Как обычно, выводы CBUS конфигурируются во внутренней памяти MTP с помощью бесплатно предоставляемой утилиты программирования FTPROG. Если схема заряда требует сигналов с активным лог. 0 (лог. 0 разрешает работу схемы заряда), вывод CBUS в качестве альтернативы может быть запрограммирован с инверсией (BCD Charger#).
Когда устройство на FT231X подключено к USB compliant dedicated charging port (DCP, этот порт отличается от стандартного порта хоста USB) сигналы устройства USB будут замкнуты друг на друга, и устройство переходит в режим приостановки (suspended). Сигнал BCD charger переведет LTC4053 (см. схемы ниже) в рабочее состояние и разрешит начало заряда батареи. В этом примере ток заряда будет менее 1A, как это определено сопротивлением на выводе PROG.
Рис. 7.4. USB Battery Charging Detection (1 вывод).
Примечание к схеме рис. 7.4: устройство предоставляет ток заряда 1A, когда подключено к DCP (не хост USB) и 0, когда устройство прошло энумерацию (хост USB). Также ток заряда 0A, когда устройство не прошло энумерацию и не находится в режиме сна, и 0A, когда устройство в режиме сна.
Настройки EEPROM (MTP) для схемы рис. 7.4:
Вывод X-Chip
Функция
CBUS0
BCD
Опции батареи для схемы рис. 7.4:
Опция
Установка
Battery Charger Enable
x
Force Power Enable
De-activate Sleep
Альтернативно выводы PWREN# и SLEEP могут быть использованы для управления LTC4053 в ситуациях, когда батарея может заряжаться как от стандартного хоста USB (малым током) или от выделенного порта зарядки DCP (большим током). В таком дизайне, пример которого показан ниже, ток зарядки должен быть ограничен значением 0.4A, чтобы гарантировать, что общее потребление от порта хоста USB не превысило предел 0.5A.
Рис. 7.5. USB Battery Charging Detection (2 вывода).
Примечание к схеме рис. 7.5: устройство предоставляет ток заряда 0.4A, когда подключено к DCP (не хост USB) и 0.4A, когда устройство прошло энумерацию (хост USB). Также ток заряда 0.1A, когда устройство не прошло энумерацию и не находится в режиме сна, и 0A, когда устройство в режиме сна.
Настройки EEPROM (MTP) для схемы рис. 7.5:
Вывод X-Chip
Функция
CBUS5
SLEEP#
CBUS6
PWREN#
Опции батареи для схемы рис. 7.5:
Опция
Установка
Battery Charger Enable
x
Force Power Enable
x
De-activate Sleep
x
В примере на рис. 7.5 вывод SLEEP микросхемы FT231X используется для разрешения/запрета LTC4053, в то время как сигнал PWREN# меняет ток зарядки путем изменения сопротивления на выводе PROG микросхемы LTC4053.
Третья опция, что показана в примере ниже, использует сигнал SLEEP микросхемы FT231X для разрешения / запрета заряда батареи. Тогда сигналы BCD# и PWREN# используются для изменения сопротивления вывода PROG LTC4053, что будет управлять током потребления от USB для заряда.
Рис. 7.6. USB Battery Charging Detection (3 вывода).
Примечание к схеме рис. 7.6: устройство предоставляет ток заряда 1A, когда подключено к DCP (не хост USB) и 0.4A, когда устройство прошло энумерацию (хост USB). Также ток заряда 0.1A, когда устройство не прошло энумерацию и не находится в режиме сна, и 0A, когда устройство в режиме сна.
Настройки EEPROM (MTP) для схемы рис. 7.6:
Вывод X-Chip
Функция
CBUS0
BCD#
CBUS1
PWREN#
CBUS2
SLEEP#
Опции батареи для схемы рис. 7.6:
Опция
Установка
Battery Charger Enable
x
Force Power Enable
De-activate Sleep
x
Примечание ко всем схемам: перемычка JP1 для опции NTC относится к наличию или отсутствию термистора датчика температуры аккумулятора.
Для вычисления эквивалентного сопротивления Res вывода LTC4053 PROG выберите ток заряда Ichg, тогда Res = 1500V / Ichg.
Дополнительную информацию по опциям конфигурирования LTC4053 см. в даташите AN_175 [3].
Примечание: если FT231X подключена к стандартному порту хоста USB, так что устройство прошло энумерацию, сигнал детектирования заряда батареи будет неактивным, так как микросхема FT231X не будет находиться в состоянии приостановки (suspend).
LED-интерфейс. Любой из выводов CBUS I/O может быть сконфигурирован для подключения светодиода (LED). У микросхемы FT231X есть 3 опции конфигурации для управления светодиодами от CBUS: TXLED#, RXLED# и TX&RXLED#. Подробнее про опции конфигурации см. таблицу 8.1.
Пример использования FT231X для управления светодиодами показан на рис. 7.7. В этом приложении один из выводов CBUS используется для индикации передачи данных (TXLED#), и другой для индикации приема данных (RXLED#). Когда данные передаются или принимаются, соответствующие выводы перейдут из 3-го состояния в лог. 0, чтобы зажигать светодиоды. Для того, чтобы показать даже короткие передачи (чтобы вспышка была видна для пользователя), используется встроенный ждущий мультивибратор.
Рис. 7.7. Конфигурация с двумя светодиодами.
Другой пример использования FT231X для управления светодиодами показан на рис. 7.8. В этом примере один вывод CBUS используется для индикации как передачи, так и приема (TX&RXLED). В этой конфигурации FT231X будет управлять только одним светодиодом.
Рис. 7.8. Конфигурация с одним светодиодом.
[Конфигурирование FT231X (с помощью MTP)]
Микросхема FT231X содержит встроенную память MTP, где хранятся дескрипторы конфигурации USB и другие конфигурационные данные, влияющие на поведение кристалла, а также область данных пользователя. Это энергонезависимая память, которая сохраняет свои данные между выключением и повторным включением питания. При каждом сбросе при подаче питания (power-on reset) или при прохождении сигнала сброса по шине USB (USB reset) микросхема FT231X будет сканировать свою внутреннюю память MTP и вычитывать оттуда данные дескрипторов конфигурации USB.
Во многих случаях значения, запрограммированные по умолчанию в память MTP, подойдут для реального применения, так что перепрограммировать память не потребуется (значения по умолчанию см. в таблице 8.1).
Память MTP микросхемы FT231X может быть запрограммирована через USB, если для какого-нибудь частного приложения нужно поменять настройки.
Пользователи, у которых нет во владении собственных идентификаторов USB Vendor ID (VID), но которые хотели бы использовать уникальные идентификаторы Product ID (PID) в своих разработках, могут использовать предоставленный компанией FTDI свободный блок уникальных идентификаторов PID. Подробнее см. TN_100 – USB Vendor ID/Product ID Guidelines.
Значения по умолчанию, запрограммированные на заводе в память MTP, показаны в таблице 8.1.
Таблица 8.1. Конфигурация по умолчанию внутренней памяти MTP. Выводы, помеченные символом #, имеют активный уровень лог. 0.
Параметр
Значение
Примечание
USB Vendor ID (VID)
0403h
VID по умолчанию компании FTDI (hex).
USB Product UD (PID)
6015h
PID по умолчанию компании FTDI (hex).
Использование серийного номера разрешено?
Да
Серийный номер
См. примечание
Во время последнего теста генерируется уникальный серийный номер и записывается в память MTP.
Нижнее подтягивание (pull-down) сигналов I/O в режиме приостановки (USB suspend).
Запрещено
Разрешение этой опции приведет к подтягиванию к лог. 0 (pull down) сигналов интерфейса UART, когда USB находится в режиме приостановки (PWREN# = лог. 1).
Manufacturer Name
FTDI
Имя производителя
Product Description
FT231X USB UART
Описание продукта.
Max Bus Power Current
90 мА
Максимальный ток потребления от шины USB.
Power Source
Bus Powered
Источник питания - шина USB.
Device Type
FT231X
Тип устройства.
Версия USB
0200
Возвращает хосту дескриптор, определяющий спецификацию USB 2.0. Устройство поддерживает USB 2.0 Full Speed (12 мегабит/сек), в отличие от USB 2.0 High Speed (480 мегабит/сек).
Remote Wake Up
Разрешено
Функция удаленного пробуждения. Поступление сигнала RI# = лог. 0 разбудит контроллер хоста USB и выведет его из состояния приостановки (suspend) примерно за 20 мс.
DBUS Drive Current Strength
4 мА
Нагрузочная способность выходных сигналов DBUS. Для настройки доступны варианты 4mA, 8mA, 12mA, 16mA.
DBUS slew rate
Slow
По умолчанию выбрана медленная скорость переключения выходных сигналов DBUS. Можно выбрать быстрое переключение перепрограммированием MTP.
DBUS Schmitt Trigger Enable
Normal
Функция триггера Шмитта на входах DBUS отключена. Можно выбрать другой вариант Schmitt, тогда триггер Шмитта на входах будет включен.
CBUS Drive Current Strength
4 мА
Нагрузочная способность выходных сигналов CBUS. Для настройки доступны варианты 4mA, 8mA, 12mA, 16mA.
CBUS slew rate
Slow
По умолчанию выбрана медленная скорость переключения выходных сигналов CBUS. Можно выбрать быстрое переключение перепрограммированием MTP.
CBUS Schmitt Trigger Enable
Normal
Функция триггера Шмитта на входах CBUS отключена. Можно выбрать другой вариант Schmitt, тогда триггер Шмитта на входах будет включен.
Load VCP Driver
Разрешено5
Приводит к загрузке драйвера интерфейса VCP для устройства.
CBUS0
TXDEN
По умолчанию вывод CBUS0 сконфигурирован как сигнал разрешения передачи данных RS485 (Transmit data enable).
CBUS1
RXLED#
По умолчанию вывод CBUS1 сконфигурирован как сигнал индикации приема, применяемый для управления светодиодом (LED).
CBUS2
TXLED#
По умолчанию вывод CBUS2 сконфигурирован как сигнал индикации передачи, применяемый для управления светодиодом (LED).
CBUS3
SLEEP#
По умолчанию вывод CBUS0 сконфигурирован как сигнал входа в режим сна. На этом выводе лог. 0, когда устройство в режиме приостановки (suspend).
Invert TXD
Запрещено
Если разрешено, то сигнал на выходе TXD становится инвертированным.
Invert RXD
Запрещено
Если разрешено, то сигнал на входе RXD становится инвертированным.
Invert RTS#
Запрещено
Если разрешено, то сигнал на выходе RTS# становится инвертированным.
Invert CTS#
Запрещено
Если разрешено, то сигнал на входе CTS# становится инвертированным.
Invert DTR#
Запрещено
Если разрешено, то сигнал на выходе DTR# становится инвертированным.
Invert DSR#
Запрещено
Если разрешено, то сигнал на входе DSR# становится инвертированным.
Invert DCD#
Запрещено
Если разрешено, то сигнал на входе DCD# становится инвертированным.
Invert RI#
Запрещено
Если разрешено, то сигнал на входе RI# становится инвертированным.
Примечание 5: VCP запрещен в ревизии кремния Rev B из-за ошибки.
Методы программирования MTP. Как уже упоминалось, память MTP на всех устройствах FT-X можно программировать через USB. Этот метод одинаково работает для всех микросхем FTDI, как основанных на внешних микросхемах EEPROM, так и на микросхемах с внутренней памятью наподобие FT232R. Для программирования не нужно никакого дополнительной аппаратуры, соединений или дополнительных напряжений. Устройство просто подключается к хосту (компьютеру) точно так же, как подключается в рабочем применении, и используется утилита FT_Prog для установки нужных опций и программирования устройства.
Утилита FT_Prog предоставляется бесплатно, её можно скачать на сайте компании FTDI по ссылке [4]. Там же можно найти и руководство пользователя.
Дополнительно можно использовать команды D2XX для программирования памяти MTP из приложений пользователя. Для дополнительной информации по доступным командам см. руководство пользователя D2XX Programmers Guide по ссылке [5] (также см. перевод документации [2]).
Карта памяти. Карта памяти MTP для семейства устройств FT-X состоит из разных областей, которые попадают в 3 основные категории:
• Область памяти пользователя (User Memory Area) • Область памяти, хранящая изменяемую конфигурацию (с возможностью записи) • Область памяти, хранящая фиксированную конфигурацию (только для чтения)
Область памяти и её краткое описание
Диапазон адресов
Configuration Memory Area - область памяти для конфигурирования микросхемы, доступная через USB
0x0000..0x0010
User Memory Area 1 - область памяти пользователя 1, доступная через USB
0x0012..0x003E
Configuration Memory Area (read only) - конфигурационная область памяти, которая не может быть записана
0x0040..0x004E
Configuration Memory Area - область памяти для конфигурирования микросхемы, доступная через USB
0x0050..0x007E
User Memory Area 2 - область памяти пользователя 2, доступная через USB
0x0080..0x03FF
Рис. 8.1. Упрощенная карта памяти для FT-X.
User Memory Area. Область памяти пользователя. Области пользователя выделены на карте памяти зеленым цветом. Эта область памяти FT231X может быть прочитана и записана через USB. Все области в этом диапазоне могут быть свободно запрограммированы; здесь нет специальных функций, и нет контрольной суммы для области пользователя.
Примечание: приложение пользователя должно учитывать спецификацию для гарантированного количества циклов для записи (см. таблицу 5.8), если память MTP должна перепрограммироваться множество раз.
Configuration Memory Area (writable). Область памяти, хранящая изменяемую конфигурацию (с возможностью записи). Эта область хранит данные конфигурации для устройства, включая данные, которые возвращаются хосту в составе дескрипторов конфигурации (например VID, PID и строковые дескрипторы). Также в этой области памяти хранятся значения, которые настраивают аппаратную конфигурацию (например сигнал, который назначен для каждого вывода CBUS).
Эти значения могут оказывать значительное влияние на поведение устройства USB на микросхеме FT231X. Необходимо применять меры для того, чтобы не произошло несанкционированное изменение этих данных приложением, которое предназначено только для доступа к области данных пользователя.
Записываемая область конфигурационных данных включает контрольную сумму, которая покрывает конфигурационные области памяти, и случайное изменение любого значения также приведет к ошибку контрольной суммы.
Configuration Memory Area (non-writable). Область памяти, хранящая фиксированную конфигурацию (только для чтения). Это зарезервированная область памяти, и приложение не должно записывать данные в эту область памяти. Любая попытка записи в эти ячейки окончится неудачей.
[Параметры корпусов]
Микросхема FT231X доступна в 2 разных вариантах корпусов. FT231XS поставляется в корпусе SSOP-20, и FT231XQ в корпусе QFN-20. Подробнее про профили пайки для обоих корпусов и их размеры см. даташит [1].
Рис. 9.2. Корпус SSOP-20 и его маркировка.
Рис. 9.3. Корпус QFN-20.
Рис. 9.4. Маркировка корпуса QFN-20.
Формат маркировки микросхем включает данные даты YYXX, где XX = 2 цифры номера недели, YY = 2 цифры номера года. За ним идет номер ревизии кристалла. Код XXXXXXX соответствует коду LOT производителя.
[Словарик]
AC Alternating Current, переменный ток.
baud бод, единица измерения физической скорости асинхронного интерфейса. 1 бод соответствует частоте следования бит данных 1 бит в секунду, при этом учитываются не только полезные биты данных, но и все дополнительные биты асинхронного протокола (старт, стоп, бит четности).
bit bang программное управление лог. уровнем ножек чипа или чтение их состояния. В данном случае, касательно чипа FTDI: ПО хоста с помощью драйвером D2XX может дергать ножками (управлять ими как выходами) чипа FT231X или читать их логический уровень (использовать их как входы).
D2XX проприетарный программный интерфейс для доступа к чипам FTDI. Позволяет программно управлять ножками чипа, читать их состояние и выполнять многие другие сервисные функции. Подробнее см. [2].
DC Direct Current, постоянный ток.
DPLL Digital Phase-Locked Loop, цифровой алгоритм фазовой автоподстройки частоты, ФАПЧ (подробнее см. Википедию).
GPIO General Purpose Input/Output, порты ввода/вывода общего назначения. Ножки микросхемы, которыми можно управлять программно как выходами (менять выходной логический уровень 0 и 1) и/или использовать их как входы (читать на них логический уровень цифрового сигнала).
handshake дословный перевод "рукопожатие", имеются в виду сигналы управления потоком обмена данных.
I/O Input/Optput, ввод/вывод.
Latch-Up защелкивание. Эффект триггерного (восстановимого, если не произошло тепловое повреждение кристалла) пробоя из-за превышения допустимого напряжения для полупроводниковых структур (подробнее см. Википедию).
MTP multi-time-programmable, многократно программируемая (память). Это энергонезависимая память FLASH, находящаяся в корпусе чипа. Предназначена для хранения рабочих настроек микросхемы.
NRZI Non-Return-to-Zero Inverted, система последовательного цифрового кодирования с помощью кода без возврата с нуля с инверсией (подробнее см. Википедию).
NTC Negative Temperature Coefficient, отрицательный температурный коэффициент. Термин относится ко входу датчика температуры аккумулятора при зарядке NTC микросхемы LTC4053.
PHY сокращение от physical, обозначает физический уровень организации интерфейса.
ppm parts per million, количество чего-либо, приходящееся на миллион. Часто используется для обозначения точности кварцевых генераторов.
SOF Start-of-Frame, сигнал начала фрейма USB, который следует строго с интервалом 1 мс.
TBD To Be Determined, подлежит определению.
VCP Virtual COM Port, виртуальный COM-порт. Специальный класс USB-устройства (USB CDC), который, будучи подключенным к хосту, образует на нем последовательный порт для асинхронной передачи данных (виртуальный аналог старого RS-232).
ПО хоста программа, которая работает на главном устройстве шины USB (см. хост).
хост обычно это компьютер PC, но может быть и другое интеллектуальное устройство, например смартфон под управлением операционной системы Android.
[Ссылки]
1. FT231X ftdichip.com. 2. FTDI: справочник по функциям библиотеки D2XX. 3. AN_175 Battery Charger Detection over USB with FT-X Devices site:ftdichip.com. 4. FT_PROG EEPROM Programming Utility site:ftdichip.com. 5. Software Application Development D2XX Programmer's Guide (FT_000071) site:ftdichip.com.