iiv 26 3 мая, 2011 Опубликовано 3 мая, 2011 · Жалоба Всем привет, имеется у меня на плисоборде 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; Спасибо ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 4 мая, 2011 Опубликовано 4 мая, 2011 · Жалоба Через ниос, как пишут на Альтера-форуме, большую скорость, больше 50МБит/с, развить не удается - типа ниос тормозит. Ссылку в студию! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 26 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Ссылку в студию! Одно из последних холиваров там, который тянется с 2009 года такой http://www.alteraforum.com/forum/showthread.php?t=18934 в основном конечно народ пишет про етернет, а не про усб, но про усб я тоже такое же там видел, да и пример, приложенный к борде, где у меня эта ISP1761 тоже совсем не мегабайты пиковой производительности показывает, вот по этому, вопрошаю. Если вдруг кто-то на ниосе с ISP1761 может хотя бы >350 МБитс показать, поделитесь, пожалуйста, сокровенными знаниями как это получается, хотя думаю, что как раз без ниоса надо. Спасибо ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Одно из последних холиваров там, который тянется с 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ГГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlphaMil 0 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Гляньте на opencores.org, возможно там кто-то делал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 26 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба При таких скоростях программно гонять поток по-моему не вариант. Спасибо, АлексПек, Вам за ответ, действительно я и про USB, и про что-то другое думаю. Данные у меня легко на плиске формируются, блоками примерно по 1.5-2кбайта. Скорость создания - примерно 1 такой блок в микросекунду. Задача - радиохимическое исследование распадов некоторых изотопов. Данные со спец сенсоров. Я пока эти блоки просто усредняю или выбрасываю все, кроме некоторых. Пока то, что сам смог получать, примерно один блок в две милисекунды по SPI интерфейсу. Когда данные придут, там компьютер хороший, с данными справится :) Основной затык - именно тащить данные с плисины на комп. На плиске есть этот пресловутый USB ISP1761 и около 24 (не помню точно) свободных 2.5В GPIO ног, каждая из которых может дрыгатся примерно с частотой около 60МГц из-за конструкционных особенностей борды. Так как я совсем не паяльник, а софтверник, я хочу туда что-то воткнуть или поюзать USB интерфейс, чтобы хоть как-то протащить, так как реально если я сильно постораюсь, я эти блоки примерно в 2-3 раза смогу сжать, но алгоритм сжатия у меня еще на плиске не запрограммирован (не успел еще, мне не до этого пока было). Вот такая незадачка. Альтернатива развести руководство еще на одну плисоборду с правильным коннектором и гигабитным етернетом, изпопрошайничать здесь на форуме корку на UDP 1GB/s для RGMII, но, если я таки руководство на эту борду разведу, а у меня все это не заработает, руководство меня за разбазаривание, не то слово, как отругает. ИИВ Гляньте на opencores.org, возможно там кто-то делал. спасибо Вам за ответ, но, к сожалению, я там не видел, поэтому сюда вопрос запостил. И на Альтера форуме не находится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Спасибо, АлексПек, Вам за ответ, действительно я и про 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 Гбайт (смотря какое время записи нужно). Но при таких скоростях с разводкой попотеть надо будет, без опыта точно с первого раза не будет работать. А потом уже стравливать тихонько на комп... Задача - радиохимическое исследование распадов некоторых изотопов. Чем только люди не занимаются... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 26 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Вы правы, в идеале мне нужен гигабайт в секунду :) И шкаф с 24 графическими картами, которые должны обработать этот поток эмоций, мое начальство купит тут же, так как уверено в моих способностях обработать эти данные. Реалии таковы, что я ни разу в жизни ничего не разводил, к своему стыду, и могу только программировать. Именно изходя из этого факта я готов понапрягаться, чуток повыбрасывать данные (в ущерб времени эксперимента), но, таки насобирать свои положенные десять терабайт данных. Просто если я его по SPI тащить буду, то ждать придется около месяца, и за это время все изотопы распадутся. А если я хоть в 30 раз подниму свой поток в 15МБит (SPI), то эксперимент займет всего-то один день и есть надежда, что я соберу то, что мне надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Вы правы, в идеале мне нужен гигабайт в секунду :) И шкаф с 24 графическими картами, которые должны обработать этот поток эмоций, мое начальство купит тут же, так как уверено в моих способностях обработать эти данные. Реалии таковы, что я ни разу в жизни ничего не разводил, к своему стыду, и могу только программировать. Именно изходя из этого факта я готов понапрягаться, чуток повыбрасывать данные (в ущерб времени эксперимента), но, таки насобирать свои положенные десять терабайт данных. Просто если я его по SPI тащить буду, то ждать придется около месяца, и за это время все изотопы распадутся. А если я хоть в 30 раз подниму свой поток в 15МБит (SPI), то эксперимент займет всего-то один день и есть надежда, что я соберу то, что мне надо. Ну если вопрос стоит "чем больше, тем лучше", а не "мне нужен гигабайт в секунду и не меньше", то запустите ниос на своей борде, дма на камень усб, и даже если все это запустить на 40 мгц - получите поток порядка 40*32*0,5 = 640 мбит, т.е. будете ограничены возможностями усб камня и компьютером который это принимает. Избыток скорости со стороны ниоса съест как раз обработчик прерываний по окончанию передачи блока данных, и выжмете максимум из своей борды, ну а если уж не хватит - тогда разводка новой платы, но подозреваю что Вам надо будет не один гигабит эзернет. Кстати, если плата недалеко от компа, то может есть смысл посмотреть в сторону SATA? Драйвер свой и скорость то поболе чем усб 2.0 будет. 10 терабайт своих быстро забьете :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 26 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Ну если вопрос стоит "чем больше, тем лучше", а не "мне нужен гигабайт в секунду и не меньше", то запустите ниос на своей борде, дма на камень усб, и даже если все это запустить на 40 мгц - получите поток порядка 40*32*0,5 = 640 мбит, т.е. будете ограничены возможностями усб камня и компьютером который это принимает. Избыток скорости со стороны ниоса съест как раз обработчик прерываний по окончанию передачи блока данных, и выжмете максимум из своей борды, ну а если уж не хватит - тогда разводка новой платы, но подозреваю что Вам надо будет не один гигабит эзернет. Кстати, если плата недалеко от компа, то может есть смысл посмотреть в сторону SATA? Драйвер свой и скорость то поболе чем усб 2.0 будет. 10 терабайт своих быстро забьете :) Уважаемый alexPec, конечно же мне хватит и 480МБитов, а не 640МБит, как Вы советуете :) и про эти 480МБит я собственно затеял этот топик. Вот только с ниосом у меня совсем плохо получается, стандартный пример, который прилагается к борде, отожрал половину блочной памяти (я так не могу, мне самому она нужна), и показывает далеко даже не мегабит, и, как мне кажется, тормозит именно из-за того, что ниос не успевает положить в дма усб камня свои 4 байта даже за несколько тактов. Поэтому-то я и ищу простую корку, по возможности без ниоса, которая бы мне это и делала бы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 14 мая, 2011 Опубликовано 14 мая, 2011 · Жалоба Уважаемый alexPec, конечно же мне хватит и 480МБитов, а не 640МБит, как Вы советуете :) и про эти 480МБит я собственно затеял этот топик. Вот только с ниосом у меня совсем плохо получается, стандартный пример, который прилагается к борде, отожрал половину блочной памяти (я так не могу, мне самому она нужна), и показывает далеко даже не мегабит, и, как мне кажется, тормозит именно из-за того, что ниос не успевает положить в дма усб камня свои 4 байта даже за несколько тактов. Поэтому-то я и ищу простую корку, по возможности без ниоса, которая бы мне это и делала бы! Что-то не то по-моему. Какой чип? На какой частоте ниос и на какой дма? Какой проц? (/s /f) Память снаружи еще какая-нибудь есть? И все-таки, Вы программно ложите байты в усб-камень? Тогда конечно не прокатит. В ниосе надо добавить компонент sg-dma. Вообще я год как с ниосом работаю, но система готовая уже есть (даже 2). Так вот в этой системе внешняя память, 16 бит. Проц работает на 80 МГц. В системе 2 дма, один вытаскивает данные со скоростью 5МГц х 16 бит, другой 20 МГц х 16 бит, плюс сам ниос (программа и данные расположены в той же внешней памяти). Поток приличный получается. Если бы выделить отдельную память под программу, отдельную под данные дма, то еще больше получится. И это все реально работает, почему у Вас то не должно? Тоже будет. Повторюсь, ниос не должен каждый байт заталкивать в усб, это должен делать дма ниоса, ниос только должен указать откуда и сколько байт переслать. А с коркой вряд ли кто поможет, ведь она должна быть адаптирована больше под Вашу систему. Если используете камень, усб в нем уже сделано, наруже от него только паралельный интерфейс, корка под паралельный интерфейс - это больше корка для того откуда данные будут браться. А с памятью - можно поэксперементировать, оптимизировать. Я когда первый ниос делал, он работал с 2 кбайтами ончип памяти и все. Завтра еще повнимательнее гляну на доку для усб камня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 26 17 мая, 2011 Опубликовано 17 мая, 2011 · Жалоба И все-таки, Вы программно ложите байты в усб-камень? Тогда конечно не прокатит. В ниосе надо добавить компонент sg-dma. Спасибо Вам за ответы! Действительно байты программно ложаться. Просто по-другому не умею, а больше примеров нет. А те, что к борде в комплекте были - все закриптованы, посмотреть можно, поверх что-то прикрутить - тоже, а выдернуть и прикрутить к своему уже нельзя. Похоже, что в моей борде - это глухая затея. Буду пытаться другими методами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться