|
Самодельная ЭСУД, Может кто-то захочет поучаствовать |
|
|
|
Sep 4 2013, 20:31
|
Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 4-09-13
Из: Чикаго
Пользователь №: 78 190

|
Скоро будет год, как я начал делать себе самодельный блок управления двигателем с использованием stm32 discovery и chibios. У меня есть работающий прототип, сейчас я пытаюсь всё это приблизить к юзабельному состоянию. Если вдруг кто-то захочет поучаствовать - буду рад  Моя идея - написать код проще, чем у существующих систем, и сделать аппаратную часть набором независимых функциональных модулей. Я в курсе, что есть несколько в разной степени аналогов - и всё-таки верю, что в смогу сделать платформу, более удобную и понятную в некоторых аспектах. Видео прототипа - http://www.youtube.com/watch?v=GcxLY697WwMИсходники живут https://sourceforge.net/projects/rusefi/Сайт проекта - http://rusefi.com/
|
|
|
|
|
 |
Ответов
|
Jan 8 2014, 14:08
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(dlman @ Jan 8 2014, 16:30)  несколько процессоров в КСУД используются исключительно в целях безопасности - в случае программных/аппаратных сбоев в основном процессоре процессор безопасности глушит двигатель (а программные сбои весьма вероятны ввиду сложности программного обеспечения). Все компоненты должны иметь automotive сертификацию с температурным диапазоном -40...+125. Процессор лучше изначально выбирать из тех которые предназначены для применения в ECU - Infineon XC167, XE2000, Freescale MPC56xx Monaco. В качестве основы для "чистого и понятного" кода смотрите AUTOSAR. И никаких лишних наворотов типа SD карточки, GPS и .др. Для всего этого есть CAN. Про динамическую память тоже забудьте, исключительно SRAM (если нужна, конечно). я уже сказал что нужно. аппаратный watchdog за 1$ и для особопугливых управление всеми выходами через элементы и/или (еще 1$), по срабатыванию watchdog-а генерирующие на выходе ecu состояние выходов, соответствующее заглушенному двигателю. Процессор конечно же нужен 1 мощный ARM. Действительно полезно было бы найти automotive ARM. Freescale MPC- выбор лузера для лузера. Насчет динамических памятей мысль особо мощная - но в свете последних событий, немного, устаревшая... В довольно серьезном real-time проекте недавно видел на ARM контроллере управляющий код под STL11 - вот ето действительно перебор, по моему. Однако продажам товарищей ето вроде, не мешает.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Jan 8 2014, 15:09
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 28-05-06
Из: Москва
Пользователь №: 17 530

|
Цитата(a123-flex @ Jan 8 2014, 18:08)  я уже сказал что нужно. аппаратный watchdog за 1$ и для особопугливых управление всеми выходами через элементы и/или (еще 1$), по срабатыванию watchdog-а генерирующие на выходе ecu состояние выходов, соответствующее заглушенному двигателю. Процессор конечно же нужен 1 мощный ARM. Действительно полезно было бы найти automotive ARM. Freescale MPC- выбор лузера для лузера. Насчет динамических памятей мысль особо мощная - но в свете последних событий, немного, устаревшая... В довольно серьезном real-time проекте недавно видел на ARM контроллере управляющий код под STL11 - вот ето действительно перебор, по моему. Однако продажам товарищей ето вроде, не мешает. от алгоритмических ошибок hw watchdog вас не спасет. Процессор безопасности как раз и нужен для того, чтобы не случилось как в тойоте - педаль газа отпущена а форсунка все равно открыта. Вот про Freescale MPC можно поподробнее? В данном случае как раз Cortex-M будет не совсем удачным решением для ECU.
|
|
|
|
|
Jan 8 2014, 15:56
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(dlman @ Jan 8 2014, 18:09)  от алгоритмических ошибок hw watchdog вас не спасет. Процессор безопасности как раз и нужен для того, чтобы не случилось как в тойоте - педаль газа отпущена а форсунка все равно открыта. от алгоритмических ошибок спасает отладка, и прямой хорошо структурированный простой как только возможно код. Или как Вы собрались обезопасить себя от алгоритмической ошибки посредством второго процессора ? Написать весь алгоритм управления полностью другой командой ? а если оба ошибутся ? тогда 3 команды независимых программистов и троированная система ? А какова будет вероятность получить целую кучу сбоев и багов в такой системе ? спасет сертификация ? тогда все получится как раз как в тоете... Цитата Вот про Freescale MPC можно поподробнее? в жизни я имел дело с моторолой дважды. С 8-разрядным контроллером и с многоголовым коммуникационным 32-разрядным монстром. Юзабилити ниже плинтуса. Вы когда-нибудь видели что такое WindRiver ? Когда 10 лет назад после него я поставил IAR и запустил еще атмельский ARM - чуть не умер от счастья. Повторю не свое мнение, но с которым я полностью согласен - моторола лузер рынка, все направления которые моторола поднимала когда-либо - замечу, госбаблом, она все их похоронила... Поетому я говорю продукт лузер для лузеров... и насчет динамических памятей. видел немало больших ответственных систем (кластеры обычно) почему-то там динамикой не брезгуют.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Jan 8 2014, 18:16
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 28-05-06
Из: Москва
Пользователь №: 17 530

|
Цитата(a123-flex @ Jan 8 2014, 19:56)  от алгоритмических ошибок спасает отладка, и прямой хорошо структурированный простой как только возможно код. Или как Вы собрались обезопасить себя от алгоритмической ошибки посредством второго процессора ? Написать весь алгоритм управления полностью другой командой ? а если оба ошибутся ? тогда 3 команды независимых программистов и троированная система ? А какова будет вероятность получить целую кучу сбоев и багов в такой системе ? спасет сертификация ? тогда все получится как раз как в тоете...
в жизни я имел дело с моторолой дважды. С 8-разрядным контроллером и с многоголовым коммуникационным 32-разрядным монстром. Юзабилити ниже плинтуса. Вы когда-нибудь видели что такое WindRiver ? Когда 10 лет назад после него я поставил IAR и запустил еще атмельский ARM - чуть не умер от счастья. Повторю не свое мнение, но с которым я полностью согласен - моторола лузер рынка, все направления которые моторола поднимала когда-либо - замечу, госбаблом, она все их похоронила... Поетому я говорю продукт лузер для лузеров... и насчет динамических памятей. видел немало больших ответственных систем (кластеры обычно) почему-то там динамикой не брезгуют. а вы представляете, насколько сложные алгоритмы заложены в контроллерах управления двигателем, чтобы пройти по нормам ЕВРО3, ЕВРО4, ЕВРО5? настолько сложные, что с чистым кодом работать практически невозможно. В МИКАСах и Январях при разработке используются DSPACE и MATLAB для графической разработки алгоритмов, которые затем генерируют С код. В Тойоте, по всей видимости, использовался такой же подход, откуда и взялись эти 16 тыс глобальных переменных. Никакая отладка не даст гарантии 100% что у вас нет косяка в коде, который будет проявляться при определенных условиях с вероятностью 0.001. А любой косяк в ECU - это уже потенциальная угроза жизни. Процессор безопасности, при всей своей примитивности реализации, перепроверяет основной процессор на предмет корректности алгоритмов управления. как говорится - 100 раз отмерь и 1 раз отрежь. Ну как-бы мотороллы уже давно нет. А у фрискейла PowerPC успешно развивается, как automotive, так и QorIQ. Да, CodeWarrior IDE пару лет назад был так себе, но по сравнению с IAR - приблизительно одно и то же. Что касается automotive компонентов - в этом фрискейл, безусловно, лидер, в отличие от инфинеона. К линейке iMX вообще никаких претензий - BSP, документация, поддержка - такого TI с их OMAPами и не снилось. А что вы под "ответственными системами" понимаете? В данном случае контроллер управления двигателем отвечает прежде всего за жизнь человека, отсюда и все пляски вокруг него. Не дай бог заложить в нем не automotive компонент - и при любой проблеме будет виновато предприятие-изготовитель. А с динамической памятью, как и с импульсными преобразователями, будут проблемы на ЭМС.
|
|
|
|
|
Jan 8 2014, 18:27
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(dlman @ Jan 8 2014, 21:16)  а вы представляете, насколько сложные алгоритмы заложены в контроллерах управления двигателем, чтобы пройти по нормам ЕВРО3, ЕВРО4, ЕВРО5? настолько сложные, что с чистым кодом работать практически невозможно. В МИКАСах и Январях при разработке используются DSPACE и MATLAB для графической разработки алгоритмов, которые затем генерируют С код. В Тойоте, по всей видимости, использовался такой же подход, откуда и взялись эти 16 тыс глобальных переменных. Никакая отладка не даст гарантии 100% что у вас нет косяка в коде, который будет проявляться при определенных условиях с вероятностью 0.001. А любой косяк в ECU - это уже потенциальная угроза жизни. Процессор безопасности, при всей своей примитивности реализации, перепроверяет основной процессор на предмет корректности алгоритмов управления. как говорится - 100 раз отмерь и 1 раз отрежь. сложные алгоритмы - ето таблицы что ле ? с чистым кодом невозможно... ето что то новенькое. А с чем возможно ? вы ебу баснями функции объясняете по картинкам в матлабе ? слышал отзывы о кодогенерации с матлаба работников софтлайна. Они далеки от дифирамбов, а код получается однозначно неоптимальный. Правда отзывы были ПОСЛЕ конференции. вроде американцы говорили, что у них управления беспилотником 3 млн строк кода. Наверно у них беспилотник не такой сложный как у Вас ебу, что они таки код пишут, кретины ? Цитата Ну как-бы А что вы под "ответственными системами" понимаете? В данном случае контроллер управления двигателем отвечает прежде всего за жизнь человека, отсюда и все пляски вокруг него. под "ответственными системами" я понимаю системы, от корректной работоспособности которых зависит жизнь многих людей
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Jan 8 2014, 19:53
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 28-05-06
Из: Москва
Пользователь №: 17 530

