реклама на сайте
подробности

 
 
> Сревнение двух частот
Allregia
сообщение May 7 2012, 21:07
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Есть два кварцевых генератора, частота 28мГц, с точностью/стабильностью 50ррм.
Процессор STM32F103 должен определить у какого генератора частота выше.
Абсолютное значение не интересует.
Я пока ничего умнее не придумал, чем подать на два счетчика, запустить их одновременно, через какое-то время остановить и посмотреть на разницу в показаниях.
Какое достаточное время для измерения?
Или может есть другой способ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Семин
сообщение May 14 2012, 19:25
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 27-04-12
Пользователь №: 71 608



Если разница большая, то засечь её можно быстро.
А если маленькая, то ждать придётся относительно долго.
Обязательно нужно засечь разницу или нет?
Зачем вообще всё это надо?
Go to the top of the page
 
+Quote Post
Allregia
сообщение May 14 2012, 21:55
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(Семин @ May 14 2012, 21:25) *
Если разница большая, то засечь её можно быстро.
А если маленькая, то ждать придётся относительно долго.


Там время есть, в разумных пределах.

Цитата
Обязательно нужно засечь разницу или нет?
Зачем вообще всё это надо?


Полностью долго рассказывать, а если кратко - есть две системы, тактируемые от своих генераторов. С одной системы данные поступают пачками на другую, через процессор, в котором некоторая обработка и FIFO.
В начале каждой пачки есть почти секунда на тестирование сигналов, ну а дальше - допустимая длина пачки зависит от размера
FIFO (и макс. возможной разности частот).
Сейчас в начале пачки заполняется половина FIFO, а его размер выбран так, чтобы при максимальной разности частот не происходило переполнения. Т.е. начальная разница между указателями равна половине буфера, при Fread>Fwrite указатель чтения будет догонять указатель записи, Fread<Fwrite - отставать.
Идея состоит в том, что если заранее знать условие, например Fread>Fwrite, то дождавшись полного заполнения буфера, можно указатель чтения ставить на на пол буфера позже указателя записи, а сразу пере ним. Если Fr<Fw, то указатель чтения сразу после указателя записи. Таким образом, начальная разница указателей будет равна не половине размера буфера а целому, и при то-же влеличине буфера мжоно длину пачки увеличить почти вдвое, или наоборот - почти вдвое уменьшить величину буфера при неизменной пачке.
Разумеется, при условии что за время пакета разность частот не меняет знак. (если это и произойдет, то не страшно, если оно будет детектировано - пакет будет отброшен).
Go to the top of the page
 
+Quote Post
=GM=
сообщение May 16 2012, 04:59
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Allregia @ May 14 2012, 20:55) *
Сейчас в начале пачки заполняется половина FIFO, а его размер выбран так, чтобы при максимальной разности частот не происходило переполнения. Т.е. начальная разница между указателями равна половине буфера, при Fread>Fwrite указатель чтения будет догонять указатель записи, Fread<Fwrite - отставать

Не надо изобретать велосипед, поставьте кольцевой буфер с указателями на запись и чтение.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Сревнение двух частот   May 7 2012, 21:07
- - =GM=   Можно из одного сигнала сделать некий интервал, ск...   May 8 2012, 06:29
|- - ViKo   Цитата(=GM= @ May 8 2012, 09:29) Можно из...   May 9 2012, 07:48
|- - Семин   Если допустимо добавление компонентов, тогда навер...   May 9 2012, 09:19
|- - Allregia   Цитата(Семин @ May 9 2012, 11:19) Если до...   May 9 2012, 21:38
- - Семин   Если нужна только долговременная разница, то это ...   May 10 2012, 19:36
|- - Allregia   Цитата(Семин @ May 10 2012, 21:36) Если н...   May 10 2012, 21:20
|- - Herz   Цитата(Allregia @ May 11 2012, 00:20) Во ...   May 10 2012, 22:14
|- - Allregia   Цитата(Herz @ May 11 2012, 00:14) Всё стр...   May 13 2012, 05:19
|- - fox2trot   Цитата(Allregia @ May 13 2012, 09:19) Есл...   May 13 2012, 22:05
|- - Allregia   Цитата(fox2trot @ May 14 2012, 00:05) С ч...   May 14 2012, 05:22
- - fox2trot   Цитата(Allregia @ May 8 2012, 01:07) Абсо...   May 11 2012, 14:49
- - Семин   Можно просто запустить счётчики, периодически счи...   May 11 2012, 18:50
|- - Plain   Цитата(Семин @ May 11 2012, 21:50) Можно ...   May 13 2012, 05:59
|- - Allregia   Цитата(=GM= @ May 16 2012, 06:59) Не надо...   May 16 2012, 07:30
|- - =GM=   Ну, если вы всё знаете, зачем спрашиваете?   May 17 2012, 19:53
|- - Allregia   Цитата(=GM= @ May 17 2012, 21:53) Ну, есл...   May 19 2012, 21:29
|- - =GM=   1) Читаю я всегда внимательно, скажу больше, даже ...   May 20 2012, 09:48
|- - =GM=   Удалил повторное сообщение   May 20 2012, 09:49
- - Семин   Для чего это нужно, всё равно не понятно, "Се...   May 15 2012, 17:33
|- - Allregia   Цитата(Семин @ May 15 2012, 19:33) Для че...   May 15 2012, 20:43
- - Allregia   Цитата(=GM= @ May 20 2012, 11:48) 1) Чита...   May 20 2012, 15:41
|- - blackfin   Цитата(Allregia @ May 20 2012, 19:41) В м...   May 20 2012, 16:10
|- - Allregia   Цитата(blackfin @ May 20 2012, 18:10) Чис...   May 20 2012, 16:58
|- - =GM=   Цитата(Allregia @ May 20 2012, 15:58) Тут...   May 21 2012, 06:34
|- - Allregia   Цитата(=GM= @ May 21 2012, 08:34) Какая-т...   May 21 2012, 07:03
|- - =GM=   1) Ну тут одно из двух, или я неправильно понял ус...   May 21 2012, 07:23
||- - Allregia   Цитата(=GM= @ May 21 2012, 09:23) 1) Ну т...   May 21 2012, 07:41
|- - Plain   Цитата(Allregia @ May 21 2012, 10:03) Ско...   May 21 2012, 09:02
|- - Allregia   Цитата(Plain @ May 21 2012, 11:02) Кажетс...   May 21 2012, 09:19
|- - Plain   Цитата(Allregia @ May 21 2012, 12:19) Как...   May 21 2012, 09:28
|- - Allregia   Цитата(Plain @ May 21 2012, 11:28) Просто...   May 21 2012, 09:47
|- - Plain   Цитата(Allregia @ May 21 2012, 12:47) про...   May 21 2012, 10:38
|- - Allregia   Цитата(Plain @ May 21 2012, 12:38) Наприм...   May 21 2012, 10:43
|- - Plain   Цитата(Allregia @ May 21 2012, 13:43) Это...   May 21 2012, 11:19
|- - Allregia   Цитата(Plain @ May 21 2012, 13:19) Продол...   May 21 2012, 11:38
|- - Plain   Цитата(Allregia @ May 21 2012, 14:38) Для...   May 21 2012, 13:27
|- - Allregia   Цитата(Plain @ May 21 2012, 15:27) Нет, э...   May 21 2012, 14:34
- - Xenia   Цитата(Allregia @ May 8 2012, 01:07) Есть...   May 20 2012, 18:04
- - Allregia   Цитата(Xenia @ May 20 2012, 20:04) Надо о...   May 20 2012, 19:49
- - Victor®   Цитата(Xenia @ May 20 2012, 21:04) А пото...   May 20 2012, 20:21


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 18:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016