Сколько нужно таймеров и их каналов (Timers and channels)
Moderator: STC
-
- LQFP144 - On Top Of The Game
- Posts: 553
- Joined: Sun Nov 06, 2011 9:20 pm
- Location: Russia, Yekaterinburg
- Contact:
Re: Сколько нужно таймеров и их каналов
Можно и stm32f4xxxx, в данном случае разницы нету, нам же не DSP от камня надо а переферию и достаточнуб вычеслительную мощность. stm32f100 не устраивает именно своей переферией. stm32f4xxxx стоит довольно дорого и в наличии практически нет.
В общем сейчас разрабатываем под stm32f103V, потом если надо будет без проблем переползем на четвертую линейку благо совместимость по пинам практически полная.
В общем сейчас разрабатываем под stm32f103V, потом если надо будет без проблем переползем на четвертую линейку благо совместимость по пинам практически полная.
-
- QFP80 - Contributor
- Posts: 80
- Joined: Mon Mar 28, 2011 10:30 am
- Location: Russia, Voronezh
- Contact:
Re: Сколько нужно таймеров и их каналов
аналогичный бы подсчет по входам - у ст для большого количества входных аналоговых сигналов развитие кортекса-м4 stm32f3nikll wrote:Можно и stm32f4xxxx, в данном случае разницы нету, нам же не DSP от камня надо а переферию и достаточнуб вычеслительную мощность. stm32f100 не устраивает именно своей переферией. stm32f4xxxx стоит довольно дорого и в наличии практически нет.
В общем сейчас разрабатываем под stm32f103V, потом если надо будет без проблем переползем на четвертую линейку благо совместимость по пинам практически полная.
но если внимательно подсчитать и по входам хватит 103 семейства, особенно если в 144 ножечном варианте - то да.
-
- QFP80 - Contributor
- Posts: 71
- Joined: Sat Dec 03, 2011 1:28 pm
- Location: Russia, Velikiy Novgorod
- Contact:
Re: Сколько нужно таймеров и их каналов (Timers and channels
Разве для накопления с перекрытием не достаточно одного таймера? Даже если есть перекрытие фаз накопления, сами события начала накопления разнесены на время такта (180 градусов для 4 цил.) и при этом они не могут за такт поменять своё положение на такое большое значение. Правда портами придётся управлять программно.
Re: Сколько нужно таймеров и их каналов (Timers and channels
Верно. Причем для накопления энергии вообще таймер не нужен, достаточно определять для каждой катушки номер зуба, на котором включится коммутатор на накачку. А таймер один нужен на любое количество катушек с байтом или словом идентификации канала, в котором произойдет искра в ближайший момент.Sergey89 wrote:Разве для накопления с перекрытием не достаточно одного таймера? Даже если есть перекрытие фаз накопления, сами события начала накопления разнесены на время такта (180 градусов для 4 цил.) и при этом они не могут за такт поменять своё положение на такое большое значение. Правда портами придётся управлять программно.
-
- QFP80 - Contributor
- Posts: 71
- Joined: Sat Dec 03, 2011 1:28 pm
- Location: Russia, Velikiy Novgorod
- Contact:
Re: Сколько нужно таймеров и их каналов (Timers and channels
Не все коммутаторы имеют функцию ограничения тока, поэтому нужно как можно более точно выставлять фазу накопления. И к зубьям я бы вообще не стал привязывать события, если есть желание сделать более универсальную систему и поддерживать различные датчики положения.
- russian
- LQFP112 - Up with the play
- Posts: 154
- Joined: Fri Feb 01, 2013 4:18 pm
- Location: Jersey City, USA
Re: Сколько нужно таймеров и их каналов (Timers and channels
Подолью немного масла в огонь: а я считаю, что достаточно одного таймера 1MHz - и дальше дёргать пины из обработчика этого таймера програмно. Я запускал тесты именно на эту тему и получаил <2uS точность на 10ти одновременных каналах разной частоты - мои замеры http://rusefi.com/forum/viewtopic.php?f=5&t=2
Re: Сколько нужно таймеров и их каналов (Timers and channels
Можно даже таймером на 100 кГц. Не нужны в инжекторе точности более 10uS!
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Сколько нужно таймеров и их каналов (Timers and channels
Позволю себе не согласиться. Шкивы бывают разные, есть и 16 зубьев и меньше. Прийдется ставить большие радиаторы на транзисторы чтобы компенсировать лишнее время открытого транзистора. Поэтому это справедливо только с оговоркой, например 60 зубьев.достаточно определять для каждой катушки номер зуба, на котором включится коммутатор на накачку.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Сколько нужно таймеров и их каналов (Timers and channels
Согласен. Просто шкивы 60-2 встречаются в подавляющем большинстве. Если импульсов меньше, то на накачку можно использовать программный таймер достаточно низкого разрешения (например 100 мксек) и в нем организовать обработку любого числа катушек.
- Seaman
- TO92 - Vaguely active
- Posts: 2
- Joined: Mon Dec 16, 2013 4:32 pm
- Location: Sevastopol, Ukraine
- Contact:
Re: Сколько нужно таймеров и их каналов (Timers and channels
Если речь идёт о STM32, то почему не реализовать программную модель системы на ОСРВ (RTOS), тем более, что ARM-ядро заточено под ОСи? Объёмы памяти и быстродействие даже F10X-ых камней позволили бы выделить для каждой форсунки отдельный процесс управления, который мог бы по событию (флагу) открывать и закрывать свою форсунку с точностью до 0,1 мс (зависит от частоты срабатывания SysTick, можно сделать и меньше), а также формировать ШИМ-сигнал на любой ноге контроллера, имитируя Peak-And-Hold.
Насчёт катушек зажигания, думаю, тоже можно продумать, как грамотно формировать опережение зажигания и накопление заряда, отталкиваясь от номера зуба КВ. В большинстве ОСей доступно до 32 пользовательских процессов. То есть, 8 форсунок и 8 катушек зажигания на 72 МГц любой M3-кортекс, теоретически, должен переварить без напряга. И ещё 16 процессов останется для других нужд. И всё это, грубо говоря, на 1 системном таймере SysTick. Конечно, его разрешение невелико по сравнению со штатными таймерами, которые могут обрабатывать очередь из кучи событий по совпадению.
Сильно не пинайте новичка Только начал разбираться в алгоритмах управления двигателем, но микроконтроллерами занимаюсь достаточно давно. Так что, критикуйте, если не прав. Но не пойму пока, зачем нужна такая куча таймеров и каналов. Как мне кажется, если не все, то большинство системных задержек, не требующих точности меньшей, чем период срабатывания таймера SysTick, можно было бы повесить на этот таймер. А остальные формировать на остальных аппаратных таймерах. И вообще, ИМХО, если используется STM32, то рулить системой управления двигателем на нём красивее из-под RTOS
Насчёт катушек зажигания, думаю, тоже можно продумать, как грамотно формировать опережение зажигания и накопление заряда, отталкиваясь от номера зуба КВ. В большинстве ОСей доступно до 32 пользовательских процессов. То есть, 8 форсунок и 8 катушек зажигания на 72 МГц любой M3-кортекс, теоретически, должен переварить без напряга. И ещё 16 процессов останется для других нужд. И всё это, грубо говоря, на 1 системном таймере SysTick. Конечно, его разрешение невелико по сравнению со штатными таймерами, которые могут обрабатывать очередь из кучи событий по совпадению.
Сильно не пинайте новичка Только начал разбираться в алгоритмах управления двигателем, но микроконтроллерами занимаюсь достаточно давно. Так что, критикуйте, если не прав. Но не пойму пока, зачем нужна такая куча таймеров и каналов. Как мне кажется, если не все, то большинство системных задержек, не требующих точности меньшей, чем период срабатывания таймера SysTick, можно было бы повесить на этот таймер. А остальные формировать на остальных аппаратных таймерах. И вообще, ИМХО, если используется STM32, то рулить системой управления двигателем на нём красивее из-под RTOS