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

 
 
> Передать по USB c ПЛИС на ПК
enzaime
сообщение Nov 2 2015, 11:10
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 83
Регистрация: 22-08-14
Пользователь №: 82 609



Здравствуйте, такая проблема хочется организовать передачу данных от пк в плис и наоборот с минимальными усилиями, т.е. желательно готвое и простое решение ( может микросхема, которая выполняет эту задачу или что-то такое) Как я это представляю: к плис припаивается микросхема, кодирующая/декодирующая данные по usb (даже не принципиален usb протокол, чтобы по кабелю передавалось) протоколу, на пк ставится драйвер от производителя микросхемы, далее ,например, на с++ подключение библиотеки и использование функций, например по такому алгоритму:
1.подключить библиотеку
2. открыть порт передачи
3. передать массив
4. дождаться окончания передачи
5. принять ответ
6. закрыть порт

а на плис что-то вроде этого:

тактовый сигнал
количетсво слов (31 до 0) (бит)
шина данных(31 до 0) (бит)

по положительному фронту тактового сигнала сохранить в ram память c шины данных, пока не передадутся все слова

опытные люди подскажите есть ли такое или я губу раскатал?
гуглил: первый результат http://jorisvr.nl/usb/ , но мне показалось это каким-то сложным и кустарным что ли.
плис 5ceba7f23c8n http://www.digikey.com/product-detail/en/5...3C8N-ND/3879489
интересует именно для fpga а не hps (я видел что в hps реализованы протоколы передачи, но чтобы использовать hps это нужно как-то очень хитро что-то делать как мне кажется, в общем я пока думаю, что на fpga будет проще)
вот как-то так
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 21)
count_enable
сообщение Nov 7 2015, 16:27
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Цитата(iosifk @ Nov 7 2015, 15:32) *
Вообще то не все так просто. Кроме передачи байтов есть еще слово "протокол передачи данных". И либо передача символьными кодами 2 посылки на байт, простейший автомат для сборки-разборки протокола,
либо передача-прием с байт-стаффингом. Но тогда со стороны ПК тоже понадобится самодельный софт...

Я бы рекомендовал не Уарт, а SPI бит на 16 или более. Там сразу можно передавать пакет..
SPI на 100% потребует самописного софта, а уарт можно отладить любым терминалом. Я так понял ТС требует самого минимума: передать поток байт в плис, и прочитать поток байт из плис. Лично мне удобнее всего было бы уартом, тем более что преобразователей под рукой полный ящик. Но конечно эту задачу можно решить десятком способов, и все правильные.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 7 2015, 19:10
Сообщение #17


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(count_enable @ Nov 7 2015, 19:27) *
SPI на 100% потребует самописного софта, а уарт можно отладить любым терминалом. Я так понял ТС требует самого минимума: передать поток байт в плис, и прочитать поток байт из плис. Лично мне удобнее всего было бы уартом, тем более что преобразователей под рукой полный ящик. Но конечно эту задачу можно решить десятком способов, и все правильные.

Вы не поняли. USB-SPI со стороны ПК так же видится как УАРТ. Так что тут проблем нет.
Проблемы в том, что передавать надо не "байты", а "данные". Так вот, данные бывают "от кого", "кому" и "сколько"... Потому и говорю о протоколе передачи данных, который "сидит" над UART или SPI... И если УАРТ это только 8 бит, то в SPI можно разместить кадр данных... И не надо делать байт-стаффинг...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Nov 7 2015, 19:13
Сообщение #18


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



повторюсь...
можно с opencores попробовать
во вложении...
Прикрепленные файлы
Прикрепленный файл  ft2232hcore_latest.tar.gz ( 17.32 килобайт ) Кол-во скачиваний: 22
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
count_enable
сообщение Nov 7 2015, 21:26
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Цитата
Вы не поняли. USB-SPI со стороны ПК так же видится как УАРТ.
Да, я незнаком с такими переходниками. А если я отправлю один байт, то ведомый получит 0xXX 0x00 или же конвертер будет ждать два байта?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 7 2015, 21:43
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(count_enable @ Nov 8 2015, 00:26) *
Да, я незнаком с такими переходниками. А если я отправлю один байт, то ведомый получит 0xXX 0x00 или же конвертер будет ждать два байта?

Есть альтернатива:
1. Делать разборку протокола а ПЛИС, наворачивая автоматы, стаффинг и пр. Но при этом переходник - простейший, например FT2232 - байт в байт...
2. Весь протокол переложить в переходник. Например любой стартовый набор на микроконтроллер с USB-COM. В нем на Си написать поддлержку протокола по USB-COM. Все стаффинги, CRC, перезапросы и пр. А от микроконтроллера - по SPI в ПЛИС. На 16 битов можно положить кадр: КОП, адрес, данные. При этом в ПЛИС будет минимальные затраты на обработку протокола. Для меня все равно где делать, но мне кажется, что проще на Си, чем в ПЛИС... А что касается софта, то для Wake исходники и примеры выложены...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Nov 10 2015, 11:45
Сообщение #21


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Цитата(alevnew @ Nov 7 2015, 09:05) *
В синхронном, на мой взгляд, недостаток (хотя и условный), то тактовая задается самой микрухой и появляется на выходе только после инициализации на стороне ПК.
Из-за собственного клока придется делать в ПЛИС буферный двухклоковый FIFO.

По-моему, это достоинство: халявные 60 МГц для тактирования той же ПЛИС sm.gif Я вообще обошёлся без микросхемы генератора. Если мало - можно подключить ФАПЧ.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Александр77
сообщение Nov 10 2015, 18:31
Сообщение #22


Знающий
****

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



Цитата(DSIoffe @ Nov 10 2015, 14:45) *
По-моему, это достоинство: халявные 60 МГц для тактирования той же ПЛИС sm.gif Я вообще обошёлся без микросхемы генератора. Если мало - можно подключить ФАПЧ.

Эта халява работает только в режиме синхронного 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 Текстовая версия Сейчас: 28th July 2025 - 12:25
Рейтинг@Mail.ru


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