|
Высокоточное задание больших интервалов времени, какие есть методы? |
|
|
|
Sep 19 2005, 10:55
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 21-04-05
Пользователь №: 4 363

|
Господа, вопрос такой: Есть микроконтроллер Silabs 100МГц. Есть необходимость в высокоточном задании интервалов времени, чтобы точность была 10^-8 - 10^-7, а сами интервалы времени - до 1 секунды. Причем хотелось бы иметь возможность генерировать до 5-ти событий на этом интервале. Прямой счет аппаратными счетчиками не годится, слишком большой интервал. Какие варианты? Мне приходит в голову написании программы и тупого счета пустой команды в цикле. Или же счет PCA от переполнения Timer0, а того в свою очередь заставить работать в Auto-Reload. А как поступают более опытные люди?
|
|
|
|
|
 |
Ответов
|
Sep 20 2005, 05:35
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 21-04-05
Пользователь №: 4 363

|
Цитата(BVU @ Sep 19 2005, 15:31) Можно воспользоваться внешним генератором импульсов (подавая на вход прерывания) для 'заполнения' Вашего временного интервала. Это будет более прецизионное измерение, т.к. генератор можно сделать с довольно большой точностью и стабильностью. А чем это будет отличаться от того, что в качестве тактового для микропроцессора я буду использовать внешний высокостабильный? Так или иначе заполнив мой интервал точными импульсами, я не смогу прямым счетом вывернуться, разрядности не хватит. Я так себе представляю, что надо временной интервал делить на целую часть (количество переполнений\перезагрузок счетчика) и дробную (по окончании которой генерируется искомый импульс). И еще вопрос, а какие компании производят высокточные генераторы?
|
|
|
|
|
Sep 20 2005, 06:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(amoralex @ Sep 20 2005, 09:35) А чем это будет отличаться от того, что в качестве тактового для микропроцессора я буду использовать внешний высокостабильный? А на генераторном узле своего контроллера и не пытайтесь сделать подобный генератор (не добьетесть стабильности...). Цитата(amoralex @ Sep 20 2005, 09:35) Так или иначе заполнив мой интервал точными импульсами, я не смогу прямым счетом вывернуться, разрядности не хватит. Регистровая разрядность тут не причем, необходимо в теле прерывания завести счетчик, как переменную типа long double и подсчитывать количество импульсов (длительностью -10^7...-10^8), которые войдут в измеряемый интервал. При тактовой частоте процессора в 100MHz все должно успеваться + другие задачи (конечно при условии выполнения 1 команды процессором за 1-2 такта).
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
Сообщений в этой теме
amoralex Высокоточное задание больших интервалов времени Sep 19 2005, 10:55 Vic1 Микроконтроллер, к сожалению, не знаю. Но более ст... Sep 19 2005, 11:09 amoralex Цитата(Vic1 @ Sep 19 2005, 14:09)Микроконтрол... Sep 19 2005, 11:23 Vic Вне зависимости от контроллера, всегда делают на т... Sep 19 2005, 11:20 Vic1 amoralex
Можно и не переполнения считать, а запрог... Sep 19 2005, 11:36 vvs157 Цитата(BVU @ Sep 19 2005, 15:31)Можно восполь... Sep 19 2005, 13:20  BVU Цитата(vvs157 @ Sep 19 2005, 17:20)Цитата(BVU... Sep 19 2005, 13:53   amoralex Цитата(BVU @ Sep 20 2005, 09:09)Регистровая р... Sep 20 2005, 06:53 Владимир Только что со стандорта приехал. там в осреднениях... Sep 19 2005, 13:46 Alex11 Мне кажется, что лучше не заморачиваться с контрол... Sep 20 2005, 06:24 amoralex Цитата(Alex11 @ Sep 20 2005, 09:24)Мне кажетс... Sep 20 2005, 07:08  okela Цитата(amoralex @ Sep 20 2005, 10:08)Цитата(A... Sep 20 2005, 10:14 mse Блин. Да никаких проблем. Если есть ОГ с требуемой... Sep 20 2005, 07:19 MosAic Позвольте поднять эту тему еще раз.
Предположим, ... Oct 29 2005, 04:52 mse "Кстати говоря, в Циклоне есть синтезируемый ... Sep 20 2005, 10:40 asdf Цитата(mse @ Sep 20 2005, 14:40)"Кстати ... Sep 21 2005, 12:46
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|