Два микроконтроллера

Про байтики и логику ЭБУ
Post Reply
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Два микроконтроллера

Post by Sergey89 »

Есть такая идея, взять и поставить два микроконтроллера. Смысл в том, чтобы получить из ширпотребного мк периферийные возможности на уровне специализированных. Можно или разделить задачи по двум мк или продублировать их. Связь между мк наладить например через SPI. Видел похожие OEM решения, но не знаю какие задачи там выполняет продублированный мк. У кого какие мысли?
User avatar
AndreyB
Site Admin
Posts: 14324
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Два микроконтроллера

Post by AndreyB »

Моя мысль - постановка вопроса неправильная, сначала должна появиться необходимость чего-то внешнего - а уже потом в качестве решения проблемы может появится что-то внешнее.

При этом нужно понимать, что 48-ми ногую плату мы делаем, чтоб EGT блок разместить под капотом и связать с мозгом CAN шиной. Обоснование - чтоб не тянуть термопару в салон, второе обоснование - сделать небольшое законченное устройство для отработки процессов логистики и так далее, это почти не технические причины.

И второй потенциальный проектик - drive-by-wire на базе TMS570, во многом просто чтоб попробовать TMS570 и чтоб максимально изолированно.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Два микроконтроллера

Post by Sergey89 »

Необходимость появляется в случае отказа от программного шедулера выходов. Таймеров не хватает на что-то большее чем 4-6 цилиндров. Суть именно в размещении двух мк на одной плате рядом друг с другом. И дальше уже появляются варианты реализации. Или это по сути два эбу на одной плате или один эбу в котором задачи разделены по какому-то принципу.

Вот для примера как это выглядит в железе
Attachments
maxsima_a56-n86_z31_.jpg
maxsima_a56-n86_z31_.jpg (865.7 KiB) Viewed 13689 times
User avatar
AndreyB
Site Admin
Posts: 14324
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Два микроконтроллера

Post by AndreyB »

Sergey89 wrote:Необходимость появляется в случае отказа от программного шедулера выходов.
Чисто программный планировщик нас покинул, ты видел гибридный планировщик SingleTimerExecutor.cpp? Мне кажется, что его должно хватить - но я это мнение никому не навязываю :)

Самый простой вариант для настаивающих на аппаратных прерываниях - просто два процессора, которые друг с другом не общаются - просто один управляет искрой, а второй топливом?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Два микроконтроллера

Post by Sergey89 »

Да. Видел. Этот конечно лучше, но всё равно вызывает некоторые сомнения.

Думаю, что самый простой вариант это два мк, которые управляют по 4-6 цилиндров каждый. Это покроет 99% конфигураций. Но связь между ними удобнее иметь чем не иметь. Хотя бы для того, чтобы общаться с ними через один интерфейс.
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Два микроконтроллера

Post by Maxi »

russian wrote: Самый простой вариант для настаивающих на аппаратных прерываниях - просто два процессора, которые друг с другом не общаются - просто один управляет искрой, а второй топливом?
с середины 90-х так никто не делает. если ставят 2й процессор то его используютт в основном как несинхронный I/O extender - соответственно на него навешивают весь асинхронный и медленный ввод вывод... какие нибудь шимы релюхи медленные датчики.
при этом на первый катушки-форсунки и быстрые датчики...

с середины 2000х процессоры такие жирные стали что в двух смысла нет. по 32 канала ацп че только стоят.
maddmr
Posts: 13
Joined: Fri Dec 26, 2014 2:50 am
Location: Красноярск

Re: Два микроконтроллера

Post by maddmr »

Sergey89 wrote:Видел похожие OEM решения, но не знаю какие задачи там выполняет продублированный мк. У кого какие мысли?
Чаще всего, 1 мк управляет мотором, второй управляет акпп.
В мозге, фото которого ты привел. Скорее всего так и есть.

2мк рулят двигателем в мозге от st205. Но там тоже жестко, один мк рулит топливом и зажиганием, второй мк рулит бустконтроллером, помпой интеркулера, топливным насосом, кондиционером, то есть ерундой, которая не требует существенного быстродействия мк.
Красноярск. Старое ведерко с 3s-ge на ватомате.
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Два микроконтроллера

Post by Sergey89 »

