Как стать автором
Поиск
Написать публикацию
Обновить
73
17

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

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

Murmulator OS 2.0 под RP2350 (Raspberry Pi Pico 2)

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

Что такое Мурмулятор я уже писал тут. Немного повторюсь — это ультрабюджетная «материнская плата», в которую вставляется «процессор» — плата на основе RP2040 (Raspberry Pi Pico) или RP2350 (Raspberry Pi Pico 2). Мурмуляторы бывают разные — и под VGA выход, и под HDMI, и под всякую экзотику типа небольших TFT экранчиков на чипах ILI9341/ST7789. Есть устройства с дополнительной памятью PSRAM, есть с поддержкой дополнительных портов USB через отдельную микросхему‑хаб. И всё это великолепие требует драйверов. Стиль разработки под RP2040/2350 — это всё собрать вместе в один монолит baremetal‑прошивки, и плодятся прошивки кучами... Например, релиз pico‑spec 1.2.C насчитывает более 20-ти вариантов сборки под разное оборудование, и это — не предел.

Чтобы как‑то упорядочить всё это безобразие была разработана операционная система, которая содержит в себе необходимые драйвера. Идея в том, что настраивать нужно только её, а прикладные программы уже должны использовать API для доступа к функционалу...

В то время существовал ещё только чип RP2040, и про 2350 не было даже слышно, соответственно, разработанная ОС была полностью заточена под этот существующий тогда SoC. О самой ОС и её использовании я как‑то уже выпускал статьи. Поэтому сосредоточусь на ключевых отличиях новой версии.

Никаких новых возможностей версия 2.0 пока не предоставляет. Это просто полное портирование МОС на немного отличающийся SoC.

Первое основное отличие — 2.0 не умеет запускать .uf2-файлы. Для запуска «тяжёлых» приложений необходимо из заранее собрать «с отступом». Такой формат получил название «.m1p2» — т. е. под Мурмулятор первых версий с «пикой» второй версии. Этот же формат использует pico‑launcher для RP2350, который тоже не умеет запускать .uf2-файлы (в отличии от версии под RP2040).

Читать далее

Olimex RP2040-PICO-PC на стезе эмуляции ретро-платформ

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

Olimex RP2040-PICO-PC - небольшая платка, типа "материнской", в которую можно воткнуть микроконтроллерную плату форм-фактора Raspberry Pi Pico, которых выпускается достаточно много.

Я много писал про аналогичную плату, разработанную нашими ребятами (см. Мурмулятор), однако, имеются и некоторые альтернативы, включая разработку от Olimex.

Читать далее

Мурмулируем Mac 128K

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

Есть у меня хобби: портирование всякого-разного под Мурмулятор, и попалась мне на глаза реализация одного из самых древних "маков" - Macintosh 128K: https://github.com/evansm7/pico-mac. - Это же почти готовая прошивка под Мурмулятор, - подумал я. Основное отличие - другая распиновка VGA, да и реализация периферии немного отличается. После того, как в профильном чате ТГ канала этот эмулятор тоже упомянули пару раз, как кандидата на портирование, взялся за него и я.

Читать далее

Мурмулируем ZX Spectrum

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

ZX Spectrum разработки «Sinclair Research Ltd» и его клоны - несомненная веха в истории бытового компьютеростроения. Если брать верхнюю оценку, всего было произведено до 9 миллионов ZX Spectrum и его клонов, что делает его одним из самых массовых домашних компьютеров 1980-х годов (на втором месте после Commodore 64 - порядка 17 млн. экземпляров). Многие люди, владельцы Спектрума, Пентагона, или Ленинграда, в далёких 80-х, в настоящее время переживают ностальгию по ушедшему детству/отрочеству/юности... Что питает спрос на антикварные и новодельные «спектрумы».

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

Выбор в этой нише тоже достаточно разнообразен, но я бы хотел остановиться на Мурмуляторе и его клонах. Для него существует 5 немного различающихся реализаций спектрума: technocat, fast‑beta, speccyP, fruit‑bat и pico‑spec. Все они имеют свои положительные и отрицательные грани, например, первый — очень хорош для мобильных реализаций на компактных устройствах с TFT‑дисплеями, т.к. имеет продвинутую экранную клавиатуру, но все они достаточно универсальны и имеют похожий движок. Несколько выделяется из их ряда только pico‑spec, т.к. только у него движок асинхронный, что позволяет очень точно отрисовывать всякие занимательные бордюрные эффекты, которые часто попадаются в демо‑сцене и в редких играх. Недостатки pico‑spec'а являются продолжением его недостатков — сложность синхронизации звука. У pico‑spec'а, пожалуй, худшая реализация звукового тракта. Правда, замечают это далеко не все — в основном те, кто хочет себе спектрум для прослушивания трекерной музыки. Для игр качество звука вполне приемлемое.

Читать далее

atari800 — Atari 800 / 65XE… на Мурмуляторе

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

Для Атари на Мурмуляторе имеются целых три разных эмулятора: Atari 2600, Atari 800 и Atari Lynx.

Первый ограничен исполнением только ROM-файлов для приставки Атари 2600, последний - это очень простенький хэндхэлд, который мало распространён на просторах бывшего Союза, поэтому сосредоточимся на среднем, который теоретически эмулирует Atari 400, 800, 1200XL, 600XL, 800XL, 65XE, 130XE, 800XE, XE Game System и 5200 SuperSystem.

Реализация для Мурмулятора основана на эмуляторе https://github.com/atari800/atari800 - который легко собирается под Линукс. Т.е. основная проблема - ограниченные ресурсы маленького RP2040. Конечно, пришлось повозиться, но удалось запихнуть всё необходимое, как минимум для вариантов оригинального компьютера с 48 КБ памяти.

Читать далее

pico-rk86 — Радио-86РК на Мурмуляторе

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

Радио-86РК - это машинка тех, кто сам травил платы, сам паял, и сам зашивал ПЗУ ручной машинкой. По древности и популярности с 86РК может посоперничать только Микро-80, который ещё больший динозавр любительского микрокомпьютеростроения. Меня лично РК86 "догнал" только в прошлом году, когда меня попросили сделать порт с ESP8266 на RP2040 для Мурмулятора.

Оригинальный код под ESP: https://github.com/klad-me/RK8266, результат портирования: https://github.com/DnCraptor/pico-rk86.

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

Читать далее

pico-bk — БК0010/11М на Мурмуляторе

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

Эмулятор БК-0011М на Raspberry Pi Pico (RP2040)

Сделан на основе эмулятора для ESP8266 https://github.com/konst-st/BK8266

[S]VGA monitor с поддержкой режима 1024*768 60Гц. Вывод осуществляется с удвоением точек 512x2->1024 и с утроением линий 256x3->768 в ч.б режиме, и с учетверением точек 256x4->1024 и с утроением линий 256x3->768 в цветном.

Периферия:

- PS/2 клавиатура с автоматической перекодировкой русских букв и спец-символов

- Dendy джойстики

- Wii джойстик

- Звук от пищалки и моно-Covox на порту 177714 выводится в виде 12-ти битного ШИМ.

- Реализована эмуляция таймера БК-0010 (регистры 177706, 177710, 177712).

Читать далее

pico-xt — старая добрая PC/XT на Мурмуляторе

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

Эмуляторов IBM PC/XT в сети навалом, но для Мурмулятора (https://murmulator.ru) пока есть только один: https://github.com/xrip/pico-xt.

Вопросы на тему "Зачем вообще нужен этот ваш мурмулятор?" мы тут обойдём, т.к. данное устройство относится к разряду "хобби", и по уровню полезности можно сравнивать только с такими же хобби, как собирание марок или монет. Хотя, некоторые умудряются включить сборку Мурмулятора своими руками в работу радио-кружка. Но это - другая история.

Читать далее

Создание приложения под Мурмулятор ОС (1)

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

Как я писал ранее (https://habr.com/ru/articles/839976/), Murmulator - одноплатный ультрадешевый микрокомпьютер на основе платы Raspberry Pi Pico (пика), которая, в свою очередь, основана на микроконтроллере - RP2040.

RP2040 - одна из наиболее известных двухъядерных реализаций ARM Cortex-M0+ с 264 КБ встроенной SRAM памяти и от 2-ух до 16-ти МБ flash-памяти подключаемых по QSPI интерфейсу, распаянной на плате пики.

Отдельную статью-тутуриал я посвятил использованию Мурмулятор ОС (МОС): https://habr.com/ru/articles/840052/ с точки зрения пользователя. Теперь имеет смысл описать процесс создания приложений под МОС.

МОС (рассматриваем текущую версию 0.2.7) поддерживает три вида приложений:

Читать далее

Murmulator OS (для пользователя)

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

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

Murmulator OS (далее MOS) не является исключением. Как намекает название, данная ОС разработана для Murmulator https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme (далее просто Мурмулятор), который основан на ультрабюджетной плате Raspberry Pi Pico (процессор-микроконтроллер RP2040) + специальная плата расширения, подробнее про которую можно почитать на сайте https://murmulator.ru. Таким образом, Murmulator - полноценный ультрадешевый (бюджетная версия которого обходится не дороже $5) микрокомпьютер.

Читать далее

ZX Murmulator OS

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

ZX Murmulator - одноплатный ультрадешевый микрокомпьютер на основе платы Raspberry Pi Pico (далее "пика"), которая, в свою очередь, основана на микроконтроллере - RP2040.

RP2040 - одна из наиболее известных двухъядерных реализаций ARM Cortex-M0+ с 264 КБ встроенной SRAM памяти и от 2-ух до 16-ти МБ flash-памяти подключаемых по QSPI интерфейсу, распаянной на плате пики. Данный микроконтроллер легко гонится до 400 МГц без какого либо радиатора, не смотря на свои штатные 133. Что позволяет запускать на нём достаточно прожорливые задачи.

Читать далее

Мурмулятор — ультрабюджетный микрокомпьютер

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

Как я познакомился с Мурмулятором? Я искал какой-то недорогой одноплатный компьютер для запуска эмуляторов ретро-компов.Чем меня не устраивало использование эмуляторов на "настоящем" компьютере? Ничем. Просто хотелось отдельное устройство. Я рассматривал вариант покупки старого ноута специально под эту задачу, потом смотрел на Raspberry Pi 400, Orange Pi и на прочие одноплатники. В процессе поисков я наткнулся на видео самостоятельной сборки оригинального одноплатника с бюджетом в $5. Понятно, что впоследствии я в эту сумму и близко не вложился, но данное изделие меня всё-таки зацепило. Вот так у меня и появился первый ZX Murmulator.

Читать далее

MOSFET паразитный диод, или таки защитный?

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

MOSFET (metal‑oxide‑semiconductor field‑effect transistor) — транзистор по технологии металл‑оксид‑полупроводник с полевым эффектом. Данный тип транзисторов уверенно вошёл в обиход во всех областях применения, как наиболее эффективное решение многих задач. Вы наверняка в курсе, что он применяется в качестве ключей в силовой электронике, причём не только в «чистом» виде, но и в составе IGB‑транзисторов. В частности, в вычислительной технике все цепи питания построены на базе MOSFET'ов.

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

Читать далее

Бесперебойное питание для роутера и GPON-терминала своими руками

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

GPON технология подключения к интернету — одна из самых удачных инноваций последних лет. Она позволяет полностью избавиться от питания устройств «последней мили», что особенно актуально при длительных перебоях с электроэнергией. Почти все остальные технологии позволяют обеспечить интернет только временно — на час‑два, и время это не зависит от конечного пользователя — только от доброй воли провайдера, обеспечивающего своё оборудование источниками бесперебойного питания «на чердаке».

В случае же GPON, единственное, о чём должен позаботиться конечный потребитель — обеспечение питания терминала на своей стороне. Часть терминалов сразу снабжают встроенным WiFi роутером, но чаще всего этого не происходит и провайдер предоставляет отдельное устройство. Наиболее частая конфигурация — GPON‑терминал, потребляющий 0.5А по 12-ти вольтам, и WiFi‑роутер, потребляющий 0.3А по 9-ти.

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

Следующий вариант — купить USB‑DC преобразователи на 9 и 12 вольт, и воткнуть их в мощный пауэрбанк. Потребление сразу становиться более экономичным. В моём случае оно упало до двух ватт, но я использовал достаточно дорогие устройства с поддержкой технологий QC2/QC3. Хотя, простенькие шнурки без этих наворотов и повышайками внутри шнура позволяют достичь примерно тех же параметров. К повышайкам мы ещё вернёмся...

Читать далее

Как измерить ESR конденсатора при помощи FNIRSI DSO-TC2 #2

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

С момента написания первой статьи (https://habr.com/ru/post/714880/) прошло некоторое время, и пришло множество комментариев. Некоторые моменты действительно не были учтены, кое-что необходимо уточнить, а кое-что "дезавуировать".

Начать можно с того, что не было учтено реактивное сопротивление конденсатора (также называемое "реактанс"), которое может внести серьёзный вклад в корректность измерений. Формула вычисления: Xc = 1/(2*pi*F*C), где Xc - сопротивление конденсатора переменному току, где F - частота в Герцах, C - емкость в Фарадах, результат получается в Омах. Сопротивление, получаемое в эксперименте (закорачивании выхода генератора на конденсатор) - это корень из суммы квадратов ESR и Xc. В предыдущей статье попался конденсатор со значительным превышением ESR над Xc, поэтому реактивным сопротивлением можно было пренебречь. В общем же случае его необходимо учитывать.

Рассчитать Хс для прямоугольного сигнала несколько сложнее, чем для синусоиды, т.к. подобный сигнал является суммой частот гармонических колебаний, которая может быть представлена рядом Фурье. Формула там сложная, благо, существует готовы вывод результирующей формулы реактанса для прямоугольного сигнала: Xc = pi/(16*F*C*Q), где Q - скважность. В нашем случае скважность равна 0.5 (если в приборе не менять значение по умолчанию).

Читать далее

Как измерить ESR конденсатора при помощи FNIRSI DSO-TC2

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

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

ESR - Equivalent Series Resistance - один из параметров конденсатора, характеризующий его активные потери в цепи переменного тока. Для исправных конденсаторов этот параметр крайне мал. От единиц Ом до Миллиом. Для электролитических кондёров этот параметр со временем деградирует, что связано с подсыханием электролита.

Многие обзорщики отметили, что красивенький прибор от Fnirsi - DSO-TC2 не умеет измерять данный параметр, что вызвало сильное разочарование в этом, в общем-то, неплохом приборе начального уровня.

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

Читать далее

Информация

В рейтинге
659-й
Зарегистрирован
Активность

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

Backend Developer, Application Developer
Lead
От 8 000 $
Java
SQL
Oracle
Database
OOP
C++
C#
MySQL
High-loaded systems
Kubernetes