Как стать автором
Обновить
160
0
Андрей @megalloid

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

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

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

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров8.5K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров7K

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров6.3K

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров13K

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.8K
Давненько ко мне в руки не попадалось ничего интересного, но ситуация поменялась 🙂. Попутным ветром принесло тут платку, и я решил, мол, а почему бы мне не сделать на неё небольшой обзорчик? Итак, отладочная плата с Zynq MPSoC от небезызвестной компании Alinx, которая торгует всяким интересным на Aliexpress.

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

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



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

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

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров37K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

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

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

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

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

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров36K
В недавнем времени получилось так, что у меня появилась пара интересных проектов, где одна из составных частей — микроконтроллер STM32. И каждый раз при смене ноутбука или ОС на домашнем компе приходится настраивать окружение для разработки как в первый раз. Плюсом, последние проекты, которые я делал для STM32 — выполнял в Windows, в демо-версии Keil uVision. Но поскольку я давно переехал в Linux — возникла необходимость основательно разобраться и изложить процесс настройки окружения для будущих применений.

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

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

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

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров7.4K
После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо действию с подчиненным устройством. Я подумал, что было бы классно сделать такую проверку своего автомата во взаимодействии с простейшей I2C 2K-bit EEPROM.

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

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

image


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

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

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров9.3K
Закончив в предыдущей статье описание того, как должны осуществляться атомарные операции и каким образом осуществляется выполнение команд я бодро перешел к написанию HDL-кода. Пришлось разобраться с тем, как организовать FSM, как организовать считывание и выставление данных на шине.  

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

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

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

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.5K
После длительного перерыва я продолжил разработку I2C Master Controller на Verilog. В прошлых статьях я рассмотрел основной теоретический материал, необходимый для реализации изначальной задумки. В этом материале переходим к более интересному содержанию: я последовательно расскажу про процесс проектирования конечного автомата I2C, расскажу про тактирование и как организована логика выходных сигналов и многое другое.

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

image


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

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров9.4K
Продолжаю описание процесса изучения того, что такое I2C и с чем его едят. В этой статье я перейду от описания физических процессов, происходящих на шине к описанию того, как интерфейс функционирует на уровне логики, пакетов, какие служебные сигналы есть и для чего они используются при обмене данными.

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

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

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

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

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров11K
В рамках изучения 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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9K
После обзора на Tang Primer 20K — стало очевидно, что она вызывает немалый интерес и было решено немедля сделать разбор о том, каким образом можно настроить свой ПК и IDE для того чтобы начать взаимодействовать с отладочной платой, которую я рассмотрел в прошлой статье. Изначально, до момента пока я не познакомился сам лично с ПЛИС от Gowin и не запустил демо-проект — юзабельность, скорость и простота работы с их IDE вызывала сомнение. Но как только попробовал — все опасения были развеяны и я остался доволен.

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

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

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

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

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

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

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

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров10K
В очередной раз, начав изучать что-то новое для себя, я столкнулся с типичной для меня проблемой: нет нигде быстро гуглящегося how-to и step-by-step руководства по быстрому созданию какой-либо простой конструкции на Verilog и описания способа эту конструкцию быстро симулировать без необходимости запуска кода в железе для проверки конечного результата. Я надеялся очень быстро найти готовый материал о том, как под Altera Quartus 20.1 и ModelSim 2020.1 под Linux всё по-быстрому сделать и идти дальше. В итоге не найдя ничего системно и последовательно описанного в одном месте я традиционно разобрался самостоятельно и решил это исправить своей очередной статьей на Хабре. 

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

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

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров15K
Очередной раз пролистывая Aliexpress, в поисках чего-нибудь интересного из мира FPGA-отладок, я наткнулся на один интересный экземплярчик. Попалась отладка на Altera Cyclone IV с большим количеством всякой периферии на борту + с которой за сравнительно небольшие деньги можно приобрести 4.3’’ LCD дисплей и камеру.

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

Тестирование блоков питания. Часть 1. Методическая

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

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

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

Zynq 7000. AXI GPIO. Мигаем светодиодом по-новому

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.6K

После написания последнего обзора на новую отладку Я не смог удержаться от того, чтобы не сделать простую проверку работоспособности платы, т.к. очень не хотелось бы напороться на какие-либо проблемы во время решения сложной задачи. Поэтому решил сделать простую мигалку светодиодами и задействовать, плюсом к этому, кнопки на плате. Немного поразмыслив, Я решил, что обычный “ногодрыг” на Verilog - это уже не так интересно и мне показалось, что лучше сделать это с помощью AXI GPIO и своего IP-ядра, инициировав экшн из baremetal-приложения. В общем, кому интересно, заглядывайте в статью, там Я описал, как добавить свое кастомное AXI Peripheral IP-ядро, как правильно организовать проект и обратиться к GPIO для чтения и записи логического уровня. Поехали…

Читать далее

Zynq 7000. Плата Zynq Mini c XC7Z020

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Однажды, вечером, в очередной раз прочитывая чатик в телеграмме по теме Embedded + FPGA, я увидел обсуждение очередной отладочной платы с Zynq 7000 на борту. Описание выглядело очень любопытно. Полистав документацию на плату, посмотрев описание - я заинтересовался еще больше, вспомнил сразу про ограничения платы QMTech и понял, что данная отладка лишена всех тех недостатков, что были у QMTech. Сразу в голове созрел контент-план и понимание того, что изучая возможности этой платы можно написать много интересных статей для новичков :) Я тут же заказал эту плату, и решил, что пришло время вернуться к изучению возможностей отладочных плат с Zynq. И первым шагом на пути моего возвращения в написание статей я решил сделать небольшой обзор этой платы с рассказом о том, почему она меня заинтересовала, и что в ней интересного. Всем любопытным - добро пожаловать!

Это интересно!
1

Информация

В рейтинге
6 186-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Инженер по обеспечению качества, Hardware QA/QC Lead Engineer
Ведущий
Git
Python
Shell
MySQL
Embedded linux
FPGA
STM32
Разработка электроники
ARM architecture