реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> LDM-XC3SxxxE-PQ208 (XC3S500) и USB3300 USB HS Board
aleshanoff
сообщение Jul 4 2015, 06:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Здравствуйте, товарищи. Имеется LDM-XC3SxxxE-PQ208 (XC3S500) и USB3300 USB HS Board. Необходимо организовать обмен данных между ПЛИС и комьютером с помощью этой коммуникационной платой с ULPI-интерфейсом. Что делать? С чего начать? С английским слабовато. "OK Google" не помог.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 4 2015, 13:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Если с плис раньше не работали, то до проекта далековато - надо тренироваться на кошках, мышках, крокодильчиках. Т.е. научиться понимать чего хочется и как этого достичь. bb-offtopic.gif
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 4 2015, 15:29
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



вот и есть необходимость подавать данные с плис на компьютер через этот USB 3300. Вменяемого русского описания самой платы не нашел. Про чип USB 3300-EZK, на котором она построена прочитал-разобрался. Мне нужно понять, куда и как (к каким ногам плис и напрямую или через резисторы-конденсаторы) мне прилепить USB. Короче необходимо научить компьютер видеть то, что выдает ПЛИС. Драйвера на эту приблуду имеются стандартные. Данные будут в виде потока 16-ти или 8-ми битных чисел.
Прикрепил схему USB.

Цитата(Александр77 @ Jul 4 2015, 18:29) *
Если с плис раньше не работали, то до проекта далековато - надо тренироваться на кошках, мышках, крокодильчиках. Т.е. научиться понимать чего хочется и как этого достичь. bb-offtopic.gif

На мышках уже потренеровался, а на крокодильчиках попутно будем ездить. Ща рисую схему конечного устройства на бумаге. Профессору покажу - если одобрит - буду в ИЗЕ ее рисовать.
Скажу так: на вход ПЛИС будет поступать несколько 16-ти битных сигналов (через мультиплексор или на прямую), в ПЛИСине будет происходить над ними обработка и нужно на комп выдать результат и записать в текстовый файл. Задача вроде такая.

Прикрепленные файлы
Прикрепленный файл  DOC001160727.pdf ( 184.85 килобайт ) Кол-во скачиваний: 46
 
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 4 2015, 16:14
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



По поводу документации на плату, может ее у производителя запросить?
Насколько понимаю, плата представляет собой поле с контактами плисины. Если это так, то можно и почерпать из даташита
Подключать платку USB можно "почти к любым" выводам (на представленном Вами пдфе сигналы data0...data7, stp, nxt, dir во всяком случае. clkout (если это выход USB3300) - лучше подцепить к тактовому выводу плисины)
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 4 2015, 16:41
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Цитата(Александр77 @ Jul 4 2015, 21:14) *
По поводу документации на плату, может ее у производителя запросить?
Насколько понимаю, плата представляет собой поле с контактами плисины. Если это так, то можно и почерпать из даташита
Подключать платку USB можно "почти к любым" выводам (на представленном Вами пдфе сигналы data0...data7, stp, nxt, dir во всяком случае. clkout (если это выход USB3300) - лучше подцепить к тактовому выводу плисины)

На ПЛИСину докумнтация есть. Я и хотел разобраться, какие ноги можно подключать, любые или нет. А вот пр USB-ишник мне не совсем понятны названия этих сигналов. И ног у нее 20!!! Что 8 сигнальных ног я понял. А как ее запитать? Для чего остальные ноги? могут ли остаться висячие ноги? Как организовать кодирование инфорации? То есть как 16-ти битовые числа передать на восемь входных ног, передать через USB на компьютер и записать их в текстовый файл? Где почитать? У кого спросить?
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jul 4 2015, 17:37
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(aleshanoff @ Jul 4 2015, 18:29) *
Драйвера на эту приблуду имеются стандартные.

Что за драйвера такие интересные? Не поделитесь? По-моему вы не понимаете назначение и возможности этой микросхемы. Она может быть любым устройством или хостом.

Цитата(aleshanoff @ Jul 4 2015, 19:41) *
...Как организовать кодирование инфорации? То есть как 16-ти битовые числа передать на восемь входных ног, передать через USB на компьютер и записать их в текстовый файл? Где почитать? У кого спросить?

Это микросхема физического уровня USB (проще - PHY). Рулится по ULPI (даташит в сети есть). Чтобы передать данные на компьютер, нужно организовать работу PHY в режиме периферии USB, по сути полностью написать на ПЛИС остальные уровни: пакетный, endpoint. Нужно знать принцип работы USB на всех уровнях, чтобы что-то завелось. Проще будет взять более "умный" контроллер USB, например что-нть от Cypress или FTDI. Имхо для ваших задач этот PHY - пушка по воробьям, если, конечно, не в методических целях.

Сообщение отредактировал Inanity - Jul 4 2015, 17:45
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 4 2015, 17:43
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Согласен, но на этапе подготовки и выбора железа приглянулась эта платка USB. Пока будем с ней работать, если конечно это возможно.
А что значит физического уровня?
Получается, это и в плисине тоже нужно что-то прописывать? я думал просто к выходам ПЛИС цепляется USB...
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 4 2015, 17:45
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



В плис реализуется вся логика приема и передачи. Нечто подобное делал на FT, в итоге внутри плис появились буфера для принимаемых и передаваемых потоков. Плюс формирователь пакетов. Набор конечных автоматов для рулежки.
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 4 2015, 17:56
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



драйвер на USB

драйвер для USB 2

Цитата(Inanity @ Jul 4 2015, 22:37) *
Это микросхема физического уровня USB (проще - PHY). Рулится по ULPI (даташит в сети есть). Чтобы передать данные на компьютер, нужно организовать работу PHY в режиме периферии USB, по сути полностью написать на ПЛИС остальные уровни: пакетный, endpoint. Нужно знать принцип работы USB на всех уровнях, чтобы что-то завелось. Проще будет взять более "умный" контроллер USB, например что-нть от Cypress или FTDI. Имхо для ваших задач этот PHY - пушка по воробьям, если, конечно, не в методических целях.

А где об этих уровнях прочитать? И чем "умнее" контроллеры, предложенные вами?


Цитата(Александр77 @ Jul 4 2015, 22:45) *
В плис реализуется вся логика приема и передачи. Нечто подобное делал на FT, в итоге внутри плис появились буфера для принимаемых и передаваемых потоков. Плюс формирователь пакетов. Набор конечных автоматов для рулежки.

Такое ощущение, что я с другой планеты. Очень плохо понимаю, что твоя моя говорить)))) Где б об этом почитать? И много ли ресурсов занимает логика приема-передачи? Желание осилить этот вопрос - огромное, стимул подходящий тоже имеется, и глаза горят и руки на месте - а вголове нет ниче))) Чел, который в этом хоть немного шарит, сейчас в отпуске. Профессор в жлезках не силен. Объяснить, направить некому - печалька короче...

Сообщение отредактировал aleshanoff - Jul 4 2015, 17:59
Прикрепленные файлы
Прикрепленный файл  STM32F2XX.rar ( 990.94 килобайт ) Кол-во скачиваний: 32
Прикрепленный файл  STM32F4XX.rar ( 1.1 мегабайт ) Кол-во скачиваний: 31
 
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jul 4 2015, 18:07
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(aleshanoff @ Jul 4 2015, 20:56) *
А где об этих уровнях прочитать? И чем "умнее" контроллеры, предложенные вами?
Такое ощущение, что я с другой планеты. Очень плохо понимаю, что твоя моя говорить)))) Где б об этом почитать? И много ли ресурсов занимает логика приема-передачи?


