Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: проект программируемой логики

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров5.3K

Привет, Хабр! Меня зовут Павел Панкратов, я ведущий инженер-программист в дивизионе искусственного интеллекта YADRO. Этим текстом я запускаю цикл статей — экскурс в особенности работы с SoC, комбинирующей в себе реализованные в «железе» аппаратные блоки (Hard IP’s) и программируемую логику (Soft IP’s). Основная задача, которая объединит все три статьи, — параллельный запуск встраиваемой операционной системы на двух различных по архитектуре процессорах, представленных в виде Hard и Soft IP-блоков.

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

Читать далее
Всего голосов 41: ↑41 и ↓0+57
Комментарии5

Как мы заработали 100 000 рублей за 3 месяца, запустив простой конвертер картинок в США

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров59K

Что мы поняли, запустив простой конвертер картинок за 1 месяц в США. И как заработали 100 000 рублей за первые 3 месяца, хотя вокруг куча бесплатных аналогов.

Читать далее
Всего голосов 118: ↑106 и ↓12+112
Комментарии219

Насколько маленьким может быть ядро linux?

Время на прочтение5 мин
Количество просмотров38K
Некоторое время назад я научился конвертировать виртуальные машины в oracle cloud из ubuntu 20.04 в gentoo. Машины предоставляемые в рамках always free tier весьма маломощны. Это в частности приводит к тому, что перекомпиляция ядра превращается в достаточно длительный процесс. У исходного ядра ubuntu 20.04 в конфиге было 7904 параметра. После того, как я сделал:

make localmodconfig && make localyesconfig

число параметров уменьшилось до 1285. Мне стало интересно попробовать выбросить из ядра все лишнее и посмотреть, что получится.
Читать дальше →
Всего голосов 50: ↑44 и ↓6+52
Комментарии77

Самодельные суперконденсаторы (ионисторы)

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров29K
Картинка Freepik

Среди источников электрической энергии особое место занимают так называемые суперконденсаторы — ионисторы.

Несмотря на загадочное название, их весьма просто изготовить самостоятельно, и оно того стоит: быстрая зарядка, возможность осуществления множества циклов заряд/разряд без какого-либо разрушения (вплоть до миллионов), большая ёмкость (до десятков и даже сотен Фарад).

Думается, что этого перечисления уже достаточно, чтобы всерьёз задуматься об изготовлении таких устройств, так как любой самодельщик сможет найти для них, даже навскидку, множество применений.
Читать дальше →
Всего голосов 64: ↑61 и ↓3+82
Комментарии92

Присматриваемся к одноплатникам на RISC-V, обзор модуля Sipeed Lichee RV на процессоре Allwinner D1

Время на прочтение20 мин
Количество просмотров26K
Sipeed Lichee RV

Одноплатные компьютеры на RISC-V процессоре сравнительно новое веяние. Поднебесная активно работает над снижением зависимости от западных информационных систем и технологий, именно поэтому новая открытая архитектура RISC-V одна из ключевых ставок Китая. Для продвижения в массы китайский чипмейкер Allwinner на базе ядра Alibaba/T-Head Xuantie C906 RISC-V разработал процессор Allwinner D1 и упрощенную модификацию Allwinner D1s. На сегодня разработано несколько одноплатников на RISC-V процессоре, и в первенство по массовости вырвалась компания Sipeed с модульным компьютером Система-на-Модуле Lichee RV с 512 Мб ОЗУ всего за $16.90, работающим на Linux. Разработчик может спроектировать несущую плату для данного модуля, добавив необходимые периферийные устройства и разъемы. В результате получится решение максимально подготовленное для себя. Данный модуль предназначен для создания интеллектуальных информационных систем, терминалов, роботов, и т.д. В первой части рассмотрим архитектуру процессора, возможности модуля, дистрибутивы, программное обеспечение. Во второй части детально рассмотрим порты и интерфейсы для программирования, напишем программы на Python и C#.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+24
Комментарии37

Насколько реален самодельный пластик?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K
Картинка Maniacvector, Freepik

В жизни нас со всех сторон окружает интересная субстанция, которую в обиходе называют «пластиком», представляющую собой составы разного типа.

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

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

Но мне тут стало интересно, а насколько реально самому создать пластик?

Потому что обычно он у нас ассоциируется с «высокими материями» из области органической химии, далёкими от «простого смертного».

Тем не менее, как оказалось, это более чем реально и, мало того, весьма просто! Об этом и будет весь следующий рассказ…
Читать дальше →
Всего голосов 54: ↑49 и ↓5+64
Комментарии46

Разработка сложных процессорных систем на примере модуля SMARC. Заключение

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров7.2K
Приветствую, Хабр!



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

По просьбе Indemsys немного расширю эту статью и кратко расскажу о трассировке различных интерфейсов. Спасибо за замечание, почитываю Ваши статьи.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+68
Комментарии18

Проектирование антропоморфного манипулятора c 7 степенями

Время на прочтение4 мин
Количество просмотров16K


Всем привет! Уже почти год ничего нового не публиковалось по поводу судьбы сервисного робота Tod Bot. Однако, все это время мы не сидели сложа руки, и сегодня можем рассказать о достигнутых успехах. Данный пост не претендует на рецепт проектирования, а только лишь описывает наш путь.

Занимаясь нашим проектом, мы дошли до задач захвата предметов манипулятором. На тот момент у нас уже были решены такие задачи, как распознавание предметов и управления манипулятором. Манипулятор был сделан из конструктора и использовал обычные сервоприводы, и его грузоподъёмность и возможность управления скоростью оставляли желать лучшего(контроллер, который мы использовали, не поддерживал динамическое управление скоростью сервоприводами). Тогда перед нами стал выбор: заказать новый контроллер и использовать то, что уже есть или же решить проблему кардинально и получить манипулятор, который бы нас устраивал по всем параметрам.
Подробности
Всего голосов 26: ↑25 и ↓1+24
Комментарии7

ROS книги по робототехнике переведенные на русский язык

Время на прочтение6 мин
Количество просмотров14K

Robot Operating System это фреймворк который позволяет эффективно программировать современных роботов.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Zynq 7000. Загрузка Embedded Linux на SoC через JTAG с помощью XSCT

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров4.2K

Учитывая, что я очень давно занимаюсь отладкой и запуском самых разнообразных проектов связанных с Zynq 7000 — со временем количество итераций перезапуска при проведении отладки увеличивалось пропорционально сложности проекта. Когда я только начинал осваивать разработку под Zynq, то каждый раз закидывал новый образ на microSD карту. Это было очень медленным процессом и требовало от меня постоянно подключать/отключать карту. После этого я освоил сетевую загрузку через Ethernet и TFTP, заменяя файлы по сети и проверяя результат после перезагрузки.

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

Вот как раз вопросы связанные с тем, как произвести загрузку по JTAG я бы хотел осветить в этой статье. Всем кому интересно — добро пожаловать под кат. 

Читать далее
Всего голосов 45: ↑45 и ↓0+59
Комментарии12

Гибкие шестерни

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров17K
Картинка Jahobr, Youtube-канал «3DprintedLife»

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

В этой статье мы поговорим о том, как можно решить этот вопрос наиболее простым способом.
Читать дальше →
Всего голосов 66: ↑64 и ↓2+91
Комментарии42

Оценка влияния и учет параметров  переходного отверстия на передачу высокочастотного сигнала

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.4K

В.А. Ухин, В.С. Кухарук,  Д.С. Коломенский, О.В. Смирнова

В статье оценивается влияние переходного отверстия на потери сигнала в линии передачи. Оценка выполняется с помощью расчета коэффициентов S матрицы. Подчеркивается необходимость реализации вычисления первичных и вторичных параметров межслойного перехода непосредственно в САПР печатных плат. 

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

Когда говорят о линиях передачи, реализованных на печатной плате, то часто подразумевают опорный слой и проводник определенного поперечного сечения в среде диэлектрика (рис. 1) [1, 2].

Читать далее
Всего голосов 13: ↑12 и ↓1+13
Комментарии48

Как Orange Pi вернула мне Ютуб

Время на прочтение5 мин
Количество просмотров62K

Привет, Хабр!

В связи с последними событиями вокруг видеохостинга YouTube, ситуация вынуждает искать технические решения для восстановления доступа к сервису. В этой статье я хочу поделиться своим техническим опытом по восстановлению доступа к сервису с помощью дешевого одноплатника Orange Pi Zero2 от компании Xunlong Software.

Читать далее
Всего голосов 83: ↑79 и ↓4+83
Комментарии124

Производство игрушек, в том числе электронных, как свой бизнес?

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров8.6K
Картинка Maniacvector, rawpixel.com / Freepik

Многие владельцы фотополимерных 3D принтеров, а также CO2 лазерных резаков, после покупки и нескольких распечаток задаются вопросом: «а что делать дальше»?

И сегодня мы поговорим о нескольких интересных возможностях, которые может реализовать любой обладатель подобных устройств.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+52
Комментарии38

Разработка сложных процессорных систем на примере модуля SMARC. Продолжение

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров5.7K
Приветствую, Хабр!



Как и обещал, выкладываю продолжение на тему разработки на процессорах. В этой статье хочу коснуться нескольких тем:

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

Все, что хотел, снова не уместилось в статье, а комкать информацию не хочется, чтобы еще больше не запутать. В материале много картинок, но это позволит проще воспринимать и запоминать информацию.
Читать дальше →
Всего голосов 58: ↑57 и ↓1+75
Комментарии24

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров640K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 360: ↑357 и ↓3+412
Комментарии1053

Замедление YouTube с технической стороны: ограничение и обход

Время на прочтение5 мин
Количество просмотров438K

Привет, Хабр!

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее
Всего голосов 540: ↑540 и ↓0+631
Комментарии438

Как делают смартфоны: смотрим на редкий девкит процессора Qualcomm Snapdragon 410

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K


Друзья! А вы когда нибудь задумывались о том, как делают смартфоны и планшеты? Какие инструменты для этого используются и откуда берутся материнские платы разных размеров и форм-факторов, но с таким похожим расположением элементов? Недавно мне удалось приобрести девкит aka evaluation board популярного в прошлом среднебюджетного чипсета Qualcomm Snapdragon 410 за 4.000 рублей и заценить его, что называется, в деле. Чем он отличается от одноплатного компьютера, из чего он состоит и что умеет — читайте в сегодняшней краткой, но достаточно подробной статье!
Читать дальше →
Всего голосов 67: ↑64 и ↓3+87
Комментарии45

Разработка сложных процессорных систем на примере модуля SMARC

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров8.5K

Приветствую, Хабр! Долго не мог решиться, стоит ли писать статью по разработке устройств на процессорах. Материала и опыта по этой теме очень много, а если описывать все этапы проектирования, то нужно делать целый цикл статей. Но по факту это все равно не будет инструкцией к действию, так как в процессе разработки возникает множество нюансов. И каждый раз они индивидуальны.

Я решил описать некий шаблон (скорее один из), который, возможно, кому-то поможет в проектировании многослойных плат. Если мы говорим конкретно о разработке, то она включает в себя несколько этапов. Я буду писать об одном цикле — от получения технического задания, до передачи герберов на производство печатных плат. Затрону подготовку задания на согласование импедансов, так как это важно с самого начала трассировки. Сознательно не буду говорить о выборе компонентов, выгрузке конструкторской документации, поиске и исправлении ошибок после сборки плат и т. д.

Статья получилась большая, но, как говорится, из песни слова не выкинешь. Если вам все еще не страшно — добро пожаловать под кат!
Читать дальше →
Всего голосов 72: ↑72 и ↓0+91
Комментарии40

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)

Уровень сложностиСложный
Время на прочтение127 мин
Количество просмотров12K

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

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

Погрузиться сполна
Всего голосов 42: ↑41 и ↓1+58
Комментарии65
1
23 ...

Информация

В рейтинге
4 290-й
Зарегистрирован
Активность