USB контроллер на FPGA

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

USB контроллер на FPGA

Сообщение mrTransistor »

Всем здрасьти:) Выдали задание на Микропроцессорные системы - сделать ЮСБ контроллер на основе ПЛИС (Cyclone III). Задание мне кажется вообще диким потому что

во первых это даже не курсовая и ни диплом и даже не лаба а всего лишь практика на которую дали месяц.
во вторых что такое плис представление имею, но даже в руках никогда не держал это и чтобы вот так вот сходу чего то сделать на нем как-то затрудняюсь мягко говоря, тем более стенда с ЭТОЙ ПЛИС нету ни на кафедре ни у меня и сомневаюсь что стоит он копейки, задание короче - почитай буржйскую документацию и как нибудь чего - то сделай.

Как я понял нужно написать прошивку которую можно будет потом залить в ПЛИС и будет как то чего то работать... Как работать это будет я не представляю... нужно будет припаять к ПЛИС ЮСБ Вход и вставлять флэшку, но как потом проверять что оно работает? Или это надо на готовом стенде с уже встроенным контроллером юсб заставить выполнять какие то операции, Или как то по другому должно в конце это работать? - не представляю вообще, то есть вроде понятно что контроллер управляет подключенными юсб устройствами, но как конкретно это будет работать на плис, что будет оно делать?

С ВХДЛ работал немного, но опять же никаких прошивок, а только эмуляция работ мультиплексоров, счетчиков и логических схем, то есть как писать прошивку для реальной плис тоже слабо представляю.

Короче, помогите чем можете, с чего начинать, что почитать, как должно это в конце работать, подскажите этапы которые меня приведут к финальному результату, литературку, что угодно.
Реклама
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB контроллер на FPGA

Сообщение Kavka »

Мнда... На учёбе что, даже в какой-нибудь лаборатории для практики нет ничего типа вот такого ?
Если нету, тогда либо придётся по потеть этот месяц, причём обильно :)) , либо менять задание. :)
Пугать не буду... :)
1) Младший Циклон 3 (EP3C5E144) в моём городе стоит около 700р.
2) Самый простой корпус у него типа TQFP144.
3) Требует три питания: ядро 1.2в, PLL 2.5в, периферия от 1.2в до 3.3в. Источники легко делаются на lm317. В обязательном порядке "куча" блокировочных конденсаторов, хотя бы как рекомендовано в спецификации. Плата минимум двухслойная, нужно заказывать, или с фоторезистом делать, ну или вы магистр-джедай ЛУТ-а :))
4) 5 вольт на входах-выходах не терпит.
5) Для хранения прошивки нужна внешняя специальная микросхема флэш-памяти. Можно без неё, но тогда при включении надо обязательно программировать с внешнего источника (программатора, микроконтроллера), при выключении, соответственно, всё "забывается".
6) Нужен программатор. Можно такой. Можно самому поискать собрать ByteBlaster2. ByteBlasterMV можно, но обязательно надо иметь стыковку с логическими уровнями (см. выше напряжение периферии). Можно поискать на тему вот такого.
7) В чём разрабатывать прошивку: софт тут. Quartus II Web Edition (размер ~2-3Гб) и ModelSim-Altera Starter Edition (размер ~600Мб), разработка и отладка соответственно.

Вроде основное всё написал.
Последний раз редактировалось Kavka Пт мар 11, 2011 13:34:16, всего редактировалось 1 раз.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Спасибо, Есть подобная плата на которой мы делаем лабы, но она на контроллере от Атмега16, программатор нужен если просто отдельно микросхема плис без платы?, про софт где прошивку делать я в курсе. Как то неохота деньги свои вкладывать из-за препода мудака и программатор паять, еще и самодельное питание делать, походу придется в квартусе тестить работу без реальной схемы если так можно... А можно мне идиоту объяснить что должен делать юсб котроллер сделанный на плис, и где мне взять схему подключения разъема юсб к плис? Препод задание не поменяет я еще радоваться должен по идее, у друга вообще надо прошивку для работы с видеокамерой сотворить на 2м циклоне.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: USB контроллер на FPGA

