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

 
 
> Измерение периода AVR микронтроллером
lex_84
сообщение May 24 2008, 15:09
Сообщение #1


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

Группа: Свой
Сообщений: 80
Регистрация: 17-05-08
Из: Питер
Пользователь №: 37 575



help.gif
Вопрос заключается в следующем. Необходимо измерить малый период с достаточно высокой точностью, используя микроконтроллер.
Просмотрев литературу на эту тему пришел к выводу, что лучше всего это было бы реализовать с помощью усреднения на некотором интервале времени.
Но к сожалению не нашел алгоритмов расчета среднего значения для микроконтроллеров. Все что удалось мне найти - это алгоритмы для микропроцессоров с ПЗ и ФЗ.
Кто-нибудь мог бы мне посоветовать какие-нибудь интернет-ссылки или литературу на эту тему???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
domowoj
сообщение May 24 2008, 15:38
Сообщение #2


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Цитата(lex_84 @ May 24 2008, 22:09) *
help.gif
Вопрос заключается в следующем. Необходимо измерить малый период с достаточно высокой точностью, используя микроконтроллер.

Малый период???
с достаточно высокой точностью???


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
lex_84
сообщение May 24 2008, 15:55
Сообщение #3


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

Группа: Свой
Сообщений: 80
Регистрация: 17-05-08
Из: Питер
Пользователь №: 37 575



Цитата(domowoj @ May 24 2008, 19:38) *
Малый период???
с достаточно высокой точностью???

Измеряемый период примерно составляет 400 нс и его желательно оцифровать 16 разрядным кодом. Время измерения должно составлять где-то 1-1.5 минуты 05.gif

ПЗ и ФЗ - вычисления с плавающей запятой и с фиксированной smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 24 2008, 16:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(lex_84 @ May 24 2008, 17:55) *
Измеряемый период примерно составляет 400 нс и его желательно оцифровать 16 разрядным кодом.

О это волшебное заклинание "AVR!!!!". Не поможет - ну не действует оно всегда и везде. Не действует.
Moderator:
Тему перенес.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение May 24 2008, 18:35
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(zltigo @ May 24 2008, 20:07) *
О это волшебное заклинание "AVR!!!!". Не поможет - ну не действует оно всегда и везде. Не действует.
Автору нужно было указать не AVR а ARM в качестве базовой платформы,
причем желательно LPC(NXP), тогда бы и отношение было более серьезным biggrin.gif biggrin.gif biggrin.gif

Ну а если по серьезному, ну вполне такая задачка, только 16бит для 1-1.5 минуты
выглядит не реалистично,
Цитата
Я не то число написал - это для 14 разрядов
но и после этой корекции все равно не реалистично
а вот это:
Цитата
Просто я не правильно сформулировал задачу. Длительность импульса 400 нс, но частота следования 1 Гц. Вот в чем проблема.

убивает всякие идеи на корню, за 1.5 минуты при частоте 1Гц будет всего 90 измерений,
получить из них 14бит не представляется возможным...
Go to the top of the page
 
+Quote Post
lex_84
сообщение May 24 2008, 18:50
Сообщение #6


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

Группа: Свой
Сообщений: 80
Регистрация: 17-05-08
Из: Питер
Пользователь №: 37 575



Цитата(singlskv @ May 24 2008, 22:35) *
Автору нужно было указать не AVR а ARM в качестве базовой платформы,
причем желательно LPC(NXP), тогда бы и отношение было более серьезным biggrin.gif biggrin.gif biggrin.gif

Ну а если по серьезному, ну вполне такая задачка, только 16бит для 1-1.5 минуты
выглядит не реалистично,
но и после этой корекции все равно не реалистично
а вот это:

убивает всякие идеи на корню, за 1.5 минуты при частоте 1Гц будет всего 90 измерений,
получить из них 14бит не представляется возможным...


Очень может быть что придется использовать ядро ARM smile.gif Изначально я и хотел использовать smile.gif Только хотелось бы подешевле smile.gif
Насчет 90 измерений. Это же приближенные значения.
Т.к. я еще не нашел подходящего алгоритма, то макс. время измерения точно не известно. Но хотелось бы по быстрее. smile.gif
На ПЛИС получалось 5 минут при 14 битах разрешения. Но там была очень сложная схема и пришлось от нее отказаться.

Цитата(defunct @ May 24 2008, 22:39) *
Может тогда лучше мощность импульса мерять?
пропустить импульс через LowPass фильтр (LC) - и мерять напряжение каким-нибудь не очень шустрым, но точным АЦП. Из мощности (при условии что импульс прямоугольный) легко расчитать длительность.

Идея довольно интересная. Мне такой принцип измерения нигде не встречалался раньше.
Я думаю, что при такой длитетельности и частоте АЦП будет измерять шумы, да и фильтр будет какой-то монстр наверно.
Go to the top of the page
 
+Quote Post
singlskv
сообщение May 24 2008, 18:58
Сообщение #7


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(lex_84 @ May 24 2008, 22:50) *
Очень может быть что придется использовать ядро ARM smile.gif Изначально я и хотел использовать smile.gif Только хотелось бы подешевле smile.gif
насчет АРМ это была шутка smile.gif
при том избытке времени(1сек) на каждое измерение вам подойдет любой мк,
а считать при этом можно хоть в ФЗ хоть в ПЗ
Цитата
Насчет 90 измерений. Это же приближенные значения.
А вот с этого момента по-подробнее, Вам что нужно, разрешающая способность в 16(14)бит
или точность в 16(14)бит ?
Цитата
На ПЛИС получалось 5 минут при 14 битах разрешения. Но там была очень сложная схема и пришлось от нее отказаться.

Ну на мк Вы быстрее и не получите, хотя если Вы уточните задачку то может чего-нить и
можно придумать...
Go to the top of the page
 
+Quote Post
lex_84
сообщение May 24 2008, 19:20
Сообщение #8


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

Группа: Свой
Сообщений: 80
Регистрация: 17-05-08
Из: Питер
Пользователь №: 37 575



Цитата(singlskv @ May 24 2008, 22:58) *
насчет АРМ это была шутка smile.gif
при том избытке времени(1сек) на каждое измерение вам подойдет любой мк,
а считать при этом можно хоть в ФЗ хоть в ПЗ
А вот с этого момента по-подробнее, Вам что нужно, разрешающая способность в 16(14)бит
или точность в 16(14)бит ?

Ну на мк Вы быстрее и не получите, хотя если Вы уточните задачку то может чего-нить и
можно придумать...


Не совсем шутка smile.gif Все-таки я пытаюсь сейчас реализовать схему ПЛИС+МК. Была надежда что с помощью ARM удастся обойтись без ПЛИС, но не получилось.

ФЗ и ПЗ?! Что это за МК которые считают десятичные числа и имеют в составе команд команду DIV??? Это уж какой то слишком хитрый алгоритм получается 07.gif

Если уточнить требования к системе. 14-16 бит разрешающей способности. Хотелось бы чтобы младшие биты были адекватны измеряемому периоду.
Макс. значение периода 400 нс, а мининимальное, если снова не наврал smile.gif 24 пс (для 14 бит)



Цитата(defunct @ May 24 2008, 23:07) *
Не на таких времянках. единицы нс будет гораздо проблемней измерить, чем мощность, следовательно и точность измерения интервала будет хуже.
Пример применения можете посмотреть в appnote Analog-to-Digital Conversion Utilizing the
AT89CX051 Microcontrollers.

ипульс подается на кондер нагруженный резистором (интегратор).
кондер медленно разряжается (растягивает импульс) в это время вы неспешно снимаете показания.

По идее мощность можно измерить и без АЦП - достаточно только компаратора.
Уж точно меньше чем МК который будет пытаться синхронными узлами измерить сигнал, превосходящий его частоту тактирования.

Да в этом что то есть. Но требует всестороннего исследования.
Это получается аналоговая интерполяции вместо цифровой.
Спасибо за идею.
Go to the top of the page
 
+Quote Post
singlskv
сообщение May 24 2008, 19:29
Сообщение #9


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(lex_84 @ May 24 2008, 23:13) *
ФЗ и ПЗ?! Что это за МК которые считают десятичные числа и имеют в составе команд команду DIV??? Это уж какой то слишком хитрый алгоритм получается 07.gif
А для вас что принципиально что команда деления будет выполняться не
1 такт а 1000 ? учитывая что у Вас между делениями как минимум 1сек ?
Цитата
Если уточнить требования к системе. 14-16 бит разрешающей способности. Хотелось бы чтобы младшие биты были адекватны измеряемому периоду.
Макс. значение периода 400 нс, а мининимальное, если снова не наврал smile.gif 24 пс (для 14 бит)
ну тогда для 14бит это просто фикция и никакие
Цитата
Все-таки я пытаюсь сейчас реализовать схему ПЛИС+МК. Была надежда что с помощью ARM удастся обойтись без ПЛИС, но не получилось.
ПЛИС Вам здесь не помогут, на нескольких сотнях измерений такое не получить.
Go to the top of the page
 
+Quote Post
lex_84
сообщение May 24 2008, 19:34
Сообщение #10


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

Группа: Свой
Сообщений: 80
Регистрация: 17-05-08
Из: Питер
Пользователь №: 37 575



Цитата(singlskv @ May 24 2008, 23:29) *
А для вас что принципиально что команда деления будет выполняться не
1 такт а 1000 ? учитывая что у Вас между делениями как минимум 1сек ?
ну тогда для 14бит это просто фикция и никакие
ПЛИС Вам здесь не помогут, на нескольких сотнях измерений такое не получить.

Кстати подобные устройства существуют и без ПЛИС smile.gif на одних МК, но к сожалению открытых программ для них я не встречал.
Go to the top of the page
 
+Quote Post
singlskv
сообщение May 24 2008, 19:49
Сообщение #11


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(lex_84 @ May 24 2008, 23:34) *
Кстати подобные устройства существуют и без ПЛИС smile.gif на одних МК, но к сожалению открытых программ для них я не встречал.
Ага, и при удлиннении импульса на 24 пс они точно показывают ровно на 1 отсчет больше smile.gif
И все это на нескольких сотнях измерений ... smile.gif
Ню-ню... удачи...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lex_84   Измерение периода AVR микронтроллером   May 24 2008, 15:09
|- - defunct   Цитата(lex_84 @ May 24 2008, 21:50) Я дум...   May 24 2008, 18:53
||- - lex_84   Цитата(defunct @ May 24 2008, 22:53) Да н...   May 24 2008, 18:57
||- - defunct   Цитата(lex_84 @ May 24 2008, 21:57) Но по...   May 24 2008, 19:07
- - Alhen   что такое ПЗ и ФЗ?   May 24 2008, 15:49
- - _Pasha   ПАДАЖДЫТЭ! 167 ГГц тактовой - это есть до фига...   May 24 2008, 16:57
- - Amper25   Вообще то поможет, только криво. Можно померять и...   May 24 2008, 17:06
|- - zltigo   Цитата(Amper25 @ May 24 2008, 19:06) 400н...   May 24 2008, 17:36
|- - lex_84   Цитата(zltigo @ May 24 2008, 21:36) А с 1...   May 24 2008, 18:08
|- - defunct   Цитата(lex_84 @ May 24 2008, 21:03) Если ...   May 24 2008, 18:09
||- - lex_84   Цитата(defunct @ May 24 2008, 22:09) Ошиб...   May 24 2008, 18:18
||- - defunct   Цитата(lex_84 @ May 24 2008, 21:18) ...   May 24 2008, 18:39
|- - svs39   Цитата(lex_84 @ May 24 2008, 21:08) Если ...   May 24 2008, 18:16
- - _Ivan_33   использовать прерывания по фронту и спаду сигнала ...   May 24 2008, 18:27
|- - lex_84   Цитата(_Ivan_33 @ May 24 2008, 22:27) исп...   May 24 2008, 18:37
- - Леонид Иванович   Задача очень непростая. Делал на AVR + ПЛИС измере...   May 24 2008, 20:38
|- - singlskv   Цитата(Леонид Иванович @ May 25 2008, 00...   May 24 2008, 20:54
||- - Леонид Иванович   Аналоговая. Интегратор, на время импульса включаем...   May 26 2008, 07:52
||- - lex_84   Цитата(Леонид Иванович @ May 26 2008, 11...   May 28 2008, 19:56
|- - lex_84   Цитата(Леонид Иванович @ May 25 2008, 00...   May 24 2008, 21:58
|- - =GM=   Цитата(lex_84 @ May 24 2008, 20:58) Интер...   May 24 2008, 22:30
|- - XVR   Цитата(lex_84 @ May 25 2008, 01:58) Согла...   May 26 2008, 07:41
- - domowoj   lex_84 А интересно зачем это нужно ? И зачем така...   May 25 2008, 02:11
- - lex_84   Цитата(domowoj @ May 25 2008, 06:11) lex_...   May 25 2008, 09:14


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 20:33
Рейтинг@Mail.ru


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