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

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

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

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

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

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


 
Опции темы
Непрочитано 19.09.2016, 18:18  
Jane9226
Прописка
 
Регистрация: 26.10.2011
Сообщений: 122
Сказал спасибо: 53
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Jane9226 на пути к лучшему
По умолчанию Генератор синусоиды на STM32F746

Здравствуйте Всем. Нужен совет знающих людей. Плата STM32F746Discovery. Генерирую синусоиду на выходе DAC (PA4 подцепившись на разъем P1 Camera). Используется DMA и TIM6 Синусоида 512 точек. Контроллер на максимальной частоте 216Mhz. Шина APB1 (Где висит TIM6) 54Mhz
Необходимо генеривовать частоту вплоть до 5000Hz с шагом в 1 герц. Посчитаем минимальный шаг изменения частоты на верхнем диапазоне. Ставим период таймера 22 (prescaller не используем). Считаем 54000000/(512*22) = 4794Гц. Уменьшим период на единицу, тем самым увеличивая частоту. 54000000/(512*21) = 5022.
Шаг получается в 228 герц. Ужас! Можно конечно уменьшить количество точек синусоиды, скажем до 256, но это не решение проблемы.
Вот собственно и спрашиваю совета. Mожет ли DAC генерировать синусоиду шагом в один герц в диапазоне 50 - 5000Гц? Или нужен другой подход. Какой?
Реклама:
Jane9226 вне форума  
Непрочитано 19.09.2016, 18:25  
avp94
Почётный гражданин KAZUS.RU
 
Аватар для avp94
 
Регистрация: 26.01.2007
Сообщений: 3,123
Сказал спасибо: 61
Сказали Спасибо 1,153 раз(а) в 624 сообщении(ях)
avp94 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

DDS читайте в Google, например здесь.
avp94 вне форума  
Непрочитано 19.09.2016, 18:48  
Jane9226
Прописка
 
Регистрация: 26.10.2011
Сообщений: 122
Сказал спасибо: 53
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Jane9226 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

Да оно то понятно, что использование к примеру AD9833, решит все. Но на данном этапе меня интересует именно STM и его DAC
Jane9226 вне форума  
Непрочитано 19.09.2016, 19:06  
avp94
Почётный гражданин KAZUS.RU
 
Аватар для avp94
 
Регистрация: 26.01.2007
Сообщений: 3,123
Сказал спасибо: 61
Сказали Спасибо 1,153 раз(а) в 624 сообщении(ях)
avp94 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

Сообщение от Jane9226 Посмотреть сообщение
что использование к примеру AD9833
А вы используйте алгоритм , а не стороннюю железяку.
avp94 вне форума  
Сказали "Спасибо" avp94
Jane9226 (19.09.2016)
Непрочитано 19.09.2016, 19:55  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,054
Сказал спасибо: 3,042
Сказали Спасибо 3,213 раз(а) в 2,183 сообщении(ях)
ForcePoint на пути к лучшему
Стрелка Re: Генератор синусоиды на STM32F746

Сообщение от avp94 Посмотреть сообщение
А вы используйте алгоритм , а не стороннюю железяку.
+1

Классика-же, притом на стареньком AT90S2313 с тактовой 10 МГц (от того-же автора):
"Низкочастотный синусоидальный генератор с шагом сетки 0,01 Гц (диапазон генерируемых частот — 1 ... 50000 Гц)" - http://530.ru/electronics/projects.php?do=p035
ForcePoint вне форума  
Непрочитано 19.09.2016, 20:19  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

Ничего не получится все равно. Нет понимания основ формирования временной базы таймера. Делить частоту надо с умом, а не абы как.
Easyrider83 вне форума  
Непрочитано 19.09.2016, 21:16  
Jane9226
Прописка
 
Регистрация: 26.10.2011
Сообщений: 122
Сказал спасибо: 53
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Jane9226 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

DDS - "мой выбор" Спасибо. Буду пытаться разобраться в принципах вычисления 12-ти битного числа для DAC, для каждого последующего шага. Если я правильно поняла, нужно использовать два таймера. По прерыванию первого дергать DMA, которое будет брать значение из таблицы синуса и передавать это значение второму таймеру, который по прерыванию(переполнению) обновляет DAC с фиксированной частотой, скажем в 100kHz. И менять частоту прерывания первого таймера (частоту взятия следующего значения из таблицы) Примерно так? Но чувствую что я чего то упустила и недопонимаю

Сообщение от Easyrider83 Посмотреть сообщение
Ничего не получится все равно. Нет понимания основ формирования временной базы таймера.
Вот умеете Вы подбодрить, объяснить и обнадежть. Я собственно зашла на форум и спрашиваю совета, что бы как раз это понимание и пришло в виде какойто формулы или понятного для меня объяснения, как это работает. Потому как мой мозг тяжело воспринимает сухой технический язык.
Jane9226 вне форума  
Непрочитано 19.09.2016, 21:22  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

Не так. Все проще. Таймер пинает DMA, который берет значение из памяти и кладет в DAC. Прерывания не требуются, иначе зачем нам тогда DMA? Но основа таймера - делитель, он не в состоянии обеспечить плавную регулировку частоты. Вообще, мы управляем не частотой, а периодом таймера. Меняем число, после которого он обнуляется. К примеру, у нас есть период 10. Значит мы можем его разделить на 2 и 5. И других частот мы не получим потому, что делим на целое число.
Easyrider83 вне форума  
Непрочитано 19.09.2016, 22:22  
Jane9226
Прописка
 
Регистрация: 26.10.2011
Сообщений: 122
Сказал спасибо: 53
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Jane9226 на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

Сообщение от Easyrider83 Посмотреть сообщение
Не так. Все проще. Таймер пинает DMA, который берет значение из памяти и кладет в DAC. Прерывания не требуются, иначе зачем нам тогда DMA? Но основа таймера - делитель, он не в состоянии обеспечить плавную регулировку частоты. Вообще, мы управляем не частотой, а периодом таймера. Меняем число, после которого он обнуляется. К примеру, у нас есть период 10. Значит мы можем его разделить на 2 и 5. И других частот мы не получим потому, что делим на целое число.
Вот те раз. Так у меня сейчас так и сделано и работает в железе. Я и затеяла эту тему, что бы как то увеличить плавность регулировки частоты, потому как прыжки в 200 Гц в верхнем диапазоне не приемлимы. Народ тут посоветовал смотреть в сторону DDS Согласна на 100% Но не хотелось бы переделывать железяку и встраивать AD9833, поэтому и пытаюсь понять алгоритм вычисления числа для DAC в самом контроллере.Вот нагуглила что то похожее, но там все на немецком
Jane9226 вне форума  
Непрочитано 19.09.2016, 22:33  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Генератор синусоиды на STM32F746

Имеете в руках мощный контроллер. Можно частоту отправки в ЦАП брать примерно подходящую и считать каждое значение для необходимой частоты сигнала. Фазу ведь посчитаете?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Генератор синусоиды на микроконтроллере Atmega pavned AVR 26 13.01.2015 09:22
Генератор ВЧ Flash.#13 Электроника - это просто 1 13.07.2010 16:19
Генератор синусоиды на Atmega8 yot Микроконтроллеры, АЦП, память и т.д 8 13.06.2007 12:29


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


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