Переходник USB — RS-485 своими руками
Сегодня поговорим о преобразовании уровней в микроэлектронике. Думаю, большинству читателей это неинтересно, поэтому советую сразу перейти на интересную статью о том, как можно сделать классный дизайн в рабочем кабинете: Создание уютного интерьера в офисе.
Итак, перед нами стоит задача:
Задача Спаять переходник для преобразования протоколов USB RS-485. Протокол RS-485 пригодится, если вам нужен помехоустойчивый канал передачи данных (к примеру, устройство находится далеко от компьютера, а вокруг злые строители создают наводки своими перфораторами).
Для этих целей используются микросхемы FT232 и MAX485 (или аналог SP481). Первая микросхема используется для подключения устройств к компьютеру через USB, на выходе у неё ТТЛ-сигнал, вторая — для преобразования уровней (из ТТЛ в RS-485), этот сигнал и нужен устройствам, с которыми будет работать компьютер.
Схема подключения этих микросхем есть на официальном сайте производителя FT232: здесь. Вот, как выглядит схема подключения:
Не кисло, а? На самом деле, всё очень просто, прочитайте документацию, там есть объяснение, каким образом FT232 знает, что нужно конфигурировать MAX485 на вход или выход. Микросхемка умная. Размещаю все компоненты в Протеусе:
Там же в Протеусе можно сразу посмотреть в 3d, как будет выглядеть платка:
Все это дело я быстренько вытравил в хлорном железе и напаял нужные компоненты.
Подключил не работает. Точнее работает, но не совсем корректно. Почему-то всё, что отправляет компьютер приходит на него же.
Переходник USB — MAX485 не работает!Оказывается, схема, приведенная в даташите микросхемы FT232 не работает. Исправляем баги.
Подключил осциллограф — оказывается на пине управления приёмом MAX’а (пин RE) не тот сигнал, что нужно (он постоянно в нуле, что значит постоянный прием). Пришлось разрезать дорожку, идущую от FT232 ко входу RE, и закоротить RE с DE (это классическая схема подключения микросхемы MAX485). Теперь при отправке и приеме данных на ножках управления приёмом/передачей правильные сигналы, а именно: при отправке сообщений и на DE и на RE — лог. единица, при приеме на них — логический ноль. Проблема решена: в компьютере при передаче данных эхо отсутствует.
Начали тестировать полученный переходник USB-RS485 с нашей микроконтроллерной системой и. снова не работает. Посмотрел осциллографом на линии A и B — а там шум. А это ведь и понятно — обе микросхемы MAX485 (на нашем переходнике и с другой стороны провода, на устройстве) сконфигурированы на вход. Вот всё и шумит. При отправке с компьютера данных получается, что FT232 сама конфигурирует микросхему MAX485 на передачу, мгновенно отправляет данные и снова переводит её в режим приема. Видимо, из-за шума приёмник кроме необходимых данных принимает и мусор. Подумал, что неплохо бы линии A и B через резисторы повесить к земле и питанию. Загуглил и действительно народ так и делает, при чем удивляется, почему в даташите об этом ничего не сказано.
Итак, повесил линию A через резистор номиналом в 3,9 кОм на питание, а линию B через такой же резистор на землю (резисторы можно взять и поменьше). Шум на линии значительно уменьшился, но при передаче периодически выскакивали неправильные байты. Уменьшили скорость передачи данных до 1200 бод, всё работает прекрасно, никакого мусора, только валидные данные.
Еще нюанс — если провод очень длинный, могут появляться сбои в работе, поэтому с обоих концов линии передачи (между проводами A и B) вешают так называемые резисторы-терминаторы. Они погашают стоячую волну в линии и это здорово.
Итого, после недолгих мытарств получена рабочая схема переходника USB-RS485:
Переходник USB MAX485 спаян готов к использованию! Если у вас есть вопросы по работе данного переходника — пишите в комментарии!
Источник
Преобразователь интерфейсов (переходник) USB RS485 (ПИ-5)
Продолжаю цикл заметок «Проекты-малыши»
Решил поделиться с общественностью одной из возможных реализаций преобразователя USB RS485 на базе микросхемы FT232RL:
Понадобился тут по работе преобразователь USB RS485. Чтобы как можно скорее (что неудивительно), да размерами поменьше. Плюс гальваноразвязка не требуется. На местный радиорынок немедленно был заслан знающий человек – оценить обстановку и узнать что почем. Каково же было мое удивление, когда тот вернулся ни с чем. Нету, говорит, таких. Вот мобильников, говорит – гора. А преобразователей – нет.
Данная новость меня безумно обрадовала, т.к. на локальном диске Д давно (еще, наверное, с начала осени) валяется незаконченный проект именно такого преобразователя. И даже кой-какая документация собрана была. Ну а тут – такое совпадение!
Надо сказать, я даже не стал лазать по Интернету в поисках готового девайса. Ибо за два дня (в которые требовалось уложиться) все равно, наверное, ничего не успели бы привезти. Поэтому я сразу открыл свой незаконченный проект и сделал «Выделить всё => Удалить». Потому что плата там закладывалась односторонняя, да плюс одна из микросхем была в корпусе DIP-8, что, согласитесь, целям миниатюризации преобразователя ну никак не соответствует. Благополучно удалив результаты прошлых трудов, я начал проектировать преобразователь заново.
Поскольку девайс надо было сделать побыстрее, то вполне логичное решение – использовать давно любимую мной микросхему FT232RL. Тем более, что в документации на нее есть страница 27 (в другой редакции – 28), на которой приведена практически готовая схема проектируемого преобразователя:
И я эту страницу из даташита даже перевел ранее (вернее, пересказал своими словами). Чтобы не раздувать объем заметки о таком проекте-малыше, здесь я решил только вкратце описать принцип действия данной схемы.
Выход передатчика микросхемы FT232 соединяется со входом передатчика преобразователя TTL/RS485 SP481 (понятно, есть целый мешок аналогов, в частности, MAX485). Вход приемника FT232 – с выходом приемника SP481. Это, надеюсь, вещи очевидные, и пояснять их не надо. А вот управление приемником и передатчиком микросхемы SP481 стоит рассмотреть подробней.
Использование шины RS485 при обмене данными предполагает активность передатчика SP481 только в момент передачи какой-либо информации. В остальные моменты времени активен приемник (устройство «слушает» шину). Вывод CBUS2 микросхемы FT232R, сконфигурированный как TXDEN# (см. Datasheet на FT232Rx), служит именно для этой цели, т.е. для активизации передатчика микросхемы SP481 в момент передачи информации по линии TXD порта USART. Для управления же приемником в рассматриваемой схеме используется вывод CBUS3, сконфигурированный как PWREN#. После определения устройства USB-портом он принимает состояние логического нуля. В спящем режиме («Suspend Mode») PWREN# принимает состояние логической единицы. Приемник микросхемы SP481 включается при наличии НИЗКОГО уровня сигнала на входе разрешения его работы (т.е., на выводе 2), поэтому подключение данного входа к линии PWREN# микросхемы FT232R позволяет автоматически отключать приемник в спящем режиме («Suspend Mode»).
Надо заметить, что подобное решение (когда приемник и передатчик SP481 управляются резными сигналами PWREN# и TXDEN#) чревато возникновением эффекта «эха». Данный эффект проявляется в приеме передаваемых по шине RS485 данных портом USB. Более подробно этот момент рассмотрен в пересказе. Здесь же лишь отмечу, что эффект «эха» приходится забарывать программными или аппаратными способами. При этом в аппаратные решения данной проблемы добавляются дополнительные (так сказать, «лишние») детали.
Однако, если нет необходимости отключать приемник преобразователя в спящем режиме, что справедливо для подавляющего большинства «радиолюбительских» случаев, можно использовать «классический» метод управления передатчиком и приемником SP481. В таком варианте подключения управляющие входы DE и RE# объединяются, что дает автоматическое отключение приемника SP481 во время работы (активности) передатчика:
Итак, с учетом всего вышеперечисленного итоговая схема разрабатываемого преобразователя стала выглядеть следующим образом:
Перемычка «TERM» (Terminator) служит для подключения/отключения согласующих резисторов (терминаторов) с номинальным значением сопротивления равным 120 Ом. Терминатор должен быть подключен, если преобразователь физически находится на одном из концов шины RS485 (см. пересказ). В противном случае согласующий резистор необходимо отключить.
Можно заметить, что под терминатор на схеме заложено аж два резистора в параллель. Сделал так потому, что внезапно обнаружил исчезновение в моей кассе резисторов номиналом 120 Ом. Зато номинал 240 Ом присутствует в достаточном количестве. Ну и вот – поэтому на схеме два резистора вместо одного:).
Резисторы R3 и R4 я обычно в схемы на SP481 (вернее, ее аналогах) не закладываю. Честно говоря, это вообще первый проект, где предусмотрена их установка. Однако, люди бывалые говорят, что при достаточно протяженной линии RS485 часто бывает необходима установка данных резисторов, ибо в противном случае с шины в USB-порт начинает валиться всевозможная абракадабра.
Естественно, под вышеприведенную схему незамедлительно была разведена
печатная плата. Корпуса элементов для поверхностного монтажа, под которые разрабатывалась плата:
— резисторы: 1206;
— конденсаторы: 1206 либо 0805;
— светодиод: 1206 либо 0805;
— микросхема преобразователя TTL/RS485: SOIC-8.
Габаритные размеры печатной платы и собранного преобразователя:
После изготовления печатной платы можно приступать к установке и монтажу деталей. Собранный преобразователь не нуждается в настройке. Необходимо лишь установить драйвера для микросхемы FT232 после того, как девайс будет воткнут в разъем USB компьютера. Ну и снять или надеть перемычку «TERM» в зависимости от расположения преобразователя на шине RS485.
На сегодня всё. Желаю удачи при работе с шиной RS485!
Примечание: все вопросы лучше валить в камменты после заметки, так как не факт, что я смогу на них на все ответить. А вот шансы на то, что в сообществе найдется более прошаренный человек по твоей теме — довольно хорошие. Но уж если зарегистрироваться на сайте совсем никак — можно воспользоваться возможностями электрической почты: podkassetnik@yandex.ru
Содержание архивов (также прилеплены к заметке):
PI-5_Hardware.zip:
ПИ-5.pdf – схема преобразователя;
ПИ-5_ЛУТ.lay – печатная плата преобразователя (вариант для «утюжников»);
ПИ-5_ФР.lay – печатная плата преобразователя (вариант для «шаблонщиков»).
Платы нарисованы в «САПР» «Sprint Layout 5.0» (бесплатная гляделка).
FT232_USB-RS485_v1.1.zip:
FT232_USB-RS485_v1.1.pdf – вольный пересказ стр. 27 документа Document No.: FT_000053 FT232R USB UART IC Datasheet Version 2.01 Clearance No.: FTDI# 38.
Источник
Преобразователь интерфейсов USB/RS-485
Современные периферийные устройства в своём большинстве рассчитаны на подключение к компьютеру по интерфейсу USB, который сейчас вытеснил все другие виды компьютерных интерфейсов. Если возникнет задача ввести в компьютер информацию по интерфейсу RS-485, в этом поможет предлагаемый преобразователь.
Асинхронный интерфейс передачи данных RS-485 — один из самых распространённых промышленных интерфейсов и, несмотря на постепенное вытеснение более современными технологиями, такими как, например, Ethernet, продолжает по сей день активно применяться в системах промышленной автоматизации, пожарной и охранной сигнализации, контроля доступа и пр. Он, конечно же, не может соревноваться с вездесущими Ethernet и Wi-Fi по скорости передачи данных, но зато обладает одним неоспоримым преимуществом — простотой реализации. Для связи по RS-485 требуются всего два провода и очень простое программное обеспечение, к тому же существует огромное количество готовых аппаратных и программных решений. Также следует отметить и весьма хорошую дальность связи — более километра при скорости до 62,5 кбит/с, согласно спецификации на стандарт. На практике же удавалось организовать стабильный обмен данными на расстояние более трёх километров на скорости 10 кбит/с при использовании экранированной витой пары.
Для возможности подключения какого-либо прибора, оборудованного интерфейсом RS-485, к домашнему компьютеру или ноутбуку необходим, естественно, соответствующий преобразователь интерфейсов, например USB/RS-485. Подобные устройства широко распространены и подробно описаны в технической литературе. О варианте подобного преобразователя и пойдёт речь. Схема устройства приведена на рис. 1. В основе лежит «классическая» в подобных преобразователях популярная микросхема FT232RL (DD1). Она представляет собой специализированный, полностью аппаратно реализованный двухнаправленный преобразователь-конвертер USB/UART (UART -Universal Asynchronous Receiver-Transmitter — универсальный асинхронный приёмопередатчик) с полной поддержкой протокола USB. Микросхема требует минимальной внешней обвязки. Помимо этого, FT232RL имеет встроенную EEPROM объёмом 1024 байт и предоставляет весьма широкие возможности для пользовательского конфигурирования некоторых своих параметров и режимов работы. Например, можно выбрать режим работы от встроенного или от внешнего тактового генератора, переназна-чить функции выводов CBUS0-CBUS4 (на схеме показаны только задействованные CBUS0-CBUS2), включить инверсию сигналов UART и пр. Полную информацию о микросхеме можно получить из технической документации производителя [1]. Для конфигурирования можно использовать бесплатные утилиты MProg 3.5 и FT_Prog 3.0 c сайта производителя. С завода микросхема поставляется со штатной конфигурацией (прошивкой), в которой выбран режим работы от внутреннего тактового генератора, вывод СBUS0 (выв. 23) настроен на подключение светодиода, индицирующего передачу данных, CBUS1 (выв. 22) — для светодиода приёма данных, CBUS2 (выв. 13) — сигнал коммутации приём/ передача (DE — Driver Enable). В схеме на рис. 1 используется штатное включение микросхемы.
Рис. 1. Схема устройства
Микросхема ADuM5401 (DD2) представляет собой цифровой изолятор сигналов, специально разработанный для применения в промышленных интерфейсах передачи данных. Согласно технической документации производителя, изолятор способен кратковременно выдерживать между входом и выходом разность потенциалов 2,5 кВ. Подробно эта микросхема описана в [2]. Она имеет четыре одинаковых, работающих только в одном направлении (вход- выход), изолированных канала:
— первый: выв. 3 — вход, выв. 14 — выход;
— второй: выв. 4 — вход, выв. 13 — выход;
— третий (на схеме не показан): выв. 5 — вход, выв. 12 — выход;
— четвёртый: выв. 11 — вход, выв. 6 — выход.
Помимо этого, ADuM5401 имеет также встроенный изолированный источник питания, по сути — интегральный трансформатор мощностью 0,5 Вт (при напряжении 5 В) для питания вторичной, изолированной стороны: выв. 16 — плюсовой вывод и выв. 15 — минусовый.
Микросхема ADM1485ARZ (DD3) — обычный приёмопередатчик дифференциального сигнала для стандарта RS-485/RS-422. Приёмник и передатчик могут коммутироваться независимо друг от друга. Для того чтобы включить передатчик, необходимо подать высокий уровень на выв. 3 (DE — Driver Enable — передатчик разрешён). Включение приёмника — инверсное, осуществляется подачей низкого уровня на выв. 2 (RE — Receiver Enable — приёмник разрешён). На схеме (см. рис. 1), как и в большинстве подобных схемных решений, выв. 3 и выв. 2 соединены для удобства вместе. Когда на линии R/T установлен высокий уровень, DD3 работает на передачу, а когда низкий — на приём информации. Выв. 1 (RO — Receiver Output) — выход приёмника. Выв. 4 (DI — Driver Input) — вход передатчика. Подробное описание этой микросхемы приведено в [3].
Устройство можно значительно упростить, отказавшись от гальванической развязки и входного фильтра питания. Схема упрощённого варианта показана на рис. 2.
Рис. 2. Схема упрощённого варианта устройства
Рис. 3. Чертёж печатной платы преобразователя
Чертёж печатной платы преобразователя приведён на рис. 3. Печатная плата максимально минимизирована под размер обычной «флешки» и выполнена на фольгированном с двух сторон стеклотекстолите FR-4 размерами 14×41 мм. Детали расположены с обеих сторон. На условно верхней стороне — разъёмы X1 и X2, микросхемы DD1 и DD3, цепи индикации R1HL1, R2HL2 и HL3, а также защитные диоды VD1 и VD2. Остальные — на условно нижней стороне платы. Расположение элементов показано на рис. 4. Все резисторы и конденсаторы, кроме С5, а также светодиоды применены типоразмера 0603. Конденсатор С5 — танталовый типоразмера Case A (размеры 3,2×1,6×1,6 мм) на номинальное напряжение 10 В. Разъём USB (X1) — USB-AR (DS1097-B) или аналогичный. Разъём X2 — ECH381R-04P со съёмной ответной частью EC381V-04P Самовос-станавливающиеся предохранители F1 и F2 — MF-USMF010 или аналогичные на ток срабатывания от 100 мА (размеры 3,2×2,5 мм). Дроссель помехопо-давления L1 — BLM21PG331SN1D. Однонаправленные защитные диоды-супрессоры VD1 и VD2 желательно заменить на двухнаправленные SMAJ10CA-TR в корпусе SMA/DO-214AC. Фото собранного устройства приведены на рис. 5 — рис. 10.
Источник