да, тема узкоспециализированная, тем более выше ценность вашей статьи, понятно, что есть досада, что еë мало оценили, так как в основе здесь обитают программисты ПК и сейчас все сфокусировались и необоснованно "залайкивают" статьи про ИИ.
но буду ждать ваших статей по узким и широкопрофильным темам по МК. Там вопросов, мало известных, вагон и все они достойны, если не книги, то статьи на хабр.
тема полезная, странно, что мало комментариев но видимо не все дочитали до конца
меня засмущали вопросы после выводов, а где ответы?
Вопросы
1--Как в прошивке микроконтроллера прочитать мгновенное значение на выходе аппаратного PWM? 2--Можно ли на STM32 в случае схемы Master-Slave сделать регулирование фазы на Slave PWM сигнале без использования прерываний микроконтроллера и остановки счета, чтобы не затормаживать основную прошивку?
ну и результат (или выводы статьи) напомнили студенческую работу
Результат
Удалось научиться
Автор, вопрос поднят хороший, хорошо описано и понятно, но результат и странные вопросы после выводов смазывают впечатление. Ставлю +, очень надеюсь на следуюшие тех статьи от вас на основе железа доступного на озон для любителей) тот же stm32 nano
и да, не нашел исходники примера на git, без общедоступных исходников сильно снижается ценность вашей работы
Как оказалось, в ESP32S3, в отличие от оригинального ESP32, нет ЦАП, сейчас то, что на видео, — это ШИМ ledc, но есть идеи, что ещё использовать. Хочется максимальный хардкор, то, что на видео, как раз такое и есть, то есть минимум элементов, только динамик. Последний шаг — подключение MAX98357 по I2S, но тут как бы без вариантов, но не так хардкорно =)
вы абсолютно правы, что MSX - это цельная архитектура ЭВМ, включающая в себя и видеопроцессор, и аудиочип AY, действительно я немного лукавлю, сравнивая микроконтроллер с полноценной ЭВМ, пусть и 8-битной =)
Видео действительно выводится в виде тайлов, именно эта хитрость позволила реализовать первое демо плохого яблока на штатном MSX-1, у которого всего 16кБ памяти (а также на штатном MSX-2) и очень не высокая частота работы =) По сути это текстовый режим, когда одним кодом выводится один из 256 заранее посчитанных тайлов 8х8.
жаль не увидел вашу статью в момент выхода, получается, что производительность 8-битного процессора Z80 в архитектуре MSX-1 начала 80х годов не менее производительная, чем архитектура через 40 лет...
объем с программой и видео влезает на трехдюймовую дискету 320кБ, при этом чтение с дискеты через промежуточную буферизацию и вывод на экран с двойной буферизацией кадров)
ps: спасибо за статью, больше яблок богу яблок, и да: "боги смерти любят яблоки" =)
создать несколько ИИ на компе в виде папок, доступ в содержимому которой будет исключительно для ИИ, кому она принадлежит, но другие ИИ смогут видеть, сколько их на самом деле и самое главное, они могут удалить любую из папок (и ИИ), и даже свою собственную
По очереди вызываются ИИ
Ограничить количество вызовов скажем 300 вызовов, после чего ИИ "умирает"
Можно чуть развить, что ИИ может создать совместно с другой ИИ путем объединения папок, при этом жизнь ИИ создавшей новое ИИ укорачивается в два раза
если есть потребности в газовых турбинах, то логичнее построить дополнительный завод по их производству, чем вложить примерно столько же средств в разработку технологии по конверсии турбин очень разного качества с хранения... и всё равно потребуется завод...
так что очень странное предложение от ведущей в технологиях страны, только если считать, что компетенции производства турбин нужных мощностей утрачены... ну тогда ой...
расскажу свою историю: радиотехники собрали собственную плату и добавили туда визард управления питанием и шиной USB3.0, которой не было в референсной плате, две недели они думали что делать, так как USB устройства на плате не определялись.
Никогда до этого не работал с linux, с помощью нейронки развернул SDK для процессора на ubuntu 18.04 (такая требовалась для SDK) в virtualbox для сборки ядра. Ещё несколько дней с ИИ собирал DTSI для платы и подошёл к USB и визарду fusb301. Говорю нейронке, ищи драйвер в инете и вообще какие есть варианты, на что она отвечает, что драйвера нет, смысла искать нет, напиши его сам и даёт мне заготовку на Си с пустыми функциями. Я чутка прифигел, ну и отвечаю ей, что нет, так не пойдёт, напиши драйвер сама. Она - "Ок" - вот драйвер. Дальше четыре часа отладки и есть полностью рабочий драйвер под fusb301, устройства usb3.0 поднялись и работают. И да, я полностью понимаю (в том числе благодаря комментариям ИИ и отладочным сообщениям в коде драйвера) как работает конкретный драйвер в linux, порядок его загрузки и отработки прерываний.
Итог: я больше не боюсь Linux, так как теперь уверен, что с ИИ могу развернуть среду разработки под Linux, а также она мне подробно объяснит как работает build.sh и вообще происходит сборка образа, как функционирует плата под ОС, как сконфигурить дерево устройств DTS и даже как написать драйвер. Дальше мы с ней разработали драйвера акселерометров, магнетометров и других устройств, что были на плате, демо код на питоне проверки работы драйверов. И да, я не программист, я - радиотехник.
В умелых руках - ИИ мощнейший инструмент, но нужно им пользоваться как инструментом (как отвертками, пассатижами, ключами, мы же не пытаемся болты откручивать руками, а используем инструменты), а не пытаться подменить себя ИИ.
посмотрите кадр в моей статьей подписанный "Вот кадр с VS320 (SWIR):", там явно видно, что небо светится в SWIR - это естественное свечение в верхних слоях атмосферы. Чуть ниже кадр сняты в тоже время, но в видимом свете, видно, что небо в видимо свете черное и явно видны звезды. Именно свечение атмосферы в ближней ИК области (в значительной степени) используется ЭОП ПНВ.
еще такой вопрос, как LLM модели работают с данной архитектурой и asm? есть ли полное, но краткое описание для подгрузки в LLM?
вопрос вот к чему, столкнулся с низкоуровневыми вопросами реализации IP блоков на system verilog, загружал LLM свой код и pdf описание нужных мне IP блоков, после качественной подгрузки данных (но они должны быть не большими) LLM очень помогала с верификацией написанного кода модулей (своих и чужих) и поиском узких мест. Для новичков в новой архитектуре копилот на LLM был бы, возможно, полезен, но ньюансы архитектуры ей нужно как-то компактно подгрузить...
это значение для конкретной матрицы и примененного объектива, измеренное на практике с применением этой конкретной матрицы.
К сожалению, очень много времени прошло, можно заново пересчитывать и измерять, но порядок примерно такой, что ночью на пиксель 11х11мкм прилетает 50-70 фотонов на кадр 50мс.
Другой вариант, возможно, более надежный - выбраться с радиометром от 0.4 до 1мкм и промерить фактическую освещенность (но именно радиометром, а не люксметром).
да, тема узкоспециализированная, тем более выше ценность вашей статьи, понятно, что есть досада, что еë мало оценили, так как в основе здесь обитают программисты ПК и сейчас все сфокусировались и необоснованно "залайкивают" статьи про ИИ.
но буду ждать ваших статей по узким и широкопрофильным темам по МК. Там вопросов, мало известных, вагон и все они достойны, если не книги, то статьи на хабр.
и отдельное спасибо за ответ и ссылки выше
тема полезная, странно, что мало комментариев но видимо не все дочитали до конца
меня засмущали вопросы после выводов, а где ответы?
ну и результат (или выводы статьи) напомнили студенческую работу
Автор, вопрос поднят хороший, хорошо описано и понятно, но результат и странные вопросы после выводов смазывают впечатление. Ставлю +, очень надеюсь на следуюшие тех статьи от вас на основе железа доступного на озон для любителей) тот же stm32 nano
и да, не нашел исходники примера на git, без общедоступных исходников сильно снижается ценность вашей работы
попробуйте =)))
будем ждать ваше видео с декодированием mp4 на esp32s3 =)
да, сразу с экраном, брал на маркетплейсе, должно искаться по фразе "Плата разработки ЖК-дисплея ESP32-S3 1,47 дюйма"
Как оказалось, в ESP32S3, в отличие от оригинального ESP32, нет ЦАП, сейчас то, что на видео, — это ШИМ ledc, но есть идеи, что ещё использовать. Хочется максимальный хардкор, то, что на видео, как раз такое и есть, то есть минимум элементов, только динамик. Последний шаг — подключение MAX98357 по I2S, но тут как бы без вариантов, но не так хардкорно =)
супер, спасибо за подробный ответ, мы с ребёнком для esp32, чтобы вывести однобитный звук использовали ШИМ выход, может быть ещё попробуем улучшить,
надеюсь, что дойдут руки дооформить результат =)
а можно подробнее про эмуляцию звука?
вы абсолютно правы, что MSX - это цельная архитектура ЭВМ, включающая в себя и видеопроцессор, и аудиочип AY, действительно я немного лукавлю, сравнивая микроконтроллер с полноценной ЭВМ, пусть и 8-битной =)
Видео действительно выводится в виде тайлов, именно эта хитрость позволила реализовать первое демо плохого яблока на штатном MSX-1, у которого всего 16кБ памяти (а также на штатном MSX-2) и очень не высокая частота работы =) По сути это текстовый режим, когда одним кодом выводится один из 256 заранее посчитанных тайлов 8х8.
жаль не увидел вашу статью в момент выхода, получается, что производительность 8-битного процессора Z80 в архитектуре MSX-1 начала 80х годов не менее производительная, чем архитектура через 40 лет...
оставлю ссылку на своё плохо яблоко на Z80 здесь =): https://habr.com/ru/articles/599613/
объем с программой и видео влезает на трехдюймовую дискету 320кБ, при этом чтение с дискеты через промежуточную буферизацию и вывод на экран с двойной буферизацией кадров)
ps: спасибо за статью, больше яблок богу яблок, и да: "боги смерти любят яблоки" =)
нет повода не перепройти ;))) спасибо!
предложу для развития идеи:
создать несколько ИИ на компе в виде папок, доступ в содержимому которой будет исключительно для ИИ, кому она принадлежит, но другие ИИ смогут видеть, сколько их на самом деле и самое главное, они могут удалить любую из папок (и ИИ), и даже свою собственную
По очереди вызываются ИИ
Ограничить количество вызовов скажем 300 вызовов, после чего ИИ "умирает"
Можно чуть развить, что ИИ может создать совместно с другой ИИ путем объединения папок, при этом жизнь ИИ создавшей новое ИИ укорачивается в два раза
попробуйте на оф. сайте,
ссылка на оф сайт
https://www.gaisler.com/grlib-ip-library
если есть потребности в газовых турбинах, то логичнее построить дополнительный завод по их производству, чем вложить примерно столько же средств в разработку технологии по конверсии турбин очень разного качества с хранения... и всё равно потребуется завод...
так что очень странное предложение от ведущей в технологиях страны, только если считать, что компетенции производства турбин нужных мощностей утрачены... ну тогда ой...
расскажу свою историю: радиотехники собрали собственную плату и добавили туда визард управления питанием и шиной USB3.0, которой не было в референсной плате, две недели они думали что делать, так как USB устройства на плате не определялись.
Никогда до этого не работал с linux, с помощью нейронки развернул SDK для процессора на ubuntu 18.04 (такая требовалась для SDK) в virtualbox для сборки ядра. Ещё несколько дней с ИИ собирал DTSI для платы и подошёл к USB и визарду fusb301. Говорю нейронке, ищи драйвер в инете и вообще какие есть варианты, на что она отвечает, что драйвера нет, смысла искать нет, напиши его сам и даёт мне заготовку на Си с пустыми функциями. Я чутка прифигел, ну и отвечаю ей, что нет, так не пойдёт, напиши драйвер сама. Она - "Ок" - вот драйвер. Дальше четыре часа отладки и есть полностью рабочий драйвер под fusb301, устройства usb3.0 поднялись и работают. И да, я полностью понимаю (в том числе благодаря комментариям ИИ и отладочным сообщениям в коде драйвера) как работает конкретный драйвер в linux, порядок его загрузки и отработки прерываний.
Итог: я больше не боюсь Linux, так как теперь уверен, что с ИИ могу развернуть среду разработки под Linux, а также она мне подробно объяснит как работает build.sh и вообще происходит сборка образа, как функционирует плата под ОС, как сконфигурить дерево устройств DTS и даже как написать драйвер. Дальше мы с ней разработали драйвера акселерометров, магнетометров и других устройств, что были на плате, демо код на питоне проверки работы драйверов. И да, я не программист, я - радиотехник.
В умелых руках - ИИ мощнейший инструмент, но нужно им пользоваться как инструментом (как отвертками, пассатижами, ключами, мы же не пытаемся болты откручивать руками, а используем инструменты), а не пытаться подменить себя ИИ.
wiki не всегда права, верить практике
посмотрите кадр в моей статьей подписанный "Вот кадр с VS320 (SWIR):", там явно видно, что небо светится в SWIR - это естественное свечение в верхних слоях атмосферы. Чуть ниже кадр сняты в тоже время, но в видимом свете, видно, что небо в видимо свете черное и явно видны звезды. Именно свечение атмосферы в ближней ИК области (в значительной степени) используется ЭОП ПНВ.
спасибо!
и ждем статью про реализацию FFT!
еще такой вопрос, как LLM модели работают с данной архитектурой и asm? есть ли полное, но краткое описание для подгрузки в LLM?
вопрос вот к чему, столкнулся с низкоуровневыми вопросами реализации IP блоков на system verilog, загружал LLM свой код и pdf описание нужных мне IP блоков, после качественной подгрузки данных (но они должны быть не большими) LLM очень помогала с верификацией написанного кода модулей (своих и чужих) и поиском узких мест. Для новичков в новой архитектуре копилот на LLM был бы, возможно, полезен, но ньюансы архитектуры ей нужно как-то компактно подгрузить...
дополню, чтобы чуть лучше разобраться в люксах, ваттах, фотонах и электронах, можно почитать статью Михаила Крутика и Виктора Майорова:
Люмены, канделы, ватты и фотоны. Измерения чувствительности телевизионных камер на основе ЭОП и ПЗС
"что залито - затечь не может"
класс, нужно запомнить =)))
вопрос: в гидробаке морская вода?
это значение для конкретной матрицы и примененного объектива, измеренное на практике с применением этой конкретной матрицы.
К сожалению, очень много времени прошло, можно заново пересчитывать и измерять, но порядок примерно такой, что ночью на пиксель 11х11мкм прилетает 50-70 фотонов на кадр 50мс.
Другой вариант, возможно, более надежный - выбраться с радиометром от 0.4 до 1мкм и промерить фактическую освещенность (но именно радиометром, а не люксметром).