Некоторые
проблемы применения FT232RL.
Микросхема
FT232RL, представляющая собой мост USB < -- > COM, предназначенная для создания
виртуального СОМ-порта, через который можно осуществлять связь компьютера с
различными внешними устройствами, что особенно актуально в настоящее время,
когда подавляющее большинство компьютеров не имеет в своем составе физических
СОМ-портов, во всех отношениях хороша –
по сравнению с FT232BL имеет более удобный для распайки
корпус, практически не требует внешних компонентов. В то же время она имеет
особенность, которая в некоторых случаях может стать существенным недостатком.
Особенность эта заключается в том, что FT232RL имеет в своем составе EEPROM, в которую, в числе других параметров,
при изготовлении записывается уникальный номер микросхемы, поэтому при первом
подключении для каждого экземпляра FT232RL система создает уникальный виртуальный СОМ-порт, то есть каждой микросхеме,
а не типу, соответствует свой номер СОМ-порта. Операционная система Windows может иметь до 256 последовательных
портов. Казалось бы – ничего страшного. Да, для потребителей устройств, в
состав которых входит FT232RL, особых проблем не предвидится – таких
устройств, скорее всего, будет не более 256. Иная ситуация у производителей,
где в процессе производства требуется наладка и настройка, да и проверка
произведенного устройства. После того, как произведено не менее 256 устройств,
все возможные номера портов на применяемом для проверки компьютере будут
задействованы.
При
использовании микросхемы FT232BL все было намного проще – при первом
подключении микросхемы к USB-порту
создавался виртуальный порт на используемом порте USB для данного типа
микросхемы. Если к данному USB-порту
подключался другой экземпляр FT232BL, номер виртуального СОМ-порта оставался
прежним. Таким образом, к ПК можно подключать несколько одинаковых устройств с FT232BL,
конфликта не возникнет.
FT232RL
тоже можно использовать в похожем режиме, но для этого требуется
перепрограммировать EEPROM
таким образом, чтобы все экземпляры микросхемы FT232RL, используемые в устройстве, имели
одинаковые номера. Сделать это можно, скачав утилиту MProg3.5:
http://www.ftdichip.com/Support/Utilities/MProg3.5.zip. Правда, в этом случае, в
отличие от ситуации с FT232BL, виртуальный порт для подключенного
устройства будет иметь один и тот же номер на всех USB-портах, поэтому, если к ПК подключаются
два одинаковых устройства, возникнет конфликт, но это не страшно, даже полезно.
Дело в том, что разрабатываемые мной программы автоматически определяют порт, к
которому подключается устройство, опрашивая каждый из имеющихся в системе
СОМ-портов, и, если ответ от устройства корректный, связь между ПК и
устройством устанавливается. Если же подключено два и более одинаковых
устройств, результат опроса становится неопределенным.
Но
здесь возникает другая проблема – для перепрограммирования микросхемы ее нужно
подключить через USB-порт,
что опять же приведет к появлению уникального СОМ-порта. Для решения проблемы
можно применять периодическую очистку используемых виртуальных СОМ-портов.
Сделать это можно следующим образом.
Открываем
папку «Система».
Нажимаем
кнопку «Дополнительно».
Нажимаем
кнопку «Переменные среды»
Нажимаем кнопку «Создать» и создаем
переменную DEVMGR_SHOW_NONPRESENT_DEVICES, присвоив ей значение 1.
Далее
жмем «Ok» - «Ok» - «Ok»
и выбираем закладку «Оборудование».
Нажимаем
кнопку «Диспетчер устройств», в меню «Вид» - «Показать скрытые устройства»
устанавливаем флажок.
Теперь
можно увидеть все используемые СОМ-порты.
Ненужные
удаляем.
|