Вот что можно получить из 100 выводного корпуса:
openecu.jpg
openecu.jpg (117.59 KiB) Viewed 13623 times
6 выходов на форсунки (4 выхода при желании можно сделать с поддержкой peak & hold на ещё одном 4 канальном таймере)
6 выходов на катушки зажигания
8 выходов с поддержкой ШИМ
13 входов АЦП
1 выход ЦАП
2 входа для захвата сигналов
2 SPI
1 I2C
1 CAN
1 USB
1 USART

Все силовые выходы, а так же входы для захвата получается посадить на аппаратные таймеры. Ещё остаётся два 4 канальных таймера и два 1 канальных.

Из двух МК получаем в 2 раза больше всего.
User avatar
AndreyB
Site Admin
Posts: 14324
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Два микроконтроллера

Post by AndreyB »

какую КОНКРЕТНО мы решаем ЗАДАЧУ? :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Два микроконтроллера

Post by Sergey89 »

Делаем конкурентоспособный ЭБУ :)
User avatar
AndreyB
Site Admin
Posts: 14324
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Два микроконтроллера

Post by AndreyB »

Sergey89 wrote:Делаем конкурентоспособный ЭБУ :)
ооооооочень мутная формулировочка :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
maddmr
Posts: 13
Joined: Fri Dec 26, 2014 2:50 am
Location: Красноярск

Re: Два микроконтроллера

Post by maddmr »

Sergey89 wrote:Вот что можно получить из 100 выводного корпуса:

6 выходов на форсунки (4 выхода при желании можно сделать с поддержкой peak & hold на ещё одном 4 канальном таймере)
6 выходов на катушки зажигания
8 выходов с поддержкой ШИМ
13 входов АЦП
1 выход ЦАП
2 входа для захвата сигналов
2 SPI
1 I2C
1 CAN
1 USB
1 USART
Самые тюнингуемые в РФ автомобили имеют или 4 или 6 цилиндров. Им этого функционала для работы мотора более чем. Не хватает только +1 вход для захвата сигнала спидометра, но это решаемо, можно неиспользуемый ацп занять.
Можно даже сделать управление несложной акпп, с тремя-четырьмя соленоидами.
Красноярск. Старое ведерко с 3s-ge на ватомате.
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

Re: Два микроконтроллера

Post by Maxi »

Захватывать спидометр с АЦП - наверно самый оригинальный совет от дилетанта.
meXanicus
contributor
contributor
Posts: 314
Joined: Sat Dec 21, 2013 2:42 pm
Location: Russia, Rostov-na-Donu

Re: Два микроконтроллера

Post by meXanicus »

РФ != Не весь мир;
И я где-то слышал, что в Америке любят V8.
Я на Drive2 Alfa Romeo 156 SW
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Два микроконтроллера

Post by Sergey89 »

Для этого и ставится второй микроконтроллер. В итоге получаем поддержку 12 цилиндров с последовательным впрыском и индивидуальными катушками. При этом можно гарантировать высокую точность всех генерируемых сигналов.
maddmr
Posts: 13
Joined: Fri Dec 26, 2014 2:50 am
Location: Красноярск

Re: Два микроконтроллера

Post by maddmr »

Sergey89 wrote:Для этого и ставится второй микроконтроллер. В итоге получаем поддержку 12 цилиндров с последовательным впрыском и индивидуальными катушками. При этом можно гарантировать высокую точность всех генерируемых сигналов.
Два ЭБУ в параллель, не?
Maxi wrote:Захватывать спидометр с АЦП - наверно самый оригинальный совет от дилетанта.
Я действительно дилетант. Но откуда его тогда захватывать?
Или какой нибудь дохлый чип, как расширение GPIO, и отправлять в stm32 по can?
Красноярск. Старое ведерко с 3s-ge на ватомате.
User avatar
Sergey89
contributor
contributor
Posts: 839
Joined: Wed Sep 25, 2013 5:30 pm
Location: Russia, Velikiy Novgorod

Re: Два микроконтроллера

Post by Sergey89 »

maddmr wrote:
Sergey89 wrote:Для этого и ставится второй микроконтроллер. В итоге получаем поддержку 12 цилиндров с последовательным впрыском и индивидуальными катушками. При этом можно гарантировать высокую точность всех генерируемых сигналов.
Два ЭБУ в параллель, не?
Можно и так сказать, но мысль в том, чтобы наладить между ними связь для обмена данными. Тогда получится избежать дублирования сигналов в оба мк. И в случае чего второй мк можно будет использовать просто для расширения I/O первого.
Last edited by Sergey89 on Sat Jan 17, 2015 1:33 pm, edited 1 time in total.
Post Reply