Pull to refresh
1
0
Send message

Неизвестный UART: микросхемы

Level of difficultyMedium
Reading time23 min
Views20K

Как было сказано в предыдущей статье, UART не является формализованным стандартом и, следовательно, при его использовании имеет смысл опираться на практику реализаций данного протокола в различных микросхемах. В данной статье будут рассмотрены микросхемы мостов USB‑UART различных производителей как с точки зрения особенностей поддержки протокола, так и с точки зрения временных/электрических характеристик, а также иных, в том числе не‑электронных соображений.

Запаять SSOP-20
Total votes 58: ↑57 and ↓1+74
Comments57

Как делается OpenSource: личный опыт

Level of difficultyMedium
Reading time17 min
Views38K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

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

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

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее
Total votes 394: ↑394 and ↓0+394
Comments71

Моделирование высокочастотных схем при помощи Qucs-S и Ngspice

Reading time7 min
Views7.3K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О базовых принципах работы с Qucs-S рассказывает моя предыдущая статья: https://habr.com/ru/articles/678526/ Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 1.0.2.

В Ngspice начиная с версии 37 добавлена возможность моделирования матрицы рассеяния (иначе называемое моделирование S-параметров). Qucs-S также поддерживает данные вид моделирования начиная с версии 0.0.24. Моделирование S-параметров и анализ ВЧ схем всегда было ключевой возможностью симулятора Qucs, наследником которого является Qucs-S. Но для Qucs-S, имеются некоторые отличия, о которых будет рассказано далее. На КДПВ приведён пример моделирования полосового фильтра на диапазон 40 метров для любительского КВ трансивера.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments37

Лови мутанта! Мутационные тесты: зачем и как

Level of difficultyMedium
Reading time5 min
Views4.1K

Я очень люблю тесты и считаю, что любой код должен быть покрыт ими, желательно качественными :)  
Поэтому хочу поделиться с вами опытом внедрения мутационных тестов в проект, рассказать зачем оно нужно и какую ценность несет. Рассмотрим пример внедрения Infection в приложение на Laravel. Но сначала немного теории.

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments16

Ключевые характеристики материалов для производства печатных плат

Level of difficultyHard
Reading time10 min
Views14K

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

Читать далее
Total votes 46: ↑45 and ↓1+58
Comments28

Путешествие сквозь секреты прошивок: исследование основ

Level of difficultyMedium
Reading time14 min
Views16K

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

Читать далее
Total votes 23: ↑22 and ↓1+36
Comments10

Семейство алгоритмов Ascon — новый стандарт легковесной криптографии

Reading time3 min
Views3.8K

Режим работы шифра Ascon, см. список условных обозначений на схеме

В феврале 2023 года Национальный институт стандартов и технологий (NIST) выбрал стандарт легковесной криптографии для RFID, датчиков, Интернета вещей и других устройств с ограниченными аппаратными ресурсами. Победителем конкурса стало семейство шифров Ascon (файл zip, спецификации, changelog).
Читать дальше →
Total votes 13: ↑12 and ↓1+18
Comments4

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views43K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Total votes 173: ↑173 and ↓0+173
Comments30

Что такое тексел?

Reading time5 min
Views9.8K

Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хочется поговорить о текстурах. О том, что такое тексель и о других базовых понятиях компьютерной графики. Что такое тексел или тексель? Если вам интересна эта тема — добро пожаловать под кат!

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments10

Цифровые флуктуации: почему ИИ ошибается и как с этим бороться

Reading time6 min
Views3.9K

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

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

Скорее читать далее!
Total votes 6: ↑5 and ↓1+4
Comments2

Третий вопрос на интервью в электронные компании

Reading time10 min
Views9.6K

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

Это может быть элементарный вопрос "напишите на доске (физической, ха-ха, без доступа к интернету и ChatGPT) код для FIFO на D-триггерах". Или это может быть обсуждение микроархитектуры какого-нибудь извращенного FIFO, например FIFO с отменой вталкиваний, или с возможностью втолкнуть и вытолкнуть переменное количество кусков данных за такт, или с конвейером и кредитным счетчиком, или работающее на памяти с высокой латентностью, или асинхронное FIFO из статьи Клиффа Каммингса про пересечение тактового домена.

