Как стать автором
Обновить
21
0
Павел Кузнецов @kpd200081

Пользователь

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

Сверхдлинное преобразование Фурье на FPGA

Время на прочтение13 мин
Количество просмотров19K
Всем привет!

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

В этой статье показана невозможность реализации «классической» схемы очень длинного БПФ даже на самых современных кристаллах ПЛИС и предложен алгоритм, позволяющий это сделать. Также пошагово рассмотрена основная идея алгоритма: от математической составляющей до создания законченного решения на базе ПЛИС с использованием внешней DDR-памяти. Статья затронет тонкости проектирования многоканальных систем обработки для подобного класса задач и, в частности, опишет мой практический опыт.


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

Автономный SDR приёмник на ПЛИС

Время на прочтение8 мин
Количество просмотров112K
image
Ранее я уже писал про самодельный SDR приемник, сделанный на базе отладочной платы DE0-nano. Как и большинство других SDR приемников, он не был способен работать без подключения к компьютеру. При этом в использованной ПЛИС оставалось еще большое количество неиспользованных ресурсов, так что я решил сделать приемник полностью автономным.
О том, как же работает весь SDR приемник целиком, и как его реализовать — далее.
Читать дальше →
Всего голосов 66: ↑65 и ↓1+64
Комментарии14

Согласование импедансов: о пользе формул

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

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

Подставить значения
Всего голосов 35: ↑35 и ↓0+35
Комментарии43

Защита микросхем от реверс-инжиниринга и несанкционированного проникновения

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

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

Реверс-инжиниринг микросхем — головная боль производителей с самых первых лет существования микроэлектроники. Вся советская электроника в какой-то момент была построена на нем, а сейчас с гораздо большим размахом тем же самым занимаются в Поднебесной, да и не только в ней. На самом деле, реверс-инжиниринг абсолютно легален в США, Евросоюзе и многих других местах, с целью (цитирую американский закон) “teaching, analyzing, or evaluating the concepts or techniques embodied in the mask work or circuitry”.

Самое частое легальное применение реверс-инжиниринга — патентные и лицензионные суды. Промышленный шпионаж тоже распространен, особенно с учетом того, что электрические схемы (особенно аналоговые) часто являются ключевой интеллектуальной собственностью и редко патентуются — как раз для того, чтобы избежать раскрытия IP и участия в патентных судах в качестве обвиняющей стороны. Разумеется, оказавшись в ситуации, когда нужно защитить свою интеллектуальную собственность, не патентуя ее, разработчики и производители стараются придумать способы предотвращения копирования своих разработок.

Другое не менее (а то и более) важное направление защиты микросхем от реверс-инжиниринга — обеспечение безопасности информации, хранимой в памяти. Такой информацией может быть как прошивка ПЛИС (то есть опять-таки интеллектуальная собственность разработчика), так и, например, пин-код от банковской карты или ключ шифрования защищенной флэшки. Чем больше ценной информации мы доверяем окружающему миру, тем важнее защищать эту информацию на всех уровнях работы обрабатывающих ее систем, и хардварный уровень — не исключение.
Читать дальше →
Всего голосов 237: ↑234 и ↓3+231
Комментарии130

Про импортозамещение

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

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

Читать далее
Всего голосов 472: ↑454 и ↓18+558
Комментарии1189

Реализация узла БПФ с плавающей точкой на ПЛИС

Время на прочтение17 мин
Количество просмотров32K
Всем привет! В этой статье речь пойдет о реализации быстрого преобразования Фурье в формате с плавающей точкой на ПЛИС. Будут показаны основные особенности разработки ядра от самой первой стадии до готового конфигурируемого IP-ядра. В частности, будет проведено сравнение с готовыми ядрами фирмы Xilinx, показаны преимущества и недостатки тех или иных вариантов реализации. В статье будет рассказано о главной особенности ядра БПФ и ОБПФ — об отсутствии необходимости переводить данные в натуральный порядок после БПФ и ОБПФ для их совместной связки. В этой статье я постараюсь отразить всё тонкости реализации проекта под названием FP23FFTK, приведу реальные примеры использования готового ядра. Проект написан на языке VHDL и заточен под FPGA фирмы Xilinx последних семейств.


Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии5

Цифровая фильтрация на ПЛИС – Часть 2

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


Всем привет!

Это вторая публикация на тему «Цифровая фильтрация на ПЛИС». Вторая часть будет посвящена практической реализации КИХ фильтров на FPGA. В процессе подготовки материала я понял, что она раздуется до небывалых размеров, но делить ее на несколько частей не хочется. Поэтому все тонкости теории и синтеза FIR фильтров будут в одной статье, разбитой на взаимосвязанные разделы. Начну обзор с теоретической части, в частности — расскажу об особенностях и методах расчета коэффициентов фильтров. Подробно рассмотрю создание КИХ фильтров в различных средах — MATLAB, CoreGENERATOR, Vivado HLS. Всех заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Подключение АЦП к ПЛИС. Особенности, сложности, реализация

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

Всем привет! В данной статье речь пойдет о подключении микросхем АЦП к кристаллам ПЛИС. Будут рассмотрены основные особенности соединения узлов схем, представлены современные АЦП и их характеристики. В статье будут даны практические советы по быстрому и правильному подключению АЦП к ПЛИС с минимальными временными затратами. Кроме того, речь пойдет о принципах подключения тех или иных АЦП, будет рассмотрен входной буфер ПЛИС и его базовые компоненты – триггеры, узлы задержки IODELAY, сериализаторы ISERDES и т.д. Более детально с примерами программного кода на языке VHDL будет проведен обзор основных элементов, требуемых для качественного приёма данных от АЦП. Это входной буфер, узел упаковки данных для одноканальных и многоканальных систем, модуль синхронизации и передачи данных на базе FIFO, узел программирования АЦП по интерфейсу SPI, узел синтеза частоты данных – MMCM/PLL. Также в статье будет представлен обзор законченных устройств (в стандарте FMC) от ведущих зарубежных и отечественных производителей аналоговых и цифровых схем. В конце статьи вы найдете ссылку на исходные коды универсального узла приёмника данных от многоканальных схем АЦП. Код простой и гибкий в конфигурировании, он представлен на языке VHDL и заточен на микросхемы ПЛИС Xilinx 7 серии и выше, но может быть применен и в других кристаллах ПЛИС.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии19

SoC: поднимаем простой DMA на FPGA

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


День добрый! В прошлой статье я описывал, как «поднять» с нуля SoC от Altera.
Мы остановились на том, что измерили пропускную способность между CPU и FPGA, когда копирование выполняется процессором.

В этом раз мы пойдем немного дальше и реализуем примитивный DMA в FPGA.
Кому интересно — добро пожаловать под кат.
Тут интересно
Всего голосов 31: ↑31 и ↓0+31
Комментарии4

Астрономический словарик: абсолютная звёздная величина, адаптивная оптика, альбедо и астрономическая единица

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

Абсолютная звёздная величина




Человек познаёт окружающий мир через упрощение и классификацию. Звёзды привлекали исследователей мира с древних времён, и казались загадочными из-за своей недосягаемости. Но если хотя бы один орган чувств способен воспринимать явление – мы можем описать его и попытаться классифицировать.

Так поступил Гиппарх Никейский — древнегреческий астроном, механик, географ и математик, живший около 2200 лет назад, и большую часть жизни работавший на острове Родос. Тайна звёздного неба чрезвычайно привлекала его, и, стремясь раскрыть её, он составил звёздный каталог, в котором разделил звёзды по их светимости на 6 классов. К звёздам 6-й величины он отнёс те из них, которые были едва различимы невооружённым глазом, а самые яркие отнёс к звёздам 1-й величины. Каждая следующая величина отличалась от предыдущей по яркости примерно в два раза. К сожалению, в первозданном виде его каталог не дошёл до наших дней, и знаем мы о нём только из трудов других великих учёных древности (Паппа, Страбона и Птолемея).
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии20

Загрузка отечественного DSP 1967ВН028 от внешней EEPROM

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

В этой заметке, разберу один из способов прошивки отечественного DSP процессора 1967ВН028. Рассмотрим процесс конфигурирования процессора и загрузочного файла. Также разберем процесс загрузки загрузочного файла в ПЗУ, при помощи предоставляемых производителем утилит Loader и Flasher.

Читать далее
Всего голосов 16: ↑14 и ↓2+18
Комментарии2

Видео о процессе производства спутниковых терминалов

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

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

Читать далее
Всего голосов 6: ↑1 и ↓5-4
Комментарии2

Что есть sshto?

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

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

Узнать sshto это
Всего голосов 15: ↑15 и ↓0+15
Комментарии13

Разработка процессорного модуля на базе микросхемы 1892ВА018 СнК «СКИФ» и его первый запуск

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

Версия данной статьи для "off-line прочтения" в формате PDF доступна по адресу: ссылка на статью.

В первой половине 2021 года в РФ резко обострились дебаты на тему импортозамещения, инициированные рядом изменений внесенных ранее в декабре 2020г в постановление N719 относительно закупок вычислительной техники, и бурно обсуждаемых на различных площадках и IT-форумах, таких как Elbrus Tech Day, YADRO Лекторий, а так же у ряда популярных блогеров. Основной посыл нововведений состоял в том, что вся вычислительная техника, закупаемая за бюджетные средства, должна иметь в основе микропроцессор, разработанный или произведенный в России или имеющий статус такового. Насколько такое решение Правительства годное и исполнимое — тема отдельного разговора, которую я не хотел бы сейчас затрагивать. Так или иначе, мы, в нашей небольшой компании, пришли к выводу, что данное решение Правительства может приоткрыть пусть не окно, но хотя бы форточку возможностей для мелких разработчиков электроники, которым является наша компания. Имея за плечами опыт разработки изделий на основе импортных (в основном китайских) систем-на-кристалле, мы решили, что на рынке могут быть востребованы одноплатные ПК, аналогичные Raspberry Pi и выполненные на отечественном СнК, по возможности близкие по габаритам и pin-to-pin совместимые с «малиной», а также процессорные модули, устанавливаемые на несущую плату, позволяющие упростить разработку конечного изделия и вынести сложную топологию за его границы.

Читать далее
Всего голосов 129: ↑128 и ↓1+161
Комментарии94

Разглядывая JTAG: идентификация

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

Каждый электронщик, работающий (или отдыхающий) с цифровыми микросхемами рано или поздно обязательно сталкивается с протоколом JTAG. Значительное количество материалов о данном протоколе содержит три раздела:
1) Обширный экскурс в историю и рассказ о том, как стенд с летающими щупами и рентгеновская установка легко могут быть заменены отладчиком на 2-3 порядка дешевле их.
2) Достаточно сжатое описание протокола JTAG (с картинкой его конечного автомата).
3) Рассказ о том, что фирменный отладчик, а также программное обеспечение компании <COMPANY NAME> позволят почти без усилий протестировать почти любое устройство почти любой сложности и конфигурации.

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

Идентифицировать микросхему
Всего голосов 52: ↑52 и ↓0+52
Комментарии33

Zynq 7000. Прикручиваем Wi-Fi модуль RTL8822CS с использованием SDIO через EMIO

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

Наконец-то пришла пора продолжить изучение возможностей платы Zynq QMTech и SoC XC7Z020. Следующая интересная задача, которую я для себя придумал в качестве обучающей - оснастить плату Wi-Fi модулем Realtek RTL8822CS и, если Wi-Fi модуль будет не нужен, а нужна будет ещё одна флешка - вторым портом для SD-карточки. Если интересны подробности того, как я это всё реализовал - добро пожаловать под кат. 

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии5

WebRTC для всех и каждого. Часть 1

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



Привет, друзья!


Представляю вашему вниманию первую часть перевода этой замечательной книги по WebRTC. Данная часть посвящена тому, что такое WebRTC, процессу сигнализации и установки соединения (первые 3 части оригинала).


Справедливости ради следует отметить, что на Хабре уже публиковался "вольный" перевод первых 2 частей оригинала (часть 1, часть 2), но автор по какой-то причине решил не продолжать. Я, свою очередь, решил начать с самого начала, без лишних вольностей и сокращений.


Ссылка на вторую часть перевода.


Если вам это интересно, прошу под кат.

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

Отечественный DSP процессор 1967ВН028 от фирмы Milandr. Небольшой мануал по арифметике на языке assembler

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

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1+22
Комментарии12

Полосковые СВЧ делители/направленные ответвители

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

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

В статье вас ждут фотографии, схемы и немного формул.

далее
Всего голосов 30: ↑29 и ↓1+34
Комментарии37

Реализации машины в qemu

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

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Зарегистрирован
Активность