Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Цифровые сигнальные процессоры Вопросы, связанные с применением цифровых сигнальных процессоров: программирование, отладочные средства, алгоритмы...

 
Опции темы
Непрочитано 14.07.2008, 07:50  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию

Сообщение от konstsm
опишу методы выставления частоты приведенные в этой теме.
1. мой
задаю число в компараторе которое равно как раз (Fосн/делитель)/(iFreq),где iFreq - желаемая частота.
(16*10^6/8 )/(15000)=133,(3)
реальная чатоста выходит:
(16*10^6/8 )/133 = 15037,59 != 15000
...
Ну вот из 16 Мег и получишь 15037,59 - то есть погрешность 37 герца ,а надо только не боле 2 Гц , и никуда от этого не уйдешь , поскольку 16 Мег неровно В ПРИНЦИПЕ до 15 кГц делится , а точность при этом способе и так максимальная - до одного ФИЗИЧЕСКОГО такта 1/16Мгц , а мельче невозможно - МК ну не может уже сам такт дробить для подгонки точнее под требуемые 15000 , поэтому самый простой выход это поставить ПРАВИЛЬНЫЙ кварц изначально и не мучиться ни программно , ни как еще либо совсем с 16 МГЦ - ми .
Реклама:
pinco вне форума  
Непрочитано 14.07.2008, 12:24  
kmw
Частый гость
 
Регистрация: 30.09.2004
Сообщений: 39
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
kmw на пути к лучшему
По умолчанию Re: программная точная частота с МК

Сообщение от dealex77

1) Не правда! Практика показывает следующее: 100000+-0,1Гц
2) С чего это ему гулять??? Аргументируйте?
1.Согласен. Частота действительно получается неплохая.
Для кварца 16МГц и получения 15 кГц расчеты показывают, что для 24-разрядного регистра суммирования (максимальное значение равно 16777216-1 или 2^24-1) в формуле DELTA = (2^24 * 8 *Fout )/Fsys = 125829.12, а после округления до ближайшего 125829 получим частоту 14999.98569 ! Отлично.
2. Но период то все-таки "гуляет". И как раз на величину одного суммирования числа 125829. Смена значений 24-го старшего разряда регистра суммирования будет происходить неравномерно. Период выходного сигнала равен 16777216:125829=133.333460 суммирований, что не является целым числом. А смена состояния 24-го старшего разряда регистра суммирования должна происходить через 16777216:125829:2=66.666730 суммирований.
Например, начнем с 0. 24-й разряд станет равным "1" после 67-го суммирования и регистр будет равен значению 8430543. Далее 24-й разряд станет равным "0" после 134-го суммирования и регистр будет равен значению 16861086-16777216=83870. 3-я смена состояния
24-го разряда станет равной "1" после 201-го суммирования и регистр будет равен значению 8514413. Как видим, пока что смена состояний 24-го разряда регистра меняется каждые 67 суммирований. Но вот 4-я смена состояний 24-го разряда (станет равным "0") произойдет после 267-го суммирования и регистр будет иметь значение 16819127-16777216=41911. Это происходит после 66-го суммирования! Вот почему я говорю, что период (фаза) "гуляет". Максимальное отклонение может составить 8 периодов выполнения команд микроконтроллера. Если такие отклонения не критичны при конкрентном использовании, то этот метод получения требуемой частоты, должен признать, неплохой. И самое главное, прост.
kmw вне форума  
Непрочитано 14.07.2008, 12:42  
kmw
Частый гость
 
Регистрация: 30.09.2004
Сообщений: 39
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
kmw на пути к лучшему
По умолчанию

И все-таки не вижу ничего лучшего из варианта, что раньше писал: "Кварц для МК берем 14.7456 МГц, их везде полно. Настраиваем таймер на 983. Получается 14745600/983=15000.6104".
И частота не далеко ушла от 16 Мгц. И для других разных решений очень даже хорошая частота.
kmw вне форума  
Непрочитано 14.07.2008, 12:42  
dealex77
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
dealex77 на пути к лучшему
По умолчанию Re: программная точная частота с МК

