Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: STM32 - частотомер.

Сб ноя 24, 2012 18:53:53

akl писал(а): Попробуйте, например, сформировать интервал измерения 1,(0) сек при имеющемся кварце 10'003'857,197Гц. По "методу захвата" такой кварц запросто подойдет.

Мне бы очень хотелось увидеть кварц с такой маркировкой. С учетом, что стабильность кварцев в лучшем случае 10-8 (термостабилизация и т.п., т.е. это уже не просто кварц, а целый модуль) - если и увижу, так просто запишу в разряд "очередное фуфло для ламеров". Т.е. приведенный пример - мягко говоря не аргумент.

Re: STM32 - частотомер.

Сб ноя 24, 2012 19:09:20

SergeBS писал(а):2 способ - обратный. Фиксируется КОЛИЧЕСТВО измеряемых периодов. Считается время, за которое это количество прошло. Отношение количества периодов (ФИКСИРОВАННОГО) к времени измерения (ПЕРЕМЕННОМУ) - частота.

Зачем, используя МК, фиксировать количество измеряемых периодов? Только для того, что бы реализовать "классический" вариант?
Есть адаптивный вариант - в зависимости от полученного количества импульсов эталонной частоты, меняется количество измеряемых периодов. И точность измерения при этом практически постоянна для любой входной частоты.

Re: STM32 - частотомер.

Сб ноя 24, 2012 19:36:57

U235 писал(а):Зачем, используя МК, фиксировать количество измеряемых периодов?

А прочитать ВСЮ ветку - религия не позволяет? Намек: с этим вопросом - не ко мне.

Re: STM32 - частотомер.

Сб ноя 24, 2012 20:21:07

SergeBS писал(а):У 2 способа фиксировать время измерения по самому его определению (измеряется период) невозможно.


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

SergeBS писал(а):Самое "смешное" - рассуждения о 10-12 цифровом разрешении и НИ СЛОВА, а где найдется источник опорного сигнала с такой стабильностью (10-10..10-12).


Это разрешение прибора, выраженное в единицах "разрядов в секунду". Никто и не говорит об абсолютной точности. Чем больше разрешение, тем меньший измерительный интервал можно установить для получения заданной точности.

Re: STM32 - частотомер.

Сб ноя 24, 2012 21:26:59

Леонид Иванович писал(а):Как для способа 1, так и для способа 2 фиксируется как раз время измерения. А периодов входной частоты может быть разное количество - сколько влезет в интервал. Понятное дело, для метода 2 измерительный интервал округляется до целого числа периодов входной частоты.

Опять 25. Для 2 способа НИКАКОЙ фиксации времени измерения быть не может. Поскольку именно ВРЕМЯ измеряется, по определению этого способа. И всякие "округления измерительного интервала" - из рубрики "кошка вертит хвостом или хвост кошкой". Выбирается (фиксируется) количество измеряемых периодов, поскольку больше ничего выбрать нельзя. И оно конечно КОСВЕННО влияет на время измерения. Но все равно время измерения определяется периодом входного сигнала. Не надо зря запутывать совершенно простые вещи. Адаптация количества измеряемых периодов для получения приемлемого диапазона времени измерения и фиксация времени измерения - это две большие разницы.
"На пальцах": измеряем в диапазоне 1..10 Гц. Задаем количество периодов - 1. Получаем время измерения от 1 до 0.1 сек. Для 10..100 Гц можем выбрать количество - 10. И опять получим от 1 до 0.1 сек. Можно как угодно мудрить с выбором этого количества периодов, но время измерения все равно останется пропорциональным периоду сигнала, соответственно НИКОГДА фиксированным не будет.
И наоборот, для 1 способа можно выбирать (фиксировать) время измерения для получения приемлемой точности - приемлемого количества посчитанных периодов. И тут уже НИКАКОЙ фиксации количества быть не может. Поскольку именно количество и считается. По самому определению способа.

Re: STM32 - частотомер.

Сб ноя 24, 2012 22:17:54

Имелось ввиду следующее... если не ошибаюсь...
Классический метод
метод_1.PNG
(5.07 KiB) Скачиваний: 1343

Reciprocal counting
метод_2.PNG
(8.19 KiB) Скачиваний: 1331

Re: STM32 - частотомер.

Вс ноя 25, 2012 00:37:14

SergeBS писал(а):"На пальцах": измеряем в диапазоне 1..10 Гц. Задаем количество периодов - 1. Получаем время измерения от 1 до 0.1 сек.


Нет, никто количество периодов не задает. А задают именно измерительный интервал. Если Вы ни разу не видели частотомера, работающего по этому принципу, так хоть скачайте мануал (например, на SR620). Там увидите, что задается именно время измерения (Gate).

Re: STM32 - частотомер.

Вс ноя 25, 2012 10:27:54

SergeBS писал(а):Мне бы очень хотелось увидеть кварц с такой маркировкой. С учетом, что стабильность кварцев в лучшем случае 10-8 (термостабилизация и т.п., т.е. это уже не просто кварц, а целый модуль) - если и увижу, так просто запишу в разряд "очередное фуфло для ламеров". Т.е. приведенный пример - мягко говоря не аргумент.
Это не маркировка, а реальное значение генерации системы контроллер(AT90S2313) - кварц(маркировка "10000 кГц") на момент измерения.
SergeBS писал(а):2 - обратный способ. Меряется длительность импульса, а частота определяется как обратная величина.
Считаем, за какое время пройдет выбранное количество импульсов.

SergeBS писал(а):Фиксируется КОЛИЧЕСТВО измеряемых периодов. Считается время, за которое это количество прошло. Отношение количества периодов (ФИКСИРОВАННОГО) к времени измерения (ПЕРЕМЕННОМУ) - частота...Получаем - чтобы иметь фиксированное время измерения надо знать период измеряемой частоты и изменять количество измеряемых периодов.
Это Ваша ошибка в понимании метода "захвата" ("вычислительного метода", "обратного счета", "Reciprocal counting"). Время измерения задается примерно!!!, т.к. в выражение для расчета частоты этим методом оно не входит и может выбираться произвольно, исходя из требуемых параметров.
Fx=Fo*Nx/nox, где
Fx - измеряемая частота
Fo - опорная частота, которая должна быть известна с максимальной точностью (именно частоту 10'003'857,197Гц, полученную мною закладываю в выражение, а не то, что отмаркировано на корпусе.)
Nx - целое число периодов измеряемой частоты за время измерения
nox - целое число периодов опорной частоты за время прохождения Nx
Далее принимаем произвольно удобное для работы время измерения . Накладываем условие, что после окончания времени измерения счетчик nox будет остановлен только по окончании текущего периода Nx.
В конкретных числах результаты по этому методу можно посмотреть в старой ветке, где уважаемый =GM= объяснял реализацию этого метода, правда на AVR. Здесь, буквально на днях, приведен документ, являющийся выжимкой из самого начала этой ветки.
SergeBS писал(а):Самое "смешное" - рассуждения о 10-12 цифровом разрешении и НИ СЛОВА, а где найдется источник опорного сигнала с такой стабильностью (10-10..10-12). "В каждый частотомер - водородный эталон!" Пустяк вопрос - вшивые сто баксов
Вы все время путаете методологию с особенностями практической реализации.

Re: STM32 - частотомер.

Вс ноя 25, 2012 18:11:57

SergeBS писал(а):Вот не пойму, причем тут STM32?
...


Не обращайте внимания.
Типичная попытка натянуть задачу на камень. (Не моё).

Re: STM32 - частотомер.

Вс ноя 25, 2012 19:42:13

"Если натягивают - значит это кому-то нужно!" (С)
:))
http://we.easyelectronics.ru/STM32/chas ... mment87310

Re: STM32 - частотомер.

Вс ноя 25, 2012 19:49:03

akl писал(а): Это не маркировка, а реальное значение генерации системы контроллер(AT90S2313) - кварц(маркировка "10000 кГц") на момент измерения.

10'003'857,197 Гц - Точность 10-11? Ну-ну. Не буду спрашивать чем мерялось. Предложу всего лишь ознакомиться насколько РЕАЛЬНА такая точность (стабильность!) применительно к кварцам. И прикинуть, насколько это значение "уплывет" за время измерения. Если например рядом рукой помахать :). Про стабильность питания и прочее - можно промолчать. По моим прикидкам корректно бы было это значение записать в виде 100'038*10+2. Не лучше.

akl писал(а):Это Ваша ошибка в понимании метода "захвата" ("вычислительного метода", "обратного счета", "Reciprocal counting"). Время измерения задается примерно!!!, т.к. в выражение для расчета частоты этим методом оно не входит и может выбираться произвольно, исходя из требуемых параметров.

Ну так давайте различать ФИКСИРОВАННОЕ время измерения, и заданное ПРИМЕРНО, исходя из точности и т.п. Что я и объяснял: нет фиксированного времени измерения. Ежели это время зависит от измеряемой частоты, то оно НИКАК фиксированным быть не может. Чья ошибка? Кто излагал, что время измерения - постоянно (фиксировано)? НЕ Я.

akl писал(а):Далее принимаем произвольно удобное для работы время измерения . Накладываем условие, что после окончания времени измерения счетчик nox будет остановлен только по окончании текущего периода Nx.

"Что и требовалось доказать". Есть заданное (фиксированное) время измерения и "довесок" к этому времени - ожидание окончания текущего периода. Вроде как спор уже опять не со мной. Я формулировал только другими словами - что время измерения определяется количеством измеряемых периодов, которое можно выбирать. Но фиксированным это время ГАРАНТИРОВАННО не будет. И произвольно выбирать время - не нужно. Достаточно задать количество измеряемых периодов и все произойдет само собой. Как нетрудно догадаться, меньше 1 оно быть не может. А дальше относительная точность измерения определяется по отношению периодов эталонной и измеряемой частоты, при ее недостатке - увеличивается количество измеряемых периодов. Все. И никаких произвольностей.
И опять приходим к тому же: чем выше частота сигнала, тем ниже точность. И эта точность повышается увеличением количества измеряемых периодов. Мудрить-то зачем? Все достаточно просто. Ну обозвали этот способ "Reciprocal counting", и что? Сущность его от этого не изменилась.

akl писал(а):
SergeBS писал(а):Самое "смешное" - рассуждения о 10-12 цифровом разрешении и НИ СЛОВА, а где найдется источник опорного сигнала с такой стабильностью (10-10..10-12). "В каждый частотомер - водородный эталон!" Пустяк вопрос - вшивые сто баксов
Вы все время путаете методологию с особенностями практической реализации.

А кому нужна НЕРАБОТАЮЩАЯ методология? Ну увидел я 13 цифр результата. Но если реально значащих 9 - зачем мне 4 лишних? "Сферический конь в вакууме"? Можно и 20 цифр получить без придумывания всяких "новых" методологий. Но если посмотреть внимательно - автор-то "Marketing and Sales Manager". Рекламщик, короче. Вот и весь секрет. И "современных" методов, и "13-разрядных" разрешений, из которых 8-9 реальных разрядов.
Реально для увеличения точности измерения нужен в первую очередь высокоточный стабильный эталон, а остальное преодолимо.

Re: STM32 - частотомер.

Вс ноя 25, 2012 20:07:12

Леонид Иванович писал(а):А задают именно измерительный интервал. Если Вы ни разу не видели частотомера, работающего по этому принципу, так хоть скачайте мануал (например, на SR620). Там увидите, что задается именно время измерения (Gate).

"Спасибо, я пешком постою". Статья рекламщика была - выяснилось, что измерительный интервал НЕ ФИКСИРОВАН. Подстраивается под период, т.е. задают ПО ФАКТУ именно количество периодов. И если оно не влезает - интервал увеличивают. Этим, кстати, объясняется появление слова Gate. "Ширше ворота раздвигай - не пролазит" :). Иначе бы было interval.
Теперь мне предлагается найти мануал, в котором написано обратное. Ну уж нет. Не найду. Почему - еще раз объяснять надо? Найдете - покажите. Почитаю. Ежели опять ..., то снова ... :)

Re: STM32 - частотомер.

Вс ноя 25, 2012 20:32:00

HHIMERA писал(а):"Если натягивают - значит это кому-то нужно!" (С)
:))
http://we.easyelectronics.ru/STM32/chas ... mment87310

"порог переглючения компаратора" - роскошно!

Re: STM32 - частотомер.

Пн ноя 26, 2012 00:55:42

HHIMERA писал(а):"Если натягивают - значит это кому-то нужно!" (С)
http://we.easyelectronics.ru/STM32/chas ... mment87310


Там прямой счет, насколько я понял.

SergeBS писал(а):Теперь мне предлагается найти мануал, в котором написано обратное. Ну уж нет. Не найду. Почему - еще раз объяснять надо? Найдете - покажите. Почитаю. Ежели опять ..., то снова ... :)


Если нет желания что-то изучать, то никто Вас не заставит. А я себе частотмер уже сделал, нет повода дальше заниматься этой проблемой. http://www.youtube.com/watch?v=VNKCnef-ynU

Re: STM32 - частотомер.

Пн ноя 26, 2012 18:23:30

Леонид Иванович писал(а):Там прямой счет, насколько я понял.

По большому счёту... какая разница...
Если нет желания что-то изучать, то никто Вас не заставит.

Здесь, скорее, вопрос не столько в желании, сколько в целесообразности...
Частотомер на STM32 получается легко и непринуждённо во всей линейке... делов - 2-3 свободных таймера...
Да, прямой счёт... зато используя, попутно, PWM Input Mode можно одновременно и длительность, и период на низких частотах получить...
Да, половина от частоты тактирования максимум... зато можно "Без шума и пыли"(С) встроить, при желании, в любой девайс на основе STM32... что уже тяжеловато сделать, согласитесь, в ПИКах и АТМЭЛах...
Дальше всё уже зависит от хотелок... хоть 4,3" дисплей с тачскрином навешивай... :))
А я себе частотмер уже сделал, нет повода дальше заниматься этой проблемой.

Я себе ещё в 1983г. на 155-ой простенький, настольный, сделал... до сих пор работает...
А вот мультиметр, я был в первых рядах по изготовлению сего чуда, на 572ПВ2 давно выкинул... сейчас проще пойти и купить китайский...

Re: STM32 - частотомер.

Пн ноя 26, 2012 22:39:08

HHIMERA писал(а):Здесь, скорее, вопрос не столько в желании, сколько в целесообразности...


Если потребности нет, так и вопроса нет.

HHIMERA писал(а):Я себе ещё в 1983г. на 155-ой простенький, настольный, сделал... до сих пор работает...


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

Re: STM32 - частотомер.

Пн ноя 26, 2012 23:04:52

Леонид Иванович писал(а):
HHIMERA писал(а):Здесь, скорее, вопрос не столько в желании, сколько в целесообразности...

Если потребности нет, так и вопроса нет.

Вот именно... ни потребности, ни целесообразности...
Глянул по таймерам в даташите... Reciprocal counting и на STM32 легко осуществляется... без довесов...
Вопрос - а кто делать то будет???
Я подобные тоже делал, но что про них вспоминать - примитив. Чтобы конструкцию обсуждать, должна быть в ней какая-то изюминка.

А нет конструкции в данной теме... обсуждаем только теорию "STM32 - частотомер."... и изюминки... :))

Re: STM32 - частотомер.

Вт ноя 27, 2012 00:17:52

HHIMERA писал(а):Глянул по таймерам в даташите... Reciprocal counting и на STM32 легко осуществляется... без довесов...


Вы уверены? На голом AVR, например, это получается только при программном счете входных импульсов в прерывании по захвату. При этом максимальная частота получается порядка 0.5 МГц. Если входные импульсы считать другим таймером, то нужна внешняя логика, чтобы сформировать Gate. Как в STM32 синхронно разрешить и запретить счет входных импульсов и импульсов заполнения?

Re: STM32 - частотомер.

Вт ноя 27, 2012 01:54:59

Леонид Иванович писал(а):Вы уверены?

На 99% ... :))
На STM32F0xx, STM32F2xx и STM32F4xx Reciprocal Counting точно получится...
У этих есть один 32bit таймер... другой можно набрать из двух других...
Может и на STM32F1xx найдётся решение... сильно не вникал...
На голом AVR, например, это получается только при программном счете входных импульсов в прерывании по захвату.

STM32 не AVR... увы...
Я уже описывал решение для прямого счёта... никаких прерываний...
Для Reciprocal Counting понадобится PWM input mode, PWM mode/One-pulse mode (Gate) и Slave timer in Gated mode... никаких прерываний...

Re: STM32 - частотомер.

Ср ноя 28, 2012 12:11:23

До освоения STM32 мне как до Луны. Но если там с таймерами всё так хорошо, то завидую.
Ответить