Таймеры!

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

Таймеры!

Post by Sergey89 »

Больная тема :) Использовать все возможности аппаратных или сократить число используемых и расширить их функционал софтом?
User avatar
XDA
Posts: 441
Joined: Wed Oct 23, 2013 7:28 pm

Re: Таймеры!

Post by XDA »

комбинированный подход :)
стоит использовать преимущество обоих подходов :)
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
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 »

Малозначительная деталь имплементации - прячем за интерфесом "scheduleOutput(OutputSignal *signal, int delay, int dwell)" и пусть цветёт миллион садов, в смысле три разные имплементации.

см. http://rusefi.com/forum/viewtopic.php?f=5&t=10#p431
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
nikll
Posts: 186
Joined: Tue Oct 15, 2013 5:45 am

Re: Таймеры!

Post by nikll »

+1, подход верный
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 »

Текущий статус: есть файл-заготовка для аппаратной реализации, тикет аппаратной реализации - http://sourceforge.net/p/rusefi/tickets/6/ кому-то нужно будет запрограммировать
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
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 »

Кстати, в любом случае нужно перечислить здесь все пины, на которых таймер в принципе возможен - в виде справочной информации для разработки железа.

Я перечислю входные пины таймеров - вход может быть только на первых двух каналах каждого таймера, и как я понимаю один входной пин занимает полностью таймер (или я ошибаюсь и можно оба канала вводить в одной таймере?)

Итак:
TIM1_CH1 PA8
TIM1_CH2 PA9

TIM2_CH1 PA0 (здесь кнопка дискавери)
TIM2_CH1 PA5

TIM3_CH1 PA6
TIM3_CH1, TIM8_CH1 PC6
TIM3_CH2, TIM8_CH2 PC7

TIM4_CH1 PD12 (но тут у нас LED4)
TIM9_CH1 PE5
TIM10_CH1 PB8
TIM12_CH1 PB14 (но тут у нас SPI2)

Примерно так. Исходные данные - в STM32F4DISCOVERY User Manual
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 »

Можешь пояснить, откуда ты сделал вывод про только первые 2 канала на capture? Один входной пин занимает 1 канал таймера, но не весь таймер.
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 »

Sergey89 wrote:Можешь пояснить, откуда ты сделал вывод про только первые 2 канала на capture? Один входной пин занимает 1 канал таймера, но не весь таймер.
Про 3 и 4 - "reference manual at section 15.3.6 states this: "The PWM input mode can be used only with the TIMx_CH1/TIMx_CH2 signals due to the fact that only TI1FP1 and TI2FP2 are connected to the slave mode controller."

Можно ли одновременно ловить независимо два канала в одной таймере или можно ли ловить на первом канале, а на третьем делать что-то совсем другое типа генерации сигнала я не знаю. Просто остерегаюсь смешивать :)
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 »

PWM input mode != input capture. Смешивать можно, но нужно понимать что у них 1 time base, поэтому трудно использовать сразу и захват и вывод.

Я думаю, что для того чтобы обработать любой ДПКВ хватит 1 двух канального таймера. Одним каналом нужно захватывать на ножке (или считать импульсы), а во втором использовать сравнение (например, чтобы пропущенные зубья в 60-2 эмулировать).
nikll
Posts: 186
Joined: Tue Oct 15, 2013 5:45 am

Re: Таймеры!

Post by nikll »

В январе для ДПКВ хватает одного однокального таймера! он просто на лету переконфигурируется прямо в прерывании, сначала по нисходящему фронту сигнала, потом наоборот, потом наступают два пропущенных зуба и он как обычный таймер генерирует прерывание.
Post Reply