Меню

ft232r usb uart настройка

FT232 это не только USB <> UART (Часть 1)

Кроме очевидной функции преобразования интерфейсов эта микросхема умеет целых три режима bit bang. А еще разные свиселки-перделки, которые можно вывести на ножки CBUS.

Сначала решил свалить все в одну кучу, но потом передумал — будет несколько небольших постов.
В первом — описание функционала FT232 и её тюнинга с помощью FT Prog. Интересен будет наверное, лишь начинающим.
Дальше CBUS битбанг, синхронный и асинхронный битбанг. На дельфи и LabView.

Начнем с альтернативных функций пинов CBUS. Их аж 13 штук:

TXDEN — сигнал разрешения передачи (Transmit Enable) для интерфейса RS-485. Может быть выведен на любую из ножек CBUS. Если поглядеть на распиновку, видно что удобнее всего его выкинуть на CBUS2..4 — они на той стороне микросхемы, где и остальные линии RS-232.

PWREN — Сигнал о том, что комп благополучно ушел в спящий режим. Для нас это значит, что надо отключить всю мощную нагрузку. В даташите советуют прицепить на этот пин p-канальный полевик и включать всю нагрузку через него.

TXLED, RXLED и TX&RXLED — три варианта включения светодиодной индикации. TXLED светится, когда данные передаются через USB. То-есть, когда FT232 принимает данные по UART. В RXLED все наоборот. А последний — порождение двух предыдущих режимов. Подключать их надо катодом к FT232 (анодами на питание).

SLEEP — противоположность PWREN (в смысле полярности). Предназначен для уведомления МК о том, что комп уснул. В обычно режиме он находится в высоком лог. уровне. В спячке — в низком. Его тоже можно использовать для отключения нагрузки в спящем режиме.

CLK48, CLK24, CLK12, CLK6 — выход тактового сигнала. Да еще и с разными частотами! Просто сказка для строителей программаторов. На практике первые два-три варианта мало применимы, а вот последний можно удачно использовать в программаторе. Только позвольте отговорить вас от идеи сделать из этого внешний так для МК — при переходе компа в спящий режим этот тактовый сигнал так-же отрубится. Так-же следует помнить, что тактовый сигнал FT232 всегда будет не больше 3.2 Вольт.

CBitBangI/O — Превращает ножку CBUS в GPIO, управляемый с компа. Работает только на CBUS0..3 по причине того, что разработчики засунули направление линий (вход/выход) и уровень (высокий/низкий) в один байт. Это первый вариант реализации bit bang. О нем будет следующая статья.

BitBangWRn, BitBangRDn — сигналы записи и чтения для двух других режимов bit bang — Синхронного и Асинхронного. Тоже работает на CBUS0..3

Вот такая компания.
Возникает резонный вопрос — как все это настраивать? Для этого есть утилита FT_prog, которая умеет прошивать EEPROM память FTшки. Выглядит она вот так:

При запуске тут-же нажимаем на кнопку «Scan and Parse» (c лупой) или F5 и получаем список подключенных FTDI устройств.
У меня подключен только один модуль. Пробежимся по его настройкам:

Chip Details -> Type Здесь у нас название чипа. Менять ничего нельзя. Идем дальше.

USB Device Descriptor — тут PID (Product ID), VID (Vendor ID). Их можно изменять. Но для домашних разработок это все-равно никакого значения не имеет.

USB Config Descriptor — тут уже больше вкусных настроек:
Bus powered \ Self Powered — режим питания устройства (сомостоятельно или от шины USB).

Max Bus Power — максимальный ток, который наше устройство собирается кушать от линии USB. Что характерно, превышение тока не наказуемо. При заявленом значении в 10мА моё устройство съедало все 120мА а хрюша даже «еггог» не сказала. Но все-же нарушать не стоит.

USB remote Wake Up — Если этот режим активирован, то дерганье вниз ноги RI выводит комп из спящего режима. Но работает только на FT245. Fail.

Pull down I/O Pins in USB Suspend — если включено, то при переходе в спящий режим, выводы UART должны подтягиваться к земле с целью уменьщения потребления. У меня так и не заработало. Наверно чип такой попался 🙁

Читайте также:  lgp lite настройка obs

USB String Descriptor — тут можно написать название производителя, описание устройства и задать параметры генерации серийника. Вот тут есть один прикол — по умолчанию FT Prog генерит новый серийник при каждой прошивке. Видна, соответственно думает что это новое устройство и назначает ему другой виртуальный COM порт. Так, через несколько итераций номер порта сдвинется непойми-куда, поэтому генерацию серийника я запретил.

Последний пунт — Hardware Specific. Там описаны настройки железа.
High Current IO — позволяет пинам двигать большей нагрузкой. 12мА, против 4мА в обычном режиме. Но это отрицательно сказывается на энергопотреблении.
Load D2XX Driver — если поставить галочку, то загрузка D2XX драйвера будет предпочтительнее, чем обычного драйвера VCP (Virtual Com Port). На практике, никаких изменений я не заметил — виртуальный COM порт по прежнему доступен сразу при подключении устройства.
Use External Oscillator — переключиться на внешний кварц. ВНИМАНИЕ! Если включить этот режим без внешнего кварца, труп FT232 станет неплохой возможностью поиметь с NXP халяву, но не более того (Кто не в теме — НХП раздает демоплаты за фото/видео зверской расправы над МК. Мертвая FT232 вполне сойдет за какой-нибудь МК… 🙂 ).

Invert RS-232 Signals — инверсия любой из 8 линий COM порта. В некоторых случаях позволяет избавится от лишней микросхемы-инвертора.

IO Control — те самые дополнительные возможности, список которых приводился выше.

После того, как конфигурация будет настроена — тыкаем кнопку с молнией или нажимаем Ctrl+P. Нам показывают краткое описание настроек.

Нажимаем program, дожидаемся завершения операции (надпись ready в левом нижнем углу основного окна) и передергиваем FT232 — новые настройки вступают в силу только после сброса.

Вторая часть будет про реализацию CBUS-битбанга в delphi.

FT Prog — программа для настройки FTDI чипов.
USB View — показывает подключенные USb устройства. Тоже самое но для linux.

источник

BMW 5 series Touring 525d › Бортжурнал › Inpa C+Dcan Interface или FT232R USB UART

Такое мудрёное название записи БЖ можно расшифровать намного проще.
«В рамках борьбы за интеллектуальную собственность FTDI ломает контрафактные чипы программными средствами.»
Собственно злая компания съела мой шнурок. )))
А я то думаю, руки чтоли кривые, аль голова с плеч свалилась. ЧЁ ШНУРОК НЕ РАБОТАЕТ !
Кароч прошлые выходные прошли в решении проблемы. И я её решил скажу я вам.
Спросите как ?
Пишу…
Сперва я накидаю вам ссылок, потому как не являюсь первооткрывателем в данной теме и не претендую на авторство.
1 — Воскрешаем FTDI в картинках
2 — Восстанавливаем Arduino Nano
3 — FTDI наносит ответный удар
4 — VAG-COM. Восстанавливаем работоспособность VCDS 10.6
Везде по чуть-чуть и вот оно счастье ))))
Иногда борьба корпораций с конечными пользователями приобретает гротескную форму. Коротко: я перестал любить FTDI.
Если вы используете устройство с подключением через конвертер USB2COM на чипе FTDI под Windows — берегитесь. В рамках борьбы за интеллектуальную собственность FTDI ломает контрафактные чипы программными средствами.
В начале октября вышло обновление Windows, после установки которого драйверы начинают ругаться на устройство FTDI. После этого все пошли на официальный сайт FTDI и скачали последную версию драйверов — 2.12.00 WHQL Certified. И тут начинается самое интересное, драйверы проверяют чип на контрафакт, и если он не оригинальный – выводят его из строя путем смены PID на 0000. После чего в списке устройств появляется FT232R USB UART, к которому никакой драйвер уже не подходит.
Гугление выявило что с подобной проблемой столкнулось не только сообщество любителей Arduino, но и автолюбители использующие FT232 в OBD адаптерах, и многие другие, использующие этот чип в своей жизни. Обычно проблему решали заменой кабеля на чипах CH340, CP2102, PL2303 и т.п.

