FT232 и имя устройства

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Сообщение kris95 »

Всем доброго времени суток.
Можете мне объяснить следующий момент :
Мне необходимо сделать устройство для связи с компом по usb, думаю использовать ft232rl, но мне надо что бы программа из всех ком портов выделяла именно тот виртуальный порт, где сидит моё устройство. Я слышал что в этом чипе есть встроенная память, и туда мол можно записать имя устройства и программа должна будет найти порт с таким то именем.
Но вопрос(ы) - Как в эту память записать имя устройства ? Что именно в эту память писать, в какой форме ? И как потом програмно определить номер порта, на котором висит устройство ?
Реклама
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

На сайте производителя Support -> Utilities есть программа MProg 3.5 - EEPROM Programming Utility. Через неё прошиваются внутренности.
Там же, на сайте есть документация для работы с ftd2xx.dll. В ней есть функции FT_OpenEx и FT_OpenByLocation. Первая открывает из всех USB устройств одно по Serial Number или Device Description, вторая по идентификатору Location. Идентификатор Location и номер порта узнается через FT_GetDeviceInfoDetail.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

asteroid7 писал(а): Там же, на сайте есть документация для работы с ftd2xx.dll.
Если работать через dll, то устройство на шине можно адресовать напрямую, не как виртуальный CОМ-порт. У меня в системе оно только одно, поэтому я адресую его просто по имени Open_by_name ("USB -> serial"). Пока проблем не было. Правда, у меня FT245BM, но какая разница? Просто не использую параметры ЧИСЛО БИТ, ЧЕТНОСТь, BAUD_RATE.
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

Jack_A писал(а):Если работать через dll, то устройство на шине можно адресовать напрямую, не как виртуальный CОМ-порт...
Точно так.
А ещё, если подправить ini файл, то при установке драйвера можно вообще скрыть упоминания о виртуальном com-порте в диспетчере устройств). Это я про WIN.
Реклама
Эиком - электронные компоненты и радиодетали
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Сообщение kris95 »

asteroid7 писал(а):
Jack_A писал(а):Если работать через dll, то устройство на шине можно адресовать напрямую, не как виртуальный CОМ-порт...
Точно так.
А ещё, если подправить ini файл, то при установке драйвера можно вообще скрыть упоминания о виртуальном com-порте в диспетчере устройств). Это я про WIN.
А можно по-подробнее ?
Реклама
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

Ошибся. Не в ini, в inf файле, на который указывают первый раз при запросе установки драйвера.
В файле FTDIBUS.INF для скрытия, добавить раздел:

Код: Выделить всё

[FtdiBus.NT.HW.AddReg]
HKR,,"ConfigData",0x00010001,0
Можно переименовать все Product ID PID_ на свои значения, прописав его и в микросхеме. Vendor VID_, лучше оставить 0403. Ещё можно закомментировать все строки с FTLang.Dll.

На сайте производителя был Application, расписывающий inf файл.
Реклама
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Сообщение kris95 »

asteroid7 писал(а):Ошибся. Не в ini, в inf файле, на который указывают первый раз при запросе установки драйвера.
В файле FTDIBUS.INF для скрытия, добавить раздел:

Код: Выделить всё

[FtdiBus.NT.HW.AddReg]
HKR,,"ConfigData",0x00010001,0
Можно переименовать все Product ID PID_ на свои значения, прописав его и в микросхеме. Vendor VID_, лучше оставить 0403. Ещё можно закомментировать все строки с FTLang.Dll.

На сайте производителя был Application, расписывающий inf файл.
Спасибо вам огромное.
Я знаю что у производителя всё есть, но как то тяжелее воспринимается. Я здесь с пол слова понял
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

По себе сужу.
Все эти скрытия - баловство. Один раз попробовать. Ну, знакомым \w/ показать. :)
Когда получится, то обязательно посещает мысля - а оно надо? И тут же забываешь (правильнее забиваешь) и начинаешь решать другие задачи.
Грызет канифоль
Аватара пользователя
Сообщения: 251
Зарегистрирован: Вт апр 29, 2008 14:19:10
Откуда: Великий Новгород (не путать с Нижним)

Сообщение Штабскапитан Овечкин »

А кто скажет, в чём может быть дело - подключаю FT232RL, появляется неизвестное устройство: USB\VID_0000&PID_0000?

Это лечится?
Вся электроника работает на волшебном синем дыме, ибо, когда этот дым её покидает, электроника умирает.
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

В папке windows->inf найти oemXX.inf файл содержащие строки:

Код: Выделить всё

[FtdiHw]
%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6001
Изменить руками VIDы PIDы на нули. Микросхема должна определится. Через Mprog перезаписать нормальные.
Грызет канифоль
Аватара пользователя
Сообщения: 251
Зарегистрирован: Вт апр 29, 2008 14:19:10
Откуда: Великий Новгород (не путать с Нижним)

Сообщение Штабскапитан Овечкин »

Благодарю за ответ. Всё оказалось проще. Поменял местами D+ и D- и всё встало на место. :)) Надо, однако разобраться, где это я накосячил. Компонент делал сам, но, вроде бы по даташиту всё сходится: пин 15 = USBDP, пин 16 = USBDM. Тем не менее, работает только строго наоборот. :shock:
Вся электроника работает на волшебном синем дыме, ибо, когда этот дым её покидает, электроника умирает.
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

"подключаю FT232RL, появляется неизвестное устройство"

"Поменял местами D+ и D- и всё встало на место"

Однозначно, империалистические происки... Как минимум, разоблачён тайный протокол недокументированного обмена. Промолчу об органах, к которым следует обратиться. Похоже на заговор... :))
Ответить

Вернуться в «Интеграция с ПК»