Эта заметка является сиквелом заметки "FIFO для самых маленьких", а также приквелом занятия в Школе синтеза цифровых схем в ближайшую субботу. Главное нововведение - все примеры и упражнения теперь делаются не только в симуляторе, но и на плате ПЛИС.

Читать далее
Total votes 19: ↑18 and ↓1+24
Comments39

Из физики лазеров в машинное обучение. Часть 1

Reading time12 min
Views11K

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

Шел 2018 год, героиня была в декрете и беременна вторым ребенком. Чтобы было не скучно в декрете, решила занять себя чем-то интересным и полезным.

Cover photo: Generative AI, Stable diffusion 1.5 (prompt: vintage style photo of housewife sitting programming on a personal computer)

Читать далее
Total votes 35: ↑32 and ↓3+39
Comments25

Доступно о криптографии на эллиптических кривых

Reading time37 min
Views257K
image


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →
Total votes 127: ↑125 and ↓2+123
Comments73

Плоттер для письма из 3D принтера Geeetech A10M

Reading time2 min
Views9.7K

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

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments11

Личный опыт подтягивания английского к собеседованиям

Reading time5 min
Views25K

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

Читать далее
Total votes 27: ↑24 and ↓3+23
Comments18

15 ошибок начинающего Хабр-автора

Reading time9 min
Views2.5K

В один прекрасный момент случается «8 чудо света»: эксперт хочет написать статью в блог на Хабре. Искра, буря, безумие — и если всё это происходит в компании, то на горизонте появляется редактор, с которым можно вместе размышлять над черновиком. Примерно так я уже 6 лет работаю рука об руку с авторами корпоративных блогов.

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

Если вы задумываетесь написать свой первый пост на Хабр или (внезапно) начинаете карьеру редактора корпблога, то заглядывайте под кат — там найдете 15 самых распространенных ошибок: перед началом написания, в процессе и после публикации. Разбираю, почему они вообще появляются и как можно их избежать.

Ошибки, раступитесь!
Total votes 34: ↑26 and ↓8+26
Comments20

Микроскоп из оптических головок от DVD-привода

Reading time4 min
Views20K

Небольшой и доступный проект по сборке лазерного сканирующего микроскопа на основе двух оптических головок и многофункционального инструмента “Analog Discovery”. Одно из преимуществ такого микроскопа в возможности выравнивания лазерного пятна относительно изучаемого образца с точностью до микрометра.
Читать дальше →
Total votes 59: ↑54 and ↓5+65
Comments32

Как подружить Vivado и git: с микроблейзом и сабмодулями

Reading time17 min
Views7.2K

Разработка под программируемые логические интегральные схемы (ПЛИС) и систем на кристалле (СНК) отличается монструозностью IDE и их проектов. В одном котле замешаны исходные коды логических модулей, специфические файлы для привязки к контретной модели ПЛИС, файлы ресурсов, тесты, скрипты сборки, IP-ядра, программы для процессорной системы и т.д. Всё это помножается на проприетарность инструментов, жесткие правила лицензирования и широкое использование бинарных форматов файлов.

Эта статья написана в продолжение рассказа про организацию автотестирования радиоаппаратуры и отвечает на вопрос "как вы подготовили проект FPGA для хранения в репозитории и автоматической сборки в контейнере?".

Читать далее
Total votes 32: ↑32 and ↓0+32
Comments17

Physically-based rendering. Ray marching (часть 1)

Reading time6 min
Views9.2K

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments13

Внутренности SDR чипа AD9361 — когда микроэлектроника выгоднее наркоторговли

Reading time5 min
Views58K
Когда в 2013 году Analog Devices выпустила SDR трансивер AD9361 — случилась настоящая революция в цифровой радиосвязи. SDR были и раньше, но теперь в одном чипе можно было получить все: 2 канала на прием и 2 на передачу (с набортными 12-бит ЦАП и АЦП) с шириной канала до 56МГц, локальные генераторы и радиотракт — для работы в диапазоне от 70 (на передачу от 47) до 6000Мгц. На AD9361 «из коробки» можно реализовать почти любой цифровой приемопередатчик, за исключением наверное только UWB и начинающего набирать популярность диапазона 60ГГц (но там без аппаратной многоэлементной ФАР все равно делать почти нечего). Остается лишь добавить источник/приемник данных (пока это обычно FPGA), внешние фильтры и LNA/PA, если задача того требует.

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

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

Information

Rating
6,327-th
Registered
Activity