Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 03.07.17 14:10
Оценка: 42 (19) +2
Вчера вечером наконец-то собрал плату — в общей сложности ушло часов 5 на обе стороны. Причём, что интересно, бОльшая часть времени ушла на крупные компоненты, а вот мелочь 0402 я накидал очень быстро — и всё благодаря вот этому инструменту! Фишка в том, что он сам "отпускает" деталь после того, как она коснётся платы — а потому процесс установки идёт быстро — настолько быстро, что обратную сторону я целиком сделал меньше, чем за час (при том, что там около 50 деталей, и подавляющее большинство 0402)! Стоит эту штука, конечно, немало (вместе с набором насадок для мелких деталей мне обошлась в $493 + $78.95 shipping & handling + ещё почти сотка на НСП, brokerage и прочая трансграничная бюрократия), потому рекомендовать новичкам её не буду, но всем, кто решил заняться электроникой всерьёз, однозначно советую инвестировать в неё — она съэкономит огромное количество времени! Так же использовал стереомикроскоп — он обошёлся в $200 + $60 экспресс-доставка — хотя если деньги поджимают, стоит купить комплект с только двумя парами окуляров на 10х и 20х (мой комплект с четырьмя парами — 5х, 10х, 15х и 20х). Вот его точно стоит купить каждому — паять под ним сплошное удовольствие, да и для инспекции пайки 20х вполне достаточно.

Использовал обычную свинцовую пасту, сначала сделал обратную сторону, потом — лицевую. При пайке лицевой стороны с оборота ничего не отвалилось — даже крупные кондёры остались на месте.

При пайке выявился косяк — оказывается, разъём JTAG не является термостойким, а потому он в процессе некисло оплавился (см. фотку, там он уже обрезанный и "облагороженный" ), но я отрезал лишнее, и программатор всё равно нормально подключается. Урок на будущее — читать внимательнее раздел пайки в даташите

В этой ревизии я не стал распаивать компоненты блока питания, а вместо этого использовал точно такой же, но внешний (я использовал его для подбора компонентов, чтобы выдавал нужные напряжения). Сделал это для экономии компонентов, если вдруг что-то пойдёт не так — зная себя, вероятность того, что где-то будет косяк, была довольно велика Но не в этот раз Разъём для такого подключения я предусмотрел во второй ревизии платы, также исправил целую кучу косяков первой ревизии — кривой футпринт чипов памяти и флеша, выбрал неправильный пин ПЛИСа для входного тактового сигнала , неправильное подключение кнопок , добавил забытый сервисный разъём для блока питания, также забытые подтягивающие резисторы для шины I2C этого разъёма, добавил кнопку сброса чипа питания, ну и ещё по мелочи. Хорошо, что все эти косяки я нашёл ещё до того, как начал собирать плату — а потому напрасно потратил только деньги на изготовление плат В очередной раз убеждаюсь в справедливости совета сначала собирать и "отрабатывать" субмодули платы отдельно — так дешевле выйдет, несмотря на то, что придётся заказывать отдельные платы под субмодули.

Общая цена распаяных компонентов — около $100. Прикидка очень грубая, т.к. бОльшую часть деталей я использовал из имеющихся запасов, приобретённых ранее для других проектов, а разъёмы слева мне достались нахаляву (производитель прислал бесплатные сэмплы). Ну и сами платы вместе с трафаретом для обоих сторон и доставкой обошлись в $108: заказал 10 штук, прислали 11, размер платы 92х80 мм, 4 слоя, техпроцесс 0.15/0.15 мм дорожки и 0.3 мм отверстия, толщина платы 1.2 мм, толщина всех слоёв меди по 0.035 мм (1 Oz), покрытие ENIG (напылённое золото поверх напылённого никеля, паста прилипает к нему намного лучше, чем к HASL — после нанесения пасты через трафарет только в нескольких местах пришлось немного подправить пасту зубочисткой, плюс оно идеально ровное, что важно для BGA).

Пока проверил работу RGB-светодиодов, самой ПЛИСки (опять же для снижения риска распаял самую дешёвую из семейства Artix-7 в корпусе FBGA-256 — XC7A15T-1FTG256C с ~16К логических элементов) и SPI Flash (на фотке нижняя BGAшка справа от ПЛИС, U301). ИДЕшка (недавно обновлённая Xilinx Vivado 2017.2) сходу определила чип, запрограммовала его напрямую, а также запрограммовала чип флеша. Ещё проверил корректрую закрузку ПЛИС напрямую с флешки (использовал предварительно прошитый туда битстрим). Для проверки всего остального надо писать код.

  Фотки


Блок питания (в напечатанном на 3D-принтере корпусе):

P.S. Сорри за капс — эмоции через край! Когда плата в первый раз замигала, я так заорал, что соседка прибежала узнать, что тут происходит Хорошо, что она русский мат не понимает Вот ради этих эмоций я всё это и делаю!

P.P.S. Следующая цель (после проверки всех чипов) — разводка и распайка DDR3 Но это уже будет дороже, т.к. шаг шариков у всех чипов памяти DDR3 — 0.8 мм, а потому надо будет использовать существенно более дорогой техпроцесс 0.125/0.125 мм дорожки и 0.25 мм отверстия.
[КУ] оккупировала армия.
Отредактировано 03.07.2017 14:16 koandrew . Предыдущая версия .
Re: Я СДЕЛАЛ ЭТО!!!!!!
От: Sharov Россия  
Дата: 03.07.17 14:44
Оценка: 3 (1) +2
Здравствуйте, koandrew, Вы писали:

В чем смысл процесса? Что собираемая железяка делать должна? Помимо того, что "для души" и любопытства ради.
Кодом людям нужно помогать!
Re[2]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 03.07.17 15:38
Оценка: 7 (3)
Здравствуйте, Sharov, Вы писали:

S>В чем смысл процесса? Что собираемая железяка делать должна? Помимо того, что "для души" и любопытства ради.


Цели данного проекта такие:
1. Отработать схему подключения ПЛИС (загрузка с флешки, программирование, правильность подключения и верность выбора деталей "обвязки") на относительно дешёвых компонентах, дабы уменьшить финансовый риск в более сложных проектах.
2. Потренироваться разводить относительно сложные многослойные платы так, чтобы их можно было реально произвести — то есть выдержать все допуски, минимальные размеры и прочие производственные ограничения. А также научиться разводить высокоскоростные последовательные (дифференциальные пары) и параллельные (с матчингом длины дорожек) шины с заданным импедансом. То, что называют DFM (Design For Manufacturing). Это моя первая успешная многослойная плата.
3. Попрактиковаться в сборке сложных плат с большим количеством компонентов, а также отработать пайку BGA.
4. Получившаяся плата будет использоваться как девборда для проверки софта на реальном железе. Для этого на плате предусмотрены два высокоскоростных порта расширения для подключения дополнительных модулей. Это позволяет при отработке нового проекта сначала сделать только небольшой дополнительный модуль, и только после проверки и отладки уже разводить весь проект на финальной отдельной плате.
5. На плате установлен чип моста из 8-битной параллельной шины в USB (FTDI FD221XQ) — но нём планирую отработать относительно высокоскоростной ("относительно" потому что только USB 2.0) обмен данными с компьютером, также разберусь с разработкой интерфейсной части со стороны компа.
6. Ну и само собой потренироваться в разработке прошивок для ПЛИС, а также софта под ядра бесплатного софт-процессора Microblaze — он настолько компактный, что даже в этот самый младший чип влезет по крайней мере 4 ядра, а то и больше.

В дальнейшем хочу сделать систему computer vision для pick-and-place машины, систему наложения данных телеметрии на видео в реальном времени для квадрокоптера, а также в более отдалённой перспектике — систему стереоскопического computer vision опять же для квадрокоптера, которая позволила бы ему самостоятельно летать избегая препятствий, а также держать "в фокусе" некоторый подвижный объект (если кто помнит "Терминатор 3" — там было что-то подобное — летающая штука сама поворачивалась за подвижной целью ). В планах есть ещё несколько проектов, но они не будут использовать ПЛИС. Короче, планов полно — где бы только взять столько времени и денег, чтобы всё это сделать
[КУ] оккупировала армия.
Re[3]: Я СДЕЛАЛ ЭТО!!!!!!
От: Arsen.Shnurkov  
Дата: 03.07.17 16:18
Оценка: -1 :)
K> где бы только взять столько времени и денег

Выйти на ICO, после чего купить время у подрядчиков на эти деньги
Re: Я СДЕЛАЛ ЭТО!!!!!!
От: Alf США  
Дата: 04.07.17 03:32
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Вчера вечером наконец-то собрал плату — в общей сложности ушло часов 5 на обе стороны.


Молодез, возьми вакуум пикером пирожок с полки =))) записал сам пикер в список на покупку.

Но что касается микроблейзов и прочей требухи... После того как мне показали как правильно готовить SoC (на примере Cyclone V). За уши ж не оттащишь.
Бут линуха, загрузка FPGA и старт совместной работы... меньше 2 секунд.

Zynq 7020 (parallella) у меня тоже есть, но софт зайлинкса мне нравится еще меньше альтеро-интеловского...

Еще один урок полученный от мудрых людей — делать прототипы проектов надо... на evaluation board! Когда заработало — тогда можно думать о слоях, шарах BGA и прочем. Иначе можно встрять на совершенно ровном месте — типа косяков с EMI на шине памяти и придется с ней работать на частотах в разы меньше необходимых.

Но сам драйв от разработки схемотехники, PCB и потом пайки-налаживания — он, конечно, никуда не девается. Только с точки зрения достижения результата — нерационально.

Пока пришлось SoC тему чуть притормозить, оказалось что под виндой нет нормальных тулов для формирования загрузочных SD карт для embedded linux. Только тупые записывальщики имиджей фиксированного размера с потерей остаточной емкости карты (или танцы с бубном по ресайзу). В качестве payback за науку сижу лабаю тулзу. Здравствуй MBR и прямая запись на физическое устройство в винде, немного WMI и прочий адок, которого не существует в linux =)
Re[3]: Я СДЕЛАЛ ЭТО!!!!!!
От: DTB Россия  
Дата: 04.07.17 07:11
Оценка:
Здравствуйте, koandrew, Вы писали:

Привет, клёвая плата получилась, поздравляю!

...

K>В дальнейшем хочу сделать систему computer vision для pick-and-place машины, систему наложения данных телеметрии на видео в реальном времени для квадрокоптера, а также в более отдалённой перспектике — систему стереоскопического computer vision опять же для квадрокоптера, которая позволила бы ему самостоятельно летать избегая препятствий, а также держать "в фокусе" некоторый подвижный объект (если кто помнит "Терминатор 3" — там было что-то подобное — летающая штука сама поворачивалась за подвижной целью ). В планах есть ещё несколько проектов, но они не будут использовать ПЛИС. Короче, планов полно — где бы только взять столько времени и денег, чтобы всё это сделать


А можно в более ближней перспективе про систему стереоскопического CV? =)

Есть такая же идея замутить недорогой девайс на паре камер. что то типа этого, но сразу в цифре (девайс не только для квадра, например гнать поток по USB в дальнейшем), тоже на ПЛИСе, т.к. хочется паралельной обработки получаемых кадров сразу с двух камер.

Насколько это гемморойно, и что бы посоветовал?
На ПЛИСе опыта нет, жутко пугают всякие верилоги в плане потери времени на изучение.

Посмотрел немного на Microblaze, правильно понимаю, это что то типа виртуалки и под нее можно писать на С?

Спасибо.
Have fun...
Re: Я СДЕЛАЛ ЭТО!!!!!!
От: Shmj Ниоткуда  
Дата: 04.07.17 08:54
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Когда плата в первый раз замигала, я так заорал, что соседка прибежала узнать, что тут происходит Хорошо, что она русский мат не понимает Вот ради этих эмоций я всё это и делаю!


