Page 1 of 1

Таймеры!

Posted: Fri Oct 25, 2013 6:37 pm
by Sergey89
Больная тема :) Использовать все возможности аппаратных или сократить число используемых и расширить их функционал софтом?

Re: Таймеры!

Posted: Fri Oct 25, 2013 6:45 pm
by XDA
комбинированный подход :)
стоит использовать преимущество обоих подходов :)

Re: Таймеры!

Posted: Fri Oct 25, 2013 7:24 pm
by AndreyB
Малозначительная деталь имплементации - прячем за интерфесом "scheduleOutput(OutputSignal *signal, int delay, int dwell)" и пусть цветёт миллион садов, в смысле три разные имплементации.

см. http://rusefi.com/forum/viewtopic.php?f=5&t=10#p431

Re: Таймеры!

Posted: Sat Oct 26, 2013 7:14 pm
by nikll
+1, подход верный

Re: Таймеры!

Posted: Fri Nov 15, 2013 3:02 pm
by AndreyB
Текущий статус: есть файл-заготовка для аппаратной реализации, тикет аппаратной реализации - http://sourceforge.net/p/rusefi/tickets/6/ кому-то нужно будет запрограммировать

Re: Таймеры!

Posted: Sun Nov 17, 2013 2:18 pm
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

Re: Таймеры!

Posted: Sun Nov 17, 2013 7:20 pm
by Sergey89
Можешь пояснить, откуда ты сделал вывод про только первые 2 канала на capture? Один входной пин занимает 1 канал таймера, но не весь таймер.

Re: Таймеры!

Posted: Mon Nov 18, 2013 1:47 am
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."

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

Re: Таймеры!

Posted: Mon Nov 18, 2013 4:24 am
by Sergey89
PWM input mode != input capture. Смешивать можно, но нужно понимать что у них 1 time base, поэтому трудно использовать сразу и захват и вывод.

Я думаю, что для того чтобы обработать любой ДПКВ хватит 1 двух канального таймера. Одним каналом нужно захватывать на ножке (или считать импульсы), а во втором использовать сравнение (например, чтобы пропущенные зубья в 60-2 эмулировать).

Re: Таймеры!

Posted: Mon Nov 18, 2013 1:54 pm
by nikll
В январе для ДПКВ хватает одного однокального таймера! он просто на лету переконфигурируется прямо в прерывании, сначала по нисходящему фронту сигнала, потом наоборот, потом наступают два пропущенных зуба и он как обычный таймер генерирует прерывание.