|
USB для SoPC |
|
|
|
Aug 15 2008, 09:55
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
Здравствуйте. В инете накопал вот такую вещь: Цитата Avalon OpenCores 10/100 Ethernet MAC Как пишется: Цитата The Wishbone interface has been completely removed and replaced with a new Avalon module. Что не может не радовать Интересует информация касательно USB - никто не собирал похожего для USB ??В принципе накопал пока физику и собсно реализацию USB на OpenCores`ах. На верилоге конечно и для Wishbone, но не в том суть - Wishbon-овский модуль можно поменять на Avalon-овский как в прожекте для Ethernet MAC. Но как то разрознено получается..На форуме порылся и нашёл, что некоторые даже пытались их колупать и соединять но как то глухо и мутновато всё равно.... Если кто уже решал такую задачу и есть наработки буду признателен за любую помощь.  PS Лицензии для SLS нету(+ есть вроде сведения что немного подглючивает с вендорами и ID) да и плюс есчё внешнюю микркруху городить надо, ISP которая  (кстати физика на OpenCores`ах вроде как раз самое то)... --- пока суть до дела, колупаюсь в Цитата USB 1.1 Function IP Core: Overview с OpenCores`ов - с описания, там только текстовик README.txt в папке doc - есть у кого побольше информации кроме как эти 4 килобайта - для 2.0 у автора есть хотя бы PDF с описанием Кстати, физика для USB аки usb_phy.tar.gz - USB 1.1 PHY. Автор пишет что тестировал для корки 1.1 и нормально вроде всё..
|
|
|
|
|
Aug 15 2008, 11:33
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Kuzmi4 @ Aug 15 2008, 04:55)  В принципе накопал пока физику и собсно реализацию USB на OpenCores`ах. На верилоге конечно и для Wishbone, но не в том суть - Wishbon-овский модуль можно поменять на Avalon-овский как в прожекте для Ethernet MAC. Но как то разрознено получается..На форуме порылся и нашёл, что некоторые даже пытались их колупать и соединять но как то глухо и мутновато всё равно.... Если кто уже решал такую задачу и есть наработки буду признателен за любую помощь.  Не вижу ничего сложного, скажу более того : если корка сделана с поддержкой только wishbone classic и не использует дополнительные выходы ошибок rty_o, err_o то пристегивается а avalon совершенно свободно. У wishbone classic КА простой на 2-4 состояния. ЗЫ. насчет Ethernet MAC у Игоря Мохора достаточно просто вырезается вишбоновский модуль и вместо него вставляется свой %) я так делал для своего проекта.
--------------------
|
|
|
|
|
Aug 15 2008, 12:24
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 des00 - спасибо за разъяснение ситуации. Тогда прийдётся колдовать над физикой для 2.0, что на мой взгляд гораздо проще чем с USB2.0. Тут на корку хоть дока есть  --- Значится автор USB_PHY 1.1 , который и автор корок для USB 1.1 и USB2.0, использовал XESS XCV800 а на нём с внешних елементов USB был только PDIUSBP11A, который собсно является эдаким разделителем IN/OUT для сигналов с USB D+/D-
Касательно приёма-передачи:
То есть видно, что VP,VM - входы с D+/D- в FPGA, а VPO,VMO - выходы с FPGA на D+/D-... Меня смущают триггированные выходы VP,VM - вроде бы можно реализовать в FPGA аналог PDIUSBP11A, вот только как быть с этим триггером шмита- он так догадываюсь для защиты от дребезга/шума стоит... То есть, если линия короткая , то можно пренебречь и поставить что-то типа GBUF я так думаю..
|
|
|
|
|
Aug 15 2008, 14:50
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 Stewart Little - на счёт SLS - как то видел. На счёт выложить - неплохая идея - там по ходу генерится полноценный пакет файлов , которые можно потом переработать и подшивать к SoPC и про лицензию не думать. Но и для SLS нужна физика.. Тут дело как раз в том, что если дЫвайсина недалеко от PC USB, то в принципе зачем там внешнее городить, можно и без них обойтись - а как рассказывает Rudolf Usselman в своих описанию к USB1.1 PHY - у него на 12Mbs пахало с PDIUSBP11A - а это по сути просто разделитель(вверху приводил рисунок). Я думаю на FPGA чтото похожее реализовать возможно. Вот приблизительная простенькая реализация:
Вроде как должно работать - только на симуляция отчего то вот такая:
DP и DM не меняются, а вместо них у нас есть ~result..
|
|
|
|
|
Aug 18 2008, 14:45
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 Stewart Little - тут вопросик есть касательно SLS. За прошедшее время добил я саппорт SLS - дали они мне скачать екзешник, правда только сегодня с утра и то много вопросов задавали. Поставил попробовал - выскакивает ошибка Цитата Error: Node instance "the_sls_avalon_usb20hr" instantiates undefined entity "sls_avalon_usb20hr" так понимаю найти он не может этот самый компонент - нужно файлик подрубить. Указал путь в setting-сах прожекта - теперь выдаёт Цитата Error: Can't find valid feature line for core 5750_0A01 in current license Это чего - а где лицензия, которая должна была даться мне, сервиса блин нету... На скачать экзешник надо 24 часа ждать а потом долго и нудно переписываться, на лицензию - тоже траблы думаю аналогичные будут.... Кстати нашёл в глубине папки ip файл sls_avalon_usb20hr.v но он в закарлючках. Я так понимаю декриптитьего надо. Подекрипченый знаю где взять(правда папки lib нету, но положить можно и в Цитата C:\altera\72\ip\sopc_builder_ip\SLS\usb20hr_ocp_eval_pack-v2.1\sls_avalon_usb20hr Вот структура:
). Но суть не в том - там verilog файлы, а у меня прожект на VHDL - несостыковочка выходит..  Никак я verilog к VHDL не приконекчу... VHDL версия я так понимаю отсутствует... ??
|
|
|
|
|
Aug 19 2008, 11:37
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Kuzmi4 @ Aug 18 2008, 18:45)  Это чего - а где лицензия, которая должна была даться мне, сервиса блин нету... Лицензию должны были по e-mail прислать. Попробуйте добавить в квартусовский лицензионный файл приаттаченну лицензию (HOSTID свой подставьте). Только этого все равно будет недостаточно - декриптить надо. Цитата(Kuzmi4 @ Aug 18 2008, 18:45)  Но суть не в том - там verilog файлы, а у меня прожект на VHDL - несостыковочка выходит..  Никак я verilog к VHDL не приконекчу... VHDL версия я так понимаю отсутствует... ?? Это совершенно без разницы - на чем он там написан. И мешать это совершенно не должно. Мегавизард будет работать, все равно все в один нетлист сольет.
Прикрепленные файлы
der.zip ( 492 байт )
Кол-во скачиваний: 90
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 19 2008, 12:30
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 Stewart Little есть вопросик. Структура папок для компонента в ip такая:
Заменил verilog файлы на декрипченые, остался там не декрипченый самый верхний файл sls_avalon_usb20hr.v Смущают варнинги типа: Цитата Warning (14110): No clock transition on "CPU_02:inst|sls_avalon_usb20hr_inst:the_sls_avalon_usb20hr_inst|sls_avalon_ usb20hr:the_sls_avalon_usb20hr|usb_top:usb_top|proto_layer:u1|memory_idma:u2|dtm p _r[0]" register due to stuck clock or clock enable То есть получатеся что клок не заводится на регистр ???
Эскизы прикрепленных изображений
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|