Самое сложное теперь придумать какую реальную пользу можно получить с помощью этих навыков.

Железки уже есть на любой вкус и цвет, что-то новое придумать архисложно. Людей, которые могут развести плату -- хватает. Навык не сложный, гением быть не нужно, главное внимательность.

Если знаете как заработать на железках -- то навык изготовления плат не нужен, можно арендовать труд других людей, которые этим годами занимаются.
Re[2]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.07.17 11:57
Оценка:
Здравствуйте, Alf, Вы писали:

Alf>Молодез, возьми вакуум пикером пирожок с полки =))) записал сам пикер в список на покупку.

Если у тебя ещё нет стереомикроскопа, посмотри вот на эти две модели: SE400 или SE410. Они отличаются фокусным расстоянием главных объективов, то есть с практической точки зрения — насколько высоко объектив будет расположен над платой. Какая из них будет тебе удобнее, зависит от твоего роста и того, как ты работаешь. SE400 имеет расстояние около 22 см, SE410 — около 15 см. Мне удобнее оказался второй (сначала я купил SE400, но потом вернул его и поменял на 410). Обе стоят вполне разумных денег.

Alf>Но что касается микроблейзов и прочей требухи... После того как мне показали как правильно готовить SoC (на примере Cyclone V). За уши ж не оттащишь.

Ну про это я в курсе. Просто для многих задач Zynq — это аццкий оверкилл, да ещё и дорогущий.
Alf>Бут линуха, загрузка FPGA и старт совместной работы... меньше 2 секунд.
Вот скажи мне — нафига там нужен линукс? Ну помимо because I can

Alf>Zynq 7020 (parallella) у меня тоже есть, но софт зайлинкса мне нравится еще меньше альтеро-интеловского...

Мы вернёмся к этому разговору после того, как АльтерИнтел начнут бесплатно предоставлять хотя бы половину IP, которые бесплатно предоставляет Зайлинкс. Сейчас они даже за DDR3 контроллер денег хотят! А пока для любителей типа меня — только Зайлинкс.

Alf>Еще один урок полученный от мудрых людей — делать прототипы проектов надо... на evaluation board! Когда заработало — тогда можно думать о слоях, шарах BGA и прочем. Иначе можно встрять на совершенно ровном месте — типа косяков с EMI на шине памяти и придется с ней работать на частотах в разы меньше необходимых.

Для того, чтобы их не словить, нужно внимательно читать appnotes от производителей, а не сначала делать, а потом думать.

Alf>Но сам драйв от разработки схемотехники, PCB и потом пайки-налаживания — он, конечно, никуда не девается. Только с точки зрения достижения результата — нерационально.

В хобби процесс часто важнее результата.

Alf>Пока пришлось SoC тему чуть притормозить, оказалось что под виндой нет нормальных тулов для формирования загрузочных SD карт для embedded linux. Только тупые записывальщики имиджей фиксированного размера с потерей остаточной емкости карты (или танцы с бубном по ресайзу). В качестве payback за науку сижу лабаю тулзу. Здравствуй MBR и прямая запись на физическое устройство в винде, немного WMI и прочий адок, которого не существует в linux =)

Моё мнение — за очень редкими исключениями линукс на ПЛИС нафиг не нужен (за пределами "чисто поиграться"), т.к. только напрасно жрёт ресурсы системы и увеличивает латентность. RTOS вполне достаточно для большинства типовых задач, а для того, чтобы выжать максимум производительности и энергоэффективности, нужно писать под голое железо.
[КУ] оккупировала армия.
Re[4]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.07.17 12:44
Оценка: 3 (2) +1
Здравствуйте, DTB, Вы писали:

DTB>А можно в более ближней перспективе про систему стереоскопического CV? =)


DTB>Есть такая же идея замутить недорогой девайс на паре камер. что то типа этого, но сразу в цифре (девайс не только для квадра, например гнать поток по USB в дальнейшем), тоже на ПЛИСе, т.к. хочется паралельной обработки получаемых кадров сразу с двух камер.

Это не имеет к CV никакого отношения. CV — это не просто "видение", а ещё и "осознание" того, что видит — то есть когда компьютер может распознать, на что именно он смотрит.

DTB>Насколько это гемморойно, и что бы посоветовал?

В твоём случае это концептуально довольно простая задача. Основная сложность в том, как "пропихнуть" большой поток (3D Full HD — это 1920x1080(разрешение)x 4(глубина цвета)x 2(стерео)x 60(частота кадров) = 995328000 Байт/с ~ 1 Гбайт/с в несжатом виде) в узкий канал (даже USB 3.0 имеет теоретический максимум в 5Гбит/с, более реально рассчитывать на 3-4 Гбит/с).
Потому нужен какой-нить кодировщик. Коммерческие IP с такой функциональностью стоят немалых денег, но зато они в большинстве своём "plug-and-play", то есть их интеграция обычно не представляет особой сложности. А вот с open source'ными ситуация неособо. В принципе, можно запилить какой-нить H.264 кодировщик самостоятельно (насколько я помню, там алгоритм не особенно сложный), но в любом случае это займёт массу времени.

DTB>На ПЛИСе опыта нет, жутко пугают всякие верилоги в плане потери времени на изучение.

Насчёт верилога я бы не особенно переживал — не такой уж он и сложный, главное — уяснить для себя основные концепции языка (параллельность операций, процессы и комбинаторные блоки).
В принципе в ряде случаев можно обойтись совсем без него — используя Vivado HLS (HLS = High Level Synthesis), можно написать свой алгоритм на обычном С/С++ с некоторыми ограничениями (самое существенное — нельзя в динамическое выделение памяти), и этот инструмент сам сгенерирует модуль IP, который потом можно будет встроить в систему. Вечером могу набросать линков на хорошие видеоуроки по этому делу, но они на английском.

DTB>Посмотрел немного на Microblaze, правильно понимаю, это что то типа виртуалки и под нее можно писать на С?

Нет, это такой же "железный" процессор — просто он "создаётся" поверх конфигурируемых базовых элементов. Вообще рекомендую сразу себе уяснить, что разрабатывая под ПЛИС, ты разрабатываешь железо, а не софт. Отсюда и "сила" ПЛИСов — в массивной параллельности, гибкости и универсальности — можно создать любое нужное железо для наиболее быстрого/эффективного выполнения какой-то задачи, и даже менять это самое железо прямо по ходу работы устройства. Вообще термин "программирование" в отношение ПЛИС неверен — более точен используемый производителями термин "конфигурирование".
[КУ] оккупировала армия.
Re[2]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.07.17 12:46
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Самое сложное теперь придумать какую реальную пользу можно получить с помощью этих навыков.

Ой, а ты здесь как оказался? Посмотри в словаре значение слова "хобби". Оно не про пользу — оно про удовольствие от процесса.
[КУ] оккупировала армия.
Re[5]: Я СДЕЛАЛ ЭТО!!!!!!
От: DTB Россия  
Дата: 04.07.17 13:22
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, DTB, Вы писали:


DTB>>А можно в более ближней перспективе про систему стереоскопического CV? =)


DTB>>Есть такая же идея замутить недорогой девайс на паре камер. что то типа этого, но сразу в цифре (девайс не только для квадра, например гнать поток по USB в дальнейшем), тоже на ПЛИСе, т.к. хочется паралельной обработки получаемых кадров сразу с двух камер.

K>Это не имеет к CV никакого отношения. CV — это не просто "видение", а ещё и "осознание" того, что видит — то есть когда компьютер может распознать, на что именно он смотрит.

само собой CV будет заниматься более высокоуровневая железка, тут задача одномоментно получить изображение с двух камер с минимальной рассинхронизацией и обеспечить передачу кадров "выше"

DTB>>Насколько это гемморойно, и что бы посоветовал?

K>В твоём случае это концептуально довольно простая задача. Основная сложность в том, как "пропихнуть" большой поток (3D Full HD — это 1920x1080(разрешение)x 4(глубина цвета)x 2(стерео)x 60(частота кадров) = 995328000 Байт/с ~ 1 Гбайт/с в несжатом виде) в узкий канал (даже USB 3.0 имеет теоретический максимум в 5Гбит/с, более реально рассчитывать на 3-4 Гбит/с).
K>Потому нужен какой-нить кодировщик. Коммерческие IP с такой функциональностью стоят немалых денег, но зато они в большинстве своём "plug-and-play", то есть их интеграция обычно не представляет особой сложности. А вот с open source'ными ситуация неособо. В принципе, можно запилить какой-нить H.264 кодировщик самостоятельно (насколько я помню, там алгоритм не особенно сложный), но в любом случае это займёт массу времени.

про пропускную способность в курсе, тут без вариантов уменьшать изображение, а так же, некоторые сенсоры умеют в JPG, скорость тогда падает, но в принципе на ПЛИС тот же MJPG попроще сделать, чем H.26х

DTB>>На ПЛИСе опыта нет, жутко пугают всякие верилоги в плане потери времени на изучение.

K>Насчёт верилога я бы не особенно переживал — не такой уж он и сложный, главное — уяснить для себя основные концепции языка (параллельность операций, процессы и комбинаторные блоки).
K>В принципе в ряде случаев можно обойтись совсем без него — используя Vivado HLS (HLS = High Level Synthesis), можно написать свой алгоритм на обычном С/С++ с некоторыми ограничениями (самое существенное — нельзя в динамическое выделение памяти), и этот инструмент сам сгенерирует модуль IP, который потом можно будет встроить в систему. Вечером могу набросать линков на хорошие видеоуроки по этому делу, но они на английском.

присылай, VHLS на первый взгляд смотрится не так грустно.

DTB>>Посмотрел немного на Microblaze, правильно понимаю, это что то типа виртуалки и под нее можно писать на С?

K>Нет, это такой же "железный" процессор — просто он "создаётся" поверх конфигурируемых базовых элементов. Вообще рекомендую сразу себе уяснить, что разрабатывая под ПЛИС, ты разрабатываешь железо, а не софт. Отсюда и "сила" ПЛИСов — в массивной параллельности, гибкости и универсальности — можно создать любое нужное железо для наиболее быстрого/эффективного выполнения какой-то задачи, и даже менять это самое железо прямо по ходу работы устройства. Вообще термин "программирование" в отношение ПЛИС неверен — более точен используемый производителями термин "конфигурирование".

я понимаю, что тут несколько другая парадигма, придется вникать.

если брать xilinx, то какой, не шибко дорогой devboard'ы, было бы достаточно для этой задачи? 2 dcmi, возможный mjpg, память (dram, fifo?), usb
Have fun...
Re[6]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.07.17 13:55
Оценка: 2 (1)
Здравствуйте, DTB, Вы писали:

DTB>само собой CV будет заниматься более высокоуровневая железка, тут задача одномоментно получить изображение с двух камер с минимальной рассинхронизацией и обеспечить передачу кадров "выше"

Как раз наоборот — есть очень веская причина, чтобы этим занималась как раз ПЛИСка, сидящая рядом с камерами. Дело в том, что объём информации о распознанных объектах НАМНОГО меньше, чем "сырой" видеопоток.

DTB>про пропускную способность в курсе, тут без вариантов уменьшать изображение, а так же, некоторые сенсоры умеют в JPG, скорость тогда падает, но в принципе на ПЛИС тот же MJPG попроще сделать, чем H.26х

Обрабатывать сжатое с потерями видео — это не очень хорошая идея. Артефакты сжатия часто вылезают в виде ложных срабатываний многих алгоритмов CV.

DTB>присылай, VHLS на первый взгляд смотрится не так грустно.

Вечером скину, на работе у нас труба забанена.

DTB>я понимаю, что тут несколько другая парадигма, придется вникать.

Главное — запомни, что всё в мире ПЛИС выполняется параллельно и одновременно. И не забывай учитывать это при разработке кода. Это спасёт от очень многих багов и проблем.

DTB>если брать xilinx, то какой, не шибко дорогой devboard'ы, было бы достаточно для этой задачи? 2 dcmi, возможный mjpg, память (dram, fifo?), usb

Боюсь, что требования "не шибко дорогой" и "обработка двух FullHD-потоков в реальном времени с минимальной латентностью" не очень совместимы. Я бы тебе посоветовал для начала купить какую-нить дешёвую плату просто затем, чтобы "поиграться" с ней, попрактиковаться прошивать, отлаживать свои проекты на железе, в процессе освоить Vivado IDE. Что-нить типа Arty или Arty-Z7, если хочется поиграться с SoC (плюс на этой плате есть HDMI IN, так что можно немного поиграться с обработкой видео). И уж потом браться за свою задачу.
При разработке под ПЛИС обычно сначала разрабатывают систему, пишут код и проводят симуляции, и уже по итогам симуляции выбирают чип. В процессе синтеза ИДЕ выдаёт отчёт о том, сколько именно каких ресурсов было задействовано, по этому отчёту чип и выбирают (оставляя запас процентов в 15-20 на всякий случай).
Откровенно говоря, я не знаю такой девборды, чтобы на ней искаропки было бы два цифровых входа для камер. Так что скорее всего придётся городить свою плату расширения.
[КУ] оккупировала армия.
Re[6]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 05.07.17 02:04
Оценка: 4 (2)
Здравствуйте, DTB, Вы писали:

DTB>присылай, VHLS на первый взгляд смотрится не так грустно.


Как и обещал, вот ссылки.
1) Плейлист туториалов по основам FPGA и Verilog для совсем новичков (разжёвывает всё до предела — остаётся только проглотить): https://www.youtube.com/playlist?list=PLo7bVbJhQ6qxesicBHQwSl4nYOMJO2CHw
2) Целый канал, посвящённый новичкам — в каждом ролике рассматривается отдельная составляющая часть ПЛИСа (LUT, Flip-flop, BRAM и т.п.), тут же на примере демонстрирует её функцию: https://www.youtube.com/channel/UCsdA-aNqtMA1_2T15aXePWw/videos Он там в основном говорит о своей борде, но все описываемые им элементы есть в любом современном FPGA.
3) Обещанный выше курс по HLS: https://www.youtube.com/playlist?list=PLo7bVbJhQ6qzK6ELKCm8H_WEzzcr5YXHC В последних нескольких видео цикла рассматривается реальный пример построения системы обработки изображений. Вообще лично я очень многое узнал из курса.
Ещё советую посмотреть прочие его видео — там очень много интересного по теме. Он в основном пользуется ZedBoard, на борту которой стоит Zynq SoC (это комбинированный чип, где на одном кристалле располагаются два обычных ядра ARM Cortex-A9 с частотой от 750 МГц до 1ГГц, а также фабрика FPGA, такая архитектура позволяет сделать "бесшовное" соединение процов с кастомными блоками, что даёт очень широкие возможности, обычно применяется для создания "акселераторов", когда "тяжёлую" часть алгоритма реализуют на FPGA, а остальное выполняют на обычном процессорном ядре), так что если вдруг захочешь повторить его опыты, купи Arty-Z7-20 — там стоит такой же чип, но сама борда стоит существенно дешевле ZedBoard.
4) Куча видео о Zynq, его устройстве и использовании в формате лекций: https://www.youtube.com/user/EMSUNIKL/videos и https://www.youtube.com/user/mamsadegh2/videos (там выступает один и тот же человек, просто часть роликов опубликовано от имени универа, в котором он работает, а часть лично от него)
5) Ну и как водится, RTFM (сорри, но если хочешь освоиться в мире ПЛИС, то придётся полюбить много читать, т.к. документация по ним имеет тенденцию состоять и десятков огромных документов на сотни страниц каждый) User Guide из комплекта документации к Vivado HLS: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug902-vivado-high-level-synthesis.pdf Там описано ВСЁ, но предупреждаю, что очень многа букав. Ещё один коротенький документ посвящён конкретно OpenCV: https://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf Но он немного устарел, так что рекомендую обращаться к основному гайду.

Для начала думаю тебе хватит. Ну и само собой, если будут какие-то практические вопросы, то задавай тут — чем можем — поможем. Удачи на этом нелёгком пути!
[КУ] оккупировала армия.
Отредактировано 05.07.2017 2:08 koandrew . Предыдущая версия .
Re[7]: Я СДЕЛАЛ ЭТО!!!!!!
От: DTB Россия  
Дата: 05.07.17 07:00
Оценка:
Здравствуйте, koandrew, Вы писали:

///

K>Для начала думаю тебе хватит. Ну и само собой, если будут какие-то практические вопросы, то задавай тут — чем можем — поможем. Удачи на этом нелёгком пути!


Спасибо! все равно рано или поздно придется попробовать эту "дрянь"
Have fun...
Re[3]: Я СДЕЛАЛ ЭТО!!!!!!
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 05.07.17 11:01
Оценка:
Здравствуйте, koandrew, Вы писали:

K>В дальнейшем хочу сделать систему computer vision для pick-and-place машины, систему наложения данных телеметрии на видео в реальном времени для квадрокоптера, а также в более отдалённой перспектике — систему стереоскопического computer vision опять же для квадрокоптера, которая позволила бы ему самостоятельно летать избегая препятствий, а также держать "в фокусе" некоторый подвижный объект (если кто помнит "Терминатор 3" — там было что-то подобное — летающая штука сама поворачивалась за подвижной целью ). В планах есть ещё несколько проектов, но они не будут использовать ПЛИС. Короче, планов полно — где бы только взять столько времени и денег, чтобы всё это сделать

Кикстартер или делай свой стартап
Sic luceat lux!
Re[4]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 05.07.17 12:35
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Кикстартер или делай свой стартап


Ага — дайте мне 100000$ — я хочу сделать себе мегасистему
[КУ] оккупировала армия.
Re[5]: Я СДЕЛАЛ ЭТО!!!!!!
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 05.07.17 12:56
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Ага — дайте мне 100000$ — я хочу сделать себе мегасистему

Ты можешь попробовать получить деньги на разработку мегасистемы в обмен на публикацию схематики, кода и все элементной базы которую использовал, а также демонстрацию рабочего устройства и гайд для сборки всей системы чтобы каждый потом смог собрать такую же сам. Что-то вроде проекта ReRap.
Sic luceat lux!
Отредактировано 05.07.2017 12:58 Kernan . Предыдущая версия .
Re[5]: Я СДЕЛАЛ ЭТО!!!!!!
От: Alf США  
Дата: 05.07.17 13:27
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>Ага — дайте мне 100000$ — я хочу сделать себе мегасистему


не хватит тебе 100к =) Я до сих пор офигеваю с (не)выпуска snickerdoodle. Уже полтора года кота за хвост тянут, никак не могут спаять платы =)
Делать хобби работой — сомнительное удовольствие
Re[6]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 05.07.17 13:29
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Ты можешь попробовать получить деньги на разработку мегасистемы в обмен на публикацию схематики, кода и все элементной базы которую использовал, а также демонстрацию рабочего устройства и гайд для сборки всей системы чтобы каждый потом смог собрать такую же сам. Что-то вроде проекта ReRap.

Я это и так сделаю
[КУ] оккупировала армия.
Re[6]: Я СДЕЛАЛ ЭТО!!!!!!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 05.07.17 13:30
Оценка:
Здравствуйте, Alf, Вы писали:

Alf>не хватит тебе 100к =) Я до сих пор офигеваю с (не)выпуска snickerdoodle. Уже полтора года кота за хвост тянут, никак не могут спаять платы =)

Ну почему же — если заниматься этим в режиме хобби — то можно легко уложиться в эту сумму.

Alf>Делать хобби работой — сомнительное удовольствие

Я уже делал так в прошлом — программирование сначала было моим хобби, а потом стало карьерой.
[КУ] оккупировала армия.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.