Об этом почитать можно на usb.org. Качайте спецификацию USB и читайте. Умные контроллеры, например любой из этих: http://www.ftdichip.com/FTProducts.htm
В них уже всё сделано до уровня endpoint. Есть буферы, чтобы принять и отправить данные. Ваш PHY всего этого не может, всё это нужно реализовать на логике FPGA. Всё, что он может - кодировать\декодировать данные в NRZI и обратно, отдавать состоянии линии (SE0, SE1, K, J)+ ещё некоторые мелочи, но не более. Такой PHY используется когда надо сделать действительно нестандартное устройство или хост USB. Для решения задачи простой передачи данных лучше использовать более высокоуровневые контроллеры.
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 4 2015, 18:10
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Цитата(Inanity @ Jul 4 2015, 23:07) *
Об этом почитать можно на usb.org. Качайте спецификацию USB и читайте. Умные контроллеры, например любой из этих: http://www.ftdichip.com/FTProducts.htm
В них уже всё сделано до уровня endpoint. Есть буферы, чтобы принять и отправить данные. Ваш PHY всего этого не может, всё это нужно реализовать на логике FPGA. Всё, что он может - кодировать\декодировать данные в NRZI и обратно, отдавать состоянии линии (SE0, SE1, K, J)+ ещё некоторые мелочи, но не более. Такой PHY используется когда надо сделать действительно нестандартное устройство или хост USB. Для решения задачи простой передачи данных лучше использовать более высокоуровневые контроллеры.

Спасибо, только что значит спецификация USB. И для какого USB ее читать? и есть источники информации на русском?

Сообщение отредактировал aleshanoff - Jul 4 2015, 18:13
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 4 2015, 19:06
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(aleshanoff @ Jul 4 2015, 21:56) *
И чем "умнее" контроллеры, предложенные вами?

Контроллеры от FTDI умнее тем, что в них уже имеется парочка мелкой памяти (несколько сотен байт) для того чтобы хранить данные отправляемые от железа в ПК и наоборот. С контроллеров на железо подаются сигналы-признаки наличия/отсутствия данных и возможности заполнения той самой мелкой памяти для передачи потока.

Цитата(aleshanoff @ Jul 4 2015, 21:56) *
И много ли ресурсов занимает логика приема-передачи?

Сейчас по памяти могу только прикинуть: делал 8кБ FIFO для передачи потоков, 128Б FIFO для приема команд. Около 1000 ЛЭ (циклон2) ушло на формирователь пакетов, автоматы, счетчики адресов, синхронизаторы, туда же 256Б двухпортовки.
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 4 2015, 19:21
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Александр, спасибо огромное. Но какой чип Вы именно посоветуете? Я посмотрел FT120 - USB full-speed device controller. Но у него аж 28 ног. может есть что попроще?
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 5 2015, 06:26
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(aleshanoff @ Jul 4 2015, 23:21) *
Но какой чип Вы именно посоветуете? Я посмотрел FT120 - USB full-speed device controller. Но у него аж 28 ног. может есть что попроще?

Если "простота" заключается в числе выводов, то проще наверное не найти.
По той причине, что мне не ведомы требования к обеспечению скорости, я бы рекомендовал более сложную и универсальную микросхему, что-нибудь из FT2232H/FT4232H.
У них большее количество выводов, но в случае, когда не хватит скорости простого UART-USB, можно будет быстро перейти в синхронный режим и гонять данные на более высокой скорости.
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 5 2015, 06:58
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Александр77 спасибо.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 5 2015, 07:09
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Вы уточните у руководителя объемы данных и время за которое их надо переслать. А то может получиться так, что потратив вагон времени, придете к выводу о кардинальной переделке. Заодно и к спартану уточните ограничения (BRAMов может тоже не хватить или понадобится плата с DDRx на борту)
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 5 2015, 08:33
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Цитата(Александр77 @ Jul 5 2015, 11:26) *
Если "простота" заключается в числе выводов, то проще наверное не найти.
По той причине, что мне не ведомы требования к обеспечению скорости, я бы рекомендовал более сложную и универсальную микросхему, что-нибудь из FT2232H/FT4232H.
У них большее количество выводов, но в случае, когда не хватит скорости простого UART-USB, можно будет быстро перейти в синхронный режим и гонять данные на более высокой скорости.

нашел эту
http://www.chipdip.ru/product1/8374297619/
но дороговато.

а вот эта не может подойти?
http://www.chipdip.ru/product/cp2102-usb-uart-board-mini/

Скорость я не рассчитывал, но нужно будет где-то 6000-7000 16-разрядных чисел в секунду передавать на компьютер, то есть если мои знания меня не подводят 120-140 кб/с

А может вот эту попробовать?
http://www.chipdip.ru/product/ft245-usb-fifo-board-type-a/
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jul 5 2015, 13:10
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



А как Вы видете передачу?
FT232 и CP2102 это преобразователи uart-usb. При их использовании придется писать (или взять чей-то готовый) контроллер uart. Настроить и далее гонять побайтно.
FT245 работает с параллельным кодом, общение сводится к записи/чтению байтных посылок.
Что Вам более подходит, то и выбирайте.
Есть еще вариант
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 5 2015, 16:47
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



спасибо, как определюсь со структурой сообщений - отпишусь.

Сообщение отредактировал aleshanoff - Jul 5 2015, 17:48
Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 6 2015, 10:13
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



Товарищи, немного разобрался с назначением необходимого устройства.
USB плата будет выполнять роль хоста и выдавать данные на компьютер. Данные будут в виде потока 2 байтовых чисел. Скорость передачи пока не важна. На данный момент важна сама реализация передачи данных от устройства. Буфер данных будет организован в ПЛИС.
USB3300 USB HS Board позволяет передавать данные, как я понял, по-байтно, последовательно обрабатывая данные на 8 сигнальных входах. То есть если я на 8 наг плис подаю сигнал, то в USB плате он преобразуется в 2 байта данных и через USB выход должен оказаться в компьютере, в котором с помощью драйвера должна происходить запись в файл. Тактовать передачу данных в будущем планируется от ПЛИС.
Сейчас хотя бы хочу собрать на ПЛИС счетчик нажатия кнопки, который будет выдавать количество нажатий на ноги ПЛИС и от другой кнопки назначить управление передачей.
Но как этого добиться? Не понятна организация канала от плис до USB выхода, то есть какие сигналы нужны для ULPI ? Не понятна физика процесса записи данных в файл.

Также встает вопорос о питании этой приблуды и подключении к компу. Согласно описания там есть два питающих напряжения 3.3V и 5V. Но я не понял для чего они нужны, и будет ли достаточно того, что с компа через USB выход будет подаваться напряжение.

Помогите, кто чем может. smile3046.gif

PS Приобретение другого устройства на основе FTxxx возможно, но там такие же вопросы возникают.

В типовой схеме ULPI 12 входов, 9 я понимаю, а остальные 3 для чего? и где их взять?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
XVR
сообщение Jul 6 2015, 10:45
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(aleshanoff @ Jul 6 2015, 13:13) *
То есть если я на 8 наг плис подаю сигнал, то в USB плате он преобразуется в 2 байта данных и через USB выход должен оказаться в компьютере, в котором с помощью драйвера должна происходить запись в файл.
И не надейтесь rolleyes.gif Что бы компьютер понял то, что вы ему передаете, вы должны загружать в USB3300 не просто байты, а формировать пакеты специального вида. Кроме того, вам придется передавать и принимать массу пакетов, которые не относятся к вашим данным, а нужны для того, что бы компьютер смог вообще работать с USB3300. Для обеспечения этого всего как раз и используют USB стек.

Контролеры от FDTI этого всего не требуют. Они всю обработку всех пакетов делают внутри себя, а вам наружу отдают только данные для приема/передачи в чистом виде (ваши 2 байта). Весь USB стек у них внутри.

Собственно этим и отличаются FDTI и USB3300

Go to the top of the page
 
+Quote Post
aleshanoff
сообщение Jul 6 2015, 11:46
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 2-05-15
Из: Смоленск
Пользователь №: 86 484



то есть, если я буду использовать FTDI, нужно использовать старый добрый интерфейс UART и достаточно будет двух выхдных ножек ПЛИС плюс тактовый сигнал?
Go to the top of the page
 
+Quote Post
XVR
сообщение Jul 6 2015, 12:05
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(aleshanoff @ Jul 6 2015, 14:46) *
то есть, если я буду использовать FTDI, нужно использовать старый добрый интерфейс UART и достаточно будет двух выхдных ножек ПЛИС плюс тактовый сигнал?

Да (как минимум). Можно сделать параллельное FIFO - ножек понадобится поболее, но и пропускная способность будет гораздо выше.

Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01802 секунд с 7
ELECTRONIX ©2004-2016