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

 
 
> ATmega88 максимальная частота на входе ?
pavel-pervomaysk
сообщение Mar 9 2009, 19:31
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Всем привет !
Возник вопрос по схемному и програмному решению для частотомера . Хочу применить мегу 88 и кварц по максимуму (20-24МГц) чтобы получить возможность захвата большего числа импульсов чем 1мгц на входе . Прескаллер U813 буду использовать с коэф. деления 256. То есть при частоте 1ГГц он будет выдавать 3 906 250 Гц , успеет ли мега их посчитать от ноги внешнего прерывания ?.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 21)
rx3apf
сообщение Mar 9 2009, 19:44
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Павлик @ Mar 9 2009, 22:31) *
То есть при частоте 1ГГц он будет выдавать 3 906 250 Гц , успеет ли мега их посчитать от ноги внешнего прерывания ?.

Совершенно нереально, даже если использовать программный опрос (что быстрее, чем вход в прерывание). Это неправильное решение. А нужно использовать два таймера. Один - для захвата по фронту (TMR1, ICP1), другой для счета импульсов с прескалера (TMR0). Тогда и разрешение будет хорошее и частота обработки прерываний (переполнение TMR0) приемлемая (хотя тут можно и опросом обойтись).
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 9 2009, 19:44
Сообщение #3


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Через прерывание не успеет. А если подадите на вход таймера - то без проблем. При этом больше чем по даташиту катать проц совсем не стоит (при питании 5 вольт мега88 может работать с тактовой не более 20 МГц).


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
vvs157
сообщение Mar 9 2009, 19:47
Сообщение #4


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

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(Павлик @ Mar 9 2009, 22:31) *
Всем привет !
Возник вопрос по схемному и програмному решению для частотомера . Хочу применить мегу 88 и кварц по максимуму (20-24МГц) чтобы получить возможность захвата большего числа импульсов чем 1мгц на входе . Прескаллер U813 буду использовать с коэф. деления 256. То есть при частоте 1ГГц он будет выдавать 3 906 250 Гц , успеет ли мега их посчитать от ноги внешнего прерывания ?.

Нет, конечно. Вход опрашивается один раз за такт, поэтому максимальная входная частота Fck/2. Прескалер - это уже потом. 1 ГГц - только с внешним делителем
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 9 2009, 19:54
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(vvs157 @ Mar 9 2009, 22:47) *
максимальная входная частота Fck/2. Прескалер - это уже потом. 1 ГГц - только с внешним делителем

Человек же русским языком написал "прескалер U813". Ясен ж пень, что это внешний прескалер...
Просто он захотел опрашивать его выход программно, а вот этот фокус уже не пройдет, естественно.
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Mar 9 2009, 20:08
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Цитата(Rst7 @ Mar 9 2009, 22:44) *
Через прерывание не успеет. А если подадите на вход таймера - то без проблем. При этом больше чем по даташиту катать проц совсем не стоит (при питании 5 вольт мега88 может работать с тактовой не более 20 МГц).


Извените , я минус случайно нажал на вашем посте ...
Насчет тактовой проца все ясно разъяснили .
Насчет захвата таймером интерестно , с этим еще не работал , если дадите пример на асме кусочек , буду очень рад , далее уже постараюсь сам справится .
Go to the top of the page
 
+Quote Post
vvs157
сообщение Mar 9 2009, 20:13
Сообщение #7


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

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(rx3apf @ Mar 9 2009, 22:54) *
Человек же русским языком написал "прескалер U813". Ясен ж пень, что это внешний прескалер...
Сразу не заметил, однако сдается мне, что этот U813 ЭСЛ и с мегой напрямую не стыкуется.
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Mar 9 2009, 20:16
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Цитата(vvs157 @ Mar 9 2009, 23:13) *
Сразу не заметил, однако сдается мне, что этот U813 ЭСЛ и с мегой напрямую не стыкуется.


О связи деталюшек в кучу вопрос не идет smile.gif . Это не вопрос , главное заранее начать работать не с "з@@ницы" как это часто бывает .
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 9 2009, 20:37
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Да какой там пример? Почитай работу таймера в режиме захвата да и всё. Входная частота при этом FCLK/2 То есть 10МГц. (При 20).

ATXMega допускает обработку частоты значительно превыхающую FCLK.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 9 2009, 20:55
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Павлик @ Mar 9 2009, 23:08) *
Насчет захвата таймером интерестно , с этим еще не работал , если дадите пример на асме кусочек , буду очень рад

Кусочком не поделюсь за неимением оного (я такую задачу решал для PIC16, и не захватом, а отдельным счетом опорника, но суть та же). Т.е. общая идея - измерительный интервал должен быть не ровно секунда (например), а целое число периодов входного сигнала, но больше этой самой секунды. Начинаем интервал - обнулили (или запомнили состояние счетчика), сделали засечку времени ICP по фронту импульса. Ждем завершение измерительного интервала, считая импульсы и контролируя переполнение таймеров. И вот по окончанию интервала надо остановить счет - аппаратных средств у AVR для этого нет, синхронно с последним захватом остановить счет на такой скорости не удастся, поэтому все ж нужен внешний D-триггер и буферочек. А просто счетом за интервал - ухудшается разрешение, особенно на низких частотах (для 1 GHz разницы 50 или 256 Hz, по большому счету, нет).
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 9 2009, 21:20
Сообщение #11


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Погодите, господа, какой захват? Только прямой счет.

Вообщем, для простоты делаете так - на вход любого таймера подаете частоту с вашего внешнего прескаллера. В прерывании по переполнению этого таймера увеличиваете переменную типа int
(если используете восьмибитный таймер). В общей сложности значение таймера плюс значение переменной будет 24 бита.

На другом таймере отмеряете одну секунду. По истечении секунды считываете в локальную копию значение служебной переменной и таймера. Разность между этой локальной переменной и ее предыдущим значением (которое нужно будет сохранить) и будет частотой в герцах.

Тонкости:
Необходимо обеспечить проверку на синхронность чтения значения таймера и служебной переменной. Типа таймер переполнился, а переменная еще не увеличена. Второе - небольшая погрешность будет из-за неточного отсчета секундного интервала (за счет различного времени входа в прерывание). Это можно скомпенсировать чисто программным путем, а можно и забить.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 9 2009, 21:29
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Rst7 @ Mar 10 2009, 00:20) *
На другом таймере отмеряете одну секунду. По истечении секунды считываете в локальную копию значение служебной переменной и таймера. Разность между этой локальной переменной и ее предыдущим значением (которое нужно будет сохранить) и будет частотой в герцах.

Вот только еще это значение надо умножить на коэффициент прескалера. И в результате дискретность измерения при односекундном интервале - 256 Hz. Ну, для гига это еще терпимо. А вот сотню MHz с таким разрешением мерять - как-то неприлично, все ж 21-й век на дворе и время любительских поделок с прямым счетом давно миновало. К сожалению, аппаратных средств самого процессора для полноценного решения задачи недостаточно, но пара корпусов простой логики снаружи - и уже результат на что-то похож...
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 9 2009, 21:54
Сообщение #13


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
как-то неприлично, все ж 21-й век на дворе и время любительских поделок с прямым счетом давно миновало.


А Вы попробуйте в 21м веке получить точность опорного генератора выше чем 1е-6. И джиттер довести до соответствующего уровня, чтобы измерение периода с ума не сходило. Тогда будем говорить об улучшении разрешения.

Кстати, вопрос к топикстартеру - какие еще коэффициенты деления можно выбрать у этого прескаллера кроме 256? И насколько проблемно их на ходу переключать?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 9 2009, 22:09
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Rst7 @ Mar 10 2009, 00:54) *
А Вы попробуйте в 21м веке получить точность опорного генератора выше чем 1е-6. И джиттер довести до соответствующего уровня, чтобы измерение периода с ума не сходило. Тогда будем говорить об улучшении разрешения.

Ну, 256 Hz при сотне MHz - это уже 2.6E-6. Но ведь и при меньших частотах дискретность будет столь же большой. Что до "попробуйте" - так пробовал. Элементарное термостатирование дает 1E-7, кроме того, часто абсолютная точность и не нужна, а вот оценка изменения - актуальна.
Go to the top of the page
 
+Quote Post
dx40
сообщение Mar 10 2009, 06:13
Сообщение #15


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

Группа: Свой
Сообщений: 147
Регистрация: 4-05-06
Пользователь №: 16 779



Делал частотомер на 2313 тиньке. До 7 мегагерц нормально, дальше врет. Кварц - 20.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 10 2009, 06:55
Сообщение #16


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(dx40 @ Mar 10 2009, 09:13) *
Делал частотомер на 2313 тиньке. До 7 мегагерц нормально, дальше врет. Кварц - 20.


Ага, давайте я тоже что-нить криво сделаю, а потом отчитаюсь об отрицательных результатах smile.gif Какя погрешность, по какой структуре строили, какой алгоритм? Это ж все совсем не нудные расспросы, сделать-то можно и нормально.


Нужно аппаратно отмерять метки времени, закрывать выход прескалера и считывать. Термостатирование опорника имееццо?
Go to the top of the page
 
+Quote Post
adc
сообщение Mar 10 2009, 07:29
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Цитата(Rst7 @ Mar 10 2009, 00:20) *
...
Вообщем, для простоты делаете так - на вход любого таймера подаете частоту с вашего внешнего прескаллера. В прерывании по переполнению этого таймера увеличиваете переменную типа int
(если используете восьмибитный таймер). В общей сложности значение таймера плюс значение переменной будет 24 бита.
...

эээ.. сдается мне что эта тема по моему обсуждалось, и очень даже живо... помню всякие даже графики были и горячие споры...
непомню только в какой ветке...
аа. вот: http://electronix.ru/forum/index.php?showt...=29796&st=0


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 10 2009, 08:25
Сообщение #18


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(_Pasha @ Mar 10 2009, 09:55) *
Ага, давайте я тоже что-нить криво сделаю, а потом отчитаюсь об отрицательных результатах smile.gif

Да тут, наверное, все проще - скважность на входе не 1, вот и вышло меньше Fosc/2.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 10 2009, 11:29
Сообщение #19


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Элементарное термостатирование дает 1E-7


К сожалению, кроме температурной стабильности есть еще много других факторов - начальная точность, старение, уход частоты из-за большой амплитуды сигнала на кварце (актуально для банальной емкостной трехточки из логического инвертора), шум генератора.

Вообщем, я считаю 1e-6 - оптимальным числом с точки зрения простоты решения. Выше без особой необходимости прыгать не стоит.

А вообще, надо чтобы топикстартер огласил требуемые метрологические характеристики.

Цитата
эээ.. сдается мне что эта тема по моему обсуждалось, и очень даже живо... помню всякие даже графики были и горячие споры...


Были. Правда, споры велись исключительно вокруг сферического коня в вакууме (как программу написать), забывая об остальных сущностях реального мира (см. выше).


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 10 2009, 15:27
Сообщение #20


Ambidexter
*****

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



Цитата(Павлик @ Mar 9 2009, 19:31) *
Хочу применить мегу 88. Прескаллер U813 буду использовать с коэф. деления 256

Поставьте управляемый вентиль на вход схемы захвата и с вашим прескалером можете считать до 2500 МГц при тактовой проца 20 МГц. Тактовую выше 20 лучше не применять.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 10 2009, 19:38
Сообщение #21


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Rst7 @ Mar 10 2009, 14:29) *
К сожалению, кроме температурной стабильности есть еще много других факторов - начальная точность,

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

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

Что элементарно решается схемой детектора, регулирующего амплитуду (я, не мудрствуя лукаво, "слизал" готовую схемотехнику 2-ppm нетермостатированного опорника моторольского репитера, благо примитивно, и добавил простенький термостат).
Цитата
шум генератора.

До 1e-8 можно особо не задумываться.
Цитата
Вообщем, я считаю 1e-6 - оптимальным числом с точки зрения простоты решения. Выше без особой необходимости прыгать не стоит.

Но в целом - соглашусь (хотя если что-то настраивать с такой точностью, то прибор-то нужно классом выше). Отметив при этом, что и опорник 1E-9, причем не требующий периодической поверки, по нынешним временам сделать не просто, а очень просто, с себестоимостью порядка $50. Нужно ли - вопрос другой.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 10 2009, 19:59
Сообщение #22


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Но в целом - соглашусь (хотя если что-то настраивать с такой точностью, то прибор-то нужно классом выше).


Да нафиг оно не надо в коленно-прикладном бизнесе.

Цитата
Отметив при этом, что и опорник 1E-9, причем не требующий периодической поверки, по нынешним временам сделать не просто, а очень просто, с себестоимостью порядка $50.


Обычно слово "поверка" употребляется в значении общения с соответствующей метрологической службой. "Палюбому" раз в год возить прибор будете к поверителям. Ну может, за большую поляну, договоритесь на межповерочный интервал 2 года.

Цитата
Нужно ли - вопрос другой.


Во. Если автор делает измерительный прибор с вхождением в реестр средств измерительной техники, то это одно. Самоделку для себя - совсем другое.

Кстати, требования к точности пока не озвучены.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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