Цитата(=GM= @ May 21 2012, 08:34)

Какая-то постановка задачи у вас не кошерная. В правильно спроектированной системе указатели "дышат", но никогда не перегоняют друг-друга.
Разумеется. Но вы согласны, что при конечной величине буфера, и неограниченной длине передачи, переполнение рано или поздо произойдет?
Вот задача и состоит в том. чтобы выбрать макс. длину передачи, при заданном размере буфера. А оно зависит не только от размера буфера и разности частот, но и от алгоритма работы с буфером.
Цитата
Кольцевой буфер предназначен именно для выравнивания неравномерности в поступлении данных и в их обработке. Если у вас данные начинают налезать на необработанные данные, значит, вы неправильно выбрали или длину буфера, или скорость обработки, или процессор, или алгоритм...
Или вы так и не поняли условие задачи.
Скоость обработки существеннно ниже частоты поступления данных, для простоты можно принять что обработки вообще никакой нет, скорость процессора вообще ни на что не влияет, если за время между прерываниями он успевает взять данные по указателям и обработать сами указатели.
Буфер - какой есть, он его размера и алгоритма (а о алгоритме-то я в веду речь) зависит максимальная выбираемая длина передачи.
Поймите еще раз - размер буфера жестко задан, а вот длина передачи - как раз и выбирается так, чтобы небыло "наезда".
Но что плохого в том, чтобы изменением алгоритма, при том же размере буфера увеличить допустимую длину передачи почти вдвое?
Цитата
По поводу измерения частоты на голой авр методом захвата посмотрите здесь
http://electronix.ru/forum/index.php?showt...29796&st=15. Можно читать с начала, а можно сразу с моего поста #23. На арме я такую задачу не делал, но схемы захвата там есть, принцип работы тот же самый, должно работать. По моей оценке, при тактовой частоте проца 72 МГц, можно измерить 28 МГц за 4 мс с погрешностью 100 Гц.
В той теме как раз более-менее все понятно, а вот тут - не очень.
По сути - вы предлагаете абсолтно тоже самое что предложил и я - за некоторое время посмотреть сколько насчитает счетчик, работаюбщий от частоты F1, и сколько другой счетчик, работающий от F2. Только у меня обе частоты внешние, а у вас одна- частота процессора, как я понял.
Но вот откуда беруться ваши конкретные цифры - совершенно непонятно.
К примеру - вы можете сказать откуда взялись 200гц за 1мс в моем примере (частоты равны 28Мгц +-50ррм)? Тактовая частота процессора неважна, хоть 20, хоть 200мгц, она в процессе счета не участвует.
Цитата
Увы, это ноу-хау, кстати, ваш земляк сделал примерно то же самое, он точно измеряет 1 МГц за 1 мс. Он сделал прибор на этой основе и успешно его продаёт. А я долгое время разрабатывал приборы дистанционного измерения момента вращения, давления и температуры. Радиоимпульс с частотой заполнения 450 МГц длительностью 17 мкс я измеряю за 50 мкс с точностью 1 Гц.
Измеряется что, длительность радиоимпульса или частота заполнения?
И какое соотношение точностей измеряемой частоты и тактовой частоты измерительного устройства?
В моем варианте, измерительное устройство НЕ обладает тактовым генератором более точным, чем измеряемые частоты.
Цитата
Правда, там другая схемотехника, заказной эйсик и тексасовский дсп.
Тоесть совершенно ничего общего с данной задачей.