Скачать драйвера для FT232R USB UART

Драйвер для FT232R USB UART — Arduino Nano Блог

Про АйТи и около айтишные темы

Восстанавливаем Arduino Nano

Не так давно рассказывал про свой Adruino Nano, который перестал определяться в системе. Из-за этого события пришлось текущий проект реализовывать на Arduino Uno. В комментариях к заметке отписались несколько братьев по несчастью с микроконтроллером, так что стало ясно – проблема массовая.

Причины проблемы с Arduino Nano всплыли на Хабре (FTDI наносит ответный удар) через две недели после моей заметки. Оказалось, что это был злой умысел компании FTDI, производителя конвертера USB2COM с чипом FTDI FT232RL, а Arduino Nano как раз использует этот конвертер. Компания FTDI таким образом решила бороться с поддельными чипами.

В начале октября вышло обновление Windows, после установки которого драйверы начинают ругаться на устройство FTDI. После этого все пошли на официальный сайт FTDI и скачали последную версию драйверов — 2.12.00 WHQL Certified. И тут начинается самое интересное, драйверы проверяют чип на контрафакт, и если он не оригинальный – выводят его из строя путем смены PID на 0000. После чего в списке устройств появляется FT232R USB UART, к которому никакой драйвер уже не подходит.

Я уже смирился с потерей Nano, но показался свет в конце тоннеля. Автор статьи на Хабре кратко описал процесс восстановления, а через некоторое время появилась даже статья-инструкция — Воскрешаем FTDI в картинках. По этой инструкции я успешно вернул к жизни Arduino Nano и хочу рассказать про свой успешный опыт восстановленяи Ардуино Нано…

На основном ПК с Windows 7 x64 восстановить не получилось, так что пришлось искать старенький комп с Windows XP x86.

Предварительно надо скачать драйвера для FTDI версии 2.08.14, скачивал здесь — http://www.wut.de/e-3wwww-51-inus-000.php, выложил еще на свой Яндекс.Диск – FTDI driver 2.8.14.
и программу MProg 3.5 с оф.сайта- http://www.ftdichip.com/Support/Utilities.htm.

Первым делом необходимо подправить файл ftdibus.inf. Открываем его блокнотом и вместо PID_6001 вставляем PID_0000, сохраняем.

Устанавливаем драйвера, они установятся только для одного устройства – USB Serial Converter, второй останется без драйверов, это нормально.

Запускаем MProg, в меню Tools выбираем пункт Read and Parse.

Результат парсинга. Как видно из скриншота Product ID –0000 и доступен для редактирования.

Вместо 0000 вбиваем 6001, сохраняем конфигурацию EEPROM на локальном диске через меню File – Save As…

Прошиваем устройство через меню Device – Program. Процесс прошивки займет несколько секунд. Для проверки можно еще раз считать параметры устройство (Tools – Read). Теперь в графе Product ID должно быть 6001.

Ну и окончательная проверка, подключил к основному компьютеру, Arduino Nano определилось — USB Serial Port (COM3), как и должно быть.

Запустил Arduino IDE, выбрал скетч Blink и залил на Arduino Nano. Ура, моргает!

Теперь главное снова не убить устройство новыми драйверами.

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!

Хотите поблагодарить автора за эту заметку? Вы можете это сделать!

Ft232 driver

Использование адаптера USB–to–COM для подключения
контроллера ЭСУД автомобиля к PC

Данный материал публикуется впервые, любезно предоставлен для публикации на нашем сайте компанией IC Book Labs и является эксклюзивной собственностью данной компании. Перепечатка без письменного разрешения правообладателя запрещена.

Как известно, для диагностики и перепрограммирования автомобильных систем, в частности ЭСУД, используется диагностическая линия K–Line 12 V (ISO 9141 ), электрически совместимая с последовательным интерфейсом RS 232 , применяемым в персональных компьютерах. Но, при сопряжении авто и компьютера возникает проблема, связанная с тем, что обмен с автомобильными системами выполняется на скоростях 200 и 10400 бод, которые нетипичны для компьютеров. В предлагаемой статье рассматривается простое решение данной проблемы для адаптеров USB–to–COM с помощью программного обеспечения, штатно поставляемого разработчиками.

Управление скоростью обмена

При написании операционных систем, драйверов и различных прикладных программ обслуживания последовательного интерфейса, в целях упрощения, использовался стандартный, ставший традиционным для персональных компьютеров, ряд скоростей: 300 , 600 , 1200 , … , 115200 бод. Скорости 200 и 10400 бод, которые использует диагностическая линия автомобиля, не входят в этот ряд.

Читайте также:  Расстояние Мга - Кириши 123 км

Наша задача — обеспечить поддержку скоростей обмена, которые поддерживают контроллеры FT 232 и CP 2102 , но не поддерживает “классическое” программное обеспечение. Идея заключается в том, чтобы переопределить скорости из стандартного ряда новыми значениями, например, заменить 14400 бод на 10400 бод. После такого переопределения, запрос на включение режима 14400 бод будет приводить к включению режима 10400 бод. Смысл в том, что мы добавляем новую скорость, сохранив интерфейс, совместимый с имеющимся программным обеспечением. В принципе, для подстановки можно использовать любую скорость из заданного ряда.

Переопределение скоростей для контроллера CP 2102

Рассмотрим реал изацию описанной выше идеи для обеспечения совместимости контроллера USB–to–COM CP 2102 с контроллером электронной системы управления двигателем (ЭСУД) автомобиля. Как было сказано выше, для диагностической линии K–Line 12 V типичны скорости в 200 и 10400 бод.

К счастью, производитель контроллера CP 2102 предусмотрел возможность гибкого управления режимами работы и снабдил свое устройство утилитой для переназначения скоростей обмена, поэтому сегодня нам не понадобятся дизассемблер и отладчик, наши действия будут очень простыми и сведутся к использованию штатной утилиты CP 210 xBaudRateAliasConfig.exe поставляемой компанией Silicon Labs.

Также отметим, что результатом наших действий будет изменение содержимого таблицы, хранящей значения делителей частоты для поддерживаемых скоростей. Эта таблица находится во внутренней энергонезависимой памяти микросхемы CP 2102 , поэтому изменения сохранятся при выключении питания или переносе перепрограммированного устройства на другой компьютер. Для большинства применений, такой вариант удобнее, чем, например, внесение изменений в драйвер. Для обеспечения совместимости с диагностической линией автомобиля и программным обеспечением, используемым для контроля состояния ЭСУД, нам необходимо осуществить следующие переопределения: 14400 на 10400 и 300 на 200 бод.

Итак, запускаем утилиту CP 210 xBaudRateAliasConfig.exe. Появляется окно CP 210 x Baud Rate Configuration. Если подключено несколько устройств CP 2102 , в верхней строке Connected Devices необходимо выбрать устройство, которое мы будем перепрограммировать. Если устройства подключались уже после того, как утилита была запущена, следует использовать кнопку Refresh для обновления списка задействованных адаптеров.

Нажимаем кнопку Get Configuration и получаем список поддерживаемых скоростей обмена для выбранного устройства.

Если используется один USB–to–COM адаптер, список формируется автоматически, если несколько, — то после выбора устройства обязательно следует нажать кнопку Get Configuration, иначе будет визуализироваться таблица, соответствующая не текущему, а ранее выбранному адаптеру!

Левый столбец под символом # означает условный номер скоростного режима. Столбцы High и Low в графе Application Requested Baud Rate Range содержат верхнюю и нижнюю границу диапазона скоростей, ассоциированного с данным режимом. Если запрашиваемый программным обеспечением параметр попадает в этот диапазон, он используется в текущем режиме. Для поддержки скорости, запрашиваемой программным обеспечением, используется режим, в диапазон которого попадает эта скорость. Столбцы Desired и Actual в графе UART Baud Rate показывают скорость обмена, запрограммированную для данного режима. Desired — идеальное значение (обычно из стандартного ряда скоростей). Actual – фактическое значение, которое в силу особенностей схем тактирования контроллера, не всегда равно идеальному.

Дважды щелкаем мышью на строке, соответствующей редактируемому режиму. Вводим требуемое значение скорости обмена — Desired Baud Rate. При этом автоматически обновляется фактическое значение скорости Actual Baud Rate. С точки зрения стандарта последовательного интерфейса, допустимым является отклонение ± 3 %. Точность установки скорости для контроллера CP 2102 удовлетворяет этому требованию. Редактируем строку 19 . Исходное значение скорости обмена 14400 бод.

Вводим новое значение – 10400 бод, нажимаем OK и переопределение задано!


Редактируем строку 28 . Исходное значение скорости обмена 300 бод.


Вводим новое значение – 200 бод, нажимаем OK и переопределение задано.

После того, как все изменения внесены, не забываем нажать кнопку Set Configuration в окне CP 210 x Baud Rate Configuration и проверить, что значения Desired и Actual в редактируемых строках изменились.

Читайте также:  Ниссан Примера P12 с пробегом слабые места и недостатки модели

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

Дополнительно отметим, что кнопка Advanced позволяет выполнить более тонкую настройку параметров. Для переопределения необходимо установить флажок Override Recommended.

Параметры Prescaler (коэффициент деления для предварительного делителя частоты) и Reload (значение для загрузки в счетчик основного делителя частоты) определяют скорость обмена Baud Rate в бодах в соответствии со следующей формулой:

Baud Rate = ( 24 . 000 . 000 /Prescaler) / ( 65536 —Reload)

Отметим, что контроллер CP 2102 поддерживает скорости до 1 . 000 . 000 бод в режиме 7 и 8 –битных данных и 921 . 600 бод в режиме 5 и 6 –битных данных, для полнодуплексного обмена. При установке скорости, превышающей указанные ограничения, возможны сбои в работе контроллера.

Управление таймаутом при обмене данными по USB осуществляется редактированием параметра USB Receive Timeout. Значение таймаута в секундах определяется по формуле:

Timeout = ( 65536 – Reload) / 500 . 000

Указанный таймаут используется при передаче по USB в компьютер данных, принятых по последовательному интерфейсу. Он определяет промежуток времени, в течение которого контроллер ожидает входных данных. Если в течение заданного промежутка данные не поступают, контроллер завершает передачу по USB. Типовое значение таймаута – 1 ms. Управление таймаутом позволяет устанавливать компромисс при достижении двух взаимно противоречащих критериев:

1 . Минимизация задержки обслуживания USB устройства компьютером, что в данном случае дает увеличение скорости реакции диагностической программы на события в диагностируемом объекте.

2 . Минимизация загрузки компьютера операциями передачи пустых пакетов данных по USB, имеющими место при отсутствии поступления данных по последовательному интерфейсу. От этого зависит общая производительность.
Чем больше таймаут, тем дольше устройство “не засыпает” при отсутствии данных, то есть для улучшения первого критерия, таймаут следует увеличивать, а для второго — уменьшать.

Рассмотрим решение подобной задачи для одного из конкурирующих продуктов – контроллера FT 232 компании FTDI. В отличие от выше приведенного примера, здесь нам придется редактировать файл конфигурации драйвера последовательного порта FTDIPORT.INF . Структура этого файла описана в [ 3 ], процедура редактирования полей, устанавливающих скорость обмена для последовательного порта, описана в [ 4 ]. Поэтому, в целях компактности изложения, в нашем описании внимание акцентировано только на тех параметрах, которые необходимо изменять. Также отметим, что данный пример соответствует одному из нескольких вариантов представления параметров, все возможные варианты перечислены в [ 3 ], [ 4 ].

Находим в файле FTDIPORT.INF следующую запись:

[FtdiPort 232 .NT.HW.AddReg]
HKR„«ConfigData», 1 , 01 , 00 , 3 F, 3 F, 10 , 27 , 88 , 13 ,C 4 , 09 ,E 2 , 04 , 71 , 02 , 38 , 41 , 9 c, 80 , 4 E,C 0 , 34 , 00 , 1 A, 00 , 0 D, 00 , 06 , 40 , 03 , 80 , 00 , 00 ,d 0 , 80

Последовательность, начиная с шестого по счету параметра, содержит пары байтов, каждая из которых задает коэффициент деления частоты для делителя, определяющего скорость обмена по последовательному интерфейсу. Каждая пара соответствует определенной скорости. Рассмотрим первую пару параметров 10 h, 27 h.

1 . Так как два смежных байта 16 –битного слова записаны начиная с младшего байта, для получения 16 –битного числа, их нужно обменять местами: 10 , 27 соответствует 2710 h, h — означает, что число записано в шестнадцатеричной системе счисления.

2 . Переводим 16 –ричное число 2710 h в двоичную систему.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
1 1 1 1 1
2 7 1

3 . Интерпретируем полученное двоичное значение. Два старших бита 16 –битного числа, а именно биты 15 , 14 определяют дробную часть коэффициента деления частоты согласно следующей таблице:

Бит 15 Бит 14 Дробн ая часть делителя
1 0 . 5
1 0 . 25
1 1 0 . 125

В нашем случае дробная часть делителя равна нулю. Битовое поле 13 – 0 16 –битного числа численно равно целой части делителя, переведем из шестнадцатеричной системы в десятичную 2710 h = 10 . 000 .

4 . Тактовая частота на входе делителя равна 3 MHz = 3 . 000 . 000 Hz. Скорость обмена в бодах (Baud Rate) будет равна входной частоте делителя, разделенной на коэффициент деления.

Baud Rate = 3 . 000 . 000 / 10 . 000 = 300 бод.

Читайте также:  Велосипед - самое популярное транспортное средство в мире ФОТО НОВОСТИ

Таким образом, первая пара значений задает скорость 300 бод. Пусть нам необходимо переопределить эту скорость на 10400 бод. Вычислим требуемый коэффициент деления (Divisor):

Divisor = 3 . 000 . 000 / 10 . 400 = 288 , 46

Ближайшее доступное значение 288 , 5 . Нам требуется задать целую часть делителя равной 288 , дробную равной 0 , 5 . Согласно таблице 2 , биты 15 , 14 будут равны 01 b, b — означает, что число записано в двоичной системе счисления. Переведем 288 в шестнадцатеричную систему: 288 = 120 h. Это значение необходимо поместить в битовое поле 13 – 0 . Объединяем биты 15 – 14 и 13 – 0 , получим 4120 h.

Для переопределения скорости 300 бод на 10400 бод запись должна иметь вид:

[FtdiPort 232 .NT.HW.AddReg]
HKR„«ConfigData», 1 , 01 , 00 , 3 F, 3 F, 20 , 41 , 88 , 13 ,C 4 , 09 ,E 2 , 04 , 71 , 02 , 38 , 41 , 9 c, 80 , 4 E,C 0 , 34 , 00 , 1 A, 00 , 0 D, 00 , 06 , 40 , 03 , 80 , 00 , 00 ,d 0 , 80

Напомним, что если драйвер устройства FT 232 уже установлен, для вступления изменений в силу, программное обеспечение устройства необходимо полностью деинсталлировать и установить повторно из каталога, в котором находится отредактированный INF файл. В силу особенностей операционной системы, функция обновления драйвера или удаление устройства в диспетчере устройств может не дать результата.

Источники информации.

5 . М. Гук. Аппаратные средства IBM PC. Энциклопедия. Санкт–Петербург, издательство “Питер” 2006 .

FT232R USB UART драйвер Windows 7

Ни одно устройство, которое работает в паре с персональным компьютером, не настраивается корректно без установки специального драйвера. Это правило работает как в отношении обычных периферийных девайсов (принтеры, камеры, телефоны и так далее), так и в случае со специальными приборами и микросхемами. Отличным примером является преобразователь FT232R USB UART, который служит мостом между обычным разъемом USB и контактами на различных устройствах. Часто применяется для работы с профессиональным оборудованием, на котором нет привычных USB-портов. Чтобы установить драйвер FT232R USB UART на Windows 7, прочтите нашу инструкцию и скачайте архив по ссылке в конце страницы.

Возможности

Правильная установка драйвера способствует корректной настройке и использованию FT232R USB UART в рабочих условиях. К преобразователю подключаются необходимые девайсы управления, а сам контроллер соединяется с основным оборудованием. Например, похожая схема подключения используется диагностическим оборудованием бортовых компьютеров автомобилей.

Однако один лишь драйвер не предоставляет все инструменты для настройки преобразователя. Пользователю необходимо установить также и утилиту, через которую он будет управлять FT232R USB UART и настраивать данный девайс.

Плюсы и минусы

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

  • русский язык в установщике;
  • простая инсталляция за несколько минут;
  • не требуется дополнительная настройка драйвера;
  • совместимость ПО с Windows 7 и более новыми версиями ОС;
  • поддержка 32 и 64-битных операционных систем.
  • нужна перезагрузка компьютера после каждой операции с драйвером;
  • с некоторыми конфигурациями преобразователя потребуются дополнительные утилиты;
  • для настройки FT232R USB UART нужны навыки работы с подобными девайсами.

Как пользоваться

Переходим к инструкции по инсталляции драйвера преобразователя на компьютер с Windows. В этой процедуре все достаточно просто – никаких отличий от установки микропрограммы для любого другого оборудования нет. Вам достаточно следовать представленному руководству:

  1. Скачайте архив с драйвером и распакуйте файлы на компьютер.
  2. Теперь запустите инсталлятор от имени администратора и примите условия соглашения.
  3. Подождите окончания установки всех файлов.
  4. Закройте установщик и перезапустите компьютер.

Если ранее на компьютере стоял другой драйвер для FT232R USB UART, то перед установкой данной версии его требуется удалить, а затем перезапустить систему.

Видео

При появлении вопросов или проблем в первую очередь посмотрите прикрепленный видеоролик.

Ключ активации и загрузка

Драйвер для контроллера FT232R USB UART распространяется полностью бесплатно. Кликнув на кнопку, расположенную ниже, вы начнете загрузку архива с нужным инсталлятором.

Ссылка на основную публикацию
Adblock detector