Один из самых частых вопросов: "Почему на ассемблере?". Сломал "язык"(пальцы) отвечать. Варианты ответов на выбор: 1. Очень простая программа. 2. Использую вызов подпрограмм встроенного ПЗУ с передачей параметров. Подпрограммы ПЗУ не соответствуют соглашению о вызовах. Чтобы не встраивать ассемблер в код на C, просто написал весь код на ассемблере. 3. Люблю ассемблер, а здесь сама архитектура просто предрасполагает написать на нем программу всего из 20 - 30 инструкций. 4. Чтобы больше было комментариев к ролику. Выбирайте любой вариант. 🙂 И вот еще что... Ребята, читайте, пожалуйста, описание к ролику.
@@Creekererer , да, спасибо за уточнение. Если бы мне были известны такие тонкости, то пришлось бы писать "правильные" книги. Вот ведь, не зря прожит сегодняшний день. Узнал что-то новое. Просто всегда казалось, что это слово употребляют в зависимости от контекста повествования, так сказать. В том смысле, что человек, который задал такой вопрос, и тот, кто на него отвечает, понимают смысл, который вкладывается в это слово. И если обращаться к первоисточнику, т.е. к какому-нибудь Programming manual and Instruction set, то там это четко прослеживается. Assembly language употребляется там крайне редко в отличие от: assembler programs, assembler programming, assembler instructions и т.п. Везде, черт возьми, потеряно слово "language". Аналогично и в отечественной литературе. Куда смотрят редакторы? За что им платят деньги? 🙂
В 90х когда небыло январей на mcs51 делал ЭБУ для спортсменов, хороший был контроллер, на столько понятный что. пиши хоть ассемблере хоть в машинном коде прямо в память программ. Я его называл большим дешифратором который соединял свои регистры для действий, код входа дешифратора которого можно видеть в машинном коде
Я уже пол года развлекаюсь с этой историей, даже двенашку купил, чтобы было на чем экспериментировать, мой уровень еще не дошел даже до уверенного любителя, постоянно обращаюсь к документации или форумам
Зашёл чисто почитать комментарии)) По-видимому не один умник не знает что работа вентилятора охлаждения двигателя при заливке программы в ЭБУ, это технические условия от завода производителя!))) 😊
Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался
В детском саду когда горшками звенят, и то дети радуются. А тут целый вентилятор крутится. Во как. Прежде чем, изливаться в желчи, не мешало бы описание почитать. "Ох, и злой нынче народ" 🤦♂️
Насколько я знаю математику моделируют в матлабе. Стоят модель двигателя, забивают формулы термодинамических циклов Миллера или Отто или какой нибудь другой модернизированный, запатентованный. Так что с "немного" понять ты немного погорячился😅 там очень много формул
@@vlad3cВ принципе всю прошивку на ЭБУ для двс сейчас делают в программах типа Матлаба. Там очень много есть вспомогательных инструментов которые не только помогут математические модели физических процессов построить, но также и возможность реализовать логику работы ЭБУ(например машина состояний Stateflow), реализацию различных видов регуляторов (ПИД, LQR, Фильтр Калмана). Как только инженеры подготовили прошивку в виде матлабовского проекта, в дело вступает Embedded Coder, генерируют СИшный файл прошивки, например под мк STM. Впринцире после этого можно сделать хекс и залить в ЭБУ. Конечно не все так идеально, и после кодогенерации инженеры ещё допиливают прошивку, созданную матлабом исходя из своего опыта. Также не стоит забывать что ЭБУ должен обладать различными сервисными фишками типа UDS протокола для просмотра ошибок и параметров двс, так же для настройщиков автомобиля и двс нужно заложить алгоритмы калибровки, типа XCP. В общем достаточно объёмной получается прошивка и реализовать её даже на СИ это задача для целой компании программистов-разработчиков, хотя в 90-х автопроизводители так писали прошивки.
@@Maxvel-Hausss_ , более-менее зная язык ассемблера для трех архитектур, уверенно могу сказать, что это устоявшееся заблуждение и страшилка. Нет в нем ничего сложного. Самый последовательный и логичный язык. Другой вопрос, что сложно писать большие программы, а также программы, насыщенные математическими операциями. Хотя, макросы, разбивку на подпрограммы и т.п. никто не отменял. Но, естественно, лучше программировать на языках высокого уровня (с/с++) и подключать ассемблер по мере необходимости, как в виде ассемблерной вставки __asm(""), так и отдельным файлом на ассемблере с расширением .S Знать ассемблер достаточно на уровне знакомства. Это хорошо помогает при отладке программ, так как при отладке представлен листинг дизассемблера.
@@Maxvel-Hausss_учить ассемблер не имеет смысла. Это давно не тот язык программирования, на котором вы будете писать программы, чтобы его учить. Его надо понимать что это за язык такой, и откуда он появился. Для этого советую изучить(именно изучить, не читать там есть задания их советую выполнять) книгу "Цифровая схемотехника и архитектура компьютера" где подробно, понятным языком начиная с булевой алгебры и объяснения работы транзистора строится микроконтроллер-микропроцессор. Тогда придёт понимание регистров, мнемоник, работы памяти, кэша и т.д. Поняв это и выучив ассемблер из книги вам с лёгкостью дастся любой другой, т.к. они в большинстве похожи по назначению команд. А т.к. ассемблер используется исключительно для оптимизации и поиска ошибок, не составит труда составить алгоритм, и к нему подобрать нужные команды. Когда понимаешь, как оно работает внутри, то ассемблер становится логичным и понятным. Эта книга лучшее, что я читал по теме. Если есть желание учиться, рекомендую.
Ассемблер довольно простой, похож на 8086. Суть в том, чтобы знать таблицы адресов портов конкретной железки, правильно и вовремя читать значения кучи датчиков и обрабатывать прерывания)
Вот это лайфхак, поддерживаю, а не вот это все -"ничего не делай и зарабатывай миллионы тыщ", еще бы ссылки оставлял автор и названия модулей, чтобы можно было повторить
Во-во, изучить документацию. Но для чипа МТК, мне не помогло. Так как драйвер был закрытый. А еще мне пришлось пролистать 5 000 строк на Си и изменить их, чтобы все это заработало на новом ядре линукс. Ушло так чуть-чуть - 2 дня. На ASM я подозреваю, потребовалось чуть-чуть больше времени, так как строчек было бы чуть-чуть побольше, так млн пять.
@@Ma_X64 это не проект, а сборка openwrt под роутер. Нужна была поддержка 802,11X, просто роутеры с такой поддержкой стоят в 2 раза дороже. Драйвер который в openwrt выдавал маленькую мощность, поэтому менялся драйвер на родной, чтобы завести wi-fi на полную мощность. А родной драйвер уж очень под старое ядро линукс. Пришлось править заголовочный файл. Обидно было, что драйвер завелся, а вот пакеты какие мне были нужны с ним конфликтовали. Потом я нашел эту инфу у китайца. Пришлось опять ставить не родной, т.к. он открытый, есть исходники и искать ошибки, там был ошибочный и dts файл и regdb не верный, не стыковка в исходниках считывания eeprom, короче подправил, где что нашел, остались конечно недочеты, поэтому не совсем максимум, можно конечно исправить. Но мне хватило этой мощности проверить 802,11X дотянуться за 680 метров до бесплатной точки доступа. Погонять видео в 4К целый день, прошивка работала стабильно. Для дома конечно и этой мощности многовато, поэтому больше не стал править ничего. Написать с нуля можно, ну зачем? Это должна делать фирма производитель, их программисты, она платит деньги им. А мне за это все равно не чего не будет. Я же не торгую роутерами или чипами.
Тому, кто писал в детстве программы на Бейсике и экспериментировал с ассемблером, ничего сложного в программировании ЭБУ нет. Посмотреть несколько видео, почитать документацию. Это каждый второй, третий из поколения 80-х
интересная тема, давно пора поднять еë, обычно те, кто крутит таблицы, пользуются готовым инструментом и в работу мк не вникают, а те, кто дизассемблирует и делает эти инструменты, ничего не рассказывают, если в принципе есть опыт программирования мк, то измерять ацп и дëргать форсунками и свечами легко, а дальше надо где-то взять эти самые таблицы, и хорошо бы что-то в них тоже понимать, чтобы не запороть двигатель, была одно время такая хотелка скооперироваться с энтузиастом, понимающим в работе двс и сделать свой эбу на stm32 в качестве хобби
Да, Михаил, на stm32 можно сделать. Я, кстати, подумал, что в простейшем случае и на скорую руку, можно выпаять с того же Микаса м/к, а на его место к входным и управляющим цепям, согласовав уровни, пристроить stm-ку (кстати, с согласованием проблем возникнуть не должно, т.к. stm IO 5V tolerant). 🙂
@@VadRovсвое безусловно создать можно. Только вот в начале наступите на все грабли на которые до вас наступили разработчики оригинала. Чаще всего такие грабли будут чреваты ремонтом двс😂
@@Za_pobedu_brat , согласен. Но если браться за такое, то до натурных испытаний можно провести серию испытаний с имитацией. Например, с помощью эмулятора двигателя, построенного на том же м/к по мат. модели, который будет имитировать сигналы датчиков и посылать их в ЭБУ, а от ЭБУ получать сигналы на исполнительные механизмы. Все делается, правда, при большом желании и наличии времени.
Таблицы данных как и сколько и когда впрыскивпть , дергать форсунками и тд.это стратегические секреты любой компании. Точнее сами алгоритсы. До конца ничего не наскрывается. Тайна кроется в невидимых мелочах. Они добываются на стендах и тратятся на это колоссальные деньги. Разработать ЭБУ и написать свою прошивку сейчас может любой школьник. И это как то будет даже работать. Теперь вопрос , будет ли двиг с такими алгоритмами надежным , экономичным , и отвечать стандарту безопасности ? Уверен нет.
Заставить его крутиться это одно. А вот заставить это крутиться правильно и в соответствии с зашитой кривой/режимом мотора/включенной передачей и т.д это уважение.
STM32 не покатит. ЭБУ это ASIL C по iso26262. А это контроллеры специального назначения с дублированием ядер и памяти...там много чего еще интересного.
@@Violancergta , современные стандарты безопасности - это дело ясное и понятное. Но блок из видео - это в прямом смысле "прошлый век". Не у кого, думаю, в голову не придет делать на его основе коммерческий продукт путем "вкорячивания" инородного современного "мозга". Так, если, ради баловства.
@@Violancergta ну например если нужно запустить какой нибудь Электрогидроусилитель, электроусилитель для самоделки то вполне сгодится stm или esp32, там конечно проще логическим анализатором определить can комманды на включение и ничего не перепаивать. Но если нужен например реверс Эгура и обороты в широком диапазоне, то приходится шить свою прошивку.
Писателей кода для ЭБУ с нуля по пальцам пересчитать можно . Ну в смысле вне завода. Написать работающий код для конкретного двигателя с нуля да еще и что бы был лучше заводского это врят ли. Скорректировать заводской- да, не сложно. Да и никто не пишет с нуля. Заливают уже имеющиеся , либо если есть соображалка правят сами и заливают. А для заливки прошиаки в МК не нужно изучать 1000 страниц даташита. Только нужные страницы , коих будет не более 20-ти.
Ну, что могу сказать.... Помимо заливки "прошивки" (программы), ее еще надо подготовить. "Прошивка" - это программа в машинных кодах для ядра микроконтроллера (ядро по сути микропроцессор, а сам микроконтроллер - это ядро + периферия и дополнительные контроллеры: DMA, NVIC и т.п.) Так вот, в данном случае программа писалась на языке ассемблера A51 для ядра C500. Чтобы писать программы на ассемблере надо знать архитектуру и систему команд ядра. В данном случае - это книга объемом 118 стр. (C500. Architecture and Instruction Set). Потребуется еще и мануал на м/к. В нем помимо алгоритма заливки приведена архитектура м/к: периферия, регистры специальных функций, таймеры и т.п. Без понимания всего этого программу не написать. Это еще 290 страниц текста. Итого 400. Почему ассемблер, писал в комментариях.
@@leoned1797 , несомненно, если пишем программу для микроконтроллера, который будет работать в ЭБУ, и эта программа должна реализовывать алгоритм управления двигателем, а, например, не алгоритм управления стиральной машиной или иной алгоритм, как в данном случае.
Думаю, что этот ролик не из разряда мошенничества и мракобесия.😉 О чем он, и что сделано, указано в описании. Можно также посмотреть у меня на канале, как этот же ЭБУ играет многоканальную музыку через, т.н., бипер. А ознакомиться с частью того, что я делаю и, в принципе, могу делать (написание иной программы для м/к ЭБУ самое простое, наверное, что делал за последнее время) можно у меня на канале в плейлисте "Программирование", а также на моем гитхаб аккаунте, где есть открытый для всех исходный код. Upd. Если же Вас интересовало мое мнение о проекте Дуюнова, то оно такое же, как и о проекте Юницкого. Т.е. никакое😂
МУЖИК , НЕ МОГУ НЕ ПОСТАВИТЬ ЛАЙК , ЗНАЮ ЧТО ЭТО ЗАНЕЛО У ВАС УЙМУ ВРЕМЯНИ . ТУТ НА PLC ДВЕ СТРОЧКИ ПЕРЕДЕЛАТЬ НАДО БЫЛО ЧИТАЛ РАДИ ЭТОГО ДНЕЙ ДЕСЯТЬ , А НАПИСАТЬ , Я НЕ ЗНАЮ СКОЛЬКО ВРЕМЯНИ У МЕНЯ УЙДЕТ .🫵👍👍👍👍
@@VadRov А если хочется добавить другие датчики к двигателю или на инновационном топливе ездить, то как реально на самом деле программировать ЭБУ двигателя?
@@АлександрК-ш, по датчикам надо смотреть по схеме наличие свободных каналов АЦП либо цифровых входов логического уровня (в зависимости от типа датчика). Потом лезть в программу и делать опрос этого датчика и формировать соответствующее управляющее воздействие. Если этот датчик будет влиять на работу двигателя, т.е., например, с учетом его показаний формируется состав смеси, то придется лезть в весь алгоритм ЭСУД, в т.ч., менять таблицы. И, скорее всего, под новый/дополнительный датчик придется формировать соответствующую электрическую цепь (усилитель на ОУ и т.п.) в ЭБУ. А как на самом деле программировать... Да, как и любой другой объект управления, который должен управляться по определенному алгоритму.
@@АлександрК-ш , ассемблер нужен только в том случае, если будете изучать/редактировать дизассемблированный код родной прошивки. А если будете с нуля писать программу, то достаточно твердых знаний C/C++. А что потом изучать... Да, кто его знает, что изучать. Теорию о работе ДВС, алгоритмы, в, т.ч., управления, ну, и сопутствующие многообразные темы. С этим, вроде, проблем нет. В интернете просто море информации. С чего начинать сами решайте. Знаю только, что для того, чтобы читать большую программу на ассемблере и понимать, что она делает, нужны годы тренировок. И это при том условии, что программа изначально написана на ассемблере. Если же она изначально написана на языке высокого уровня, после чего была откомпилирована, то понять такую программу будет еще сложнее.
Здравствуйте, почему именно этот mcu выбрали ? Или вы не с нуля паяли а готовый от Сименса взяли ? У него дофига ножек 100шт и всего-лишь 8бит , дороже наверное дешёвых stm
Давным-давно по случаю раздобыл за сущие копейки на разборках несколько таких рабочих ЭБУ от инжекторных и карбюраторных версий 406 двигателя. Грубо говоря, валялись под рукой... Ничего не паялось. Микроконтроллер, естественно, дороже (да, еще найди оригинал), чем те же stm8 или stm32 начального уровня. В общем, валялись блоки... Дай, думаю прошью. Чисто "спортивный" интерес для умеющего кодить. Развлечение, грубо говоря.
Я не Маг, пока что всего лишь учусь (2й курс программиста в МГУТУ) но когда нибудь, СЛЫШИТЕ? КОГДА НИУБДЬ Я СТАНУ ТАКИМ КАК ОН! И по праву буду стоять на том же месте, где стоит ОН!
Думаю, в наше время все возможно. Было бы желание и возможности. Элементная база достаточно широкая, микроконтроллеров различных завались. Среды разработки (IDE) на выбор. Устройство ЭБУ (схема питания, входные и выходные цепи и т.п.) на первых порах можно "подсматривать" в имеющихся блоках на авто. 1. Рисуем схему, разводим плату, заказываем изготовление платы, заказываем детали, паяем тестовый образец (а лучше несколько), пишем первую программу. Устраняем недостатки в разводке (они будут, скорее всего). Дальше настройка параметров для конкретного двигателя. Корректировка параметров и всей программы, корректировка схемы платы. Возможно, обнаружится пара ушатанных моторов...Несколько циклов возврата на цифру 1.... Дел-то на несколько месяцев (а, может, лет) всего. 🙂
@@VadRov Спасибо за оперативный развернутый ответ. Всё это сложно, но возможно. Помимо времени ещё денег сожрёт данная разработка) У Автоконцернов этим занимаются целое подразделение КБ, которые получают зараплату. Здесь же даже тяжело представить во что это выльется.
А смысл в этом? Есть готовый ЭБУ (ЭСУД) со всей обвязкой. Независимые разработчики пишут код управления двигателем (например, под те же Лады), получают за это вознаграждение. Писать под МК можно не только на Си или С++, но и на TinyGo (диалекте Golang для встраиваемых систем). Там многопоточность есть. К какому МК присматриваетесь?
С мануалом? Пока не выпускал. Выпуск планируется. Но там ничего именно по работе этого блока "на другой" программе управления двигателем не будет. Потому что этой программы нет. В ней просто нет смысла на этом блоке с его ограниченными ресурсами по производительности. Максимум, что с ним можно сделать, я тут писал в комментариях: внедрить в прошивку подпрограмму для онлайн настройки.
А вот это правильно. Это сейчас (в морозы) очень актуально. 🙂Раньше для отогрева карбюратора 500 Вт лампу использовал. Греешь, а потом с полтыка заводишь. Но нашел потом для себя самый лучший способ в сильные морозы - это два аккумулятора. Один питает только стартер, а другой систему зажигания. Спасает от просадки напряжения, гарантирует мощную искру, что хорошо для богатой смеси. Мотор заводится легко. Для питания при старте системы зажигания достаточно слабенького аккумулятора.
@@VadRov Обниму не для того чтобы согреть, ё моё😏 Он прост и надёжен,выдернул подсос и завёл. Контактное зажигание и энергопожирающие стартера в прошлом.Не доставляет проблем в виде кучи датчиков, проводки, релюшек, предохранителей, бензонасоса в баке, ошибок в ЭБУ и прочей ерунды с последующей буксировкой в сервис.
Осталось пройти академический курс " Работа тепловых машин","Газовоя термодинамика","Циклы Карно для паровых, бензиновых и дизельных двигателей" И можно с лёгкостью написать свою прошивку. Всем рекомендую.
Да, но и к этому набору не помешало бы пройти курс: ТАУ, оптимального управления, технической кибернетики, электротехники и электроники... В общем, все вместе что-то из разряда: "Увидеть Париж и умереть". 😉
@@VadRovНапишите компании ИТЭЛМА) Они как раз разработкой ЭБУ занимаются, мб поделились бы с вами некоторой вводной информацией) А то глядишь и на работу позовут к себе)
@@user-yu5by7nb8rне всё так просто, у каждого блока есть идентификатор софта к которому привязан сам блок, да есть блоки с одинаковым идендитикатором но ведь задачи клиенты каждый раз ставят разные а софт поправить это тоже не просто так тыкнуть можно и мотор легко положить уж поверьте, поэтому есть ещё и ответственность, а так же может блок легко лечь и ещё куча всего всего что может при этом случиться, Вы бы вникли сначала.
Да ну, зачем. Есть ардуино/esp и прочее. И на более высоком уровне можно и стоят муку. 150-200р за МК с обвязкой, мегабайтами памяти и вайфаем как-то подешевле будет.
@@Zet0ME , всё от задачи зависит. Контроллер это уже не просто голый "камень" или ардуино, а с обвязкой силовыми и прочими цепями. Да и стабильность работы существенно отличается. Что то серьёзное, я бы , ардуино не доверил.
Здесь ничего не рассчитывается. Есть некоторое заданное минимальное значение скважности ШИМ, от которого и стартуем, а потом изменяем по заданному алгоритму. Если надо реализовать алгоритм плавного старта, осуществляемого в заданный интервал времени (период выхода на максимальные обороты), то просто увеличиваем скважность ШИМ до максимума за этот период времени. Если копать глубже, т.е. обратиться к ТАУ, то есть такое понятие как инерционность системы и связанные с нею виды автоматического регулирования. Например, ПИД-регулирование, где эта инерционность учитывается.
Это какой-то мега уровень для меня и большинства людей. Это ж годы работы, полученного опыта, правильных выводов, сноровки. Это уровень embedded-разработчика какой-нибудь международной корпорации. У вас курсов случайно нет для ваших младших коллег из embedded?
Не преувеличивайте (или иронизируете?🙂). Здесь ничего необычного нет. Всего лишь написание элементарной программки и загрузчика под древнюю архитектуру. Думаю, любой "пограничник" между junior и middle с легкостью сделает тоже самое и даже лучше. Курсов не веду. Сейчас для самообразования материала в сети выше крыши, зачитаешься.
@@VadRov никакой иронии. Материалов много. Но это как ребенку говорить "иди читай как собрать шкаф", он прочитает и про склейку, и про плотничество, а вот "элементарных" знаний мало, нужен наставник, а с ними сейчас большие проблемы. Если вы из Мск или СПб навряд ли вы это чувствуете...
@@MrSuiting , да, нет обитаю очень далеко от Москвы и СПб - на периферии. Наставников сейчас масса. В. Мединцев, например, какие-то курсы по м/к ведет и демо платы продает.
Программа реализуется очень просто, по нескольким видам: 1) по прерываниям; 2) по циклическому опросу датчиков; 3) соединение по одному (DATA+) или 2 проводам (DATA+ и DATA-), присвоение каждому датчику индивидуальный код.
Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался
Приветствую. Это, наверное, зависит от программного обеспечения. Включение вентилятора - это, думается, "побочное незапрограммированное умышленно явление" (а, может, и сознательно допущенное). На физическом уровне в ЭБУ есть порты ввода-вывода, а в электронной схеме авто есть реле вентилятора, которое может быть с нормально замкнутыми либо нормально разомкнутыми контактами. Порты управляют этими реле, через которые запитывается вентилятор. Если при инициализации м/к ЭБУ записать неверное значение в этот самый порт (например, 1 вместо 0 либо наоборот в зависимости от типа реле), то, соответственно, и будет "беспричинно" вращаться вентилятор.
Можно ли вместо заводского ЭБУ поставить ардуинку или расбери? Мощности у них хватит (у расбери точно хаатит), програмируются они проще, мтоят недорого
Приветствую. Если имеете в виду аналоги Микаса, то Вы их и сами прошьете. Прошивок в интернете много разных (как и для Микасов), как и ПО для "шитья". А "шнурок" копейки стоит. Меня же эта "блочная" тема интересует на уровне экспериментов на собственном "железе".
Это знакомо. В 90-x встраивал ассемблер в программы на C для ускорения рутинных операций. Сейчас компиляторы умнее, но иногда с ассемблером всё равно веселее программы работают.
Про самый частый м/к в ЭБУ - это вопрос не мне, а чиптюнерам. Если опыта в программировании м/к нет, то начать надо с современных архитектур, типа ARM. Это stm32, например. 8051 (MCS-51) архитектура из видео уже устарела, несмотря на то, что еще продолжает использоваться уже, наверное, лет 40.
Да ассемблер, как по-моему, это не проблема. Проблема это понять, что там написано, и как это связано с железом. Т что железу надо, чтобы получить желаемый результат. )
@@duncanmclaud5953 , именно. Для этого у м/к есть, т.н., special function registers для настройки встроенной периферии, мультиплексоров, портов ввода/вывода т.п.. Надо всего лишь записать правильные значения в эти регистры, чтобы м/к делал по нашей программе именно то, что требуется. И, естественно, надо создать программный интерфейс для работы с внешними устройствами (драйверами исполнительных устройств, например). Иногда (часто) для этого требуется соответствующий мануал на внешние устройства. Кстати, современные внешние устройства так же содержат м/к и общаться с ними приходится так же через команды (записываемые в регистры внешних устройств). Например, дисплеи, sd-карты и т.д.
Если бы был с/с++, то комментариев было бы раза в 4 меньше, поэтому ассемблер 🙂 А если серьезно, то просто, во-первых, восполнял пробел в знании древней архитектуры MCS-51, а, во-вторых, программа слишком простая и вызывает при работе встроенные подпрограммы ПЗУ, требующие передачи параметров в разрез того соглашения о вызовах, что использует компилятор с С-51. Чтобы не плодить ассемблерные вставки, просто написал эти 30 строчек на ассемблере, заодно проникся "железом" встроенной периферии м/к. Хотя, программируя на С, также им проникнешься, т.к. используются регистры специальных функций для доступа к периферии, что сродни использованию CMSIS на тех же м/к с Cortex-Mx ядрами.
Я не чип-тюнер. А чип-тюнеры говорят, что максимум Январь способен работать до 10200 об./мин коленчатого вала. Я лишь, как "кодотворческий" человек могу сказать, что это ограничение вытекает из частоты тактирования ядра микроконтроллера и количества машинных циклов, затрачиваемых, на формирование требуемых управляющих воздействий (а это обработка сигналов с датчиков, поиск и интерполяция по таблицам, настройка регистров периферии и т.п.).
Такие фьюзы, наверное, неспроста установлены. Есть такое понятие как, объект интеллектуальной собственности. Так вот, программное обеспечение к таким объектам относится. Право на этот объект принадлежит ее автору. Это, т.н., авторское право. Автор не разрешил распространять любыми способами свое ПО, т.е. не сделал свое ПО доступным для неограниченного круга лиц по одной из "свободных лицензий". Обратитесь к автору программы для согласования вариантов приобретения необходимого ПО в требуемом количестве копий.
@@VadRov ему это не выгодно, только прошитые мк продает, я пробовал считывал дамп но на пустышке не заработало, хоть и сравнивал в хексе счтанный дамп с записанным, все совпадает
@@himkaa , если установлена защита от считывания, то считывать с чипа Вы будете "белый шум", а не оригинальную прошивку. А автор поступает так, как считает нужным. На то он и автор. Можете на него в роспотребнадзор заявить, если делает большую наценку на м/к. На основании частей 2, 3 статьи 16 Закона о защите прав потребителей запрещается обуславливать приобретение одних товаров (работ, услуг) обязательным приобретением иных товаров (работ, услуг). 🙂
Главное рассказать с тяжёлым и уставшим голосом то, что делаешь с лёгкостью) ты или хороший программист, разобрался в этой теле и хорошо все сделаешь или не лезь в такую сложную тему, от которой зависят жизни людей.
Когда люди начнут анализировать то, что смотрят? Какой программой прошит ЭБУ из видео? Программой, которая общается с компьютером и управляет скоростью вращения вентилятором. Т.е. программой, которая никак не связана с управлением двигателем. Смысл короткого ролика показать, что для ЭБУ можно писать свои программы и программировать его ими. Причем, это не обязательно программа управления двигателем. Именно программа определяет, чем будет являться ЭБУ: устройством для воспроизведения музыки или устройством для управления двигателем либо иным каким-либо устройством (на что хватит фантазии). Upd.: забыл добавить по поводу голоса. Вы разве не поняли, что это ирония про легкость. Иронизировал, как мог. Я же не актер, а только учусь 🙂
В 90-х в универе баловался. Серьезного ничего не писал. В основном встраивал ассемблер в программы на C для рутинных процедур, критичных к требованиям по времени исполнения. Тогда компиляторы были не такие продвинутые, как сейчас.
Жаль что нету ПК в которому написан код на кириллице такой себе аналог ассемблера. И чтоб в БИОС и ОС суто на кириллице написан. Хотя и на Русском. И полностью отсутствовала латиня
Писал я на ассемблер эти программы, блоки саморобный делал, но загрузчик писать я манал. Через программатор программу записывал в МК. Тайны в этом особой нет, и порогу написать не проблема если насобачился, но вот значения констант основных меня замахало. Их переписывать постоянно задолбался. Но на серию было бы норм.
Все возможно. Для этого ему нужен выход в интернет. Либо через компьютер, либо через тот же esp32. ЭБУ - это, по сути, тот же компьютер со своими интерфейсными шинами для связи (lin, can, например) с внешними устройствами.
@@nfactor1, в авторизованных сервисных центрах должен быть весь набор технической документации (даташиты, схемы, сервис-мануалы и т.п.). Если в интернете нет (в т.ч., на оф. сайтах изготовителей), выхода на людей, владеющих доками нет, то нигде не найдете.
Не проще ли использовать какой-то стандартный контроллер с общеизвестной архитектурой, высокоуровневой средой разработки и кучей готовых алгоритмов? Или в автомобильном мире не придумали свой "автомобильный ардуино"?
Проще. Но если Вы не поняли, то этот короткий ролик о том, что можно "легко" написать свою программу для стандартного ЭБУ и запрограммировать ее в память микроконтроллера, избавив ЭБУ от тягот управления двигателем. ЭБУ радостно начинает слать сообщения в компьютер и управляет скоростью вращения вентилятора. Но у некоторых зрителей почему-то возникают "фантазии", что я собрался писать для этого блока свою программу, которая будет управлять двигателем. Максимум, что бы я сделал с этим блоком, так просто использовал его входные и выходные цепи, изъяв древний м/к, и поместил бы туда "мозг" в виде какого-то stm (что-нибудь из серии stm8a, например, или что-то из stm32).
@@12strel, для того, чтобы сделать чип тюнинг, писать своих программ не надо. Для чип тюнинга достаточно откалибровать стандартные таблицы, зашитые во flash (туда же относится и настройка комплектации). И у меня планов пока четких вообще нет по поводу этого блока (или других). Есть одна мысль. Сделать для этого блока возможность онлайн настройки калибровок. Теоретически это возможно. Уже, в принципе, алгоритм для ПО готов. Программу из блока я дизассемблировал, с кодом исходным разобрался. Место куда внедрить подпрограмму для онлайн настроек нашел (а таких подпрограмм должно быть две, как минимум: одна во флеш, а другая будет грузиться загрузчиком в XRAM). С прерыванием и обработчиком разобрался. В принципе, если не выгорю, то идею, возможно, и реализую. Но, думаю, что перегорю (блок древний, изучен и теперь мне с ним уже не так интересно). 😉
натыкался на форум, ЕМНИП, ланос тематики. человек докопался до ЭБУ этого самого ланоса. показал, что алгоритмы - так себе, это не так, то не так, с этим жить невозможно. написал свою программу. занимался отладкой... в результате вернулся к стоковой прошивке... (за давностью может что соврал)
И действительно просто! 😂 это как мне 1 заказчик написал. Нужно устройство, которое будет рулить транспортным потоком с распознавание и т.д., срок 1 месяц. И добавил что у него проект горит.
Наверное, имелось в виду: "Чем м/к в ЭБУ отличается от любого другого МК?". Любые другие и, в т. ч., этот, отличаются архитектурой м/к, архитектурой ядра м/к, наличием встроенной периферии и т.д., и т.п. Если же отвечать на вопрос буквально, то ЭБУ от любого другого м/к отличается тем, что содержит: электрические цепи питания м/к, вспомогательных м/с и пр., цепи датчиков и исполнительных механизмов... 😉
@@VadRov а мк общего назначения не содержат? Не уверен что кто-то кроме военных может позволить себе особенную архитектуру, с их безграничными ресурсами.
@@tayrus2622 , Вы путаете понятие м/к и ЭБУ. ЭБУ - это законченное устройство, содержащее наряду с м/к вспомогательные электрические цепи для реализации заложенных при разработке в устройство функций. Вот выше и было отвечено на Ваш первый комментарий.
@@VadRov словесный онанизм, самый важный компонент любой встраиваемой системы это контроллер. Периферийные устройства могут как варьироваться так и отсутствовать вообще. В ЭБУ программируется флеш микроконтроллера.
@@tayrus2622 , да, вижу, что Вы в нем преуспели. Причем, так, что он уже Вами неконтролируем. Хотите поумничать, научитесь хотя бы задавать вопросы правильно. А если знаете ответы на вопросы, то не задавайте их, если не на экзамене и Вы не экзаменатор. На Ваш бестолковый вопрос был дан ответ в первом комментарии к нему. Там было написано про архитектуру м/к, архитектуру его ядра и т.п.... Ответ исчерпывающий. Если Вы не видите разницы между различными м/к, то это Ваша большая проблема в виду недостатка знаний (поверхностные знания).
Есть много "прошивок" для этого блока для управления именно ДВС. Меня же интересует этот блок с позиций нестандартного использования. Грубо говоря, выбросить жалко и т.п.
то есть, скопировать с ЭБУ рабочую программу, подшаманить ее на нужные параметры, и обратно залить в ЭБУ не вариант? Обязательно нужно идти сложным путем? Ну, тогда, следучий ролик сделай на тему, как из кварца кремния сделать микропоцессор, который позже будет управлять ЭБУ
Один из самых частых вопросов: "Почему на ассемблере?". Сломал "язык"(пальцы) отвечать.
Варианты ответов на выбор:
1. Очень простая программа.
2. Использую вызов подпрограмм встроенного ПЗУ с передачей параметров. Подпрограммы ПЗУ не соответствуют соглашению о вызовах. Чтобы не встраивать ассемблер в код на C, просто написал весь код на ассемблере.
3. Люблю ассемблер, а здесь сама архитектура просто предрасполагает написать на нем программу всего из 20 - 30 инструкций.
4. Чтобы больше было комментариев к ролику.
Выбирайте любой вариант. 🙂
И вот еще что... Ребята, читайте, пожалуйста, описание к ролику.
А чего загрузчик на С, а не на асме? :)
@@ledvinasl , да, это упущение. В следующий раз тогда. 🙂
Не ассемблер а Язык ассемблера. Ассемблером называется программа, преобразующая код на языке ассемблера в машинный код
@@Creekererer , да, спасибо за уточнение. Если бы мне были известны такие тонкости, то пришлось бы писать "правильные" книги. Вот ведь, не зря прожит сегодняшний день. Узнал что-то новое. Просто всегда казалось, что это слово употребляют в зависимости от контекста повествования, так сказать. В том смысле, что человек, который задал такой вопрос, и тот, кто на него отвечает, понимают смысл, который вкладывается в это слово. И если обращаться к первоисточнику, т.е. к какому-нибудь Programming manual and Instruction set, то там это четко прослеживается. Assembly language употребляется там крайне редко в отличие от: assembler programs, assembler programming, assembler instructions и т.п. Везде, черт возьми, потеряно слово "language". Аналогично и в отечественной литературе. Куда смотрят редакторы? За что им платят деньги? 🙂
В 90х когда небыло январей на mcs51 делал ЭБУ для спортсменов, хороший был контроллер, на столько понятный что. пиши хоть ассемблере хоть в машинном коде прямо в память программ. Я его называл большим дешифратором который соединял свои регистры для действий, код входа дешифратора которого можно видеть в машинном коде
Крутой парень, вытащил блок управления мотором и превратил его в блок управления вентилятором! :)
Сейчас он мне еще и кресло качает, когда я на комментарии отвечаю, и как кукушка каждый час кукует. 🙂
@@VadRov ну ваще класс! :)
@@VadRov вот ради этого стоило! 😂
Ещё немного, и научит светодиодом мигать! )
@@duncanmclaud5953 , разговаривать нечленораздельно уже научил (памяти мало), но матершину понять можно. 😂
Лучший шортс во всем Ютубе. Мое уважение.
Спасибо. Это экспромт получился. И на удивление неплохо.
@@VadRov Здравствуйте, а можно с вами как-то связаться, хотелось бы пообщаться.
Реально простота, каждый день так делаю по утрам вместо зарядки
И спина не болит?
Лучше вечером после работы. Так сказать расслабиться после тяжелого дня
Я уже пол года развлекаюсь с этой историей, даже двенашку купил, чтобы было на чем экспериментировать, мой уровень еще не дошел даже до уверенного любителя, постоянно обращаюсь к документации или форумам
@@evgenyievgenevich8067 здравствуйте, как идет практика в этом деле?
Настоящий мужик, как студент 2 курса професии "автоэлектрик" я выражаю тебе уважение. Ну мужик😁
Рад, что тебя не отчислили с первого курса. Автоэлектриков я уважаю, но только толковых 😉
@@VadRov я практик в большей части, поменять, прошить это да, но точные науки так скажем не особо😁
@@VadRovСкоро и меня на радиотехнике ждёт программирование микроконтроллеров
@@Эстус-ш7х , это очень увлекательно. Тем более, в нынешнее время, с такими современными технологиями и ПО.
Круто! Мало кто помнит/знает как и умеет это делать :)
Ассемблер рулит :)
Зашёл чисто почитать комментарии))
По-видимому не один умник не знает что работа вентилятора охлаждения двигателя при заливке программы в ЭБУ, это технические условия от завода производителя!)))
😊
Я уже три минуты ломаю голову, пытаясь понять, что автор хотел донести.
@@duncanmclaud5953 ну точно что то до нёс))
без матов не понятно(
Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался
@@Ed-yr1lr правильно поступили!
Круто, прям на асме изучил все задвижки и сделал лучше чем миллион специалистов на заводе. А именно крутить шимом куллер. Чудо в детском саду.
В детском саду когда горшками звенят, и то дети радуются. А тут целый вентилятор крутится. Во как. Прежде чем, изливаться в желчи, не мешало бы описание почитать. "Ох, и злой нынче народ" 🤦♂️
@@VadRov вот тут не могу не согласиться, народ действительно зол. Но видео записано с таким пафосом что не удержалась рука поэта.
@@gogaserg , ну, что могу сказать, если между пафосом и иронией Вы границ не проводите...
Осталось лишь немного - понять какие алгоритмы прописать в эбу для бесперебойной работы двс:)
А вот и новая идея для следующего минутного ролика. 😉
Насколько я знаю математику моделируют в матлабе.
Стоят модель двигателя, забивают формулы термодинамических циклов Миллера или Отто или какой нибудь другой модернизированный, запатентованный.
Так что с "немного" понять ты немного погорячился😅 там очень много формул
@@vlad3cВ принципе всю прошивку на ЭБУ для двс сейчас делают в программах типа Матлаба. Там очень много есть вспомогательных инструментов которые не только помогут математические модели физических процессов построить, но также и возможность реализовать логику работы ЭБУ(например машина состояний Stateflow), реализацию различных видов регуляторов (ПИД, LQR, Фильтр Калмана). Как только инженеры подготовили прошивку в виде матлабовского проекта, в дело вступает Embedded Coder, генерируют СИшный файл прошивки, например под мк STM. Впринцире после этого можно сделать хекс и залить в ЭБУ. Конечно не все так идеально, и после кодогенерации инженеры ещё допиливают прошивку, созданную матлабом исходя из своего опыта. Также не стоит забывать что ЭБУ должен обладать различными сервисными фишками типа UDS протокола для просмотра ошибок и параметров двс, так же для настройщиков автомобиля и двс нужно заложить алгоритмы калибровки, типа XCP. В общем достаточно объёмной получается прошивка и реализовать её даже на СИ это задача для целой компании программистов-разработчиков, хотя в 90-х автопроизводители так писали прошивки.
Честно говоря всегда считал что там всё элементарно...
Чтож давно хотел изучить это, думаю пора
Учиться (изучать новое) вообще никогда не поздно.
@@VadRovДа но, Ассемблер это сложноватый язык
@@Maxvel-Hausss_ , более-менее зная язык ассемблера для трех архитектур, уверенно могу сказать, что это устоявшееся заблуждение и страшилка. Нет в нем ничего сложного. Самый последовательный и логичный язык. Другой вопрос, что сложно писать большие программы, а также программы, насыщенные математическими операциями. Хотя, макросы, разбивку на подпрограммы и т.п. никто не отменял. Но, естественно, лучше программировать на языках высокого уровня (с/с++) и подключать ассемблер по мере необходимости, как в виде ассемблерной вставки __asm(""), так и отдельным файлом на ассемблере с расширением .S Знать ассемблер достаточно на уровне знакомства. Это хорошо помогает при отладке программ, так как при отладке представлен листинг дизассемблера.
@@Maxvel-Hausss_учить ассемблер не имеет смысла. Это давно не тот язык программирования, на котором вы будете писать программы, чтобы его учить. Его надо понимать что это за язык такой, и откуда он появился. Для этого советую изучить(именно изучить, не читать там есть задания их советую выполнять) книгу "Цифровая схемотехника и архитектура компьютера" где подробно, понятным языком начиная с булевой алгебры и объяснения работы транзистора строится микроконтроллер-микропроцессор. Тогда придёт понимание регистров, мнемоник, работы памяти, кэша и т.д.
Поняв это и выучив ассемблер из книги вам с лёгкостью дастся любой другой, т.к. они в большинстве похожи по назначению команд. А т.к. ассемблер используется исключительно для оптимизации и поиска ошибок, не составит труда составить алгоритм, и к нему подобрать нужные команды. Когда понимаешь, как оно работает внутри, то ассемблер становится логичным и понятным.
Эта книга лучшее, что я читал по теме. Если есть желание учиться, рекомендую.
Ассемблер довольно простой, похож на 8086. Суть в том, чтобы знать таблицы адресов портов конкретной железки, правильно и вовремя читать значения кучи датчиков и обрабатывать прерывания)
Все правильно. Адреса портов и пины на схеме блока.
Херня-то какая, я думал там сложно)
Херня какая всего 500-600 команд у каждого МК своих и ты программист.
@@СергейРедькин-и6й они делятся на несколько групп, все команды знать не надо. Надо знать принципы адресации, регистры, карту памяти и порты.
И быть готовым печатать много или очень много, в сравнении с языками высокого уровня)
Да, действительно оказалось слишком просто
Да, всего за 1 минуту управиться можно.
Ничего сложного если есть желание ну и время). Уважуха! 👍
В точку. А времени.. его всегда не хватает, к сожалению. Заботы, хлопоты, семья, работа.
Вот это лайфхак, поддерживаю, а не вот это все -"ничего не делай и зарабатывай миллионы тыщ", еще бы ссылки оставлял автор и названия модулей, чтобы можно было повторить
Первый лайк у меня в шортсах за всю историю их существования)
Во-во, изучить документацию. Но для чипа МТК, мне не помогло. Так как
драйвер был закрытый. А еще мне пришлось пролистать 5 000 строк на Си и
изменить их, чтобы все это заработало на новом ядре линукс. Ушло так
чуть-чуть - 2 дня. На ASM я подозреваю, потребовалось чуть-чуть больше
времени, так как строчек было бы чуть-чуть побольше, так млн пять.
два дня -- херня. и 5к строк -- небольшой проект. Писал такие за три месяца с нуля.
@@Ma_X64 это не проект, а сборка openwrt под роутер. Нужна была поддержка 802,11X, просто роутеры с такой поддержкой стоят в 2 раза дороже. Драйвер который в openwrt выдавал маленькую мощность, поэтому менялся драйвер на родной, чтобы завести wi-fi на полную мощность. А родной драйвер уж очень под старое ядро линукс. Пришлось править заголовочный файл. Обидно было, что драйвер завелся, а вот пакеты какие мне были нужны с ним конфликтовали. Потом я нашел эту инфу у китайца. Пришлось опять ставить не родной, т.к. он открытый, есть исходники и искать ошибки, там был ошибочный и dts файл и regdb не верный, не стыковка в исходниках считывания eeprom, короче подправил, где что нашел, остались конечно недочеты, поэтому не совсем максимум, можно конечно исправить. Но мне хватило этой мощности проверить 802,11X дотянуться за 680 метров до бесплатной точки доступа. Погонять видео в 4К целый день, прошивка работала стабильно. Для дома конечно и этой мощности многовато, поэтому больше не стал править ничего. Написать с нуля можно, ну зачем? Это должна делать фирма производитель, их программисты, она платит деньги им. А мне за это все равно не чего не будет. Я же не торгую роутерами или чипами.
@@maksleonov1092 ммм, прикольный кейс!
Можно ещё написать свой высокоуровневый язык программирования для каждого вида блоков свой)
Тому, кто писал в детстве программы на Бейсике и экспериментировал с ассемблером, ничего сложного в программировании ЭБУ нет. Посмотреть несколько видео, почитать документацию. Это каждый второй, третий из поколения 80-х
Примерно так и есть.
Солярис будет очень рад такому приветствию)
Сейчас это не так трудно, благодаря доступной информации.Для меня конечно это легко я уже не один ЭБУ прошил итд
не прошить, а написать прошивку
спасибо за гайд. подгрузил ии. теперь без топлива, на честном слове, ездит, правда когда сам захочет. и жене постукивает
интересная тема, давно пора поднять еë, обычно те, кто крутит таблицы, пользуются готовым инструментом и в работу мк не вникают, а те, кто дизассемблирует и делает эти инструменты, ничего не рассказывают, если в принципе есть опыт программирования мк, то измерять ацп и дëргать форсунками и свечами легко, а дальше надо где-то взять эти самые таблицы, и хорошо бы что-то в них тоже понимать, чтобы не запороть двигатель, была одно время такая хотелка скооперироваться с энтузиастом, понимающим в работе двс и сделать свой эбу на stm32 в качестве хобби
Да, Михаил, на stm32 можно сделать. Я, кстати, подумал, что в простейшем случае и на скорую руку, можно выпаять с того же Микаса м/к, а на его место к входным и управляющим цепям, согласовав уровни, пристроить stm-ку (кстати, с согласованием проблем возникнуть не должно, т.к. stm IO 5V tolerant). 🙂
@@VadRovсвое безусловно создать можно. Только вот в начале наступите на все грабли на которые до вас наступили разработчики оригинала. Чаще всего такие грабли будут чреваты ремонтом двс😂
@@Za_pobedu_brat , согласен. Но если браться за такое, то до натурных испытаний можно провести серию испытаний с имитацией. Например, с помощью эмулятора двигателя, построенного на том же м/к по мат. модели, который будет имитировать сигналы датчиков и посылать их в ЭБУ, а от ЭБУ получать сигналы на исполнительные механизмы. Все делается, правда, при большом желании и наличии времени.
Таблицы данных как и сколько и когда впрыскивпть , дергать форсунками и тд.это стратегические секреты любой компании. Точнее сами алгоритсы. До конца ничего не наскрывается. Тайна кроется в невидимых мелочах. Они добываются на стендах и тратятся на это колоссальные деньги. Разработать ЭБУ и написать свою прошивку сейчас может любой школьник. И это как то будет даже работать. Теперь вопрос , будет ли двиг с такими алгоритмами надежным , экономичным , и отвечать стандарту безопасности ?
Уверен нет.
@@Violancergta ну если это настолько сложно, как тогда карбюраторная система работает и ездит, где всë примерно на глаз?
Ты просто крутой мужик!!! Наконец то не просто херовы правители hex. Уважение, причем троекратное!!!
Заставить его крутиться это одно. А вот заставить это крутиться правильно и в соответствии с зашитой кривой/режимом мотора/включенной передачей и т.д это уважение.
Молодец, спасибо, кто в теме тот поймёт.
Делов-то! Зайти и выйти❤
проще впаять туда stm32. Если блок не особо ответственный, то esp32. Можно переходной квадратик отфрезеровать из текстолита.
esp32 точно нет, если только через расширитель портов. Но идеи у зрителей хорошие 🙂
@@VadRov там если дорожки глянуть от чипа, то используется в основном малая часть из возможных, думаю подойдет и без расширителя.
STM32 не покатит. ЭБУ это ASIL C по iso26262. А это контроллеры специального назначения с дублированием ядер и памяти...там много чего еще интересного.
@@Violancergta , современные стандарты безопасности - это дело ясное и понятное. Но блок из видео - это в прямом смысле "прошлый век". Не у кого, думаю, в голову не придет делать на его основе коммерческий продукт путем "вкорячивания" инородного современного "мозга". Так, если, ради баловства.
@@Violancergta ну например если нужно запустить какой нибудь Электрогидроусилитель, электроусилитель для самоделки то вполне сгодится stm или esp32, там конечно проще логическим анализатором определить can комманды на включение и ничего не перепаивать. Но если нужен например реверс Эгура и обороты в широком диапазоне, то приходится шить свою прошивку.
Писателей кода для ЭБУ с нуля по пальцам пересчитать можно . Ну в смысле вне завода. Написать работающий код для конкретного двигателя с нуля да еще и что бы был лучше заводского это врят ли. Скорректировать заводской- да, не сложно.
Да и никто не пишет с нуля. Заливают уже имеющиеся , либо если есть соображалка правят сами и заливают.
А для заливки прошиаки в МК не нужно изучать 1000 страниц даташита. Только нужные страницы , коих будет не более 20-ти.
Ну, что могу сказать.... Помимо заливки "прошивки" (программы), ее еще надо подготовить. "Прошивка" - это программа в машинных кодах для ядра микроконтроллера (ядро по сути микропроцессор, а сам микроконтроллер - это ядро + периферия и дополнительные контроллеры: DMA, NVIC и т.п.) Так вот, в данном случае программа писалась на языке ассемблера A51 для ядра C500. Чтобы писать программы на ассемблере надо знать архитектуру и систему команд ядра. В данном случае - это книга объемом 118 стр. (C500. Architecture and Instruction Set). Потребуется еще и мануал на м/к. В нем помимо алгоритма заливки приведена архитектура м/к: периферия, регистры специальных функций, таймеры и т.п. Без понимания всего этого программу не написать. Это еще 290 страниц текста. Итого 400. Почему ассемблер, писал в комментариях.
@@VadRov а еще нужно иметь матмодель по которой будет управляться двигатель..
@@leoned1797 , несомненно, если пишем программу для микроконтроллера, который будет работать в ЭБУ, и эта программа должна реализовывать алгоритм управления двигателем, а, например, не алгоритм управления стиральной машиной или иной алгоритм, как в данном случае.
Открываем chatgpt, и он сделает половину работы кодера
Почет и уважение.
Молодец! Возьми с полки пирожок! герой!
Да, нет уже на той полке пирожков. Комментаторы еще на прошлой неделе их разобрали. 🙂
Когда-то мы лабы делали в машинных кодах под учебно- отладочные машины. Не помню уже какой комплект.
Сейчас есть Си, компиляторы и море библиотек.
Привет коллега)). Да, все так и есть)).
Что вы думаете про обмотку Хуянка? Треугольник + Звёздочка?
Думаю, что этот ролик не из разряда мошенничества и мракобесия.😉 О чем он, и что сделано, указано в описании. Можно также посмотреть у меня на канале, как этот же ЭБУ играет многоканальную музыку через, т.н., бипер. А ознакомиться с частью того, что я делаю и, в принципе, могу делать (написание иной программы для м/к ЭБУ самое простое, наверное, что делал за последнее время) можно у меня на канале в плейлисте "Программирование", а также на моем гитхаб аккаунте, где есть открытый для всех исходный код.
Upd. Если же Вас интересовало мое мнение о проекте Дуюнова, то оно такое же, как и о проекте Юницкого. Т.е. никакое😂
@@VadRov оо друг!))
МУЖИК , НЕ МОГУ НЕ ПОСТАВИТЬ ЛАЙК , ЗНАЮ ЧТО ЭТО ЗАНЕЛО У ВАС УЙМУ ВРЕМЯНИ . ТУТ НА PLC ДВЕ СТРОЧКИ ПЕРЕДЕЛАТЬ НАДО БЫЛО ЧИТАЛ РАДИ ЭТОГО ДНЕЙ ДЕСЯТЬ , А НАПИСАТЬ , Я НЕ ЗНАЮ СКОЛЬКО ВРЕМЯНИ У МЕНЯ УЙДЕТ .🫵👍👍👍👍
Вентилятором научился управлять, но двигателем больше не умеет😂
Самый толковый комментарий за последнее время. Один из немногих кто понял смысл (и, наверное, прочитал описание к ролику).
@@VadRov А если хочется добавить другие датчики к двигателю или на инновационном топливе ездить, то как реально на самом деле программировать ЭБУ двигателя?
@@АлександрК-ш, по датчикам надо смотреть по схеме наличие свободных каналов АЦП либо цифровых входов логического уровня (в зависимости от типа датчика). Потом лезть в программу и делать опрос этого датчика и формировать соответствующее управляющее воздействие. Если этот датчик будет влиять на работу двигателя, т.е., например, с учетом его показаний формируется состав смеси, то придется лезть в весь алгоритм ЭСУД, в т.ч., менять таблицы. И, скорее всего, под новый/дополнительный датчик придется формировать соответствующую электрическую цепь (усилитель на ОУ и т.п.) в ЭБУ. А как на самом деле программировать... Да, как и любой другой объект управления, который должен управляться по определенному алгоритму.
@@VadRov А если выучить ассемблер, то что потом изучать, чтобы понять, как это делается?
@@АлександрК-ш , ассемблер нужен только в том случае, если будете изучать/редактировать дизассемблированный код родной прошивки. А если будете с нуля писать программу, то достаточно твердых знаний C/C++. А что потом изучать... Да, кто его знает, что изучать. Теорию о работе ДВС, алгоритмы, в, т.ч., управления, ну, и сопутствующие многообразные темы. С этим, вроде, проблем нет. В интернете просто море информации. С чего начинать сами решайте. Знаю только, что для того, чтобы читать большую программу на ассемблере и понимать, что она делает, нужны годы тренировок. И это при том условии, что программа изначально написана на ассемблере. Если же она изначально написана на языке высокого уровня, после чего была откомпилирована, то понять такую программу будет еще сложнее.
О блин! такие специалисты не вымерли? Так всё же сделано. Короче рад что есть такие специалисты
Как же все просто. :)
Здравствуйте, почему именно этот mcu выбрали ? Или вы не с нуля паяли а готовый от Сименса взяли ? У него дофига ножек 100шт и всего-лишь 8бит , дороже наверное дешёвых stm
Давным-давно по случаю раздобыл за сущие копейки на разборках несколько таких рабочих ЭБУ от инжекторных и карбюраторных версий 406 двигателя. Грубо говоря, валялись под рукой... Ничего не паялось. Микроконтроллер, естественно, дороже (да, еще найди оригинал), чем те же stm8 или stm32 начального уровня. В общем, валялись блоки... Дай, думаю прошью. Чисто "спортивный" интерес для умеющего кодить. Развлечение, грубо говоря.
Я не Маг, пока что всего лишь учусь (2й курс программиста в МГУТУ) но когда нибудь, СЛЫШИТЕ?
КОГДА НИУБДЬ Я СТАНУ ТАКИМ КАК ОН!
И по праву буду стоять на том же месте, где стоит ОН!
Давай, топи) ждем в наших стройных эмбеддерских рядах)
К этому годами идут ,а в конце понимают ,что все было зря😅
@@Taler-Derden-N-Z-F да вроде не зря) зп в embedded айтишная, хоть и чуть ниже, чем в веб) лишь бы нравилось
Есть ли возможность создать ЭБУ со своей прошивкой, написанной на другом языке программирования?
Думаю, в наше время все возможно. Было бы желание и возможности. Элементная база достаточно широкая, микроконтроллеров различных завались. Среды разработки (IDE) на выбор. Устройство ЭБУ (схема питания, входные и выходные цепи и т.п.) на первых порах можно "подсматривать" в имеющихся блоках на авто. 1. Рисуем схему, разводим плату, заказываем изготовление платы, заказываем детали, паяем тестовый образец (а лучше несколько), пишем первую программу. Устраняем недостатки в разводке (они будут, скорее всего). Дальше настройка параметров для конкретного двигателя. Корректировка параметров и всей программы, корректировка схемы платы. Возможно, обнаружится пара ушатанных моторов...Несколько циклов возврата на цифру 1.... Дел-то на несколько месяцев (а, может, лет) всего. 🙂
@@VadRov Спасибо за оперативный развернутый ответ. Всё это сложно, но возможно. Помимо времени ещё денег сожрёт данная разработка) У Автоконцернов этим занимаются целое подразделение КБ, которые получают зараплату. Здесь же даже тяжело представить во что это выльется.
А смысл в этом? Есть готовый ЭБУ (ЭСУД) со всей обвязкой. Независимые разработчики пишут код управления двигателем (например, под те же Лады), получают за это вознаграждение. Писать под МК можно не только на Си или С++, но и на TinyGo (диалекте Golang для встраиваемых систем). Там многопоточность есть.
К какому МК присматриваетесь?
Эх знать бы все в этих направлениях )
полное ГОРИЗОНТАЛЬНОЕ видео есть?
С мануалом? Пока не выпускал. Выпуск планируется. Но там ничего именно по работе этого блока "на другой" программе управления двигателем не будет. Потому что этой программы нет. В ней просто нет смысла на этом блоке с его ограниченными ресурсами по производительности. Максимум, что с ним можно сделать, я тут писал в комментариях: внедрить в прошивку подпрограмму для онлайн настройки.
После просмотра пойду обниму старый добрый карбюратор😁
А вот это правильно. Это сейчас (в морозы) очень актуально. 🙂Раньше для отогрева карбюратора 500 Вт лампу использовал. Греешь, а потом с полтыка заводишь. Но нашел потом для себя самый лучший способ в сильные морозы - это два аккумулятора. Один питает только стартер, а другой систему зажигания. Спасает от просадки напряжения, гарантирует мощную искру, что хорошо для богатой смеси. Мотор заводится легко. Для питания при старте системы зажигания достаточно слабенького аккумулятора.
@@VadRov Обниму не для того чтобы согреть, ё моё😏 Он прост и надёжен,выдернул подсос и завёл. Контактное зажигание и энергопожирающие стартера в прошлом.Не доставляет проблем в виде кучи датчиков, проводки, релюшек, предохранителей, бензонасоса в баке, ошибок в ЭБУ и прочей ерунды с последующей буксировкой в сервис.
А если еще и лифт сломался и ты живешь на 16м этаже, то еще и прокачаешься заодно, зарядка, а вечером заплыв)
@@Pacca33 сочувствую жильцам человейников.
Осталось пройти академический курс " Работа тепловых машин","Газовоя термодинамика","Циклы Карно для паровых, бензиновых и дизельных двигателей"
И можно с лёгкостью написать свою прошивку.
Всем рекомендую.
Да, но и к этому набору не помешало бы пройти курс: ТАУ, оптимального управления, технической кибернетики, электротехники и электроники... В общем, все вместе что-то из разряда: "Увидеть Париж и умереть". 😉
@@VadRovНапишите компании ИТЭЛМА) Они как раз разработкой ЭБУ занимаются, мб поделились бы с вами некоторой вводной информацией) А то глядишь и на работу позовут к себе)
@@tonyst.7949 , у них люди поумнее меня работают. Я им нужен, как собаке пятая нога. 🙂
@@VadRovСиндром самозванца проявлен. 😊
@@Al.Sy. , сейчас пройду тут курс терапии и вылечусь.. А некоторые, вот, всё в докторов не наигрались. 🙂
Потом клиент приходит, вы что 6000 за пять минут прошивки??
Так в чем проблема это делать поточно ? Ведь двигателя все однотипные ?
@@user-yu5by7nb8rне всё так просто, у каждого блока есть идентификатор софта к которому привязан сам блок, да есть блоки с одинаковым идендитикатором но ведь задачи клиенты каждый раз ставят разные а софт поправить это тоже не просто так тыкнуть можно и мотор легко положить уж поверьте, поэтому есть ещё и ответственность, а так же может блок легко лечь и ещё куча всего всего что может при этом случиться, Вы бы вникли сначала.
@@EvgeniyMinin я думал ,что при поточном ремонте блоков ,это легкоооо!
Те, кто шьют ЭБУ за 6к, не пишут для него код, а скачивают у таких людей как автор бесплатно
@@karington1168 человек выше говорит,что пишут - он врёт ?
А можно немного теории про ЭБУ ну хотя бы ВАЗ Приора что какоя микросхема что делает и транзисторы хотя бы в общем плане развития!!!!!!
Есть видео на канале о блоке из этого ролика. Там есть общее устройство.
Ну если суть в том, что бы использовать ЭБУ как аналог "ардуино" , то ... идея весьма интересная.
Свои плюсы такой подход точно имеет.
Да ну, зачем. Есть ардуино/esp и прочее. И на более высоком уровне можно и стоят муку. 150-200р за МК с обвязкой, мегабайтами памяти и вайфаем как-то подешевле будет.
@@Zet0ME , всё от задачи зависит. Контроллер это уже не просто голый "камень" или ардуино, а с обвязкой силовыми и прочими цепями. Да и стабильность работы существенно отличается. Что то серьёзное, я бы , ардуино не доверил.
@@Megavolt. Так тут ECU как ардуину предложили использовать. А что не так с ATmega, он вполне себе для серьёзных задач издревне используется.
Как рассчитывают время разбега вентилятора? Нужно знать уровень магнитного взаимодействия?
Здесь ничего не рассчитывается. Есть некоторое заданное минимальное значение скважности ШИМ, от которого и стартуем, а потом изменяем по заданному алгоритму. Если надо реализовать алгоритм плавного старта, осуществляемого в заданный интервал времени (период выхода на максимальные обороты), то просто увеличиваем скважность ШИМ до максимума за этот период времени. Если копать глубже, т.е. обратиться к ТАУ, то есть такое понятие как инерционность системы и связанные с нею виды автоматического регулирования. Например, ПИД-регулирование, где эта инерционность учитывается.
@@VadRov вот я хочу на два киловатта разогнать за кратчайшие время до 25 герц, тут надо учитывать?
Кстати, всегда было интересно на каком языке программа управления в эбу автомобиля
Это какой-то мега уровень для меня и большинства людей. Это ж годы работы, полученного опыта, правильных выводов, сноровки. Это уровень embedded-разработчика какой-нибудь международной корпорации. У вас курсов случайно нет для ваших младших коллег из embedded?
Не преувеличивайте (или иронизируете?🙂). Здесь ничего необычного нет. Всего лишь написание элементарной программки и загрузчика под древнюю архитектуру. Думаю, любой "пограничник" между junior и middle с легкостью сделает тоже самое и даже лучше. Курсов не веду. Сейчас для самообразования материала в сети выше крыши, зачитаешься.
@@VadRov никакой иронии. Материалов много. Но это как ребенку говорить "иди читай как собрать шкаф", он прочитает и про склейку, и про плотничество, а вот "элементарных" знаний мало, нужен наставник, а с ними сейчас большие проблемы. Если вы из Мск или СПб навряд ли вы это чувствуете...
@@MrSuiting , да, нет обитаю очень далеко от Москвы и СПб - на периферии. Наставников сейчас масса. В. Мединцев, например, какие-то курсы по м/к ведет и демо платы продает.
Программа реализуется очень просто, по нескольким видам:
1) по прерываниям;
2) по циклическому опросу датчиков;
3) соединение по одному (DATA+) или 2 проводам (DATA+ и DATA-), присвоение каждому датчику индивидуальный код.
Надо подумать над открытием конструкторского бюро. Одному мне столько информации и идей не переварить. 😉
Что ты чёрт возьми несёшь, по каким прерываниям?) Учи матчасть!
Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался
Приветствую. Это, наверное, зависит от программного обеспечения. Включение вентилятора - это, думается, "побочное незапрограммированное умышленно явление" (а, может, и сознательно допущенное). На физическом уровне в ЭБУ есть порты ввода-вывода, а в электронной схеме авто есть реле вентилятора, которое может быть с нормально замкнутыми либо нормально разомкнутыми контактами. Порты управляют этими реле, через которые запитывается вентилятор. Если при инициализации м/к ЭБУ записать неверное значение в этот самый порт (например, 1 вместо 0 либо наоборот в зависимости от типа реле), то, соответственно, и будет "беспричинно" вращаться вентилятор.
еще проще вставить веб сервер в эбу и смотреть на любом браузере состояния системы.)
Вариант, кстати. 🙂
От Волги ЭБУ? Только что в таком IGBT на катушку зажигания менял.
Именно оттуда, с нее родимой.🙂
Bolshe vidosov!
Ты можешь пугать те кто в этом не понимает. Твоими словами очень хорошо цену набивать
Не суди людей по себе и прочитай описание к ролику.
@@VadRov я сужу по себе. Также людям кошмары нагоняю . Так больше платят .
@@qadoqados4354 , значит, ты вообще не понял о чем этот ролик. И, видно, описание даже не помогло. 🤦♂
Можно ли вместо заводского ЭБУ поставить ардуинку или расбери? Мощности у них хватит (у расбери точно хаатит), програмируются они проще, мтоят недорого
При большом желании и наличии навыков все возможно. Одного желания не хватит 😉
Очень интересно , правда наговорил непонятно как это сделать и даже не умею
Добрый вечер. Блоки соате шьете?
Приветствую. Если имеете в виду аналоги Микаса, то Вы их и сами прошьете. Прошивок в интернете много разных (как и для Микасов), как и ПО для "шитья". А "шнурок" копейки стоит. Меня же эта "блочная" тема интересует на уровне экспериментов на собственном "железе".
@@VadRov добрый день. У змз есть эбу микас и соатэ. У меня соатэ.
Как я пизжу начальнику о проделанной работе показано в видео. Как есть на самом деле: ctrl+c; ctrl+v.😊
И, наверное, когда начальник все это пронюхивает, то с грозным видом говорит: "Я бы тебе ctrl+v!" 😂
Лучший!
до сих пор с ужасом вспоминаю как в pascal под дос использовал вставки ассемблера для работы с мышью...
Это знакомо. В 90-x встраивал ассемблер в программы на C для ускорения рутинных операций. Сейчас компиляторы умнее, но иногда с ассемблером всё равно веселее программы работают.
давай гайд не питоне теперь, как управлять вентилятором компьютером автомобиля)
о, ну да, не трудно. надо попробовать.
Сильно контроллеры отличаются или есть некий самый частый МК? с чего начать..?
Про самый частый м/к в ЭБУ - это вопрос не мне, а чиптюнерам. Если опыта в программировании м/к нет, то начать надо с современных архитектур, типа ARM. Это stm32, например. 8051 (MCS-51) архитектура из видео уже устарела, несмотря на то, что еще продолжает использоваться уже, наверное, лет 40.
Отлично пояснил, ничего сложного и правда)
Забыли упомянуть одну мелочь, лет пять изучать ассемблер и плюсы)
В ведь точно... Забыл упомянуть эту несущественную деталь. Придется переснимать ролик. 🙂
Да ассемблер, как по-моему, это не проблема. Проблема это понять, что там написано, и как это связано с железом. Т что железу надо, чтобы получить желаемый результат. )
@@duncanmclaud5953 , именно. Для этого у м/к есть, т.н., special function registers для настройки встроенной периферии, мультиплексоров, портов ввода/вывода т.п.. Надо всего лишь записать правильные значения в эти регистры, чтобы м/к делал по нашей программе именно то, что требуется. И, естественно, надо создать программный интерфейс для работы с внешними устройствами (драйверами исполнительных устройств, например). Иногда (часто) для этого требуется соответствующий мануал на внешние устройства. Кстати, современные внешние устройства так же содержат м/к и общаться с ними приходится так же через команды (записываемые в регистры внешних устройств). Например, дисплеи, sd-карты и т.д.
@@VadRov да при чём тут это. Я имел ввиду алгоритмы работы железа.
Круутоооооой!
GOOD JOB👍
Почему именно на асемблерп???
Если бы был с/с++, то комментариев было бы раза в 4 меньше, поэтому ассемблер 🙂 А если серьезно, то просто, во-первых, восполнял пробел в знании древней архитектуры MCS-51, а, во-вторых, программа слишком простая и вызывает при работе встроенные подпрограммы ПЗУ, требующие передачи параметров в разрез того соглашения о вызовах, что использует компилятор с С-51. Чтобы не плодить ассемблерные вставки, просто написал эти 30 строчек на ассемблере, заодно проникся "железом" встроенной периферии м/к. Хотя, программируя на С, также им проникнешься, т.к. используются регистры специальных функций для доступа к периферии, что сродни использованию CMSIS на тех же м/к с Cortex-Mx ядрами.
Круто! Ассемблер топ
Да, кто в теме "кодотворчества", тот понимает.👍
Это про та как записать новую программу на ЭБУ. Но например ЭБУ ДВС требует много часов обкатки на стенде
Круть, асм это сильно! А скажите, а какие максимальные обороты коленвала может переварить январь?
Я не чип-тюнер. А чип-тюнеры говорят, что максимум Январь способен работать до 10200 об./мин коленчатого вала. Я лишь, как "кодотворческий" человек могу сказать, что это ограничение вытекает из частоты тактирования ядра микроконтроллера и количества машинных циклов, затрачиваемых, на формирование требуемых управляющих воздействий (а это обработка сигналов с датчиков, поиск и интерполяция по таблицам, настройка регистров периферии и т.п.).
с атмеги8 реально считать прошивку если установлен локбайт?
Такие фьюзы, наверное, неспроста установлены. Есть такое понятие как, объект интеллектуальной собственности. Так вот, программное обеспечение к таким объектам относится. Право на этот объект принадлежит ее автору. Это, т.н., авторское право. Автор не разрешил распространять любыми способами свое ПО, т.е. не сделал свое ПО доступным для неограниченного круга лиц по одной из "свободных лицензий". Обратитесь к автору программы для согласования вариантов приобретения необходимого ПО в требуемом количестве копий.
@@VadRov ему это не выгодно, только прошитые мк продает, я пробовал считывал дамп но на пустышке не заработало, хоть и сравнивал в хексе счтанный дамп с записанным, все совпадает
@@himkaa , если установлена защита от считывания, то считывать с чипа Вы будете "белый шум", а не оригинальную прошивку. А автор поступает так, как считает нужным. На то он и автор. Можете на него в роспотребнадзор заявить, если делает большую наценку на м/к. На основании частей 2, 3 статьи 16 Закона о защите прав потребителей запрещается обуславливать приобретение одних товаров (работ, услуг) обязательным приобретением иных товаров (работ, услуг). 🙂
Главное рассказать с тяжёлым и уставшим голосом то, что делаешь с лёгкостью) ты или хороший программист, разобрался в этой теле и хорошо все сделаешь или не лезь в такую сложную тему, от которой зависят жизни людей.
Когда люди начнут анализировать то, что смотрят? Какой программой прошит ЭБУ из видео? Программой, которая общается с компьютером и управляет скоростью вращения вентилятором. Т.е. программой, которая никак не связана с управлением двигателем. Смысл короткого ролика показать, что для ЭБУ можно писать свои программы и программировать его ими. Причем, это не обязательно программа управления двигателем. Именно программа определяет, чем будет являться ЭБУ: устройством для воспроизведения музыки или устройством для управления двигателем либо иным каким-либо устройством (на что хватит фантазии).
Upd.: забыл добавить по поводу голоса. Вы разве не поняли, что это ирония про легкость. Иронизировал, как мог. Я же не актер, а только учусь 🙂
Каждое утро таким занимаюсь
Нужно больше роликов. Больше электроники больше ассемблера. Писал что нибудь на голом x86?
В 90-х в универе баловался. Серьезного ничего не писал. В основном встраивал ассемблер в программы на C для рутинных процедур, критичных к требованиям по времени исполнения. Тогда компиляторы были не такие продвинутые, как сейчас.
Хорош ,👍
Даже не представлял, что так просто писать такого рода программы
Ага, ниче сибе просто, 100 страниц документации прочитай. Ассемблер вообще легкотня?
@@Noname-ee8gh дружище это был сарказм, конечно, не просто я с тобой полностью солидарен👍
я на сишке мучаю несколько ваговских блоков, планирую в скором времени кинуть блок от ауди сто на газ 3110.
Молодец😊
Жаль что нету ПК в которому написан код на кириллице такой себе аналог ассемблера. И чтоб в БИОС и ОС суто на кириллице написан. Хотя и на Русском. И полностью отсутствовала латиня
Есть отечественные языки программирования. Яркий представитель 1C, например. Там на кириллице.
@@VadRov спасибо вам большое, а вы знаете подобное но на Украинском ? Пробачте будьласка
@@Вася-ы4е , на украинском не знаю. Я из России.
@@VadRov и на етом спасибо, удачи вам
Писал я на ассемблер эти программы, блоки саморобный делал, но загрузчик писать я манал. Через программатор программу записывал в МК. Тайны в этом особой нет, и порогу написать не проблема если насобачился, но вот значения констант основных меня замахало. Их переписывать постоянно задолбался. Но на серию было бы норм.
Работа мастера-мое почтение. Только, ты заплатмл, а тебе еще и рекламы в блок напихали.
😉
Надо его запрограммировать ставить лайк на канале
Все возможно. Для этого ему нужен выход в интернет. Либо через компьютер, либо через тот же esp32. ЭБУ - это, по сути, тот же компьютер со своими интерфейсными шинами для связи (lin, can, например) с внешними устройствами.
А на Питоне нельзя разве или на Си?
Можно даже в Exel. 🙂В описании и закрепленном комментарии все написано.
Я все ждал когда ты дойдешь в требованиях до литографии и выращивания кристалла.
Тогда это были бы уже "требования" к изготовлению/конструированию ЭБУ, а не к программированию.
Молодец, возьми с полки пирожок 😂
Всего то, я думал там сложно всё. 😂
Нет связи с датчиком температуры, аварийный режим.)
Что может быть проще? Заменть MCU на FPGA и написать код на Verilog))) Но сперва сломать свой мозг, ибо все команды выполняться будут за один такт)))
Один из частых вопросов, где взять даташит на какой то там микроконтроллер. Пусть даже и на китайском.
У изготовителя/продавца/поставщика/дистрибьютора...
@@VadRov например процы с принтеров, тот же hp, samsung...
@@nfactor1, в авторизованных сервисных центрах должен быть весь набор технической документации (даташиты, схемы, сервис-мануалы и т.п.). Если в интернете нет (в т.ч., на оф. сайтах изготовителей), выхода на людей, владеющих доками нет, то нигде не найдете.
А вот если прошивка очень сложная , почему бы не писать на С/С++ , он же тоже быстро и эффективно будет работать. А то какой то хардкор
Конечно, можно. В крайнем случае можно делать в коде вставки ассемблера для взаимодействия, например, со встроенным ПО, как в данном случае.
Не проще ли использовать какой-то стандартный контроллер с общеизвестной архитектурой, высокоуровневой средой разработки и кучей готовых алгоритмов? Или в автомобильном мире не придумали свой "автомобильный ардуино"?
Проще. Но если Вы не поняли, то этот короткий ролик о том, что можно "легко" написать свою программу для стандартного ЭБУ и запрограммировать ее в память микроконтроллера, избавив ЭБУ от тягот управления двигателем. ЭБУ радостно начинает слать сообщения в компьютер и управляет скоростью вращения вентилятора. Но у некоторых зрителей почему-то возникают "фантазии", что я собрался писать для этого блока свою программу, которая будет управлять двигателем. Максимум, что бы я сделал с этим блоком, так просто использовал его входные и выходные цепи, изъяв древний м/к, и поместил бы туда "мозг" в виде какого-то stm (что-нибудь из серии stm8a, например, или что-то из stm32).
Вы хотите чип тюнинг какой то и сделать?
@@12strel, для того, чтобы сделать чип тюнинг, писать своих программ не надо. Для чип тюнинга достаточно откалибровать стандартные таблицы, зашитые во flash (туда же относится и настройка комплектации). И у меня планов пока четких вообще нет по поводу этого блока (или других). Есть одна мысль. Сделать для этого блока возможность онлайн настройки калибровок. Теоретически это возможно. Уже, в принципе, алгоритм для ПО готов. Программу из блока я дизассемблировал, с кодом исходным разобрался. Место куда внедрить подпрограмму для онлайн настроек нашел (а таких подпрограмм должно быть две, как минимум: одна во флеш, а другая будет грузиться загрузчиком в XRAM). С прерыванием и обработчиком разобрался. В принципе, если не выгорю, то идею, возможно, и реализую. Но, думаю, что перегорю (блок древний, изучен и теперь мне с ним уже не так интересно). 😉
@@VadRov Понятно. Дело интересное.
натыкался на форум, ЕМНИП, ланос тематики. человек докопался до ЭБУ этого самого ланоса. показал, что алгоритмы - так себе, это не так, то не так, с этим жить невозможно. написал свою программу. занимался отладкой...
в результате вернулся к стоковой прошивке... (за давностью может что соврал)
И действительно просто! 😂 это как мне 1 заказчик написал. Нужно устройство, которое будет рулить транспортным потоком с распознавание и т.д., срок 1 месяц. И добавил что у него проект горит.
Чем ЭБУ отличается от любого другого МК?
Наверное, имелось в виду: "Чем м/к в ЭБУ отличается от любого другого МК?". Любые другие и, в т. ч., этот, отличаются архитектурой м/к, архитектурой ядра м/к, наличием встроенной периферии и т.д., и т.п. Если же отвечать на вопрос буквально, то ЭБУ от любого другого м/к отличается тем, что содержит: электрические цепи питания м/к, вспомогательных м/с и пр., цепи датчиков и исполнительных механизмов... 😉
@@VadRov а мк общего назначения не содержат? Не уверен что кто-то кроме военных может позволить себе особенную архитектуру, с их безграничными ресурсами.
@@tayrus2622 , Вы путаете понятие м/к и ЭБУ. ЭБУ - это законченное устройство, содержащее наряду с м/к вспомогательные электрические цепи для реализации заложенных при разработке в устройство функций. Вот выше и было отвечено на Ваш первый комментарий.
@@VadRov словесный онанизм, самый важный компонент любой встраиваемой системы это контроллер. Периферийные устройства могут как варьироваться так и отсутствовать вообще. В ЭБУ программируется флеш микроконтроллера.
@@tayrus2622 , да, вижу, что Вы в нем преуспели. Причем, так, что он уже Вами неконтролируем. Хотите поумничать, научитесь хотя бы задавать вопросы правильно. А если знаете ответы на вопросы, то не задавайте их, если не на экзамене и Вы не экзаменатор. На Ваш бестолковый вопрос был дан ответ в первом комментарии к нему. Там было написано про архитектуру м/к, архитектуру его ядра и т.п.... Ответ исчерпывающий. Если Вы не видите разницы между различными м/к, то это Ваша большая проблема в виду недостатка знаний (поверхностные знания).
Да, без проблем. Пару сотен страниц за неделю прочту😂
Сказано не прочесть, а ИЗУЧИТЬ
Так же есть готовые прошивки
Есть много "прошивок" для этого блока для управления именно ДВС. Меня же интересует этот блок с позиций нестандартного использования. Грубо говоря, выбросить жалко и т.п.
Делай так два раза в день, и двигатель болеть не будет!
🖐️. Тебе то же у дачи🤝
то есть, скопировать с ЭБУ рабочую программу, подшаманить ее на нужные параметры, и обратно залить в ЭБУ не вариант? Обязательно нужно идти сложным путем? Ну, тогда, следучий ролик сделай на тему, как из кварца кремния сделать микропоцессор, который позже будет управлять ЭБУ
Это Вы пошли сложным путём. Мой путь указан в описании к ролику.
Всё так просто, а я думал к Вам обратиться.
По этому вопросу к чип-тюнерам. Их много в любом регионе.