Pull to refresh
202
0
Send message

MOSFET паразитный диод, или таки защитный?

Level of difficultyMedium
Reading time4 min
Views25K

MOSFET (metal‑oxide‑semiconductor field‑effect transistor) — транзистор по технологии металл‑оксид‑полупроводник с полевым эффектом. Данный тип транзисторов уверенно вошёл в обиход во всех областях применения, как наиболее эффективное решение многих задач. Вы наверняка в курсе, что он применяется в качестве ключей в силовой электронике, причём не только в «чистом» виде, но и в составе IGB‑транзисторов. В частности, в вычислительной технике все цепи питания построены на базе MOSFET'ов.

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

Читать далее

Тамагочи на RISC-V и не только: смотрим студенческие проекты по программированию микроконтроллеров

Level of difficultyMedium
Reading time6 min
Views5.3K

Что можно собрать на основе микроконтроллеров RISC-V? Открытая архитектура уже достаточно развита, чтобы в короткие сроки реализовать с ее помощью интересные прототипы для разных сфер применения — причем с потенциалом для дальнейшего развития. В статье мы разберем несколько таких проектов, которые удалось подготовить в сжатые сроки. Каждый из них занял у создателей — еще начинающих специалистов — всего пару недель.

Читать далее

HackRF One. Доступный SDR трансивер для каждого

Level of difficultyMedium
Reading time15 min
Views19K

В очередной раз перебирая залежи своей электроники мне на глаза попался старый добрый товарищ - SDR-трансивер HackRF от Great Scott Gadgets. И я вспомнил, что у меня когда-то давно были планы написать несколько статей о том, как им пользоваться, что он может, да и зачем он вообще нужен. По всему Интернету я нагуглил огромное количество самого разнообразного разрозненного материала насчёт HackRF, утилит, прошивок, дополнительных модулей и прочего. И я решил подсобрать все это в своём материале сделав хороший вводный обзор.

Для всех, кому интересна тема радио и SDR — добро пожаловать под кат!

Читать далее

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

Reading time9 min
Views51K


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

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

Очередной эмулятор Nes. Продолжаем

Level of difficultyMedium
Reading time42 min
Views3.9K
image

Всем привет! С вами на связи снова Сергей, и я продолжаю творить «чудо».

В прошлой статье я немного задел тему эмуляции процессора. Советую почитать, кто не читал (ну, опять же, на ваше усмотрение — если решили сделать эмулятор сами, то лучше прочитать). Кстати, я обновил ту статью и немного пробежался по прерываниям. В этой статье, видимо, будет ещё больше технической информации — по правильной реализации памяти и работе с ней. И, наконец, доберёмся до видеоадаптера (PPU).
Читать дальше →

Подключаем геймпад от Денди (NES) к ПК

Level of difficultyEasy
Reading time12 min
Views6.5K

У меня есть старый геймпад от игровой приставки Денди (клон NES). Задача: подключить его к ПК, чтобы играть в старые игры на “оригинальном” геймпаде. Я уже публиковал статью про подключение геймпада Sega Mega Drive к ПК. Теперь точно так же подключим геймпад от Денди. Изменений в конструкцию геймпада вносить не будем, вместо этого будем опрашивать геймпад точно так же, как это делала сама игровая приставка.

Читать далее

Ищем игры для Atari в случайных данных

Level of difficultyEasy
Reading time24 min
Views12K

В рамках этого проекта я сгенерировал около 30 миллиардов файлов случайных данных по 4 КБ. Из этих файлов на основании эвристик из полной коллекции файлов ROM Atari было выбрано примерно 10 тысяч. Затем система классификатора просканировала их при помощи эмулятора Atari 2600, чтобы проверить, окажется ли какой-то из этих случайных файлов игрой для Atari. Этот проект отвечает на вопросы, которые никто не задавал, он никому не нужен и представляет собой огромную пустую трату ресурсов. Что, если засунуть в GPU миллиард обезьян и заставить их написать игру для Atari 2600?

Благодаря прогрессу GPU, ИИ и машинного обучения сегодня мы можем (очень быстро) написать на Python скрипт, который дампит мусор в ROM по 4 КБ и спрашивает: «похоже ли это на игру?». Проект был создан не из ностальгии, моей первой консолью была NES. Я вознамерился исследовать нечто невообразимо обширное и посмотреть, найдётся ли там что-нибудь странное.