|
Цитата(a123-flex @ Jan 8 2014, 22:27)  сложные алгоритмы - ето таблицы что ле ? с чистым кодом невозможно... ето что то новенькое. А с чем возможно ? вы ебу баснями функции объясняете по картинкам в матлабе ? слышал отзывы о кодогенерации с матлаба работников софтлайна. Они далеки от дифирамбов, а код получается однозначно неоптимальный. Правда отзывы были ПОСЛЕ конференции.
вроде американцы говорили, что у них управления беспилотником 3 млн строк кода. Наверно у них беспилотник не такой сложный как у Вас ебу, что они таки код пишут, кретины ?
под "ответственными системами" я понимаю системы, от корректной работоспособности которых зависит жизнь многих людей сложные алгоритмы это сложные алгоритмы. я не буду рассказывать ни про цикломатическую сложность ПО, ни про метрику, ни про время вывода продукта на рынок и затраты на разработку ПО в человеко-часах. Это всем понятно. Да, кодогенерация крайне неоптимальна, но тем не менее такие проекты как DSPACE и ETAS широко используются при разработке ECU во всем мире. Я как-то работал над проектом который достался от NVIDIA. Что касается coding standards там все было по-правильному, но что касается архитектуры - так годы, за которые этот проект развивался, превратили ее в спагетти. В какой-то момент NVIDIA закрыла проект, так и не решив многих проблем, и которые пришлось решать мне. Проблемы весьма тривиальные, но вот на их решение, ввиду сложности кода, приходилось тратить недели. 3 млн строк вообще не показатель сложности проекта. Если проект разбивается на отдельные функционально независимые модули, каждый из которых может отлаживаться отдельно, то количество строк это прежде всего показатель трудоемкости проекта. P.S Господа, я делюсь реальным опытом, как оно все обстоит на самом деле. Люди, которые разрабатывают автоэлектронику, далеко не пальцем подкованные, так что не будем выставлять их кретинами, включая тех, кто разрабатывал ECU для тойоты.
|
|
|
|
Сообщений в этой теме
Андрей239 Самодельная ЭСУД Sep 4 2013, 20:31 ZASADA а смысл делать свой блок когда на двигателе уже ст... Sep 5 2013, 21:10 x-men Цитата(ZASADA @ Sep 6 2013, 03:10) а смыс... Sep 6 2013, 11:46 Андрей239 Цитата(ZASADA @ Sep 5 2013, 16:10) а смыс... Sep 6 2013, 23:12 Punk Цитата(Андрей239 @ Sep 4 2013, 23:31) Ско... Sep 7 2013, 06:47 Андрей239 Цитата(Punk @ Sep 7 2013, 01:47) Как с Ва... Sep 7 2013, 12:11 Denisvak Так же есть интерес к разработке ECU
"Адрес a... Sep 25 2013, 08:14 Lmx2315 ..тут никто к угонам авто отношения не имеет? Sep 25 2013, 09:26 Андрей239 Цитата(Denisvak @ Sep 25 2013, 03:14) Так... Sep 26 2013, 03:01  Lmx2315 QUOTE (Андрей239 @ Sep 26 2013, 07:01) Не... Sep 26 2013, 05:34 ZASADA а что, есть связь между попытками изобрести свой в... Sep 25 2013, 18:27 Андрей239 Цитата(Denisvak @ Sep 25 2013, 03:14) Так... Sep 30 2013, 17:50 Denisvak да, уже все хорошо Oct 4 2013, 04:35 Андрей239 https://www.youtube.com/watch?v=8qPSSUL4jlo Nov 7 2013, 04:03 Андрей239 Мы с группой товарищие продолжаем во всё это играт... Jan 5 2014, 11:51 Vasily_ Это все конечно здорово, но зачем делать свою элек... Jan 5 2014, 13:46 Андрей239 Цитата(Vasily_ @ Jan 5 2014, 08:46) Это в... Jan 6 2014, 00:06 Vasily_ Цитата(Андрей239 @ Jan 6 2014, 02:06) А м... Jan 6 2014, 11:50 Андрей239 Цитата(Vasily_ @ Jan 6 2014, 06:50) 1. Мо... Jan 6 2014, 12:00 Vasily_ Цитата(Андрей239 @ Jan 6 2014, 14:00) Поп... Jan 6 2014, 12:08  AlexandrY Цитата(Vasily_ @ Jan 6 2014, 14:08) Кто в... Jan 6 2014, 12:56   Vasily_ Цитата(AlexandrY @ Jan 6 2014, 14:56) Мик... Jan 6 2014, 13:19    AlexandrY Цитата(Vasily_ @ Jan 6 2014, 15:19) В М11... Jan 6 2014, 15:11     Vasily_ Цитата(AlexandrY @ Jan 6 2014, 17:11) ST1... Jan 6 2014, 15:43      AlexandrY Цитата(Vasily_ @ Jan 6 2014, 17:43) ST10 ... Jan 6 2014, 17:36       Juray Цитата(AlexandrY @ Jan 6 2014, 21:36) а ч... Jan 6 2014, 17:58       a123-flex Цитата(AlexandrY @ Jan 6 2014, 20:36) Как... Jan 6 2014, 18:03     emmibox Цитата(AlexandrY @ Jan 6 2014, 19:11) С т... Jan 14 2014, 12:01 Андрей239 Цитата(Vasily_ @ Jan 6 2014, 07:08) Кто в... Jan 6 2014, 12:26 Андрей239 Я думаю ни на какой процессор не нужно завязыватьс... Jan 6 2014, 13:49 Vasily_ Цитата(Андрей239 @ Jan 6 2014, 15:49) Я д... Jan 6 2014, 15:32 Андрей239 Цитата(AlexandrY @ Jan 6 2014, 10:11) Луч... Jan 6 2014, 15:39 Андрей239 Цитата(Vasily_ @ Jan 6 2014, 10:43) и про... Jan 6 2014, 15:55 Vasily_ Цитата(Андрей239 @ Jan 6 2014, 17:55) Вы ... Jan 6 2014, 16:00  AlexandrY Цитата(Vasily_ @ Jan 6 2014, 18:00) Вы мо... Jan 6 2014, 18:50   a123-flex Цитата(AlexandrY @ Jan 6 2014, 21:50) лож... Jan 6 2014, 20:00 Андрей239 Итак, например такой простой практический вопрос: ... Jan 7 2014, 13:32 a123-flex Цитата(Андрей239 @ Jan 7 2014, 16:32) Ита... Jan 7 2014, 13:43 Андрей239 Нет, вопрос совсем другой. Вопрос: можно ли избави... Jan 7 2014, 15:31 a123-flex Цитата(Андрей239 @ Jan 7 2014, 18:31) Нет... Jan 7 2014, 16:23 Андрей239 Цитата(a123-flex @ Jan 7 2014, 11:23... Jan 7 2014, 16:46 a123-flex Цитата(Андрей239 @ Jan 7 2014, 19:46) нет... Jan 7 2014, 16:50   AlexandrY Цитата(dlman @ Jan 8 2014, 17:09) от алго... Jan 8 2014, 15:22       a123-flex Цитата(dlman @ Jan 8 2014, 22:53) Люди, к... Jan 8 2014, 22:01 ZASADA ставьте сразу TI с встроенным аппаратным дублирова... Jan 8 2014, 17:14 Андрей239 Цитата(AlexandrY @ Jan 8 2014, 10:22) Нор... Jan 8 2014, 18:22 Андрей239 Давайте не скатываться в срач о выборе процессора.... Jan 8 2014, 18:35 Андрей239 Я думаю достаточно про тоёту. История там тёмная, ... Jan 8 2014, 21:42 ZASADA Цитатаimplicit conversion from floating point to i... Jan 8 2014, 21:47 Андрей239 Спасибо, я в курсе явного преобразования - вопрос ... Jan 8 2014, 21:55 a123-flex Цитата(Андрей239 @ Jan 9 2014, 00:55) Ост... Jan 8 2014, 22:27 ZASADA еще ваша входная аналоговая схема напрягает. Jan 8 2014, 22:02 Андрей239 Цитата(ZASADA @ Jan 8 2014, 17:02) еще ва... Jan 8 2014, 23:53 a123-flex Цитата(Андрей239 @ Jan 9 2014, 02:53) Не ... Jan 9 2014, 03:58 AlexandrY Цитата(Андрей239 @ Jan 9 2014, 01:53) Про... Jan 9 2014, 07:13 Андрей239 Торможит chprintf - это имплементация из ChibiOS, ... Jan 9 2014, 13:43 AlexandrY Цитата(Андрей239 @ Jan 9 2014, 15:43) Тор... Jan 9 2014, 14:53 Андрей239 Будете смеяться - но да, совершенно осознанно прис... Jan 9 2014, 15:25 AlexandrY Цитата(Андрей239 @ Jan 9 2014, 17:25) Есл... Jan 9 2014, 15:38 Андрей239 Спрятал эти return от IAR - потому что GCC они нуж... Jan 9 2014, 16:15 AlexandrY Цитата(Андрей239 @ Jan 9 2014, 18:15) Я д... Jan 9 2014, 19:35 Андрей239 о! очень хорошие вопросы постараюсь ответить ... Jan 9 2014, 22:17 AlexandrY Цитата(Андрей239 @ Jan 10 2014, 00:17) ре... Jan 10 2014, 07:34 Андрей239 Цитата(AlexandrY @ Jan 10 2014, 02:34) Эт... Jan 10 2014, 10:04 AlexandrY Цитата(Андрей239 @ Jan 10 2014, 12:04) Вы... Jan 10 2014, 10:49 Андрей239 Я потерял нить
Итак, было сомнение в работе с об... Jan 10 2014, 14:13 AlexandrY Цитата(Андрей239 @ Jan 10 2014, 16:13) Я ... Jan 10 2014, 15:00  a123-flex Цитата(AlexandrY @ Jan 10 2014, 18:00) У ... Jan 13 2014, 12:01 Андрей239 Цитата(AlexandrY @ Jan 10 2014, 10:00) Я ... Jan 10 2014, 16:55 AlexandrY Цитата(Андрей239 @ Jan 10 2014, 18:55) Я ... Jan 13 2014, 13:45 Андрей239 Цитата(a123-flex @ Jan 13 2014, 07:0... Jan 13 2014, 12:06 a123-flex Цитата(Андрей239 @ Jan 13 2014, 15:06) По... Jan 13 2014, 12:45 Андрей239 Цитата(AlexandrY @ Jan 13 2014, 08:45) Ла... Jan 13 2014, 14:43 AlexandrY Цитата(Андрей239 @ Jan 13 2014, 16:43) Я ... Jan 13 2014, 15:12 Андрей239 Цитата(AlexandrY @ Jan 13 2014, 10:12) MQ... Jan 13 2014, 15:27 AlexandrY Цитата(Андрей239 @ Jan 13 2014, 17:27) Ка... Jan 13 2014, 20:44 Андрей239 Цитата(AlexandrY @ Jan 13 2014, 15:44) Ну... Jan 13 2014, 21:54 Андрей239 Я не квалифицирован судить о блоке МИКАС - я знаю,... Jan 14 2014, 12:34 emmibox Цитата(Андрей239 @ Jan 14 2014, 16:34) Я ... Jan 14 2014, 13:30 Андрей239 Цитата(emmibox @ Jan 14 2014, 08:30) Андр... Jan 14 2014, 13:50 emmibox Цитата(Андрей239 @ Jan 14 2014, 17:50) Вс... Jan 14 2014, 14:18 frig Хех, у меня тоже акк тут есть
emmibox, когда хоче... Jan 14 2014, 14:18 emmibox Цитата(frig @ Jan 14 2014, 18:18) Хех, у ... Jan 14 2014, 14:46 frig ЦитатаДизассемблирование - очень дешевый путь полу... Jan 14 2014, 15:00 emmibox Цитата(frig @ Jan 14 2014, 19:00) Это да.... Jan 14 2014, 15:07 Андрей239 Дизассемблирование - очень дешевый путь получения ... Jan 14 2014, 15:02 Андрей239 Цитата(emmibox @ Jan 14 2014, 09:46) Толь... Jan 14 2014, 15:10 frig emmibox, очень хочется чтобы это был таки opensour... Jan 14 2014, 15:50 emmibox Цитата(frig @ Jan 14 2014, 19:50) Ориенти... Jan 14 2014, 16:12 emmibox Да не определяется порог вхождения ни сложностью к... Jan 14 2014, 15:51 Андрей239 Что-то я запутался. У нас то ассемблер, то матлаб?... Jan 14 2014, 15:54 frig ЦитатаДа не определяется порог вхождения ни сложно... Jan 14 2014, 16:00 frig Я никому не указываю как оно должно быть. Я говорю... Jan 14 2014, 16:24
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|