Перейти к содержанию
    

Поделитесь, пожалуйста, USB ISP1761 коркой без ниоса

Всем привет,

 

имеется у меня на плисоборде USB ISP1761, его даташит я к этому топику приаттачил.

 

Хочу через него качать в одну сторону, с плиски на линукс компьютер данные. Через ниос, как пишут на Альтера-форуме, большую скорость, больше 50МБит/с, развить не удается - типа ниос тормозит. Сама железка вроде 480МБит/с должна показывать. Как сделать - читал даташиты, не смог сам разобраться. Вдруг кто-то имел дело с таким зверьком, посоветуйте, пожалуйста, простое решение!

 

 

В плиске сам этот девайс виден так:

 

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_RESET_n;
output                          OTG_WE_n;

 

 

Спасибо

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Через ниос, как пишут на Альтера-форуме, большую скорость, больше 50МБит/с, развить не удается - типа ниос тормозит.

Ссылку в студию!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ссылку в студию!

Одно из последних холиваров там, который тянется с 2009 года такой

 

http://www.alteraforum.com/forum/showthread.php?t=18934

 

в основном конечно народ пишет про етернет, а не про усб, но про усб я тоже такое же там видел, да и пример, приложенный к борде, где у меня эта ISP1761 тоже совсем не мегабайты пиковой производительности показывает, вот по этому, вопрошаю. Если вдруг кто-то на ниосе с ISP1761 может хотя бы >350 МБитс показать, поделитесь, пожалуйста, сокровенными знаниями как это получается, хотя думаю, что как раз без ниоса надо.

 

Спасибо

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Одно из последних холиваров там, который тянется с 2009 года такой

 

http://www.alteraforum.com/forum/showthread.php?t=18934

 

в основном конечно народ пишет про етернет, а не про усб, но про усб я тоже такое же там видел, да и пример, приложенный к борде, где у меня эта ISP1761 тоже совсем не мегабайты пиковой производительности показывает, вот по этому, вопрошаю. Если вдруг кто-то на ниосе с ISP1761 может хотя бы >350 МБитс показать, поделитесь, пожалуйста, сокровенными знаниями как это получается, хотя думаю, что как раз без ниоса надо.

 

Спасибо

 

ИИВ

 

При таких скоростях программно гонять поток по-моему не вариант. В Вашем случае по-моему надо ДМА ставить, тогда легко получится, главное чтоб данные успели сформироваться. Так, на вскидку, у усб-камня 32 бита, sg-dma на чипе цыклон3 -8 на 80 МГц в легкую идет, ну допустим, 50% шины (вполне реально) на этой частоте при работе проца останется на дма, получаем производительность 80*32*0,5 = 1280 мбит. Т.е. ниос должен только указывать откуда данные для дма брать, тогда все ок. У меня сейчас шина ниоса (16 бит внешняя память) на 80 МГц со всеми дма реально гоняет где-то 1-1,1 Гбит.

По-моему при таких скоростях надо подумать как успеть сформировать данные и потом принять их, да еще и обработать. Если не секрет, куда такие потоки? Пробовал примитивно (без прерываний, не kernel-драйвером), считывать с усб постоянный поток - проц грузится на 100%, скорость - порядка 300 кбайт/с, т.е. около 3 мбит, при этом ограничивается компом. С кернелом и прерываниями конечно выдавливается нормально. Комп Pentium4 2,4ГГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При таких скоростях программно гонять поток по-моему не вариант.

 

Спасибо, АлексПек, Вам за ответ,

 

действительно я и про USB, и про что-то другое думаю. Данные у меня легко на плиске формируются, блоками примерно по 1.5-2кбайта. Скорость создания - примерно 1 такой блок в микросекунду. Задача - радиохимическое исследование распадов некоторых изотопов. Данные со спец сенсоров.

 

Я пока эти блоки просто усредняю или выбрасываю все, кроме некоторых. Пока то, что сам смог получать, примерно один блок в две милисекунды по SPI интерфейсу. Когда данные придут, там компьютер хороший, с данными справится :)

 

Основной затык - именно тащить данные с плисины на комп. На плиске есть этот пресловутый USB ISP1761 и около 24 (не помню точно) свободных 2.5В GPIO ног, каждая из которых может дрыгатся примерно с частотой около 60МГц из-за конструкционных особенностей борды.

 

Так как я совсем не паяльник, а софтверник, я хочу туда что-то воткнуть или поюзать USB интерфейс, чтобы хоть как-то протащить, так как реально если я сильно постораюсь, я эти блоки примерно в 2-3 раза смогу сжать, но алгоритм сжатия у меня еще на плиске не запрограммирован (не успел еще, мне не до этого пока было).

 

Вот такая незадачка.

 

