USB - RS-232 преобразователи. Aheir, aheir@radiokot. ru.
Продолжаем разговор про шину USB и ее применение в радиолюбительской практике. В прошлый раз (USB 1.
MAX232ACPE+, RS232 драйвер, Com, DIP16 - 130 р. MAX232EPE, RS232 дрв, Ind, MAX232AEPE+, RS232 драйвер Ind PDIP16 - 23 р. n max. Фанат форума. Сообщения: 7332 Вы можете скачивать файлы. DriverMax – удобная утилита для работы с драйверами. Она умеет скачивать и делать резервные копии драйверов, чтобы в случае чего их можно было. Для установки драйверов для компьютера следует сначала скачать соответствующий вашей операционной системе драйвер. Можно напрямую, но тогда — пиши свой драйвер для NT. У меня от МАХ232 до контроллера 1.5 метра, от MAX232 до порта тоже /FT232RL- USB-To-Serial-Line- Download -Line-Downloader-USB-TO-232-Free-.
1 хаб. Light - версия ) мы довольно успешно снабдили ПК десятком дополнительных USB-портов, теперь пришло время начинать использовать все это изобилие. Естественно, первое, что приходит в голову, применить эти порты для обмена данными с собственными конструкциями на МК. Однако далеко не все МК сейчас имеют периферию для работы непосредственно с USB, а программная реализация этого протокола достаточно сложна и отнимает немало процессорного времени. С другой стороны, подавляющее большинство МК имеет «на борту» модуль универсального асинхронного приемопередатчика, который может работать в режиме, совместимом с протоколом RS-232, т.
DriverMax - скачать DriverMax 7.68, DriverMax - Программа поможет легко и быстро переустановить все драйверы Windows. DriverMax. Последние версии драйверов можно скачать с сайтов производителей TTL, поэтому преобразователь уровней на MAX232 (HIN232) не требуется.
такой микроконтроллер при условии согласования уровней сигналов можно подключать непосредственно к COM-порту компьютера. А при чем здесь USB, спросите вы? Отвечу: производители, как всегда, подсуетились, в результате чего на рынке появилось несколько вариантов преобразователей интерфейсов USB RS-232.
Т.
в нашем распоряжении есть устройство, подключаемое к ПК по USB, а на выходе имеющее сигналы, понятные любому МК с модулем USART (или даже с программно реализованным USART'ом). Здорово? Конечно, здорово, особенно с учетом того, что ОС воспринимает такой переходник просто как еще один (виртуальный) СОМ-порт (VCP: Virtual Com Port) и позволяет работать с ним с помощью обычных терминальных средств.
Вот о микросхемах, позволяющих все это реализовывать, у нас и пойдет сегодня речь…. Пожалуй, наиболее распространенными на сегодняшний день являются преобразователи FT232BM от FTDI Ltd (USB 1.
1) (ничего от Maxim не напоминает по названию? ;) ), TUSB3410 от Texas Instruments (USB 2. 0), а так же PL-2303 от Prolific. Что за звери такие? Будем разбираться…. FT232BM выпускается в 32 выводном корпусе LQFP-32 с шагом выводов 0. 8мм.
Микросхема имеет интерфейс для подключения внешней EEPROM памяти (выводы 1,2 и 32), в которой могут храниться уникальные идентификационные коды производителя и типа устройства, а также текстовые строки, содержащие информацию о наименовании, производителе устройства и т. Микросхема может питаться либо от шины USB, либо от внешнего стабилизированного источника питания с напряжением 5В. В качестве генератора тактовой частоты используется кварц на 6MHz, подключаемый к выводам 27 и 28. Микросхема имеет встроенный LDO-стабилизатор с выходным напряжением 3. 3В, который служит для питания внутренней логики, но может использоваться и для питания каких-либо внешних устройств (вывод 6: 3V3OUT), правда, максимальный ток – всего 5мА. Уровень логической единицы на выходах модуля UART микросхемы (выводы 16-25) задается напряжением на входе VCCIO (вывод 13) и может изменяться в пределах от 3 до 5В (это нужно для обеспечения совместимости с 3-х вольтовой логикой).
Режим питания микросхемы определяется логическим уровнем на входе PWRCTL: лог. 0 – питание от шины USB (Bus-Powered), лог. 1 – питание от стороннего источника (Self-Powered). Инверсный вход RESET надо через резистор (а можно даже и без него) подтянуть к плюсу питания микросхемы – этого достаточно для нормальной работы. Выход RSROUT может использоваться для сброса внешних устройств в момент сброса FT232. Кроме того, к этому выводу подключается подтягивающий резистор для линии USB Data+.
Сами линии Data+ и Data- - это выводы USBDP и USBDM соответственно. Замечу, что вход TEST должен быть соединен с землей, в противном случае работа микросхемы нестабильна. Выходы SLEEP и PWREN могут использоваться для управления внешними устройствами, в частности, SLEEP = 0, если микросхема не активна («спит»), а PWREN = 0 после окончания инициализации микросхемы при подключении и = 1, если микросхема не активна. На выводах 16-25, как уже отмечалось, присутствуют все сигналы, предусмотренные стандартом RS-232. При подключении к ним соответствующих микросхем-преобразователей уровня возможна конвертация исходных данных, поступающих по USB, в поток байт протоколов RS-232, RS-422 или RS-485.
Прием и передача данных по USB могут отображаться светодиодами, подключенными к выходам RXLED и TXLED соответственно. Схема, которую я обычно использую, приведена на рисунке:. Как видите, навесных элементов очень немного.
Для подключения к МК достаточно использовать сигналы RX и TX, в ряде случаев может понадобиться организовать гальваническую развязку этой схемы с остальным устройством. С учетом того, что преобразователь питается от USB, достаточно добавить на RX и TX по оптрону, причем выход TX может напрямую управлять светодиодом одной из оптопар. В качестве EEPROM можно использовать микросхемы памяти 93С46/56/66, достаточно и самой маленькой по объему:. С железом немножко разобрались, а что касается софта, то здесь тоже ничего сложного нет.
С сайта производителя доступны для скачивания две версии драйвера: VCP Driver (только драйвер виртуального СОМ-порта) и D2XX Driver (дает ряд дополнительных возможностей, например, прямой доступ к USB – более интересен для программистов). Если планируется использование микросхемы памяти – надо ставить D2XX, кроме того, понадобится также специальная утилита для прошивки: MProg. также доступная для скачивания с сайта. В остальном – подключаете устройство к ПК, говорите ОС откуда взять драйверы, наблюдаете за установкой.
В «Диспетчере устройств» в разделе «USB» должен появиться «USB Serial Converter», а в «Портах» - следующий по номеру «USB Serial Port». Все, можете с ним работать, как с обычным портом. Так будет, если ваша FT232 работает без EEPROM (или с пустой) со стандартными VID&PID, присвоенными производителем. Если с помощью MProg прошить в память новые VID&PID, наименование устройства, его серийный номер и т. ваше устройство будет определяться уже совсем по-другому.
Как – вам виднее, наступает простор для творчества. Хотя я бы все таки не рекомендовал менять стандартные VID&PID, а то получите сканер какой-нибудь… ;). Я работал с этой микросхемой на скорости порта 115200, хотя драйвер позволяет выставлять максимальную скорость до 921600.
В разделе «Port Settings» свойств порта есть кнопка «Advanced». Там в разделе «BM Options» параметр «Latency Timer» стоит поставить поменьше, т.
1мс – это увеличит скорость работы.
Если вы всерьез соберетесь использовать эту микросхему, советую ознакомиться с материалами на странице. там действительного много полезного и интересного, а многие моменты объяснены гораздо подробнее, чем в этой статье. С TUSB3410 все будет несколько сложнее. Дело в том, что эта микросхема по своей сути – микроконтроллер с интегрированным интерфейсным модулем USB. Поэтому, как всякий микроконтроллер, ее придется еще и программировать…. Так получилось, что эта микросхема выпускается в таком же корпусе:. Функциональная оснащенность примерно та же: полный последовательный порт (выводы 13-21, только RX/TX называются SIN/SOUT), интерфейс для EEPROM (здесь это I2C), кварц, питание, Reset и четыре программируемые линии ввода/вывода общего назначения Р3.
0 – Р3. 4 – вот их-то у FTDI-ки точно не было… Напряжение питания микросхемы – 3. 3В, что не очень удобно, поскольку при питании от USB заставляет использовать LDO-стабилизатор. Зато никаких хитрых режимов питания нет.
Ну что, как всегда, кратенько пробежимся по функциональному назначению выводов? Поехали…. С последовательным портом все вроде бы понятно, скажу лишь, что при соответствующей прошивке он может работать не только по протоколу RS-232, но и как IrDA приемопередатчик. Четыре линии ввода/вывода тоже не экзотика, производитель, в частности, предоставляет пример, где они используются для подключения нескольких кнопок, а устройство определяется ОС как HID-совместимое, что позволяет достаточно легко реализовать опрос этих самых кнопок.
DP, DM – линии Data+ и Data- USB, PUR служит для подключения подтягивающего резистора для линии Data+. На линию VDD18 надо подать напряжение 1.
8В от внешнего источника или, что проще, подать лог. 0 на вывод VREGEN, включив тем самым внутренний источник на 1. 8В, а на VDD18 добавить конденсатор 0. 1мкФ на землю….
На RESET – обычную RC-цепочку, более чем достаточно, TEST0 и TEST1 надо подтянуть через 10кОм к питанию, а выход тактовой частоты CLKOUT мы использовать не будем. Кварц 12МГц на ноги Х1 и Х2, выход индикатора SUSPEND – по вкусу, вход пробуждения WAKEUP можно оставить неподключенным или подтянуть через резистор к плюсу питания. К линиям последовательного порта этой микросхемы также можно подключать непосредственно МК, опторазвязки или преобразователи уровней.
Вроде как все необходимое для минимальной конфигурации подключили, схема получилось вот такая:. Микросхема EEPROM здесь также не является обязательным элементом и лично я ее так ни разу и не использовал….
Итак, собрали мы эту схему, воткнули в комп, ОС нашла некое устройство и попросила ткнуть ее носом в драйвера для него. Вот тут-то самое интересное и начинается. Как я уже говорил, TUSB3410 на самом деле микроконтроллер, внутри у него 8052-совместимое ядро. Соответственно, функционал нашего устройства определяется залитой прошивкой. Нам требуется пока что – преобразователь интерфейсов. В принципе, при условии регистрации и предоставлении информации о вашем проекте производитель предоставляет и исходники, и прошивку для применения микросхемы в качестве преобразователя интерфейсов, но можно пойти и по другому пути.
Эта микросхема используется в таком качестве в некоторых интерфейсных шнурках для мобильных телефонов, в GSM-модемах, в некоторых других устройствах. А драйвера для них доступны для свободной закачки. Более того, все эти драйвера содержат необходимую прошивку.
Это связано с особенностями работы микросхемы. Дело в том, что при установке драйвера прошивка для микроконтроллера копируется в /System32/drivers. Далее, при включении устройства TUSB проверяет наличие EEPROM и прошивки в ней. Если все в порядке – грузится с нее, если нет – подгружает прошивку с компа и записывает в EEPROM, если она есть. Или не записывает и просто работает.
Если EEPROMа нет, при следующем включении процесс повторяется. В общем, в результате анализа нескольких комплектов драйверов к готовым устройствам методом проб и ошибок, последовательных приближений и высоконаучного тыка был сгенерирован собственный работоспособный комплект. Во всех файлах драйверов и даже внутри прошивок стоят копирайты Texas Instruments, поэтому скажу, что все предпринятые над драйверами действия цели имели исключительно образовательные и некоммерческие, а здесь результат публикуется сугубо для ознакомления. После подключения к ПК ОС найдет новое устройство «TUSB3410 Device» и потребует установку драйвера, надо указать на файл umpusbXP.
inf. В ходе установки в системную директорию будут скопированы файлы umpusbxp. sys и umpf3410. i51 (прошивка).
Далее система найдет виртуальный СОМ-порт, для него потребуется драйвер UmpComXP. inf. В обоих *.
inf-файлах помечены строки, изменив которые можно отредактировать названия определяемых системой устройств и установленные по умолчанию VID&PID, передаваемые ОС. Однако, как и в прошлый раз, я бы не стал этого делать без полного понимания того, к чему это может привести.
Для чего TUSB3410 нужна EEPROM я уже упоминал. Добавлю, что лично я с ней не экспериментировал, однако на сайте производителя доступны для скачивания утилита для генерации бинарного файла прошивки EEPROM на основе umpf3410. i51 и конфигурационного файла (содержит серийный номер устройства, VID&PID, строковые данный по аналогии с FT232BM) и утилита для непосредственной прошивки полученного файла в микросхему.
На странице, посвященной этой микросхеме при желании можно найти подробный даташит, ряд аппноутов, документы, описывающие особенности применения, ссылки на исходные коды и утилиты для работы. Настоятельно рекомендую посмотреть. Результатом всех этих изысканий стало создание двух модулей преобразования протокола USB в RS-232, на FT232BM и TUSB3410 соответственно, которые можно рассмотреть на фотографии:.
Монтаж, как видно, поверхностный, все детали на одной стороне, с изнанки – пара перемычек. Модули рассчитаны на вертикальное впаивание в плату, поэтому на них нет разъемов, а установлены PLS штырьки, которые, собственно, в плату и впаиваются.
На дальней от нас стороне платы сделаны контактные площадки RX/TX (на модуле FT232BM их загораживает конденсатор), остальные сигналы последовательного интерфейса не выведены за ненадобностью: эти модули используются для сопряжения исключительно с МК. Немножко возвращаясь к FT232BM. Ниже вы можете увидеть фото (а в конце статьи - скачать варианты разводки плат) для двух конструкций на FT232BM с полным RS-232 портом. В первой из них. cигналы RS-232 имеют TTL-уровень и выведены на двухрядный разъем BH-10 (по аналогии с материнскими платами), причем коммутацией входа VCCIO (вывод 13) на 5В или сторонний источник 3. 3В (в данном случае применен LDO-стабилизатор, но можно, например, и параметрический использовать или регулируемый на LM317) при помощи джампера можно выбирать соответствующий уровень логической "1" на выводах порта RS-232. Эта конструкция разарабатывалась для отладки устройств, имеющих напряжение питания 3.
3В. Еще один вариант модуля с полным RS-232 портом содержит в своем составе микросхему MAX213 - преобразователь уровней - и, таким образом, по уровню напряжений обеспечивает совместимость с последовательными портами ПК. Схема модуля представлена на рисунке:.