Сегодня поговорим о преобразовании уровней в микроэлектронике. Думаю, большинству читателей это неинтересно, поэтому советую сразу перейти на интересную статью о том, как можно сделать классный дизайн в рабочем кабинете: Создание уютного интерьера в офисе.
Итак, перед нами стоит задача:
Задача Спаять переходник для преобразования протоколов 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, который сейчас вытеснил все другие виды компьютерных интерфейсов. Если возникнет задача ввести в компьютер информацию по интерфейсу 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 — ECh481R-04P со съёмной ответной частью EC381V-04P Самовос-станавливающиеся предохранители F1 и F2 — MF-USMF010 или аналогичные на ток срабатывания от 100 мА (размеры 3,2×2,5 мм). Дроссель помехопо-давления L1 — BLM21PG331SN1D. Однонаправленные защитные диоды-супрессоры VD1 и VD2 желательно заменить на двухнаправленные SMAJ10CA-TR в корпусе SMA/DO-214AC. Фото собранного устройства приведены на рис. 5 — рис. 10.
Рис. 4. Расположение элементов на плате
Рис. 5. Устройство в сборе
Рис. 6. Устройство в сборе
Рис. 7. Устройство в сборе
Рис. 8. Устройство в сборе
Рис. 9. Устройство в сборе
Рис. 10. Устройство в сборе
При первом подключении устройства к USB-порту компьютера потребуется установить специализированный драйвер, создающий виртуальный com-порт. Скачать драйвер можно по адресу http://www.ftdichip.com/ Drivers/VCP.htm с сайта производителя. После подключения правильно собранного преобразователя интерфейсов и установки драйвера в диспетчере задач Windows отобразится новое устройство USB Serial Port (COMxx) (рис. 11). Полностью проверить работоспособность устройства можно приёмом и передачей тестового сообщения. Это можно сделать, например, следующим способом. Потребуются два одинаковых преобразователя интерфейсов USB/RS-485 и любая программа-терминал, способная работать с com-портом. В качестве такой программы можно использовать утилиту Terminal1_9_b. Подключаем два преобразователя интерфейсов к USB-портам компьютера и проверяем появление новых устройств в диспетчере задач (рис. 11). Клеммы A и B преобразователей соединяем между собой проводами: A одного — к A другого преобразователя, B одного — к B другого (рис. 12). Далее запускаем два экземпляра программы Terminal1_9_b (рис. 13). Выбираем во вкладке COM Port нужный виртуальный COM-порт (порты должны быть выбраны разные) и нажимаем на экранную кнопку Connect (после нажатия название этой кнопки изменяется на Disconnect). В строке для сообщения любого из экземпляров программы набираем любое тестовое сообщение и нажимаем на кнопку Send. В случае, если оба устройства собраны правильно, в окне другого экземпляра Terminal1_9_b получим правильно переданное сообщение. На рис. 14 показаны приём/передача тестового сообщения на скорости 256 кбот.
Рис. 11. Диспетчер задач
Рис. 12. Подключение преобразователей интерфейсов к USB-портам компьютера
Рис. 13. Окна программы Terminal1_9_b
Рис. 14. Приём/передача тестового сообщения
Помимо этого, проконтролировать работоспособность устройства можно с помощью осциллографа и всё той же программы-терминала. На рис. 15 приведена осциллограмма передачи сообщения 123, сигнал снят с клеммы A RS-485 относительно клеммы B.
Рис. 15. Осциллограмма передачи сообщения 123
Программа Terminal1_9_b находится здесь.
Литература
1. FT232R USB UART IC. — URL: http:// www.ftdichip.com/Support/Documents/ DataSheets/ICs/DS_FT232R.pdf (06.03.18).
2. Quad-Channel, 2.5 kV Isolators with Integrated DC-to-DC Converter. — URL: http://www. analog.com/media/en/ technical-document at ion/data-sheets/ ADuM5401_5402_5403_5404.pdf (06.03.18).
3.5 V Low Power EIA RS-485 Transceiver. — URL:http://www.analog.com/media/en/technical-document at ion/data-sheets/ ADM1485.pdf (06.03.18).
Автор: В. Лазарев, г. Вязьма Смоленской обл.
Пожалуйста, используйте окно поиска выше или ссылки ниже, чтобы завершить свой запрос. Если вам потребуется помощь, свяжитесь с нами или позвоните по бесплатному номеру 1-866-433-5722. Спасибо и приносим извинения за неудобства.
|
|