Pull to refresh
4
0
Алексей @proton17

Инженер разработчик электроники

Send message

Курс лекций «Основы цифровой обработки сигналов»

Reading time12 min
Views181K
Всем привет!

Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе познания этой области. В связи с этим я решил написать краткий интерактивный курс по цифровой обработке сигналов и выложить его в открытый доступ.

Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.


Читать дальше →
Total votes 100: ↑100 and ↓0+100
Comments97

Радиолюбительская технология: как я заказал монтаж печатной платы на китайской фабрике

Reading time5 min
Views31K

Цель публикации: рассказать, как подготовить несложную радиолюбительскую конструкцию к производству.

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

В этой статье описано: как производится монтаж печатных плат на производстве; как подготовить в CAD Eagle 7.7.0 проект для сборки прототипа на CAM, расположенной в КНР.

В этой статье не рассматриваются: критерии выбора контрагента, экономические аспекты, вопросы логистики.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments35

Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM

Reading time8 min
Views14K
В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilator. Так же будет рассмотрена универсальная методолгия верификации — UVM.

Установка ПО для SystemC UVM


1. Верилятор


Одним из языков описания аппаратуры является verilog. На этом языке можно написать модуль.

Например, есть схема счетика:

image

Его код будет выглядеть так:

reg [3:0]counter;
always @(posedge clk or posedge reset)
  if(reset)
    counter <= 4'd0;
  else
    counter <= counter + 1'd1;

После симуляции получим вейвформы:

image

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

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

Для тестирование кода проекта помимо таких языков как Verilog, SystemVerilog, Python (для написания моделей), можно использовать язык SystemC. SystemC — язык проектирования и верификации моделей системного уровня, реализованный в виде C++ библиотеки с открытым исходным кодом.

Один из способов верификации Verilog модулей с помощью SystemC является трансляция verilog файлов в С++. Поможет нам в этом Verilator.

Verilator — это самый быстрый бесплатный симулятор Verilog HDL, который превосходит большинство коммерческих симуляторов. Verilator компилирует синтезируемый SystemVerilog (обычно это не код тестового стенда), а также некоторые утверждения SystemVerilog и Synthesis в однопоточный или многопоточный код C ++ или SystemC. Verilator был разработан для больших проектов, где быстродействие симуляции имеет первостепенное значение, и особенно хорошо подходит для генерации исполняемых моделей процессоров для групп разработчиков встроенного программного обеспечения. Verilator используется для имитации многих очень больших многомиллионных конструкций шлюзов с тысячами модулей и поддерживается многими поставщиками IP-технологий, включая IP от Arm и всех известных поставщиков RISC-V IP.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments8

Беспроводной программируемый по Wi-Fi комнатный термостат с монитором качества воздуха и другими полезными функциями

Reading time35 min
Views31K

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


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


Что в результате получилось – читайте дальше. Надеюсь, кроме меня проект будет интересен другим.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments35

Опытное производство электроники за минимальный прайс

Reading time10 min
Views58K
Привет, Хабр!

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


А вот, например, совет держать включённый паяльник за ручку — полезный!

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

  • регулярно надо делать 5-10-50-100 плат с SMD-компонентами
  • по возможности быстро
  • по возможности дёшево

Если вы можете позволить себе — что по срокам, что по деньгам — услуги «Резонита» или «Компэла» (сотрудничающего, впрочем, с «Резонитом») по сборке модулей под ключ, то текст ниже в общем и целом не для вас. Однако, на практике даже в достаточно крупных компаниях люди, занимающиеся опытными образцами, часто собирают их сами — потому что это занимает пару дней вместо недели, потому что всегда можно на ходу что-то подправить, потому что не надо бегать между начальством и бухгалтерией со счетами и актами… В мелких же вопрос упирается попросту в деньги.

Тем более, что в наше время базовое оборудование, позволяющее делать подобные вещи достаточно быстро и достаточно дёшево, доступно даже любителю-одиночке.
Читать дальше →
Total votes 170: ↑167 and ↓3+164
Comments413

42 оператора расширенного поиска Google (полный список)

Reading time15 min
Views279K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Total votes 127: ↑124 and ↓3+121
Comments40

Проверка корректности адресов в памяти на Cortex-M0/M3/M4/M7

Reading time9 min
Views14K
Привет, Хабр!

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


Одна из весьма полезных и при этом почему-то в готовом виде нигде не описанных возможностей на микроконтроллерах Cortex-M (всех) — это возможность проверки корректности адреса в памяти. С её помощью можно определять размеры флэша, ОЗУ и EEPROM, определять наличие на конкретном процессоре конкретной периферии и регистров, прибивать упавшие процессы при сохранении общей работоспособности ОС и т.п.
Читать дальше →
Total votes 72: ↑72 and ↓0+72
Comments42

Pi-Sonos: хобби, вышедшее из-под контроля

Reading time6 min
Views21K


Идея дизайна нового корпуса интернет-радиостанции Pi-Sonos родилась еще до завершения работы над предыдущей его версией. Со временем, она впитала в себя накопленный пользовательский опыт и учла допущенные ранее недочеты. На этот раз все «по-взрослому».
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments39

Universal Radio Hacker — легкий способ исследовать цифровые радиопротоколы

Reading time3 min
Views43K

Universal Radio Hacker (URH) — невероятно простой и понятный инструмент для анализа цифровых радиопротоколов. В отличие от монстров вроде GNU Radio, освоить его можно за пять минут, без мучений.
Главные особенности URH:

  • Работает на всех платформах — на macOS/Linux/Windows, из коробки! Не нужно часами компилять километры зависимостей.
  • Поддерживает популярные SDR — нативная поддержка RTL-SDR, HackRF, LimeSDR, AirSpy и других.
  • Все в одном — все нужные инструменты встроены в одну программу: анализатор спектра для поиска частот, запись сигнала, интерпретатор цифрового сигнала для автоматического преобразования записанного сигнала в цифровые данные.
  • Поддерживает передачу — для проведения replay-атаки достаточно выделить мышкой нужный отрезок сигнала и нажать Replay. Великолепно!

В статье мы будем анализировать сигнал пульта от шлагбаума, при помощи народного RTL-SDR (радио из дешевого USB ТВ-тюнера) и macOS.

Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments23

Виртуальная память в ARMv7

Reading time5 min
Views8K
Здравствуйте!

В статье обзорно описана система виртуальной памяти архитектуры ARMv7.

Заголовок спойлера
Здесь не рассмотрены тонкости кэширования, DMA, LPAE и подобное. За более подробным описанием можно обратиться к литературе в конце статьи.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments2

MEMS-акселерометры и гироскопы — разбираемся в спецификации

Reading time12 min
Views68K
“Хьюстон, у нас проблемы”, — устало раздалось в мозгу, пытающемся в ночи продраться сквозь Datasheet IMU MPU-9250 от InvenSense. Когда все слова в отдельности понятны, но взаимосвязь их запутана до невозможности. Началось всё с параметра LSB, про который я только смутно помнила, что в переводе это Least Significant Bit. Дальше пошли “Resolution”, “Sensitivity”, а ещё дальше я поняла, что получающийся текст уже можно озаглавить “Datasheet для чайников”.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments9

Пример расчета для электрощитка

Reading time10 min
Views53K

Домашняя электросеть Part Deux


В этой статье я хочу привести пример выбора оборудования для щитка в квартире, условное продолжение предыдущей статьи (некоторые теоретические моменты были там рассказаны более полно). Потому такой подзаголовок.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments61

Новые китайские ПЛК с Алиэкспресс: Wecon LX3VP/LX3VE

Reading time6 min
Views34K
Продолжаю серию заметок о программируемых логических контроллерах, с которыми мне доводится работать. В этот раз будет снова про «китайские контроллеры с Алиэкспресс» от кампании Wecon.

Но сначала нужно напомнить, почему я ими заинтересовался. При выборе ПЛК для проекта неизбежно возникает вопрос соотношения цены и качества. Хорошо, конечно, везде использовать проверенные временем контроллеры Siemens или Schneider, но это не всегда позволяет бюджет- они весьма дорогие.

Раньше, когда приходилось ставить в проект более дешевые контроллеры, мы выбирали отечественный ПЛК ОВЕН, но по многим причинам стали искать альтернативу и ему. Среди прочего, я обратил внимание на недорогие ПЛК китайской фирмы Wecon серий LX3V/LX3VP/LX3VE. Про самую простую и дешевую модель LX3V-0806MT-A2 я уже писал.

Сегодня поговорим о более продвинутых моделях: LX3VP-1616MR-A и LX3VE-1412MT-A.


Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments49

Собираем собственный аудио усилитель профессионального уровня не (очень) дорого

Reading time4 min
Views129K

Получаем потрясающий стереозвук на основе платы 3e Audio Д-класса




Перевод статьи с сайта IEEE Spectrum, автор – Гленн Зорпет

Несколько лет назад я решил узнать, насколько дёшево можно сделать самому усилитель Д-класса аудиофильского качества. Тогда у меня получилось $523,43. Я смастерил достойный усилок, и статья на IEEE Spectrum всё ещё привлекает читателей и периодические вопросы о том, где можно достать запчасти.

Сожалею, но основные компоненты уже давно исчезли. Поэтому я направлял всех страждущих к наборам от Class D Audio, DIY Class D и Ghent Audio. И пару месяцев назад мне вдруг захотелось проверить, насколько лучше у меня получится сделать усилок сейчас, почти десять лет спустя. Часть мотивации возникла из-за ежегодных списков лучших стерео усилителей с сайта The Master Switch. В списке доминируют усилители стоимостью от $1000 (и десять из них стоят более $2000).
Читать дальше →
Total votes 56: ↑39 and ↓17+22
Comments156

Настройка HTTP/2 на примере Apache 2.4, PHP 7 и Ubuntu 18.04 LTS

Reading time3 min
Views32K
Я понимаю, что, возможно, Апач на данный момент не является предпочтительным выбором для запуска на нём новых проектов, то тем не менее, он существует, здравствует и проекты на нём таки работают. Выбор на него может пасть по каким-то личным предпочтениям, по требованиям совместимости, или каким-то другим соображениям… не суть. В этой статье я хочу по пунктам описать, как настроить поддержку протокола HTTP/2 на веб-сервере Apache, потому что сам им пользуюсь и в такой статье нуждаюсь нуждался, и надеюсь, что кому-нибудь она тоже пригодится на практике.
Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments26

Как я автоматизировал дачу на 90%

Reading time9 min
Views136K


Дачная электрика – известная проблема, отношение к ней в большинстве случаев наплевательское, если не сказать хуже. Если есть возможность подключить что-то не так и не туда — это, конечно, будет сделано.

Когда мы с женой начинали строить новую дачу вместо старой (где электрика прокладывалась многими поколениями и представляла собой жуткую мешанину из проводов и распаячных коробок), то прежде всего решили, что электрика будет грамотной, а дача – умной.
Читать дальше →
Total votes 114: ↑109 and ↓5+104
Comments304

DIY автономный дрон с управлением через интернет. Часть 2 про ПО

Reading time10 min
Views40K
Это продолжение повествования об автономном дроне. В первой части говорилось про hardware, в этой речь пойдет про software. Для начала небольшой ликбез про взаимодействие оператора с коптером. Вот типичная схема у большинства самосборных дронов:

image

А вот схема у продвинутых дронов:

image
Total votes 25: ↑24 and ↓1+23
Comments18

Wiren Board 6: снова на Хабре с новой версией контроллера для автоматизации

Reading time6 min
Views42K
Всем привет!

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


Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments94

Заказные блоки в микросхемах (Silicon IP): как это работает

Reading time22 min
Views42K
В каждой статье на Хабре, посвященной отечественным микропроцессорам, так или иначе поднимается вопрос лицензионных IP-блоков и того, насколько их наличие и отсутствие уменьшает ценность, отечественность или безопасность разработки. При этом очень многие комментаторы не слишком хорошо понимают предмет обсуждения, поэтому давайте попробуем разобраться, как же именно работает лицензирование в микроэлектронной индустрии, чем хороши и чем плохи лицензированные блоки, и в чем состоит процесс разработки микросхемы, если большая часть блоков в ней куплена.


Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments149

Пассивная агрессия: как она разрушает нашу рабочую жизнь и как с ней бороться

Reading time14 min
Views50K
Жизнь, как и личная, так и корпоративная, полна конфликтов. К сожалению, большинство из них происходит не из-за здорового различия во мнениях, а на почве взаимного недопонимания и как снежный ком копящихся обид. Я бы хотел поговорить о явлении, которое, на мой взгляд, является корнем (почти) всех зол и одной из главных проблем человеческого общения – о «пассивной агрессии».
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments32

Information

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