FT231X: микросхема моста USB-UART |
![]() |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
• Одночиповый преобразователь интерфейса - USB в асинхронный последовательный порт. Типичные области применения чипа FT231X: • Преобразователи интерфейсов USB в RS232/RS422/RS485. Поддержка операционных систем для драйверов VCP: • Windows 8 32, 64-bit Поддержка операционных систем для драйверов D2XX (имеются драйверы USB + программный интерфейс для ПО хоста в виде DLL): • Windows 8 32, 64-bit Вышеперечисленные драйверы можно свободно скачать на сайте компании FTDI (www.ftdichip.com). Имеются также драйверы сторонних производителей для других операционных систем, подробнее см. информацию на сайте FTDI. Инсталляционные пакеты драйвера см. по ссылке http://www.ftdichip.com/Documents/InstallGuides.htm. The FT231X is fully compliant with the USB 2.0 specification and has been given the USB-IF Test-ID (TID) 40001464 (Rev D). Микросхемы поставляются в 2 вариантах корпусов:
Рис. 3.1. Символьное обозначение микросхемы FT231X в корпусе QFN20. Примечание: вывод 21 символа это большая контактная площадка под корпусом чипа, которая должна быть подключена к общему проводу GND. Таблица 3.1. Выводы питания и земли.
Примечание *: если на VCC подано питание 3.3V, то на вывод 3V3OUT также должно быть подано напряжение питания 3.3V. Таблица 3.2. Общие используемые выводы.
Таблица 3.3. Выводы, относящиеся к UART и группе CBUS (см. примечание). Выводы, помеченные символом #, имеют активный уровень лог. 0.
Примечание: когда используется режим входа (Input Mode), входные выводы подтянуты к VCCIO через внутренние резисторы сопротивлением примерно 75 кΩ. Эти выводы могут быть запрограммированы для мягкого подтягивания к низкому уровню при приостановке USB (suspend, когда (PWREN# = лог. 1), путем установки соответствующей опции в памяти MTP. Рис. 3.2. Символьное обозначение микросхемы FT231X в корпусе SSOP20. Таблица 3.4. Выводы питания и земли.
Примечание *: если на VCC подано питание 3.3V, то на вывод 3V3OUT также должно быть подано напряжение питания 3.3V. Таблица 3.5. Общие используемые выводы.
Таблица 3.6. Выводы, относящиеся к UART и группе CBUS (см. примечание). Выводы, помеченные символом #, имеют активный уровень лог. 0.
Примечание: когда используется режим входа (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.
Примечание 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. максимально допустимые абсолютные параметры.
Примечание 2: если микросхемы хранятся без упаковки больше указанного предела времени, то перед использованием они должны пройти термическую обработку. Для этого микросхемы должны быть помещены в среду с повышенной до +125°C температурой, и запекаться так до 17 часов. Таблица 5.2. Параметры ESD и пробоя (Latch-Up).
Таблица 5.3. Рабочие напряжения и токи. Характеристики DC (при окружающей температуре = -40°C .. +85°C).
Таблица 5.4. Характеристики I/O выводов при VCCIO = +3.3V (за исключением выводов USB PHY).
Примечание 3: нагрузочная способность ввода/вывода (I/O drive strength) и снижение скорости переключения (slow slew-rate) конфигурируются программированием памяти MTP. Таблица 5.5. Характеристики I/O выводов при VCCIO = +2.5V (за исключением выводов USB PHY).
Примечание 3: нагрузочная способность ввода/вывода (I/O drive strength) и снижение скорости переключения (slow slew-rate) конфигурируются программированием памяти MTP. Таблица 5.6. Характеристики I/O выводов при VCCIO = +1.8V (за исключением выводов USB PHY).
Примечание 3: Нагрузочная способность ввода/вывода (I/O drive strength) и снижение скорости переключения (slow slew-rate) конфигурируются программированием памяти MTP. Таблица 5.7. Характеристики выводов I/O USB (USBDP, USBDM).
У встроенной памяти 2048 байт MTP следующие характеристики надежности: Таблица 5.8. Характеристики памяти MTP.
Встроенный генератор тактов имеет следующие характеристики: Таблица 5.9. Характеристики внутреннего тактового генератора.
Примечание 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 мА. Чтобы соответствовать потребляемому току устройства 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 или контроллер хаба переходят в отключенное состояние. Дескриптор питания во внутренней памяти 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, когда через ключ подается питание. [Примеры применения] В следующих разделах показаны возможные варианты применения 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:
Опции батареи для схемы рис. 7.4:
Альтернативно выводы 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:
Опции батареи для схемы рис. 7.5:
В примере на рис. 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:
Опции батареи для схемы рис. 7.6:
Примечание ко всем схемам: перемычка 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.
Примечание 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)
Рис. 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 защелкивание. Эффект триггерного (восстановимого, если не произошло тепловое повреждение кристалла) пробоя из-за превышения допустимого напряжения для полупроводниковых структур (подробнее см. Википедию). LDO Low Drop-Out, линейный регулятор (стабилизатор) напряжения с низким падением напряжения. LVTTL Low Voltage TTL, низковольтная логика TTL. MTTF Mean Time To Failure, наработка на отказ. 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. |