Завершение эпопеи строительства USB коммутаторов.

Долгоиграющий проект USB коммутатор завершен. Финальный вариант устроивший заказчика — 24 входных USB порта, 12 выходных USB портов, 12-портовый RS-232 коммутатор и наконец 12 портовый коммутатор питания серверов. Все это добро, скрипя зубами, влезло в стандартную серверную стойку.



Назначение

Блок автоматизации тестирования (БАТ) предназначен для использования в составе тестового стенда при проведении автоматизированных испытаний программно-аппаратных комплексов (ПАК). БАТ представляет собой устройство обеспечивающее коммутацию ПАК и инструментального компьютера (ИК) с внешними USB Flash накопителями, а также управляющее подачей питания 220V на ПАК.

Функции
БАТ выполняет следующие функции:
• Прием команд от управляющей программы
• Включение и выключение тестируемых устройств (ПАК).
• Коммутация 24-х входных портов USB.
• Коммутация 12-ти выходных USB портов, каждый из которых может быть подключен либо к ПАК либо к ИК
• Коммутация 12-ти портов интерфейса RS-232

Интерфейсы изделия

Входные интерфейсы изделия
• 24 входных USB каналов для коммутации.
• 1 канал 220V от сети питания.
• 1 входной канал для связи ИК с ПАК
Выходные интерфейсы изделия
• 12 выходных переключаемых USB каналов коммутации.
• 12 выходных управляемых каналов питания 220V.
• 12 выходных управляемых каналов RS232

Технологические интерфейсы

1 технологический USB канал управления от ПК.

Состав изделия


В состав БАТ входят пять функциональных модулей:
• Контроллер. Используется для трансляции команд от ПО инструментального компьютера к модулями БАТ.
• Три 8-ми портовых модуля коммутации входных USB портов.
• Три 4-х портовых модуля коммутации выходных USB портов
• 12-ти портовый модуль коммутации цепей питания ПАКов
• 12-ти портовый модуль коммутации интерфейса RS-232

Контроллер


Контроллер предназначен для управления всеми модулями БАТ. Он принимает команды от Инструментального ПК (ИК) и ретранслирует их соответствующему модулю.
Контроллер выполняет пять функций:
Прием команд от ИК и преобразование их в команды для модулей коммутации.
Подача команд на модули коммутации входных USB портов.
Подача команд на модули коммутации выходных USB портов.
Подача команд на модуль управления подачей питания ПАК.
Подача команд на модуль управления интерфейсами RS232.

Контроллер реализован на базе 8-ми разрядного микроконтроллера Atmega16, который получает команды от управляющей программы на языке Java через преобразователь интерфейса USB->COM. Для преобразователя интерфейса используются микросхема FT232 фирмы FTDI.

Модули коммутации входных USB портов


Три модуля коммутации входных USB портов для подключения/отключения USB накопителей к входам соответствующих модулей выходных USB портов. Каждый модуль входных USB портов позволяет произвести коммутацию любого из 8-ми входных портов, на вход соответствующего 4-x портового модуля выходных портов.
Модуль коммутации входных USB портов представляет собой связку из трех USB концентраторов, оснащенных полупроводниковыми ключами, которые позволяют управлять питанием USB портов. Модуль коммутации получает команды от контроллера и в соответствии с ними управляет входными USB портами.
Конструктивно модуль коммутации USB выполнен в виде трех 10-х портовых концентраторов (в каждом задействованы только 8 портов) и размещенных внутри корпуса БАТ.

Модуль коммутации выходных USB портов

Три модуля коммутации выходных USB портов предназначены для подключения/отключения инструментального компьютера или ПАКа к/от выходу(а) соответствующего модуля коммутации входных USB портов.
Модуль коммутации выходных USB портов представляет собой три 4-портовых переключателя, оснащенных полупроводниковыми ключами, которые позволяют управлять питанием USB портов.
Модуль коммутации выходных USB портов получает команды от контроллера и в соответствии с ними управляет выходными USB портами.

Модуль коммутации питания ПАК

Модуль коммутации питания ПАК предназначен для включения/выключения подачи питания 220 V на выходные линии питания, к которым подключены ПАКи.
Модуль коммутации питания ПАК представляет собой набор из типовых тиристорных выключателей питания. В целях безопасности эксплуатация, в модуле реализована гальваническая развязка управляющей и силовой частей с использованием оптопары. Модуль позволяет управлять питанием 11 ПАКов.

Модуль коммутации интерфейса RS-232

Модуль коммутации интерфейса RS-232 предназначен для включения/выключения связи по последовательному порту между инструментальным компьютером и активным в данный момент ПАКом.
Модуль позволяет переключать один последовательный порт инструментального компьютера между 11 экземплярами ПАК.
Модуль коммутации интерфейса RS-232 представляет собой набор из трех блоков, управляемых контроллером.

Модуль связи ИК с БАТ

Модуль связи ИК с БАТ представляет собой сдвоенный преобразователь интерфейсов USB->COM. Один преобразователь осуществляет связь между ИК и БАТ, второй связывает ИК и модуль коммутации интерфейса RS-232.

Состав программного обеспечения БАТ

Программное обеспечение БАТ состоит из трех частей:
• Стандартного драйвера под ОС Windows (32/64), поставляемого фирмой FTDI.
• Управляющего ПО в виде библиотек на языке Java
• FTDI драйвер под ОС Windows

Картинки:

0. Структурная схема


1. Продуваем коммутатор воздухом — ибо после обработки напильником корпус содержит много алюминия


2. Сборка



3.Все!



з.ы. Добавил немного описания.

Комментарии (41)

RSS свернуть / развернуть
наконец 12 портовый коммутатор питания серверов
И все 12 портов берут питание с разъема с красной кнопкой? Разъем от количества протекающего тока не лопнет?
+1
Блин, сорри, хотел плюсануть и промахнулся:(
0
Ну всё — не тебе прощения )))
+1
не = нет
+1
Насколько я вижу, там на коммутации симисторы без радиаторов. Полагаю, даже если загрузить все выходные порты — симисторы раньше взорвутся.
К тому же, скорее всего одновременно будет работать не более одного выходного порта.
0
Да, я как-то не подумал что симмисторы рванут раньше…
0
не лопаются, я пускал через btb24 3киловата, они чуть тепленькие.
0
Без радиатора? Не верю. 3кВт — это около 15А (если предположить что коммутируется 220В), падение на симисторах обычно в районе 2В — 30Вт. Но даже если предположить, что падение меньше — даже от 15Вт ТО-220 засветится.
+2
без радиатора, у btb24 же мизерное сопротивление
0
Это тиристор, а не мосфет, и у него падение напряжения фиксированное, как на диоде. Не сумел с полпинка найти его в даташите (там есть обозначения вида Vt, Igt, etc, но нет их расшифровки — а я ее не помню), но согласно графику, при токе 15А RMS и постоянно открытом тиристоре выделяемая мощность 15Вт, что в 10-12 раз больше, чем способен рассеять ТО-220 без радиатора.
Так что ты чего-то недоговариваешь — скажем, тиристоры работали с рабочим циклом менее 10% (если «еле тепленькие» — намного меньше).
0
В том то и дело, что это не хаб для раздачи питания:) В каждый момент времени разъем с красной кнопкой соединяется только с одним разъемом для питания сервера.
0
Ну тогда видимо автору необходимо добавить подробностей, а то как-то непонятно все… как будто фоток набросали — вот смотрите — я молодец. А чего, кого…
Автору не обижаться, а грамотно оформить материал и все будет ок. ;)
+1
Ну из «завершение эпопеи» в заголовке можно было бы понять, что все детали описаны в ранних постах, а тут уже окончательное устройство.
0
Тогда прошу ссылок на ранние посты.
0
Вон же, вверху ссылка — "Блог им. perry_moshkin", прямо под названием.
0
извини. тормознул.
0
а как реализовано управление питанием? веб интерфейс или в ручную?
+1
Насколько я помню, все это управлялось через USB-порт от компа.
0
Управление идет через приложение написанное на Java, которые взаимодействуют с коммутатором через FTDI драйвера.
0
ой… однако как всё непросто. :)
та я сейчас думаю где брать контроллеры узлов связи типа таких
0
shop.nag.ru/catalog/00007.Avtomatizatsiya-i-monitoring/05629.Mikrokontrollery/14626.SNR-ERD-Pro-mini

но у них нет нормальной пультовой программы…
вот как-то так.
0
rotek.ru/catalog_34.htm например. или слишком круто? как раз железки разрабатывались для узлов связи, есть софт для централизованной диспетчеризации, возможна кастомизация для конкретных нужд. (я эти железки когда-то разрабатывал, потому и пиарю)
0
А схему можно посмотреть?
0
В более ранних постах, но там практически все готовое. Готовые хабы, готовые 1 device/many hosts коммутаторы, самопал — только система управления (ЕМНИП FT232 и сдвиговые регистры) и коммутации питания (симисторы, управление от той же FT232).
Не помню только, что автор в итоге выбрал для коммутации ком-портов.
0
Главное не делать всё с нуля а грамотно использовать заводские детали.
Ты же не придумываешь как сделать толчёк а покупаешь его. :)
Правильно придумано, правильно выполнено и безотказно работает, выполняя свои функции.
Это главное, красивый внешний вид тоже неплохо.

В статье неплохо было бы обобщить опыт разработки, описать трудности и пути их решения.
Обосновать выбор конечных технических решений.
0
Все зависит от задачи и имеющихся средств. Я бы предпочел дифкоммутаторы от NXP, благо их есть у меня. По крайней мере для той части, которая коммутирует один девайс к разным хостам — точно. Собсна, можно заметить, что я их среди прочих вариантов и предлагал)
0
Ещё вопрос если не является тайной прошу пояснить область применения и назначение этого устройства.
Мне сложно представить зачем его понадобилось делать.
0
В предыдущих постах все сказано. Что-то там насчет втыкания в один комп флешек с разными загрузочными образами. Стенд для тестирования.
0
:) я одновременно с твоим постом дочитал до попытки написать тз на устройство.
И прочитал его ТЗ.
0
А впрочем, пост молча обновился и теперь все это и в нем написано :D
0
Модуль коммутации выходных USB портов представляет собой три 4-портовых переключателя, оснащенных полупроводниковыми ключами, которые позволяют управлять питанием USB портов.
Э, гм, это у тебя флешки питанием управляются, а у коммутаторов хостов вроде ж сложнее управление.
Модуль позволяет управлять питанием 11 ПАКов.
Модуль позволяет переключать один последовательный порт инструментального компьютера между 11 экземплярами ПАК.
Так все же 11 или 12?
Модуль коммутации интерфейса RS-232 представляет собой набор из трех блоков, управляемых контроллером.
А на основе чего они сделаны?

P.S. Забавно ты все же питание логики сделал, каждый раз хихикаю, когда вижу.
P.P.S. А вот шлейфы для разводки USB — не лучшая идея. Лучше было купить пару USB-удлинителей подлиннее и покромсать их.
0
  • avatar
  • Vga
  • 08 июля 2014, 20:24
1.Тут сработал копипаст:) Выходные USB порты коммутируются ключами которые встроены в выходные коммутаторы (там коммутируются линии D+ D-, а не питание)
2. Все таки 12 ПАКов — 11 было в предыдущей версии
3. Коммутаторы RS-232 Сделаны на базе CD4052 и MAX232. Каждый такой коммутатор позволяет переключать один входной на четыре выходных порта.
4. А насчет шлейфов — в предыдущем варианте коммутатора как раз были обрезанные USB шнуры — слишком громоздко получилось. Тем более шлейфы не слишком длинные и потерь в питании или данных не наблюдается (по крайней мере за последние почти полгода заказчик не звонил).
0
Выходные USB порты коммутируются ключами которые встроены в выходные коммутаторы
А как ты ими управляешь? Сами коммутаторы довольно неудобны для управления ими.
А насчет шлейфов — в предыдущем варианте коммутатора как раз были обрезанные USB шнуры — слишком громоздко получилось.
Гм, по моему там не так много линий надо для соединения плат. Насчет «пары удлинителей» я перебрал. Ну и остальные линии, которые не USB, можно и шлейфами.
0
Алсо, было бы неплохо, если бы ты нарисовал блок-схему девайса.
0
Добавил картинку с общей структурой
0
Укажи еще назначение линий (коммутируемый сигнал, управление, etc).
Насколько я вижу, USB-линков вообще мизер, по одному проводку между хабом и коммутатором. И не совсем ясно, зачем сзади два USB?
0
Программное обеспечение БАТ состоит из трех частей:
• Стандартного драйвера под ОС Windows (32/64), поставляемого фирмой FTDI.
• Управляющего ПО в виде библиотек на языке Java
• FTDI драйвер под ОС Windows
А первый пункт от третьего чем отличается? Полагаю что один из них прикладная dll-ка?
0
  • avatar
  • ACE
  • 09 июля 2014, 04:13
Помимо драйверов, есть еще пользовательская dll c функциями чтения и записи данных в микросхему FT232
0
Хм, мне кажется или usb вставлены криво?
0
Если ты про «выходные порты» — это из-за того, что форма исходных коммутаторов была далекаот прямоугольной.
0
Полукруглые платы промышленных коммутаторов — и разъемы веером.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.