|
ряд вопросов от ламера, Я новичок. Подскажите, пожалуйста! |
|
|
|
Apr 13 2007, 18:03
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Здравствуйте. Сначала написал этот пост в другой ветке форума, для новичков. Там посоветовали обратиться сюда.  Я только начинаю осваивать FPGA, причем FPGA фирмы Altera. Осваивать их начинаю приминительно к проекту, который нужно сделать. Суть проекта - на пины поступает картинка попиксельно в rgb, эту картинку нужно считать, записать в память, определенным образом обработать, закодировать в jpeg и записать либо на CF, либо на SD. Из всего этого я пока могу только ее обработать (там специальный алгоритм, поиск образов и всякое прочее, к сути дела отношения не имеет). Причем алгоритм обработки делать буду под ниосом. Мой начальный уровень в FPGA можно считать нулевым, но я стараюсь быстро учиться. smile.gif В распоряжении имеются Nios II Development Board Cyclon edition и Cyclon II starting board. Теперь, вопросы: 1) Можно рассчитывать на консультации по ниосу в рамках этого форума? 2) Если мне с пинов нужно прочитать в память, то как это лучше сделать? Память общая с ниосом, соединять пины с памятью вне ниоса кажется не совсем удобным. Как лучше - програмно читать пины по синхроимпульсу и скидывать в память в самом ниосе или сделать элемент для SOPC, решающий эту задачу? Если второе, то как это вообще делается? 3) Что-то мне подсказывает, что ни сжатие в jpeg, ни чтение/запись в CF/SD самому с нуля делать не надо - наверняка есть готовые библиотеки. Так? Эти библиотеки идут как элементы для SOPC/Nios или как схемные устройства, которые нужно будет подключать через custom instructions? 4) Где можно найти эти библиотеки и где/как вообще вести поиск готовых решений для подобных задач? 5) Можно ли где-то/как-то раскриптовать IP Megafunctions Altera, есть ли универсальный дешифратор? 6) Вообще-то, я програмирую на C. Была наивная надежда, что хватит этих знаний плюс рисование схем в Quartus. Сейчас чувствую, что без знания/владения HDL не обойтись. Прав ли я?  Заранее спасибо за любые ответы/советы/комментарии/пожелания. Буду очень признателен за помощь.
|
|
|
|
|
 |
Ответов
|
Apr 13 2007, 22:29
|
Участник

Группа: Новичок
Сообщений: 66
Регистрация: 3-03-07
Пользователь №: 25 835

|
Модуль не может...Во-первых имеет смысл писать сразу по много байт, во-вторых память может быть занята в момент прихода пикселя.Дма вызывается наполненным фифо, а ниос сообщеает куда писать.Если нужно, чтоб пока ниос или еще что-то будет обсчитывать прошлую картинку, новая загружалась, то нужно чтоб ниос сообщал новый адрес для записи новой картинки. Размер хз, это сразу не определишь, но в любом случае не много. Да, М4К. Будет, хоть все 50.
|
|
|
|
|
Apr 13 2007, 23:04
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Пушкин @ Apr 13 2007, 23:29)  Модуль не может...Во-первых имеет смысл писать сразу по много байт, во-вторых память может быть занята в момент прихода пикселя. Если нужно, чтоб пока ниос или еще что-то будет обсчитывать прошлую картинку, новая загружалась, то нужно чтоб ниос сообщал новый адрес для записи новой картинки. Да не, память занята быть не должна. Новый кадр поступать не будет пока плата не даст отмашку наружу. Один кадр поступает с высокой скоростью, а время между соседними кадрами варьируется произвольно самой системой и может достигать нескольких секунд. Но это все детали, с этим можно будет и потом разобраться. Цитата(Пушкин @ Apr 13 2007, 23:29)  Дма вызывается наполненным фифо, а ниос сообщеает куда писать. Размер хз, это сразу не определишь, но в любом случае не много. Будет, хоть все 50. А какие вообще данные о скорости дма, пересылающего между фифо и SDRAM? Кстати, а с какой частотой вообще SDRAM работает? ДМА должен вызываться полным фифо? Или, может, лучше будет вызывать при каком-то проценте заполнения, сажем, 2/3? И еще один вопрос: элементы для SOPC пишутся на xHDL? Или как они вообще разрабатываются? Можно где-нибудь посмотреть пример, чтоб порты были подключены к фифо, а фифо через SOPC к nios? Большое спасибо за помощь и советы!
|
|
|
|
|
Apr 13 2007, 23:18
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(RHnd @ Apr 14 2007, 00:04)  Да не, память занята быть не должна. Новый кадр поступать не будет пока плата не даст отмашку наружу. Один кадр поступает с высокой скоростью, а время между соседними кадрами варьируется произвольно самой системой и может достигать нескольких секунд. Но это все детали, с этим можно будет и потом разобраться. А какие вообще данные о скорости дма, пересылающего между фифо и SDRAM? Кстати, а с какой частотой вообще SDRAM работает? ДМА должен вызываться полным фифо? Или, может, лучше будет вызывать при каком-то проценте заполнения, сажем, 2/3? И еще один вопрос: элементы для SOPC пишутся на xHDL? Или как они вообще разрабатываются? Можно где-нибудь посмотреть пример, чтоб порты были подключены к фифо, а фифо через SOPC к nios? Большое спасибо за помощь и советы! вся инфа что вам нужна как ни страно здесь http://www.altera.com/literature/quartus2/lit-qts-sopc.jsp данные по скорости по работе DMA зависят от частоты на которой вся ваша система будет работать скажем 50 мгц. сдрам скажем у вас будет 32 бита значит можно будет "лить" не выше чем скорость 200 мб/с. елементы sopc пишутся на vhdl, verilog или ещё можно "скармливать" sopc builder-у edif. есть форум на англ там можно взять бесплатно кучу примеров для ниоса http://www.niosforum.comИмхо заморочки у вас только начались...а по большому счёту ничего не сделано  я бы взял как вам советовали либо blackfin или что гораздно лучше ADV202 (212) да и подкючил его к процу который вам хорошо известен и вы с ним работали...ну или к ниосу подключить adv -ку
--------------------
Cogito ergo sum
|
|
|
|
|
Apr 14 2007, 11:33
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Postoroniy_V @ Apr 14 2007, 00:18)  Имхо заморочки у вас только начались...а по большому счёту ничего не сделано  Угу. Что есть, то есть. А как подумаю сколько еще впереди - страшно становится. Цитата(Postoroniy_V @ Apr 14 2007, 00:18)  я бы взял как вам советовали либо blackfin или что гораздно лучше ADV202 (212) да и подкючил его к процу который вам хорошо известен и вы с ним работали...ну или к ниосу подключить adv -ку  Я бы тоже.  Но есть команда - делать на fpga. Как я понимаю, там в нее хотят еще что-то запихать.  Вообщем, в выборе чипа я ограничен до выбора между Cyclon I - Cyclon II.  На самом деле, ответы опытных людей на мои вопросы меня порядком растраивают. Мне как-то казалось, что это все более простая задача.  Даже возникают мысли о том, справлюсь ли я. Если не трудно, то не могли бы Вы прикинуть время, которое потребуется, чтоб изучить все сопутствующее, а потом решить задачу? Хотя бы примерно - месяц, полгода, год, пожизненно? Набросал тут себе порядок изучения: 1) Сначала хочу закончить разбираться с платой Cyclon II Starter, - там есть в комплекте туториалы по разным темам + что-то вроде "лабораторных" к этой плате, завязаных, к тому же, на верилог. Хоть ознакомлюсь с ним. 2) Изучить главу, посвященную SOPC. Где-то здесь же спецификация Авалоновской шины. 3) Ближе ознакомиться с верилогом, потыкаться с ним, научиться писать модули к SOPC. 4) Сделать тот самый модуль, что будет входные данные гнать порт->фифо->дма->память. Потом ругнуться и переделать в рабочий вид.  5) Далее уже ближе к самому ниосу. Подключить в виде custom instruction JPEG-кодер. Если такого не найду, то хотя бы подключить быстрое ДКП и гнать кадр из памяти в jpeg програмно. 6) Сделать запись на карточку. Как именно - пока не знаю. 7) Засунуть в ниос обработку кадра, все это скомпоновать, собрать, отладить и пойти отмечать. Примерно так мне это все видется. Вы уж не серчайте, что глупые вопросы задаю и занудствую, все ведь когда-то с нуля начинали.  Плохо, что на работе единственный человек, который занимался подобными вещами, уволился. Я там теперь в гордом одиночестве с поставленной задачей.
|
|
|
|
Сообщений в этой теме
RHnd ряд вопросов от ламера Apr 13 2007, 18:03 Andr2I Уверенно могу ответить только на последний вопрос ... Apr 13 2007, 18:54 Postoroniy_V Цитата(RHnd @ Apr 13 2007, 19:03) Теперь,... Apr 13 2007, 18:59 Andrey Filippov Цитата(Postoroniy_V @ Apr 13 2007, 09:59)... Apr 13 2007, 22:54 CodeWarrior1241 Хочу добавить к предидущему постингу. Работа с ПЛИ... Apr 13 2007, 19:32 RHnd Спасбо за ответы.
К сожалению (или не к сожалению... Apr 13 2007, 19:58 Пушкин Сделать нужно свой модуль для SOPC, а чтоб согласо... Apr 13 2007, 20:40 RHnd Цитата(Пушкин @ Apr 13 2007, 21:40) Сдела... Apr 13 2007, 21:54 Пушкин Теоретический предел ширина авалона(32 бит) на час... Apr 13 2007, 23:26 Пушкин Цитата(RHnd @ Apr 14 2007, 12:33) На само... Apr 14 2007, 11:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|