singlskv 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба Хотел ответить в одном сообщении, да больно тематика постов разная(:-). Вопрос в другом, как мерять импульсы и интервалы между ними от 1 мкс и выше? Есть предложения(:-)?Для этого Найдите форум полных извращенцев :) А в чем проблема мерить импульсы длительностью от 1 такта ? :blink: Цепляем сигнал к двум таймерам (Timer1 и Timer3 на Mega128) одновременно, один ловит фронт другой спад :) Пошел искать форум полных извращенцев ... Не надо никуда ходить. Если импульсы идут с периодом в 1 мкс, на втором импульсе ваша система заткнется, не успеет переварить(:-). Заметьте, я говорил только про импульсы а не про ИНТЕРВАЛЫ между ними. Очевидно что такая система заткнется и при интервалах между импульсами в 30-40 тактов, так как просто не будет успевать обработать полученные данные. А вот для одиночных импульсов с достаточно большими промежутками между ними, такая система (с двумя таймерами) вполне работоспособна. А вообще, хочу вас, коллеги, огорчить(:-(. Весь сыр-бор разгорелся из-за вопроса, можно ли измерить секундный интервал с точностью 1 мкс, используя 1МГц атмегу. Так вот ответ неутешительный: НЕЛЬЗЯ! Максимальная ошибка равна ПЛЮС-МИНУС ОДНА микросекунда, что в итоге составляет 2 мкс. Правы были товарищи, которые говорили нельзя, а мы не поверили коллективному разуму(:-(. Ну это вообщем-то правда точность действительно +-1 мкс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 23 октября, 2006 Опубликовано 23 октября, 2006 (изменено) · Жалоба Уйду я от вас. ##пые вы :-( Кто сказал 2 мкс ??? На самом деле для любого изменения состояния ошибка 0..1 мкс. Не может захват сработать раньше прихода строба!!! А вот уже для двух изменений будет +-1. Это именно запрашиваемая точность. И вообще, категоричность - признак ##пости. Изменено 23 октября, 2006 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба singlskv Заметьте, я говорил только про импульсы а не про ИНТЕРВАЛЫ между ними. Очевидно что такая система заткнется и при интервалах между импульсами в 30-40 тактов, так как просто не будет успевать обработать полученные данные. А вот для одиночных импульсов с достаточно большими промежутками между ними, такая система (с двумя таймерами) вполне работоспособна. Для пачки (порядка 100-200-300) коротких импульсов время обработки можно снизить до 10 тактов, но это все же не 1 такт(:-(. GM А вообще, хочу вас, коллеги, огорчить(:-(. Весь сыр-бор разгорелся из-за вопроса, можно ли измерить секундный интервал с точностью 1 мкс, используя 1МГц атмегу. Так вот ответ неутешительный: НЕЛЬЗЯ! Максимальная ошибка равна ПЛЮС-МИНУС ОДНА микросекунда, что в итоге составляет 2 мкс. Правы были товарищи, которые говорили нельзя, а мы не поверили коллективному разуму(:-(. singlskv Ну это в общем-то правда точность действительно +-1 мкс Так шта-а, всем учить матчасть(:-). И мне в том числе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба Уйду я от вас. ##пые вы :-( Кто сказал 2 мкс ??? На самом деле для любого изменения состояния ошибка 0..1 мкс. Не может захват сработать раньше прихода строба!!! А вот уже для двух изменений будет +-1. Это именно запрашиваемая точность. И вообще, категоричность - признак ##пости. Ну дык я и имел в виду для двух измерений: от фронта до спада точность +-1. singlskv Заметьте, я говорил только про импульсы а не про ИНТЕРВАЛЫ между ними. Очевидно что такая система заткнется и при интервалах между импульсами в 30-40 тактов, так как просто не будет успевать обработать полученные данные. А вот для одиночных импульсов с достаточно большими промежутками между ними, такая система (с двумя таймерами) вполне работоспособна. Для пачки (порядка 100-200-300) коротких импульсов время обработки можно снизить до 10 тактов, но это все же не 1 такт(:-(. ИМХО Для одиночного единичного импульса можно определять длительности от 1 такт, но с точностью +-1 такт. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба GetSmart Уйду я от вас. ##пые вы :-( Ну куда вы пойдете, зачем? В пустыню, ##трый вы наш(:-)? Там вам АВР быстро $йца открутит, он всех оттуда распугал, неохота даже заходить(:-) GetSmart Кто сказал 2 мкс ??? На самом деле для любого изменения состояния ошибка 0..1 мкс. Не может захват сработать раньше прихода строба!!! А вот уже для двух изменений будет +-1. Это именно запрашиваемая точность. И вообще, категоричность - признак ##пости. Ну я сказал 2 мкс, и что? И не категорично совсем, всё подлежит обсуждению, чтобы все стороны пришли к консенсусу(:-). Вот представьте себе, вам надо отмерить 100 см рейку, а линейка ваша дает точность +-1 см. У вас рейки будут от 99 см до 101 см, т.е. 2 см разницы, так же и во времени, только в микросекундах. А насчет раньше или позже, возьмите два таймера по singlskv, один фиксирует фронт, другой - спад. Представьте себе вот две ситуации. 1) 100.001 мкс - фронт, 102.999 мкс - спад, измерится как 2 мкс, реальная длина - 3 мкс. 2) 100.999 мкс - фронт, 102.001 мкс - спад, измерится как 2 мкс, реальная длина - 1 мкс. Как видим, по результату измерения вы НЕ можете сказать, что реальная длина импульса лежит в пределах микросекунды, то есть от 1.5 мкс до 2.5 мкс. Вот и весь фокус. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба Ну дык я и имел в виду для двух измерений: от фронта до спада точность +-1. А чего поддакивали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба 1) 100.001 мкс - фронт, 102.999 мкс - спад, измерится как 2 мкс, реальная длина - 3 мкс. 2) 100.999 мкс - фронт, 102.001 мкс - спад, измерится как 2 мкс, реальная длина - 1 мкс. Как видим, по результату измерения вы НЕ можете сказать, что реальная длина импульса лежит в пределах микросекунды, то есть от 1.5 мкс до 2.5 мкс. Вот и весь фокус. Если точность +-1 такт проца, то усё в порядке. Вы бы лучше поведали нам про 0.5-тактовую точность. Может я бы и остался ещё ненадолго тута. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба Ну дык я и имел в виду для двух измерений: от фронта до спада точность +-1. А чего поддакивали? Кажеться мы сейчас все говорим об одном и том же, просто возникли непонятки в терминах =GM= считает что 2 такта это точность, но ИМХО это называется как-то по другому, а точность она всегда +-. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба Вы бы лучше поведали нам про 0.5-тактовую точность. Может я бы и остался ещё ненадолго тута. Присоединяюсь. Ну даже если Вы поняли что эта идея неосуществима, поделитесь хотя бы в какую сторону были мысли. Компаратор ? или что еще ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 23 октября, 2006 Опубликовано 23 октября, 2006 (изменено) · Жалоба Вы бы лучше поведали нам про 0.5-тактовую точность. Может я бы и остался ещё ненадолго тута. Присоединяюсь. Ну даже если Вы поняли что эта идея неосуществима, поделитесь хотя бы в какую сторону были мысли. Компаратор ? или что еще ... Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего, а вы говорите точность(:-). Пользуйтесь, не жалко. Идея осуществима и удваивает точность по сравнению с обычным подходом. Про точность. В обиходе, говоря точность одна единица, подразумевают +-1/2 этой самой единицы. Ну или говорят еще так, точность равна половине цены деления. Это все из одной оперы. Про время. Точность измерения одна микросекунда означает, что вы сузили рамки неопределенности длины сигнала до +-0.5 мкс. Так как-то. У нас же - в два раза больше. Кстати, точность не обязательно должна быть симметрична, она может быть -0.8..+0.3 или -0.1..+0.9. В пределе может быть 0..2. Изменено 23 октября, 2006 пользователем =GM= Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего, а вы говорите точность(:-). Пользуйтесь, не жалко. Идея осуществима и удваивает точность по сравнению с обычным подходом. ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности. Вообщем код в студию, и тогда обсудим... Про точность. В обиходе, говоря точность одна единица, подразумевают +-1/2 этой самой единицы. Ну или говорят еще так, точность равна половине цены деления. Это все из одной оперы. а что тогда используют для рассчета среднеквадратичного отклонения ? неужели максимальную ошибку(от минимума до максимума) ? Кстати, точность не обязательно должна быть симметрична, она может быть -0.8..+0.3 или -0.1..+0.9. В пределе может быть 0..2. -0,8..+0.3 понимаю, в таком случае говорят что абсолютная погрешность не более 0,8 . 0..2 для нашего случая не понимаю, в каком пределе ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба =GM= Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего singlskv ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности. Вот не хотите думать(:-). Для первой половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет пока еще 104, для второй половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет тоже 105...Ощутите разницу(:-). singlskv а что тогда используют для расчета среднеквадратичного отклонения? неужели максимальную ошибку(от минимума до максимума)? СКО=КвКОРЕНЬ (СУММА((Xi-Xсреднее)^2)/(N-1))), i =1,2,...,N. По результатам одного измерения СКО не определяется. Число N должно быть большим, 50-100 и выше. Чем больше, тем лучше, зависит от задачи, конечно. singlskv -0,8..+0.3 понимаю, в таком случае говорят что абсолютная погрешность не более 0,8...2 для нашего случая не понимаю, в каком пределе? Для нашего случая максимальная погрешность 2 мкс. Вот еще пример. Вы знаете, что был такой калибр у контролеров ОТК. Например, одна рамка должна пропускать деталь, скажем, поршень двигателя Жигуля, а вторая - нет. Ну и допуск будет такой 84.0-84.05 (вгрубе, не помню точно). Какая будет точность измерения? +-0.025 или все же 0.05? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба =GM= Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего singlskv ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности. Вот не хотите думать(:-). Для первой половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет пока еще 104, для второй половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет тоже 105...Ощутите разницу(:-). про 104/105 понял, но остались вопросы, приведите код, тогда и обсудим.... singlskv а что тогда используют для расчета среднеквадратичного отклонения? неужели максимальную ошибку(от минимума до максимума)? СКО=КвКОРЕНЬ (СУММА((Xi-Xсреднее)^2)/(N-1))), i =1,2,...,N. По результатам одного измерения СКО не определяется. Число N должно быть большим, 50-100 и выше. Чем больше, тем лучше, зависит от задачи. Не, ну конечно спасибо за ликбез. но если Вы не заметили, то среднеквадратичное отклонение зависит только от абсолютного отклонения :) ssinglskv -0,8..+0.3 понимаю, в таком случае говорят что абсолютная погрешность не более 0,8. 0..2 для нашего случая не понимаю, в каком пределе? Для нашего случая максимальная погрешность 2 мкс. ну давайте назовем это максимальным размахом погрешности :), тогда да, 2 такта.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба singlskv ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности. Вот не хотите думать(:-). Для первой половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет пока еще 104, для второй половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет тоже 105...Ощутите разницу(:-). Вот именно... не хотите думать... Говорят же, захват происходит в один и тот же момент времени для обоих таймеров, следовательно оба таймера покажут одинаковый рез-тат. Хотите "полутакт" определить - поставьте внешний D-триггер, D вход к XTAL2, C вход - к входному сигналу, т.о. в этот триггер защелкнется "полутакт". Только нафиг оно нужно?! если повысить разрешающую способность во времени можно просто увеличив тактовую, (тем паче запас есть). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 24 октября, 2006 Опубликовано 24 октября, 2006 · Жалоба Вот именно... не хотите думать... Говорят же, захват происходит в один и тот же момент времени для обоих таймеров, следовательно оба таймера покажут одинаковый рез-тат. Хотите "полутакт" определить - поставьте внешний D-триггер, D вход к XTAL2, C вход - к входному сигналу, т.о. в этот триггер защелкнется "полутакт". Только нафиг оно нужно?! если повысить разрешающую способность во времени можно просто увеличив тактовую, (тем паче запас есть). Ну голубчик defunct, ну подумайте сами. Да, захват происходит (и должен происходить!) в один и тот же момент времени для обоих таймеров, но СОДЕРЖИМОЕ таймеров различается, поскольку на оба таймера подается один и тот же сигнал, но первый таймер инкрементируется на переходах 0-1, а второй будет инкрементироваться на переходах 1-0. Ну а раз содержимое различается, захват это должен показать! Зачем и кому это нужно. Скажем, я хочу получить минимально возможную погрешность. Ставлю максимальную частоту 16 МГц и получаю пресловутые 2 такта погрешности, т.е. 2/16 мкс. А я хочу получить 1/16 мкс. Приведенный мной метод позволяет УДВОИТЬ точность, используя то же самое оборудование, что на мой взгляд выгодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться