Jump to content

    
Sign in to follow this  
iiv

USB-OTG хочу быстро данные таскать

Recommended Posts

Доброй ночи,

 

есть у меня USB-OTG фулл спид, который одим концом воткнут в плиску, а другим - в линукс компьютер.

 

На последнем, я, повидимому его могу открыть чем-то типа open (из С) из соответствующего /dev/ttyUSB0.

 

Хочу понять какой интерфейс мне надо реализовать на ниосе, чтобы я смог из авалоновской шины или локального фифо таскать по USB-OTG данные на мой линукс компьютер. Интересует максимально быстрый интерфейс. Реально ли при пике 480МБитс получить хотя бы 40МБайтс, скажите, пожалуйста!

 

Спасибо

 

Иван

Share this post


Link to post
Share on other sites
Доброй ночи,

 

есть у меня USB-OTG фулл спид, который одим концом воткнут в плиску, а другим - в линукс компьютер.

 

На последнем, я, повидимому его могу открыть чем-то типа open (из С) из соответствующего /dev/ttyUSB0.

Вы полный бред написали. Разберитесь что у вас там есть. А то: "у меня есть 40 литров бензина 95го не этилированного. Где у меня трос ручного тормоза заедает?"

 

Share this post


Link to post
Share on other sites
а с каких пор фул-спид 480 Мбит/с?

Действительно, с терминами не дружу, я конечно имел ввиду хай спид :(

 

Вы полный бред написали. Разберитесь что у вас там есть. А то: "у меня есть 40 литров бензина 95го не этилированного. Где у меня трос ручного тормоза заедает?"

Уважаемый Метан,

 

благодарю Вас за отзыв. Действительно, я не совсем разбираюсь в терминах, поэтому наверное Вы меня не поняли. Задача у меня простая, я примерно описал: есть плиска - стратикс 3, несколько ног которых воткнуты в USB-OTG. Далее подключение USB воткнуто в линукс компьютер. Моя задача - качать большые массивы данных с плиски на компьютер с максимально большой скоростью, и получать от компьютера в плиску управляющую информацию, которой примерно на 5-6 порядков меньше. Вот думаю как это реализовать, в верилоге вроде чуток разбираюсь, особенно когда мне здесь советуют :)))) а вот про ниос только слышал и несколько примеров запустил, правда не совсем еще разобрался как эти примеры работают.

 

Вот и думаю как мне решить поставленную задачу.

 

За любой конструктивный совет, в том числе совет как мне правильно сформулировать вышеописанную задачу, буду примного благодарен.

 

Спасибо

 

Иван

Edited by iiv

Share this post


Link to post
Share on other sites
благодарю Вас за отзыв. Действительно, я не совсем разбираюсь в терминах, поэтому наверное Вы меня не поняли. Задача у меня простая, я примерно описал: есть плиска - стратикс 3, несколько ног которых воткнуты в USB-OTG.

Сколько и каких ног?

 

Далее подключение USB воткнуто в линукс компьютер.

И? Вот воткнули. Кто занимает енумерацией итд?

 

Моя задача - качать большые массивы данных с плиски на компьютер с максимально большой скоростью, и получать от компьютера в плиску управляющую информацию, которой примерно на 5-6 порядков меньше. Вот думаю как это реализовать, в верилоге вроде чуток разбираюсь, особенно когда мне здесь советуют :)))) а вот про ниос только слышал и несколько примеров запустил, правда не совсем еще разобрался как эти примеры работают.

 

Вот и думаю как мне решить поставленную задачу.

Сколько именно?

 

Share this post


Link to post
Share on other sites

Уважаемы Метан,

 

благодарю Вас за ту помощь, которую Вы оказываете мне для того, чтобы разобраться с моей задачей!

 

Сколько и каких ног?

 

////////// USB //////////
output       [17:1]             OTG_A;
output                          OTG_CS_n;
inout        [31:0]             OTG_D;
output                          OTG_DC_DACK;
input                           OTG_DC_DREQ;
input                           OTG_DC_IRQ;
output                          OTG_HC_DACK;
input                           OTG_HC_DREQ;
input                           OTG_HC_IRQ;
output                          OTG_OE_n;
output                          OTG_V1ET_n;
output                          OTG_WE_n;

 

мне, к сожалению, эта информация ни о чем не говорит, и, очень надеюсь, что Вам она действительно поможет быстро объяснить мне что же делать. Читая мануалы к Квартусу и смотря примеры к борде, я нашел, что ниос как-то сам хорошо эти ноги использует, и, если ниосу залубенить на авалон что-то, и как-то правильно его об этом предупредить, то он пошлет эти данные в OTG, а тот, в сою очередь, по усб протоколу на линукс компьютер. Я, к сожалению, совсем пока не понимаю как это все происходит, поэтому очень интенсивно гуглю и читаю мануалы.

 

И? Вот воткнули. Кто занимает енумерацией итд?

Простите меня, я не понял что Вы сказали. Мои подключения, а, также, как я читать данные из /dev/ttyUSB0 буду, я уже описывал.

 

Сколько именно?

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

 

Спасибо

Edited by iiv

Share this post


Link to post
Share on other sites
Как я говорил, мне хотелось бы иметь скорость качания данных с плиски на линукс около 40МБайт в секунду. Используя СПИ я уже смог получить 1.2МБайт в секунду (это уже чистой скорости на моих даннных), но мне, к сожалению, не хватает. Наверное и 100МБайт в секунду - было бы хорошо, но я даже боюсь задумываться через какой интерфейс это вообще принципиально возможно.

Спасибо

если Вы хотите 100 МБ/с (100*8=800 Мбит/с) - то это точно не USB 2.0, возможно USB 3.0. На сегодняшний день для этих целей подходят PCI (PCI-Express) или IDE (SATA).

Share this post


Link to post
Share on other sites
мне, к сожалению, эта информация ни о чем не говорит, и, очень надеюсь, что Вам она действительно поможет быстро объяснить мне что же делать.

Для того чтобы появилось что-то в /dev/, USB устройство должно пройти цикл енумерации. Хост, должен спросить устройство, что оно, устройство должно ответить.

 

Если вам нужно что-то сделать с USB, то посмотрите лучше на сайте ftdi или цайпрес. Там были неплохие контроллеры, с примерами, которые довольно просто программируются и на выходе которых простая параллельная шина.

Share this post


Link to post
Share on other sites
////////// USB //////////
output       [17:1]             OTG_A;
output                          OTG_CS_n;
inout        [31:0]             OTG_D;
output                          OTG_DC_DACK;
input                           OTG_DC_DREQ;
input                           OTG_DC_IRQ;
output                          OTG_HC_DACK;
input                           OTG_HC_DREQ;
input                           OTG_HC_IRQ;
output                          OTG_OE_n;
output                          OTG_V1ET_n;
output                          OTG_WE_n;

Судя по списку это не голый USB разъем

Читая мануалы к Квартусу и смотря примеры к борде,
Посмотрите, что именно у вас стоит на борде между FPGA и USB разъемом. Видимо какой то Cypres

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this