Процесс выхода чипа FTDI из строя состоял из двух стадий. Сначала происходит автоматическое обновление драйверов FTDI через Windows update. Эти драйверы не изменяют PID, а просто отказываются работать с неправильным с их точки зрения устройством.
Пользователь, скачивает свежие драйвера, не читает и соглашается с лицензионным соглашением, после чего драйверы изменяют PID на 0000. Рекомендованное лечение: поставить старые драйверы 2.8.14 (или ранние), прописать правильный PID (по возможности заблокировав его на запись), в дальнейшем не обновлять драйверы FTDI.
Замечательная компания FTDI сменила тактику борьбы с поддельными чипами. Ее решение изящно, легально и позволяет контролировать рынок. Вот только устраивает ли оно конечных пользователей? Если ранее, вы просто устанавливали драйверы штатными средствами Windows, то теперь, новые драйверы поставляются в виде exe и при инсталляции вы принимаете лицензионное соглашение, в котором есть такие слова:

Читайте также:  samsung galaxy s iii сброс настроек

1.5 Use of the Software as a driver for, or installation of the Software onto, a component that is not a Genuine FTDI Component, including without limitation counterfeit components, MAY IRRETRIEVABLY DAMAGE THAT COMPONENT
В вольном переводе звучит так: использование этого программного обеспечения с поддельными компонентами может привести к повреждению этих компонентов.

Тем кто столкнулся с данной проблемой советут читать выше выложенные 4 ссылки.
А у меня всё )))
Всем пока.

источник

Универсальный преобразователь UART-USB на основе FT232R

При изготовлении почти любого устройства с процессорным управлением встаёт необходимость обеспечить его связь с компьютером. Причём зачастую эта связь нужна только при отладке и в дальнейшей работе прибора совершенно не требуется. А порой и сам прибор в дальнейшем не требуется — так, один раз поиграл и засунул в дальний ящик. Лепить в каждом таком девайсе преобразователь интерфейса с обвязкой лень, да и жаба душит. А ведь ещё и разъём нужен… Что бы не возникало таких проблем нужно под рукой иметь внешний преобразователь интерфейса, легко подключаемый к тому девайсу, с которым сейчас работаешь.
Какие интерфейсы использовать особо выбора не стоит — самое простое и универсальное что можно придумать в настоящее время — это uart на стороне девайса и USB на стороне компа. С выбором преобразователя тоже думать особо нечего — достойных альтернатив FT232RL для решения данных задач на горизонте не видно (среди основных бонусов этой микрухи функциональность, качественные дрова, лёгкость монтажа и минимум необходимой обвязки). Делать простой дата-кабель скучно и не интересно, да и не всегда его хватает, кроме того FT-шка имеет много дополнительных фишек, терять которые не охото. В общем, решил я сделать что-то типа демо-платы для микросхемы FT232R. После вдумчивого курения даташита, нарисовалась примерно такая схема:

Основным является трехвыводной разъём XP5, на который выведены линии RxD и TxD. Собственно, в 90% случаев достаточно его одного (именно по этой причине эти линии обособлены в отдельный разъём). На разъёме XP4 можно подоткнуться ко всем остальным линиям последовательного порта, а так же к выводам CBUS. Если CBUS настроены не по дефолту, то следует отключить от них светодиоды, сняв соответствующие перемычки на разъёме XP3 (да, изначально их надо поставить, что бы светодиоды мигали).
Помимо того, что все функциональные ноги микрухи выведены на разъёмы, плата позволяет поиздеваться над питанием себя и девайса. Делается это с помощью перемычек и проводов на разъёмах XP1 и XP2. Для тех, кто ещё не работал с FT232 напомню — на вывод VCCIO подаётся уровень напряжения, на котором должны работать ноги ввода вывода (в связи с этим, кстати, светодиоды питаются именно от VCCIO, а не от VCC). И ещё одно замечание по питанию: по умолчанию FT232 разрешается кушать не более 100мА, если нужно питать целевой девайс от USB и он прилично жрёт, то что бы получить свои положенные 500мА нужно сконфигурировать FT232 с помощью сервисной программы.
Вот краткая инструкция по настройке преобразователя с эквивалентными схемами (слева схема включения, справа схема как подключать провода и куда ставить перемычки):

  1. Раздельное питание — преобразователь питается от USB, девайс от своего источника. Тут три варианта в зависимости от питания целевого устройства:
    а) девайс работает на 5В

    б) девайс работает на 3.3В

    в) девайс работает на другом (1.8В — 5.25В) уровне питания
  2. Общее питание от USB — преобразователь питается от шины, девайс от преобразователя. Тут у меня получилось четыре варианта разной степени бредовости:
    а) девайс работает на пяти вольтах

    б) девайс работает на 3.3В (ВНИМАНИЕ. в этом случае девайс должен потреблять ток не более 50mA, а светодиоды лучше отключить, иначе можно спалить FT-ку)

    в) девайс работает на 3.3В, но питается от 5В

    г) девайс работает на вообще фиг знает чём (1.8В — 5.25В), но питается от 5В
  3. Общее питание от девайса (может понадобиться при прототипировании, когда предполагается, что FT232R будет в составе конечного девайса). Тут можно выделить всего два варианта — питание равняется VCCIO и питание не равняется VCCIO (главное, что бы питание было не ниже 4В, так как внешний кварц для FT не заложен):
    а) напряжение питания и напряжение обмена равняются

    б) напряжение питания и напряжение обмена различаются
Читайте также:  кабель для настройки гбо омвл

В итоге получился вот такой вот ёжик размерами 35×45мм.

Печатная плата:

Ёжику на спину ещё предлагалось повесть мезонинную плату, делающую его по совместительству программатором для AVR, но до изготовления дело пока не дошло, так как сейчас не сильно нужно, да и разъёмы для мезонинных плат я так и не добыл.

Принцип работы программатора объяснять не буду — о подобных схемах уже писали много, отмечу только основные схемотехнические особенности. Во-первых, обращу внимание на то, что у меня питание таргета по умолчанию отвязано от питания самого модуля, ибо нехорошо это, коротить питальник девайса и питальник программатора (ну это, конечно, когда девайс не от программатора запитывается, для этого случая предусмотрена перемычка XP8).

Десятиконтактный разъём программирования XP7 состоит из стандартного шестиконтактного ISP и двух контактов порта uart, что позволяет сократить количество проводов, подключенных к подопытному девайсу в процессе его разработки и отладки. Предполагается на плате устройства ставить такой же разъём и соединять их шлейфом, в котором RX и TX поменяны местами. Выкусанные две ноги позволяют программировать такую плату стандартным программатором с шестиконтактной головой.

Пачка резисторов по 33Ом предназначена для того, что бы защититься от кратковременного КЗ на девайсе, а 10k резистор подтягивает к земле линию RX дабы избавиться от возможных помех. Если понадобится внешний тактовый сигнал, то можно настроить его вывод на любую из ног CBUS.
Ну вот, вроде бы всё. В приложенном архиве находится комплект файлов для этих двух плат в формате Altium Designer и печатные платы в формате P-CAD PCB.

Комментарии ( 24 )

хорошо, годно 🙂 реквестирую фотки поменьше(с увеличением по клику хотя бы), а то на 1024p уплыло за край.

ритуальный вопрос: платы где заказывал?

Кстати, по поводу фоток вообще косяк — закачивалка их автоматом жмёт до 700 пикселов в ширину, в итоге схемы перекашивает (некоторые линии исчезают). Неплозо было бы вывесить где-то рекомендации по закачке картинок.
А у тебя какой браузер? У меня в FF всё ок, а опера с выключенным Fit to Width режет, со включенным нормально отображает. Причём такое ощущение, что так стало недавно, потому что в предыдущих своих статьях я этого при публикации не замечал, а сейчас полез смотреть — тоже все картинки пообрезаны…

По поводу плат — скорее всего Резонит, но точно сказать не могу, эти не я в изготовление отдавал, да и давно это было.

заливай куда-нибудь еще. пикаса, она умеет отдавать превью с увеличением по клику, размерами 400, 600, 1000 пх.
или хабраэффект. но ресайзить самому тогда 🙂

источник

Добавить комментарий

Adblock
detector