Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB->(isolated serial interface)->FPGA
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Vengin
День добрый.
Вот есть такая задача: по USB шине нужно передавать на плис (Spartan3) и обратно данные, со скоростью порядка 1-3 Мбит (в идеале, конечно, чем больше, тем лучше, но не будем очень жадными smile.gif). При этом есть жёсткое ограничение, чтобы интерфейс USB был гальванически развязан и всё это работало в промышленном температурном диапазоне (-40;+85). Поскольку отвязаться по самой шине как я понял практически нереально (хотя однозначного ответа , на вопрос, почему бы этого не сделать на скажем двунаправленном ADuM1250, я не знаю), то логично вытекает решение развязаться по интерфейсу между USB и FPGA. Соответственно чтобы число развязывающих контактов и микросхем было минимально, то нужно развязываться по последвательному интерфейсу (SPI, UART, I2C...).
После ознакомления с контроллерами разных производителей, одними из лучших кажутся продукты FTDI (FT232R, FT2232D) и на развязке ADuM (2x1200 для UART, 1401 для SPI). А теперь собственно вопросы:

1. Вариант с FT232R кажется наиболее удобным из-за минимум обвески. Какую максимальну скорость удавалось получать по UART на FT232? На форуме проскакивали сообщения, что после 1 Мбода начинаются проблемы.

2. В одном из топиков было сказано следующее:
Цитата
замечательный режим Synchro Bit Bang - spi влет реализуется причем на скорости до 48 mbit. (Сам пробовал на 1Mгц на одной плате стоит FT245R и AVR для апдейта прошивки выше не нужно было).
Честно сказать, после прочтения AN232R-01_FT232RBitBangModes так и не понял, как можно получить там огромные скорости. Может кто разъяснит?

3. После того, как прочитал, что у микросхемы FT2232D наличствует замечательный Fast Opto-Isolated Serial Interface, как-то немного выпал в осадок: это что же, а другие микросхемы не получится развязать?
Ну хорошо, если использовать такую же схему развязки, как предлагается в даташите на FT2232 (на оптронах HCPL-2430) по интерфейсу SPI. На сайте FTDI xитаю, что FT2232 может быть только SPI-Master. Однако же синхросигнал FSCLK для него input, что по идее соответствует slave-у... Не совсем я уловил этот момент, ну да ладно, главное чтобы данные передавал.
Минимальный период клока в этом режиме FSCLK 20ns, плюс задержка вносимая оптронами. Какую кому удавалось получить частоту? (вроде писалось о 5, 8, 16МГц).

Ну и может кто посоветует ещё чего-нибудь такого же плана?
Serg_Sm
Можно USB устройство сделать полностью на ПЛИС. Дополнительно потребуется только простенький USB транссивер (его как раз можно гальванически развязать).
Если же затраты не важны, а нужно сделать побыстрее: берешь ARM (AT91SAM7S64 к примеру) - вешаешь его на USB, SPI цепляешь на ПЛИС через опторазвязку.
AT91SAM7S64 программируется просто - примеры есть. Скорость в 4 МБита достигается без проблем (проверял).
artem79
Если необходимо именно USB, то лучше использовать FT245R. Скорость до 8 MBit. Обвязка минимум. Драйвера свободные. Сам использовал в составе Cyclone и MAX.
Rendom
В свое время делал похожее устройство, только после ПЛИС данные по SPI шли еще на DSP, а потом обратно в ПЛИС и на USB. Скорости получились около 20 Мбит/сек (из-за ограничений протокола), на линии PC-Spartan3 скорость примерно 150-200 Мбит/сек. Использовался Cypress 68013A.
iosifk
Цитата(Vengin @ May 20 2008, 17:25) *
....
Вот есть такая задача: по USB шине нужно передавать на плис (Spartan3) и обратно данные, со скоростью порядка 1-3 Мбит (в идеале, конечно, чем больше, тем лучше, но не будем очень жадными smile.gif). При этом есть жёсткое ограничение, чтобы интерфейс USB был гальванически развязан и всё это работало в промышленном температурном диапазоне (-40;+85). Ну и может кто посоветует ещё чего-нибудь такого же плана?


А можно вопрос?
Почему именно USB? Ведь это не промышленный интерфейс... А если он зависнет? Кто будет перезапускать сервис в компе? Ни хабов ни свичей в промышленном исполнении не .... Хотя, черт его знает... Может какая экзотика и найдется...
Почему не Ethernet? Там и развязка и скорости и расстояния и промышленное исполнение - все в стандартном "одном флаконе".... Да и софт поддерживает все возможные "запрос-перезапросы".
Просто мне любопытно, кто же это Вас так взрючивает?
Vengin
to artem79: и как прикажете развязывать FT245R? К сожелению нету сейчас pdf-ки под рукой, но насколько я помню это двунаправленная 8-разрядная шина данных.

Rendom: обнадёживает, но нету уверенности, что получится реализовать все необходимые ограничения High-Speed.

iosifk: я сам обоими руками за Ethernet, но вот требуется USB. Никто собстна не может объяснить, почему именно USB, просто Ethernet пугает своими протоколами и прочей неизвестностью, а USB уже "знакомый" (хотя тем не менее благополучно не работает). Одним словом политика партии.
HARMHARM
Цитата(Vengin @ Jun 14 2008, 16:24) *
to artem79: и как прикажете развязывать FT245R? К сожелению нету сейчас pdf-ки под рукой, но насколько я помню это двунаправленная 8-разрядная шина данных.

Rendom: обнадёживает, но нету уверенности, что получится реализовать все необходимые ограничения High-Speed.

iosifk: я сам обоими руками за Ethernet, но вот требуется USB. Никто собстна не может объяснить, почему именно USB, просто Ethernet пугает своими протоколами и прочей неизвестностью, а USB уже "знакомый" (хотя тем не менее благополучно не работает). Одним словом политика партии.

Делал развязку USB->UART, тут.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.