Pull to refresh
46
0
Dmitry Votintsev @dmitryvv

User

Send message

Как отличить начинающего профессионала от умудренного хоббиста в цифровой схемотехнике?

Reading time7 min
Views12K

В чем главное отличие между FPGA-хоббистом, ностальгирующим по КР580ИК80 на пенсии - и начинающим микроархитектором, ориентированным на будущее трудоустройство в передовую процессорную компанию или сфинансированный венчурными капиталистами стартап?

Три слова: понимание концепции конвейера. Молодым профессионалом, не старым хоббистом.

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

(Некоторые из таких людей даже пишут книги - вот некий Роберт Дунне реализовал процессор конечным автоматом с состояниями fetch/decode/execute, но до конвейера не дожал)

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

Но это надо преодолеть, поскольку если вы прийдете интервьироваться в какой-нибудь AMD на позицию юного проектировщика, вас будут спрашивать не как помигать лампочками и засунуть Радио РК-86 в Xilinx, а как стоя перед интервьирующим написать на доске на языке описания аппаратуры Verilog - конвейерную реализацию какого-нибудь умножения со сложением. Или сделать это на компьютере отрезанном от интернета, так что вы даже не cможете нагуглить решение - вот садисты, а?

Именно этому вопросу будет посвящено следующее занятие Сколковской Школы Синтеза Цифровых Схем.

Объяснение концепции конвеера военкоматом
Total votes 26: ↑18 and ↓8+10
Comments91

Интеллектуальная производительность без выгорания: 7 техник использования мозга. Часть 1

Reading time18 min
Views54K

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

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

Читать далее
Total votes 71: ↑66 and ↓5+61
Comments23

Фонетическая раскладка на основе анализов частотности

Level of difficultyEasy
Reading time16 min
Views11K

Предыстория и предпосылки


Пару лет назад я, будучи стандартным пользователем «qwerty-йцукен», стал всё больше замечать, что процесс набора на этой паре раскладок имеет ряд неудобств, и чем больше я об этом думал, тем более раздражающими они казались.

На каждой раскладке свой набор символов, из-за чего для некоторого набора нужно было переключать раскладку, вводить символ, а после возвращаться на прошлую; на каждой раскладке своё расположение для одних и тех же символов; некоторые востребованные символы и вовсе доступны только через комбинации с alt; ужасное расположение «ё» на русской раскладке; ну а об общем позиционировании букв на «qwerty» вы наверняка уже читали ранее, как и о полулегенде о намеренно сложном для набора расположении, как костыле для обхода западания клавиш на первых пишущих машинках.

Тогда я стал искать, что же предлагают альтернативные раскладки. Как оказалось, они все пытаются решить только последнюю проблему. Бесспорно, весьма успешно, но только одну-единственную проблему. И только для английского языка. Для русского найденные раскладки выглядели крайне сомнительно и, как мы убедимся позже, едва ли были лучше стандартной. Также многие английские раскладки, очевидно, разрабатывались с оглядкой на «qwerty», не создавая альтернативу, а попросту немного изменяя стандартный вариант позиционирования.

И это всего две раскладки, для двух популярнейших в интернете языков, хотя многие пользуются и тремя, а то и более.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments38

Хочу красивую железку. PCB Art — печатная плата как искусство

Reading time2 min
Views44K

Я с детства обожал смотреть на печатные платы. Они прекрасны! Легко мог разобрать отцовский магнитофон, чтобы просто посмотреть на его мозг. Собрать потом, правда, не мог. Мог очень долго изучать материнскую плату — это же целый город, со своими заводами, домами и автомагистралями. Но по-настоящему сильный восторг от печатной платы я испытал, когда навернулся голосовой чип у моего старичка Juno-106. Этому синтезатору больше 30 лет. Его голосовые чипы выходят из строя со временем, потому что компаунд, которым они покрыты, начинает пропускать влагу. Синтезатор давно не выпускается. Но многим нужны эти чипы. Один парень занялся их реверс-инженирингом, и собрал свой на современных компонентах. Ну и я купил 6 таких. Ребята, это чудо!


Красота
Источник


Платка толщиной в пол миллиметра. Полосы по краям — скрайбирование. Такая процарапанная борозда. Они сделаны специально для того, чтобы покупатель выломал голосовой чип из этой опалубки. Когда я выламывал свой… Ух! Это чистый восторг! Хрум, хрум.


К чему я это? А к тому, что можно сделать красивую железку вообще без корпуса!

Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments125

Проектирование импульсного источника питания с активным ККМ. Эпизод I

Reading time28 min
Views184K

Предисловие


В своей предыдущей статье я говорил, что продолжу рассказ о работе с датчиками тока на эффекте Холла. С того момента прошло не мало времени, выход продолжения затянулся, да и писать «скучную теорию» я не любитель, поэтому ждал практической задачи.

Еще одной причиной отсутствия статей была моя работа в одной «современной успешной IT-hardware-компании», сейчас наконец-то я ее покинул и окончательно пересел на фриланс, так что время для статьи появилось))

Недавно ко мне обратился мой старый наставник и просто очень хороший человек. Естественно я не мог отказать в помощи, а оказалось все достаточно просто — меня попросили сделать блок питания для КВ трансивера FT-450, который будет более стабильный в работе, особенно при пониженном входном напряжении, чем уже имеющийся Mean Well. Прошу заметить, я не говорю о том, что Mean Well плохая фирма, просто в данном случае нагрузка достаточно специфическая, а так продукция у них вполне себе хорошая.

Диагноз примерно такой:


— Заявлен выходной ток в 40А, на деле при потреблением в 30-35А (на передаче) блок уходит в защиту;
— Наблюдается сильный нагрев при длительной нагрузке;
— Совсем становится плохо, когда использует его на даче, где напряжение в сети 160-180В;
— Напряжение максимальное 13,2-13,4В, а хотелось бы 13,8-14В с возможностью подкрутить +-20%.

Особенностью данной статьи будет то, что проект продвигается вместе с ней. Я за него только засел и поэтому смогу рассказать обо всех этапах разработки: от ТЗ до готового прототипа. В таком формате статей с наскоку на гике я не нашел, обычно люди пишут уже проделав всю работу и забыв половину мелочей, которые часто несут в себе главный интерес. Так же эту статью я хочу написать доступным для новичков языком, поэтому местным гуру стоит чуточку проще относиться к «неакадемичности» моего слога.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments289

Умный квест в реальности: демоны и проводки

Reading time12 min
Views39K
Многие слышали про квесты в реальности — перенесенные в наш мир игры жанра escape the room. Решаешь головоломки, получаешь ответы, проходишь на следующий этап. Закончить нужно за час, в итоге открывается дверь на выход. Но немногие знают, как они устроены внутри. В этой статье мы заглянем за кулисы одного из таких квестов, а также сравним его с другими в техническом плане.

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



Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments23

Создаём свой сайт для управления Ардуиной

Reading time3 min
Views67K
Как-то раз, мне на почту пришло письмо, человек интересовался возможностью реализации собственного сайта для работы с ардуиной. Что ж, подумал я, а ведь в самом деле, неплохо бы автоматизировать процесс создания подобных сайтов. Сказал-сделал, хорошо ли плохо, судите сами.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments3

Жизнь в стиле SMART (продолжение)

Reading time6 min
Views9.4K
В предыдущей статье мы рассказывали о преимуществах и проблемах использования системы Умного дома с точки зрения пользователей. Теперь поговорим о конкретной реализации .

Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments1

Микросхемы с подпороговыми рабочими напряжениями питания – революционный подход к снижению тока потребления

Reading time8 min
Views23K
imageimage

