<tabltd>
<divv>Добавить ссылку на обсуждение статьи на форумеРадиоКот >Схемы >Цифровые устройства >Примочки к ПК >
Добавить тег |
USB — RS-232 преобразователи
Продолжаем разговор про шину USB и ее применение в радиолюбительской практике. В прошлый раз (USB 1.1 хаб. Light — версия) мы довольно успешно снабдили ПК десятком дополнительных USB-портов, теперь пришло время начинать использовать все это изобилие. Естественно, первое, что приходит в голову, применить эти порты для обмена данными с собственными конструкциями на МК. Однако далеко не все МК сейчас имеют периферию для работы непосредственно с USB, а программная реализация этого протокола достаточно сложна и отнимает немало процессорного времени. С другой стороны, подавляющее большинство МК имеет «на борту» модуль универсального асинхронного приемопередатчика, который может работать в режиме, совместимом с протоколом RS-232, т.е. такой микроконтроллер при условии согласования уровней сигналов можно подключать непосредственно к COM-порту компьютера. А при чем здесь USB, спросите вы? Отвечу: производители, как всегда, подсуетились, в результате чего на рынке появилось несколько вариантов преобразователей интерфейсов USB
С железом немножко разобрались, а что касается софта, то здесь тоже ничего сложного нет. С сайта производителя доступны для скачивания две версии драйвера: 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. Поэтому, как всякий микроконтроллер, ее придется еще и программировать… Так получилось, что эта микросхема выпускается в таком же корпусе:
Микросхема 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 их загораживает конденсатор), остальные сигналы последовательного интерфейса не выведены за ненадобностью: эти модули используются для сопряжения исключительно с МК.
А готовое устройство выглядит так:
Теперь о PL-2303: микросхема выпускается в 28-выводном SSOP корпусе с шагом выводов 0.65мм:
Микросхема во многом похожа на FT232, но есть и некоторые черты TUSB3410. Для работы требуется кварцевый резонатор на 12 МГц (выводы 27-28), уровень логической единицы последовательного порта определяется напряжением на входе VDD_232 (4), выводы 1-3, 5, 6 и 9-11 — полный последовательный порт. По аналогии с TUSB3410 микросхема имеет пару выводов (13-14) для подключения EEPROM через I2C (память также служит для хранения идентификаторов устройства). Вход 23 определяет режим токовой нагрузки USB-порта («1» — 500мА, «0» — 100мА), вход TRI-STATE определяет состояние выходов последовательного порта при инициализации микросхемы: «1» — высокий уровень, «0» — высокоимпедансное состояние. Отдельные входы питания для логики (8, 20) и PLL (24) в общем случае могут быть присоединены к шине питания USB, однако желательно в непосредственной близости от них установить керамические конденсаторы на землю. PL-2303 имеет встроенные источник напряжения 3.3В для питания USB-трансивера (вывод 17), который используется также для установки подтягивающего резистора к линии Data+. Как обычно, за более полным, точным и правильным описанием стоит обратиться на сайт производителя. Схема модуля, разработанного на основе этой микросхемы, представлена на рисунке:
Фотографии готового устройства:
Как видно, этот модуль также содержит в своем сотаве микросхему MAX213 (SP213), поэтому обеспечивает поддержку полнофункционального порта RS-232, совместимого по уровням с портами ПК. Для полноценой работы этого устройства под управлением ОС семейства Windows понадобятся драйверы, доступные для скачивания на сайте производителя. Поскольку на этих чипах делается достаточно много интерфейсных шнурков для подключения мобильных телефонов к ПК, вполне вероятно, что подойдут драйвера и от них.
Вопросы, как обычно, складываем тут.
Файлы:Модуль FT232BM (формат SL5)Модуль FT232BM + EEPROM (формат SL5)Модуль FT232BM + EEPROM с 3.3В интерфейсом и полным портом RS-232 (SL5)Модуль FT232BM + EEPROM с полным RS-232 и MAX213 (плата SL5 и схема SPlan)Модуль TUSB3410 (формат SL5)Драйвер TUSB3410 (WinXP)Схема и плата для PL-2303 (SL5)
—>
Как вам эта статья? |
Заработало ли это устройство у вас? |
|||
|
|
</divv></td>—> —> SELECTORNEWS — покупка, обмен и продажа трафика —> —>Каталог товаров
С2000-М
Пульт контроля и управления
7 371,00 Розничная ценаС2000-Ethernet
Преобразователь интерфейса
2 288,52 Розничная ценаС2000-ПИ
Преобразователь/повторитель/разделитель интерфейса
3 120,00 Розничная ценаUSB-RS485
Преобразователь интерфейсов
1 664,52 Розничная ценаС2000-БКИ
Блок индикации с клавиатурой
4 914,00 Розничная ценаС2000-2
Контроллер СКУД
3 575,52 Розничная ценаИПР 513-3АМ
Извещатель пожарный ручной адресный
624,00 Розничная ценаС2000-КДЛ
Контроллер двухпроводной линии связи
2 483,52 Розничная ценаС2000-КПБ
Блок контрольно-пусковой
2 964,00 Розничная ценаС2000-СП1
Блок сигнально-пусковой
1 950,00 Розничная цена
- Цена: $12,88
Добрый деньвечер. Бывает нужно подключиться куда нибудь где есть rs232, а железного(встроенного) com порта нету. Тут к нам на помощь приходит виртуальный com порт. Итого имеем преобразователь usb<->rs232. Сам шнурок вроде как делает японская фирма Что продают на али и ебэя не берусь с уверенностью сказать, но думаю подделка. Всё же решил купить на ебэе и посмотреть на шнурок. Рассматривал к покупке такой и обозреваемый, решил купить обозреваемый. Шнурок длинной пол метра по кабелю, с разъёмами длиннее. Корпус не разборный, похож на жёсткую резину. Имеет три светодиода, power, rx и tx, все красные и довольно яркие. По правде говоря не совсем удобно смотреть на них, они утоплены, расположены близко, все одного цвета, и яркие. Поэтому что бы увидеть передачуприём, надо взять шнурок и внимательно наблюдать… Так как корпус не разборный, то посмотреть на начинку не удастся, но думаю можно поверить фоткам с али 1 и 2. Судя фотографиям с али начинка шнурка состоит из: -микросхемы виртуального комп порта FT232BL -преобразователя уровней ttl<->rs232 ADM213 -EEPROM памяти AT93C46 -рассыпухи. Соответственно никакой гальванической развязки нету.Фото с али:
Сам кабель экранированный, экран подключён разъёму юсб, к разъёму DB-9 и к минусу питания юсб порта. Раньше с поддельными чипами FT232 были проблемы, при обновлении драйверов(или установке их с офф сайта) VID и PID микросхемы прошивались нулями и драйвера радостно сообщали что к компу не подключена микросхема ft232. Решением было подправить старые драйвера, скачать утилиту для прошивки ft232, прошить нормальные VID и PID, затем исправить драйвера как они были, и не обновлять драйвера. С этой микросхемой проблем не возникло на вин 7 x86 (32бита), качнул самые свежие драйвера с офф сайта, всё работает без проблем. Вот что видит FT ProgДополнительная информация Уровни напряжений: плюс 9.9 вольт и минус 9.5 вольт.Дополнительная информацияскорость 9600 бод скорость 256000 бод Все ножки на разъёме DB-9 распаяны и функциональны(полностью работают). Просто так воткнуть преобразователь в другой разъём DB-9 не получиться по причине «гаек» на двух разъёмах которые не дадут всунуть разъём в разъём, ну и ведь надо ещё «перекрестить» tx и rx, поэтому надо использовать ещё один «шнурок-переходник».Дополнительная информация В телефоне тоже работает без проблем.Дополнительная информацияна скрине видно ЭХО Попробовал получить ЭХО текстового файла через Terminal.Дополнительная информациясам текстовый файл принятый в виде ЭХО текстовый файл Если попробовать передать символы всякие(кракозябры которые) и получить ЭХО, то почему то некоторые байты пропадают, некоторые не верно принимаются(нижнее окно-посланное, верхнее-принятое ЭХО) А вот если при передаче текстового файла поставить задержку например 20мс после каждого посланного байта, то ЭХО уже нормальное получается(нижнее окно-посланное, верхнее-принятое ЭХО). Почему так происходит я не знаю. Если попробовать передать всякие символы и текст без задержки после каждого переданного байта, то почему то символы(кракозябры) плохо передаются, а вот текст нормально. Опять же почему не понятно. ADD: всё таки похоже что глючит программа terminal v1.9b в терминале теряются байты если передавать без задержки, а в бас хаунде всё принято без проблем. если попробовать получить эхо в realterm, то все без проблем, передал картинку, всё как надо.Используемые источники:- https://www.radiokot.ru/circuit/digital/pcmod/05/
- https://www.tinko.ru/catalog/product/216203/
- https://mysku.ru/blog/ebay/77409.html
</tr></tabltd>