реклама на сайте
подробности

 
 
> ряд вопросов от ламера, Я новичок. Подскажите, пожалуйста!
RHnd
сообщение Apr 13 2007, 18:03
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Здравствуйте.
Сначала написал этот пост в другой ветке форума, для новичков. Там посоветовали обратиться сюда. smile.gif

Я только начинаю осваивать 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 не обойтись. Прав ли я? smile.gif

Заранее спасибо за любые ответы/советы/комментарии/пожелания. Буду очень признателен за помощь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Пушкин
сообщение Apr 13 2007, 22:29
Сообщение #2


Участник
*

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



Модуль не может...Во-первых имеет смысл писать сразу по много байт, во-вторых память может быть занята в момент прихода пикселя.Дма вызывается наполненным фифо, а ниос сообщеает куда писать.Если нужно, чтоб пока ниос или еще что-то будет обсчитывать прошлую картинку, новая загружалась, то нужно чтоб ниос сообщал новый адрес для записи новой картинки.
Размер хз, это сразу не определишь, но в любом случае не много.
Да, М4К.
Будет, хоть все 50.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Apr 13 2007, 23:04
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 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?
Большое спасибо за помощь и советы!
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Apr 13 2007, 23:18
Сообщение #4


МедвеД Инженер I
****

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



Цитата(RHnd @ Apr 14 2007, 00:04) *
Да не, память занята быть не должна. Новый кадр поступать не будет пока плата не даст отмашку наружу. Один кадр поступает с высокой скоростью, а время между соседними кадрами варьируется произвольно самой системой и может достигать нескольких секунд. Но это все детали, с этим можно будет и потом разобраться.
А какие вообще данные о скорости дма, пересылающего между фифо и SDRAM? Кстати, а с какой частотой вообще SDRAM работает? ДМА должен вызываться полным фифо? Или, может, лучше будет вызывать при каком-то проценте заполнения, сажем, 2/3?
И еще один вопрос: элементы для SOPC пишутся на xHDL? Или как они вообще разрабатываются? Можно где-нибудь посмотреть пример, чтоб порты были подключены к фифо, а фифо через SOPC к nios?
Большое спасибо за помощь и советы!

вся инфа что вам нужна как ни страно здесь glare.gif
http://www.altera.com/literature/quartus2/lit-qts-sopc.jsp

данные по скорости по работе DMA зависят от частоты на которой вся ваша система будет работать
скажем 50 мгц. сдрам скажем у вас будет 32 бита значит можно будет "лить" не выше чем скорость 200 мб/с.
елементы sopc пишутся на vhdl, verilog или ещё можно "скармливать" sopc builder-у edif.
есть форум на англ там можно взять бесплатно кучу примеров для ниоса
http://www.niosforum.com

Имхо заморочки у вас только начались...а по большому счёту ничего не сделано smile.gif
я бы взял как вам советовали либо blackfin или что гораздно лучше ADV202 (212)
да и подкючил его к процу который вам хорошо известен и вы с ним работали...ну или к ниосу подключить adv -ку smile.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
RHnd
сообщение Apr 14 2007, 11:33
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(Postoroniy_V @ Apr 14 2007, 00:18) *
Имхо заморочки у вас только начались...а по большому счёту ничего не сделано smile.gif

Угу. Что есть, то есть. А как подумаю сколько еще впереди - страшно становится.

Цитата(Postoroniy_V @ Apr 14 2007, 00:18) *
я бы взял как вам советовали либо blackfin или что гораздно лучше ADV202 (212)
да и подкючил его к процу который вам хорошо известен и вы с ним работали...ну или к ниосу подключить adv -ку smile.gif

Я бы тоже. smile.gif Но есть команда - делать на fpga. Как я понимаю, там в нее хотят еще что-то запихать. sad.gif Вообщем, в выборе чипа я ограничен до выбора между Cyclon I - Cyclon II. smile.gif




На самом деле, ответы опытных людей на мои вопросы меня порядком растраивают. Мне как-то казалось, что это все более простая задача. sad.gif Даже возникают мысли о том, справлюсь ли я. Если не трудно, то не могли бы Вы прикинуть время, которое потребуется, чтоб изучить все сопутствующее, а потом решить задачу? Хотя бы примерно - месяц, полгода, год, пожизненно?

Набросал тут себе порядок изучения:
1) Сначала хочу закончить разбираться с платой Cyclon II Starter, - там есть в комплекте туториалы по разным темам + что-то вроде "лабораторных" к этой плате, завязаных, к тому же, на верилог. Хоть ознакомлюсь с ним.
2) Изучить главу, посвященную SOPC. Где-то здесь же спецификация Авалоновской шины.
3) Ближе ознакомиться с верилогом, потыкаться с ним, научиться писать модули к SOPC.
4) Сделать тот самый модуль, что будет входные данные гнать порт->фифо->дма->память. Потом ругнуться и переделать в рабочий вид. smile.gif
5) Далее уже ближе к самому ниосу. Подключить в виде custom instruction JPEG-кодер. Если такого не найду, то хотя бы подключить быстрое ДКП и гнать кадр из памяти в jpeg програмно.
6) Сделать запись на карточку. Как именно - пока не знаю.
7) Засунуть в ниос обработку кадра, все это скомпоновать, собрать, отладить и пойти отмечать.

Примерно так мне это все видется. Вы уж не серчайте, что глупые вопросы задаю и занудствую, все ведь когда-то с нуля начинали. smile.gif
Плохо, что на работе единственный человек, который занимался подобными вещами, уволился. Я там теперь в гордом одиночестве с поставленной задачей. help.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016