Читать далее

Кухонный компьютер Honeywell 1969 года: 45 кг футуризма, 4 Кб памяти и рецепты в двоичном коде

Reading time8 min
Views5.6K

«Если она умеет готовить так же хорошо, как Honeywell умеет вычислять…» — так начиналось описание самого нелепого и гениального гаджета 1969 года. В рекламе Honeywell Kitchen Computer H316 позиционировали как революцию на кухне, но в итоге он стал просто дорогим арт-объектом, который никто не купил. Или купил — но это не точно.

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

Читать далее

О развязке питания с примерами

Reading time8 min
Views185K
Когда я участвовал в проведении конкурса 7400, я понял, что многим из представленных логических схем для надежной работы не хватает простейших защитных элементов. Одним из самых часто встречающихся недостатков конструкции было отсутствие блокировочных емкостей. Позже, прочитав статью о законе Мёрфи, я решил немного написать о развязке и блокировочных конденсаторах.
Читать дальше →

Разработка DIY компьютера на базе FPGA

Reading time12 min
Views15K

Желание поиграть в проектирование собственного процессора обычно приводит к покупке платы с FPGA. Но мне захотелось сделать шаг дальше и начать не с Verilog-а, а с паяльника.

Это статья о том, как я занялся разработкой электроники, не имея почти никакого опыта в этой сфере. Цель - сделать устройство с FPGA на котором можно загрузить Linux, подключить экран и клавиатуру, а потом прямо там писать и компилировать код.

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

Читать далее

Как спроектировать корпус для прибора. Полное руководство

Reading time16 min
Views81K
От идеи до серийного производства: подробно об этапах разработки и о технологиях производства корпусов — факты, примеры из практики, фото. Если вам нужен корпус для прибора, обязательно прочитайте.

image
Изучая рунет, я не смог найти ни одной статьи, которая описывала бы ВСЕ этапы разработки и производства корпуса устройства.

Ни одной. Всё, что есть в интернете, касается лишь одного или двух аспектов этого процесса. Ну например: давайте набросаем корпус и распечатаем на 3D-принтере. Или купим типовой и насверлим в нём отверстий. Хотя на Хабре и есть пара материалов, но они тоже не так полны информацией, как могли бы быть.

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

Как спроектировать корпус — схема работы


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

Разработка корпуса — процесс, разбитый на несколько обязательных этапов. Это даже обсуждать не буду: проверено много раз. Даже если вы не собираетесь связываться с «большим» производством (например, если планируете делать устройство только для себя), всё равно лучше бы вам соблюдать правильную последовательность этапов.

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

Вот схема, по которой мы пойдем:
Читать дальше →

10 советов схемотехнику

Reading time20 min
Views129K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →

Очередное Интернет-радио на базе ESP*, но с изюминкой

Level of difficultyEasy
Reading time3 min
Views14K

Да, это еще одно интернет-радио. Их уже сотни. Но в этой статье я хочу рассказать не только о самом устройстве, но и о одном из наших подходов, который мы применяем в IoT-разработке. Эти решения помогут вам упростить взаимодействие конечных пользователей с вашими устройствами.

Читать далее

Изобретения советских писателей-фантастов, которые стали реальностью

Level of difficultyEasy
Reading time6 min
Views24K

Русская и советская научная фантастика славилась не только захватывающими сюжетами, но и зачастую — пророческими идеями. Многие фантастические изобретения, которые когда‑то казались плодом безудержной фантазии, сегодня стали частью нашей повседневной жизни. Давайте взглянем на такие примеры, где вымысел переплетается с реальностью.

Читать далее

Что будет, если не использовать TCP или UDP?

Level of difficultyMedium
Reading time16 min
Views52K

Однажды мне стало интересно: а что будет, если отправить пакет с несуществующим транспортным протоколом? Не TCP, не UDP, не ICMP — вообще что-то выдуманное. Пропустит ли его ОС? Дойдет ли он хотя бы до сетевого интерфейса? Не зарежет ли его какой-нибудь промежуточный маршрутизатор? А вдруг он еще и быстрее обычного дойдет, потому что никто не знает, что с ним делать?

Ответа у меня не было. Так что я решил проверить.

Эксперимент и его результаты

Самые отбитые проекты Github

Level of difficultyMedium
Reading time11 min
Views55K

За долгое время, проведенное «в раскопках» на Github, собралась коллекция удивительных проектов, самое лаконичное описание для которых — лютая дичь. Небольшую часть этой коллекции автор заботливо собрал, запустил и затем описал в этой статье.

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

Читать далее

Взгляд на звук через спектрограмму

Level of difficultyEasy
Reading time6 min
Views14K
Я хочу познакомить вас со взглядом на звук как на спектр и побудить на самостоятельные акустические эксперименты. Вам не потребуется никаких денежных затрат, так как все опыты будем проводить в бесплатной программе Audacity. Представление звука в виде спектрограммы может найти множество применений, например, для диагностики работы механизмов, в анализе тембров инструментов, сэмплов, синтезаторов. Статья рассчитана на новичков.

Спектрограмма звука скрипки. Автор: Omegatron.

Моё увлечение акустикой началось с проекта, когда я хотел сделать анимацию северного сияния, которая бы реагировала на музыку. Я использовал фрагмент классического произведения Баха. Открыл его в программе Audacity в режиме отображения спектрограммы, и внимание сразу привлекли волнообразные штрихи. Так на спектре выглядит исполнительский приём вибрато, смысл которого в переменном изменении тона при игре на музыкальном инструменте.
Смотреть картинку, слушать пластинку

Биперная музыка на Arduino

Level of difficultyMedium
Reading time23 min
Views9.7K

Любимый отечественными энтузиастами компьютерной ретро-техники компьютер «Синклер» ZX Spectrum родом из начала 1980-х годов — восьмибитный. Любимый самодельщиками нынешнего тысячелетия Arduino родом из середины 2000-х годов — тоже восьмибитный. Они похожи, но такие разные. Сегодня попробуем навести мостик между этими мирами, преодолеть пропасть в два десятка лет, и заставить два разных устройства проиграть одни и те же мелодии.

В этой статье сплетаются сразу три темы: как устроены некоторые музыкальные полифонические процедуры на ZX Spectrum, как воспроизвести результат их работы в совершенно иной реализации на Arduino, а заодно немного электроники для начинающих — рассуждения на тему, как можно правильно или неправильно подключить динамик для вывода звука к этой самой Ардуине.
Читать дальше →

Клон ChatGPT в 3000 байтах на C, основанный на GPT-2

Reading time13 min
Views9.7K

Эта программа представляет собой свободную от зависимостей реализацию GPT-2. Она загружает матрицу весов и файл BPE из оригинальных файлов TensorFlow, токенизирует вывод при помощи простого энкодера, работающего по принципу частотного кодирования, реализует базовый пакет для линейной алгебры, в котором заключены математические операции над матрицами, определяет архитектуру трансформера, выполняет инференс трансформера, а затем очищает вывод от токенов при помощи BPE-декодера. Всё это — примерно в 3000 байт на C.

Код достаточно эффективно оптимизирован — настолько, что малый GPT-2 на любой современной машине выдаёт отклик всего за несколько секунд. Чтобы этого добиться, я реализовал KV-кэширование и применил эффективный алгоритм перемножения матриц, а также добавил опциональный OMP-параллелизм.

Взяв это за основу, можно создать некий аналог Chat GPT — при условии, что вас не слишком волнует качество вывода (объективно говоря, вывод получается просто ужасный… но решение работает). Здесь есть некоторые глюки (особенно с обработкой символов в кодировке UTF-8), а для эксплуатации модели размером XL с широким контекстным окном может потребоваться ~100 ГБ оперативной памяти. Но, если вы просто набираете текст в кодировке ASCII при помощи малого GPT2, то такая модель должна нормально работать примерно везде.

Я выложил весь код на GitHub, поэтому можете свободно брать его там и экспериментировать с ним.

Читать далее

Генерация псевдослучайных чисел

Reading time5 min
Views136K
Довольно часто программисты в своей работе встречаются с необходимостью работать со случайными числами. Чаще всего случайные числа требуются в задачах моделирования, численного анализа и тестирования, но существует и множество других весьма специфических задач.
Конечно, во всех современных языках программирования есть функция random или её аналоги. Эти функции чаще всего дают действительно хорошие псевдослучайные числа, но мне всегда было интересно, как эти функции работают.
В этом топике я постараюсь объяснить, как работает линейный конгруэнтный метод (который чаще всего используется в функции random), и метод получения случайных чисел с помощью полиномиального счётчика (который часто используется для тестирования аппаратуры).
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity