Парковка шагового РХХ

Про байтики и логику ЭБУ
Post Reply
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

Парковка шагового РХХ

Post by andreika »

Для нормальной повседневной езды нужно всё же решить проблему с долгой инициализацией шагового РХХ при включении зажигания. Даже если ускорять/замедлять моторчик при парковке.
Можно, конечно, тупо парковать РХХ при каждом отключении питания, а не при включении (при наличии управления питанием EFI_MAIN_RELAY_CONTROL). Но это не так интересно.
Вместо этого я хочу рассмотреть другой вариант:
- при отключении питания сохранять в настройках значение текущего положения РХХ и счётчик выключений (инкрементируем каждый раз);
- если счётчик выключений превысил некий порог (скажем, 10 раз), то при отключении мы паркуем РХХ в ноль (если включено управление питанием, а если нет - парковать при включении), сбрасываем счётчик плюс значение текущего положения, и сохраняем их;
- а при включении питания просто выставляем в нужное положение относительно последнего запомненного значения в настройках!
- можно также предусмотреть режим насильной реинициализации (с парковкой) при включении зажигания - скажем, при нажатой педали газа, как при продувке цилиндров (тогда тоже сбрасываем значения и сохраняем).
Для этой цели нужно хранилище для записи этих двух настроек (грубо говоря, два-три байта). Но не хочется каждый раз при отключении зажигания дёргать основное хранилище настроек во флеше. Или это не страшно?..
Как вариант, можно, наконец, задействовать энергонезавимый backup SRAM в STM32 и резервное питание с батарейки... (Тем более, что туда можно дампить и текущее состояние триггеров для более быстрого поиска синхрометок при кранкинге)
Кто что думает?
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

Re: Парковка шагового РХХ

Post by andreika »

Вдогонку: там вроде бы в RTC наших STM32 есть специальные резервные регистры: RTCD1.rtc->BKP0R..BKP19R. И их тоже можно использовать вместо SRAM, и тогда будет экономия потребления с батарейки резервного питания, поскольку не нужно дополнительно включать блок SRAM (STM32_BKPRAM_ENABLE). Двадцать 32-битных регистров - это 80 байт, что может быть достаточно для наших нужд! При резете инициализируются в ноль, что тоже хорошо.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Парковка шагового РХХ

Post by AndreyB »

andreika wrote:при отключении питания сохранять в настройках
для сохранения во флеше нужно три секунды питания, значит питать ЭБУ от ключа зажигания уже не получится - появится требование более сложной проводки и реле и так далее. Это по-моему всё усложняет.

Я бы фокусировался на вариантах с BKPRAM или RTCD1.rtc->BKP0R..BKP19R. В эти регистры нельзя банально писать при каждой смене положениея шаговика?
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
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

Re: Парковка шагового РХХ

Post by andreika »

russian wrote:В эти регистры нельзя банально писать при каждой смене положениея шаговика?
Вроде можно. Для этого должна быть снята защита от записи в бэкап: PWR_CR_DBP. И в hal_lld_backup_domain_init() это как раз делается, причём говорится, что "Backup domain access enabled and left open." Т.е., по идее, регистры доступны для записи всегда. И чтения тоже, само собой. Сама память очень быстрая (сравнимая со штатной ОЗУ), так что проблем быть не должно.
User avatar
AndreyB
Site Admin
Posts: 14292
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
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

Re: Парковка шагового РХХ

Post by andreika »

russian wrote:тогда нужна какая-то логика проверики, что в регистрах на старте не случайный ноль, а позиция шаговика? Тогда можно программировать? :)
Да, запросто: просто писать туда (позиция+1). Программировать можно, если нет возражений по функционалу/алгоритму. Займусь этим на днях.

P.S. В соседнюю ветку по регулятору ХХ тоже заглядывай плз... :roll:
Post Reply