Как стать автором
Обновить
316.41
Рейтинг

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС

Системное программирование *FPGA *Программирование микроконтроллеров *Компьютерное железо

В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегодня мы подключимся к VGA-монитору и поуправляем изображением, которое выдаёт модуль gpu, описанный в файле gpu.v, то есть, реализованный на языке Verilog. Управлять мы им будем через регистр команд, расположенный в блоке CSR, спроецированном на шину Wishbone. Все эти сущности, в свою очередь относятся к среде Litex. Инструменты для опытов мы тоже будем использовать штатные, Litex-овские. Приступаем!

Читать далее
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 821
Комментарии 1

Новости

Самоделка — полная…: ПХМ-1 из пластика и кремния

Блог компании Selectel C *Программирование микроконтроллеров *DIY или Сделай сам
Источник

ПХМ-1 — вымышленный прибор из лаборатории Доктора Дью. Он предназначен для измерения качества присланных «самоделок» по линейной шкале. Очевидно, что это реквизит для съемок, тем не менее, устройство можно использовать в качестве шутки во многих областях, в том числе в IT.

Пошаговых инструкций по созданию ПХМ-1 не нашлось — пришлось писать самому.
Читать дальше →
Всего голосов 60: ↑57 и ↓3 +54
Просмотры 15K
Комментарии 25

Интеллектуальный поиск отечественных аналогов для импортных микросхем. Поучаствуй в beta тестировании

Блог компании Миландр Поисковые технологии *Локализация продуктов *Программирование микроконтроллеров *Производство и разработка электроники *

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

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 1.8K
Комментарии 10

15с, 16c или 41c – вам какой? Собираем собственный эмулятор калькулятора HP

Блог компании RUVDS.com Программирование микроконтроллеров *Старое железо DIY или Сделай сам Электроника для начинающих
Перевод

Я всю свою жизнь пользовался калькуляторами HP RPN, и мне жаль, что RPN-версии больше не производят. Они были упразднены в угоду стандартным инфиксным калькуляторам. Тем не менее я всегда хотел иметь HP15c, но вот никак не подворачивался случай его купить. Так что это моя первая попытка создать его самостоятельно.
Читать дальше →
Всего голосов 46: ↑45 и ↓1 +44
Просмотры 5.2K
Комментарии 11

Вычитываем прошивку STM32

Информационная безопасность *Программирование микроконтроллеров *
Из песочницы
Перевод

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

Flash Readout Protection (RDP) ключевой компонент в защите, включенный во все линейки микроконтроллеров. Он защищает системную прошивку, сохраненную во внутренней флэш памяти от вычитывания. В зависимости от линейки, могут быть включены дополнительные механизмы, такие как Memory Protection Unit (MPU) и привилегированные / непривилегированные режимы исполнения. Вместе, эти системы призваны повысить защищенность.

Авторы статьи пришли к выводу, что серия мк STM32F0 содержит ряд уязвимостей позволяющих в лаборатории с базовым оборудованием создать установку для вычитывания прошивки. Методы могут комбинироваться для достижения наилучшего результата или позволить работать в RDP level 2.

Узнать подробнее
Всего голосов 51: ↑51 и ↓0 +51
Просмотры 13K
Комментарии 25

Хакаем CAN шину авто. VAG диагностический бортовой компьютер

Блог компании RUVDS.com Программирование микроконтроллеров *Гаджеты DIY или Сделай сам Автомобильные гаджеты
Tutorial

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

Теперь я решил разработать диагностический бортовой компьютер для автомобилей группы VAG (VW, Audi, Skoda, Seat). Моими техническими требованиями было: OLED дисплей, лёгкая установка и подключение, множество диагностических параметров. В качестве компонентной базы выбрал:
Читать дальше →
Всего голосов 71: ↑71 и ↓0 +71
Просмотры 17K
Комментарии 41

Мини-куб из 3456 светодиодов

Блог компании RUVDS.com Программирование микроконтроллеров *Разработка под Arduino *Производство и разработка электроники *DIY или Сделай сам
Перевод


Не знаю почему, но мне очень нравятся светодиоды, и видеть их можно почти во всех моих проектах. Буквально недавно меня вдохновил Грег Дэвилл своим проектом миниатюрного LED-куба с 3456 светодиодами. Немного поразмышляв на эту тему, я решил собрать такой же чудесный куб сам, о чем и поделюсь с вами в данной статье.
Читать дальше →
Всего голосов 91: ↑88 и ↓3 +85
Просмотры 22K
Комментарии 76

Проектировщик процессоров Zilog расскажет про Z80 в космосе и про свое новое RISC-V ядро

Параллельное программирование *FPGA *Программирование микроконтроллеров *Процессоры Космонавтика

Что общего между популярным у хоббистов компьютером Синклер ZX Spectrum и космической станцией Juno, которая сейчас вращается вокруг Юпитера? И на одном, и на другом стоит процессор с архитектурой Zilog. На Синклере просто Z80, а на Juno - радиационно стойкий Y180-S. Y180-S спроектировал Монте Далримпл (Monte J. Dalrymple), выпускник Беркли, который проработал 16 лет в Zilog, после чего сделал собственный бизнес, компанию под названием Systemide.

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

Вы можете послушать Монте в эту субботу
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 4.5K
Комментарии 6

Создаём простейший проект для ПЛИС Lattice в среде Litex

Системное программирование *FPGA *Программирование микроконтроллеров *Компьютерное железо

В предыдущей паре статей я рассуждал про ПЛИС Lattice. Давайте сегодня поговорим об эффективной разработке под них. Один наш крупный руководитель уверяет, что из разговоров с иностранными Заказчиками, он выяснил, что российских разработчиков считают пишущими классные вещи, но делающими это крайне медленно. Ну, разумеется, по сравнению с разработчиками из других стран. И разумеется, «классные» идёт на первом месте.

Один из методов обхода проблемы скорости разработки – использование готовой инфраструктуры для проектов. Я делал цикл статей про комплекс Redd, где продвигал использование готовой шинной инфраструктуры в среде разработки Quartus. Сначала это была честная процессорная система, потом – процессор мы изъяли, а шины – оставили.

Затем я делал пару циклов, где активно использовал данный подход. Мне приходилось дописывать только проблемно-ориентированные модули, остальное — среда разработки создавала за меня.

Есть ли что-то подобное для Lattice в частности и сцепки Yosys/NextPNR в целом? Вы не поверите! Решение не просто есть, но оно ещё и настолько кроссплатформенное, что подойдёт и для Yosys/NextPNR, и для Quartus, и для Vivado! И называется оно Litex. Итак, давайте попробуем поэкспериментировать с ним для подхода, который я уже давно продвигаю: «делаем штатную основу, а на неё нанизываем свои целевые блоки».

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 1.8K
Комментарии 1

Открытый проект индуктивного абсолютного энкодера

Open source *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих

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

Читать далее
Всего голосов 124: ↑123 и ↓1 +122
Просмотры 16K
Комментарии 114

Модернизация настольной лампы лупы радиолюбителя-электронщика

Программирование микроконтроллеров *Разработка под Arduino *Научно-популярное DIY или Сделай сам Электроника для начинающих

Сегодня я расскажу про то, как я переделал свою старую настольную лампу-лупу в современный аксессуар радиолюбителя электронщика.
Могу предположить, что большинство из читающих эту статью, имеют похожий светильник и я по своему опыту могу сказать, что без него как без рук, тем более если зрение не 100%.
Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 5.6K
Комментарии 15

SIM800L + STM32 Bluepill + Rust. Как оно?

Rust *Программирование микроконтроллеров *DIY или Сделай сам
Tutorial

Несколько лет назад сделал себе на Arduino блок мониторинга питания дачного котла от UPS. Как показала практика, связка Arduino MEGA + шилд на SIM900 со стандартными библиотеками работает очень нестабильно. Периодически всё зависает, само перегружается и т.д. Отладить это невозможно, поэтому стал искать другие варианты. В результате решил всё переделать на современных технологиях: взял за основу STM32 Bluepill, приобрел на али модуль SIM800L, но самое главное – весь код решил написать на Rust, купился на обещания его высокой надёжности. Что из этого получилось читайте дальше.

Нажми меня
Всего голосов 33: ↑31 и ↓2 +29
Просмотры 8.6K
Комментарии 35

Как разработать микросхему, от идеи до результата. Часть 4. DRC/LVS/PEX

Блог компании RUVDS.com FPGA *Программирование микроконтроллеров *Производство и разработка электроники *IT-компании
Tutorial
В прошлой статье мы сделали Layout, а в этой части мы проведём LVS/DRC/PEX и исправим ошибки из прошлой статьи. Для тех, кто пропустил прошлые части, вот ссылки на них.




В этой части мы:

  1. Запустим Design Rule Check, чтобы проверить возможность произвести нашу схему
  2. Запустим Device Extraction для сравнения нашего Layout с целевой схемой.
  3. Произведём сравнение наших компонентов из Layout и нашей схемы, которую мы нарисовали в XSCHEM.
  4. Сгенерируем netlist с паразитными конденсаторами и резисторами (PEX).
  5. Просимулируем netlist с паразитными конденсаторами и резисторами.
  6. Сгенерируем LEF файл.
  7. Подведём итоги этой серии статей.
Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Просмотры 2.4K
Комментарии 8

AK4452 запуск бюджетного HiFi DAC

Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Звук Электроника для начинающих
Tutorial

В прошлом году заказал AK4452 от компании AKM. Компания Asahi Kasei Microdevices (AKM) известна своими высококачественными Аудио ЦАП. Вельветовое звучание. Sampling Rate: 768kHz. DR, S/N: 115dB. Встроенные фильтры. Все это можно посмотреть в материалах по ссылке внизу. Кстати совсем недавно его устанавливали в бытовые домашние центры в которых из заменили AK4459 и другие. Сейчас AK4452 используется в переносимых плеерах и USB свистках

Стало интересно запустить и посмотреть как работает чип. AK4452 рассчитан на работу 3.3V. Для полноценного раскрытия потенциала необходимо 5V для аналоговой части. Хотя и на 3.3V так же работает в штатном режиме. Характеристик чипа снято не было. минимальные тесты. Прогон в основных режимах.

Не обошлось без перерезания дорожек и прочих ошибок, все в лучших традициях прототипирования устройства. С размышлениями. Исследованиями программной и хардварной части. Тот кто впервые знакомится с построением HI-Fi аудио плееров статья пригодится. Вылилось в длинный журнал действий, который не закончен

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 6.8K
Комментарии 9

Как разработать микросхему, от идеи до результата. Часть 3. Схемотехническое представление и Layout

Блог компании RUVDS.com FPGA *Программирование микроконтроллеров *Производство и разработка электроники *IT-компании
Tutorial
В прошлой статье мы установили все программы, а в этой части, мы наконец приступим к практической части. Готовьтесь, эта часть будет очень большой. Для тех кто пропустил прошлые части — ссылки ниже.



Как разработать микросхему, от идеи до результата. Ссылки на все статьи։

В этой части мы:

  1. Будем рисовать схему, используя XSCHEM
  2. Произведём симуляцию нашей схемы, используя NGSPICE
  3. Поймём цикл производства микросхемы
  4. Нарисуем Layout, используя KLayout

Предполагается, что вы уже прочитали предыдущие материалы. Если мне удалось вас заинтересовать, прошу под кат!
Читать дальше →
Всего голосов 58: ↑58 и ↓0 +58
Просмотры 4.7K
Комментарии 17

Что делать, когда мигать лампочками уже скучно, а проектировать процессор еще сложно

Разработка игр *FPGA *Программирование микроконтроллеров *Дизайн игр *Электроника для начинающих

ПЛИС и Verilog - естественная платформа для обучения будущего проектировщика процессоров, так же как Си и микроконтроллеры - естественная платформа для обучения будущего программиста встроенных систем.

И один, и другой путь начинается с мигания огоньками на недорогой плате, но дальше пути расходятся. Встроенный программист смотрит в сторону самоуправляющихся авто, с задачами на RTOS и распознаванием ситуации с помощью AI в GPU. Проектировщик микросхем на уровне регистровых передач смотрит в сторону групп, разрабатывающих CPU, GPU, NPU и сетевые чипы, но какие упражнения он может делать между миганием огоньками и трудоустройством в Интел?

И что делать?
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 8.3K
Комментарии 50

Hello NXP JN5169 Zigbee: OTA обновление прошивки

Беспроводные технологии *Программирование микроконтроллеров *Умный дом Интернет вещей DIY или Сделай сам

Всем привет!

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

Но нам повезло: разработчики Zigbee продумали и стандартизировали способ обновления прошивок по воздуху (OTA), а в микроконтроллере NXP JN5169 достаточно флеш памяти для реализации OTA. Этот подход с минимальными правками также должен заработать и на более новых микроконтроллерах (JN5179, JN5189). Ну а общие принципы диктуются спецификацией ZigBee и будут применимы и для микроконтроллеров других производителей.

Но не все так просто. Давайте разбираться.
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 2.3K
Комментарии 2

Как разработать микросхему, от идеи до результата. Часть 2. Установка программного обеспечения

Блог компании RUVDS.com FPGA *Программирование микроконтроллеров *Производство и разработка электроники *IT-компании
Tutorial
В этой статье мы поставим все необходимые инструменты для того, чтобы начать разработку микросхемы. Также мы установим Process Design Kit, про который мы говорили в предыдущей статье.

Напоминаю, что я продолжаю идти к цели — сделать свой собственный Отечественный Процессор (TM). Продолжение процесса разработки можно посмотреть под катом.

Читать дальше →
Всего голосов 65: ↑65 и ↓0 +65
Просмотры 5K
Комментарии 18

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR

Системное программирование *FPGA *Программирование микроконтроллеров *Компьютерное железо

В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та статья, скорее, была написана в помощь для быстрого старта тем, кого тоже заставят. А можно ли использовать эту сцепку для дома, для семьи? Для этого она должна быть удобной.

Как мы обсудили в комментариях к прошлой статье, в минусы этой сцепке можно записать отсутствие такого полезного инструмента, как SignalTap (Altera) или ChipScope (Xilinx). Замену этой парочке пока что удалось найти только в виде физического анализатора. Так себе замена, но хоть что-то.

Более серьёзная трудность заключалась в том, что все примеры, которые я находил, были реализованы на чистом Верилоге. А я уже не могу писать автоматы, не используя такой механизм, как enum. Меня каждый раз злит необходимость перенумеровывать состояния, если я правлю автомат по ходу разработки. Но чтобы был enum, надо пользоваться более прогрессивным стандартом языка, который уже называется SystemVerilog.

На странице Yosys  YosysHQ/yosys: Yosys Open SYnthesis Suite (github.com) описано, что данный язык ограниченно поддерживается синтезатором, и даже указана опция для его использования. А именно сказано, что команде read_verilog надо добавить ключ –sv. Но попытки найти в сети готовую инструкцию для новичков, как её активировать, я не нашёл, потому что если кто-то и пользуется этой командой, то для одного файла, а не для списка.

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 869
Комментарии 7

Как разработать микросхему, от идеи до результата. Часть 1. Теория

Блог компании RUVDS.com FPGA *Программирование микроконтроллеров *Производство и разработка электроники *IT-компании
Tutorial
Пока наши соседи по цеху спорят о конкурентоспособности Эльбруса, я продолжаю идти к своей заветной цели — склепать свой собственный Отечественный Процессор (TM). Ранее я рассказывал про программу, финансируемую Google, которая позволяет энтузиастам бесплатно получить прототип их разработок в кремнии. Если вы хотите увидеть всю подноготную процесса производства современных чипов, то этот туториал точно для вас!

Читать дальше →
Всего голосов 113: ↑112 и ↓1 +111
Просмотры 11K
Комментарии 52

Вклад авторов