Электронный блок управления двигателем ЭБУ Микас заиграл мелодию на Новый год. На видео ЭБУ "поет" через канал для первой форсунки (0 пин порта 4). В видео музыку он воспроизводит неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp В раннем видео th-cam.com/video/5rHiRrdr2Kw/w-d-xo.html я рассказывал о возможности написания программы для электронного блока управления (ЭБУ) двигателем, чтобы использовать его не только в автомобиле. И тогда я поставил перед собой задачу поморгать светодиодом. Задача была перевыполнена. Блок запел биперной музыкой! 😜 В качестве демки на ассемблере A51 был написан 4-х канальный биперный проигрыватель трекерной музыки. Программа была скомпилирована и загружена через UART в XRAM память микроконтроллера SAF-C509L. От вас, друзья, требуется обратная связь. 👍 Хотелось бы узнать, на чем остановиться подробнее в следующем видео, посвященном этому проекту. Идея (алгоритм) для проигрывателя биперной трекерной музыки и музыкальная композиция (блок данных): nanobeep3 - 54 byte beeper engine for ZX Spectrum ;;; by utz 11'2022 * irrlichtproject.de github.com/utz82/ZX-Spectrum-1-Bit-Routines/tree/master/nanobeep3
Подскажи пожалуйста, как в Ситроен магнитола rd4, убрать сд и вместо сд припаять мп3 модуль, чтобы магнитола работала как заводская. У Ситроен и Пежо магнитола связана процессором с бортовым компьютером.
Доброго дня. Вопрос не по теме. Весной установил на карбюраторную классику зажигание с карбюраторной газели на базе эбу микас 7.1 243.3763 000-01. В память флеш герез комбилоадер залил двухрежемную прошивку(набор калибровок) т.к. у меня два вида топлива(газ-бензин). Память еепром не трогал. С калибровками чуть подразобрался,мотор поехал лучше. Понимаю так,что в еепром залита программа,которая управляет мотором,используя данные калибровок из флеш памяти. На данный момент непонятно,когда используются калибровки экономичного режима,а когда мощностного. Отсюда вопрос. Что посоветуете изучить для понимания этого вопроса.(хочу изучить работу программы) Ассемберов,как я понял несколько. И какими программами посоветуете пользоваться?
Приветствую. Проясним немного. Во флэш записана программа управления двигателем. Это, так называемое ПЗУ микроконтроллера. Там же находятся калибровки для конкретного двигателя и конфигурация (комплектация): кондиционер, количество цилиндров, управление вентилятором и т.д.. В EEPROM же могут находится служебные параметры: VIN, модель двигателя, номер прошивки, пробег (опционально), поправка угла опережения зажигания, коэффициент коррекции СО, коэффициент коррекции топливоподачи ... и некоторые другие параметры (зарезервированные ячейки памяти). Двухрежимная прошивка предполагает наличие по сути двух аналогичных программ управления двигателем, но с разными калибровками. Переключение между прошивками осуществляется "на-лету", так, что микроконтроллер не замечает "подмены" (стек и регистры ЦПУ м/к не "портится"). Я не ЧИП-тюнер, а немного программист. Со своей стороны могу посоветовать изучать для программирования данного м/к официальную документацию на данный микроконтроллер. Для написания программ можно использовать, как я отмечал в видео по данной тематике, среду разработки Keil.
@@VadRov Понятно. Погуглю. в этом направлении.Хочется разобраться самому. Чем больше пытаюсь разобраться в работе ЭБУ, тем больше вопросов появляется. Думаю это нормально. Сегодня набрёл на ваш канал. Для себя нашел ещё один ответ. С первым ЭБУ у меня с наступлением лета и жары появилась проблема. Когда корпус блока становился тёплым,вторая прошивка переставала работать. Купил другой блок,с ним работает машина адекватно. Думаю,причина в микросхеме флеш памяти или соседней,которая работает с флеш. Зимой времени будет больше. Попробую перепаять.
И правда, похоже, при наличии воображения, что двигатель поет перед смертью 😂По моей задумке изначально предполагалось музыку из Марио на 4 голоса забацать, но потом изменил "на марш". Хотя, Марио готов был 😉
Занятно. Прикладное что -нить хотелось бы. Что делать подробно неизвестно, поскольку вряд ли это частая работа для кого-то, сложности много, денег наверняка мало, и масштабируемости тоже мало:(
Из пользы, какую можно извлечь, то тут можно внедрить во флеш (по свободным адресам и "повесить" соответствующее прерывание-обработчик) подпрограмму для онлайн настройки калибровки. Не знаю, есть ли подобная модификация ПО для этих (Микас 7.1, 7.2 и подобных) блоков, но если есть, то стоит это ПО, наверное, недешево. Я бы, наверное, за неделю (но это не точно) с "перекурами" такую задачу решил (ПО клиент-сервер), но браться точно не буду. 🙂А для управления каким-нибудь устройством (автоматизацией какого-либо процесса) с подходящими характеристиками для каналов имеющихся на плате драйверов ПО написать несложно. Залить свою прошивку (с использованием самописного ПО) вообще, как оказалось, дело простое.
Блок этот скорее всего с ГАЗели может быть с Волги, машины с которыми люди имеют секс. Поэтому на нем нужно запускать музыку из псковского порно, прямо на все каналы форсунок
@@РоманДягелев , поиск в интернете говорит, что такое уже давно сделано. Наверняка, кто-нибудь предлагает доработку блока и соответствующую прошивку. Схему я посмотрел на Январь 5.1. Резервные выходы там с портов м/к есть (необходима пайка дополнительных элементов). Изначально этот блок не проектировался с расчетом на 6 и 8 цилиндров в отличие от Микас 7.1, где, судя по схеме, предполагалось использование под 6 и 8 цилиндровые двигатели (выходы под доп. форсунки и на ключи катушек зажигания - необходима пайка отсутствующих и дополнительных элементов). И по классике почему-то каждый считает, что его проблема будет многим (практически всем) интересна. Но решать ее предлагается мне 😉
Здравствуйте, очень занимательный эксперемент 👍 с какого вы города? Есть желание по сотрудничать, я занимаюсь ремонтом спецтехники (экскаваторы, бульдозеры, погрузчики) в которой все больше и больше электроники, а понимающих людей все меньше. Как с вами связаться можно?.
0) Открываем даташит с указанием где его взять 1) общий обзор МК его архитектура что на борту, как происходит общение его внутренностей, Как у него с переферией - обобщенно то что узнали в даташите . Ну или так чем он отличается от STM32(с этой бядой мы боль-мень знакомы) 2) что за отдельный прошивальщик и как это связано с особенностью МК его архитектурой (железная схемотехника , алгоритм работы загрузки ) - обобщенно с упором на тонкие моменты по вашему мнению, а детали и нюансы можно и в даташите почитать 3) Код-ревю по прошивальщику . Код-ревю по программе для МК.
@@VadRov Здравствуйте. Как вы думаете, зачем они ставят такое древнее барахло ? Они очень надёжные или их просто дохренилиард выпустили и их можно грести мешками ? Там ещё вроде отдельная память на доп микрухе , тоже удорожание изделия.
@@VasyaPupkinus , сейчас, наверное, уже такие м/к (saf-c509l) не ставят, наверное, больше 10 лет (но это не точно). А что касается архитектуры, то архитектура 8051 весьма успешная. Лицензирование копеечное, производство дешевое. Так сказать, технологии проверенные временем. Плюс получила развитие. В рассматриваемом м/к один машинный цикл осуществляется за 6 тактов генератора (16 МHz), а сейчас уже за 1 такт при частотах за 100 - 200 МГц, плюс сейчас все инструкции (или почти все) исполняются за 1 цикл в современных ядрах, а раньше - от 1 до 4 (деление и умножение). Кстати, мне было приятно сравнить производительность этого ядра на частоте 2,(6) MHz и Z80 на частоте 3.5 MHz. Так вот, код здесь, как правило, больше, но скорость выполнения однотипных программ до 2.5 раз (на разных задачах без математических операций деления и умножения) быстрее, а в математических задачах - еще быстрее. При пробном переносе программ со Спектрума приходилось искусственно вносить задержки в код для согласования времени исполнения. Самая приятная фича - несколько банков регистров и 8 16-разрядных переключаемых регистров-указателей данных. Можно фактически полностью отказаться от операций со стеком, как это бывает с Z80 "при нехватке" регистров, быстрый доступ к памяти. Из недостатка - стек может быть только во внутренней памяти ядра в границах 0-255 байт, т.е. он восьмиразрядный. Трюков со стеком, как в Z-80, здесь не провернуть. Вернее, провернуть, но только во внутренней памяти, ограниченной 256 байтами.
Без документации долго (бессонные ночи, осциллограф и т.п.). Быстро только в том случае, если есть дилерский "шнурок". Тогда просто "слушаем" обмен, делаем логи типа запрос/ответ. Потом долго эти логи анализируем и пишем свое ПО.
@@vsosacordeev , "камень" современный имеет интерфейс для программирования и отладки. Не важно, какого вида у него флеш: internal или external. При старте ядра все равно запускается начальный загрузчик встроенный на заводе. А дальше уже этот загрузчик решает, как поступить: запустить код с флеш или загрузить ПО в эту флеш. С 80-х годов принципы не изменились. Изменились только технологии. Например, защита от неавторизованного скачивания прошивки, доступа к загрузчику и т.п. Раньше все решалось просто - специальным маркерным кодом во флеш. Если его не было, то управление на себя брало internal ROM, если был, то управление передавалось программе пользователя из External flash. И там можно было прописать свой алгоритм обновления прошивки, известный только ее автору (по крайней мере, в это хотелось верить). Сейчас все сложнее, ключи, шифровальщики и т.п. и т.д. Пусть этим занимаются те, кому за это платят.😉
Интересный вы человек, однако! Возник ещё вопрос, винбондовсиие флеш по spi и sd card вчём отличие по протоколу доступа, если не считать эмуляцию файловой системы. можно к примеру на прямую к адрессам в sd , как на винбонде оброщаться? @@VadRov
@@vsosacordeev , адресация в картах может быть, как побайтная - для SD, так и посекторная для карт SDHC. Зависит, как Вы понимаете, от типа карты. Разница в работе с этими картами состоит в том, что они по разному инициализируются, и им по разному передают адрес блока данных для операций чтения/записи (в том смысле, что адрес этот в зависимости от типа карты формируется по разному). Отличий в работе кардинальных со spi flash нет (это по моему мнению, даже при том, что там своя система команд и т.п.). Файловой системе до лампочки где она: на карте или spi flash,, поскольку она работает с этими устройствами через низкоуровневые драйвера, написать которые головная боль программиста, т.е. Ваша 🙂 .
Хотелось бы посмотреть на С прошивку, которая управляет биперами (или чем там она управляет со стороны музыки) с подробным объяснением алгоритма! Я восхищен! Лайк!
Андрей, исходный код проигрывателя биперной музыки для блока написан на ассемблере. Идея не моя, а таких замечательных людей, как Shiru и utz. Я просто переписал код utz - nanobeep3 (с некоторым своим видением и реалиями другого ядра) с z80 на 8051, одновременно расширив число каналов с 2 до 4-х. Но на практике лучше за 3 канала не выходить - ноты точно не передать. Да, и далек я от этого. Upd: на Си написать надо попробовать, но, скорее, вряд ли. Компилятор там навертит не весть что. И будет лепить к коду свои "заготовки" при обращении с указателем данных DPTR.
@@VadRov я далек от программирования! Только калибрую блоки управления под двигатели завода! На фото играет блок похожий на Январь 5.1 или 150.6337 или я ошибаюсь? Я работаю с М230.E3, но только на уровне пользователя! Настраиваю калибровочные таблицы! А к уровню софта доступа не имею! Поэтому и интересуюсь.
@@astrelcoff , это блок Микас 7.1 ("древний", с управляющим микроконтроллером SAF-C509L ). По алгоритмам и пояснению исходного кода будет следующее видео из этой тематики.
@@VadRov Обязательно посмотрю! Спасибо за редкое видео/знание/умение/скилл! PS Я вспомнил где Микас 7.1 встречал...! На ранних ГАЗелях с двигателем ЗМЗ.
@@VadRov Я думаю так: вот допустим есть какая-то отладочная плата с таким микроконтроллером, и как это всё дело начать программировать, среда разработки, datasheet'ы, программатор и т.д
@@ОлегРешетник-ь7ъ, найдите курс программирования, например, Arduino или stm32, и просто повторяйте за автором. Если втянетесь, дело пойдет. Мой первый контроллер - это PIC16, сам на себя удивляюсь, как я его завел 14 лет назад. С тех пор чего я только не программировал.
Это слишком просто. Учитывая то, что во встроенном начальном загрузчике (512 байт) есть процедуры считывания блоков и передачи байта по UART. Первые мои тесты, кстати, именно с UART были связаны, т.к. программировать без отладчика незнакомый "камень" просто нереально. Но.. вот об этом в следующем видео. Кстати, спасибо за правильные вопросы. Ставлю себе заметки. 👍
Алекс, в этом видео музыка воспроизводится неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp
Там больше лампочек можно навесить: есть еще канал лампы неисправности, канал реле бензонасоса, канал для реле электровентилятора, кондиционера, главного реле и т.д. В общем, целую дискотеку можно устроить 😂
а вот обратная связь: как человеку разобраться с новым контролером. где искать в чем его программировать, где брать документацию, как это искать. и как вообще понимать новую техническую литературу?) так как все говорят читай литературу, но без каких то основ она бесполезна..
С новым контроллером... Идем на сайт изготовителя MCU (infineon.com в данном случае). Скачиваем оттуда все доки, в т.ч., errata. Выясняем, что там за ядро. в данном случае c-500, основано на intel-8051, он же msc-51. По ядру определяем компилятор, который его поддерживает. В данном случае ПО - это макроассемблер A51, расширение компилятора языка С до С51. Собственно, то и другое поддерживает Keil. Есть и другое ПО. Читать документацию сложно, если не носитель того самого языка. Технический язык еще сложнее (особенно, если изучал технический немецкий). Гугл не всегда правильно передает. Некоторые вещи эмпирически приходится воспринимать. Основы надо наколачивать. С миру по нитке, нищему рубаха. 😉 С Новым годом!
@@dailrus, да, начинающим здесь будет очень сложно разобраться. Но с точки зрения безопасности устройства, здесь есть защита от коротких замыканий, например, на выходах под форсунки и т.п. 🙂 Хорошие там драйвера установлены. Держат до 3 ампер нагрузки на канал, по-моему. Я динамики последовательно соединенные к выводам форсунки подключал. Звук орал так, что... "мама дорогая...." Никакой усилитель не нужен.😉
В видео музыку он воспроизводит неправильно. Нашел ошибку. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp Так веселее играет. 🙂
А таким способом можно сыграть обычную четырёхканальную трекерную музыку, вот типа такого? th-cam.com/video/Hkw7l8IgM4g/w-d-xo.html :) Или только какие-то специально написанные мелодии?
На этом микроконтроллере без музыкального сопроцессора такое не воспроизвести, да, и памяти не хватит. 🙂 На stm32f4 и выше, думаю, можно с неплохим качеством.
Электронный блок управления двигателем ЭБУ Микас заиграл мелодию на Новый год. На видео ЭБУ "поет" через канал для первой форсунки (0 пин порта 4).
В видео музыку он воспроизводит неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp
В раннем видео th-cam.com/video/5rHiRrdr2Kw/w-d-xo.html я рассказывал о возможности написания программы для электронного блока управления (ЭБУ) двигателем, чтобы использовать его не только в автомобиле. И тогда я поставил перед собой задачу поморгать светодиодом. Задача была перевыполнена. Блок запел биперной музыкой! 😜 В качестве демки на ассемблере A51 был написан 4-х канальный биперный проигрыватель трекерной музыки. Программа была скомпилирована и загружена через UART в XRAM память микроконтроллера SAF-C509L. От вас, друзья, требуется обратная связь. 👍 Хотелось бы узнать, на чем остановиться подробнее в следующем видео, посвященном этому проекту.
Идея (алгоритм) для проигрывателя биперной трекерной музыки и музыкальная композиция (блок данных):
nanobeep3 - 54 byte beeper engine for ZX Spectrum
;;; by utz 11'2022 * irrlichtproject.de
github.com/utz82/ZX-Spectrum-1-Bit-Routines/tree/master/nanobeep3
Подскажи пожалуйста, как в Ситроен магнитола rd4, убрать сд и вместо сд припаять мп3 модуль, чтобы магнитола работала как заводская. У Ситроен и Пежо магнитола связана процессором с бортовым компьютером.
у меня есть синтезатор ямаха можно её переделать под эбу двигатель 3s-ge ?
😉Если синтезатор не жалко, то все возможно. 😂
Доброго дня. Вопрос не по теме. Весной установил на карбюраторную классику зажигание с карбюраторной газели на базе эбу микас 7.1 243.3763 000-01. В память флеш герез комбилоадер залил двухрежемную прошивку(набор калибровок) т.к. у меня два вида топлива(газ-бензин). Память еепром не трогал. С калибровками чуть подразобрался,мотор поехал лучше. Понимаю так,что в еепром залита программа,которая управляет мотором,используя данные калибровок из флеш памяти.
На данный момент непонятно,когда используются калибровки экономичного режима,а когда мощностного. Отсюда вопрос. Что посоветуете изучить для понимания этого вопроса.(хочу изучить работу программы) Ассемберов,как я понял несколько. И какими программами посоветуете пользоваться?
Приветствую. Проясним немного. Во флэш записана программа управления двигателем. Это, так называемое ПЗУ микроконтроллера. Там же находятся калибровки для конкретного двигателя и конфигурация (комплектация): кондиционер, количество цилиндров, управление вентилятором и т.д.. В EEPROM же могут находится служебные параметры: VIN, модель двигателя, номер прошивки, пробег (опционально), поправка угла опережения зажигания, коэффициент коррекции СО, коэффициент коррекции топливоподачи ... и некоторые другие параметры (зарезервированные ячейки памяти). Двухрежимная прошивка предполагает наличие по сути двух аналогичных программ управления двигателем, но с разными калибровками. Переключение между прошивками осуществляется "на-лету", так, что микроконтроллер не замечает "подмены" (стек и регистры ЦПУ м/к не "портится"). Я не ЧИП-тюнер, а немного программист. Со своей стороны могу посоветовать изучать для программирования данного м/к официальную документацию на данный микроконтроллер. Для написания программ можно использовать, как я отмечал в видео по данной тематике, среду разработки Keil.
@@VadRov Понятно. Погуглю. в этом направлении.Хочется разобраться самому. Чем больше пытаюсь разобраться в работе ЭБУ, тем больше вопросов появляется. Думаю это нормально. Сегодня набрёл на ваш канал. Для себя нашел ещё один ответ. С первым ЭБУ у меня с наступлением лета и жары появилась проблема. Когда корпус блока становился тёплым,вторая прошивка переставала работать. Купил другой блок,с ним работает машина адекватно. Думаю,причина в микросхеме флеш памяти или соседней,которая работает с флеш. Зимой времени будет больше. Попробую перепаять.
Что это? Похоронный марш двигателя?😂
И правда, похоже, при наличии воображения, что двигатель поет перед смертью 😂По моей задумке изначально предполагалось музыку из Марио на 4 голоса забацать, но потом изменил "на марш". Хотя, Марио готов был 😉
Занятно.
Прикладное что -нить хотелось бы.
Что делать подробно неизвестно, поскольку вряд ли это частая работа для кого-то, сложности много, денег наверняка мало, и масштабируемости тоже мало:(
Из пользы, какую можно извлечь, то тут можно внедрить во флеш (по свободным адресам и "повесить" соответствующее прерывание-обработчик) подпрограмму для онлайн настройки калибровки. Не знаю, есть ли подобная модификация ПО для этих (Микас 7.1, 7.2 и подобных) блоков, но если есть, то стоит это ПО, наверное, недешево. Я бы, наверное, за неделю (но это не точно) с "перекурами" такую задачу решил (ПО клиент-сервер), но браться точно не буду. 🙂А для управления каким-нибудь устройством (автоматизацией какого-либо процесса) с подходящими характеристиками для каналов имеющихся на плате драйверов ПО написать несложно. Залить свою прошивку (с использованием самописного ПО) вообще, как оказалось, дело простое.
Блок этот скорее всего с ГАЗели может быть с Волги, машины с которыми люди имеют секс. Поэтому на нем нужно запускать музыку из псковского порно, прямо на все каналы форсунок
интересное видео) но сложно для простых смертных)
Как я понимаю простых смертных 😉
@@VadRov если у вас есть понимание как заставить январь 5.1 работать с 6 и 8 цилиндровыми двс было бы очень круто. Я думаю многим было бы интересно
@@РоманДягелев , поиск в интернете говорит, что такое уже давно сделано. Наверняка, кто-нибудь предлагает доработку блока и соответствующую прошивку. Схему я посмотрел на Январь 5.1. Резервные выходы там с портов м/к есть (необходима пайка дополнительных элементов). Изначально этот блок не проектировался с расчетом на 6 и 8 цилиндров в отличие от Микас 7.1, где, судя по схеме, предполагалось использование под 6 и 8 цилиндровые двигатели (выходы под доп. форсунки и на ключи катушек зажигания - необходима пайка отсутствующих и дополнительных элементов). И по классике почему-то каждый считает, что его проблема будет многим (практически всем) интересна. Но решать ее предлагается мне 😉
Здравствуйте, очень занимательный эксперемент 👍 с какого вы города? Есть желание по сотрудничать, я занимаюсь ремонтом спецтехники (экскаваторы, бульдозеры, погрузчики) в которой все больше и больше электроники, а понимающих людей все меньше. Как с вами связаться можно?.
Здравствуйте. Я не занимаюсь ремонтом чужой электроники. По крайней мере, в ближайшей перспективе точно не планирую.
Вау, рулил мотором теперь поет ахахах ты красавчик! Шаришь сильно! Так и поевляються спорт софт и спорт эбу! Продолжай в том же духе!
0) Открываем даташит с указанием где его взять
1) общий обзор МК его архитектура что на борту, как происходит общение его внутренностей, Как у него с переферией - обобщенно то что узнали в даташите . Ну или так чем он отличается от STM32(с этой бядой мы боль-мень знакомы)
2) что за отдельный прошивальщик и как это связано с особенностью МК его архитектурой (железная схемотехника , алгоритм работы загрузки ) - обобщенно с упором на тонкие моменты по вашему мнению, а детали и нюансы можно и в даташите почитать
3) Код-ревю по прошивальщику . Код-ревю по программе для МК.
Про отличие от stm32 могу сейчас ответить. Отличается по уровню развития технологий на несколько десятков лет (40, может? ). 🙂
@@VadRov Здравствуйте. Как вы думаете, зачем они ставят такое древнее барахло ? Они очень надёжные или их просто дохренилиард выпустили и их можно грести мешками ? Там ещё вроде отдельная память на доп микрухе , тоже удорожание изделия.
Посмотрел обзор блоков Январь, с 2007 года там уже STMки ставят
@@VasyaPupkinus , сейчас, наверное, уже такие м/к (saf-c509l) не ставят, наверное, больше 10 лет (но это не точно). А что касается архитектуры, то архитектура 8051 весьма успешная. Лицензирование копеечное, производство дешевое. Так сказать, технологии проверенные временем. Плюс получила развитие. В рассматриваемом м/к один машинный цикл осуществляется за 6 тактов генератора (16 МHz), а сейчас уже за 1 такт при частотах за 100 - 200 МГц, плюс сейчас все инструкции (или почти все) исполняются за 1 цикл в современных ядрах, а раньше - от 1 до 4 (деление и умножение). Кстати, мне было приятно сравнить производительность этого ядра на частоте 2,(6) MHz и Z80 на частоте 3.5 MHz. Так вот, код здесь, как правило, больше, но скорость выполнения однотипных программ до 2.5 раз (на разных задачах без математических операций деления и умножения) быстрее, а в математических задачах - еще быстрее. При пробном переносе программ со Спектрума приходилось искусственно вносить задержки в код для согласования времени исполнения. Самая приятная фича - несколько банков регистров и 8 16-разрядных переключаемых регистров-указателей данных. Можно фактически полностью отказаться от операций со стеком, как это бывает с Z80 "при нехватке" регистров, быстрый доступ к памяти. Из недостатка - стек может быть только во внутренней памяти ядра в границах 0-255 байт, т.е. он восьмиразрядный. Трюков со стеком, как в Z-80, здесь не провернуть. Вернее, провернуть, но только во внутренней памяти, ограниченной 256 байтами.
@@VasyaPupkinus Где посмотреть этот обзор? Какие там STMки?
Прикольно, хотелось бы посматреть как написать загрузчик, под камень ! как без документации узнать по какому адрессу процесор стучится, как оживает!
Без документации долго (бессонные ночи, осциллограф и т.п.). Быстро только в том случае, если есть дилерский "шнурок". Тогда просто "слушаем" обмен, делаем логи типа запрос/ответ. Потом долго эти логи анализируем и пишем свое ПО.
Да но это если память внешняя, что если память внутряняя, джетаги я так пологаю есть не у всех камней, как интересно выйти из этого тупика?
@@VadRov
@@vsosacordeev , "камень" современный имеет интерфейс для программирования и отладки. Не важно, какого вида у него флеш: internal или external. При старте ядра все равно запускается начальный загрузчик встроенный на заводе. А дальше уже этот загрузчик решает, как поступить: запустить код с флеш или загрузить ПО в эту флеш. С 80-х годов принципы не изменились. Изменились только технологии. Например, защита от неавторизованного скачивания прошивки, доступа к загрузчику и т.п. Раньше все решалось просто - специальным маркерным кодом во флеш. Если его не было, то управление на себя брало internal ROM, если был, то управление передавалось программе пользователя из External flash. И там можно было прописать свой алгоритм обновления прошивки, известный только ее автору (по крайней мере, в это хотелось верить). Сейчас все сложнее, ключи, шифровальщики и т.п. и т.д. Пусть этим занимаются те, кому за это платят.😉
Интересный вы человек, однако! Возник ещё вопрос, винбондовсиие флеш по spi и sd card вчём отличие по протоколу доступа, если не считать эмуляцию файловой системы. можно к примеру на прямую к адрессам в sd , как на винбонде оброщаться? @@VadRov
@@vsosacordeev , адресация в картах может быть, как побайтная - для SD, так и посекторная для карт SDHC. Зависит, как Вы понимаете, от типа карты. Разница в работе с этими картами состоит в том, что они по разному инициализируются, и им по разному передают адрес блока данных для операций чтения/записи (в том смысле, что адрес этот в зависимости от типа карты формируется по разному). Отличий в работе кардинальных со spi flash нет (это по моему мнению, даже при том, что там своя система команд и т.п.). Файловой системе до лампочки где она: на карте или spi flash,, поскольку она работает с этими устройствами через низкоуровневые драйвера, написать которые головная боль программиста, т.е. Ваша 🙂
.
Пора переходить на ELM-327, там разные процессоры основной чип PIC18. По МИКАС-7 надо рисовать куда-чего, так будет понятней
Хотелось бы посмотреть на С прошивку, которая управляет биперами (или чем там она управляет со стороны музыки) с подробным объяснением алгоритма! Я восхищен! Лайк!
Андрей, исходный код проигрывателя биперной музыки для блока написан на ассемблере. Идея не моя, а таких замечательных людей, как Shiru и utz. Я просто переписал код utz - nanobeep3 (с некоторым своим видением и реалиями другого ядра) с z80 на 8051, одновременно расширив число каналов с 2 до 4-х. Но на практике лучше за 3 канала не выходить - ноты точно не передать. Да, и далек я от этого.
Upd: на Си написать надо попробовать, но, скорее, вряд ли. Компилятор там навертит не весть что. И будет лепить к коду свои "заготовки" при обращении с указателем данных DPTR.
@@VadRov я далек от программирования! Только калибрую блоки управления под двигатели завода! На фото играет блок похожий на Январь 5.1 или 150.6337 или я ошибаюсь? Я работаю с М230.E3, но только на уровне пользователя! Настраиваю калибровочные таблицы! А к уровню софта доступа не имею! Поэтому и интересуюсь.
@@astrelcoff , это блок Микас 7.1 ("древний", с управляющим микроконтроллером SAF-C509L ). По алгоритмам и пояснению исходного кода будет следующее видео из этой тематики.
@@VadRov Обязательно посмотрю! Спасибо за редкое видео/знание/умение/скилл! PS Я вспомнил где Микас 7.1 встречал...! На ранних ГАЗелях с двигателем ЗМЗ.
@@astrelcoff, все правильно. Я их набрал с разборок с Волг и Газелей. До сих пор популярны у корчестроителей.
Интересно узнать про микроконтроллер.
Архитектура, периферия, система команд?
@@VadRov Я думаю так: вот допустим есть какая-то отладочная плата с таким микроконтроллером, и как это всё дело начать программировать, среда разработки, datasheet'ы, программатор и т.д
@@ОлегРешетник-ь7ъ, найдите курс программирования, например, Arduino или stm32, и просто повторяйте за автором. Если втянетесь, дело пойдет. Мой первый контроллер - это PIC16, сам на себя удивляюсь, как я его завел 14 лет назад. С тех пор чего я только не программировал.
Гугли Infineon
@@VadRov Скорее узнать: среда разработки? KEIL? программатор/отладчик?
Может стоило по UART какой ни будь wav проиграть?
Это слишком просто. Учитывая то, что во встроенном начальном загрузчике (512 байт) есть процедуры считывания блоков и передачи байта по UART. Первые мои тесты, кстати, именно с UART были связаны, т.к. программировать без отладчика незнакомый "камень" просто нереально. Но.. вот об этом в следующем видео. Кстати, спасибо за правильные вопросы. Ставлю себе заметки. 👍
Алекс, в этом видео музыка воспроизводится неправильно. Нашел ошибку. Я не учел, что у Спектрума бит D4 на 254 порту управляет динамиком, а у меня по факту бит D0. Т.е. вывод управляющего бита осуществлялся не с того разряда счетчика, формирующего звуковую частоту. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp
Имееш 4 канала управления форсунками и 2 катушками , выведи на канал форсунок лампочки чтоб моргали в такт музыки и 2 канала звука.
Там больше лампочек можно навесить: есть еще канал лампы неисправности, канал реле бензонасоса, канал для реле электровентилятора, кондиционера, главного реле и т.д. В общем, целую дискотеку можно устроить 😂
а вот обратная связь: как человеку разобраться с новым контролером. где искать в чем его программировать, где брать документацию, как это искать. и как вообще понимать новую техническую литературу?) так как все говорят читай литературу, но без каких то основ она бесполезна..
С новым контроллером... Идем на сайт изготовителя MCU (infineon.com в данном случае). Скачиваем оттуда все доки, в т.ч., errata. Выясняем, что там за ядро. в данном случае c-500, основано на intel-8051, он же msc-51. По ядру определяем компилятор, который его поддерживает. В данном случае ПО - это макроассемблер A51, расширение компилятора языка С до С51. Собственно, то и другое поддерживает Keil. Есть и другое ПО. Читать документацию сложно, если не носитель того самого языка. Технический язык еще сложнее (особенно, если изучал технический немецкий). Гугл не всегда правильно передает. Некоторые вещи эмпирически приходится воспринимать. Основы надо наколачивать. С миру по нитке, нищему рубаха. 😉 С Новым годом!
@@VadRov блин, ну может спустя время я научусь так же. спасибо)
@@openFrimeTv , да, не надо Вам так же. Надо лучше. Все еще впереди.🙂
Лучше начинать с плат для разработки, а не проприетарных устройств конечно)
@@dailrus, да, начинающим здесь будет очень сложно разобраться. Но с точки зрения безопасности устройства, здесь есть защита от коротких замыканий, например, на выходах под форсунки и т.п. 🙂 Хорошие там драйвера установлены. Держат до 3 ампер нагрузки на канал, по-моему. Я динамики последовательно соединенные к выводам форсунки подключал. Звук орал так, что... "мама дорогая...." Никакой усилитель не нужен.😉
Круто
В видео музыку он воспроизводит неправильно. Нашел ошибку. После исправления кода записал звук через звуковую карту компьютера: drive.google.com/open?id=10ccxhkfEdnQ6r4ELAUnwxCULNyggijQk&usp
Так веселее играет. 🙂
А таким способом можно сыграть обычную четырёхканальную трекерную музыку, вот типа такого? th-cam.com/video/Hkw7l8IgM4g/w-d-xo.html :)
Или только какие-то специально написанные мелодии?
На этом микроконтроллере без музыкального сопроцессора такое не воспроизвести, да, и памяти не хватит. 🙂 На stm32f4 и выше, думаю, можно с неплохим качеством.
@@VadRov Понятно :)
Не ЭБУ, а мозги-и-и-и!!! :)
Не... "Мозги" - это жаргонизм. 😉 Все-таки, по-научному, ЭБУ.
Маньяк
Если только в хорошем смысле (если такой смысл применим с слову "маньяк" ) 😉