Сообщение Satyr »

Ну, можено классически студенчеки "списать" -))
Сходи на OpenCores.org, там оно есть.
Реклама
Эиком - электронные компоненты и радиодетали
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Это мысля конеш, а что искать usb controller или usb host - это не одно и то же??? И все таки над схемку подключения порта юсб к циклону...
Реклама
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB контроллер на FPGA

Сообщение Kavka »

Думаю, вот это может быть полезным.
http://marsohod.org
Раздел проектов, искать проекты с "USB" в названии.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB контроллер на FPGA

Сообщение Kavka »

mrTransistor писал(а):программатор нужен если просто отдельно микросхема плис без платы?
[...мышь буквы погрызла...]
походу придется в квартусе тестить работу без реальной схемы если так можно...
На той плате, что я ссылочку давал, уже есть программатор. Для собственного устройства, всяко, нужен программатор.

Смотря на чём будете начинку делать/писать. Model-Sim как раз симулятор, понимает всё что понимает Квартус.
Если на Verilog-е или VHDL, то для них есть симуляторы, в том числе и немало свободных.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: USB контроллер на FPGA

Сообщение atmicandr »

Вы попробуйте поискать на форуме электроники, вроде чтото там подобное пробегало но на Спартане.
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Из всего вышесказанного и прочитанного за сегодня, получается вот что

Буду использовать Квартус и встроенные средства симуляции.

На "марсоходе" хорошо написано про юсби и есть примерчик для платы марсоход НА плис Altera - EPM240T100С5 на верилоге - проблема я не шарю в верилог и будет ли такая прошивка работать на CYCLONE 3, и это не совсем то - мне нужен контроллер на плис а там реализовано подключение плис к компу и работа уже с его ПК-шным контроллером.

Как я понял берется отдельно плис - к ней коннектится ЮСБ разъем ХОСТ, плис прошивается как контроллер юсб. Теперь встает вопрос куда мне присобачить Юсб разъем, точнее к каким выводам плис и далее как контроллер будет реагировать на подключенное устройство, например флешку(Лампочку присобачить или как?) или я не туда думаю?
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB контроллер на FPGA

Сообщение Kavka »

На циклоне работать, скорее всего, будет, если не использовано блоков специфичных для CPLD EPM240. Ну и ножки надо "привязать" к циклону (pin assignment). Ножки можно выбрать любые general IO, как будет удобно.

Разъём хост ??? Вам что, надо хост-контроллер сделать? Есть usb-host (в компьютерах) и usb-device (флешки, клавиатуры, мышки и т.д.). Хост-контроллер обеспечивает только низкоуровневые функции (приём-передача на физическом уровне, в основном) , остальное делает процессор посредством драйверов и прочих программ. Так что насчёт подключения флэшки, что-то не до конца понятно. На сайте марсохода пример usb-устройства. Хост с хостом работать не будет. Обычные usb-устройства друг с другом тоже не умеют работать. USB-OTG устройства могут работать с другими USB-устройствами.
За подробностями можно на википедию сходить, но лучше вот сюда.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
Uklunok
Вымогатель припоя
Сообщения: 561
Зарегистрирован: Сб апр 03, 2010 10:12:41
Откуда: Хабаровск

Re: USB контроллер на FPGA

Сообщение Uklunok »

mrTransistor писал(а):Спасибо, Есть подобная плата на которой мы делаем лабы, но она на контроллере от Атмега16, программатор нужен если просто отдельно микросхема плис без платы?
Не бзди! Есть такая плата у нас на кафедре, видел кто-то работал и не один раз...

Подскажите пожалуйста, для чего нужна утилита CORE COMMANDER??? Знаю только, что её надо устанавливать на QUARTUS||.
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Мда, все оказалось не так как я думал, на кафедре есть стенд СoreCommander(плата для разработки на циклон 3 + интерфейс пользователя с жк дисплеем).
прога CoreCommander вроде б утилита для работы с этим стендом.

Так вот для этого стенда мне нужно нарисовать схему подключения его юсб порта на плате.

И написать прошивку для стенда, Юсб контроллер, по объяснениям препода я вроде понял что нужно просто либо подключить стенд к компу и на дисплее стенда выдавать чего-то. Или флешку подключить и также чего-то по этой флешке на дисплее высвечивать.

Есть у меня Демо - идет с самой программой коркоммандер(usb host mass storage), в нем вроде только прошивка без исходника которую можно залить(.sof, .elf файлы и батники какие-то).
Короче вот, не знаю как прошивку писать.
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: USB контроллер на FPGA

Сообщение atmicandr »

:)) Дак я не понял, Вы что с одного института и даже с одной кафедры? :))) А препод поди тоже в этом форуме засел :write: ? :))) Модераторы извините за оффтоп.
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Нечего ржать:) У нас общая беда:) Хелп
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB контроллер на FPGA

Сообщение Kavka »

Я так понял, что преподователю всё равно что вы сделаете - хост или устройство.
Примеры устройства есть на "марсоходе". Дальше "курите" мануал на плату в части "куда на ПЛИС подключен разъём USB". И переделывайте под себя пример с "марсохода".

Можете, конечно, что-нибудь тырнуть с opencores, но, думаю, разбираться и объяснять взятое оттуда будет значительно сложнее, чем с "марсохода".
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Опять всем привет. Знаючтоужезадолбал с этой темой, но ситуация складывается следующая. Прошивку мне уже не надо разрабатывать, сумел я сбежать от этой участи:) Нужно было нарисовать схему подключения юсб коннектора к ФПГА e3c25f256 (CYCLONE III) через интерфейс ISP1505. Прочитал про интерфейс - как я понял там есть встроенный ULPI phy (который вроде тоже интерфейс) + плюс еще какие то фичи которые вместе и представляют ISP1505.

Во-первых объясните мне дураку - что аббревиатура эта значит ISP.
ПОчему он включает ULPI phy - почему нельзя отдельно поставить между ФПГА и коннектором ULPI, Зачем его поместили в ISP?
Как он уменьшает количество пинов - От коннектора юсб ведь всего 4 пина идет, А от ФПГА тоже не так много?

И самое главное - Схему нарисовал я, И препод мне сказал:
У ISP1505 должна быть опорная частота. И должна это частота идти либо от ПЛИС либо от внешнего генератора, Нужно каким то образом переключать подачу этой частоты, как это делать он сказал на ваше усмотрение. Главное ему показать на схеме что вот - Типа работает так - то, так -то.
Не совсем понятно что от меня требуется, т.е. просто переключатель поставить или что?

Прошу как всегда помощи.... Схема прилагается)
mrTransistor
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб сен 25, 2010 19:21:41

Re: USB контроллер на FPGA

Сообщение mrTransistor »

Вот схема.
Drawing2 copy.jpg
(74.44 КБ) 922 скачивания
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: USB контроллер на FPGA

Сообщение Kavka »

mrTransistor писал(а):Опять всем привет. Знаючтоужезадолбал с этой темой
:)
ISP1505 - это чип типа FT245 от FTDI, поэтому что означает ISP в его названии ведает только производитель.
Производитель этого чипа - NXP.
Читайте спецификацию, там всё написано, и будет вам счастье. :))

ULPI это просто стандарт интерфейса (набор сигналов и временнЫе характеристики). В данном случае USB-контроллер (ISP1505) имеет внешний интерфейс по стандарту ULPI.

Про тактирование - читатете спецификацию. Там возможно три варианта. Ваша схема ни одному из них не удовлетворяет (на сколько я могу судить после беглого просмотра спецификации).

ЗЫ: Забавная микруха - может из себя USB-host изображать.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»