Сообщение от kmw
....
Если такие отклонения не критичны при конкрентном использовании, то этот метод получения требуемой частоты, должен признать, неплохой. И самое главное, прост.
Спасибо за проведенное исследование и аргументрированный ответ! Согласен с Вами на все 100%
dealex77 вне форума  
Непрочитано 14.07.2008, 15:02  
andruha-d
Временная регистрация
 
Регистрация: 09.11.2007
Сообщений: 56
Сказал спасибо: 12
Сказали Спасибо 10 раз(а) в 6 сообщении(ях)
andruha-d на пути к лучшему
По умолчанию

А человеку кроме 15000 Гц какие частоты еще нужны?
andruha-d вне форума  
Непрочитано 14.07.2008, 17:40  
arkbox
Временная регистрация
 
Регистрация: 05.06.2005
Сообщений: 84
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
arkbox на пути к лучшему
По умолчанию

Сообщение от andruha-d
А человеку кроме 15000 Гц какие частоты еще нужны?
Вот если человеку нужны и другие частоты, а точнее более низкие, то задача имеет простое решение, а точнее решать ничего вообще не надо.
Я взял за условие, что нужно плюс минус 2 герца, что скорей всего по сути наверно и не коректно, но тем не менее так было озвученно.
Так вот сел и составил уравнение, решил, конечно получил фигню, еще раз составил, в общем через пол дня насилования мозга что то получилось
Итого, для 16 мегагерцового кварца, на частоте выхода до 2,82Кгц тупым делением базисной частоты можно получить точность до +/- 2 Гц. Хотя я почти уверен что ошибся в два раза в меньшую сторону. Если есть еще герои математики повторите мое решение и найдите ошибку
Кто первый?
arkbox вне форума  
Непрочитано 15.07.2008, 10:23  
kmw
Частый гость
 
Регистрация: 30.09.2004
Сообщений: 39
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
kmw на пути к лучшему
По умолчанию

Сообщение от arkbox
Сообщение от andruha-d
А человеку кроме 15000 Гц какие частоты еще нужны?
Вот если человеку нужны и другие частоты, а точнее более низкие, то задача имеет простое решение, а точнее решать ничего вообще не надо.
Я взял за условие, что нужно плюс минус 2 герца, что скорей всего по сути наверно и не коректно, но тем не менее так было озвученно.
Так вот сел и составил уравнение, решил, конечно получил фигню, еще раз составил, в общем через пол дня насилования мозга что то получилось
Итого, для 16 мегагерцового кварца, на частоте выхода до 2,82Кгц тупым делением базисной частоты можно получить точность до +/- 2 Гц. Хотя я почти уверен что ошибся в два раза в меньшую сторону. Если есть еще герои математики повторите мое решение и найдите ошибку
Кто первый?
Точнее, от 2 до 5696 Гц с точностью не хуже +/-1 Гц. Далее на некоторых частотах больше 1 Гц с постепенным нарастанием погрешности (за исключением некоторых частот по известным причинам целого деления).
kmw вне форума  
Непрочитано 15.07.2008, 16:34  
arkbox
Временная регистрация
 
Регистрация: 05.06.2005
Сообщений: 84
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
arkbox на пути к лучшему
По умолчанию

Сообщение от kmw
Сообщение от arkbox
Сообщение от andruha-d
А человеку кроме 15000 Гц какие частоты еще нужны?
Вот если человеку нужны и другие частоты, а точнее более низкие, то задача имеет простое решение, а точнее решать ничего вообще не надо.
Я взял за условие, что нужно плюс минус 2 герца, что скорей всего по сути наверно и не коректно, но тем не менее так было озвученно.
Так вот сел и составил уравнение, решил, конечно получил фигню, еще раз составил, в общем через пол дня насилования мозга что то получилось
Итого, для 16 мегагерцового кварца, на частоте выхода до 2,82Кгц тупым делением базисной частоты можно получить точность до +/- 2 Гц. Хотя я почти уверен что ошибся в два раза в меньшую сторону. Если есть еще герои математики повторите мое решение и найдите ошибку
Кто первый?
Точнее, от 2 до 5696 Гц с точностью не хуже +/-1 Гц. Далее на некоторых частотах больше 1 Гц с постепенным нарастанием погрешности (за исключением некоторых частот по известным причинам целого деления).
Не согласен, моё слово от 0 и до 5696 но +/-2 Гц!
arkbox вне форума  
Непрочитано 15.07.2008, 17:58  
Slava1355
Прописка
 
Аватар для Slava1355
 
Регистрация: 13.06.2004
Адрес: Москва
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 32 раз(а) в 18 сообщении(ях)
Slava1355 на пути к лучшему
По умолчанию

Коллеги!
Хочу из высоких теоретических рассуждений о возможности точной установки частоты с точностью от +/- 0,1 Гц до +/- 2 Гц спустить вас на грешную землю.
Вспомните о том, что кварцевый генератор, встроенный в МК, не разрабатывался как прецизионный и не согласовывался с кварцами всех срезов! Поэтому собственная нестабильность и разброс опорной частоты кварца легко превышает требуемую точность установки выходной частоты.
Автор топика хочет получить частоту с допуском +/-(2/15000)=+/- 1,3*10^-4
Приведу конкретный пример: для синтеза частоты я использовал МК с кварцем 4 800 000 Гц. Во время работы была измерена точная частота работы процессора с этим кварцем и она оказалась 4 801 843 Гц, что на 3,8*10^-4 отличается от номинала. А это в 3 раза превышает допуск, заданный автором темы!
Неоднократно в других работах я проводил подобные измерения и всегда получал аналогичные результаты. Самое неприятное, то что для кварцев одинакового номинала, но от разных производителей отклонения частот были разными!
Так что, если у автора есть желание получить точную частоту, то начинать нужно с запитки процессора от внешнего прецизионного кварцевого генератора. И только после этого рассуждать о программных методах реализации делителей.
Кстати, если есть желание получить точную частоту любого номинала с чистым спектром и со скважностью 2, то рекомендую обратить внимание на процессор Parallax P8X32A (Propeller). Там очень оригинально построен счетчик-делитель. А для "очистки" спектра на его выходе программно может быть подключена внутренняя PLL, которая делает скважность сигнала равной 2, при любом коэффициенте деления. Выходная частота от 0,1 Гц до 128 МГц.
Slava1355 вне форума  
Непрочитано 16.07.2008, 01:46  
lve
Прохожий
 
Регистрация: 03.07.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lve на пути к лучшему
По умолчанию

Есть простой способ
-типа синтезатора-
выливается в 4 счетчика ИЕ6, 1 триггер и 1-2 корпуса логики. Счетчики с параллельной загрузкой, куда грузим коэффициент К. Триггер формирует меандр с периодом Т=Твх х К. Тактируется это хоть 16 мГц,
с 4 десятичными счетчиками получаем частоту от
16 мГц до ~2 кГц (К будет от 1 до 10000) и контроллер свободен или с его помощью управляем параллельной
загрузкой К в счетчики (подстройка частоты) в зависимости от решаемых задач.
lve вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программная оболочка AvrOsp|| mollex Микроконтроллеры, АЦП, память и т.д 4 21.12.2009 15:33
Программная регулировка громкости LSergM Аудиотехника 10 11.07.2009 00:16
Частота в PIC контролерах bobdenis Микроконтроллеры, АЦП, память и т.д 3 29.01.2007 13:03
[Решено] частота радара(ГАИ) sergey Делимся опытом 6 26.08.2005 13:39
Тактовая частота в PIC16F84 Jerry86 Микроконтроллеры, АЦП, память и т.д 5 02.02.2005 21:34


Часовой пояс GMT +4, время: 17:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot