Comments 18
Вы превратили 25-мегагерцовый SPI ЦАПа в килобитный уарт потратив 100$ (хорошо что не 700$) на плату преобразования. Но это фигня — главное процесс ;)
+6
Скорее всего, экономически и аппаратно более целесообразно было бы использовать вшивенький микроконтроллер STM32 имеющий SPI шину и UART или USB.
Хотя, если цель была поиграться именно с ПЛИС, то тогда всё ясно.
+3
Самый простой вариант «на коленке» для связи ПЛИС с ПК это Ethernet 10BASE-T, там если не жалко ПЛИС/сетевухи можно без гальванической развязки напрямую с GPIO(2,5 вольт) в сетевой порт слать 10 Мбит, что для начала должно хватить. Вот годная статья на эту тему: www.fpga4fun.com/10BASE-T.html
+1
При всем уважении, но такую задачу потянул бы любой микроконтроллер, стоимостью в 0.5-1$. Если паять ну совсем не охота — хоть отладки от ST, хоть, прости г… дь мою душу грешную, Ардуино. А поиграться — полный одобрямс (особенно, если отладки контора покупает). И зачем все это с UART, раз есть Ethernet? Даже если нет желания поднимать ARM, можно NIOS + на голом металле либо lwip, либо самому поднять UDP. Лет 10 назад, когда в сетях вообще был ни бум бум (да и сейчас не сильно больше), от чтения док до написания своего микростека ушло пару недель… А «марсоходчики» UDP реализовали на CPLD, правда — совсем примитивный, но для таких задач сгодился бы…
+3
Отвечу здесь, как на самый полный набор замечаний. Полностью согласен насчет использования микроконтроллера — это решение в разы экономичней и не вызывает столько головной боли. Но ситуация была в том, что в наличии имелась ПЛИС (она не была куплена конкретно под эту задачу) и желание разобраться в устройстве интерфейсов, как вы сами и заметили. Так же, по моему мнению, весомым дополнением будет возможная перспектива использования ПЛИС как платы буферной памяти при обработке данных с АЦП и полного замещения решения производителя, что было отмечено в статье. Далее, решение с использованием Ethernet — хорошая альтернатива. Однако в момент проектирования схемы взаимодействия я не рассматривал Ethernet из-за его привязки к hps и до сих пор дремучих для меня тем поднятия ARM или использования NIOS ;) (возможно какое-то решение бы и получилось, но я бы не смог его более-менее компетентно здесь описать)
Спасибо за конструктивный комментарий!
Спасибо за конструктивный комментарий!
+2
Интересно, кто принимал решение о покупке Cyclone V для такой задачи?
0
я тоже согласен с сомнениями в выборе Cyclone V для такой простой задачи.
Обычно для таких задач хватает MAX2… MAX10 и главный плюс в том что проекты под них компилируются и разводятся в разы быстрее в квартусе — отладка приятнее.
А на Cyclone V можно например обрабатывать видео в много сотен фпс и вычислять нейросетку с 1000 классами одновременно с субмиллисекундным временем реакции. (как мой последний проект) Т.е. для Cyclone V задачи огромныx вычислений на лету более адекватны.
Обычно для таких задач хватает MAX2… MAX10 и главный плюс в том что проекты под них компилируются и разводятся в разы быстрее в квартусе — отладка приятнее.
А на Cyclone V можно например обрабатывать видео в много сотен фпс и вычислять нейросетку с 1000 классами одновременно с субмиллисекундным временем реакции. (как мой последний проект) Т.е. для Cyclone V задачи огромныx вычислений на лету более адекватны.
0
Да, большая часть потенциала чипа Cyclone V не раскрыта, однако, по моему мнению, ничего не мешает использовать изложенный подход к решению задачи с более простыми чипами. В защиту использования Cyclone V (хоть я уже повторяюсь) — он имелся в наличии + перспектива добавления ресурсоёмкой функциональности
0
Задача: зацепить АЦП/ЦАП к компу на поиграться.
Проблема: У компа нет spi.
Решение: Взять комп с SPI, а не вот это вот все.
Чем Вас не устроил практически любой из зоопарка микрокомпьютеров? Просто, быстро, дешево, SPI.
Проблема: У компа нет spi.
Решение: Взять комп с SPI, а не вот это вот все.
Чем Вас не устроил практически любой из зоопарка микрокомпьютеров? Просто, быстро, дешево, SPI.
+3
Я не рассматривал рынок микрокомпьютеров так как, не имея опыта в их эксплуатации, я изначально собирался использовать отладку в связке с ПК и написать десктопную программу. Хотя идея об использовании микрокомпьютера более чем оправдана
0
Понимаю. В этом разе, настоятельно рекомендовал бы Вам познакомиться с микрокомпьютерами. Крайне удобная штука для решения широкого спектра задач. Очень удобно изучать разное, прототипировать, да и в продакшене на малых сериях вполне.
зы: Программы на них вполне себе десктопные делаются при желании.
зы: Программы на них вполне себе десктопные делаются при желании.
0
Так как контроллер SPI, реализованный на базе ПЛИС, представляет собой более сложную логическую структуру, чем контроллер UART,
Думаю это не правда, spi даже проще чем UART кмк
Вот тут 4 способа как сделать SPI для АЦП
Если смотреть код для ПЛИС, то очень «здорово», что у Вас все заработало (хотя чему тут ломаться на такой та скорости), но проектировать на ПЛИС так не стоит в будущем. Теорию придется всё-таки почитать, когда нужно будет подключить внешнюю периферию с частотой побольше
+4
Нда-с, сурово. Делать USB-SPI преобразователь для связи ПК и АЦП на DE10-nano это, как уже неоднократно упомянули выше, примерно то-же самое, что забивать гвозди микроскопом. Потому как, DE10-nano — и так практически компьютер, работающий под Linux (причём этот Linux производитель даёт в комплекте с платой на MicroSD-карточке). Вариант использования платы для прямого преобразования USB-SPI (например, от того-же самого FTDI — FT232H) не рассматривали?
+1
Еще есть неплохие по описанию, и весьма дешевые (50$ у производителя) платки от Cypress
ron.terraelectronica.ru/news/4496
Предоставляют мост USB3.0 — fifo с которым может работать FPGA без спец корок и отдельного USB PHY
ron.terraelectronica.ru/news/4496
Предоставляют мост USB3.0 — fifo с которым может работать FPGA без спец корок и отдельного USB PHY
0
Sign up to leave a comment.
Организовываем взаимодействие между ПК и ЦАП/АЦП при помощи ПЛИС