Альтернатива развести руководство еще на одну плисоборду с правильным коннектором и гигабитным етернетом, изпопрошайничать здесь на форуме корку на UDP 1GB/s для RGMII, но, если я таки руководство на эту борду разведу, а у меня все это не заработает, руководство меня за разбазаривание, не то слово, как отругает.

 

ИИВ

 

Гляньте на opencores.org, возможно там кто-то делал.

спасибо Вам за ответ, но, к сожалению, я там не видел, поэтому сюда вопрос запостил. И на Альтера форуме не находится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, АлексПек, Вам за ответ,

 

действительно я и про USB, и про что-то другое думаю. Данные у меня легко на плиске формируются, блоками примерно по 1.5-2кбайта. Скорость создания - примерно 1 такой блок в микросекунду. Задача - радиохимическое исследование распадов некоторых изотопов. Данные со спец сенсоров.

 

Я пока эти блоки просто усредняю или выбрасываю все, кроме некоторых. Пока то, что сам смог получать, примерно один блок в две милисекунды по SPI интерфейсу. Когда данные придут, там компьютер хороший, с данными справится :)

 

Основной затык - именно тащить данные с плисины на комп. На плиске есть этот пресловутый USB ISP1761 и около 24 (не помню точно) свободных 2.5В GPIO ног, каждая из которых может дрыгатся примерно с частотой около 60МГц из-за конструкционных особенностей борды.

 

Так как я совсем не паяльник, а софтверник, я хочу туда что-то воткнуть или поюзать USB интерфейс, чтобы хоть как-то протащить, так как реально если я сильно постораюсь, я эти блоки примерно в 2-3 раза смогу сжать, но алгоритм сжатия у меня еще на плиске не запрограммирован (не успел еще, мне не до этого пока было).

 

Вот такая незадачка.

 

Альтернатива развести руководство еще на одну плисоборду с правильным коннектором и гигабитным етернетом, изпопрошайничать здесь на форуме корку на UDP 1GB/s для RGMII, но, если я таки руководство на эту борду разведу, а у меня все это не заработает, руководство меня за разбазаривание, не то слово, как отругает.

 

ИИВ

 

 

спасибо Вам за ответ, но, к сожалению, я там не видел, поэтому сюда вопрос запостил. И на Альтера форуме не находится.

 

Так тут даже не мегабиты. 2кбайт за мкс это 2000 мбайт в сек = примерно 20 Гбит. Даже если сжимаем в 3 раза 20/3 = 6,... Гбит - не лезет даже в Гбит эзернет (это притом что гигабит в эзернете по-моему со всей служебной инфой, типа заголовков пакетов, CRC и т.д.). Да и комп такое точно не примет в реалтайм (если не суперкомпьютер :) ) По-моему буферизировать на борде надо, ставить DDR какую-нибудь, на 2-4 Гбайт (смотря какое время записи нужно). Но при таких скоростях с разводкой попотеть надо будет, без опыта точно с первого раза не будет работать. А потом уже стравливать тихонько на комп...

 

Задача - радиохимическое исследование распадов некоторых изотопов.

 

Чем только люди не занимаются... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы правы, в идеале мне нужен гигабайт в секунду :) И шкаф с 24 графическими картами, которые должны обработать этот поток эмоций, мое начальство купит тут же, так как уверено в моих способностях обработать эти данные.

 

Реалии таковы, что я ни разу в жизни ничего не разводил, к своему стыду, и могу только программировать. Именно изходя из этого факта я готов понапрягаться, чуток повыбрасывать данные (в ущерб времени эксперимента), но, таки насобирать свои положенные десять терабайт данных. Просто если я его по SPI тащить буду, то ждать придется около месяца, и за это время все изотопы распадутся. А если я хоть в 30 раз подниму свой поток в 15МБит (SPI), то эксперимент займет всего-то один день и есть надежда, что я соберу то, что мне надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы правы, в идеале мне нужен гигабайт в секунду :) И шкаф с 24 графическими картами, которые должны обработать этот поток эмоций, мое начальство купит тут же, так как уверено в моих способностях обработать эти данные.

 

Реалии таковы, что я ни разу в жизни ничего не разводил, к своему стыду, и могу только программировать. Именно изходя из этого факта я готов понапрягаться, чуток повыбрасывать данные (в ущерб времени эксперимента), но, таки насобирать свои положенные десять терабайт данных. Просто если я его по SPI тащить буду, то ждать придется около месяца, и за это время все изотопы распадутся. А если я хоть в 30 раз подниму свой поток в 15МБит (SPI), то эксперимент займет всего-то один день и есть надежда, что я соберу то, что мне надо.

 

