Преобразователь интерфейса USB в RS-232/485/422 и USB в I/O, основные технические требования

Введение

Как-то раз еще в далеком 2008 году (в студенческие годы) возникла замечательная идея создать преобразователь интерфейса LPT в USB, а потом и из RS-232/485/422 в USB. И вот наступило это светлое время. С тех пор много воды утекло, да и элементная база сильно продвинулась вперед, появилось большое многообразие, как фирм, так и микросхем с интерфейсом USB. Да и к тому же сам стандарт уже дорос до USB 3.1. Но прежде чем приступать к выбору элементной базы необходимо определиться с техническими характеристиками проектируемого устройства.

В дальнейшем предполагаю использовать преобразователь интерфейса для проверки и диагностики различных электронных модулей и блоков посредством их подключения к компьютеру, ноутбуку или планшету через интерфейс USB.

Почему USB?

Немного истории. Воплотив свои разработки, что называется в железе, задался вопросом как бы автоматизировано проверять их работоспособность, так как очень не хотелось разрабатывать пульты проверки для каждого блока или модуля. И тут пришла идея создать компактное, мобильное и универсальное устройство для тестирования электронных модулей и блоков, например таких рисунок 1 и 2.

Рисунок 1
Рисунок 1 – Процессорный модуль (микроконтроллер 1986ВЕ3Т, F=80 МГц)
Рисунок 2
Рисунок 2 — Модуль управления моментным бесконтактным двигателем

Интерфейс USB имеет богатую историю (первые спецификации были представлены еще в 1994 году), но, тем не менее, более поздние версии совместимы с ранними ревизиями, а значит, этот интерфейс универсален и к тому, же кроме персональных компьютеров (ПК) и ноутбуков, он присутствует практически во всех мобильных устройствах.

Также еще одним важным преимуществом для нас является наличие возможности питания периферии непосредственно от шины USB (так например USB 2.0 может отдать до 500 мА, USB 3.0 уже до 900 мА), то есть не нужен внешний источник питания. И кроме всего этого интерфейс USB имеет компактные и удобные в использовании разъемы.

Таким образом, можно сделать вывод, что USB интерфейс очень привлекателен для решения нашей задачки, но и в тоже время сложен в освоении.

Технические характеристики

Основные технические характеристики предполагаемого устройства приведены в таблице 1.

Одно из основных требований это связь с персональным компьютером должна осуществляться по интерфейсу USB 2.0, работающего в режиме Full Speed (USB FS), скоростью обмена до 12 Мбит/с.

Также в составе устройства должны быть предусмотрены два независимых канала RS-485/422/232 c гальванической развязкой и максимальной скоростью обмена до 900 Кбит/с (921600 бит/с). Отдельно стоит отметить, что интерфейс RS-232 должен поддерживать передачу сигналов DTR, DSR, RTS, CTS, DCD как на аппаратном уровне, так и на уровне драйвера компьютера. Интерфейс RS-485 должен иметь согласующий резистор сопротивлением 120 Ом включение и отключение, которого производится программным способом. Каждый канал настраивается совершенно индивидуально для решения своей задачи и работает параллельно с другими интерфейсами, так например 1 канал можно настроить как RS-232, а второй как RS-485 или наоборот. Да, чуть не забыл, что скорость информационного обмена по каждому из каналов настраивается также индивидуально программным способом (через драйвер), пока 20 вариантов (таблица 2).

Думаю, не лишним будет предусмотреть интерфейс ввода/вывода (I/O) дискретных сигналов по 16 линий соответственно, при этом желательно предусмотреть захват данных по стробу. Частота обновления информации на линиях ввода/вывода не хуже 100 кГц. Линии ввода должны выдерживать подачу напряжения до 60 В при этом уровень логической единицы начинается от 3 В. Линии вывода должны коммутировать ток до 50 мА на каждый контакт и напряжение не превышающее 60 В. Все линии ввода/вывода также являются гальванически развязанными как между собой, так и с другими интерфейсами.

Также важным элементом является индикация, на корпусе устройства должны быть предусмотрены следующие индикаторы:
– подача напряжения питания «Power»;
– сигналы «Rx» и «Tx» для RS-232/485/422 канала 1 и 2;
– включение/отключение согласующего резистора «Terminator» канала 1 и 2;
– работа с интерфейсом ввода/вывода «Input», «Out» соответственно.

Предполагаемые габаритные размеры корпуса устройства составляют 100×50×20.

Стоит сказать, что весь приведенный выше функционал должен работать одновременно, это выглядит примерно так:
USB ↔ RS-232/485/422 (1 канал);
USB ↔ RS-232/485/422 (2 канал);
USB → Out;
USB ← Input.

Ах да, кстати, чуть не забыл интересной фенечкой могла бы стать опция обновления встроенного программного обеспечения (ПО) через интерфейс USB (чтобы каждый раз не вскрывать корпус устройства и не перепрошивать ПО при помощи внешнего программатора), думаю, нужно постараться реализовать ее.

Таблица 1 – Основные технические характеристики

Таблица 2 — Варианты скоростей
Таблица 2Расписав основные технические характеристики можно изобразить функциональную схему разрабатываемого устройства, которая приведена на рисунке 3.

Рисунок 3
Рисунок 3 – Функциональная схема преобразователя

Исходя, из перечисленных выше технических требований к преобразователю интерфейса теперь необходимо подумать, какая элементная база будет выполнять заданный функционал и что будет основным его элементом микроконтроллер или же аппаратный USB мост?

Аппаратные USB мосты позволяют в очень короткий срок создавать USB устройства, так как в данном случае разработчик избавлен от необходимости написания, отладки своего собственного драйвера и встроенного ПО. Большим преимуществом этого варианта является наличие отлаженных драйверов USB, которые, как правило, написаны под различные операционные системы (Windows, Android, Linux и другие). Но, не смотря на значительные преимущества, аппаратный USB мост это жесткая структура с точки зрения выполняемых функций, которая предопределена производителем микросхемы и не подлежит дополнению или изменению пользователем. Так, например вы выбрали USB мост, разработали схемотехнику устройства, но через некоторое время вам потребовалось добавить, например лишний GPIO или на этапе проектирования был учтен не весь функционал, тогда что, же делать? Резюмируя все выше сказанное можно сделать вывод, что применение USB моста в значительной степени ограничивает свободу инженерной мысли, но позволяет создавать USB устройства в кратчайшие сроки.

Другое дело микроконтроллер, он же полная противоположность аппаратным USB мостам, в этом случае разработчику представлена максимальная гибкость. Однако в этом случае придется разрабатывать встроенное ПО и свой драйвер USB. Протокол USB достаточно не прост в освоении и процесс написания и отладки ПО может в значительной степени затянуться. Время основной недостаток этого варианта, но разработчику предоставляются максимальные возможности при создании устройства с USB интерфейсом и ограничиваются они только конкретным типом микроконтроллера.

Выводы

В этой статье мы сформулировали задачу, определили интерфейс взаимодействия с ПК, а также определились с основными техническими характеристиками проектируемого устройства. В следующей части предлагается более подробно рассмотреть определенные варианты микросхем с USB интерфейсом и обозначить основные критерии выбора, по результатам обзора будет сделан выбор подходящей микросхемы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *