Как стать автором
Обновить
69
0.2
Дмитрий @deema35

Програмист

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

Как открыть сейф с помощью ручки

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

Разбор уязвимости, которая позволяет открывать электронные сейфы компании Sentry Safe и Master Lock без пин-кода.

Читать далее
Всего голосов 97: ↑94 и ↓3+115
Комментарии41

История транзистора: пробираясь на ощупь в темноте

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


<< До этого: Электронная революция

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

Любой человек с доступом к мастерской и с базовыми навыками работы с материалами может собрать реле из проводов, металла и дерева. Для создания электронных ламп требуются более специализированные инструменты, способные создать стеклянную колбу и откачать из неё воздух. Твердотельные же устройства исчезли в кроличьей норе, из которой цифровой переключатель так и не вернулся, и погружались всё глубже в миры, понятные только абстрактной математике и доступные только при помощи безумно дорогого оборудования.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии5

Полевые транзисторы. For dummies

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

Введение


А теперь давайте поговорим о полевых транзисторах. Что можно предположить уже по одному их названию? Во-первых, поскольку они транзисторы, то с их помощью можно как-то управлять выходным током. Во-вторых, у них предполагается наличие трех контактов. И в-третьих, в основе их работы лежит p-n переход. Что нам на это скажут официальные источники?
Полевыми транзисторами называют активные полупроводниковые приборы, обычно с тремя выводами, в которых выходным током управляют с помощью электрического поля. (electrono.ru)

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

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

Три контакта полевых транзисторов называются исток (источник носителей тока), затвор (управляющий электрод) и сток (электрод, куда стекают носители). Структура кажется простой и очень похожей на устройство биполярного транзистора. Но реализовать ее можно как минимум двумя способами. Поэтому различают полевые транзисторы с управляющим p-n переходом и с изолированным затвором.

Вообще, идея последних появилась еще в 20-х годах XX века, задолго до изобретения биполярных транзисторов. Но уровень технологии позволили реализовать ее лишь в 1960 году. В 50-х же был сначала теоретически описан, а затем получил воплощение полевой транзистор с управляющим p-n переходом. И, как и их биполярные «собратья», полевые транзисторы до сих пор играют в электронике огромную роль.

Перед тем, как перейти к рассказу о физике работы униполярных транзисторов, хочу напомнить ссылки, по которым можно освежить свои знания о p-n переходе: раз и два.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии25

Вторая микросхема :)

Время на прочтение5 мин
Количество просмотров24K
В 2018 году у себя гараже я изготовил первую интегральную схему, это был двойной дифференциальный усилитель Z1. Тогда я заканчивал школу, а сейчас уже выпускаюсь из колледжа. Очевидно, пришло время улучшить производственный процесс.



Z1 с шестью транзисторами представлял эксперимент для отработки всех процессов и проверки оборудования. В теперешнем Z2 уже 100 транзисторов c поликремниевым затвором 10 мкм — та же технология, что и в первом процессоре Intel. Здесь просто массив 10×10 транзисторов для тестирования, определения характеристик и настройки процесса, но это огромный шаг к более продвинутым самодельным чипам. В Intel 4004 было 2200 транзисторов, а я разместил 1200 на такой же пластине.
Читать дальше →
Всего голосов 85: ↑85 и ↓0+85
Комментарии19

Первая микросхема :)

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

Предисловие


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

Кроме того, мои усилия сопровождались лишь самыми положительными отзывами и поддержкой со всего мира. Искренне благодарен всем, кто мне помогал, давал советы и вдохновлял на этот проект. Особенно моим удивительным родителям, которые не только всегда поддерживают и поощряют меня как только могут, но и предоставили рабочее место и смирились с затратами на электроэнергию… Спасибо!



Без дальнейших церемоний представляю первую интегральную схему (ИС), изготовленную литографическим способом в домашних (гаражных) условиях — PMOS-чип двойного дифференциального усилителя Z1.
Читать дальше →
Всего голосов 146: ↑146 и ↓0+146
Комментарии167

Трибоэлектричество

Время на прочтение3 мин
Количество просмотров9.9K
image

Трибоэлектрический эффект — появление электрических зарядов в материале из-за трения (разделения материалов после плотного контакта). Еще в античности Фалес натирал янтарную палочку мотком шерсти и примагничивал к палочке опилки и стружки. Советские дети тёрли об голову надутый воздушный шарик, а потом приклеивали его к потолку. С появлением оргтехники, бытовой электроники, упаковочного пенопласта и бинбэгов (кресла-мешки) в ход пошли котики.

Так что мы знаем на данный момент про трибоэлектричество?

  • Трибология — наука, раздел физики, занимающийся исследованием и описанием контактного взаимодействия твёрдых деформируемых тел при их относительном перемещении. Областью трибологических исследований являются процессы трения, изнашивания и смазки.
  • Трибоэлектрический эффект очень непредсказуем, и можно сделать лишь широкие обобщения.
  • Всеобъемлющая теория электризации пока не построена, но выявлено много эмпирических закономерностей.
Читать дальше →
Всего голосов 23: ↑13 и ↓10+3
Комментарии9

Пишем загрузчик на Ассемблере и C. Часть 1

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


Эта статья представляет собой ознакомительный материал о написании загрузчика на С и Ассемблере. Сразу скажу, что здесь я не буду вдаваться в сравнение производительности итогового кода, созданного на этих языках. В этой работе я просто вкратце изложу процесс создания загрузочного флоппи-образа путем написания собственного кода с последующим его внедрением в загрузочный сектор устройства. Все содержание будет разделено на цикл из трех статей, так как сразу сложно изложить всю нужную информацию и о компьютерах, и об устройствах загрузки, и о написании самого кода. В первой части я поясню наиболее общие аспекты компьютерной науки и суть процесса загрузки, а также обобщу значение и важность каждого этапа, чтобы упростить их понимание и запоминание.
Читать дальше →
Всего голосов 37: ↑30 и ↓7+35
Комментарии73

Почему кремний и почему КМОП?

Время на прочтение27 мин
Количество просмотров82K
Самый первый транзистор был биполярным и германиевым, но подавляющее большинство современных интегральных микросхем сделаны из кремния по технологии КМОП (комплементарный металл-оксид-полупроводник). Как вышло, что кремний стал главным из многих известных полупроводников? Почему именно КМОП-технология стала почти монопольной? Были ли процессоры на других технологиях? Что ждет нас в ближайшем будущем, ведь физический предел миниатюризации МОП-транзисторов фактически достигнут?


Если вы хотите узнать ответы на все эти вопросы — добро пожаловать под кат. По просьбам читателей предыдущих статей предупреждаю: там много текста, на полчаса.
Читать дальше →
Всего голосов 118: ↑116 и ↓2+114
Комментарии243

Как разработать микросхему, от идеи до результата. Часть 2. Установка программного обеспечения

Время на прочтение9 мин
Количество просмотров10K
В этой статье мы поставим все необходимые инструменты для того, чтобы начать разработку микросхемы. Также мы установим Process Design Kit, про который мы говорили в предыдущей статье.

Напоминаю, что я продолжаю идти к цели — сделать свой собственный Отечественный Процессор (TM). Продолжение процесса разработки можно посмотреть под катом.

Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии18

Сборка PC AT-совместимого компьютера с процессором 80286

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

Преамбула

В детстве у меня не было велосипеда…

Нет, не совсем так. В детстве я вволю наигрался кустарными «Спектрумами», в школе застал КУВТ (MSX-2), а в ВУЗе − ДВК (почти что легендарная PDP-11). Благодаря этому я не терял времени даром. И когда у меня появилась возможность обзавестись собственным серьёзным компьютером, я был уже тёртым калачом. Я был в курсе событий в мире IT. Я знал, что Intel и 32 бита победили. С трудом преодолев ограничения бюджета (голодные 90-е, студенческие подработки плюс займы у родни), я зашёл в мир PC с козыря − 386SX.

Козырь, конечно, был мелковат: «четвёрки» тогда разлетались, как горячие пирожки, на горизонте маячил Pentium, а с другого краю Эппл спешно менял 68000 на PowerPC. Тем не менее, новым операционным системам, средам разработки и даже играм всё чаще требовались пресловутые 32 бита, и IA-32 + 4 мегабайта стали для меня своего рода пропуском в клуб, пусть и не VIP. Я научился клепать базы данных на Delphi, настраивать сеть на NetWare и FreeBSD, открыл для себя Интернет… В общем, я был рад тому, что не взял тогда «с рук», за полцены, изрядно подержанную «двойку».

Однако сейчас, спустя почти 30 лет, меня заела то ли ностальгия, то ли любопытство, а может, это называется «гештальт»? Или я чего-то не договариваю… В общем, под занавес 2020 года я присоединился к ретро-компьютинговому сообществу, собрав свой первый велосипед двести восемьдесят шестой.

Дисклеймер

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

Читать далее
Всего голосов 35: ↑34 и ↓1+50
Комментарии39

Работаем с модулями ядра в Linux

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

Ядро — это та часть операционной системы, работа которой полностью скрыта от пользователя, т. к. пользователь с ним не работает напрямую: пользователь работает с программами. Но, тем не менее, без ядра невозможна работа ни одной программы, т.е. они без ядра бесполезны. Этот механизм чем-то напоминает отношения официанта и клиента: работа хорошего официанта должна быть практически незаметна для клиента, но без официанта клиент не сможет передать заказ повару, и этот заказ не будет доставлен.
В Linux ядро монолитное, т.е. все его драйвера и подсистемы работают в своем адресном пространстве, отделенном от пользовательского. Сам термин «монолит» говорит о том, что в ядре сконцентрировано всё, и, по логике, ничего не может в него добавляться или удаляться. В случае с ядром Linux — это правда лишь отчасти: ядро Linux может работать в таком режиме, однако, в подавляющем большинстве сборок возможна модификация части кода ядра без его перекомпиляции, и даже без его выгрузки. Это достигается путем загрузки и выгрузки некоторых частей ядра, которые называются модулями. Чаще всего в процессе работы необходимо подключать модули драйверов устройств, поддержки криптографических алгоритмов, сетевых средств, и, чтобы уметь это правильно делать, нужно разбираться в строении ядра и уметь правильно работать с его модулями. Об этом и пойдет речь в этой статье.
Читать дальше →
Всего голосов 120: ↑113 и ↓7+106
Комментарии50

Программируем Raspberry Pi на голом железе

Время на прочтение2 мин
Количество просмотров100K
До сих пор Raspberry Pi остается одним из самых популярных технологических гаджетов.На эту плату Вы можете установить практически любую операционную систему. Но сегодня мы поговорим о том, как писать программы для этой платы без операционной системе, пользуясь лишь аппаратными средствами.

В чем подвох?


На первый взгляд задача кажется тривиальной: скачиваем keil, создаем проект… Но все не так просто. Все среды программирования(keil, IAR, Atolic) поддерживают максимум ARM9.У нас же ARM11. Это связано с негласным правилом, что на голом железе пишут до ARM9, а после на Линуксе. Но все-таки есть одна лазейка: arm-none-eabi-gcc поддерживает любой ARM.
Вторая проблема заключается в том, что под данный процессор(BCM2835) нет никаких конфигурационных файлов, header'ов и т.д. Здесь нам на помощь придет загрузчик Raspberry Pi. И ничего, что он пропритетарный. Он выполняет две функции: инициализирует процессор и его периферию, а также передает управление ядру kernel.img. Мы просто замаскируем свою программу под ядро и загрузчик её запустит.
Читать дальше →
Всего голосов 70: ↑67 и ↓3+64
Комментарии62

Операционные усилители. Часть 5: Частотно-зависимая обратная связь в ОУ. Активные фильтры и генераторы сигналов на ОУ

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

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

В данной публикации цикла мы разберём работу ряда схем на ОУ с частотно-зависимой обратной связью и научимся собирать на ОУ активные фильтры и генераторы.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+53
Комментарии12

Компиляция. 1: лексер

Время на прочтение7 мин
Количество просмотров92K
Меня всегда завораживало таинство рождения программой программы. К сожалению, российские вузы уделяют мало внимания сей интереснейшей теме. Рассчитываю написать серию постов, в которых поэтапно создадим маленький работоспособный компилятор.

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

Далее в посте:

  1. С какой стати писать компиляторы?
  2. Общий план
  3. Анализ текста
  4. Практический пример
  5. Как это работает?
Читать дальше →
Всего голосов 93: ↑89 и ↓4+85
Комментарии45

Floppinux — Linux, умещенный на дискету

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

Новость по этому поводу уже была, время подавать и сам перевод. В своем руководстве Кристиан подробно излагает каждый шаг процесса создания дистрибутива и его записи на дискету формата 3.5". В конечном итоге работает такой дистрибутив даже на старых ПК с i486DX и вполне может выполнять скомпилированные приложения.
Всего голосов 52: ↑46 и ↓6+55
Комментарии40

Джон Рейнарц и его легендарный радиоприёмник

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

27 ноября 1923 года американские радиолюбители Джон Рейнарц (John L. Reinartz, 1QP) и Фред Шнелль (Fred H. Schnell, 1MO) провели двустороннюю трансатлантическую радиосвязь с радиолюбителем из Франции Леоном Делоем (Leon Deloy, F8AB) на длине волны около 100 м. Это событие оказало огромное влияние на развитие мирового радиолюбительского движения и радиосвязи на коротких волнах. Одним из решающих факторов, повлиявшим на успех, оказалась доработка Шнеллем и Рейнарцем схемы регенеративного радиоприёмника Армстронга. Доработки оказались настолько удачными, что для конструкций подобных приёмников фамилии «Шнелль» и «Рейнарц» стали именами нарицательными.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии26

Устройство пакетной системы OpenWrt

Время на прочтение7 мин
Количество просмотров30K
Операционная система OpenWrt обычно используется как прошивка для роутеров. Типичное применение заключается в том, чтобы установить и забыть. Но если вдруг вам чего-то не хватит, то придётся разбираться в устройстве дистрибутива.



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

Мне захотелось запатчить LUCI (этого в статье не будет), но адекватного быстрого введения я не нашёл, пришлось самостоятельно собирать отрывки сведений из разрозненной документации, статей и примеров, поглядывая в код и на результаты работы. Бонусом собрал примитивный (но бесполезный на практике) пакет, которого ещё нет в репозитории. Собранным ликбезом делюсь ниже.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии8

PAL, GAL и путешествие в цифровое ретро

Время на прочтение17 мин
Количество просмотров22K
Идея сделать цифровые логические микросхемы с изменяемой структурой была всегда. Почему? Достаточно посмотреть на толстенный каталог чипов серии TTL 74xx (или советской К155), чтобы такая идея самозародилась. В СССР почти у каждого инженера и радиолюбителя был справочник В.Л. Шило «Популярные цифровые микросхемы», который вышел каким-то невероятным тиражом. Но всё равно, хотелось иметь некий «универсальный кристалл», из которого можно сделать все остальные микросхемы (ну хорошо, не все, но многие).

Конечно же, полупроводниковая промышленность тоже была не прочь удовлетворить такой спрос.
Дальше
Всего голосов 95: ↑95 и ↓0+95
Комментарии38

Как два программиста хлеб пекли

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


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Всего голосов 380: ↑348 и ↓32+316
Комментарии328

Информация

В рейтинге
2 559-й
Откуда
Россия
Зарегистрирован
Активность