электроника

Подписчиков: 39     Сообщений: 220     Рейтинг постов: 1,559.7

Карательная электроника не делайте так электроника разработка железа DIY geek porn geek сделал сам FPGA 

Карательная электроника: Как нельзя разрабатывать интерфейс скоростной видеокамеры.

Кратко в статье будет:

Что же не так в первой же картинке: хоть и выглядит вполне аккуратно, или сказ о наводках и СВЧ чёрной цифровой магии и почему так делать нельзя.

Немного об отладочной плате FPGA и особенностях разработки.

О модуле камеры, её сенсоре, MIPI интерфейсе и как его испортить.

Как сделать связь с ПК в сотни мегабит, менее 100мбит/сек, и как в том числе и тут словить кару.


Внимание: в статье несколько хайрез фоток и видео, много тех терминов и лютого DIY, возможен взрыв мозга! 


Начнём с пациента:

Etí 99¿S 097.H » Q i Nj 2610 \¿ZH¿ П оЛэ 1¿T0 vic/vco Q sjCy** O V pteiHi l'en™ „ Чгт? гетэихл BQ_ E ir CDUV 6230 □Ce9Zö COJS 39Ztí nnpn ÍÍN'* ФЮО.Ф Оч-к- >o ¿дакоэевюо Ю NI ÜIIfiBl laN093d ■мдидрри|м 88И1ЯВ^^1В шёШШЁКШВВЯИшё пимя Шиши! шш ШИИдиДИШ^НИ МйШЗ^ДДМшДЯ


Что это на фото?

1. Белая плата - мозги: FPGA плата на базе Artix-7 от Xilinx, подключена к ПК по micro USB для прошивки и отладочных логов

2. Мини плата слева сверху - FTDI, обещала "скоростную" связь с компом...

3. Синяя плата справа сверху - сам модуль скоростной камеры с пимпкой "объектива" (извиняюсь за ругательство).

4. Куча проводков от ардуины.


Требовалось:

Захватить видеопоток с камеры и послать на ПК как есть, без сжатия, при этом достичь максимального количества кадров в секунду.


Что за зверь, FPGA плата?


a ül wA -'"“AÆ^D\GVVtW\ V«^f«fi f’731 L«T \ш «=.. I« « ; «> «%» ^ \,Карательная электроника,не делайте так,электроника,разработка железа,DIY,geek porn,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам,


Это процессор или миникомп как "малинка"? 

Нет, но она как процессор может исполнять алгоритм, считать и управлять чем-нибудь. 

По сути FPGA это набор блоков памяти, отдельных битов памяти и простых, проще сложения, логических элементов с управляемыми связями. А связями всего этого набора можно произвольно управлять софтом по своему желанию.


Стоп, а как оно считает, исполняет алгоритм и управляет? 

А тем что специальный софт разбивает алгоритм, написанный на си подобном языке, на отдельные блоки:
массивы размещает в большие блоки памяти, 

переменные разбивает на биты и размещает в отдельные аппаратные биты, 

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

И потом всё это соединяет вполне реальными физическими связями. И работает всё это на частотах в несколько сотен мегагерц. 

По сути алгоритм превращается в реальную и очень комплексную электрическую схему. Это настолько низкоуровневое программирование, что даже "ниже" не только ассемблера, но и машинных кодов и чёрт побери перфокарт!


100-200 Мгц медленно? и зачем такой дрочь нужен если есть обычная малинка или одноплатные ПК х86 на которых винда крутится? 

Нет, это не медленно и есть задачи, где не возможно обойтись без FPGA физически.


Первая фишка: в том что это не проц, который исполняет алгоритм шаг за шагом. Это куча связанного "железа" которая исполняет весь алгоритм одновременно! Тотальное 100% распараллеливание алгоритма, даже если в нём несколько сотен тысяч строк кода! 

Это даёт возможность такой магии, как сортировка массива за ноль тактов (например, в фильтре шума).

А ещё даёт возможность самому проектировать эмуляторы старых консолей и они будут работать в точности, нет, ТАК В ТАК, так-же как и их аппаратные дедушки, даже даёт возможность сэмулировать баги, и разные аппаратные нестабильности например в звуке чип-тюна ZX-Spectrum. 

А ещё это и чудовищное быстродействие: делать расчёты на 66 Мгц быстрее чем Core i7 на 3700 МГц? запросто! Именно поэтому ASIC (FPGA с предзаказанными, не изменяемыми связями) так полюбились всеми майнерами. 


Вторая принципиально непобедимая фишка: время реакции - раз всё работает параллельно и можно реагировать с нереальной скоростью, в десятки а порой единицы наносекунд. Робототехника, автопрома и оружейка - без FPGA и ASIC (захардкоженный FPGA) никак.


Третья фишка: можно реализовать любую переферию, любой интерфейс самому при помощи исходного кода, и если ты написал сам всё с нуля, включая интерфейсы, то это 100% переносимо, ну не мечта ли? Но с большими оговорками, и можно "отстрелить себе ногу", что я и сделал в интерфейсе камеры.


Модуль камеры:

Карательная электроника,не делайте так,электроника,разработка железа,DIY,geek porn,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,FPGA


Это плата модуля камеры: сверху чёрный цилиндр объектива, под ним чип сенсора который собственно и видит со всей логикой, который установлен на плате, два стабилизатора питания и разъём 40 контактный.

Камера: 

5 мегапикселей.

"Объектив" полное гавно: мылит даже на VGA разрешении, света собирает мало, не настраивается фокус. Но для отладки пойдёт.

Чип сенсора выдаёт RAW формат как в профессиональных фотокамерах, 

Интерфейс параллельный MIPI, он примитивный: каждый такт синхросигнала выдаёт 12 бит данных пикселя, с парой статусных сигналов "конец строки" и "конец кадра".

Для настройки юзает двух проводной I2C.

Коннектор - 40 пиновый, двухрядный с шагом 2.56мм, как в старых жестяках.


Казалось бы всё просто особенно для FPGA...


"Отстрел ноги"


Но чтоб достичь максимальной скорости надо выдать камере максимальную частоту в ~100Мгц (а с гармониками до гигагерца), от которой камера и тактируется, которая в свою очередь даёт обратно FPGA с сырыми данными изображения. 

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

Будет!


Во первых: в стародавние времена, когда у жестяков был широченный ParallelATA 40 пиновый коннектор и такой же шлейф, то этот 40 жильный шлейф работал только до частот 30-60МГц, а далее уже нужно было использовать особый магический 80 жильный шлейф. И это не спроста: на таких частотах взаимные наводки очень сильно влияют и портят сигнал. Но в этой связке его использовать нельзя т.к. на основной FPGA плате нет такого же 40пинового разъёма, а мудаки из Xilinx ради маркетинга (ну и чтоб продавать только их доп платки по конской наценке) и несовместимости запилили 4 группы по 12 контактов в два ряда.


Во вторых: длинна ардуино-проводов разная да и на самой плате очень сильно различается длинна дорожек, а это критично на таких скорстях и если даже не из за скорости света то из за разной индуктивности - которая усиливает взимные наводки, разносит их по разным фазам ещё сильнее и превращает сигнал в "кашу".


В третьих: маркетологи посчитали что при помощи платы "всего" за 100 баксов нельзя давать заниматься серьёзными вещами. И поэтому два из четырёх 12 контактных коннекторов GPIO подключили через много килоомные резисторы тем самым зарезав частоту и "завалив форнты" (когда тактовая нарастает не слишком быстро чип камеры, из за шумов может не понять время переключение, это было одно или несколько).


Не делайте так! Не надо пытаться ардуино-проводками подключать такие быстрые (свыше 30 МГц и многобитные интерфейсы)


Попытки профиксить и прочие бесполезные трепыхания 

1. Тактовая пикселей MIPI что выходит из камеры оказалась в разы шумнее: это тактовая из FPGA которая набрала по пути до камеры шумы, а потом вернулась из камеры в FPGA набрав ещё шумов на обратном пути. Пришлось затактироваться внутренней частотой внутри FPGA что генерится и выдаётся наружу. 

Фейл: чип камеры при каждом старте настраивается чуток поразному и поэтому выходящяя из него тактовая тоже на пару наносекунд то отстаёт то опережает. 

Адский Костыль: Нужно вручную подстраивать каждый раз при каждом включении задержку.

2. Фейл: Взаимные шумы: так как лежит на первой картинке (плата связи рядом с платой камеры) не работает! В линке с ПК проскакивают лишние байты или он теряет байты. 

Адский Костыль:  

приходится буквально на пару сантиметров отгибать в сторону камеру вот так:

п шшш. ШШшшШШШт ШШштШШт ИИИИ^^^ш ЯЙ1ВШрмШЯЯВУШШ1М titffn« jmi Wäwi I ИМWB*w ШншшаШШшшН m щ m шщ SSd frQd . l¿d Z¿ü ¿90 €90 890 V9d 9Ы01 zzzal b¿za¡ mmi». ^¡м1ашймвя8йшШ|1Ушшшш ИИДНшИ1Я1ЦИ1Н1НЙМЯИ8МШ1 теШ|ЯШшамаиШиШ^ш ышишщямшша iilfleillplilll шШШШШМЁШШ ИМмШМ мин ни

Чёртов бубновый шаманизм!

3. Мини Фейл: Ардуино проводки - они норовят отскачить при любом неосторожном движении любой платы! Это, просто, очень и очень не удобно, надо ОЧЕНЬ аккуратно всё двигать. 

Костыль: расковырял иголкой разъём чтоб лучше держалось ... помогло мало но вроде помогло.

4. Связь с ПК при помощи модуля FTDI2232H оказалось не настолько крутой как её рекламировала фирма.

Фейл: скорость вместо 480 мегабит оказалась всего в 100 мегабит, т.к. внутри ФТДИхи два канала и они прибиты гвоздями, уже 240мегабит, USB не умеет в 100% пропускной, уже 200Мегабит, а чип не сразу видит такт записи а через пол дополнительного такта: вот тебе и 100 мегабит. Дрочиться собирать из двух каналов один не стал - драйвер фтди перемашивает рандомно. Дрочь.

5. так же производитель камеры обманул: вместо 150 фпс оказалось 128 фпс, сам сенсор оказался очень тёмным на такой скорости.


Дополнительно было сделано

Т.к. камера выдаёт сырой рав-поток как в проф камерах, то его надо обрабатывать как это делают тулзы цифровой проявки такие как Adobe Light room.

Для этого запилил на верилоге свой видеопроц:

в нём и MIPI приёмник, и свой i2c контроллер и такие страшные слова как баланс белого, гамма-коррекция, коррекция дин. диапазона, шумодав (где сортируется за 0 тактов в медианном фильтре), ресайз, усиление и коррекция цветов.

схемка для пущего устрашения (to NN это выход в фтди, и спойлер темы будущей статьи ;):

Карательная электроника,не делайте так,электроника,разработка железа,DIY,geek porn,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,FPGA



Итог и что получилось сделать:

Оно заработало:


слева рендеринг на ПК при помощи OpenCV, 

справа отладочная консоль в формате VT100 с цветами и свистелко-перделками (реализованный аппаратно на FPGA при помощи той же логики и такой-то матери), да я люблю красиво, дорого и богато.


В первую секунду видна первичная инициализация и пуск камеры с логом адресов и значений команд записи.

Далее я ручками, посылаю текстовые команды в FPGA (лексический интерпретатор команд тоже сам сделал, тоже на логике) и настраиваю яркость и чёртову фазу сигналов, видно что после подстройки фазы обильный "розовый снег" исчезает.

После я машу перед камерой древним смартом с настроечной таблицей цветов.


косяки: 

1. т.к. по скорости FTDI подвела то только 64 кадра в сек, в среднем каждый второй пропускается.

2. есть местами мусор в виде снега и цветных кластеров (показаны красными стрелочками)

Карательная электроника,не делайте так,электроника,разработка железа,DIY,geek porn,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,FPGA

3. сам модуль камеры на такой скорости оказалось лютым гавном, мутная, и шумов много т.к. ISO задран к небесам.


Использованные ресурсы чипа:

Utilization Resource Utilization LUT 4855 LUTRAM 22 FF 10275 BRAM 45.50 10 44 BUFG 3 PLL 1 Post-Synthesis I Post-Implementation Available Graph I Table Utilization % 20800 23.34 9600 0.23 41600 24.70 50 91.00 210 20.95 32 9.38 5 20.00,Карательная электроника,не делайте

блочной BRAM памяти больше всего ушло на буфер одного кадра.
Ушло примерно 200 часов моего времени на разработку, из них 150 на видео проц (raw --> rgb).


Вывод: 

Не делайте так! Не надо пытаться ардуино-проводками подключать такие быстрые (свыше 30 МГц и многобитные интерфейсы). Именно поэтому профессионалы порой недолюбливают ардуинщиков за такие дикие сопли с ардуино-проводками. 


А отладить камеру и ip-корку (аппаратная либа) видеопроца я всё-таки смог. Благо сам алгоритм разработал и верифицировал формально и математически, а на FPGA только проверил, что оно в принципе работает и понял что надо копать в сторону само синхронных синфазных LVDS гигабитных интерфейсов без тактовой и всего этого дроча с шумами.


На этом всё, вот в завершение фотка с топологией чипа (светлосиним заюзанные аппаратные ячейки), зачем? незнай, просто красивый город как из сим-сити вышел.

□□□□ □□□□□□□ □ □ ■■■■И” ■ ■■ В ■ В ■ •■!■ » » °|BD В ■ ■ IB BIB ■» в в ■ ■ oionna ’ini в в a '■ВВВ зшинввва ■■ни17 “ ■ ■ «в ■■■ion вив “ ■ ■ ° *ня * • валяв■в|в а ■ ав*» ВИЕВ»я вея > » ■ Ш ■авяв9 a • ■ В * В ■ В* В ■■■■в в■ЯШ "В ■ ■ "В■ вввавв <■ ■ ■ в в ■ ваш я яви ■■■■ ■ ВШЯ «Я в




Развернуть

пидоры помогите электроника руки не из жопы 

Приветствую глубокоуважаемых пидоров. Очень нужна ваша помощь. Конретно людей, общающихся со всякой электроникой на ты. Даже нет, на эй ты! Ситуация такая, нужен GSM модуль с обыкновенной релюшкой. Идея в том, что позвонив на этот модуль, реле закрывается(или открывается) и остается в таком положении, при повторном звонке срабатывает в обратную сторону и тоже фиксируется. Возможно кто знает нечто подобное с али-экспресса. Если еще будет возможность этому работать не только от сети но и от акума, вообще жирный плюс.

(тут вам всевозможные благодарности)
пидоры, помогите -Ü 05 С <,пидоры помогите,реактор помоги,электроника,руки не из жопы
Развернуть

Прикольные картинки электроника схема киллер серийный убийца 

Serial killers Parallel killers,Прикольные картинки,электроника,схема,киллер,серийный убийца
Развернуть

электроника geek 

электроника,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Развернуть

новогодняя ёлка электроника украшение на рабочий стол своими руками 

На новый 2020 год сделал себе что-то новогоднее и электронное

Елку придумал сам. Сделана она из картона, провода имитируют гирлянду, так задумано. Имеется выключатель. Схему предоставлю в конце.

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

Подставку сделал из куска фанеры квадратной формы, ножки из термоклея

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

Работает сие чудо на двух сдвоеных мультивибраторах, одна секция на двух транзисторах и другая с другой стороны, можно выполнить на одной плате, как кому удобнее. А, и еще на каждый красный светодиод надо повесить по 1 килоому сопротивления, чтоб не сгорели. Через них идет больше тока чем через остальные светодиоды.

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

Блочок питания самодельный. Чесно говоря с таким типом маломощных бп я провозился долго, никак не запускался, очень запутался тогда, но как-то вышло, обмотки трансформатора не помню как наматывал и сколько витков. В инете куча схем есть с этим бп. Главное чтоб на выходе было примерно 14 вольт.

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

 A\ji ШКт Wik /Rj;^VsnfMBa^1 ч it^SAiS Big Эя* ян ЩмЁ 'ff/ зКЯН 7Л Vf!,новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

Ночью.
Мигает такое чудо 4 секции светодиодов(соединенных как вам угодно, лучше вразнобой) по очереди каждая секция. У меня в каждой секции по 6 светодиодов.

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

Схема сборки

естлвить ß П РОМАМ Ш£ иголкой,новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

новогодняя ёлка,электроника,украшение на рабочий стол,своими руками

Удачной сборки!

Развернуть

Чилик Комиксы Ну погоди! Союзмультфильм Мультфильмы электроника игра 

Чилик,Смешные комиксы,веб-комиксы с юмором и их переводы,Ну погоди!,Союзмультфильм,Мультфильмы,электроника,игра
Развернуть

электроника Тайна третьей планеты Союзмультфильм Мультфильмы 

электроника,Тайна третьей планеты,Союзмультфильм,Мультфильмы
Развернуть

geek электроника 

"Мне было интересно зачем на радиатор приклеили кусочек текстолита. Прочитав надпись на нем всё стало на свои места"
m II ■ н^^^нини|^ш1Ц|т — ài bä-. Ь \j/ ' J Д • , ■ 1 1ir^mB ■ I 3L¡ L M w*il g 1 \2 r\ л vC> г1 .1 m»:-,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,электроника
Развернуть

История СССР электроника техника электроорган 

Царь-орган - "Электроника-01"

Царь-орган – самый большой электроорган в СССР выпускался на Херсонском полупроводниковом заводе в начале 80-х. 


История,СССР,электроника,техника,электроорган


В Советском Союзе вся экономика была военно-ориентированной, но всё-таки необходимо было учитывать хотя бы минимальные потребности населения, в силу этого и существовало постановление ЦК КПСС, согласно которому при каждом крупном заводе или фабрике должен был функционировать цех ширпотреба, выпускающий «мирную» продукцию для населения. Поэтому какой-нибудь танковый завод (а надо помнить, что Союз выпускал танков больше, чем весь остальной мир) обязательно попутно клепал какую-нибудь сеялку или на худой конец кастрюли – сковородки. В Херсоне эту функцию выполнял завод «Заряд», который был подразделением Полупроводникового завода, входившего в ВПК Союза. 

«Заряд» кроме детских игрушек выпускал сначала зарядные устройства для мотоциклов (на 6 вольт) а позже пуско-зарядные устройство для автомобилей уже на 12 вольт (мечта автолюбителей) – широко использовавшийся для взятки при решении вопроса о доп. финансировании и т.п. 

Вот этому заводу спустили документацию с Брянского полупроводникового завода (как тогда говорили завод-побратим) на электроорган, которым они уже занимались - на доработку и дальнейший выпуск. Разработкой занялось конструкторское бюро под руководством Владимира Леонидовича Лунёва в 1979 г., а главным конструктором изделия назначили Сергея Лукича Олиференко, которого пришлось даже сманить с завода-побратима предоставив ему квартиру. Кроме этого разработчикам требовались УШИ – т.е. специалист, который бы определял (и подправлял) соответствует ли звучание клавиши допустим фагота на органе – натуральному фаготу и т.д. Кроме того этот спец должен был уметь ловко шевелить пальцами на клавиатуре, представляя инструмент на многочисленных выставках, ярмарках, а также при визитах высокого начальства (была такая непременная опция в тогдашнем производственном укладе). На эту должность был приглашён выпускник Музыкального училища Олег Ивченко. 


Э.1ШР0ПИК \,История,СССР,электроника,техника,электроорган


А в это время на дворе в условиях всеобщего дефицита на всё (кроме танков) клавишные ЭМИ т.е. просто клавиши (у лабухов их иногда называли тачкой или расчёской) приобретались у гастролирующих ВИА - преимущественно стран Восточной Европы. Чаще всего югославские-польские-венгерские группы на гастролях по нашей стране продавали свои Yamaha, Roland, Korg с целью закупиться обновлёнными по возвращении после "чёса". А обновление наступало каждые пол года, если не чаще. Покупались эти отработанные инструменты по баснословным (для тех зарплат) ценам 3-4-5 тысяч рублей. Попадали они и в КБ на завод «Заряд», где наши конструкторы понимали, что безнадёжно отстают от западных производителей, причём начиная уже с элементной базы. Повторялась история с автомобилями. Тем не менее ч/з приблизительно три года изделие было готово и поступило в продажу. Стоило оно вы будете смеяться просто астрономическую сумму – 8.160 рублей (больше а/м «Жигули»). 

Электроорган (так официально называлось изделие) имел две клавиатуры, причём нижняя была разделена на два части – левая имела особенность в ней белые клавиши были чёрными, а чёрные (диезные-бемольные) – наоборот белыми. Весил 60 кг – достаточно неудобно для гастролирующих ансамблей. 

Носил название «Электроника – 01». В советское время было проблематично назвать что-либо нестандартным именем. На пример докостроительный завод «Паллада» всё время имел вопрос что за название? И кто разрешил? Гораздо проще иметь название п/я-102. А посему, когда изделие называется «Электроника» не возникает ни малейшего вопроса почему? В СССР «Электроникой» назывались те же пуско-зарядные устройства, магнитофоны катушечные и кассетные и видео, усилители, акустические системы, телевизоры, радиоприёмники, калькуляторы, электропроигрыватели, часы, МВ печи, медицинское оборудование, мини ЭВМ и т.д. 

Не было зафиксировано ни единого случая покупки органа за наличный расчёт (необходимо было появляться в бронежилете и с инкассаторской машиной). Тем не менее по безналу он покупался Дворцами культуры больших объединений-заводов. Не имел себе равных в Советском Союзе по размеру и стоимости, почему и получил негласное прозвище «царь-орган».



Ufr*,История,СССР,электроника,техника,электроорган


спиздил тут

Развернуть

Карательная электроника электроника geek 

1 i < Г » ' < - PI74FCT Лч рI /* Г < ®241Т0А Z0102AJC 1 & J • ^ri 4 / Гчт и ft S V \ о О! о f ? МММ гч 1 \мГ\ \ V0 /■.'•< 1 г 1 ^ • % ч /,Карательная электроника,электроника,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор

Карательная электроника,электроника,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор


Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме электроника (+220 картинок, рейтинг 1,559.7 - электроника)