Последнее время в своей работе постоянно сталкиваюсь с задачами по снижению потребления разрабатываемых микросхем. Наиболее популярными на текущей момент решениями являются динамическое управление тактированием и напряжением питания. Т.е. если для решения текущей задачи не требуется тот или иной блок микросхемы, то для него отключается тактирование, снижается или вовсе отключается напряжение питания. Такие гранды как Texas Instruments и Renesas пока меряются пи…. потреблением своих микроконтроллеров на уровне 100 мкА/МГц. При этом история показывает, что первую роль в этом направлении очень часто играли стартапы. Так в период примерно с 2008 год по 2012 безусловным лидером в этом направлении была норвежская стартап-компания Energy Micro, которая в 2013 году была приобретена компаний Silicon Labs за примерно $170 миллионов. Последнее время появилось несколько новых стартапов уверяющих, что их решения позволят снизить потребление в разы. Так компания Ambiq Micro заявляет, что их микроконтроллер на базе ARM Cortex-M4F будет потреблять всего 30 мкА/МГц. В целом основная идея все та же – снижение напряжения питания, но в данном случае напряжение питания снижено ниже уровня порога транзистора.
Как это работает
Total votes 33: ↑33 and ↓0+33
Comments13

Car Hacking: так ли безопасны системы безопасности автомобиля?

Reading time18 min
Views54K


Автомобили обросли огромным количеством электроники, начиная со спидометра и заканчивая контроллером тормозной системы. Все эти устройства связаны в единую локальную сеть, что дает простор для попыток влезть в нее и немного там обжиться. В этой статье я расскажу, как устроен среднестатистический автомобиль, и постараюсь посеять в тебе паранойю и страх (смайл).
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments50

Использование DSP-сопроцессора DM8168 с помощью фреймворка C6Accel

Reading time14 min
Views12K


В этой статье мы познакомимся с отладочной платой DM816x/C6A816x/AM389x и фреймворком C6Accel (он же C6EZAccel), а также рассмотрим инструкции по наладке системы для выполнения встроенных тестовых приложений.

Всё началось с интересной идеи использовать алгоритмы нынче очень популярной библиотеки компьютерного зрения OpenCV на микропроцессоре. Однако, изучив немного тему, идея уточнилась. Почему бы не реализовать алгоритмы не просто на ядре ARM, а на специализированном ядре для цифровой обработки сигналов DSP? Тем самым разгрузим ядро ARМ, ускорим выполнение алгоритмов, и, глядишь, самое громоздкое приложение заработает в реальном времени.

Итак, что же использовать для решения задачи? Оказалось вариантов немного…
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments10

Arduino & Modbus

Reading time6 min
Views207K
В предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?

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

Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Discrete Inputs 1 бит только чтение
Coils 1 бит чтение и запись
Input Registers 16 бит только чтение
Holding Registers 16 бит чтение и запись

Как нам подключить Modbus устройство к OpenHAB?
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments49

Raspberry и Telegram: предпосылки создания умного дома

Reading time3 min
Views87K


Один итальянский магазинчик нащупал новые способы использования Телеграма (и ранее WhatsApp'а), установив его на одноплатный миниатюрный компьютер Raspberry Pi. Как выясняется, мессенджер можно использовать для удалённого общения с собственной техникой. Ниже – перевод статей (1, 2) с сайта Instructables.com. Если есть уточнения по переводу, напишите об этом в комментариях.

Читать дальше →
Total votes 52: ↑44 and ↓8+36
Comments62

STM32 и FreeRTOS. 1. Развлечение с потоками

Reading time7 min
Views149K
Данный цикл из 5 статей рассчитан на тех, кому стало мало возможностей привычных «тинек» и ардуинок, но все попытки перейти на более мощные контроллеры оканчивались неудачей или не приносили столько удовольствия, сколько могли бы. Все ниженаписанное проговаривалось мной много раз на «ликбезе» программистов нашей студии (которые часто сознавались, что переход с «тинек» на «стмки» открывает столько возможностей, что попадаешь в ступор, не зная за что хвататься), поэтому смею надеяться, что польза будет всем. При прочтении подразумевается, что читающий — человек любопытный и сам смог найти и поставить Keil, STM32Cube и понажимать кнопки «ОК». Для практики я использую оценочную плату STM32F3DISCOVERY, ибо она дешевая, на ней стоит мощный процессор и есть куча светодиодиков.

Каждая статья рассчитана на «повторение» и «осмысление» где-то на один околовечерний час, ибо дом, семья или отдых…



Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments35

STM32 и FreeRTOS. 3. Встаем в очередь

Reading time6 min
Views55K
Раньше: про потоки и про семафоры

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

Возьмем наиболее яркий и богатый проблемами пример, на котором «валятся» большинство неопытных программистов. Есть мощный и достаточно быстрый микроконтроллер. К нему подключен с одной стороны адаптер com-порта, через который пользователь подает команды и получает результаты, а с другой — шаговый двигатель, который согласно этим командам поворачивается на какой-то угол. И конечно же, прикольная кнопочка, которая тоже что-то этакое значит для пользователя. Где можно наловить проблем?
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments7

Термобарьеры, надгробные камни и прочие прелести печатных плат

Reading time6 min
Views153K


Пока крутые конструкторы проектируют правильные платы и заказывают производство на суперсовременных американо-европейских заводах, обратимся к опыту разработки печатных плат под возможности срочного производства одного из подмосковных (на самом деле Зеленоград – район Москвы) заводов с ручным подвальным монтажом (на самом деле ручные монтажники у них сидят аж на втором этаже, а в подвале стоит линия на 60,000 компонентов в час).

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

Много картинок, видео и личных мыслей
Total votes 100: ↑98 and ↓2+96
Comments36

Руководство хакера по нейронным сетям. Глава 2: Машинное обучение. Более традиционный подход: Функции потерь

Reading time4 min
Views14K
Мы публикуем перевод последней из существующих частей «книги». Обязательно будем следить за блогом автора и продолжим публикации этого материала, как только они появятся.

Содержание:
Глава 1: Схемы реальных значений
Часть 1:
   Введение   
      Базовый сценарий: Простой логический элемент в схеме
      Цель
         Стратегия №1: Произвольный локальный поиск

Часть 2:
         Стратегия №2: Числовой градиент

Часть 3:
         Стратегия №3: Аналитический градиент

Часть 4:
      Схемы с несколькими логическими элементами
         Обратное распространение ошибки

Часть 5:
         Шаблоны в «обратном» потоке 
      Пример "Один нейрон"

Часть 6:
      Становимся мастером обратного распространения ошибки


Глава 2: Машинное обучение
Часть 7:
      Бинарная классификация

Часть 8:
      Обучение сети на основе метода опорных векторов (SVM)

Часть 9:
      Обобщаем SVM до нейронной сети

Часть 10:
      Более традиционный подход: Функции потерь



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

По мере того, как я составляю эти математические формулы, я бы хотел начать относиться более внимательно к тому, как мы называем наши переменные и параметры. Я бы хотел, чтобы эти уравнения выглядели так же, как вы могли видеть их в книгах или других уроках, поэтому я начну использовать более стандартные наименования.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments0

Ловцы молний. Необычные эксперименты с грозой

Reading time7 min
Views166K
Добрый день, уважаемые читатели Хабра.

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

image

Меня всегда вдохновляла красота и мощь молний. Сила тока в разряде молнии достигает 10-300 тысяч ампер, а напряжение — от десятков миллионов до миллиарда вольт. Мощность разряда — от 1 до 1000 ГВт. Вот было бы хорошо «приручить» эту энергию!

Хочу предупредить, не повторяй это дома! Я соблюдаю особую осторожность и хорошо знаю природу электрических явлений. Помни, поражение молнией смертельно.
Читать дальше →
Total votes 266: ↑245 and ↓21+224
Comments195

Обзор новых технологий в производстве источников питания

Reading time5 min
Views103K
Текущий месяц выдался удачным для разработчиков элементов питания. В различных источниках то и дело появляются новости о новинках в этой отрасли. Я решил собрать информацию о них и поделиться с вами. Под катом вас ждёт много различных технологий хранения энергии — от сахарных до квантовых.

Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments37

Briggo: кофе-бот, который варит кофе не хуже бариста

Reading time2 min
Views26K


Думаю, на Хабре большое количество любителей кофе. Есть, наверное, и просто любители вкуса кофейных напитков, и те, кто использует кофе только в качестве стимулятора (особенно по утрам). Так вот, совсем недавно была опубликована информация о роботизированном бариста Briggo, способном делать огромное количество кофейных напитков, включая и те, что готовятся по рецепту самого клиента.

Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments64
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity