Search
Write a publication
Pull to refresh
172
120.3
Андрей @megalloid

Инженер, тестировщик, радиоинженер

Send message

HackRF One. Начало работы и варианты применения

Level of difficultyMedium
Reading time35 min
Views3.8K

Продолжаю свой рассказ о SDR‑трансивере HackRF One. На этот раз хотелось бы рассказать о том, что делать с устройством, когда оно оказалось у вас в руках. Какие проекты и способы использования доступны для обычного пользователя и радиолюбителя. Я постарался обобщить в статье всё, что удалось найти и то, что меня заинтересовало больше всего. Начну с процесса настройки, а потом попробуем железку в деле!

Всем заинтересованным — добро пожаловать под кат!

Читать далее

HackRF One. Доступный SDR трансивер для каждого

Level of difficultyMedium
Reading time15 min
Views21K

В очередной раз перебирая залежи своей электроники мне на глаза попался старый добрый товарищ - SDR-трансивер HackRF от Great Scott Gadgets. И я вспомнил, что у меня когда-то давно были планы написать несколько статей о том, как им пользоваться, что он может, да и зачем он вообще нужен. По всему Интернету я нагуглил огромное количество самого разнообразного разрозненного материала насчёт HackRF, утилит, прошивок, дополнительных модулей и прочего. И я решил подсобрать все это в своём материале сделав хороший вводный обзор.

Для всех, кому интересна тема радио и SDR — добро пожаловать под кат!

Читать далее

Генератор трафика Cisco TRex. Обзор

Level of difficultyEasy
Reading time18 min
Views6.3K

Учитывая сложившееся положение на рынке и снижение доступности готовых решений для осуществления сетевых тестирований - актуальным становится рассмотрение любых доступных альтернатив. Один из самых доступных и достойных вариантов - Open Source решение TRex от компании Cisco. Данный трафик-генератор я использую в своей текущей работе и поделиться своим опытом его использования. Его особенности, возможности и как им пользоваться - я бы хотел рассмотреть в этой статье.

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

Приглашаю всех заинтересованных под кат!

Читать далее

Изучаем RISC-V с платой Sipeed M1S

Level of difficultyEasy
Reading time22 min
Views8.9K

Наконец-то появилось время и желание пощупать и опробовать в деле давно купленную отладку от Sipeed на базе RISC-V SoC BL808. Попутно я решил собрать материал по теме и поделиться с читателями своим опытом использования этого SoC в разных сценариях. Помимо обзора отладки и SoC я подробно расскажу, что предоставляет производитель для энтузиастов, состав SDK,  как собрать Linux-ядро, примеры ее использования. Всем кому интересна данная тема — добро пожаловать под кат! =)

Читать далее

Zynq 7000. HDMI для платы Zynq Mini для baremetal

Level of difficultyMedium
Reading time10 min
Views7.3K

Я давно носил идею проверки HDMI на платах Zynq, и вот наконец-то дошли руки до этого интересного топика. В этой статье я покажу, что вывод изображения через HDMI достаточно прост, но ограничусь только рассмотрением вывода изображения из baremetal-приложений, а вопросы про Linux оставлю для следующей статьи. В первую очередь изучим возможность простого вывода изображения в HDMI из генератора тестовых изображений с использованием Test Pattern Generator в PL-логике, а затем коснёмся применения AXI Video DMA.

Всем интересующимся добро пожаловать под кат!

Читать далее

Zynq 7000. Загрузка Embedded Linux на SoC через JTAG с помощью XSCT

Level of difficultyEasy
Reading time11 min
Views6.6K

Учитывая, что я очень давно занимаюсь отладкой и запуском самых разнообразных проектов связанных с Zynq 7000 — со временем количество итераций перезапуска при проведении отладки увеличивалось пропорционально сложности проекта. Когда я только начинал осваивать разработку под Zynq, то каждый раз закидывал новый образ на microSD карту. Это было очень медленным процессом и требовало от меня постоянно подключать/отключать карту. После этого я освоил сетевую загрузку через Ethernet и TFTP, заменяя файлы по сети и проверяя результат после перезагрузки.

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

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

Читать далее

Тестирование NAND и eMMC

Level of difficultyEasy
Reading time24 min
Views14K

Когда я плотно занимался аппаратным тестированием, в рамках разработки embedded-устройств, часто бывало так, что инженеры-разработчики и я оказывались в условиях жесткого ограничения в выборе возможных компонентов NAND или eMMC. И в этой связи очень часто возникала необходимость дополнительных проверок каждого из компонентов на долговечность и качество работы. Очень часто приходилось проверять чипы-кандидаты на общий ресурс записи/чтения, скорости операций и т. п. И мне пришла идея, почему бы не поделиться своим опытом с другими специалистами, перед которыми стоят аналогичные задачи. Я хотел бы рассказать в данной статье, что такое Flash-память, почему они выходят из строя и как я организовал тестирование, как через тестирование минимизировать риски при выборе устройства хранения для разрабатываемого устройства. 

Всем, кому интересна данная тема — приглашаю под кат.

Читать далее

Обзор отладочной платы ALINX AXU15EGB

Level of difficultyMedium
Reading time12 min
Views6.9K
Давненько ко мне в руки не попадалось ничего интересного, но ситуация поменялась 🙂. Попутным ветром принесло тут платку, и я решил, мол, а почему бы мне не сделать на неё небольшой обзорчик? Итак, отладочная плата с Zynq MPSoC от небезызвестной компании Alinx, которая торгует всяким интересным на Aliexpress.

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

Кому интересно – добро пожаловать под кат!



Читать дальше →

STM32. Процесс компиляции и сборки прошивки

Level of difficultyEasy
Reading time30 min
Views38K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

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

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →

STM32. Подготавливаем среду разработки в Linux

Level of difficultyEasy
Reading time21 min
Views38K
В недавнем времени получилось так, что у меня появилась пара интересных проектов, где одна из составных частей — микроконтроллер STM32. И каждый раз при смене ноутбука или ОС на домашнем компе приходится настраивать окружение для разработки как в первый раз. Плюсом, последние проекты, которые я делал для STM32 — выполнял в Windows, в демо-версии Keil uVision. Но поскольку я давно переехал в Linux — возникла необходимость основательно разобраться и изложить процесс настройки окружения для будущих применений.

Всем, кому интересно — добро пожаловать под кат.

Читать дальше →

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе

Level of difficultyMedium
Reading time22 min
Views7.5K
После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо действию с подчиненным устройством. Я подумал, что было бы классно сделать такую проверку своего автомата во взаимодействии с простейшей I2C 2K-bit EEPROM.

Идея простая — читаем и записываем данные по нажатию клавиш на одной из отладок с Cyclone IV, которые я рассматривал в одном из своих обзоров.

Если материал вам кажется интересным — добро пожаловать, с удовольствием и в свойственной мне манере расскажу, чего мне удалось добиться, а чего не удалось. 🙂

image


Читать дальше →

Создаем I2C Master Controller на Verilog. Пишем HDL код

Level of difficultyMedium
Reading time14 min
Views9.4K
Закончив в предыдущей статье описание того, как должны осуществляться атомарные операции и каким образом осуществляется выполнение команд я бодро перешел к написанию HDL-кода. Пришлось разобраться с тем, как организовать FSM, как организовать считывание и выставление данных на шине.  

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

Всем интересующимся — добро пожаловать под кат! =)

image
Читать дальше →

Создаем I2C Master Controller на Verilog. FSM, Clock, Output Logic, etc

Level of difficultyMedium
Reading time12 min
Views6.6K
После длительного перерыва я продолжил разработку I2C Master Controller на Verilog. В прошлых статьях я рассмотрел основной теоретический материал, необходимый для реализации изначальной задумки. В этом материале переходим к более интересному содержанию: я последовательно расскажу про процесс проектирования конечного автомата I2C, расскажу про тактирование и как организована логика выходных сигналов и многое другое.

Всем, кому интересно — добро пожаловать под кат!

image


Читать дальше →

Создаем I2C Master Controller на Verilog. Логический уровень

Level of difficultyMedium
Reading time12 min
Views9.6K
Продолжаю описание процесса изучения того, что такое I2C и с чем его едят. В этой статье я перейду от описания физических процессов, происходящих на шине к описанию того, как интерфейс функционирует на уровне логики, пакетов, какие служебные сигналы есть и для чего они используются при обмене данными.

Делаю я это для того, чтобы изучить то, как функционирует этот интерфейс на всех уровнях и чтобы заложить основу для разработки I2C Master Controller на Verilog, с помощью которого будет будет организован обмен данными с дисплеем SSD1306 и Zynq.

Всем, кому интересно — приглашаю ознакомиться с материалом под катом! =)

image
Читать дальше →

Создаем I2C Master Controller на Verilog. Идея и физический уровень

Level of difficultyMedium
Reading time16 min
Views12K
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

И немного поразмыслив — я подумал, что на этапе разработки этого модуля быстрее было бы его реализовать плате с ПЛИС Altera. Уж очень долго собирается bitstream-файл под Zynq. А в качестве тестового подчиненного устройства — буду использовать EEPROM и по мере готовности задачи — потом просто перенесу модуль в Vivado.

В как раз о том, что такое I2C, как я реализовывал Master Controller для работы с подчиненным устройством, чем руководствовался и что получилось — я опишу для вас в этой и последующих статьях.

Традиционно, кому интересно — добро пожаловать под кат! =)

image
Читать дальше →

Обзор отладочной платы Altera Cyclone IV OMDAZZ

Level of difficultyEasy
Reading time8 min
Views13K

Я решил в этом сезоне закончить обзоры разнообразных плат с ПЛИС и переключиться на действительно сложные (для меня) технические задачи. И последний свой обзор в этом сезоне я решил посвятить плате с Altera Cyclone IV на плате от OMDAZZ, которой со мной любезно поделилась компания из Питера - “РСВ Электроникс” в которой я рассматриваю возможность пройти обучение основам Verilog и обобщить свои знания по цифровой схемотехнике, получить практические навыки, которые помогут мне решать новые для себя задачи, а затем писать для вас разные крутые статьи! ?

Обзор будет не самый обычный - я еще попутно расскажу о том, как с использованием этой платы и при помощи наставников из РСВ Электроникс я буду повышать свой скилл по работе с FPGA с около нулевого до достаточно уверенного junior-уровня. Не всё же просто обзоры делать с мигалками. Пора двигаться дальше! :) 

Всем кого заинтересовала данная тема - прошу проследовать за мной (под кат)! 

Читать далее

Hello World на Tang Primer 20K под Linux

Level of difficultyMedium
Reading time10 min
Views9.2K
После обзора на Tang Primer 20K — стало очевидно, что она вызывает немалый интерес и было решено немедля сделать разбор о том, каким образом можно настроить свой ПК и IDE для того чтобы начать взаимодействовать с отладочной платой, которую я рассмотрел в прошлой статье. Изначально, до момента пока я не познакомился сам лично с ПЛИС от Gowin и не запустил демо-проект — юзабельность, скорость и простота работы с их IDE вызывала сомнение. Но как только попробовал — все опасения были развеяны и я остался доволен.

Опытом настройки я с вами хотел бы поделиться в этой статье. Всех интересующихся — я по традиции приглашаю под кат!

image
Читать дальше →

Обзор платы Tang Primer 20K на Gowin GW2A-LV18

Level of difficultyMedium
Reading time8 min
Views15K
После получения большого количества отзывов и комментариев на обзор платы на Cyclone IV из части из них четко прослеживались мысль: “А почему Cyclone IV, это же старый хлам!”. В ответ на это я решил сделать обзор на что-нибудь современное, функциональное и очень недорогое. И такой вариант нашелся — это отладочная плата Tang Primer 20K на ПЛИС от небезызвестной компании Gowin. На неё я и сделаю обзор в этой статье и расскажу про примеры проектов, доступных для этой платы.

Кого заинтересовала тема — добро пожаловать под кат! =)

image
Читать дальше →

Altera Quartus Prime и ModelSim под Linux. Вводное руководство

Level of difficultyMedium
Reading time9 min
Views11K
В очередной раз, начав изучать что-то новое для себя, я столкнулся с типичной для меня проблемой: нет нигде быстро гуглящегося how-to и step-by-step руководства по быстрому созданию какой-либо простой конструкции на Verilog и описания способа эту конструкцию быстро симулировать без необходимости запуска кода в железе для проверки конечного результата. Я надеялся очень быстро найти готовый материал о том, как под Altera Quartus 20.1 и ModelSim 2020.1 под Linux всё по-быстрому сделать и идти дальше. В итоге не найдя ничего системно и последовательно описанного в одном месте я традиционно разобрался самостоятельно и решил это исправить своей очередной статьей на Хабре. 

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

image
Читать дальше →

Обзор отладочной платы Altera Cyclone IV EP4CE6

Level of difficultyMedium
Reading time7 min
Views15K
Очередной раз пролистывая Aliexpress, в поисках чего-нибудь интересного из мира FPGA-отладок, я наткнулся на один интересный экземплярчик. Попалась отладка на Altera Cyclone IV с большим количеством всякой периферии на борту + с которой за сравнительно небольшие деньги можно приобрести 4.3’’ LCD дисплей и камеру.

Посмотрев детально документацию и характеристики модулей — я особо не раздумывая решил ее заказать. После получения ее с пункта выдачи — я был в восторге и твердо для себя решил — нужно поделиться своей радостью со всеми интересующимися, сделав обзор этой отладочной платы со всеми ссылками и картинками. Поехали!
image
Читать дальше →
1

Information

Rating
83-rd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Quality Assurance Engineer, Hardware QA/QC Lead Engineer
Lead
Git
Python
Shell
MySQL
Embedded Linux
FPGA
STM32
Electronics Development
Arm Architecture