Блок управления двигателем. Программирование ЭБУ - это просто. Изучаем документацию и программируем
Блок управления двигателем. Программирование ЭБУ - это "просто". Изучаем документацию и программируем.
Что может быть "проще", чем программирование электронного блока управления двигателем? Да, да, друзья, именно программирование, т.е. написание своей любой программы.
Необходимо "всего" лишь:
1. Изучить несколько сотен страниц технической документации на микроконтроллер (архитектура, ядро, периферия и т.д.) и его ядро (архитектура и система команд). Ознакомиться с принципиальной электрической схемой ЭБУ для анализа цепей питания, драйверов исполнительных устройств, входных цепей датчиков и т.п.
2. В соответствии с системой команд ядра м/к написать свою программу на ассемблере для ЭБУ. Можно использовать тот же С/С++, но иногда без встраивания ассемблера не обойтись, так как в программе могут быть использованы вызовы подпрограмм из встроенного ПЗУ микроконтроллера (например, подпрограммы начального загрузчика), а подпрограммам надо передавать параметры. При этом эти подпрограммы могут быть реализованы в разрез соглашения о вызовах (параметры передаются не в тех регистрах, что предусматривает соглашение о вызовах и т.п.). В данном случае программа простая (всего 20 - 30 строчек кода на ассемблере), используются вызовы подпрограмм из начального загрузчика (встроенное ПЗУ микроконтроллера). Поэтому решено было ее написать на ассемблере.
3. В соответствии с документацией на м/к написать программу-загрузчик машинного кода в память м/к. Это требуется не всегда. Иногда можно использовать ПО и оборудование, которое поставляет изготовитель микроконтроллера. Стандартные загрузчики для чип-тюнеров абы какую "прошивку" писать во флеш память не будут. В данном случае мне потребовался именно свой загрузчик в силу решения специфичной задачи, т.е. и загрузчик для чип-тюнеров (тот же комбилоадер, например), и загрузчик от изготовителя м/к мне не подойдут.
4. Загрузить машинный код в память м/к и радоваться результату, как в видео.
В видео демонстрируется работа программы, написанной автором видео, которая "общается" с компьютером через последовательный порт (посредством USB----USART переходника) и управляет вентилятором, подключенным к одному из каналов форсунок. Т.е. эта программа не управляет двигателем автомобиля от слова "СОВСЕМ", несмотря на то, что "зашита" в м/к, работающий в ЭБУ. Что это означает? А это означает, что при наличии большого желания, как у автора видео, можно написать любую программу для м/к в ЭБУ, использовать входные и выходные электрические цепи ЭБУ для реализации любых посильных ему задач (в т.ч., включая задачу управления двигателем, но уже по своей программе). Именно программа для микроконтроллера, установленного на плате ЭБУ, определяет, чем будет являться этот ЭБУ. От программы зависит, будет ли он использован по своему прямому назначению (программа управления двигателем) либо каким-то иным образом (например, программа управления стиральной машиной, котлом отопления и т.п. на что хватит вашей фантазии, возможностей м/к и электрических цепей ЭБУ).