Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Есть ли ПЛИС для комутации USB сигналов?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
MadMark
Добрый день!

Задача следующая: есть кабель на 24 линии с разьёмом. К разьёму подключается мобильный телефон.
Проблема в том что в разных моделях телефонов сигналы USBD+, USBD-, массы и питания разположены на разных контактах разьёма.
Нужно сделать комутатор для сигналов шины USB, чтоб можно было програмно выбирать к какому контакту разьёма какой сигнал подключить.
С массой и питанием проще: есть 48 транзисторов (24 на масу и 24 на +5вольт) и ПЛИС для управления ими.
Проблема с сигналами USBD+, USBD-: они двунаправленые.
Попытка использовать комутатор MT8816AP не дала результатов: слишком большая ёмкость и сопротивление при подключении канала - сильно затягиваются фронты и USB не работает.
Использование ключей серии 74HC4051 даёт лучший результат, но глюки всё равно есть.

Вопрос к гуру: существует ли какая либо ПЛИС которая смогла бы комутировать сигналы USB через себя? А заодно управляла бы транзисторами питания.

Спасибо за ответ!
Koluchiy
Я не гуру, но мыслю так.
ПЛИС в классическом понимании этого слова не содержат набора аналоговых ключей для коммутации полудуплексных линий связи.
Возможно, Вашу задачу и можно было бы на ПЛИС решить, но для начала надо знать, когда в какую сторону работает линия, а это уже надо сигналы разбирать.

Соответсвенно, есть 2 пути.
1. Искать быстродействующие двунаправленные мультиплексоры, с которыми будет работать, и управлять ими чем угодно. Продукцией фирмы ADI интересовались?
2. Искать спецпереключательную матрицу с риском нарваться на дорогое и сложнодоставабельное изделие.

Конкретный путь зависит от необходимых ТТХ и объема предполагаемой партии.
MadMark
ADI пробовали, мало чем отличается от 74HC4051. Фронты затягиваются и не все телефоны работают.
Да и "некрасиво" получается - туча микрух, маленьким изделие не выйдет.
Вариант с анализом сигналов вообще трудно реализуем...

А вообще, есть ли в мире комутаторы сигналов, функционально аналогичные MT8816AP?
(С доставанием вопрос уже второго плана)
Demeny
Есть множество микросхем, специально предназначенных для коммутации USB сигналов (в т. ч. USB 2.0), они широко распространены, легко доставабельны и стоят недорого. Посмотрите, как пример, у Fairchild FSUSB30 и другие аналогичные.
MadMark
К сожалению FSUSB30 и подобные не подходят по двум причинам:
Во первых это комутаторы 1х2 (один вход - два выхода или наоборот), а нужно хотя бы 1х8, идеально 1х32
Что бы собрать таким образом комутатор 1х24 нужно использовать тучу микрух
Во вторых в схеме включения предполагается что известно где D+, а где D-, что в нашем случае не подходит, так как в одних телефонах например 5-тый вывод может быть D+, а в других - D-

Назрел второй вопрос: а существуют ли транзисторные матрицы? Ну чтобы в одном корпусе было много транзисторов (хотя бы 32), каждый из которых мог комутировать 1 ампер, и сумарно размер корпуса был меньше чем все транзисторы поотдельности.
ReAl
Цитата(MadMark @ Jun 16 2009, 17:09) *
Во вторых в схеме включения предполагается что известно где D+, а где D-, что в нашем случае не подходит, так как в одних телефонах например 5-тый вывод может быть D+, а в других - D-
Назрел второй вопрос: а существуют ли транзисторные матрицы? Ну чтобы в одном корпусе было много транзисторов (хотя бы 32), каждый из которых мог комутировать 1 ампер, и сумарно размер корпуса был меньше чем все транзисторы поотдельности.

Если я правильно понял, пока интересует USB не выше 12 мегабит.
По моему опыту, 74HC4051 (именно 74HC, а не HEF4051/HCF4051/CD4051) весьма недурственно коммутируют такие частоты. Некоторую ёмкость и последовательное сопротивление вносят, конечно, но тут должно пройти. В крайнем случае на Vee подать -5В для снижения сопротивления канала.
Итого двунаправленный коммутатор 8*1 есть.
Вот расширять разрядность запараллеливанием общих выводов проблематично - ёмкости суммируются, а общий конец у 8-канального что-то около 80пФ.
Впрочем, эксперимент провести несложно, распаять фиксированно адреса и проверить один канал.
MadMark
Да в принципе достаточно 12 мегабит.
Пробовал 74HC4051, подключил 6 штук (по 3 на линию), получился комутатор 2х24. Телефоны работают не все.
На базе MTK работает, Spreadtrum - глючит, Nokia вообще не работает.
Проблемы могут быть две: большая ёмкость (на линию паралельно подключено 3 входа и 2 выхода от 74HC4051) - на осцилографе видны затянутые фронты.
Второй проблемой может быть то, что телефон пытается переключиться на 480 мегабит и у него ничего не выходит.
ReAl
Цитата(MadMark @ Jun 16 2009, 17:41) *
Проблемы могут быть две: большая ёмкость (на линию паралельно подключено 3 входа и 2 выхода от 74HC4051) - на осцилографе видны затянутые фронты.
Второй проблемой может быть то, что телефон пытается переключиться на 480 мегабит и у него ничего не выходит.
Ну три общих вывода - это уже больше 250пФ, действительно много. А коммутировать их ещё одним коммутатором второго уровня - последовательное сопротивление вырастет. Разве что на второй уровень взять парочку каких-то современных шустрых 1*2 с каналом в единицы ом. Но 480 всё равно врядли захочет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.