Ну если вопрос стоит "чем больше, тем лучше", а не "мне нужен гигабайт в секунду и не меньше", то запустите ниос на своей борде, дма на камень усб, и даже если все это запустить на 40 мгц - получите поток порядка 40*32*0,5 = 640 мбит, т.е. будете ограничены возможностями усб камня и компьютером который это принимает. Избыток скорости со стороны ниоса съест как раз обработчик прерываний по окончанию передачи блока данных, и выжмете максимум из своей борды, ну а если уж не хватит - тогда разводка новой платы, но подозреваю что Вам надо будет не один гигабит эзернет. Кстати, если плата недалеко от компа, то может есть смысл посмотреть в сторону SATA? Драйвер свой и скорость то поболе чем усб 2.0 будет. 10 терабайт своих быстро забьете :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если вопрос стоит "чем больше, тем лучше", а не "мне нужен гигабайт в секунду и не меньше", то запустите ниос на своей борде, дма на камень усб, и даже если все это запустить на 40 мгц - получите поток порядка 40*32*0,5 = 640 мбит, т.е. будете ограничены возможностями усб камня и компьютером который это принимает. Избыток скорости со стороны ниоса съест как раз обработчик прерываний по окончанию передачи блока данных, и выжмете максимум из своей борды, ну а если уж не хватит - тогда разводка новой платы, но подозреваю что Вам надо будет не один гигабит эзернет. Кстати, если плата недалеко от компа, то может есть смысл посмотреть в сторону SATA? Драйвер свой и скорость то поболе чем усб 2.0 будет. 10 терабайт своих быстро забьете :)

Уважаемый alexPec,

 

конечно же мне хватит и 480МБитов, а не 640МБит, как Вы советуете :) и про эти 480МБит я собственно затеял этот топик.

 

Вот только с ниосом у меня совсем плохо получается, стандартный пример, который прилагается к борде, отожрал половину блочной памяти (я так не могу, мне самому она нужна), и показывает далеко даже не мегабит, и, как мне кажется, тормозит именно из-за того, что ниос не успевает положить в дма усб камня свои 4 байта даже за несколько тактов. Поэтому-то я и ищу простую корку, по возможности без ниоса, которая бы мне это и делала бы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый alexPec,

 

конечно же мне хватит и 480МБитов, а не 640МБит, как Вы советуете :) и про эти 480МБит я собственно затеял этот топик.

 

Вот только с ниосом у меня совсем плохо получается, стандартный пример, который прилагается к борде, отожрал половину блочной памяти (я так не могу, мне самому она нужна), и показывает далеко даже не мегабит, и, как мне кажется, тормозит именно из-за того, что ниос не успевает положить в дма усб камня свои 4 байта даже за несколько тактов. Поэтому-то я и ищу простую корку, по возможности без ниоса, которая бы мне это и делала бы!

Что-то не то по-моему. Какой чип? На какой частоте ниос и на какой дма? Какой проц? (/s /f) Память снаружи еще какая-нибудь есть? И все-таки, Вы программно ложите байты в усб-камень? Тогда конечно не прокатит. В ниосе надо добавить компонент sg-dma.

Вообще я год как с ниосом работаю, но система готовая уже есть (даже 2). Так вот в этой системе внешняя память, 16 бит. Проц работает на 80 МГц. В системе 2 дма, один вытаскивает данные со скоростью 5МГц х 16 бит, другой 20 МГц х 16 бит, плюс сам ниос (программа и данные расположены в той же внешней памяти). Поток приличный получается. Если бы выделить отдельную память под программу, отдельную под данные дма, то еще больше получится. И это все реально работает, почему у Вас то не должно? Тоже будет. Повторюсь, ниос не должен каждый байт заталкивать в усб, это должен делать дма ниоса, ниос только должен указать откуда и сколько байт переслать.

А с коркой вряд ли кто поможет, ведь она должна быть адаптирована больше под Вашу систему. Если используете камень, усб в нем уже сделано, наруже от него только паралельный интерфейс, корка под паралельный интерфейс - это больше корка для того откуда данные будут браться.

А с памятью - можно поэксперементировать, оптимизировать. Я когда первый ниос делал, он работал с 2 кбайтами ончип памяти и все. Завтра еще повнимательнее гляну на доку для усб камня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все-таки, Вы программно ложите байты в усб-камень? Тогда конечно не прокатит. В ниосе надо добавить компонент sg-dma.

Спасибо Вам за ответы!

Действительно байты программно ложаться. Просто по-другому не умею, а больше примеров нет. А те, что к борде в комплекте были - все закриптованы, посмотреть можно, поверх что-то прикрутить - тоже, а выдернуть и прикрутить к своему уже нельзя.

 

Похоже, что в моей борде - это глухая затея. Буду пытаться другими методами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...