Чт мар 27, 2014 12:19:01
Чт мар 27, 2014 12:54:03
Reciprocal counting - http://www.spectracomcorp.com/Desktopmodules/Bring2Mind/DMX/Download.aspx?EntryId=446&PortalId=0Reprocical counter.
Чт мар 27, 2014 15:10:31
ut1wpr писал(а):Reciprocal counting - http://www.spectracomcorp.com/Desktopmodules/Bring2Mind/DMX/Download.aspx?EntryId=446&PortalId=0Reprocical counter.
Чт мар 27, 2014 15:13:09
Чт мар 27, 2014 17:15:55
Это с точностью +-10Гц?HHIMERA писал(а):4 знака...
Пт мар 28, 2014 14:22:20
Пт мар 28, 2014 15:10:27
Пт мар 28, 2014 15:31:05
Пт мар 28, 2014 17:06:34
Потому что в 0 сбрасывается по событию Update Generation от TIM1. TIM4 считает фронты.akl писал(а):Почему TIM4.CNT считает с 1, а не с 0?
Без сомнений. New frequency counting principle improves resolution 3.Reciprocal counting.HHIMERA писал(а):А это точно... Reciprocal counter???
Пт мар 28, 2014 17:39:51
Пт мар 28, 2014 17:55:33
HHIMERA писал(а):Это НЕ Reciprocal counter!!!
Должно быть так...
Finput = (Fref * Ninput) / Nref
где Ninput количество входных периодов за определённое время... а Nref - количество референсных периодов за это же время...
Пт мар 28, 2014 18:30:28
Пт мар 28, 2014 23:56:12
Сб мар 29, 2014 04:35:05
Сб мар 29, 2014 10:34:30
akl писал(а):при Fo=168МГц время измерения будет 16'800 тактов, по окончании которых будет последний активный фронт Fx.
Пн мар 31, 2014 09:43:40
Пн мар 31, 2014 10:42:54
Наверное картинка одному мне понятна потому как я ее рисовалЛеонид Иванович писал(а):Ну так я же не разбираюсь в STM32, поэтому прочитать программу не могу По временной диаграмме тоже ничего не понятно. Если бы было описание словами, что делаем шаг за шагом, я бы вынес вердикт.
1. исп-ся 2 таймера в связке.Леонид Иванович писал(а):P.S. Посмотрел немножко программу. Если по каждому фронту входного сигнала генерируется прерывание, так вообще таймера 4 не нужно, входные периоды можно считать программно. Такой частотомер реализуется на чем угодно, был бы только аппаратный захват таймера. Но такой вариант неинтересен, должна быть возможность измерять частоты до 1/2 Fclk.
void TIM1_UP_TIM10_IRQHandler(void)
{
TIM1->SR = ~TIM_IT_Update; // сброс флага TIM1_Update
freqW = HClkFreq * (impCount-1) / TIM1 -> CCR1;
}
Пн мар 31, 2014 10:51:22
ага. вон какую петицию накатал...HHIMERA писал(а):Дык... ща ЛИ нарисуется... проведёт экспертизу метОды... и вынесет вердикт... мне лень...
Пн мар 31, 2014 11:37:38
kybin писал(а):2. прерывание по фронту генерируется для расчета длительности каждого импульса. Забивания их в массив. Вычисления ср. арифметического. Это пережиток прошлых вариаций. Его нужно убрать.
и сделать так:...
Пн мар 31, 2014 12:26:44
kybin писал(а):HHIMERA, а что насчет tизм ~= 100 мкс?
вон какую петицию накатал...