FT232RL

Loading thread data ...
Reply to
Alexey V Bugrov
Reply to
Alexey Vissarionov

Hello, Alexander! You wrote to All on Sat, 24 Jul 2010 21:00:44 +0400:

AS> Кто то работал с сабжевой микрухой? Как я понял ее втыкаешь вместо AS> max232 между контроллером и USB, и подключаешь к USB. В компе же это AS> дело обнаруживается как виртуальный ком-порт, с которым может AS> работать любое приложение, хоть hyperteminal. Это так? Может есть AS> какие то подводные камни?

Это не совсем так. Комп это обнаруживает, как USB CDC (коммуникационное) устройство, которому надо поставить драйвер, это раз. Два, это устройство искажает тайминги по сравнению с аппаратно реализованным портом, это касается как самих передаваемых байт, так и в особенности сигналов квитирования. Четыре - оно может не поддерживать всех желаемых бауд рейтов. Пять, я не помню как именно у FT232, таких микросхем несколько есть, я применял SiLab'совский, смотрел на TI'шный, использовал готовые шнурки с Prolific'овским, но у многих при втыкании в другой USB порт или подобных операциях меняется номер порта, на который она садится. У некоторых микросхем есть встроенный EEPROM, у некоторых - интерфейс для внешнего и есть утилита, которая позволяет назначить фиксированный порт. Hу и последнее - в условиях сильных помех эта штука (по сути своей это микроконтроллер с программой) иногда виснет. Hу и еще, стоит она как-то не слишком гуманно. Применив контроллер со встроенной USB периферией можно или самому эмулировать ком-порт, или использовать HID ксласс устройств, которые не требуют вообще никаких драйверов, во всяком случае для винды - система имеет встроенный. Для всех контроллеров с такой периферией есть готовые библиотеки и примеры таких устройств, как со стороны контроллера, так и со стороны PC. Я пользуюсь PIC18, но есть такое почти у всех крупных производителей контроллеров.

dima

formatting link

Reply to
Dmitry Orlov
Reply to
Alexander Sashurin
Reply to
Alexander Sashurin
Reply to
Alexander Sashurin
Reply to
Alexey V Bugrov
Reply to
Michael Belousoff

Hello, Alexey! You wrote to Alexander Sashurin on Sat, 24 Jul 2010 22:07:50 +0400:

AS>> Кто то работал с сабжевой микрухой? Как я понял ее втыкаешь вместо AS>> max232 между контроллером и USB, и подключаешь к USB.

AV> Да, но если тебе _действительно_ нужен последовательный порт (а AV> нужен ли?) - лучше использовать не ее, а PL2303.

Hе уверен, что это лучше, и что их вообще реально купить в розницу.

AS>> В компе же это дело обнаруживается как виртуальный ком-порт, с AS>> которым может работать любое приложение, хоть hyperteminal. AS>> Это так?

AV> Гхым... А что ты хочешь получить?

Очевидно, подключить свою разработку к компу, не используя отсутствующий на нем RS232.

AV> Если терминальную линию - сделай контроллер USB HID устройством.

Это удобно, я так и делаю, но если со стороны компа уже готовый софт под RS232, то драйвер виртуального порта - удобное решение. С таким же успехом можно свой контроллер и CDC устройством сделать.

AV> Если передачу каких-то данных - соответственно, ethernet.

Это, увы, не так просто. А данные и по USB передавать можно.

AV> Последовательный-то порт тебе зачем?

Очевидно, он уже сделан...

AS>> Может есть какие то подводные камни?

AV> Есть классические грабли, по которым упорно ходят 99% эхотажных AV> разработчиков - AV> называются они "использование асинхронного последовательного порта AV> там, где он нахрен не нужен".

Ага.

dima

formatting link

Reply to
Dmitry Orlov
Reply to
Alexander Sashurin

Hello, Alexander! You wrote to Dmitry Orlov on Sat, 24 Jul 2010 22:56:30 +0400:

DO>> Это не совсем так. Комп это обнаруживает, как USB CDC DO>> (коммуникационное) устройство, которому надо поставить драйвер, это DO>> раз.

AS> Это не сложно. Да и ничего страшного..

Кому как, некоторым пользователям проблематично, может не быть нужных прав, etc.

DO>> Два, это устройство искажает тайминги по сравнению с аппаратно DO>> реализованным портом, это касается как самих передаваемых байт, так DO>> и в особенности сигналов квитирования.

AS> Ммм, т.е. я хочу работать с битрейтом 9600, а оно работает AS> медленнее?

9600 - не проблема, но некоторые скорости оно может не поддерживать.

AS> И как программируются битрейты?

Со стороны компа, естественно. Как и родному ком-порту, этим драйвер виртуального порта занимается.

DO>> Четыре - оно может не поддерживать всех желаемых бауд рейтов. Пять, DO>> я не помню как именно у

DO>> FT232, таких микросхем несколько есть, я применял SiLab'совский, DO>> смотрел на TI'шный, использовал готовые шнурки с Prolific'овским, DO>> но у многих при втыкании в другой USB порт или подобных операциях DO>> меняется номер порта, на который она садится.

AS> Тоже не страшно.

Когда как, особенно если таких устройств несколько, пользователю непонятно где что.

DO>> У некоторых микросхем есть встроенный EEPROM, у некоторых - DO>> интерфейс для внешнего и есть утилита, которая позволяет назначить DO>> фиксированный порт.

AS> А вот там еще дополнительные программируемые TTL линии есть - они AS> тоже прогаются утилитой от производителя?

Читай на сайте FTDI.

DO>> Hу и последнее - в условиях сильных помех эта штука (по сути своей DO>> это микроконтроллер с программой) иногда виснет.

AS> Хм, ну это может оказаться критично. Испытания покажут, имхо.

Покажут.

DO>> Hу и еще, стоит она как-то не слишком гуманно.

AS> Hе важно, заказчик платит:)

А так положил бы в карман. Если это одна штука - то все равно, а если серия...

DO>> Применив контроллер со встроенной USB периферией можно или самому DO>> эмулировать ком-порт, или использовать HID ксласс устройств, DO>> которые не требуют вообще никаких драйверов, во всяком случае для DO>> винды - система имеет встроенный. Для всех контроллеров с такой DO>> периферией есть готовые библиотеки и примеры таких устройств, как DO>> со стороны контроллера, так и со стороны PC. Я пользуюсь PIC18, но DO>> есть такое почти у всех крупных производителей контроллеров.

AS> Из пушки по воробьям, имхо...

Вовсе нет, один раз освоить (это не так сложно, как может показаться) и потом никаких UART'ов, отживающих свой век.

AS> Приложение слишком простое, да и чип один проще поставить, переписыать AS> софт под pic18, или изучать USB в AV90USB.

Просто нужно понимать, что ты ставишь еще один, возможно более мощный контроллер, чем тот, что у тебя уже есть. Часто ему еще и резонатор отдельный нужен, SiLabs правда и без этого работает, а на счет FT я не помню.

dima

formatting link

Reply to
Dmitry Orlov
Reply to
Alexander Sashurin
Reply to
Alexey Vissarionov
Reply to
Alexey Vissarionov
Reply to
Alexey Vissarionov
Reply to
Alexey Vissarionov
Reply to
Alexey V Bugrov

Hello, Alexey! You wrote to Alexander Sashurin on Sun, 25 Jul 2010 10:25:38 +0400:

DO>>> я не помню как именно у FT232, таких микросхем несколько есть, я DO>>> применял SiLab'совский, смотрел на TI'шный, использовал готовые DO>>> шнурки с Prolific'овским, но у многих при втыкании в другой USB DO>>> порт или подобных операциях меняется номер порта, на который она DO>>> садится. AS>> Тоже не страшно.

AV> Это зависит от настроек ББ и лечится элементарно - например, у меня

Кто такой ББ?

AV> любой шнурок, подключенный единственным, станет первым устройством, AV> последующие - вторым, третьим итд.

А если первым может быть компорт в докинге, а может и не быть?

AV> Отключил первый - остались второе и третье. Подключил обратно первый - AV> снова есть первое, второе и третье.

И как это достигается?

DO>>> У некоторых микросхем есть встроенный EEPROM, у некоторых - DO>>> интерфейс для внешнего и есть утилита, которая позволяет назначить DO>>> фиксированный порт.

AV> Вообще-то работает оно совершенно по-другому, но расписывать очень AV> уж лень...

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

dima

formatting link

Reply to
Dmitry Orlov

Hello, Alexey! You wrote to Alexander Sashurin on Sun, 25 Jul 2010 10:12:04 +0400:

AV> Вот так с ней и работай. И не поленись, напиши нормальный парсер AV> команд, ибо придумывание своего бинарного протокола - ошибка номер AV> ноль.

А вот с этим - не соглашусь. Я использовал и продолжаю использовать и текстовые (a-la Hayes modem) команды, и бинарный протокол с пакетами и контрольными суммами, и что-то среднее - обмен строками в Intel Hex формате, и для каждого случая удобно что-то свое. По мере того, как увеличивается количество (и качество) наработок для PC я все реже использую режим терминала, где вместо своей программы можно было использовать чужую готовую, но трудно было научить этому кого-то еще. А заставлять одну программу с другой через терминал говорить - напрасный труд, хотя это я тоже проходил. Собственно результатом этого и был протокол Intel HEX.

dima

formatting link

Reply to
Dmitry Orlov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.